@solarpunkltd/swarm-chat-js 3.1.0 → 4.0.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/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +4526 -40389
- package/dist/index.js +11 -25
- package/dist/{src/lib → lib}/constants.d.ts +0 -3
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/core.d.ts +30 -0
- package/dist/lib/core.d.ts.map +1 -0
- package/dist/{src/lib → lib}/history.d.ts +2 -1
- package/dist/lib/history.d.ts.map +1 -0
- package/dist/{src/lib → lib}/mine.d.ts.map +1 -1
- package/dist/lib/types/chat.d.ts +35 -0
- package/dist/lib/types/chat.d.ts.map +1 -0
- package/dist/lib/types/index.d.ts +3 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/{src/lib → lib}/types/message.d.ts +3 -5
- package/dist/lib/types/message.d.ts.map +1 -0
- package/dist/{src/lib → lib}/utils.d.ts +2 -5
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/swarm-chat-umd.js +11 -25
- package/dist/utils/bee.d.ts.map +1 -0
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/eventEmitter.d.ts.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/{src/utils → utils}/validation.d.ts +0 -1
- package/dist/utils/validation.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/core.d.ts +0 -48
- package/dist/src/lib/core.d.ts.map +0 -1
- package/dist/src/lib/history.d.ts.map +0 -1
- package/dist/src/lib/swarmEventEmitterReader.d.ts +0 -15
- package/dist/src/lib/swarmEventEmitterReader.d.ts.map +0 -1
- package/dist/src/lib/types/chat.d.ts +0 -61
- package/dist/src/lib/types/chat.d.ts.map +0 -1
- package/dist/src/lib/types/index.d.ts +0 -4
- package/dist/src/lib/types/index.d.ts.map +0 -1
- package/dist/src/lib/types/message.d.ts.map +0 -1
- package/dist/src/lib/types/user.d.ts +0 -21
- package/dist/src/lib/types/user.d.ts.map +0 -1
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/utils/bee.d.ts.map +0 -1
- package/dist/src/utils/common.d.ts.map +0 -1
- package/dist/src/utils/error.d.ts.map +0 -1
- package/dist/src/utils/eventEmitter.d.ts.map +0 -1
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/waitForBroadcast.d.ts +0 -10
- package/dist/src/utils/waitForBroadcast.d.ts.map +0 -1
- /package/dist/{src/lib → lib}/mine.d.ts +0 -0
- /package/dist/{src/utils → utils}/bee.d.ts +0 -0
- /package/dist/{src/utils → utils}/common.d.ts +0 -0
- /package/dist/{src/utils → utils}/error.d.ts +0 -0
- /package/dist/{src/utils → utils}/eventEmitter.d.ts +0 -0
- /package/dist/{src/utils → utils}/logger.d.ts +0 -0
package/dist/swarm-chat-umd.js
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
|
-
(function(ue,xt){typeof exports=="object"&&typeof module<"u"?xt(exports,require("@ethersphere/bee-js")):typeof define=="function"&&define.amd?define(["exports","@ethersphere/bee-js"],xt):(ue=typeof globalThis<"u"?globalThis:ue||self,xt(ue.SwarmChatJs={},ue.BeeJs))})(this,function(ue,xt){"use strict";var DZ=Object.defineProperty;var JT=ue=>{throw TypeError(ue)};var FZ=(ue,xt,ae)=>xt in ue?DZ(ue,xt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[xt]=ae;var Z=(ue,xt,ae)=>FZ(ue,typeof xt!="symbol"?xt+"":xt,ae),xb=(ue,xt,ae)=>xt.has(ue)||JT("Cannot "+ae);var S=(ue,xt,ae)=>(xb(ue,xt,"read from private field"),ae?ae.call(ue):xt.get(ue)),Y=(ue,xt,ae)=>xt.has(ue)?JT("Cannot add the same private member more than once"):xt instanceof WeakSet?xt.add(ue):xt.set(ue,ae),F=(ue,xt,ae,Mr)=>(xb(ue,xt,"write to private field"),Mr?Mr.call(ue,ae):xt.set(ue,ae),ae),yt=(ue,xt,ae)=>(xb(ue,xt,"access private method"),ae);var ao=(ue,xt,ae,Mr)=>({set _(Lc){F(ue,xt,Lc,ae)},get _(){return S(ue,xt,Mr)}});var oi,Qu,Yu,Ho,kh,Ju,Th,ai,Xu,Ar,Oh,ci,tl,Vs,Nh,Mp,Ee,XT,tO,eO,nO,rO,ig,Rb,Ib,sg,iO,og,el,sc,zo,nl,rl,ki,Ks,il,sl,$n,jr,js,oc,ac,cc,ss,Ti,Go,uc,_d,Ch,Bh,Ph,Wr,ol,lc,al,Ws,fc,ul,ag,Br,Zr,hc,dc,Vo,pc,kb,aO,ll,fl,hl,gc,Zs,mc,os,dl,pl,gl,yl,ml,wl,bl,_l,Al,El,vl,wc,Ko,Qs,jo,xl,cg,Mh,Js,Rl,Up,cO,Jn,Ni,Lh,Tb,Il,ug,Wo,Jl,as,cs,us,or,ls,lg,fg,Xs,Uh,Zo,Sl,Dh,Fh,Vk,qo,_c,Qo,Xl,$p,uO,Hh,zh,Tl,Ol,Yo,to,fi,Jo,fs,Cl,hg,Ac,Ec,Xo,Bl,eo,Hp,Pl,no,Ml,Ll,ta,hi,zp,lO,ar,ea,cr,Ul,qr,vc,na,ro,Gh,di,Dl,Fl,se,Qr,Ob,Nb,Ad,Cb,Ed,dg,Er,hs,xc,ra,Rc,$l,ia,Bb,Pb,Ic,Sc,Hl,io,ds,Ci,pi,Pr,Vh,Mb,sa,zl,ps,Kh,oa,kc,aa,jh,Tc,Gl,ca,Oc,Bi;var ae=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mr(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Lc(n){if(n.__esModule)return n;var t=n.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),e}function fO(){this.__data__=[],this.size=0}var hO=fO;function dO(n,t){return n===t||n!==n&&t!==t}var Lb=dO,pO=Lb;function gO(n,t){for(var e=n.length;e--;)if(pO(n[e][0],t))return e;return-1}var vd=gO,yO=vd,mO=Array.prototype,wO=mO.splice;function bO(n){var t=this.__data__,e=yO(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():wO.call(t,e,1),--this.size,!0}var _O=bO,AO=vd;function EO(n){var t=this.__data__,e=AO(t,n);return e<0?void 0:t[e][1]}var vO=EO,xO=vd;function RO(n){return xO(this.__data__,n)>-1}var IO=RO,SO=vd;function kO(n,t){var e=this.__data__,r=SO(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}var TO=kO,OO=hO,NO=_O,CO=vO,BO=IO,PO=TO;function Uc(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}Uc.prototype.clear=OO,Uc.prototype.delete=NO,Uc.prototype.get=CO,Uc.prototype.has=BO,Uc.prototype.set=PO;var xd=Uc,MO=xd;function LO(){this.__data__=new MO,this.size=0}var UO=LO;function DO(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}var FO=DO;function $O(n){return this.__data__.get(n)}var HO=$O;function zO(n){return this.__data__.has(n)}var GO=zO,VO=typeof ae=="object"&&ae&&ae.Object===Object&&ae,Ub=VO,KO=Ub,jO=typeof self=="object"&&self&&self.Object===Object&&self,WO=KO||jO||Function("return this")(),ms=WO,ZO=ms,qO=ZO.Symbol,pg=qO,Db=pg,Fb=Object.prototype,QO=Fb.hasOwnProperty,YO=Fb.toString,tf=Db?Db.toStringTag:void 0;function JO(n){var t=QO.call(n,tf),e=n[tf];try{n[tf]=void 0;var r=!0}catch{}var i=YO.call(n);return r&&(t?n[tf]=e:delete n[tf]),i}var XO=JO,tN=Object.prototype,eN=tN.toString;function nN(n){return eN.call(n)}var rN=nN,$b=pg,iN=XO,sN=rN,oN="[object Null]",aN="[object Undefined]",Hb=$b?$b.toStringTag:void 0;function cN(n){return n==null?n===void 0?aN:oN:Hb&&Hb in Object(n)?iN(n):sN(n)}var Rd=cN;function uN(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}var zb=uN,lN=Rd,fN=zb,hN="[object AsyncFunction]",dN="[object Function]",pN="[object GeneratorFunction]",gN="[object Proxy]";function yN(n){if(!fN(n))return!1;var t=lN(n);return t==dN||t==pN||t==hN||t==gN}var Gb=yN,mN=ms,wN=mN["__core-js_shared__"],bN=wN,gg=bN,Vb=function(){var n=/[^.]+$/.exec(gg&&gg.keys&&gg.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function _N(n){return!!Vb&&Vb in n}var AN=_N,EN=Function.prototype,vN=EN.toString;function xN(n){if(n!=null){try{return vN.call(n)}catch{}try{return n+""}catch{}}return""}var Kb=xN,RN=Gb,IN=AN,SN=zb,kN=Kb,TN=/[\\^$.*+?()[\]{}|]/g,ON=/^\[object .+?Constructor\]$/,NN=Function.prototype,CN=Object.prototype,BN=NN.toString,PN=CN.hasOwnProperty,MN=RegExp("^"+BN.call(PN).replace(TN,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function LN(n){if(!SN(n)||IN(n))return!1;var t=RN(n)?MN:ON;return t.test(kN(n))}var UN=LN;function DN(n,t){return n==null?void 0:n[t]}var FN=DN,$N=UN,HN=FN;function zN(n,t){var e=HN(n,t);return $N(e)?e:void 0}var Dc=zN,GN=Dc,VN=ms,KN=GN(VN,"Map"),yg=KN,jN=Dc,WN=jN(Object,"create"),Id=WN,jb=Id;function ZN(){this.__data__=jb?jb(null):{},this.size=0}var qN=ZN;function QN(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}var YN=QN,JN=Id,XN="__lodash_hash_undefined__",tC=Object.prototype,eC=tC.hasOwnProperty;function nC(n){var t=this.__data__;if(JN){var e=t[n];return e===XN?void 0:e}return eC.call(t,n)?t[n]:void 0}var rC=nC,iC=Id,sC=Object.prototype,oC=sC.hasOwnProperty;function aC(n){var t=this.__data__;return iC?t[n]!==void 0:oC.call(t,n)}var cC=aC,uC=Id,lC="__lodash_hash_undefined__";function fC(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=uC&&t===void 0?lC:t,this}var hC=fC,dC=qN,pC=YN,gC=rC,yC=cC,mC=hC;function Fc(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}Fc.prototype.clear=dC,Fc.prototype.delete=pC,Fc.prototype.get=gC,Fc.prototype.has=yC,Fc.prototype.set=mC;var wC=Fc,Wb=wC,bC=xd,_C=yg;function AC(){this.size=0,this.__data__={hash:new Wb,map:new(_C||bC),string:new Wb}}var EC=AC;function vC(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}var xC=vC,RC=xC;function IC(n,t){var e=n.__data__;return RC(t)?e[typeof t=="string"?"string":"hash"]:e.map}var Sd=IC,SC=Sd;function kC(n){var t=SC(this,n).delete(n);return this.size-=t?1:0,t}var TC=kC,OC=Sd;function NC(n){return OC(this,n).get(n)}var CC=NC,BC=Sd;function PC(n){return BC(this,n).has(n)}var MC=PC,LC=Sd;function UC(n,t){var e=LC(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}var DC=UC,FC=EC,$C=TC,HC=CC,zC=MC,GC=DC;function $c(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}$c.prototype.clear=FC,$c.prototype.delete=$C,$c.prototype.get=HC,$c.prototype.has=zC,$c.prototype.set=GC;var Zb=$c,VC=xd,KC=yg,jC=Zb,WC=200;function ZC(n,t){var e=this.__data__;if(e instanceof VC){var r=e.__data__;if(!KC||r.length<WC-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new jC(r)}return e.set(n,t),this.size=e.size,this}var qC=ZC,QC=xd,YC=UO,JC=FO,XC=HO,t6=GO,e6=qC;function Hc(n){var t=this.__data__=new QC(n);this.size=t.size}Hc.prototype.clear=YC,Hc.prototype.delete=JC,Hc.prototype.get=XC,Hc.prototype.has=t6,Hc.prototype.set=e6;var n6=Hc,r6="__lodash_hash_undefined__";function i6(n){return this.__data__.set(n,r6),this}var s6=i6;function o6(n){return this.__data__.has(n)}var a6=o6,c6=Zb,u6=s6,l6=a6;function kd(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new c6;++t<e;)this.add(n[t])}kd.prototype.add=kd.prototype.push=u6,kd.prototype.has=l6;var f6=kd;function h6(n,t){for(var e=-1,r=n==null?0:n.length;++e<r;)if(t(n[e],e,n))return!0;return!1}var d6=h6;function p6(n,t){return n.has(t)}var g6=p6,y6=f6,m6=d6,w6=g6,b6=1,_6=2;function A6(n,t,e,r,i,s){var o=e&b6,a=n.length,u=t.length;if(a!=u&&!(o&&u>a))return!1;var f=s.get(n),h=s.get(t);if(f&&h)return f==t&&h==n;var y=-1,_=!0,w=e&_6?new y6:void 0;for(s.set(n,t),s.set(t,n);++y<a;){var R=n[y],T=t[y];if(r)var I=o?r(T,R,y,t,n,s):r(R,T,y,n,t,s);if(I!==void 0){if(I)continue;_=!1;break}if(w){if(!m6(t,function(B,H){if(!w6(w,H)&&(R===B||i(R,B,e,r,s)))return w.push(H)})){_=!1;break}}else if(!(R===T||i(R,T,e,r,s))){_=!1;break}}return s.delete(n),s.delete(t),_}var qb=A6,E6=ms,v6=E6.Uint8Array,x6=v6;function R6(n){var t=-1,e=Array(n.size);return n.forEach(function(r,i){e[++t]=[i,r]}),e}var I6=R6;function S6(n){var t=-1,e=Array(n.size);return n.forEach(function(r){e[++t]=r}),e}var k6=S6,Qb=pg,Yb=x6,T6=Lb,O6=qb,N6=I6,C6=k6,B6=1,P6=2,M6="[object Boolean]",L6="[object Date]",U6="[object Error]",D6="[object Map]",F6="[object Number]",$6="[object RegExp]",H6="[object Set]",z6="[object String]",G6="[object Symbol]",V6="[object ArrayBuffer]",K6="[object DataView]",Jb=Qb?Qb.prototype:void 0,mg=Jb?Jb.valueOf:void 0;function j6(n,t,e,r,i,s,o){switch(e){case K6:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case V6:return!(n.byteLength!=t.byteLength||!s(new Yb(n),new Yb(t)));case M6:case L6:case F6:return T6(+n,+t);case U6:return n.name==t.name&&n.message==t.message;case $6:case z6:return n==t+"";case D6:var a=N6;case H6:var u=r&B6;if(a||(a=C6),n.size!=t.size&&!u)return!1;var f=o.get(n);if(f)return f==t;r|=P6,o.set(n,t);var h=O6(a(n),a(t),r,i,s,o);return o.delete(n),h;case G6:if(mg)return mg.call(n)==mg.call(t)}return!1}var W6=j6;function Z6(n,t){for(var e=-1,r=t.length,i=n.length;++e<r;)n[i+e]=t[e];return n}var q6=Z6,Q6=Array.isArray,wg=Q6,Y6=q6,J6=wg;function X6(n,t,e){var r=t(n);return J6(n)?r:Y6(r,e(n))}var t3=X6;function e3(n,t){for(var e=-1,r=n==null?0:n.length,i=0,s=[];++e<r;){var o=n[e];t(o,e,n)&&(s[i++]=o)}return s}var n3=e3;function r3(){return[]}var i3=r3,s3=n3,o3=i3,a3=Object.prototype,c3=a3.propertyIsEnumerable,Xb=Object.getOwnPropertySymbols,u3=Xb?function(n){return n==null?[]:(n=Object(n),s3(Xb(n),function(t){return c3.call(n,t)}))}:o3,l3=u3;function f3(n,t){for(var e=-1,r=Array(n);++e<n;)r[e]=t(e);return r}var h3=f3;function d3(n){return n!=null&&typeof n=="object"}var Td=d3,p3=Rd,g3=Td,y3="[object Arguments]";function m3(n){return g3(n)&&p3(n)==y3}var w3=m3,t_=w3,b3=Td,e_=Object.prototype,_3=e_.hasOwnProperty,A3=e_.propertyIsEnumerable,E3=t_(function(){return arguments}())?t_:function(n){return b3(n)&&_3.call(n,"callee")&&!A3.call(n,"callee")},v3=E3,Od={exports:{}};function x3(){return!1}var R3=x3;Od.exports,function(n,t){var e=ms,r=R3,i=t&&!t.nodeType&&t,s=i&&!0&&n&&!n.nodeType&&n,o=s&&s.exports===i,a=o?e.Buffer:void 0,u=a?a.isBuffer:void 0,f=u||r;n.exports=f}(Od,Od.exports);var n_=Od.exports,I3=9007199254740991,S3=/^(?:0|[1-9]\d*)$/;function k3(n,t){var e=typeof n;return t=t??I3,!!t&&(e=="number"||e!="symbol"&&S3.test(n))&&n>-1&&n%1==0&&n<t}var T3=k3,O3=9007199254740991;function N3(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=O3}var r_=N3,C3=Rd,B3=r_,P3=Td,M3="[object Arguments]",L3="[object Array]",U3="[object Boolean]",D3="[object Date]",F3="[object Error]",$3="[object Function]",H3="[object Map]",z3="[object Number]",G3="[object Object]",V3="[object RegExp]",K3="[object Set]",j3="[object String]",W3="[object WeakMap]",Z3="[object ArrayBuffer]",q3="[object DataView]",Q3="[object Float32Array]",Y3="[object Float64Array]",J3="[object Int8Array]",X3="[object Int16Array]",tB="[object Int32Array]",eB="[object Uint8Array]",nB="[object Uint8ClampedArray]",rB="[object Uint16Array]",iB="[object Uint32Array]",Ke={};Ke[Q3]=Ke[Y3]=Ke[J3]=Ke[X3]=Ke[tB]=Ke[eB]=Ke[nB]=Ke[rB]=Ke[iB]=!0,Ke[M3]=Ke[L3]=Ke[Z3]=Ke[U3]=Ke[q3]=Ke[D3]=Ke[F3]=Ke[$3]=Ke[H3]=Ke[z3]=Ke[G3]=Ke[V3]=Ke[K3]=Ke[j3]=Ke[W3]=!1;function sB(n){return P3(n)&&B3(n.length)&&!!Ke[C3(n)]}var oB=sB;function aB(n){return function(t){return n(t)}}var cB=aB,Nd={exports:{}};Nd.exports,function(n,t){var e=Ub,r=t&&!t.nodeType&&t,i=r&&!0&&n&&!n.nodeType&&n,s=i&&i.exports===r,o=s&&e.process,a=function(){try{var u=i&&i.require&&i.require("util").types;return u||o&&o.binding&&o.binding("util")}catch{}}();n.exports=a}(Nd,Nd.exports);var uB=Nd.exports,lB=oB,fB=cB,i_=uB,s_=i_&&i_.isTypedArray,hB=s_?fB(s_):lB,o_=hB,dB=h3,pB=v3,gB=wg,yB=n_,mB=T3,wB=o_,bB=Object.prototype,_B=bB.hasOwnProperty;function AB(n,t){var e=gB(n),r=!e&&pB(n),i=!e&&!r&&yB(n),s=!e&&!r&&!i&&wB(n),o=e||r||i||s,a=o?dB(n.length,String):[],u=a.length;for(var f in n)(t||_B.call(n,f))&&!(o&&(f=="length"||i&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||mB(f,u)))&&a.push(f);return a}var EB=AB,vB=Object.prototype;function xB(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||vB;return n===e}var RB=xB;function IB(n,t){return function(e){return n(t(e))}}var SB=IB,kB=SB,TB=kB(Object.keys,Object),OB=TB,NB=RB,CB=OB,BB=Object.prototype,PB=BB.hasOwnProperty;function MB(n){if(!NB(n))return CB(n);var t=[];for(var e in Object(n))PB.call(n,e)&&e!="constructor"&&t.push(e);return t}var LB=MB,UB=Gb,DB=r_;function FB(n){return n!=null&&DB(n.length)&&!UB(n)}var $B=FB,HB=EB,zB=LB,GB=$B;function VB(n){return GB(n)?HB(n):zB(n)}var KB=VB,jB=t3,WB=l3,ZB=KB;function qB(n){return jB(n,ZB,WB)}var QB=qB,a_=QB,YB=1,JB=Object.prototype,XB=JB.hasOwnProperty;function t8(n,t,e,r,i,s){var o=e&YB,a=a_(n),u=a.length,f=a_(t),h=f.length;if(u!=h&&!o)return!1;for(var y=u;y--;){var _=a[y];if(!(o?_ in t:XB.call(t,_)))return!1}var w=s.get(n),R=s.get(t);if(w&&R)return w==t&&R==n;var T=!0;s.set(n,t),s.set(t,n);for(var I=o;++y<u;){_=a[y];var B=n[_],H=t[_];if(r)var U=o?r(H,B,_,t,n,s):r(B,H,_,n,t,s);if(!(U===void 0?B===H||i(B,H,e,r,s):U)){T=!1;break}I||(I=_=="constructor")}if(T&&!I){var G=n.constructor,W=t.constructor;G!=W&&"constructor"in n&&"constructor"in t&&!(typeof G=="function"&&G instanceof G&&typeof W=="function"&&W instanceof W)&&(T=!1)}return s.delete(n),s.delete(t),T}var e8=t8,n8=Dc,r8=ms,i8=n8(r8,"DataView"),s8=i8,o8=Dc,a8=ms,c8=o8(a8,"Promise"),u8=c8,l8=Dc,f8=ms,h8=l8(f8,"Set"),d8=h8,p8=Dc,g8=ms,y8=p8(g8,"WeakMap"),m8=y8,bg=s8,_g=yg,Ag=u8,Eg=d8,vg=m8,c_=Rd,zc=Kb,u_="[object Map]",w8="[object Object]",l_="[object Promise]",f_="[object Set]",h_="[object WeakMap]",d_="[object DataView]",b8=zc(bg),_8=zc(_g),A8=zc(Ag),E8=zc(Eg),v8=zc(vg),da=c_;(bg&&da(new bg(new ArrayBuffer(1)))!=d_||_g&&da(new _g)!=u_||Ag&&da(Ag.resolve())!=l_||Eg&&da(new Eg)!=f_||vg&&da(new vg)!=h_)&&(da=function(n){var t=c_(n),e=t==w8?n.constructor:void 0,r=e?zc(e):"";if(r)switch(r){case b8:return d_;case _8:return u_;case A8:return l_;case E8:return f_;case v8:return h_}return t});var x8=da,xg=n6,R8=qb,I8=W6,S8=e8,p_=x8,g_=wg,y_=n_,k8=o_,T8=1,m_="[object Arguments]",w_="[object Array]",Cd="[object Object]",O8=Object.prototype,b_=O8.hasOwnProperty;function N8(n,t,e,r,i,s){var o=g_(n),a=g_(t),u=o?w_:p_(n),f=a?w_:p_(t);u=u==m_?Cd:u,f=f==m_?Cd:f;var h=u==Cd,y=f==Cd,_=u==f;if(_&&y_(n)){if(!y_(t))return!1;o=!0,h=!1}if(_&&!h)return s||(s=new xg),o||k8(n)?R8(n,t,e,r,i,s):I8(n,t,u,e,r,i,s);if(!(e&T8)){var w=h&&b_.call(n,"__wrapped__"),R=y&&b_.call(t,"__wrapped__");if(w||R){var T=w?n.value():n,I=R?t.value():t;return s||(s=new xg),i(T,I,e,r,s)}}return _?(s||(s=new xg),S8(n,t,e,r,i,s)):!1}var C8=N8,B8=C8,__=Td;function A_(n,t,e,r,i){return n===t?!0:n==null||t==null||!__(n)&&!__(t)?n!==n&&t!==t:B8(n,t,e,r,A_,i)}var P8=A_,M8=P8;function L8(n,t){return M8(n,t)}var U8=L8;const D8=Mr(U8);var E_={exports:{}};(function(n){var t=Object.prototype.hasOwnProperty,e="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(e=!1));function i(u,f,h){this.fn=u,this.context=f,this.once=h||!1}function s(u,f,h,y,_){if(typeof h!="function")throw new TypeError("The listener must be a function");var w=new i(h,y||u,_),R=e?e+f:f;return u._events[R]?u._events[R].fn?u._events[R]=[u._events[R],w]:u._events[R].push(w):(u._events[R]=w,u._eventsCount++),u}function o(u,f){--u._eventsCount===0?u._events=new r:delete u._events[f]}function a(){this._events=new r,this._eventsCount=0}a.prototype.eventNames=function(){var f=[],h,y;if(this._eventsCount===0)return f;for(y in h=this._events)t.call(h,y)&&f.push(e?y.slice(1):y);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(h)):f},a.prototype.listeners=function(f){var h=e?e+f:f,y=this._events[h];if(!y)return[];if(y.fn)return[y.fn];for(var _=0,w=y.length,R=new Array(w);_<w;_++)R[_]=y[_].fn;return R},a.prototype.listenerCount=function(f){var h=e?e+f:f,y=this._events[h];return y?y.fn?1:y.length:0},a.prototype.emit=function(f,h,y,_,w,R){var T=e?e+f:f;if(!this._events[T])return!1;var I=this._events[T],B=arguments.length,H,U;if(I.fn){switch(I.once&&this.removeListener(f,I.fn,void 0,!0),B){case 1:return I.fn.call(I.context),!0;case 2:return I.fn.call(I.context,h),!0;case 3:return I.fn.call(I.context,h,y),!0;case 4:return I.fn.call(I.context,h,y,_),!0;case 5:return I.fn.call(I.context,h,y,_,w),!0;case 6:return I.fn.call(I.context,h,y,_,w,R),!0}for(U=1,H=new Array(B-1);U<B;U++)H[U-1]=arguments[U];I.fn.apply(I.context,H)}else{var G=I.length,W;for(U=0;U<G;U++)switch(I[U].once&&this.removeListener(f,I[U].fn,void 0,!0),B){case 1:I[U].fn.call(I[U].context);break;case 2:I[U].fn.call(I[U].context,h);break;case 3:I[U].fn.call(I[U].context,h,y);break;case 4:I[U].fn.call(I[U].context,h,y,_);break;default:if(!H)for(W=1,H=new Array(B-1);W<B;W++)H[W-1]=arguments[W];I[U].fn.apply(I[U].context,H)}}return!0},a.prototype.on=function(f,h,y){return s(this,f,h,y,!1)},a.prototype.once=function(f,h,y){return s(this,f,h,y,!0)},a.prototype.removeListener=function(f,h,y,_){var w=e?e+f:f;if(!this._events[w])return this;if(!h)return o(this,w),this;var R=this._events[w];if(R.fn)R.fn===h&&(!_||R.once)&&(!y||R.context===y)&&o(this,w);else{for(var T=0,I=[],B=R.length;T<B;T++)(R[T].fn!==h||_&&!R[T].once||y&&R[T].context!==y)&&I.push(R[T]);I.length?this._events[w]=I.length===1?I[0]:I:o(this,w)}return this},a.prototype.removeAllListeners=function(f){var h;return f?(h=e?e+f:f,this._events[h]&&o(this,h)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=e,a.EventEmitter=a,n.exports=a})(E_);var F8=E_.exports;const Rg=Mr(F8);class v_ extends Error{constructor(t){super(t),this.name="TimeoutError"}}class $8 extends Error{constructor(t){super(),this.name="AbortError",this.message=t}}const x_=n=>globalThis.DOMException===void 0?new $8(n):new DOMException(n),R_=n=>{const t=n.reason===void 0?x_("This operation was aborted."):n.reason;return t instanceof Error?t:x_(t)};function H8(n,t){const{milliseconds:e,fallback:r,message:i,customTimers:s={setTimeout,clearTimeout}}=t;let o,a;const f=new Promise((h,y)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){const{signal:w}=t;w.aborted&&y(R_(w)),a=()=>{y(R_(w))},w.addEventListener("abort",a,{once:!0})}if(e===Number.POSITIVE_INFINITY){n.then(h,y);return}const _=new v_;o=s.setTimeout.call(void 0,()=>{if(r){try{h(r())}catch(w){y(w)}return}typeof n.cancel=="function"&&n.cancel(),i===!1?h():i instanceof Error?y(i):(_.message=i??`Promise timed out after ${e} milliseconds`,y(_))},e),(async()=>{try{h(await n)}catch(w){y(w)}})()}).finally(()=>{f.clear(),a&&t.signal&&t.signal.removeEventListener("abort",a)});return f.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},f}function z8(n,t,e){let r=0,i=n.length;for(;i>0;){const s=Math.trunc(i/2);let o=r+s;e(n[o],t)<=0?(r=++o,i-=s+1):i=s}return r}class G8{constructor(){Y(this,oi,[])}enqueue(t,e){e={priority:0,...e};const r={priority:e.priority,id:e.id,run:t};if(this.size===0||S(this,oi)[this.size-1].priority>=e.priority){S(this,oi).push(r);return}const i=z8(S(this,oi),r,(s,o)=>o.priority-s.priority);S(this,oi).splice(i,0,r)}setPriority(t,e){const r=S(this,oi).findIndex(s=>s.id===t);if(r===-1)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);const[i]=S(this,oi).splice(r,1);this.enqueue(i.run,{priority:e,id:t})}dequeue(){const t=S(this,oi).shift();return t==null?void 0:t.run}filter(t){return S(this,oi).filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return S(this,oi).length}}oi=new WeakMap;class I_ extends Rg{constructor(e){var r,i;super();Y(this,Ee);Y(this,Qu);Y(this,Yu);Y(this,Ho,0);Y(this,kh);Y(this,Ju);Y(this,Th,0);Y(this,ai);Y(this,Xu);Y(this,Ar);Y(this,Oh);Y(this,ci,0);Y(this,tl);Y(this,Vs);Y(this,Nh);Y(this,Mp,1n);Z(this,"timeout");if(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:G8,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${((r=e.intervalCap)==null?void 0:r.toString())??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${((i=e.interval)==null?void 0:i.toString())??""}\` (${typeof e.interval})`);F(this,Qu,e.carryoverConcurrencyCount),F(this,Yu,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0),F(this,kh,e.intervalCap),F(this,Ju,e.interval),F(this,Ar,new e.queueClass),F(this,Oh,e.queueClass),this.concurrency=e.concurrency,this.timeout=e.timeout,F(this,Nh,e.throwOnTimeout===!0),F(this,Vs,e.autoStart===!1)}get concurrency(){return S(this,tl)}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);F(this,tl,e),yt(this,Ee,sg).call(this)}setPriority(e,r){S(this,Ar).setPriority(e,r)}async add(e,r={}){return r.id??(r.id=(ao(this,Mp)._++).toString()),r={timeout:this.timeout,throwOnTimeout:S(this,Nh),...r},new Promise((i,s)=>{S(this,Ar).enqueue(async()=>{var o;ao(this,ci)._++,ao(this,Ho)._++;try{(o=r.signal)==null||o.throwIfAborted();let a=e({signal:r.signal});r.timeout&&(a=H8(Promise.resolve(a),{milliseconds:r.timeout})),r.signal&&(a=Promise.race([a,yt(this,Ee,iO).call(this,r.signal)]));const u=await a;i(u),this.emit("completed",u)}catch(a){if(a instanceof v_&&!r.throwOnTimeout){i();return}s(a),this.emit("error",a)}finally{yt(this,Ee,eO).call(this)}},r),this.emit("add"),yt(this,Ee,ig).call(this)})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return S(this,Vs)?(F(this,Vs,!1),yt(this,Ee,sg).call(this),this):this}pause(){F(this,Vs,!0)}clear(){F(this,Ar,new(S(this,Oh)))}async onEmpty(){S(this,Ar).size!==0&&await yt(this,Ee,og).call(this,"empty")}async onSizeLessThan(e){S(this,Ar).size<e||await yt(this,Ee,og).call(this,"next",()=>S(this,Ar).size<e)}async onIdle(){S(this,ci)===0&&S(this,Ar).size===0||await yt(this,Ee,og).call(this,"idle")}get size(){return S(this,Ar).size}sizeBy(e){return S(this,Ar).filter(e).length}get pending(){return S(this,ci)}get isPaused(){return S(this,Vs)}}Qu=new WeakMap,Yu=new WeakMap,Ho=new WeakMap,kh=new WeakMap,Ju=new WeakMap,Th=new WeakMap,ai=new WeakMap,Xu=new WeakMap,Ar=new WeakMap,Oh=new WeakMap,ci=new WeakMap,tl=new WeakMap,Vs=new WeakMap,Nh=new WeakMap,Mp=new WeakMap,Ee=new WeakSet,XT=function(){return S(this,Yu)||S(this,Ho)<S(this,kh)},tO=function(){return S(this,ci)<S(this,tl)},eO=function(){ao(this,ci)._--,yt(this,Ee,ig).call(this),this.emit("next")},nO=function(){yt(this,Ee,Ib).call(this),yt(this,Ee,Rb).call(this),F(this,Xu,void 0)},rO=function(){const e=Date.now();if(S(this,ai)===void 0){const r=S(this,Th)-e;if(r<0)F(this,Ho,S(this,Qu)?S(this,ci):0);else return S(this,Xu)===void 0&&F(this,Xu,setTimeout(()=>{yt(this,Ee,nO).call(this)},r)),!0}return!1},ig=function(){if(S(this,Ar).size===0)return S(this,ai)&&clearInterval(S(this,ai)),F(this,ai,void 0),this.emit("empty"),S(this,ci)===0&&this.emit("idle"),!1;if(!S(this,Vs)){const e=!S(this,Ee,rO);if(S(this,Ee,XT)&&S(this,Ee,tO)){const r=S(this,Ar).dequeue();return r?(this.emit("active"),r(),e&&yt(this,Ee,Rb).call(this),!0):!1}}return!1},Rb=function(){S(this,Yu)||S(this,ai)!==void 0||(F(this,ai,setInterval(()=>{yt(this,Ee,Ib).call(this)},S(this,Ju))),F(this,Th,Date.now()+S(this,Ju)))},Ib=function(){S(this,Ho)===0&&S(this,ci)===0&&S(this,ai)&&(clearInterval(S(this,ai)),F(this,ai,void 0)),F(this,Ho,S(this,Qu)?S(this,ci):0),yt(this,Ee,sg).call(this)},sg=function(){for(;yt(this,Ee,ig).call(this););},iO=async function(e){return new Promise((r,i)=>{e.addEventListener("abort",()=>{i(e.reason)},{once:!0})})},og=async function(e,r){return new Promise(i=>{const s=()=>{r&&!r()||(this.off(e,s),i())};this.on(e,s)})};const Gn=[];for(let n=0;n<256;++n)Gn.push((n+256).toString(16).slice(1));function V8(n,t=0){return(Gn[n[t+0]]+Gn[n[t+1]]+Gn[n[t+2]]+Gn[n[t+3]]+"-"+Gn[n[t+4]]+Gn[n[t+5]]+"-"+Gn[n[t+6]]+Gn[n[t+7]]+"-"+Gn[n[t+8]]+Gn[n[t+9]]+"-"+Gn[n[t+10]]+Gn[n[t+11]]+Gn[n[t+12]]+Gn[n[t+13]]+Gn[n[t+14]]+Gn[n[t+15]]).toLowerCase()}let Ig;const K8=new Uint8Array(16);function j8(){if(!Ig){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ig=crypto.getRandomValues.bind(crypto)}return Ig(K8)}const S_={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function W8(n,t,e){if(S_.randomUUID&&!t&&!n)return S_.randomUUID();n=n||{};const r=n.random||(n.rng||j8)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,V8(r)}function k_(n){return new Promise(t=>{setTimeout(t,n)})}function ef(n){return(n.startsWith("0x")?n.slice(2):n).toLowerCase()}class Mi{constructor(){}static getInstance(){return Mi.instance||(Mi.instance=new Mi),Mi.instance}formatMessage(t,...e){return`[${new Date().toISOString()}] [${t.toUpperCase()}] - ${e.map(i=>typeof i=="object"?JSON.stringify(i):i).join(" ")}`}log(...t){console.log(this.formatMessage("log",...t))}info(...t){console.info(this.formatMessage("info",...t))}warn(...t){console.warn(this.formatMessage("warn",...t))}error(...t){console.error(this.formatMessage("error",...t))}debug(...t){console.debug(this.formatMessage("debug",...t))}}class Sg{constructor(){this.logger=Mi.getInstance()}handleError(t,e){const r=t instanceof Error?t.message:"Unknown error occurred",i=t instanceof Error?t.stack:null;this.logger.error(`Error in ${e||"unknown context"}: ${r}`,{stack:i})}}let Z8=class{constructor(){this.events={},this.on=this.on.bind(this),this.off=this.off.bind(this),this.cleanAll=this.cleanAll.bind(this),this.emit=this.emit.bind(this)}on(t,e){this.events[t]||(this.events[t]=[]),this.events[t].push(e)}off(t,e){if(!this.events[t])return;const r=this.events[t].indexOf(e);r>-1&&this.events[t].splice(r,1)}cleanAll(){this.events={}}emit(t,e){this.events[t]&&this.events[t].forEach(r=>r(e))}};var T_={};(function(n){var t;Object.defineProperty(n,"__esModule",{value:!0}),n.Vector=n.Cache=n.Assertions=n.Strings=n.Types=n.Objects=n.Dates=n.Promises=n.Numbers=n.System=n.Arrays=n.Random=n.Elliptic=n.Binary=n.AsyncQueue=n.PubSubChannel=n.FixedPointNumber=n.MerkleTree=n.Chunk=n.Uint8ArrayWriter=n.Uint8ArrayReader=n.AsyncLazy=n.Lazy=n.Optional=void 0;async function e(c){return new Promise((l,d)=>c.then(d,l))}async function r(c){return e(Promise.all(c.map(e)))}async function i(c,l=1){const d=vT(c,l),g=[],x=d.map(async L=>{for(const Q of L)g.push(await Q())});return await Promise.all(x),g}async function s(c){return new Promise(l=>setTimeout(()=>{l(!0)},c))}function o(c,l=Math.random){for(let d=c.length-1;d>0;d--){const g=Math.floor(l()*(d+1)),x=c[d];c[d]=c[g],c[g]=x}return c}function a(c){if(c.length===1)return c[0];throw Error(`Expected exactly one element, actual: ${c.length}`)}function u(c){return c.length===1?c[0]:null}function f(c){return c.length>0?c[0]:null}function h(c){if(!c.length)throw Error("Received empty array");return c[0]}function y(c,l){const d=[];for(let g=0;g<c;g++)d.push(l(g));return d}function _(c){const l=[];for(let d=0;d<c[0].length;d++){l.push([]);for(let g=0;g<c.length;g++)l[d].push(c[g][d])}return l}function w(c,l,d){const g=[];for(let x=0;x<c;x++){g.push([]);for(let L=0;L<l;L++)g[x].push(d)}return g}function R(c,l,d,g){if(d<0||g<0||g+l[0].length>c[0].length||d+l.length>c.length)return!1;for(let x=0;x<l.length;x++)for(let L=0;L<l[x].length;L++)if(l[x][L]!==void 0&&c[d+x][g+L]!==l[x][L])return!1;return!0}function T(c,l,d=Math.random){return o(Kk(0,c.length-1),d).slice(0,l)}function I(c,l){return c.map(d=>d[l])}function B(c){let l=c,d=3405648695,g=3735928559;return function(){return l+=d,d^=l<<7,l*=g,g^=l<<13,l^=d^g,(l>>>0)/4294967296}}function H(c,l,d=Math.random){return Math.floor(d()*(l-c+1))+c}function U(c,l,d=Math.random){return d()*(l-c)+c}function G(){return Math.random()*2-1}function W(c,l,d){return l>=c.x&&l<c.x+c.width&&d>=c.y&&d<c.y+c.height}function X(c,l,d,g=Math.random){let x,L;do x=H(0,c-1,g),L=H(0,l-1,g);while(d&&W(d,x,L));return[x,L]}function j(c,l=Math.random){const d=Math.floor(c),g=c-d;return J(g,l)?d+1:d}function J(c,l=Math.random){return l()<c}function it(c,l=Math.random){return c[Math.floor(c.length*l())]}function ut(c,l,d=Math.random){if(l>c.length)throw new Error(`Count (${l}) is greater than array length (${c.length})`);return T(c,l,d).map(g=>c[g])}function rt(c,l,d,g=Math.random){if(l>c.length)throw new Error(`Count (${l}) is greater than array length (${c.length})`);const x=[];for(;x.length<l;){const L=it(c,g);x.some(Q=>d(Q,L))||x.push(L)}return x}function ot(c,l,d,g,x,L=Math.random){const Q=c.filter(at=>at!==l&&at!==d),lt=[];for(l!==null&<.push(l);Q.length&<.length<g;){const at=n.Random.intBetween(0,Q.length-1,L);x(Q[at],lt)&<.push(Q[at]),Q.splice(at,1)}return o(lt,L),{values:lt,indexOfGuaranteed:l!==null?lt.indexOf(l):-1}}function C(c){if(!c.length)throw Error("Received empty array");return c[c.length-1]}function p(c,l,d){return d(l.reduce((g,x)=>x(g),c))}function m(c,l){return d=>p(d,c,l)}function v(c,l,d){if(d===void 0&&(d=Math.random()),c.length!==l.length)throw new Error("Array length mismatch");let g=l.reduce((L,Q)=>L+Q,0);const x=d*g;for(let L=0;L<c.length-1;L++)if(g-=l[L],x>=g)return c[L];return C(c)}function k(c,l,d=Math.random){const g=l.map(L=>d()*L),x=[];for(let L=0;L<c.length;L++)x.push([c[L],g[L]]);return x.sort((L,Q)=>Q[1]-L[1]).map(L=>L[0])}function N(c,l){if(c==null)return null;const d=l.split(".");let g=c;for(const x of d){if(g[x]===null||g[x]===void 0)return null;g=g[x]}return g}function M(c,l,d){const g=l.split(/\.|\[/);let x=c;for(let L=0;L<g.length;L++){const Q=g[L],lt=L<g.length-1&&g[L+1].includes("]"),at=Q.includes("]")?Q.replace(/\[|\]/g,""):Q;if(L===g.length-1)return x[at]=d,d;sn(x[at])||(lt?x[at]=[]:x[at]={}),x=x[at]}return d}function z(c,l,d=1){const g=N(c,l)||0;return M(c,l,g+d),g}function P(c,l,d){return N(c,l)||M(c,l,d)}function A(c,l){const d=u1(l,"."),g=Wk(l,".");if(!d||!g)return;const x=N(c,d);delete x[g]}function $(c,l,d){const g=N(c,l);if(!g)throw new Error("Key '"+l+"' does not exist.");return M(c,l,d),g}function ct(c,l,d){for(const g of l){const x=N(c,g);if(x)return x}if(d){const g=Object.values(c);if(g.length)return g[0]}return null}async function dt(c,l,d){for(;;){try{await c()}catch(g){d&&d("Error in forever",g)}await s(l)}}function wt(c,l){c();const d=setInterval(()=>{c()},l);return()=>clearInterval(d)}function Gt(c){return c/1024/1024}function Ut(c){return c>=1024*1024*1024*1024?(c/1024/1024/1024/1024).toFixed(3)+" TB":c>=1024*1024*1024?(c/1024/1024/1024).toFixed(3)+" GB":c>=1024*1024?(c/1024/1024).toFixed(3)+" MB":c>=1024?(c/1024).toFixed(3)+" KB":c+" B"}function Lt(c){const l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c.toLowerCase());if(!l)throw new Error("Invalid hex color: "+c);return[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16)]}function Re(c){return"#"+c.map(l=>l.toString(16).padStart(2,"0")).join("")}function Kt(c,l,d,g){const x=c*Math.PI/180,L=d*Math.PI/180,Q=(d-c)*Math.PI/180,lt=(g-l)*Math.PI/180,at=Math.sin(Q/2)*Math.sin(Q/2)+Math.cos(x)*Math.cos(L)*Math.sin(lt/2)*Math.sin(lt/2);return 6371e3*(2*Math.atan2(Math.sqrt(at),Math.sqrt(1-at)))}function Ft(c,l){return Math.round(c/l)*l}function Te(c){return c>1e3?(c/1e3).toFixed(0)+" km":c>=500?Ft(c,100)+" m":c>=100?Ft(c,50)+" m":Ft(c,10)+" m"}function re(c){return c*(c+1)/2}function oe(c){const l=c.match(/-?\d+(\.\d+)?/);if(!l)throw Error("No float found in "+c);return parseFloat(l[0])}function sn(c,l=!0){return!c||l&&!Ie(c._readableState)||l&&c.constructor&&(c.constructor.isBuffer||c.constructor.name=="Uint8Array"||c.constructor.name==="ArrayBuffer"||c.constructor.name==="ReadableStream")?!1:typeof c=="object"}function fe(c){return sn(c)&&!Array.isArray(c)}function De(c){return Array.isArray(c)&&c.length===0}function ua(c){return fe(c)&&Object.keys(c).length===0}function Ie(c){return c===void 0}function Be(c){return Object.prototype.toString.call(c)==="[object Function]"||Object.prototype.toString.call(c)==="[object AsyncFunction]"}function kn(c){return Object.prototype.toString.call(c)==="[object String]"}function he(c){return typeof c=="number"&&isFinite(c)}function Se(c){return c===!0||c===!1}function on(c){return Object.prototype.toString.call(c)==="[object Date]"}function ve(c){return!kn(c)||c.trim().length===0}function Pe(c){return he(c)&&Number.isInteger(c)&&c>=1}function ur(c){return kn(c)&&c.match(/^-?\d+$/)!==null}function Fe(c){return kn(c)&&c.match(/^(0x)?[0-9a-f]+$/i)!==null}const O="!@#$%^&*()_+-=[]{}|;:<>?,./",b="!@#$%^&*()_+-=[]{}|;:<>?,./".split(""),E="abcdefghijklmnopqrstuvwxyz",D="ABCDEFGHIJKLMNOPQRSTUVWXYZ",V="1234567890",q=E+D+V,st=q+O,qt=["—","\\","東","京","都","𝖆","𝖇","𝖈","👾","🙇","💁","🙅","ᚠ","ᛇ","ᚻ","ᛦ"],Wt="0123456789abcdef";function jt(c,l=Math.random){let d="";for(let g=0;g<c;g++)d+=E[Math.floor(l()*E.length)];return d}function $e(c,l=Math.random){let d="";for(let g=0;g<c;g++)d+=q[Math.floor(l()*q.length)];return d}function Ht(c,l=Math.random){let d="";for(let g=0;g<c;g++)d+=st[Math.floor(l()*st.length)];return d}function fn(c,l=Math.random){let d="";for(let g=0;g<c;g++)d+=qt[Math.floor(l()*qt.length)];return d}function Gp(c,l){const d=new RegExp(`[0-9a-f]{${l}}`,"i"),g=c.match(d);return g?g[0]:null}function hn(c,l,d=b){const g=Zk(c,d);for(const x of g)if(l(x))return x;return null}function dn(c,l=Math.random){let d="";for(let g=0;g<c;g++)d+=Wt[Math.floor(l()*Wt.length)];return d}function Vp(c,l){if(!ur(c))throw new TypeError(`Expected integer string${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);const d=BigInt(c);if(l&&(l.min&&d<l.min||l.max&&d>l.max))throw RangeError(`Expected integer string${l!=null&&l.name?` for ${l.name}`:""} in range: ${l.min??"-inf"}..${l.max??"inf"}; got: `+d);return c}function an(c,l){if(ve(c))throw new TypeError(`Expected string${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);if(l&&(l.min!==void 0&&c.length<l.min||l.max!==void 0&&c.length>l.max))throw RangeError(`Expected string${l!=null&&l.name?` for ${l.name}`:""} length in range: ${l.min??"-inf"}..${l.max??"inf"}; got: ${c.length}`);return c}function pn(c,l){if(!Fe(c))throw new TypeError(`Expected hex string${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);const d=c.replace(/^0x/,"");if(l&&l.byteLength&&d.length!==l.byteLength*2)throw RangeError(`Expected hex string${l!=null&&l.name?` for ${l.name}`:""} of byte length ${l.byteLength}; got: `+d);return d}function Kp(c,l){if(!an(c,l).split("").every(d=>d==="_"||ad(d)))throw new TypeError(`Expected safe string${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function cn(c,l){if(l.min!==void 0&&c<l.min||l.max!==void 0&&c>l.max)throw RangeError(`Expected value${l!=null&&l.name?` for ${l.name}`:""} in range: ${l.min??"-inf"}..${l.max??"inf"}; got: ${c}`)}function gn(c,l){if(!Be(c))throw new TypeError(`Expected function${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function Nc(c,l){if(he(c))return l&&cn(c,l),c;if(!kn(c)||!c.match(/^-?\d+(\.\d+)?$/))throw new TypeError(`Expected number${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);const d=parseFloat(c);return l&&cn(d,l),d}function Je(c,l){return Nc(c,l)|0}function yn(c,l){if(c==="true")return!0;if(c==="false")return!1;if(!Se(c))throw new TypeError(`Expected boolean${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function jp(c,l){if(!on(c))throw new TypeError(`Expected date${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function mn(c){return ve(c)?null:c}function wn(c,l){if(!kn(c))throw new TypeError(`Expected string${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function Wp(c,l){if(Pe(c))return c;const d=parseInt(c,10);if(!Pe(d))throw new TypeError(`Expected id${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return d}function bn(c,l){if(!kn(c))throw new TypeError(`Expected time${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);const d=c.split(":");if(d.length!==2)throw new TypeError(`Expected time${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);const g=parseInt(d[0],10),x=parseInt(d[1],10);if(!he(g)||!he(x)||g<0||g>23||x<0||x>59)throw new TypeError(`Expected time, got${l!=null&&l.name?` for ${l.name}`:""}: `+c);return`${String(g).padStart(2,"0")}:${String(x).padStart(2,"0")}`}function _n(c,l){if(!Array.isArray(c))throw new TypeError(`Expected array${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function Cc(c,l){if(!fe(c))throw new TypeError(`Expected object${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function An(c,l){return c===null?null:Cc(c,l)}function En(c,l){const d=Cc(c,l);for(const g of Object.keys(d))if(!kn(d[g]))throw new TypeError(`Expected string map${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return d}function Wh(c,l){const d=Cc(c),g=Object.keys(d),x=Object.values(d);if(!g.every(kn)||!x.every(he))throw new TypeError(`Expected numeric dictionary${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return d}function Vl(c){return kn(c)&&c.match(/^https?:\/\/.+/)!==null}function Zh(c,l){if(!Vl(c))throw new TypeError(`Expected url${l!=null&&l.name?` for ${l.name}`:""}, got: `+c);return c}function qh(c,l){return l==null?!0:c(l)}function Qh(c,l){return l==null?null:c(l)}function Yh(c,l){return l==null?void 0:c(l)}function Kl(c,l){for(const[d,g]of Object.entries(l))if(!g(c[d]))throw TypeError(`${d} in value does not exist or match shape`);for(const d of Object.keys(c))if(!l[d])throw TypeError(`${d} exists in value but not in shape`);return!0}function Jh(c,l){return c.every(d=>Kl(d,l))}function so(c,l="json",d=0){if(sn(c,!1)){if(d>1)return"[object Object]";if(l==="json"){if(Array.isArray(c)){const x=c.map(L=>so(L,"json",d+1));return d===0?JSON.stringify(x):x}const g={};c.message&&(g.message=so(c.message,"json",d+1));for(const[x,L]of Object.entries(c))g[x]=so(L,"json",d+1);return d===0?JSON.stringify(g):g}else if(l==="key-value"){const g=Object.keys(c);return c.message&&!g.includes("message")&&g.unshift("message"),g.map(x=>`${x}=${JSON.stringify(so(c[x],"json",d+1))}`).join(" ")}}return Ie(c)&&(c="undefined"),d===0?JSON.stringify(c):c}function Xh(c,l){if(kn(c))return c;const d=Object.keys(c);c.message&&!d.includes("message")&&d.push("message");const g=d.map(x=>`${x}: ${c[x]}`).join("; ");return l&&c.stack?g+`
|
|
2
|
-
`+
|
|
3
|
-
`).map(
|
|
4
|
-
`)}function
|
|
5
|
-
\r.,?!:;"'\`(){}[]~@#$%^&*-+=|<>/\\`.split("");function
|
|
6
|
-
`],
|
|
7
|
-
`],
|
|
8
|
-
`],
|
|
9
|
-
`],g);if(x===-1){g>d&&l.push({string:c.slice(d,g),symbol:null}),l.push({string:c.slice(g),symbol:"http"});break}g>d&&l.push({string:c.slice(d,g),symbol:null}),l.push({string:c.slice(g,x),symbol:"http"}),d=x}return l}const iT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sT="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";function TK(c){return oT(c,iT)}function OK(c){return aT(c,iT)}function NK(c){return oT(c,sT)}function CK(c){return aT(c,sT)}function oT(c,l){const d="=",g=l.length;let x=0,L=0;const Q=[];for(let lt=0;lt<c.length;lt++){const at=c[lt];if(at===d)break;const Pt=l.indexOf(at);if(Pt===-1)throw new Error(`Invalid character: ${at}`);L=L<<Math.log2(g)|Pt,x+=Math.log2(g),x>=8&&(x-=8,Q.push(L>>x&255))}return new Uint8Array(Q)}function aT(c,l){const d=l.length;let g=0,x=0,L="";for(let Q=0;Q<c.length;Q++)for(x=x<<8|c[Q],g+=8;g>=Math.log2(d);)g-=Math.log2(d),L+=l[x>>g&d-1];return g>0&&(L+=l[x<<Math.log2(d)-g&d-1]),L.length%4!==0&&(L+="=".repeat(4-L.length%4)),L}function BK(c){c.startsWith("0x")&&(c=c.slice(2));const l=c.length/2,d=new Uint8Array(l);for(let g=0;g<l;g++){const x=parseInt(c.slice(g*2,g*2+2),16);d[g]=x}return d}function PK(c){return Array.from(c).map(l=>l.toString(16).padStart(2,"0")).join("")}function MK(c,l){const d=c.split("/").filter(L=>L),g=l.split("/").filter(L=>L);if(d.length!==g.length)return null;const x={};for(let L=0;L<d.length;L++){const Q=d[L];if(Q.startsWith(":"))x[Q.slice(1)]=g[L];else if(Q!==g[L])return null}return x}function d1(c,l,d){const g=[];for(const x of d)x!==l&&g.push(c.replace(l,x));return g}function LK(c,l,d,g=Math.random){const x=n.Arrays.shuffle(l.map(Q=>({variants:n.Arrays.shuffle(Q.variants.map(lt=>lt),g),avoid:Q.avoid})),g),L=[];for(const Q of x){const lt=Q.variants.filter(Pt=>Pt!==Q.avoid),at=lt.find(Pt=>c.includes(Pt));if(at&&(la(L,d1(c,at,lt)),L.length>=d))break}if(L.length<d)for(const Q of x){const lt=Q.variants.find(at=>c.includes(at));if(lt&&(la(L,d1(c,lt,Q.variants)),L.length>=d))break}return L.slice(0,d)}function UK(c,l,d,g=!1){const x=new RegExp(g?`(?<=\\s|^)${l}(?=\\s|$)`:`\\b${l}\\b`,"g");return c.replace(x,d)}function DK(c,l){const d=/\b[A-Z][a-zA-Z0-9]*\b/g;return c.replace(d,g=>g.toUpperCase()===g?g:l(g))}function FK(c){return c.replace(/<[^>]*>/g,"")}function cT(c){const l=c.lastIndexOf(" ");if(l===-1)return{line:c,rest:""};const d=c.slice(0,l),g=c.slice(l+1);return{line:d,rest:g}}function $K(c,l={}){return[...c].reduce((d,g)=>d+(l[g]||1),0)}function HK(c,l,d={}){const g=[];let x="",L=0;for(let Q=0;Q<c.length;Q++){const lt=c[Q],at=d[lt]||1;if(x+=lt,L+=at,L>l){const{line:Pt,rest:Ue}=cT(x);g.push(Pt),x=Ue,L=Ue.split("").map(zn=>d[zn]||1).reduce((zn,Yl)=>zn+Yl,0)}}return x&&g.push(x),g}function zK(c,l){const d=[];for(let g=0;g<=c.length;g++)d[g]=[g];for(let g=0;g<=l.length;g++)d[0][g]=g;for(let g=1;g<=c.length;g++)for(let x=1;x<=l.length;x++){const L=c[g-1]===l[x-1]?0:1;d[g][x]=Math.min(d[g-1][x]+1,d[g][x-1]+1,d[g-1][x-1]+L)}return d[c.length][l.length]}function p1(c,l){return new RegExp(`\\b${l}\\b`).test(c)}function GK(c,l,d){return d==="any"?l.some(g=>p1(c,g)):l.every(g=>p1(c,g))}function VK(c){const l={},d=c.match(/([a-z\-]+)="([^"]+)"/g);if(d)for(const g of d){const[x,L]=l1(g,"=");l[x]=L.slice(1,L.length-1)}return l}function Qp(c,l,d=[]){let g="";for(;l<c.length&&(ad(c[l])||d.includes(c[l]));)g+=c[l++];return g}function KK(c,l,d="$",g=":"){for(const x in l)c=uT(c,x,l[x],d,g);return c=lT(c),c}function uT(c,l,d,g="$",x=":"){if(d==="")return c;let L=c.indexOf(`${g}${l}`);for(;L!==-1;){if(c[L+l.length+1]===x)if(c[L+l.length+2]===x)c=c.replace(`${g}${l}${x}${x}`,d);else{const Q=Qp(c,L+l.length+2,["_"]);c=c.replace(`${g}${l}${x}${Q}`,d)}else c=c.replace(`${g}${l}`,d);L=c.indexOf(`${g}${l}`,L+d.length)}return c}function lT(c,l="$",d=":"){let g=c.indexOf(l);for(;g!==-1;){const x=Qp(c,g+1);if(c[g+x.length+1]===d)if(c[g+x.length+2]===d)c=c.replace(`${l}${x}${d}${d}`,"");else{const L=Qp(c,g+x.length+2);c=c.replace(`${l}${x}${d}${L}`,L)}g=c.indexOf(l,g+1)}return c}function jK(c,l){let d=c.indexOf("](");for(;d!==-1;){const g=eT(c,"[",d),x=c.indexOf(")",d);if(g!==-1&&x!==-1){const[L,Q]=c.slice(g+1,x).split("]("),lt=l(L,Q);c=c.slice(0,g)+lt+c.slice(x+1)}d=c.indexOf("](",d+1)}return c}function fT(c,l=!0){const d=Object.entries(c).filter(([g,x])=>x!=null).map(([g,x])=>`${g}=${encodeURIComponent(x)}`).join("&");return d?(l?"?":"")+d:""}function WK(c){const l={},d=c.split("&");for(const g of d){const[x,L]=g.split("=");x&&L&&(l[x]=decodeURIComponent(L))}return l}function ZK(c,l){return Object.prototype.hasOwnProperty.call(c,l)}function qK(c,l){let d=null,g=-1/0;for(const[x,L]of Object.entries(c)){const Q=l(L);Q>g&&(g=Q,d=x)}return d?[d,c[d]]:null}function QK(c,l,d,g){const x=c.find(Q=>Q[l]===d),L=c.find(Q=>Q[l]===d+g);x&&L?(x[l]=d+g,L[l]=d):x&&(x[l]=d+g),c.sort((Q,lt)=>Nc(Q[l])-Nc(lt[l])),c.forEach((Q,lt)=>Q[l]=lt+1)}function YK(c){const l=Object.keys(c);if(l.length===1)return c[l[0]];throw new Error("Expected object to have a single key")}function JK(c,l=":"){return Object.fromEntries(c.map(d=>l1(d,l)).map(d=>d[0]&&d[1]?[od(d[0]),od(d[1])]:null).filter(d=>d))}function XK(c,l,d){return gT(c,l)+fT(d||{})}function tj(c,l=",",d='"'){const g=[];let x="",L=!1;const Q=c.split("");for(const lt of Q)lt===l&&!L?(g.push(x),x=""):lt===d&&(!x&&!L||L)?L=!L:x+=lt;return g.push(x),g}function ej(c){return`[${Math.floor(c.progress*100)}%] ${Yp(c.deltaMs)} out of ${Yp(c.totalTimeMs)} (${Yp(c.remainingTimeMs)} left) [${Math.round(c.baseTimeMs)} ms each]`}async function nj(c,l,d){for(let g=0;g<d;g++){try{if(await c())return!0}catch{}g<d-1&&await s(l)}return!1}function rj(c,l){const d=[];for(let g=c.length-1;g>=0;g--)l(c[g])&&d.push(c.splice(g,1)[0]);return d}function ij(c){return JSON.parse(JSON.stringify(c))}function sj(c){return Math.ceil((c||Date.now())/1e3)}function oj(c){return(c||new Date).toISOString().slice(0,10)}function aj(c){return(c||new Date).toISOString().slice(0,19).replace(/T|:/g,"-")}function cj(c){const l=new Date(c);return new Date(l.getTime()-l.getTimezoneOffset()*6e4)}function uj(c){return new Date(c)}function gs(c){return String(Math.floor(c)).padStart(2,"0")}function lj(c){let[l,d]=c.split(":");he(parseInt(l,10))||(l="0"),he(parseInt(d,10))||(d="0");let g=b1(Je(l),0,23),x=b1(Je(d),0,59);return`${gs(g)}:${gs(x)}`}function Yp(c){const l=Math.floor(c/36e5);c=c%36e5;const d=Math.floor(c/6e4);c=c%6e4;const g=Math.floor(c/1e3);return l?`${gs(l)}:${gs(d)}:${gs(g)}`:`${gs(d)}:${gs(g)}`}function Bc(c){return Math.floor((on(c)?c.getTime():c)/864e5)}const fj={today:(c,l)=>gs(c)+":"+gs(l),yesterday:()=>"Yesterday",monday:()=>"Mon",tuesday:()=>"Tue",wednesday:()=>"Wed",thursday:()=>"Thu",friday:()=>"Fri",saturday:()=>"Sat",sunday:()=>"Sun",weeks:c=>`${c}w`};function hj(c,l){const d=new Date((l==null?void 0:l.now)||Date.now()),g=(l==null?void 0:l.labels)||fj,x=on(c)?c:new Date(c);if(Bc(d)===Bc(x))return g.today(x.getUTCHours(),x.getUTCMinutes(),x.getUTCHours()>12);if(Bc(d)-Bc(x)===1)return g.yesterday();const L=y1(x);return Bc(d)-Bc(x)<7?g[L.day]():g.weeks(Math.round((d.getTime()-x.getTime())/6048e5))}const hT={now:()=>"A few seconds",seconds:c=>`${c} seconds`,minutes:c=>`${c} minutes`,hours:c=>`${c} hours`,days:c=>`${c} days`,weeks:c=>`${c} weeks`};function dT(c,l){const d=(l==null?void 0:l.now)??Date.now(),g=(l==null?void 0:l.labels)||hT,x=n.Types.isDate(c)?c.getTime():c;let L=(d-x)/1e3;return L<10?g.now():L<120?g.seconds(Math.floor(L)):(L/=60,L<120?g.minutes(Math.floor(L)):(L/=60,L<48?g.hours(Math.floor(L)):(L/=24,L<14?g.days(Math.floor(L)):(L/=7,g.weeks(Math.floor(L))))))}function dj(c,l=hT){return dT(0,{now:c*1e3,labels:l})}function pj(c,l,d){const g=((d==null?void 0:d.now)??Date.now())-c,x=Math.floor(g/l),L=l/((d==null?void 0:d.precision)??1)-Math.ceil(g%l/((d==null?void 0:d.precision)??1));return{cycles:x,remaining:L}}const g1={};function gj(c,l){return!g1[c]||Date.now()>g1[c]?(g1[c]=Date.now()+l,!0):!1}const yj={s:1e3,m:6e4,h:36e5,d:864e5};function mj(c,l,d){return l=on(l)?l.getTime():l,d=d?on(d)?d.getTime():d:Date.now(),(d-l)/yj[c]}function wj(c,l,d,g){g||(g=Date.now());const x=l/d,L=g-c,Q=L/l,lt=Q*d,at=lt-L;return{deltaMs:L,progress:x,baseTimeMs:Q,totalTimeMs:lt,remainingTimeMs:at}}const bj={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"};function pT(c){return{zeroBasedIndex:c,day:bj[c]}}function y1(c){return pT(c.getDay())}function _j(c){return y1(new Date(c))}function Aj(c){return c*1e3}function Ej(c){return c*6e4}function vj(c){return c*36e5}function xj(c){return c*864e5}const Rj={ms:1,milli:1,millis:1,millisecond:1,milliseconds:1,s:1e3,sec:1e3,second:1e3,seconds:1e3,m:6e4,min:6e4,minute:6e4,minutes:6e4,h:36e5,hour:36e5,hours:36e5,d:864e5,day:864e5,days:864e5,w:6048e5,week:6048e5,weeks:6048e5,month:2592e6,months:2592e6,y:31536e6,year:31536e6,years:31536e6};function Ij(c){const l=parseFloat(c);if(isNaN(l))throw Error("makeDate got NaN for input");const d=c.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),g=Rj[d];if(!g)throw Error(`Unknown unit: "${d}"`);return l*g}const Sj={b:1,byte:1,bytes:1,kb:1024,kilobyte:1024,kilobytes:1024,mb:1024**2,megabyte:1024**2,megabytes:1024**2,gb:1024**3,gigabyte:1024**3,gigabytes:1024**3,tb:1024**4,terabyte:1024**4,terabytes:1024**4};function kj(c){const l=parseFloat(c);if(isNaN(l))throw Error("makeDate got NaN for input");const d=c.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),g=Sj[d];if(!g)throw Error(`Unknown unit: "${d}"`);return l*g}function Tj(c){return c.replace(/ +/g," ").replace(/^ /gm,"")}const m1={};async function Oj(c,l,d){const g=Date.now(),x=m1[c];if(x&&x.validUntil>g)return x.value;const L=await d(),Q=g+l;return m1[c]={value:L,validUntil:Q},L}function Nj(c){delete m1[c]}function gT(...c){return c.filter(l=>l).join("/").replace(new RegExp("(?<!:)\\/+","g"),"/")}function Cj(c,l,d,g,x=!0){const L=c.indexOf(l),Q=c.indexOf(d,L+l.length);if(L===-1||Q===-1)throw Error("Start or end not found");return x?c.substring(0,L+l.length)+g+c.substring(Q):c.substring(0,L)+g+c.substring(Q+d.length)}function Bj(c){let l="p";c.startsWith("#")?(l="h1",c=c.slice(1).trim()):c.startsWith("-")&&(l="li",c=c.slice(1).trim());const d=c[0]===c[0].toUpperCase(),g=/[.?!]$/.test(c),x=/:$/.test(c);return{type:l,isCapitalized:d,hasPunctuation:g,endsWithColon:x}}function Pj(c,l="(",d=")"){let g=0,x=0;for(;x<c.length;)if(c.startsWith(l,x)?(g++,x+=l.length):c.startsWith(d,x)?(g--,x+=d.length):x++,g<0)return!1;return l===d?g%2===0:g===0}function Mj(c){c=c.normalize("NFD").replace(/[\u0300-\u036f]/g,"");let l=c.length;for(;c=c.replace(/(\w+)[\s,']+\w+/g,"$1"),c.length!==l;)l=c.length;return c=c.replaceAll(/[A-Z][a-zA-Z0-9]*/g,"A"),c=c.replaceAll(/[a-z][a-zA-Z0-9]*/g,"a"),c=c.replaceAll(/[\u4E00-\u9FA5]+/g,"Z"),c}function yT(c){const l=Object.keys(c).sort((g,x)=>g.localeCompare(x)),d={};for(const g of l)d[g]=Pc(c[g]);return d}function mT(c){const l=[];return c.sort((d,g)=>JSON.stringify(Pc(d)).localeCompare(JSON.stringify(Pc(g)))).forEach(d=>l.push(Pc(d))),l}function Pc(c){return Array.isArray(c)?mT(c):sn(c)?yT(c):c}function wT(c,l){return JSON.stringify(Pc(c))===JSON.stringify(Pc(l))}function Lj(...c){for(let l=1;l<c.length;l++)if(!wT(c[l-1],c[l]))return!1;return!0}function Uj(c){try{return JSON.parse(c)}catch{return null}}function Dj(){let c=0;return{next:()=>c++}}function Fj(c){let l=0;return{next:()=>c[l++%c.length]}}function $j(c){let l;return d=>{const g=d===c&&l!==c;return l=d,g}}function Hj(c,l,d,g,x){const L={};for(const Q of Object.keys(l))L[Q]=[];L[g]=[],x&&(c=c.sort(x));for(const Q of c){const lt=Q[d],at=l[lt]?lt:g;L[at].length>=l[at]?L[g].push(Q):L[at].push(Q)}return L}function zj(c,l){const d=Object.keys(c),g=Object.keys(l);return{uniqueToA:d.filter(x=>!g.includes(x)),uniqueToB:g.filter(x=>!d.includes(x))}}function bT(c){const l=Object.keys(c);return l[Math.floor(Math.random()*l.length)]}function Gj(c,l){const d=bT(c);return c[d]=l(c[d]),d}function Vj(c){return c=c.replace(/\r\n/g,`
|
|
10
|
-
`),c=c.replace(/(\w+)\((.+)\)/g,(l,d,g)=>`${d}(${g.replaceAll(",",",")})`),c=c.replace(/(,)(\s+})/g,"$2"),c=c.replace(/\.\.\..+?,/g,""),c=c.replace(/({\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),c=c.replace(/(,\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),c=c.replace(/:(.+)\?(.+):/g,(l,d,g)=>`: (${d.trim()} && ${g.trim()}) ||`),c=c.replace(/([a-zA-Z0-9]+)( ?: ?{)/g,'"$1"$2'),c=c.replace(/([a-zA-Z0-9]+) ?: ?(.+?)(,|\n|})/g,(l,d,g,x)=>`"${d}":"${g.trim()}"${x}`),c=c.replace(/("'|'")/g,'"'),c=c.replaceAll(",",","),JSON.parse(c)}const fa=[1e3,1e6,1e9,1e12,1e15,1e18,1e21,1e24,1e27,1e30,1e9,1e16,1e18,1e18,1e18,1e33],Kj=["thousand","million","billion","trillion","quadrillion","quintillion","sextillion","septillion","octillion","nonillion","gwei","bzz","btc","eth","dai","decillion"],_T=["K","M","B","T","Qa","Qi","Sx","Sp","O","N","gwei","bzz","eth","btc","dai","D"];function jj(c,l,d){let g=c.length-l;if(g<=0)return"0."+"0".repeat(-g)+c+(d?" "+d:"");let x=c.substring(0,g),L=c.substring(g);return x===""&&(x="0"),x+"."+L+(d?" "+d:"")}function Wj(c,l){const d=(l==null?void 0:l.longForm)??!1,g=l!=null&&l.unit?` ${l.unit}`:"",x=d?Kj:_T,L=(l==null?void 0:l.precision)??1;if(c<fa[0])return`${c}${g}`;for(let Q=0;Q<fa.length-1;Q++)if(c<fa[Q+1])return`${(c/fa[Q]).toFixed(L)}${d?" ":""}${x[Q]}${g}`;return`${(c/fa[fa.length-1]).toFixed(L)}${d?" ":""}${x[fa.length-1]}${g}`}function w1(c){const l=parseFloat(c);if(isNaN(l))throw Error("makeNumber got NaN for input");const d=c.replace(/^-?[0-9.]+/,"").trim(),g=_T.findIndex(x=>x.toLowerCase()===d.toLowerCase());return g===-1?l:l*fa[g]}function b1(c,l,d){return c<l?l:c>d?d:c}function Zj(c,l,d){const g=c+l;return g>d?d:g}function qj(c,l,d){const g=c-l;return g<d?d:g}function Qj(c,l){return l(c),c}function Yj(c,l){c&&l(c)}function Jj(c,l){const d=Object.keys(l);for(const g of d)Array.isArray(l[g])&&Array.isArray(c[g])&&la(c[g],l[g])}function Xj(c){return c.splice(0,c.length),c}function tW(c){for(const l of Object.keys(c))(De(c[l])||Array.isArray(c[l])&&c[l].every(d=>d==null))&&delete c[l];return c}function eW(c){for(const l of Object.entries(c))(l[1]===null||l[1]===void 0||kn(l[1])&&ve(l[1]))&&delete c[l[0]];return c}function nW(c,l){const d={};for(const[g,x]of Object.entries(c))l(g)&&(d[g]=x);return d}function rW(c,l){const d={};for(const[g,x]of Object.entries(c))l(x)&&(d[g]=x);return d}function iW(c,l){const d={};for(const g of Object.entries(c))d[g[0]]=l(g[1]);return d}function sW(c,l){const d=[];let g=0;for(const x of c)d.push(l(x,g++));return d}async function oW(c,l){try{return await c()}catch{throw l}}function aW(c,l,d){d!=null&&(c[l]=d)}function cW(c,l,d,g){const x=N(d,g);x!=null&&M(c,l,x)}function uW(c){const l={};for(const[d,g]of Object.entries(c))l[g]=d;return l}function lW(c){const l=Object.keys(c),d=l.map(lt=>c[lt].length),g=d.reduce((lt,at)=>lt*=at);let x=1;const L=[1];for(let lt=0;lt<d.length-1;lt++)x*=d[lt],L.push(x);const Q=[];for(let lt=0;lt<g;lt++){const at={};for(let Pt=0;Pt<l.length;Pt++){const Ue=c[l[Pt]],zn=Math.floor(lt/L[Pt])%Ue.length;at[l[Pt]]=Ue[zn]}Q.push(at)}return Q}function fW(c){return Object.values(c).filter(l=>l).length}function hW(c,l,d){return c+(d?"["+l+"]":(c.length?".":"")+l)}function Jp(c,l,d,g,x){if(!sn(l))return l;for(const[L,Q]of Object.entries(l)){const lt=hW(d,L,g);Array.isArray(Q)?x?Jp(c,Q,lt,!0,x):c[lt]=Q.map(at=>Jp(Array.isArray(at)?[]:{},at,"",!1,x)):sn(Q)?Jp(c,Q,lt,!1,x):c[lt]=Q}return c}function dW(c,l=!1,d){return Jp({},c,d||"",!1,l)}function AT(c){if(!sn(c))return c;const l=Array.isArray(c)?[]:{};for(const[d,g]of Object.entries(c))Array.isArray(g)?M(l,d,g.map(x=>AT(x))):M(l,d,g);return l}function pW(c,l,d){return l[c]?l[c]:d}function ET(c,l){const d={};for(const g of c){const x=l(g);d[x]=g}return d}function gW(c,l){const d={};for(const g of c){const x=l(g);d[x]||(d[x]=[]),d[x].push(g)}return d}function yW(c,l){const d=[];for(let g=0;g<c.length;g+=l)d.push(c.slice(g,g+l));return d}function vT(c,l){const d=Math.ceil(c.length/l),g=[];for(let x=0;x<c.length;x+=d)g.push(c.slice(x,x+d));return g}function xT(c,l){const d=[],g=Math.ceil(c.length/l);for(let x=0;x<g;x++)d.push(c.slice(x*l,x*l+l));return d}function mW(c,l){const d=Math.ceil(c.length/l);return xT(c,d)}function wW(c,l){return Object.values(ET(c,l))}function bW(c,l,d,g,x){const L=l?c.map(l):c,Q={};for(const at of L)Q[at]=(Q[at]||0)+1;const lt=g?RT(Q,x?(at,Pt)=>at[1]-Pt[1]:(at,Pt)=>Pt[1]-at[1]):Q;return d?Object.keys(lt):lt}function RT(c,l){return Object.fromEntries(Object.entries(c).sort(l))}function _W(c){const l=[],d=Object.keys(c),g=c[d[0]].length;for(let x=0;x<g;x++){const L={};for(const Q of d)L[Q]=c[Q][x];l.push(L)}return l}function AW(c,l,d=1){for(const g of c)g[l]+=d}function EW(c,l,d){for(const g of c)g[l]=d}function _1(c,l){const d=[];let g=[];return c.forEach((x,L)=>{(L===0||!l(x,c[L-1]))&&(g=[],d.push(g)),g.push(x)}),d}function vW(){return{map:new Map,keys:[]}}function xW(){return{map:new Map,keys:[]}}function IT(c,l,d,g=100){if(c.map.has(l)){const x=c.keys.indexOf(l);c.keys.splice(x,1)}if(c.map.set(l,d),c.keys.push(l),c.keys.length>g){const x=c.keys.shift();x&&c.map.delete(x)}}function RW(c,l,d,g=100){if(c.map.has(l)){const x=c.keys.indexOf(l);c.keys.splice(x,1)}if(c.map.set(l,d),c.keys.unshift(l),c.keys.length>g){const x=c.keys.shift();x&&c.map.delete(x)}}function IW(c,l,d,g,x=100){IT(c,l,{validUntil:Date.now()+g,data:d},x)}function SW(c,l){const d=c.map.get(l);return d&&d.validUntil>Date.now()?d.data:null}class ha{constructor(l){this.value=l}static of(l){return new ha(l)}static empty(){return new ha(null)}map(l){return new ha(this.value!==null&&this.value!==void 0?l(this.value):null)}mapAsync(l){return this.value!==null&&this.value!==void 0?l(this.value).then(d=>ha.of(d)):Promise.resolve(ha.empty())}ifPresent(l){return this.value!==null&&this.value!==void 0&&l(this.value),this}ifPresentAsync(l){return this.value!==null&&this.value!==void 0?l(this.value).then(()=>this):Promise.resolve(this)}ifAbsent(l){return(this.value===null||this.value===void 0)&&l(),this}ifAbsentAsync(l){return this.value===null||this.value===void 0?l().then(()=>this):Promise.resolve(this)}getOrFallback(l){return this.value??l()}getOrFallbackAsync(l){return this.value!==null&&this.value!==void 0?Promise.resolve(this.value):l()}getOrThrow(){if(this.value===null||this.value===void 0)throw Error("Optional.value is empty");return this.value}}n.Optional=ha;class kW{constructor(l){this.supplier=l,this.value=null}get(){return this.value||(this.value=this.supplier()),this.value}}n.Lazy=kW;class TW{constructor(l){this.supplier=l,this.value=null}async get(){return this.value||(this.value=await this.supplier()),this.value}}n.AsyncLazy=TW;function OW(c){return()=>c.forEach(l=>l())}function NW(c,l){return c.reduce((d,g)=>l(d)>l(g)?d:g)}function CW(c,l){const d=c.find(g=>g instanceof l);return ha.of(d)}function BW(c,l){return c.filter(d=>d instanceof l)}function PW(c,l){const d=[],g=Math.max(c.length,l.length);for(let x=0;x<g;x++)c[x]&&d.push(c[x]),l[x]&&d.push(l[x]);return d}function MW(c,l){return c.includes(l)?c.filter(d=>d!==l):[...c,l]}class LW{constructor(l){this.value=l,this.children=[]}}function UW(c,l,d,g,x=!1){const L=new Map,Q=[];c.forEach(at=>{const Pt=new LW(at);L.set(at[l],Pt)}),c.forEach(at=>{const Pt=L.get(at[l]);if(!Pt)return;const Ue=at[d];if(Ue){const zn=L.get(Ue);zn&&zn.children.push(Pt)}else Q.push(Pt)});const lt=at=>{at.children.sort((Pt,Ue)=>{const zn=Pt.value[g],Yl=Ue.value[g];return x?Yl-zn:zn-Yl}),at.children.forEach(lt)};return Q.forEach(lt),Q}function ST(c,l){if(Math.log2(c.length)%1!==0)throw new Error("Array length must be a power of 2");let d=[...c];for(;d.length>1;){const g=[];for(let x=0;x<d.length;x+=2){const L=d[x+1];g.push(l(d[x],L))}d=g}return d[0]}function Zl(...c){const l=c.reduce((x,L)=>x+L.length,0),d=new Uint8Array(l);let g=0;return c.forEach(x=>{d.set(x,g),g+=x.length}),d}function kT(c){return c[0]===137&&c[1]===80&&c[2]===78&&c[3]===71}function TT(c){return c[0]===255&&c[1]===216}function OT(c){return c[8]===87&&c[9]===69&&c[10]===66&&c[11]===80}function DW(c){return kT(c)||TT(c)||OT(c)}function FW(c){return new Uint8Array([c])}function $W(c){return c[0]}function HW(c,l){const d=new ArrayBuffer(2);return new DataView(d).setUint16(0,c,l==="LE"),new Uint8Array(d)}function zW(c,l){return new DataView(c.buffer).getUint16(c.byteOffset,l==="LE")}function GW(c,l){const d=new ArrayBuffer(4);return new DataView(d).setUint32(0,c,l==="LE"),new Uint8Array(d)}function VW(c,l){return new DataView(c.buffer).getUint32(c.byteOffset,l==="LE")}function A1(c,l){const d=new ArrayBuffer(8);return new DataView(d).setBigUint64(0,BigInt(c),l==="LE"),new Uint8Array(d)}function KW(c,l){return new DataView(c.buffer).getBigUint64(c.byteOffset,l==="LE")}function ql(c,l){const d=new Uint8Array(32);let g=c;if(l==="LE"){for(let x=0;x<32;x++)d[x]=Number(g&0xffn),g>>=8n;return d}for(let x=31;x>=0;x--)d[x]=Number(g&0xffn),g>>=8n;return d}function Ql(c,l){let d=0n;if(l==="LE"){for(let g=31;g>=0;g--)d=d<<8n|BigInt(c[g]);return d}for(let g=0;g<32;g++)d=d<<8n|BigInt(c[g]);return d}function jW(c,l){const d=[];let g=0;for(const x of l)d.push(c.subarray(g,g+x)),g+=x;return d}function E1(c,l){const d=[];for(let g=0;g<c.length;g+=l)d.push(c.subarray(g,g+l));return d}const NT=[0,1,0,32898,2147483648,32906,2147483648,2147516416,0,32907,0,2147483649,2147483648,2147516545,2147483648,32777,0,138,0,136,0,2147516425,0,2147483658,0,2147516555,2147483648,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,0,32778,2147483648,2147483658,2147483648,2147516545,2147483648,32896,0,2147483649,2147483648,2147516424];function WW(c){for(let l=0;l<24;l++){const d=c[0]^c[10]^c[20]^c[30]^c[40],g=c[1]^c[11]^c[21]^c[31]^c[41],x=c[2]^c[12]^c[22]^c[32]^c[42],L=c[3]^c[13]^c[23]^c[33]^c[43],Q=c[4]^c[14]^c[24]^c[34]^c[44],lt=c[5]^c[15]^c[25]^c[35]^c[45],at=c[6]^c[16]^c[26]^c[36]^c[46],Pt=c[7]^c[17]^c[27]^c[37]^c[47],Ue=c[8]^c[18]^c[28]^c[38]^c[48],zn=c[9]^c[19]^c[29]^c[39]^c[49],Yl=x<<1|L>>>31,TZ=L<<1|x>>>31,ld=Ue^Yl,fd=zn^TZ,OZ=Q<<1|lt>>>31,NZ=lt<<1|Q>>>31,hd=d^OZ,dd=g^NZ,CZ=at<<1|Pt>>>31,BZ=Pt<<1|at>>>31,pd=x^CZ,gd=L^BZ,PZ=Ue<<1|zn>>>31,MZ=zn<<1|Ue>>>31,yd=Q^PZ,md=lt^MZ,LZ=d<<1|g>>>31,UZ=g<<1|d>>>31,wd=at^LZ,bd=Pt^UZ;c[0]^=ld,c[1]^=fd,c[2]^=hd,c[3]^=dd,c[4]^=pd,c[5]^=gd,c[6]^=yd,c[7]^=md,c[8]^=wd,c[9]^=bd,c[10]^=ld,c[11]^=fd,c[12]^=hd,c[13]^=dd,c[14]^=pd,c[15]^=gd,c[16]^=yd,c[17]^=md,c[18]^=wd,c[19]^=bd,c[20]^=ld,c[21]^=fd,c[22]^=hd,c[23]^=dd,c[24]^=pd,c[25]^=gd,c[26]^=yd,c[27]^=md,c[28]^=wd,c[29]^=bd,c[30]^=ld,c[31]^=fd,c[32]^=hd,c[33]^=dd,c[34]^=pd,c[35]^=gd,c[36]^=yd,c[37]^=md,c[38]^=wd,c[39]^=bd,c[40]^=ld,c[41]^=fd,c[42]^=hd,c[43]^=dd,c[44]^=pd,c[45]^=gd,c[46]^=yd,c[47]^=md,c[48]^=wd,c[49]^=bd;const k1=c[0],T1=c[1],O1=c[2]<<1|c[3]>>>31,N1=c[3]<<1|c[2]>>>31,C1=c[5]<<30|c[4]>>>2,B1=c[4]<<30|c[5]>>>2,P1=c[6]<<28|c[7]>>>4,M1=c[7]<<28|c[6]>>>4,L1=c[8]<<27|c[9]>>>5,U1=c[9]<<27|c[8]>>>5,D1=c[11]<<4|c[10]>>>28,F1=c[10]<<4|c[11]>>>28,$1=c[13]<<12|c[12]>>>20,H1=c[12]<<12|c[13]>>>20,z1=c[14]<<6|c[15]>>>26,G1=c[15]<<6|c[14]>>>26,V1=c[17]<<23|c[16]>>>9,K1=c[16]<<23|c[17]>>>9,j1=c[18]<<20|c[19]>>>12,W1=c[19]<<20|c[18]>>>12,Z1=c[20]<<3|c[21]>>>29,q1=c[21]<<3|c[20]>>>29,Q1=c[22]<<10|c[23]>>>22,Y1=c[23]<<10|c[22]>>>22,J1=c[25]<<11|c[24]>>>21,X1=c[24]<<11|c[25]>>>21,tb=c[26]<<25|c[27]>>>7,eb=c[27]<<25|c[26]>>>7,nb=c[29]<<7|c[28]>>>25,rb=c[28]<<7|c[29]>>>25,ib=c[31]<<9|c[30]>>>23,sb=c[30]<<9|c[31]>>>23,ob=c[33]<<13|c[32]>>>19,ab=c[32]<<13|c[33]>>>19,cb=c[34]<<15|c[35]>>>17,ub=c[35]<<15|c[34]>>>17,lb=c[36]<<21|c[37]>>>11,fb=c[37]<<21|c[36]>>>11,hb=c[38]<<8|c[39]>>>24,db=c[39]<<8|c[38]>>>24,pb=c[40]<<18|c[41]>>>14,gb=c[41]<<18|c[40]>>>14,yb=c[42]<<2|c[43]>>>30,mb=c[43]<<2|c[42]>>>30,wb=c[45]<<29|c[44]>>>3,bb=c[44]<<29|c[45]>>>3,_b=c[47]<<24|c[46]>>>8,Ab=c[46]<<24|c[47]>>>8,Eb=c[48]<<14|c[49]>>>18,vb=c[49]<<14|c[48]>>>18;c[0]=k1^~$1&J1,c[1]=T1^~H1&X1,c[2]=$1^~J1&lb,c[3]=H1^~X1&fb,c[4]=J1^~lb&Eb,c[5]=X1^~fb&vb,c[6]=lb^~Eb&k1,c[7]=fb^~vb&T1,c[8]=Eb^~k1&$1,c[9]=vb^~T1&H1,c[10]=P1^~j1&Z1,c[11]=M1^~W1&q1,c[12]=j1^~Z1&ob,c[13]=W1^~q1&ab,c[14]=Z1^~ob&wb,c[15]=q1^~ab&bb,c[16]=ob^~wb&P1,c[17]=ab^~bb&M1,c[18]=wb^~P1&j1,c[19]=bb^~M1&W1,c[20]=O1^~z1&tb,c[21]=N1^~G1&eb,c[22]=z1^~tb&hb,c[23]=G1^~eb&db,c[24]=tb^~hb&pb,c[25]=eb^~db&gb,c[26]=hb^~pb&O1,c[27]=db^~gb&N1,c[28]=pb^~O1&z1,c[29]=gb^~N1&G1,c[30]=L1^~D1&Q1,c[31]=U1^~F1&Y1,c[32]=D1^~Q1&cb,c[33]=F1^~Y1&ub,c[34]=Q1^~cb&_b,c[35]=Y1^~ub&Ab,c[36]=cb^~_b&L1,c[37]=ub^~Ab&U1,c[38]=_b^~L1&D1,c[39]=Ab^~U1&F1,c[40]=C1^~V1&nb,c[41]=B1^~K1&rb,c[42]=V1^~nb&ib,c[43]=K1^~rb&sb,c[44]=nb^~ib&yb,c[45]=rb^~sb&mb,c[46]=ib^~yb&C1,c[47]=sb^~mb&B1,c[48]=yb^~C1&V1,c[49]=mb^~B1&K1,c[0]^=NT[l*2],c[1]^=NT[l*2+1]}}function CT(c){const l=[];for(let d=0;d<c.length;d+=4)l.push(c[d]|c[d+1]<<8|c[d+2]<<16|c[d+3]<<24);return l}function BT(c,l){if(!c.length){const x=new Uint8Array(136);return x[0]=l,x[135]=128,[CT(x)]}const d=E1(c,136),g=d[d.length-1];if(g.length<136){const x=new Uint8Array(136);x.set(g),x[g.length]=l,x[135]|=128,d[d.length-1]=x}if(g.length===136){const x=new Uint8Array(136);x[0]=l,x[135]=128,d.push(x)}return d.map(CT)}function PT(c,l){for(const d of l){for(let g=0;g<34;g+=2)c[g]^=d[g+1],c[g+1]^=d[g];WW(c)}return c}function MT(c){return new Uint8Array([c[1],c[1]>>-24,c[1]>>-16,c[1]>>-8,c[0],c[0]>>8,c[0]>>16,c[0]>>24,c[3],c[3]>>-24,c[3]>>-16,c[3]>>-8,c[2],c[2]>>8,c[2]>>16,c[2]>>24,c[5],c[5]>>-24,c[5]>>-16,c[5]>>-8,c[4],c[4]>>8,c[4]>>16,c[4]>>24,c[7],c[7]>>-24,c[7]>>-16,c[7]>>-8,c[6],c[6]>>8,c[6]>>16,c[6]>>24])}function oo(c){return MT(PT(new Array(50).fill(0),BT(c,1)))}function ZW(c){return MT(PT(new Array(50).fill(0),BT(c,6)))}function qW(c,l,d){const g=Math.min(c.length,l.length,d/8+1);for(let x=0;x<g;x++){const L=c[x]^l[x];for(let Q=0;Q<8;Q++)if(L>>7-Q&1)return x*8+Q}return d}function QW(c,l){const d=Math.min(c.length,l.length);for(let g=0;g<d;g++)if(c[g]!==l[g])return c.subarray(0,g);return c.subarray(0,d)}function YW(c,l,d,g){const x=Math.floor(l/8),L=l%8;d===1?c[x]|=1<<(g==="BE"?7-L:L):c[x]&=~(1<<(g==="BE"?7-L:L))}function JW(c,l,d){const g=Math.floor(l/8),x=l%8;return c[g]>>(d==="BE"?7-x:x)&1}function XW(c,l,d=0){for(let g=d;g<c.length;g++)for(let x=0;x<l.length&&c[g+x]===l[x];x++)if(x===l.length-1)return g;return-1}function LT(c,l,d=0){if(c.length>=l)return c;const g=new Uint8Array(l);return g.fill(d),g.set(c,l-c.length),g}function tZ(c,l,d=0){const g=c.length%l;return g===0?c:LT(c,c.length+l-g,d)}function UT(c,l,d=0){if(c.length>=l)return c;const g=new Uint8Array(l);return g.fill(d),g.set(c,0),g}function eZ(c,l,d=0){const g=c.length%l;return g===0?c:UT(c,c.length+l-g,d)}function nZ(c,l){const d=new Uint8Array(c.length);for(let g=0;g<c.length;g++)d[g]=c[g]^l[g%l.length];return d}function rZ(c,l){if(c.length!==l.length)return!1;for(let d=0;d<c.length;d++)if(c[d]!==l[d])return!1;return!0}function Ve(c,l){return(c%l+l)%l}function cd(c,l){c=Ve(c,l);let[d,g]=[0n,1n],[x,L]=[l,c];for(;L!==0n;){const Q=x/L;[d,g]=[g,d-Q*g],[x,L]=[L,x-Q*L]}if(x>1n)throw new Error("a is not invertible");return d<0n&&(d+=l),d}function iZ(c,l,d){let g=1n;for(c=Ve(c,d);l>0;)l%2n===1n&&(g=Ve(g*c,d)),c=Ve(c*c,d),l=l/2n;return g}function DT(c,l){return Ve(c,l)===0n?0n:l%4n===3n?iZ(c,(l+1n)/4n,l):null}const lr=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,Hn=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,Xp=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,tg=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;function v1(c,l,d){if(l===0n)return[0n,0n];const g=Ve(3n*c*c*cd(2n*l,d),d),x=Ve(g*g-2n*c,d),L=Ve(g*(c-x)-l,d);return[x,L]}function eg(c,l,d,g,x){if(c===0n&&l===0n)return[d,g];if(d===0n&&g===0n)return[c,l];if(c===d&&l===Ve(-g,x))return[0n,0n];if(c===d&&l===g)return v1(c,l,x);const L=Ve((g-l)*cd(d-c,x),x),Q=Ve(L*L-c-d,x),lt=Ve(L*(c-Q)-l,x);return[Q,lt]}function sZ(c){if(c<=0n||c>=Hn)throw new Error("Invalid private key");return Mc(Xp,tg,c,lr)}function oZ(c){const l=c[1]%2n===0n?2:3;return new Uint8Array([l,...ql(c[0],"BE")])}function aZ(c){if(c.length!==33||c[0]!==2&&c[0]!==3)throw new Error("Invalid compressed public key");const l=Ql(c.slice(1),"BE"),d=DT(Ve(l**3n+7n,lr),lr);if(!d)throw Error("Invalid x: does not correspond to a valid curve point");const g=Ve(-d,lr),x=d%2n===0n;return[l,c[0]===2?x?d:g:x?g:d]}function cZ(c){const l=new Uint8Array(20),d=oo(Zl(ql(c[0],"BE"),ql(c[1],"BE")));return l.set(d.subarray(12)),l}function uZ(c){const l=n.Binary.uint8ArrayToHex(c),d=n.Binary.uint8ArrayToHex(n.Binary.keccak256(new Uint8Array([...l].map(x=>x.charCodeAt(0)))));let g="0x";for(let x=0;x<l.length;x++)parseInt(d[x],16)>7?g+=l[x].toUpperCase():g+=l[x];return g}function Mc(c,l,d,g){let x=[0n,0n],L=[c,l];const Q=d.toString(2);for(const lt of Q)lt==="0"?(L=eg(x[0],x[1],L[0],L[1],g),x=v1(x[0],x[1],g)):(x=eg(x[0],x[1],L[0],L[1],g),L=v1(L[0],L[1],g));return x}function lZ(c,l,d){return FT(Ql(oo(c),"BE"),l,d)}function FT(c,l,d){if(l<=0n||l>=Hn)throw new Error("Invalid private key");if(d||(d=Ve(Ql(oo(Zl(oo(ql(l,"BE")),ql(c,"BE"))),"BE"),Hn)),d<=0n||d>=Hn)throw new Error("Invalid nonce");const g=Ve(c,Hn),x=Mc(Xp,tg,d,lr),L=Ve(x[0],Hn);let Q=Ve((g+Ve(L,Hn)*l)*cd(d,Hn),Hn);if(L===0n||Q===0n)throw new Error("Invalid r or s value");let lt=x[1]%2n===0n?27n:28n;return Q>Hn/2n&&(Q=Hn-Q,lt=lt===27n?28n:27n),[L,Q,lt]}function fZ(c,l,d,g){const x=DT(Ve(l**3n+7n,lr),lr);if(!x)throw new Error("Invalid r: does not correspond to a valid curve point");const L=g===27n?0n:1n,Q=x%2n===L?x:lr-x,lt=Ve(Ql(oo(c),"BE"),Hn),at=Mc(l,Q,d,lr),Pt=Mc(Xp,tg,lt,lr),Ue=eg(at[0],at[1],Pt[0],Ve(-Pt[1],lr),lr);return Mc(Ue[0],Ue[1],cd(l,Hn),lr)}function hZ(c,l,d,g){const x=Ve(Ql(oo(c),"BE"),Hn),L=cd(g,Hn),Q=Ve(x*L,Hn),lt=Ve(d*L,Hn),at=Mc(Xp,tg,Q,lr),Pt=Mc(l[0],l[1],lt,lr),Ue=eg(at[0],at[1],Pt[0],Pt[1],lr);return d===Ve(Ue[0],Hn)}class $T{constructor(l){this.cursor=0,this.buffer=l}read(l){const d=this.buffer.subarray(this.cursor,this.cursor+l);return this.cursor+=l,d}max(){return this.buffer.length-this.cursor}}n.Uint8ArrayReader=$T;class HT{constructor(l){this.buffer=l,this.cursor=0}write(l){const d=Math.min(this.max(),l.max());return this.buffer.set(l.read(d),this.cursor),this.cursor+=d,d}max(){return this.buffer.length-this.cursor}}n.Uint8ArrayWriter=HT;class ng{constructor(l,d=0n){this.span=d,this.writer=new HT(new Uint8Array(l))}build(){return Zl(A1(this.span,"LE"),this.writer.buffer)}hash(){const l=ST(E1(this.writer.buffer,32),(d,g)=>oo(Zl(d,g)));return oo(Zl(A1(this.span,"LE"),l))}}n.Chunk=ng;class x1{constructor(l,d=4096){this.counters=[1],this.capacity=d,this.chunks=[new ng(d)],this.onChunk=l}static async root(l,d=4096){const g=new t(t.NOOP,d);return await g.append(l),g.finalize()}async append(l,d=0,g=0n){const x=new $T(l);for(;x.max()>0;){this.chunks[d].writer.max()===0&&await this.elevate(d);const L=this.chunks[d].writer.write(x);g?this.chunks[d].span+=g:this.chunks[0].span+=BigInt(L)}}async elevate(l){this.counters[l]=++this.counters[l]%(this.capacity/32),this.chunks[l+1]||(this.chunks.push(new ng(this.capacity)),this.counters.push(1)),await this.append(this.chunks[l].hash(),l+1,this.chunks[l].span),await this.onChunk(this.chunks[l]),this.chunks[l]=new ng(this.capacity)}async finalize(l=0){return this.chunks[l+1]?this.counters[l]===1?(await this.elevate(l+1),this.chunks[l+1]=this.chunks[l],this.finalize(l+1)):(await this.elevate(l),this.finalize(l+1)):(await this.onChunk(this.chunks[l]),this.chunks[l])}}n.MerkleTree=x1,t=x1,x1.NOOP=async c=>{};class ys{constructor(l,d){if(d<0)throw Error("Scale must be non-negative");this.value=BigInt(l),this.scale=d}static fromDecimalString(l,d){let[g,x]=l.split(".");return x=(x||"").padEnd(d,"0").slice(0,d),new ys(BigInt(g+x),d)}add(l){return this.assertSameScale(l),new ys(this.value+l.value,this.scale)}subtract(l){return this.assertSameScale(l),new ys(this.value-l.value,this.scale)}multiply(l){return new ys(this.value*l,this.scale)}divmod(l){if(l===0n)throw new Error("Division by zero is not allowed");const d=this.value/l,g=this.value%l;return[new ys(d,this.scale),new ys(g,this.scale)]}exchange(l,d,g){if(l==="*"){const L=this.value*d.value/10n**BigInt(this.scale);return new ys(L,g)}this.assertSameScale(d);const x=this.value*10n**BigInt(g)/d.value;return new ys(x,g)}compare(l){return this.assertSameScale(l),this.value>l.value?1:this.value<l.value?-1:0}toDecimalString(){if(this.scale===0)return this.value.toString();const l=this.value.toString(),d=l.slice(0,-this.scale)||"0",g=l.slice(-this.scale).padStart(this.scale,"0");return`${d}.${g}`}toString(){return this.value.toString()}toJSON(){return this.toString()}assertSameScale(l){if(this.scale!==l.scale)throw new Error(`Scale mismatch: expected ${this.scale}, but got ${l.scale}`)}}n.FixedPointNumber=ys;function dZ(c){if(c.length===0)return null;const l=c[0];return l.ttlMax?--l.ttl<=0&&c.shift():l.ttlMax=l.ttl,{progress:(l.ttlMax-l.ttl)/l.ttlMax,data:l.data}}function rg(c,l,d,g){const x=c.findIndex(lt=>lt===`--${l}`||lt.startsWith(`--${l}=`)),L=c[x];if(!L)return(d||{})[g||l||""]||null;if(L.includes("="))return L.split("=")[1];const Q=c[x+1];return Q&&!Q.startsWith("-")?Q:(d||{})[g||l||""]||null}function pZ(c,l,d,g){const x=rg(c,l,d,g);if(!x)return null;try{return w1(x)}catch{throw new Error(`Invalid number argument ${l}: ${x}`)}}function gZ(c,l,d,g){const x=c.some(at=>at.endsWith("-"+l)),L=rg(c,l,d,g);if(!L&&x)return!0;if(!L&&!x)return null;const Q=["true","1","yes","y","on"],lt=["false","0","no","n","off"];if(Q.includes(L.toLowerCase()))return!0;if(lt.includes(L.toLowerCase()))return!1;throw Error(`Invalid boolean argument ${l}: ${L}`)}function zT(c,l,d,g){const x=rg(c,l,d,g);if(!x)throw new Error(`Missing argument ${l}`);return x}function yZ(c,l,d,g){const x=zT(c,l,d,g);try{return w1(x)}catch{throw new Error(`Invalid argument ${l}: ${x}`)}}function GT(c,l){const d=c[l];c.splice(l,1),c.unshift(d)}function mZ(c,l){const d=[...c];return GT(d,l),d}function VT(c,l){return{x:c.x+l.x,y:c.y+l.y}}function wZ(c,l){return{x:c.x-l.x,y:c.y-l.y}}function R1(c,l){return{x:c.x*l,y:c.y*l}}function bZ(c){const l=Math.sqrt(c.x*c.x+c.y*c.y);return{x:c.x/l,y:c.y/l}}function KT(c,l,d){return{x:c.x+Math.cos(l)*d,y:c.y+Math.sin(l)*d}}function jT(c,l){return Math.sqrt((c.x-l.x)**2+(c.y-l.y)**2)}function ud(c,l,d="row-first"){const g=[];if(d==="column-first")for(let x=0;x<c.length;x++)for(let L=0;L<c[0].length;L++)l(x,L)&&g.push({x,y:L});else for(let x=0;x<c[0].length;x++)for(let L=0;L<c.length;L++)l(L,x)&&g.push({x:L,y:x});return g}function _Z(c,l,d){var g,x;return((g=c[l+1])==null?void 0:g[d])&&((x=c[l-1])==null?void 0:x[d])&&!c[l][d-1]&&!c[l][d+1]}function AZ(c,l,d){var g,x;return c[l][d+1]&&c[l][d-1]&&!((g=c[l-1])!=null&&g[d])&&!((x=c[l+1])!=null&&x[d])}function WT(c,l,d){var g;return!((g=c[l-1])!=null&&g[d])}function ZT(c,l,d){var g;return!((g=c[l+1])!=null&&g[d])}function qT(c,l,d){return!c[l][d-1]}function QT(c,l,d){return!c[l][d+1]}function EZ(c,l,d){var x,L,Q,lt,at,Pt,Ue,zn;const g=[];return c[l][d]?_Z(c,l,d)||AZ(c,l,d)?[]:(!((x=c[l-1])!=null&&x[d-1])&&WT(c,l,d)&&qT(c,l,d)&&g.push({x:l,y:d}),!((L=c[l+1])!=null&&L[d-1])&&ZT(c,l,d)&&qT(c,l,d)&&g.push({x:l+1,y:d}),!((Q=c[l-1])!=null&&Q[d+1])&&WT(c,l,d)&&QT(c,l,d)&&g.push({x:l,y:d+1}),!((lt=c[l+1])!=null&<[d+1])&&ZT(c,l,d)&&QT(c,l,d)&&g.push({x:l+1,y:d+1}),g):((at=c[l-1])!=null&&at[d]&&c[l][d-1]&&g.push({x:l,y:d}),(Pt=c[l+1])!=null&&Pt[d]&&c[l][d-1]&&g.push({x:l+1,y:d}),(Ue=c[l-1])!=null&&Ue[d]&&c[l][d+1]&&g.push({x:l,y:d+1}),(zn=c[l+1])!=null&&zn[d]&&c[l][d+1]&&g.push({x:l+1,y:d+1}),g)}function vZ(c,l,d,g){const x=[{x:0,y:0},{x:d,y:0},{x:0,y:g},{x:d,y:g}];for(let L=0;L<c.length;L++)for(let Q=0;Q<c[0].length;Q++){const lt=EZ(c,L,Q);for(const at of lt)x.some(Pt=>Pt.x===at.x&&Pt.y===at.y)||x.push(at)}return x.map(L=>({x:L.x*l,y:L.y*l}))}function xZ(c,l){const d=ud(c,(at,Pt)=>c[at][Pt]===0&&c[at][Pt+1]!==0,"row-first").map(at=>({...at,dx:1,dy:0})),g=ud(c,(at,Pt)=>c[at][Pt]===0&&c[at][Pt-1]!==0,"row-first").map(at=>({...at,dx:1,dy:0})),x=ud(c,(at,Pt)=>{var Ue;return c[at][Pt]===0&&((Ue=c[at-1])==null?void 0:Ue[Pt])!==0},"column-first").map(at=>({...at,dx:0,dy:1})),L=ud(c,(at,Pt)=>{var Ue;return c[at][Pt]===0&&((Ue=c[at+1])==null?void 0:Ue[Pt])!==0},"column-first").map(at=>({...at,dx:0,dy:1}));d.forEach(at=>at.y++),L.forEach(at=>at.x++);const Q=_1([...x,...L],(at,Pt)=>at.x===Pt.x&&at.y-1===Pt.y),lt=_1([...g,...d],(at,Pt)=>at.y===Pt.y&&at.x-1===Pt.x);return[...Q,...lt].map(at=>({start:at[0],end:C(at)})).map(at=>({start:R1(at.start,l),end:R1(VT(at.end,{x:at.start.dx,y:at.start.dy}),l)}))}function RZ(c,l){return Math.atan2(l.y-c.y,l.x-c.x)}function IZ(c,l){return l.map(d=>RZ(c,d)).sort((d,g)=>d-g)}function YT(c,l,d,g){const x=(g.y-d.y)*(l.x-c.x)-(g.x-d.x)*(l.y-c.y);if(x===0)return null;let L=c.y-d.y,Q=c.x-d.x;const lt=(g.x-d.x)*L-(g.y-d.y)*Q,at=(l.x-c.x)*L-(l.y-c.y)*Q;return L=lt/x,Q=at/x,L>0&&L<1&&Q>0&&Q<1?{x:c.x+L*(l.x-c.x),y:c.y+L*(l.y-c.y)}:null}function I1(c,l,d){const g=[],x=KT(c,d,1e4);for(const L of l){const Q=YT(c,x,L.start,L.end);Q&&g.push(Q)}return g.length?g.reduce((L,Q)=>{const lt=jT(c,Q),at=jT(c,L);return lt<at?Q:L}):null}function SZ(c,l,d){const g=IZ(c,d),x=[];for(const L of g){const Q=I1(c,l,L-.001),lt=I1(c,l,L+.001);Q&&x.push(Q),lt&&x.push(lt)}return x}class S1{constructor(){this.subscribers=[]}subscribe(l){return this.subscribers.push(l),()=>{this.subscribers=this.subscribers.filter(d=>d!==l)}}publish(l){this.subscribers.forEach(d=>d(l))}clear(){this.subscribers=[]}getSubscriberCount(){return this.subscribers.length}}n.PubSubChannel=S1;class kZ{constructor(l,d){this.queue=[],this.running=0,this.onProcessed=new S1,this.onDrained=new S1,this.concurrency=l,this.capacity=d}process(){if(this.running>=this.concurrency)return;const l=this.queue.shift();l&&(this.running++,l().finally(()=>{this.running--,this.process(),this.onProcessed.publish(),this.running===0&&this.onDrained.publish()}))}enqueue(l){if(this.queue.length<this.capacity)return this.queue.push(l),this.process(),Promise.resolve();if(this.onProcessed.getSubscriberCount())throw Error("Queue capacity is full");return new Promise(d=>{this.onProcessed.subscribe(()=>{this.queue.length<this.capacity&&(this.queue.push(l),this.process(),this.onProcessed.clear(),d())})})}drain(){if(this.running===0)return Promise.resolve();if(this.onDrained.getSubscriberCount())throw Error("Already draining");return new Promise(l=>{this.onDrained.subscribe(()=>{this.onDrained.clear(),l()})})}}n.AsyncQueue=kZ,n.Binary={hexToUint8Array:BK,uint8ArrayToHex:PK,base64ToUint8Array:TK,uint8ArrayToBase64:OK,base32ToUint8Array:NK,uint8ArrayToBase32:CK,log2Reduce:ST,partition:E1,concatBytes:Zl,numberToUint8:FW,uint8ToNumber:$W,numberToUint16:HW,uint16ToNumber:zW,numberToUint32:GW,uint32ToNumber:VW,numberToUint64:A1,uint64ToNumber:KW,numberToUint256:ql,uint256ToNumber:Ql,sliceBytes:jW,keccak256:oo,sha3_256:ZW,proximity:qW,commonPrefix:QW,setBit:YW,getBit:JW,indexOf:XW,equals:rZ,padStart:LT,padStartToMultiple:tZ,padEnd:UT,padEndToMultiple:eZ,xorCypher:nZ},n.Elliptic={privateKeyToPublicKey:sZ,compressPublicKey:oZ,publicKeyFromCompressed:aZ,publicKeyToAddress:cZ,signMessage:lZ,signHash:FT,verifySignature:hZ,recoverPublicKey:fZ,checksumEncode:uZ},n.Random={intBetween:H,floatBetween:U,chance:J,signed:G,makeSeededRng:B,point:X,procs:j},n.Arrays={countUnique:bW,makeUnique:wW,splitBySize:yW,splitByCount:vT,index:ET,indexCollection:gW,onlyOrThrow:a,onlyOrNull:u,firstOrThrow:h,firstOrNull:f,shuffle:o,initialize:y,initialize2D:w,rotate2D:_,containsShape:R,glue:DV,pluck:I,pick:it,pickMany:ut,pickManyUnique:rt,pickWeighted:v,pickRandomIndices:T,pickGuaranteed:ot,last:C,pipe:p,makePipe:m,sortWeighted:k,pushAll:la,unshiftAll:LV,filterAndRemove:rj,merge:Jj,empty:Xj,pushToBucket:rd,unshiftAndLimit:id,atRolling:sd,group:_1,createOscillator:Fj,organiseWithLimits:Hj,tickPlaybook:dZ,getArgument:rg,getBooleanArgument:gZ,getNumberArgument:pZ,requireStringArgument:zT,requireNumberArgument:yZ,bringToFront:mZ,bringToFrontInPlace:GT,findInstance:CW,filterInstances:BW,interleave:PW,toggle:MW,createHierarchy:UW,multicall:OW,maxBy:NW},n.System={sleepMillis:s,forever:dt,scheduleMany:KV,waitFor:nj,expandError:Xh,runAndSetInterval:wt},n.Numbers={make:w1,sum:WV,average:ZV,median:qV,getDistanceFromMidpoint:QV,clamp:b1,range:Kk,interpolate:jV,createSequence:Dj,increment:Zj,decrement:qj,format:Wj,fromDecimals:jj,makeStorage:kj,asMegabytes:Gt,convertBytes:Ut,hexToRgb:Lt,rgbToHex:Re,haversineDistanceToMeters:Kt,roundToNearest:Ft,formatDistance:Te,triangularNumber:re,searchFloat:oe},n.Promises={raceFulfilled:r,invert:e,runInParallelBatches:i},n.Dates={getTimestamp:hj,getTimeDelta:dT,secondsToHumanTime:dj,countCycles:pj,isoDate:oj,throttle:gj,timeSince:mj,dateTimeSlug:aj,unixTimestamp:sj,fromUtcString:cj,fromMillis:uj,getProgress:wj,humanizeTime:Yp,humanizeProgress:ej,createTimeDigits:gs,mapDayNumber:pT,getDayInfoFromDate:y1,getDayInfoFromDateTimeString:_j,seconds:Aj,minutes:Ej,hours:vj,days:xj,make:Ij,normalizeTime:lj,absoluteDays:Bc},n.Objects={safeParse:Uj,deleteDeep:A,getDeep:N,setDeep:M,incrementDeep:z,ensureDeep:P,replaceDeep:$,getFirstDeep:ct,deepMergeInPlace:Pi,deepMerge2:td,deepMerge3:ed,mapAllAsync:UV,cloneWithJson:ij,sortObject:yT,sortArray:mT,sortAny:Pc,deepEquals:wT,deepEqualsEvery:Lj,runOn:Qj,ifPresent:Yj,zip:jl,zipSum:nd,removeEmptyArrays:tW,removeEmptyValues:eW,flatten:dW,unflatten:AT,match:pW,sort:RT,map:iW,mapIterable:sW,filterKeys:nW,filterValues:rW,rethrow:oW,setSomeOnObject:aW,setSomeDeep:cW,flip:uW,getAllPermutations:lW,countTruthyValues:fW,transformToArray:_W,setMulti:EW,incrementMulti:AW,createBidirectionalMap:vW,createTemporalBidirectionalMap:xW,pushToBidirectionalMap:IT,unshiftToBidirectionalMap:RW,addToTemporalBidirectionalMap:IW,getFromTemporalBidirectionalMap:SW,createStatefulToggle:$j,diffKeys:zj,pickRandomKey:bT,mapRandomKey:Gj,fromObjectString:Vj,toQueryString:fT,parseQueryString:WK,hasKey:ZK,selectMax:qK,reposition:QK,unwrapSingleKey:YK,parseKeyValues:JK},n.Types={isFunction:Be,isObject:sn,isStrictlyObject:fe,isEmptyArray:De,isEmptyObject:ua,isUndefined:Ie,isString:kn,isNumber:he,isBoolean:Se,isDate:on,isBlank:ve,isId:Pe,isIntegerString:ur,isHexString:Fe,isUrl:Vl,isNullable:qh,asString:an,asHexString:pn,asSafeString:Kp,asIntegerString:Vp,asNumber:Nc,asFunction:gn,asInteger:Je,asBoolean:yn,asDate:jp,asNullableString:mn,asEmptiableString:wn,asId:Wp,asTime:bn,asArray:_n,asObject:Cc,asNullableObject:An,asStringMap:En,asNumericDictionary:Wh,asUrl:Zh,asNullable:Qh,asOptional:Yh,enforceObjectShape:Kl,enforceArrayShape:Jh,isPng:kT,isJpg:TT,isWebp:OT,isImage:DW},n.Strings={tokenizeByCount:mW,tokenizeByLength:xT,searchHex:Gp,searchSubstring:hn,randomHex:dn,randomLetter:jt,randomAlphanumeric:$e,randomRichAscii:Ht,randomUnicode:fn,includesAny:YV,slugify:a1,normalForm:XV,enumify:sK,escapeHtml:aK,decodeHtmlEntities:uK,after:c1,afterLast:Wk,before:jk,beforeLast:u1,betweenWide:lK,betweenNarrow:fK,getPreLine:Tj,containsWord:p1,containsWords:GK,joinUrl:gT,getFuzzyMatchScore:Zp,sortByFuzzyScore:oK,splitOnce:l1,splitAll:Zk,randomize:gK,expand:qk,shrinkTrim:od,capitalize:qp,decapitalize:Qk,csvEscape:AK,parseCsv:tj,surroundInOut:iK,getExtension:f1,getBasename:h1,normalizeEmail:hK,normalizeFilename:dK,parseFilename:pK,camelToTitle:tK,slugToTitle:eK,slugToCamel:nK,joinHumanly:rK,findWeightedPair:nT,extractBlock:rT,extractAllBlocks:xK,replaceBlocks:RK,indexOfEarliest:Wl,lastIndexOfBefore:eT,parseHtmlAttributes:VK,readNextWord:Qp,resolveVariables:KK,resolveVariableWithDefaultSyntax:uT,resolveRemainingVariablesWithDefaults:lT,isLetter:Yk,isDigit:Jk,isLetterOrDigit:ad,isValidObjectPathCharacter:wK,insert:bK,indexOfRegex:Xk,lineMatches:tT,linesMatchInOrder:_K,represent:so,resolveMarkdownLinks:jK,buildUrl:XK,isChinese:JV,replaceBetweenStrings:Cj,describeMarkdown:Bj,isBalanced:Pj,textToFormat:Mj,splitFormatting:IK,splitHashtags:SK,splitUrls:kK,route:MK,explodeReplace:d1,generateVariants:LK,replaceWord:UK,replacePascalCaseWords:DK,stripHtml:FK,breakLine:cT,measureTextWidth:$K,toLines:HK,levenshteinDistance:zK},n.Assertions={asEqual:FV,asTrue:$V,asTruthy:HV,asFalse:zV,asFalsy:GV,asEither:VV},n.Cache={get:Oj,invalidate:Nj},n.Vector={addPoint:VT,subtractPoint:wZ,multiplyPoint:R1,normalizePoint:bZ,pushPoint:KT,filterCoordinates:ud,findCorners:vZ,findLines:xZ,raycast:I1,raycastCircle:SZ,getLineIntersectionPoint:YT}})(T_);const je=Mr(T_);je.Arrays,je.Assertions;const Xn=je.Binary;je.Cache,je.Dates,je.Elliptic,je.Numbers,je.Objects,je.Pagination,je.Promises,je.Random,je.Strings,je.System,je.Types,je.Optional,je.Vector,je.PubSubChannel,je.Chunk;const q8=je.MerkleTree;je.FixedPointNumber,je.Lazy,je.AsyncLazy,je.AsyncQueue,je.Uint8ArrayReader,je.Uint8ArrayWriter;var de;(function(n){n.assertEqual=i=>i;function t(i){}n.assertIs=t;function e(i){throw new Error}n.assertNever=e,n.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},n.getValidEnumValues=i=>{const s=n.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return n.objectValues(o)},n.objectValues=i=>n.objectKeys(i).map(function(s){return i[s]}),n.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},n.find=(i,s)=>{for(const o of i)if(s(o))return o},n.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}n.joinValues=r,n.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(de||(de={}));var kg;(function(n){n.mergeShapes=(t,e)=>({...t,...e})})(kg||(kg={}));const It=de.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ws=n=>{switch(typeof n){case"undefined":return It.undefined;case"string":return It.string;case"number":return isNaN(n)?It.nan:It.number;case"boolean":return It.boolean;case"function":return It.function;case"bigint":return It.bigint;case"symbol":return It.symbol;case"object":return Array.isArray(n)?It.array:n===null?It.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?It.promise:typeof Map<"u"&&n instanceof Map?It.map:typeof Set<"u"&&n instanceof Set?It.set:typeof Date<"u"&&n instanceof Date?It.date:It.object;default:return It.unknown}},gt=de.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Q8=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class Lr extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const e=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,e):this.__proto__=e,this.name="ZodError",this.issues=t}format(t){const e=t||function(s){return s.message},r={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(e(o));else{let a=r,u=0;for(;u<o.path.length;){const f=o.path[u];u===o.path.length-1?(a[f]=a[f]||{_errors:[]},a[f]._errors.push(e(o))):a[f]=a[f]||{_errors:[]},a=a[f],u++}}};return i(this),r}static assert(t){if(!(t instanceof Lr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,de.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=e=>e.message){const e={},r=[];for(const i of this.issues)i.path.length>0?(e[i.path[0]]=e[i.path[0]]||[],e[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:e}}get formErrors(){return this.flatten()}}Lr.create=n=>new Lr(n);const Gc=(n,t)=>{let e;switch(n.code){case gt.invalid_type:n.received===It.undefined?e="Required":e=`Expected ${n.expected}, received ${n.received}`;break;case gt.invalid_literal:e=`Invalid literal value, expected ${JSON.stringify(n.expected,de.jsonStringifyReplacer)}`;break;case gt.unrecognized_keys:e=`Unrecognized key(s) in object: ${de.joinValues(n.keys,", ")}`;break;case gt.invalid_union:e="Invalid input";break;case gt.invalid_union_discriminator:e=`Invalid discriminator value. Expected ${de.joinValues(n.options)}`;break;case gt.invalid_enum_value:e=`Invalid enum value. Expected ${de.joinValues(n.options)}, received '${n.received}'`;break;case gt.invalid_arguments:e="Invalid function arguments";break;case gt.invalid_return_type:e="Invalid function return type";break;case gt.invalid_date:e="Invalid date";break;case gt.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(e=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(e=`${e} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?e=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?e=`Invalid input: must end with "${n.validation.endsWith}"`:de.assertNever(n.validation):n.validation!=="regex"?e=`Invalid ${n.validation}`:e="Invalid";break;case gt.too_small:n.type==="array"?e=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?e=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?e=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?e=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:e="Invalid input";break;case gt.too_big:n.type==="array"?e=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?e=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?e=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?e=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?e=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:e="Invalid input";break;case gt.custom:e="Invalid input";break;case gt.invalid_intersection_types:e="Intersection results could not be merged";break;case gt.not_multiple_of:e=`Number must be a multiple of ${n.multipleOf}`;break;case gt.not_finite:e="Number must be finite";break;default:e=t.defaultError,de.assertNever(n)}return{message:e}};let O_=Gc;function Y8(n){O_=n}function Bd(){return O_}const Pd=n=>{const{data:t,path:e,errorMaps:r,issueData:i}=n,s=[...e,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="";const u=r.filter(f=>!!f).slice().reverse();for(const f of u)a=f(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}},J8=[];function At(n,t){const e=Bd(),r=Pd({issueData:t,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,e,e===Gc?void 0:Gc].filter(i=>!!i)});n.common.issues.push(r)}class tr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,e){const r=[];for(const i of e){if(i.status==="aborted")return Vt;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,e){const r=[];for(const i of e){const s=await i.key,o=await i.value;r.push({key:s,value:o})}return tr.mergeObjectSync(t,r)}static mergeObjectSync(t,e){const r={};for(const i of e){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Vt;s.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[s.value]=o.value)}return{status:t.value,value:r}}}const Vt=Object.freeze({status:"aborted"}),Vc=n=>({status:"dirty",value:n}),fr=n=>({status:"valid",value:n}),Tg=n=>n.status==="aborted",Og=n=>n.status==="dirty",pa=n=>n.status==="valid",nf=n=>typeof Promise<"u"&&n instanceof Promise;function Md(n,t,e,r){if(typeof t=="function"?n!==t||!r:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(n)}function N_(n,t,e,r,i){if(typeof t=="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(n,e),e}typeof SuppressedError=="function"&&SuppressedError;var Bt;(function(n){n.errToObj=t=>typeof t=="string"?{message:t}:t||{},n.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Bt||(Bt={}));var rf,sf;class Li{constructor(t,e,r,i){this._cachedPath=[],this.parent=t,this.data=e,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const C_=(n,t)=>{if(pa(t))return{success:!0,data:t.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const e=new Lr(n.common.issues);return this._error=e,this._error}}};function Qt(n){if(!n)return{};const{errorMap:t,invalid_type_error:e,required_error:r,description:i}=n;if(t&&(e||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,a)=>{var u,f;const{message:h}=n;return o.code==="invalid_enum_value"?{message:h??a.defaultError}:typeof a.data>"u"?{message:(u=h??r)!==null&&u!==void 0?u:a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:(f=h??e)!==null&&f!==void 0?f:a.defaultError}},description:i}}class Jt{get description(){return this._def.description}_getType(t){return ws(t.data)}_getOrReturnCtx(t,e){return e||{common:t.parent.common,data:t.data,parsedType:ws(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new tr,ctx:{common:t.parent.common,data:t.data,parsedType:ws(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const e=this._parse(t);if(nf(e))throw new Error("Synchronous parse encountered promise.");return e}_parseAsync(t){const e=this._parse(t);return Promise.resolve(e)}parse(t,e){const r=this.safeParse(t,e);if(r.success)return r.data;throw r.error}safeParse(t,e){var r;const i={common:{issues:[],async:(r=e==null?void 0:e.async)!==null&&r!==void 0?r:!1,contextualErrorMap:e==null?void 0:e.errorMap},path:(e==null?void 0:e.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ws(t)},s=this._parseSync({data:t,path:i.path,parent:i});return C_(i,s)}"~validate"(t){var e,r;const i={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ws(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:i});return pa(s)?{value:s.value}:{issues:i.common.issues}}catch(s){!((r=(e=s==null?void 0:s.message)===null||e===void 0?void 0:e.toLowerCase())===null||r===void 0)&&r.includes("encountered")&&(this["~standard"].async=!0),i.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:i}).then(s=>pa(s)?{value:s.value}:{issues:i.common.issues})}async parseAsync(t,e){const r=await this.safeParseAsync(t,e);if(r.success)return r.data;throw r.error}async safeParseAsync(t,e){const r={common:{issues:[],contextualErrorMap:e==null?void 0:e.errorMap,async:!0},path:(e==null?void 0:e.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ws(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(nf(i)?i:Promise.resolve(i));return C_(r,s)}refine(t,e){const r=i=>typeof e=="string"||typeof e>"u"?{message:e}:typeof e=="function"?e(i):e;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:gt.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(u=>u?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,e){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof e=="function"?e(r,i):e),!1))}_refinement(t){return new mi({schema:this,typeName:zt.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Di.create(this,this._def)}nullable(){return fo.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return yi.create(this)}promise(){return Zc.create(this,this._def)}or(t){return uf.create([this,t],this._def)}and(t){return lf.create(this,t,this._def)}transform(t){return new mi({...Qt(this._def),schema:this,typeName:zt.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const e=typeof t=="function"?t:()=>t;return new gf({...Qt(this._def),innerType:this,defaultValue:e,typeName:zt.ZodDefault})}brand(){return new Bg({typeName:zt.ZodBranded,type:this,...Qt(this._def)})}catch(t){const e=typeof t=="function"?t:()=>t;return new yf({...Qt(this._def),innerType:this,catchValue:e,typeName:zt.ZodCatch})}describe(t){const e=this.constructor;return new e({...this._def,description:t})}pipe(t){return mf.create(this,t)}readonly(){return wf.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const X8=/^c[^\s-]{8,}$/i,t5=/^[0-9a-z]+$/,e5=/^[0-9A-HJKMNP-TV-Z]{26}$/i,n5=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,r5=/^[a-z0-9_-]{21}$/i,i5=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,s5=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,o5=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,a5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Ng;const c5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,u5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,l5=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,f5=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,h5=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,d5=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,B_="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",p5=new RegExp(`^${B_}$`);function P_(n){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return n.precision?t=`${t}\\.\\d{${n.precision}}`:n.precision==null&&(t=`${t}(\\.\\d+)?`),t}function g5(n){return new RegExp(`^${P_(n)}$`)}function M_(n){let t=`${B_}T${P_(n)}`;const e=[];return e.push(n.local?"Z?":"Z"),n.offset&&e.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${e.join("|")})`,new RegExp(`^${t}$`)}function y5(n,t){return!!((t==="v4"||!t)&&c5.test(n)||(t==="v6"||!t)&&l5.test(n))}function m5(n,t){if(!i5.test(n))return!1;try{const[e]=n.split("."),r=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(4-e.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||!i.typ||!i.alg||t&&i.alg!==t)}catch{return!1}}function w5(n,t){return!!((t==="v4"||!t)&&u5.test(n)||(t==="v6"||!t)&&f5.test(n))}class gi extends Jt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==It.string){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_type,expected:It.string,received:s.parsedType}),Vt}const r=new tr;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),At(i,{code:gt.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),At(i,{code:gt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?At(i,{code:gt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&At(i,{code:gt.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")o5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"email",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Ng||(Ng=new RegExp(a5,"u")),Ng.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"emoji",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")n5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"uuid",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")r5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"nanoid",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")X8.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"cuid",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")t5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"cuid2",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")e5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"ulid",code:gt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),At(i,{validation:"url",code:gt.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"regex",code:gt.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?M_(s).test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?p5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?g5(s).test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?s5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"duration",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?y5(t.data,s.version)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"ip",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?m5(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"jwt",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?w5(t.data,s.version)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"cidr",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?h5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"base64",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?d5.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"base64url",code:gt.invalid_string,message:s.message}),r.dirty()):de.assertNever(s);return{status:r.value,value:t.data}}_regex(t,e,r){return this.refinement(i=>t.test(i),{validation:e,code:gt.invalid_string,...Bt.errToObj(r)})}_addCheck(t){return new gi({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...Bt.errToObj(t)})}url(t){return this._addCheck({kind:"url",...Bt.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...Bt.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...Bt.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...Bt.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...Bt.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...Bt.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...Bt.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...Bt.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...Bt.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...Bt.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...Bt.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...Bt.errToObj(t)})}datetime(t){var e,r;return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(e=t==null?void 0:t.offset)!==null&&e!==void 0?e:!1,local:(r=t==null?void 0:t.local)!==null&&r!==void 0?r:!1,...Bt.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...Bt.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...Bt.errToObj(t)})}regex(t,e){return this._addCheck({kind:"regex",regex:t,...Bt.errToObj(e)})}includes(t,e){return this._addCheck({kind:"includes",value:t,position:e==null?void 0:e.position,...Bt.errToObj(e==null?void 0:e.message)})}startsWith(t,e){return this._addCheck({kind:"startsWith",value:t,...Bt.errToObj(e)})}endsWith(t,e){return this._addCheck({kind:"endsWith",value:t,...Bt.errToObj(e)})}min(t,e){return this._addCheck({kind:"min",value:t,...Bt.errToObj(e)})}max(t,e){return this._addCheck({kind:"max",value:t,...Bt.errToObj(e)})}length(t,e){return this._addCheck({kind:"length",value:t,...Bt.errToObj(e)})}nonempty(t){return this.min(1,Bt.errToObj(t))}trim(){return new gi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new gi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new gi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const e of this._def.checks)e.kind==="min"&&(t===null||e.value>t)&&(t=e.value);return t}get maxLength(){let t=null;for(const e of this._def.checks)e.kind==="max"&&(t===null||e.value<t)&&(t=e.value);return t}}gi.create=n=>{var t;return new gi({checks:[],typeName:zt.ZodString,coerce:(t=n==null?void 0:n.coerce)!==null&&t!==void 0?t:!1,...Qt(n)})};function b5(n,t){const e=(n.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=e>r?e:r,s=parseInt(n.toFixed(i).replace(".","")),o=parseInt(t.toFixed(i).replace(".",""));return s%o/Math.pow(10,i)}class co extends Jt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==It.number){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_type,expected:It.number,received:s.parsedType}),Vt}let r;const i=new tr;for(const s of this._def.checks)s.kind==="int"?de.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),At(r,{code:gt.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),At(r,{code:gt.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),At(r,{code:gt.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?b5(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),At(r,{code:gt.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),At(r,{code:gt.not_finite,message:s.message}),i.dirty()):de.assertNever(s);return{status:i.value,value:t.data}}gte(t,e){return this.setLimit("min",t,!0,Bt.toString(e))}gt(t,e){return this.setLimit("min",t,!1,Bt.toString(e))}lte(t,e){return this.setLimit("max",t,!0,Bt.toString(e))}lt(t,e){return this.setLimit("max",t,!1,Bt.toString(e))}setLimit(t,e,r,i){return new co({...this._def,checks:[...this._def.checks,{kind:t,value:e,inclusive:r,message:Bt.toString(i)}]})}_addCheck(t){return new co({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Bt.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Bt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Bt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Bt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Bt.toString(t)})}multipleOf(t,e){return this._addCheck({kind:"multipleOf",value:t,message:Bt.toString(e)})}finite(t){return this._addCheck({kind:"finite",message:Bt.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Bt.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Bt.toString(t)})}get minValue(){let t=null;for(const e of this._def.checks)e.kind==="min"&&(t===null||e.value>t)&&(t=e.value);return t}get maxValue(){let t=null;for(const e of this._def.checks)e.kind==="max"&&(t===null||e.value<t)&&(t=e.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&de.isInteger(t.value))}get isFinite(){let t=null,e=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(e===null||r.value>e)&&(e=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(e)&&Number.isFinite(t)}}co.create=n=>new co({checks:[],typeName:zt.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...Qt(n)});class uo extends Jt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==It.bigint)return this._getInvalidInput(t);let r;const i=new tr;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),At(r,{code:gt.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),At(r,{code:gt.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),At(r,{code:gt.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):de.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const e=this._getOrReturnCtx(t);return At(e,{code:gt.invalid_type,expected:It.bigint,received:e.parsedType}),Vt}gte(t,e){return this.setLimit("min",t,!0,Bt.toString(e))}gt(t,e){return this.setLimit("min",t,!1,Bt.toString(e))}lte(t,e){return this.setLimit("max",t,!0,Bt.toString(e))}lt(t,e){return this.setLimit("max",t,!1,Bt.toString(e))}setLimit(t,e,r,i){return new uo({...this._def,checks:[...this._def.checks,{kind:t,value:e,inclusive:r,message:Bt.toString(i)}]})}_addCheck(t){return new uo({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Bt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Bt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Bt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Bt.toString(t)})}multipleOf(t,e){return this._addCheck({kind:"multipleOf",value:t,message:Bt.toString(e)})}get minValue(){let t=null;for(const e of this._def.checks)e.kind==="min"&&(t===null||e.value>t)&&(t=e.value);return t}get maxValue(){let t=null;for(const e of this._def.checks)e.kind==="max"&&(t===null||e.value<t)&&(t=e.value);return t}}uo.create=n=>{var t;return new uo({checks:[],typeName:zt.ZodBigInt,coerce:(t=n==null?void 0:n.coerce)!==null&&t!==void 0?t:!1,...Qt(n)})};class of extends Jt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==It.boolean){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:It.boolean,received:r.parsedType}),Vt}return fr(t.data)}}of.create=n=>new of({typeName:zt.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...Qt(n)});class ga extends Jt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==It.date){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_type,expected:It.date,received:s.parsedType}),Vt}if(isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_date}),Vt}const r=new tr;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),At(i,{code:gt.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),At(i,{code:gt.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):de.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ga({...this._def,checks:[...this._def.checks,t]})}min(t,e){return this._addCheck({kind:"min",value:t.getTime(),message:Bt.toString(e)})}max(t,e){return this._addCheck({kind:"max",value:t.getTime(),message:Bt.toString(e)})}get minDate(){let t=null;for(const e of this._def.checks)e.kind==="min"&&(t===null||e.value>t)&&(t=e.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const e of this._def.checks)e.kind==="max"&&(t===null||e.value<t)&&(t=e.value);return t!=null?new Date(t):null}}ga.create=n=>new ga({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:zt.ZodDate,...Qt(n)});class Ld extends Jt{_parse(t){if(this._getType(t)!==It.symbol){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:It.symbol,received:r.parsedType}),Vt}return fr(t.data)}}Ld.create=n=>new Ld({typeName:zt.ZodSymbol,...Qt(n)});class af extends Jt{_parse(t){if(this._getType(t)!==It.undefined){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:It.undefined,received:r.parsedType}),Vt}return fr(t.data)}}af.create=n=>new af({typeName:zt.ZodUndefined,...Qt(n)});class cf extends Jt{_parse(t){if(this._getType(t)!==It.null){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:It.null,received:r.parsedType}),Vt}return fr(t.data)}}cf.create=n=>new cf({typeName:zt.ZodNull,...Qt(n)});class Kc extends Jt{constructor(){super(...arguments),this._any=!0}_parse(t){return fr(t.data)}}Kc.create=n=>new Kc({typeName:zt.ZodAny,...Qt(n)});class ya extends Jt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return fr(t.data)}}ya.create=n=>new ya({typeName:zt.ZodUnknown,...Qt(n)});class bs extends Jt{_parse(t){const e=this._getOrReturnCtx(t);return At(e,{code:gt.invalid_type,expected:It.never,received:e.parsedType}),Vt}}bs.create=n=>new bs({typeName:zt.ZodNever,...Qt(n)});class Ud extends Jt{_parse(t){if(this._getType(t)!==It.undefined){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:It.void,received:r.parsedType}),Vt}return fr(t.data)}}Ud.create=n=>new Ud({typeName:zt.ZodVoid,...Qt(n)});class yi extends Jt{_parse(t){const{ctx:e,status:r}=this._processInputParams(t),i=this._def;if(e.parsedType!==It.array)return At(e,{code:gt.invalid_type,expected:It.array,received:e.parsedType}),Vt;if(i.exactLength!==null){const o=e.data.length>i.exactLength.value,a=e.data.length<i.exactLength.value;(o||a)&&(At(e,{code:o?gt.too_big:gt.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&e.data.length<i.minLength.value&&(At(e,{code:gt.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&e.data.length>i.maxLength.value&&(At(e,{code:gt.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),e.common.async)return Promise.all([...e.data].map((o,a)=>i.type._parseAsync(new Li(e,o,e.path,a)))).then(o=>tr.mergeArray(r,o));const s=[...e.data].map((o,a)=>i.type._parseSync(new Li(e,o,e.path,a)));return tr.mergeArray(r,s)}get element(){return this._def.type}min(t,e){return new yi({...this._def,minLength:{value:t,message:Bt.toString(e)}})}max(t,e){return new yi({...this._def,maxLength:{value:t,message:Bt.toString(e)}})}length(t,e){return new yi({...this._def,exactLength:{value:t,message:Bt.toString(e)}})}nonempty(t){return this.min(1,t)}}yi.create=(n,t)=>new yi({type:n,minLength:null,maxLength:null,exactLength:null,typeName:zt.ZodArray,...Qt(t)});function jc(n){if(n instanceof Xe){const t={};for(const e in n.shape){const r=n.shape[e];t[e]=Di.create(jc(r))}return new Xe({...n._def,shape:()=>t})}else return n instanceof yi?new yi({...n._def,type:jc(n.element)}):n instanceof Di?Di.create(jc(n.unwrap())):n instanceof fo?fo.create(jc(n.unwrap())):n instanceof Ui?Ui.create(n.items.map(t=>jc(t))):n}class Xe extends Jt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),e=de.objectKeys(t);return this._cached={shape:t,keys:e}}_parse(t){if(this._getType(t)!==It.object){const f=this._getOrReturnCtx(t);return At(f,{code:gt.invalid_type,expected:It.object,received:f.parsedType}),Vt}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof bs&&this._def.unknownKeys==="strip"))for(const f in i.data)o.includes(f)||a.push(f);const u=[];for(const f of o){const h=s[f],y=i.data[f];u.push({key:{status:"valid",value:f},value:h._parse(new Li(i,y,i.path,f)),alwaysSet:f in i.data})}if(this._def.catchall instanceof bs){const f=this._def.unknownKeys;if(f==="passthrough")for(const h of a)u.push({key:{status:"valid",value:h},value:{status:"valid",value:i.data[h]}});else if(f==="strict")a.length>0&&(At(i,{code:gt.unrecognized_keys,keys:a}),r.dirty());else if(f!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const f=this._def.catchall;for(const h of a){const y=i.data[h];u.push({key:{status:"valid",value:h},value:f._parse(new Li(i,y,i.path,h)),alwaysSet:h in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const f=[];for(const h of u){const y=await h.key,_=await h.value;f.push({key:y,value:_,alwaysSet:h.alwaysSet})}return f}).then(f=>tr.mergeObjectSync(r,f)):tr.mergeObjectSync(r,u)}get shape(){return this._def.shape()}strict(t){return Bt.errToObj,new Xe({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(e,r)=>{var i,s,o,a;const u=(o=(s=(i=this._def).errorMap)===null||s===void 0?void 0:s.call(i,e,r).message)!==null&&o!==void 0?o:r.defaultError;return e.code==="unrecognized_keys"?{message:(a=Bt.errToObj(t).message)!==null&&a!==void 0?a:u}:{message:u}}}:{}})}strip(){return new Xe({...this._def,unknownKeys:"strip"})}passthrough(){return new Xe({...this._def,unknownKeys:"passthrough"})}extend(t){return new Xe({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Xe({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:zt.ZodObject})}setKey(t,e){return this.augment({[t]:e})}catchall(t){return new Xe({...this._def,catchall:t})}pick(t){const e={};return de.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(e[r]=this.shape[r])}),new Xe({...this._def,shape:()=>e})}omit(t){const e={};return de.objectKeys(this.shape).forEach(r=>{t[r]||(e[r]=this.shape[r])}),new Xe({...this._def,shape:()=>e})}deepPartial(){return jc(this)}partial(t){const e={};return de.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?e[r]=i:e[r]=i.optional()}),new Xe({...this._def,shape:()=>e})}required(t){const e={};return de.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])e[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Di;)s=s._def.innerType;e[r]=s}}),new Xe({...this._def,shape:()=>e})}keyof(){return L_(de.objectKeys(this.shape))}}Xe.create=(n,t)=>new Xe({shape:()=>n,unknownKeys:"strip",catchall:bs.create(),typeName:zt.ZodObject,...Qt(t)}),Xe.strictCreate=(n,t)=>new Xe({shape:()=>n,unknownKeys:"strict",catchall:bs.create(),typeName:zt.ZodObject,...Qt(t)}),Xe.lazycreate=(n,t)=>new Xe({shape:n,unknownKeys:"strip",catchall:bs.create(),typeName:zt.ZodObject,...Qt(t)});class uf extends Jt{_parse(t){const{ctx:e}=this._processInputParams(t),r=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return e.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new Lr(a.ctx.common.issues));return At(e,{code:gt.invalid_union,unionErrors:o}),Vt}if(e.common.async)return Promise.all(r.map(async s=>{const o={...e,common:{...e.common,issues:[]},parent:null};return{result:await s._parseAsync({data:e.data,path:e.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const u of r){const f={...e,common:{...e.common,issues:[]},parent:null},h=u._parseSync({data:e.data,path:e.path,parent:f});if(h.status==="valid")return h;h.status==="dirty"&&!s&&(s={result:h,ctx:f}),f.common.issues.length&&o.push(f.common.issues)}if(s)return e.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(u=>new Lr(u));return At(e,{code:gt.invalid_union,unionErrors:a}),Vt}}get options(){return this._def.options}}uf.create=(n,t)=>new uf({options:n,typeName:zt.ZodUnion,...Qt(t)});const _s=n=>n instanceof hf?_s(n.schema):n instanceof mi?_s(n.innerType()):n instanceof df?[n.value]:n instanceof lo?n.options:n instanceof pf?de.objectValues(n.enum):n instanceof gf?_s(n._def.innerType):n instanceof af?[void 0]:n instanceof cf?[null]:n instanceof Di?[void 0,..._s(n.unwrap())]:n instanceof fo?[null,..._s(n.unwrap())]:n instanceof Bg||n instanceof wf?_s(n.unwrap()):n instanceof yf?_s(n._def.innerType):[];class Dd extends Jt{_parse(t){const{ctx:e}=this._processInputParams(t);if(e.parsedType!==It.object)return At(e,{code:gt.invalid_type,expected:It.object,received:e.parsedType}),Vt;const r=this.discriminator,i=e.data[r],s=this.optionsMap.get(i);return s?e.common.async?s._parseAsync({data:e.data,path:e.path,parent:e}):s._parseSync({data:e.data,path:e.path,parent:e}):(At(e,{code:gt.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Vt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,e,r){const i=new Map;for(const s of e){const o=_s(s.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of o){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,s)}}return new Dd({typeName:zt.ZodDiscriminatedUnion,discriminator:t,options:e,optionsMap:i,...Qt(r)})}}function Cg(n,t){const e=ws(n),r=ws(t);if(n===t)return{valid:!0,data:n};if(e===It.object&&r===It.object){const i=de.objectKeys(t),s=de.objectKeys(n).filter(a=>i.indexOf(a)!==-1),o={...n,...t};for(const a of s){const u=Cg(n[a],t[a]);if(!u.valid)return{valid:!1};o[a]=u.data}return{valid:!0,data:o}}else if(e===It.array&&r===It.array){if(n.length!==t.length)return{valid:!1};const i=[];for(let s=0;s<n.length;s++){const o=n[s],a=t[s],u=Cg(o,a);if(!u.valid)return{valid:!1};i.push(u.data)}return{valid:!0,data:i}}else return e===It.date&&r===It.date&&+n==+t?{valid:!0,data:n}:{valid:!1}}class lf extends Jt{_parse(t){const{status:e,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(Tg(s)||Tg(o))return Vt;const a=Cg(s.value,o.value);return a.valid?((Og(s)||Og(o))&&e.dirty(),{status:e.value,value:a.data}):(At(r,{code:gt.invalid_intersection_types}),Vt)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}lf.create=(n,t,e)=>new lf({left:n,right:t,typeName:zt.ZodIntersection,...Qt(e)});class Ui extends Jt{_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.parsedType!==It.array)return At(r,{code:gt.invalid_type,expected:It.array,received:r.parsedType}),Vt;if(r.data.length<this._def.items.length)return At(r,{code:gt.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Vt;!this._def.rest&&r.data.length>this._def.items.length&&(At(r,{code:gt.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),e.dirty());const s=[...r.data].map((o,a)=>{const u=this._def.items[a]||this._def.rest;return u?u._parse(new Li(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>tr.mergeArray(e,o)):tr.mergeArray(e,s)}get items(){return this._def.items}rest(t){return new Ui({...this._def,rest:t})}}Ui.create=(n,t)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ui({items:n,typeName:zt.ZodTuple,rest:null,...Qt(t)})};class ff extends Jt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.parsedType!==It.object)return At(r,{code:gt.invalid_type,expected:It.object,received:r.parsedType}),Vt;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in r.data)i.push({key:s._parse(new Li(r,a,r.path,a)),value:o._parse(new Li(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?tr.mergeObjectAsync(e,i):tr.mergeObjectSync(e,i)}get element(){return this._def.valueType}static create(t,e,r){return e instanceof Jt?new ff({keyType:t,valueType:e,typeName:zt.ZodRecord,...Qt(r)}):new ff({keyType:gi.create(),valueType:t,typeName:zt.ZodRecord,...Qt(e)})}}class Fd extends Jt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.parsedType!==It.map)return At(r,{code:gt.invalid_type,expected:It.map,received:r.parsedType}),Vt;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,u],f)=>({key:i._parse(new Li(r,a,r.path,[f,"key"])),value:s._parse(new Li(r,u,r.path,[f,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const u of o){const f=await u.key,h=await u.value;if(f.status==="aborted"||h.status==="aborted")return Vt;(f.status==="dirty"||h.status==="dirty")&&e.dirty(),a.set(f.value,h.value)}return{status:e.value,value:a}})}else{const a=new Map;for(const u of o){const f=u.key,h=u.value;if(f.status==="aborted"||h.status==="aborted")return Vt;(f.status==="dirty"||h.status==="dirty")&&e.dirty(),a.set(f.value,h.value)}return{status:e.value,value:a}}}}Fd.create=(n,t,e)=>new Fd({valueType:t,keyType:n,typeName:zt.ZodMap,...Qt(e)});class ma extends Jt{_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.parsedType!==It.set)return At(r,{code:gt.invalid_type,expected:It.set,received:r.parsedType}),Vt;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(At(r,{code:gt.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),e.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(At(r,{code:gt.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),e.dirty());const s=this._def.valueType;function o(u){const f=new Set;for(const h of u){if(h.status==="aborted")return Vt;h.status==="dirty"&&e.dirty(),f.add(h.value)}return{status:e.value,value:f}}const a=[...r.data.values()].map((u,f)=>s._parse(new Li(r,u,r.path,f)));return r.common.async?Promise.all(a).then(u=>o(u)):o(a)}min(t,e){return new ma({...this._def,minSize:{value:t,message:Bt.toString(e)}})}max(t,e){return new ma({...this._def,maxSize:{value:t,message:Bt.toString(e)}})}size(t,e){return this.min(t,e).max(t,e)}nonempty(t){return this.min(1,t)}}ma.create=(n,t)=>new ma({valueType:n,minSize:null,maxSize:null,typeName:zt.ZodSet,...Qt(t)});class Wc extends Jt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:e}=this._processInputParams(t);if(e.parsedType!==It.function)return At(e,{code:gt.invalid_type,expected:It.function,received:e.parsedType}),Vt;function r(a,u){return Pd({data:a,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Bd(),Gc].filter(f=>!!f),issueData:{code:gt.invalid_arguments,argumentsError:u}})}function i(a,u){return Pd({data:a,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Bd(),Gc].filter(f=>!!f),issueData:{code:gt.invalid_return_type,returnTypeError:u}})}const s={errorMap:e.common.contextualErrorMap},o=e.data;if(this._def.returns instanceof Zc){const a=this;return fr(async function(...u){const f=new Lr([]),h=await a._def.args.parseAsync(u,s).catch(w=>{throw f.addIssue(r(u,w)),f}),y=await Reflect.apply(o,this,h);return await a._def.returns._def.type.parseAsync(y,s).catch(w=>{throw f.addIssue(i(y,w)),f})})}else{const a=this;return fr(function(...u){const f=a._def.args.safeParse(u,s);if(!f.success)throw new Lr([r(u,f.error)]);const h=Reflect.apply(o,this,f.data),y=a._def.returns.safeParse(h,s);if(!y.success)throw new Lr([i(h,y.error)]);return y.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Wc({...this._def,args:Ui.create(t).rest(ya.create())})}returns(t){return new Wc({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,e,r){return new Wc({args:t||Ui.create([]).rest(ya.create()),returns:e||ya.create(),typeName:zt.ZodFunction,...Qt(r)})}}class hf extends Jt{get schema(){return this._def.getter()}_parse(t){const{ctx:e}=this._processInputParams(t);return this._def.getter()._parse({data:e.data,path:e.path,parent:e})}}hf.create=(n,t)=>new hf({getter:n,typeName:zt.ZodLazy,...Qt(t)});class df extends Jt{_parse(t){if(t.data!==this._def.value){const e=this._getOrReturnCtx(t);return At(e,{received:e.data,code:gt.invalid_literal,expected:this._def.value}),Vt}return{status:"valid",value:t.data}}get value(){return this._def.value}}df.create=(n,t)=>new df({value:n,typeName:zt.ZodLiteral,...Qt(t)});function L_(n,t){return new lo({values:n,typeName:zt.ZodEnum,...Qt(t)})}class lo extends Jt{constructor(){super(...arguments),rf.set(this,void 0)}_parse(t){if(typeof t.data!="string"){const e=this._getOrReturnCtx(t),r=this._def.values;return At(e,{expected:de.joinValues(r),received:e.parsedType,code:gt.invalid_type}),Vt}if(Md(this,rf)||N_(this,rf,new Set(this._def.values)),!Md(this,rf).has(t.data)){const e=this._getOrReturnCtx(t),r=this._def.values;return At(e,{received:e.data,code:gt.invalid_enum_value,options:r}),Vt}return fr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const e of this._def.values)t[e]=e;return t}get Values(){const t={};for(const e of this._def.values)t[e]=e;return t}get Enum(){const t={};for(const e of this._def.values)t[e]=e;return t}extract(t,e=this._def){return lo.create(t,{...this._def,...e})}exclude(t,e=this._def){return lo.create(this.options.filter(r=>!t.includes(r)),{...this._def,...e})}}rf=new WeakMap,lo.create=L_;class pf extends Jt{constructor(){super(...arguments),sf.set(this,void 0)}_parse(t){const e=de.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==It.string&&r.parsedType!==It.number){const i=de.objectValues(e);return At(r,{expected:de.joinValues(i),received:r.parsedType,code:gt.invalid_type}),Vt}if(Md(this,sf)||N_(this,sf,new Set(de.getValidEnumValues(this._def.values))),!Md(this,sf).has(t.data)){const i=de.objectValues(e);return At(r,{received:r.data,code:gt.invalid_enum_value,options:i}),Vt}return fr(t.data)}get enum(){return this._def.values}}sf=new WeakMap,pf.create=(n,t)=>new pf({values:n,typeName:zt.ZodNativeEnum,...Qt(t)});class Zc extends Jt{unwrap(){return this._def.type}_parse(t){const{ctx:e}=this._processInputParams(t);if(e.parsedType!==It.promise&&e.common.async===!1)return At(e,{code:gt.invalid_type,expected:It.promise,received:e.parsedType}),Vt;const r=e.parsedType===It.promise?e.data:Promise.resolve(e.data);return fr(r.then(i=>this._def.type.parseAsync(i,{path:e.path,errorMap:e.common.contextualErrorMap})))}}Zc.create=(n,t)=>new Zc({type:n,typeName:zt.ZodPromise,...Qt(t)});class mi extends Jt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===zt.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:e,ctx:r}=this._processInputParams(t),i=this._def.effect||null,s={addIssue:o=>{At(r,o),o.fatal?e.abort():e.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async a=>{if(e.value==="aborted")return Vt;const u=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return u.status==="aborted"?Vt:u.status==="dirty"||e.value==="dirty"?Vc(u.value):u});{if(e.value==="aborted")return Vt;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?Vt:a.status==="dirty"||e.value==="dirty"?Vc(a.value):a}}if(i.type==="refinement"){const o=a=>{const u=i.refinement(a,s);if(r.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Vt:(a.status==="dirty"&&e.dirty(),o(a.value),{status:e.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Vt:(a.status==="dirty"&&e.dirty(),o(a.value).then(()=>({status:e.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!pa(o))return o;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:e.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>pa(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:e.value,value:a})):o);de.assertNever(i)}}mi.create=(n,t,e)=>new mi({schema:n,typeName:zt.ZodEffects,effect:t,...Qt(e)}),mi.createWithPreprocess=(n,t,e)=>new mi({schema:t,effect:{type:"preprocess",transform:n},typeName:zt.ZodEffects,...Qt(e)});class Di extends Jt{_parse(t){return this._getType(t)===It.undefined?fr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Di.create=(n,t)=>new Di({innerType:n,typeName:zt.ZodOptional,...Qt(t)});class fo extends Jt{_parse(t){return this._getType(t)===It.null?fr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}fo.create=(n,t)=>new fo({innerType:n,typeName:zt.ZodNullable,...Qt(t)});class gf extends Jt{_parse(t){const{ctx:e}=this._processInputParams(t);let r=e.data;return e.parsedType===It.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:e.path,parent:e})}removeDefault(){return this._def.innerType}}gf.create=(n,t)=>new gf({innerType:n,typeName:zt.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qt(t)});class yf extends Jt{_parse(t){const{ctx:e}=this._processInputParams(t),r={...e,common:{...e.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return nf(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Lr(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Lr(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}yf.create=(n,t)=>new yf({innerType:n,typeName:zt.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qt(t)});class $d extends Jt{_parse(t){if(this._getType(t)!==It.nan){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:It.nan,received:r.parsedType}),Vt}return{status:"valid",value:t.data}}}$d.create=n=>new $d({typeName:zt.ZodNaN,...Qt(n)});const _5=Symbol("zod_brand");class Bg extends Jt{_parse(t){const{ctx:e}=this._processInputParams(t),r=e.data;return this._def.type._parse({data:r,path:e.path,parent:e})}unwrap(){return this._def.type}}class mf extends Jt{_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Vt:s.status==="dirty"?(e.dirty(),Vc(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Vt:i.status==="dirty"?(e.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,e){return new mf({in:t,out:e,typeName:zt.ZodPipeline})}}class wf extends Jt{_parse(t){const e=this._def.innerType._parse(t),r=i=>(pa(i)&&(i.value=Object.freeze(i.value)),i);return nf(e)?e.then(i=>r(i)):r(e)}unwrap(){return this._def.innerType}}wf.create=(n,t)=>new wf({innerType:n,typeName:zt.ZodReadonly,...Qt(t)});function U_(n,t={},e){return n?Kc.create().superRefine((r,i)=>{var s,o;if(!n(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,u=(o=(s=a.fatal)!==null&&s!==void 0?s:e)!==null&&o!==void 0?o:!0,f=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...f,fatal:u})}}):Kc.create()}const A5={object:Xe.lazycreate};var zt;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(zt||(zt={}));const E5=(n,t={message:`Input not instance of ${n.name}`})=>U_(e=>e instanceof n,t),D_=gi.create,F_=co.create,v5=$d.create,x5=uo.create,$_=of.create,R5=ga.create,I5=Ld.create,S5=af.create,k5=cf.create,T5=Kc.create,O5=ya.create,N5=bs.create,C5=Ud.create,B5=yi.create,P5=Xe.create,M5=Xe.strictCreate,L5=uf.create,U5=Dd.create,D5=lf.create,F5=Ui.create,$5=ff.create,H5=Fd.create,z5=ma.create,G5=Wc.create,V5=hf.create,K5=df.create,j5=lo.create,W5=pf.create,Z5=Zc.create,H_=mi.create,q5=Di.create,Q5=fo.create,Y5=mi.createWithPreprocess,J5=mf.create;var ho=Object.freeze({__proto__:null,defaultErrorMap:Gc,setErrorMap:Y8,getErrorMap:Bd,makeIssue:Pd,EMPTY_PATH:J8,addIssueToContext:At,ParseStatus:tr,INVALID:Vt,DIRTY:Vc,OK:fr,isAborted:Tg,isDirty:Og,isValid:pa,isAsync:nf,get util(){return de},get objectUtil(){return kg},ZodParsedType:It,getParsedType:ws,ZodType:Jt,datetimeRegex:M_,ZodString:gi,ZodNumber:co,ZodBigInt:uo,ZodBoolean:of,ZodDate:ga,ZodSymbol:Ld,ZodUndefined:af,ZodNull:cf,ZodAny:Kc,ZodUnknown:ya,ZodNever:bs,ZodVoid:Ud,ZodArray:yi,ZodObject:Xe,ZodUnion:uf,ZodDiscriminatedUnion:Dd,ZodIntersection:lf,ZodTuple:Ui,ZodRecord:ff,ZodMap:Fd,ZodSet:ma,ZodFunction:Wc,ZodLazy:hf,ZodLiteral:df,ZodEnum:lo,ZodNativeEnum:pf,ZodPromise:Zc,ZodEffects:mi,ZodTransformer:mi,ZodOptional:Di,ZodNullable:fo,ZodDefault:gf,ZodCatch:yf,ZodNaN:$d,BRAND:_5,ZodBranded:Bg,ZodPipeline:mf,ZodReadonly:wf,custom:U_,Schema:Jt,ZodSchema:Jt,late:A5,get ZodFirstPartyTypeKind(){return zt},coerce:{string:n=>gi.create({...n,coerce:!0}),number:n=>co.create({...n,coerce:!0}),boolean:n=>of.create({...n,coerce:!0}),bigint:n=>uo.create({...n,coerce:!0}),date:n=>ga.create({...n,coerce:!0})},any:T5,array:B5,bigint:x5,boolean:$_,date:R5,discriminatedUnion:U5,effect:H_,enum:j5,function:G5,instanceof:E5,intersection:D5,lazy:V5,literal:K5,map:H5,nan:v5,nativeEnum:W5,never:N5,null:k5,nullable:Q5,number:F_,object:P5,oboolean:()=>$_().optional(),onumber:()=>F_().optional(),optional:q5,ostring:()=>D_().optional(),pipeline:J5,preprocess:Y5,promise:Z5,record:$5,set:z5,strictObject:M5,string:D_,symbol:I5,transformer:H_,tuple:F5,undefined:S5,union:L5,unknown:O5,void:C5,NEVER:Vt,ZodIssueCode:gt,quotelessJson:Q8,ZodError:Lr});const Pg=Mi.getInstance(),z_=ho.object({username:ho.string(),address:ho.string(),timestamp:ho.number(),index:ho.number(),signature:ho.string()}),X5=ho.object({topic:ho.string(),messageSender:z_});function tP(n){const t=X5.safeParse(n);return t.success?n.messageSender&&!eP(n.messageSender)?(console.warn("Invalid messageSender"),!1):!0:(Pg.warn(t.error.format()),!1)}function eP(n){const t=z_.safeParse(n);return t.success?nP(n):(Pg.warn(t.error.format()),!1)}function nP(n){try{const t={username:n.username,address:n.address,timestamp:n.timestamp},e=new TextEncoder,r=Xn.concatBytes(e.encode(`Ethereum Signed Message:
|
|
11
|
-
32`),Xn.keccak256(e.encode(JSON.stringify(t))));if(new xt.Signature(n.signature).isValid(r,n.address))throw new Error("Signature verification failed!");return!0}catch(t){return Pg.warn("Error in validateUserSignature",t),!1}}async function rP(n){const{condition:t,broadcast:e,maxRetries:r=2,initialDelayMs:i=2e3,checkIntervalMs:s=1e3,checkCount:o=10}=n;return new Promise((a,u)=>{let f=0;const h=async()=>{await k_(i);for(let y=0;y<o;y++){if(await Promise.resolve(t()))return a();await k_(s)}if(++f>=r)return u(new Error("Broadcast wait timeout"));console.warn(`Retrying broadcast... Attempt ${f} of ${r}`),await e(),h()};console.log("Starting broadcast..."),e().then(()=>h()).catch(u)})}const Ur={LOADING_INIT:"loadingInit",LOADING_PREVIOUS_MESSAGES:"loadingPreviousMessages",MESSAGE_RECEIVED:"messageReceived",MESSAGE_REQUEST_INITIATED:"messageRequestInitiated",MESSAGE_REQUEST_UPLOADED:"messageRequestUploaded",MESSAGE_REQUEST_ERROR:"messageRequestError",CRITICAL_ERROR:"criticalError"},iP=1e3;class sP{constructor(t,e){this.utils=t,this.emitter=e,this.logger=Mi.getInstance(),this.errorHandler=new Sg,this.historyIndex=null}async init(){try{const t=await this.utils.fetchLatestChatMessage();this.historyIndex=t.index,await this.fetchPreviousMessages()}catch(t){this.errorHandler.handleError(t,"SwarmHistory.init")}}async fetchPreviousMessages(t=10){try{if(!this.historyIndex){this.logger.warn("History index is not set. Cannot fetch previous messages.");return}if(this.historyIndex.toBigInt()===0n){this.logger.warn("No previous messages to fetch.");return}const e=this.historyIndex.toBigInt(),r=e>BigInt(t)?e-BigInt(t):0n;for(let i=e-1n;i>=r;i--){const s=await this.utils.fetchChatMessage(xt.FeedIndex.fromBigInt(i));if(this.emitter.emit(Ur.MESSAGE_RECEIVED,s),this.historyIndex=xt.FeedIndex.fromBigInt(i),i===0n)break}}catch(e){this.errorHandler.handleError(e,"SwarmHistory.fetchPreviousMessages")}}}const qc=globalThis||void 0||self;var Mg={},Hd={};Hd.byteLength=cP,Hd.toByteArray=lP,Hd.fromByteArray=dP;for(var Fi=[],Yr=[],oP=typeof Uint8Array<"u"?Uint8Array:Array,Lg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qc=0,aP=Lg.length;Qc<aP;++Qc)Fi[Qc]=Lg[Qc],Yr[Lg.charCodeAt(Qc)]=Qc;Yr[45]=62,Yr[95]=63;function G_(n){var t=n.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=n.indexOf("=");e===-1&&(e=t);var r=e===t?0:4-e%4;return[e,r]}function cP(n){var t=G_(n),e=t[0],r=t[1];return(e+r)*3/4-r}function uP(n,t,e){return(t+e)*3/4-e}function lP(n){var t,e=G_(n),r=e[0],i=e[1],s=new oP(uP(n,r,i)),o=0,a=i>0?r-4:r,u;for(u=0;u<a;u+=4)t=Yr[n.charCodeAt(u)]<<18|Yr[n.charCodeAt(u+1)]<<12|Yr[n.charCodeAt(u+2)]<<6|Yr[n.charCodeAt(u+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=Yr[n.charCodeAt(u)]<<2|Yr[n.charCodeAt(u+1)]>>4,s[o++]=t&255),i===1&&(t=Yr[n.charCodeAt(u)]<<10|Yr[n.charCodeAt(u+1)]<<4|Yr[n.charCodeAt(u+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function fP(n){return Fi[n>>18&63]+Fi[n>>12&63]+Fi[n>>6&63]+Fi[n&63]}function hP(n,t,e){for(var r,i=[],s=t;s<e;s+=3)r=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(n[s+2]&255),i.push(fP(r));return i.join("")}function dP(n){for(var t,e=n.length,r=e%3,i=[],s=16383,o=0,a=e-r;o<a;o+=s)i.push(hP(n,o,o+s>a?a:o+s));return r===1?(t=n[e-1],i.push(Fi[t>>2]+Fi[t<<4&63]+"==")):r===2&&(t=(n[e-2]<<8)+n[e-1],i.push(Fi[t>>10]+Fi[t>>4&63]+Fi[t<<2&63]+"=")),i.join("")}var Ug={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Ug.read=function(n,t,e,r,i){var s,o,a=i*8-r-1,u=(1<<a)-1,f=u>>1,h=-7,y=e?i-1:0,_=e?-1:1,w=n[t+y];for(y+=_,s=w&(1<<-h)-1,w>>=-h,h+=a;h>0;s=s*256+n[t+y],y+=_,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=r;h>0;o=o*256+n[t+y],y+=_,h-=8);if(s===0)s=1-f;else{if(s===u)return o?NaN:(w?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-f}return(w?-1:1)*o*Math.pow(2,s-r)},Ug.write=function(n,t,e,r,i,s){var o,a,u,f=s*8-i-1,h=(1<<f)-1,y=h>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=r?0:s-1,R=r?1:-1,T=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+y>=1?t+=_/u:t+=_*Math.pow(2,1-y),t*u>=2&&(o++,u/=2),o+y>=h?(a=0,o=h):o+y>=1?(a=(t*u-1)*Math.pow(2,i),o=o+y):(a=t*Math.pow(2,y-1)*Math.pow(2,i),o=0));i>=8;n[e+w]=a&255,w+=R,a/=256,i-=8);for(o=o<<i|a,f+=i;f>0;n[e+w]=o&255,w+=R,o/=256,f-=8);n[e+w-R]|=T*128};/*!
|
|
12
|
-
* The buffer module from node.js, for the browser.
|
|
13
|
-
*
|
|
14
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
15
|
-
* @license MIT
|
|
16
|
-
*/(function(n){const t=Hd,e=Ug,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=h,n.SlowBuffer=W,n.INSPECT_MAX_BYTES=50;const i=2147483647;n.kMaxLength=i;const{Uint8Array:s,ArrayBuffer:o,SharedArrayBuffer:a}=globalThis;h.TYPED_ARRAY_SUPPORT=u(),!h.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function u(){try{const O=new s(1),b={foo:function(){return 42}};return Object.setPrototypeOf(b,s.prototype),Object.setPrototypeOf(O,b),O.foo()===42}catch{return!1}}Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}});function f(O){if(O>i)throw new RangeError('The value "'+O+'" is invalid for option "size"');const b=new s(O);return Object.setPrototypeOf(b,h.prototype),b}function h(O,b,E){if(typeof O=="number"){if(typeof b=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return R(O)}return y(O,b,E)}h.poolSize=8192;function y(O,b,E){if(typeof O=="string")return T(O,b);if(o.isView(O))return B(O);if(O==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof O);if(on(O,o)||O&&on(O.buffer,o)||typeof a<"u"&&(on(O,a)||O&&on(O.buffer,a)))return H(O,b,E);if(typeof O=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const D=O.valueOf&&O.valueOf();if(D!=null&&D!==O)return h.from(D,b,E);const V=U(O);if(V)return V;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof O[Symbol.toPrimitive]=="function")return h.from(O[Symbol.toPrimitive]("string"),b,E);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof O)}h.from=function(O,b,E){return y(O,b,E)},Object.setPrototypeOf(h.prototype,s.prototype),Object.setPrototypeOf(h,s);function _(O){if(typeof O!="number")throw new TypeError('"size" argument must be of type number');if(O<0)throw new RangeError('The value "'+O+'" is invalid for option "size"')}function w(O,b,E){return _(O),O<=0?f(O):b!==void 0?typeof E=="string"?f(O).fill(b,E):f(O).fill(b):f(O)}h.alloc=function(O,b,E){return w(O,b,E)};function R(O){return _(O),f(O<0?0:G(O)|0)}h.allocUnsafe=function(O){return R(O)},h.allocUnsafeSlow=function(O){return R(O)};function T(O,b){if((typeof b!="string"||b==="")&&(b="utf8"),!h.isEncoding(b))throw new TypeError("Unknown encoding: "+b);const E=X(O,b)|0;let D=f(E);const V=D.write(O,b);return V!==E&&(D=D.slice(0,V)),D}function I(O){const b=O.length<0?0:G(O.length)|0,E=f(b);for(let D=0;D<b;D+=1)E[D]=O[D]&255;return E}function B(O){if(on(O,s)){const b=new s(O);return H(b.buffer,b.byteOffset,b.byteLength)}return I(O)}function H(O,b,E){if(b<0||O.byteLength<b)throw new RangeError('"offset" is outside of buffer bounds');if(O.byteLength<b+(E||0))throw new RangeError('"length" is outside of buffer bounds');let D;return b===void 0&&E===void 0?D=new s(O):E===void 0?D=new s(O,b):D=new s(O,b,E),Object.setPrototypeOf(D,h.prototype),D}function U(O){if(h.isBuffer(O)){const b=G(O.length)|0,E=f(b);return E.length===0||O.copy(E,0,0,b),E}if(O.length!==void 0)return typeof O.length!="number"||ve(O.length)?f(0):I(O);if(O.type==="Buffer"&&Array.isArray(O.data))return I(O.data)}function G(O){if(O>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return O|0}function W(O){return+O!=O&&(O=0),h.alloc(+O)}h.isBuffer=function(b){return b!=null&&b._isBuffer===!0&&b!==h.prototype},h.compare=function(b,E){if(on(b,s)&&(b=h.from(b,b.offset,b.byteLength)),on(E,s)&&(E=h.from(E,E.offset,E.byteLength)),!h.isBuffer(b)||!h.isBuffer(E))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(b===E)return 0;let D=b.length,V=E.length;for(let q=0,st=Math.min(D,V);q<st;++q)if(b[q]!==E[q]){D=b[q],V=E[q];break}return D<V?-1:V<D?1:0},h.isEncoding=function(b){switch(String(b).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},h.concat=function(b,E){if(!Array.isArray(b))throw new TypeError('"list" argument must be an Array of Buffers');if(b.length===0)return h.alloc(0);let D;if(E===void 0)for(E=0,D=0;D<b.length;++D)E+=b[D].length;const V=h.allocUnsafe(E);let q=0;for(D=0;D<b.length;++D){let st=b[D];if(on(st,s))q+st.length>V.length?(h.isBuffer(st)||(st=h.from(st)),st.copy(V,q)):s.prototype.set.call(V,st,q);else if(h.isBuffer(st))st.copy(V,q);else throw new TypeError('"list" argument must be an Array of Buffers');q+=st.length}return V};function X(O,b){if(h.isBuffer(O))return O.length;if(o.isView(O)||on(O,o))return O.byteLength;if(typeof O!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof O);const E=O.length,D=arguments.length>2&&arguments[2]===!0;if(!D&&E===0)return 0;let V=!1;for(;;)switch(b){case"ascii":case"latin1":case"binary":return E;case"utf8":case"utf-8":return Ie(O).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E*2;case"hex":return E>>>1;case"base64":return he(O).length;default:if(V)return D?-1:Ie(O).length;b=(""+b).toLowerCase(),V=!0}}h.byteLength=X;function j(O,b,E){let D=!1;if((b===void 0||b<0)&&(b=0),b>this.length||((E===void 0||E>this.length)&&(E=this.length),E<=0)||(E>>>=0,b>>>=0,E<=b))return"";for(O||(O="utf8");;)switch(O){case"hex":return A(this,b,E);case"utf8":case"utf-8":return k(this,b,E);case"ascii":return z(this,b,E);case"latin1":case"binary":return P(this,b,E);case"base64":return v(this,b,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $(this,b,E);default:if(D)throw new TypeError("Unknown encoding: "+O);O=(O+"").toLowerCase(),D=!0}}h.prototype._isBuffer=!0;function J(O,b,E){const D=O[b];O[b]=O[E],O[E]=D}h.prototype.swap16=function(){const b=this.length;if(b%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let E=0;E<b;E+=2)J(this,E,E+1);return this},h.prototype.swap32=function(){const b=this.length;if(b%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let E=0;E<b;E+=4)J(this,E,E+3),J(this,E+1,E+2);return this},h.prototype.swap64=function(){const b=this.length;if(b%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let E=0;E<b;E+=8)J(this,E,E+7),J(this,E+1,E+6),J(this,E+2,E+5),J(this,E+3,E+4);return this},h.prototype.toString=function(){const b=this.length;return b===0?"":arguments.length===0?k(this,0,b):j.apply(this,arguments)},h.prototype.toLocaleString=h.prototype.toString,h.prototype.equals=function(b){if(!h.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b?!0:h.compare(this,b)===0},h.prototype.inspect=function(){let b="";const E=n.INSPECT_MAX_BYTES;return b=this.toString("hex",0,E).replace(/(.{2})/g,"$1 ").trim(),this.length>E&&(b+=" ... "),"<Buffer "+b+">"},r&&(h.prototype[r]=h.prototype.inspect),h.prototype.compare=function(b,E,D,V,q){if(on(b,s)&&(b=h.from(b,b.offset,b.byteLength)),!h.isBuffer(b))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof b);if(E===void 0&&(E=0),D===void 0&&(D=b?b.length:0),V===void 0&&(V=0),q===void 0&&(q=this.length),E<0||D>b.length||V<0||q>this.length)throw new RangeError("out of range index");if(V>=q&&E>=D)return 0;if(V>=q)return-1;if(E>=D)return 1;if(E>>>=0,D>>>=0,V>>>=0,q>>>=0,this===b)return 0;let st=q-V,qt=D-E;const Wt=Math.min(st,qt),jt=this.slice(V,q),$e=b.slice(E,D);for(let Ht=0;Ht<Wt;++Ht)if(jt[Ht]!==$e[Ht]){st=jt[Ht],qt=$e[Ht];break}return st<qt?-1:qt<st?1:0};function it(O,b,E,D,V){if(O.length===0)return-1;if(typeof E=="string"?(D=E,E=0):E>2147483647?E=2147483647:E<-2147483648&&(E=-2147483648),E=+E,ve(E)&&(E=V?0:O.length-1),E<0&&(E=O.length+E),E>=O.length){if(V)return-1;E=O.length-1}else if(E<0)if(V)E=0;else return-1;if(typeof b=="string"&&(b=h.from(b,D)),h.isBuffer(b))return b.length===0?-1:ut(O,b,E,D,V);if(typeof b=="number")return b=b&255,typeof s.prototype.indexOf=="function"?V?s.prototype.indexOf.call(O,b,E):s.prototype.lastIndexOf.call(O,b,E):ut(O,[b],E,D,V);throw new TypeError("val must be string, number or Buffer")}function ut(O,b,E,D,V){let q=1,st=O.length,qt=b.length;if(D!==void 0&&(D=String(D).toLowerCase(),D==="ucs2"||D==="ucs-2"||D==="utf16le"||D==="utf-16le")){if(O.length<2||b.length<2)return-1;q=2,st/=2,qt/=2,E/=2}function Wt($e,Ht){return q===1?$e[Ht]:$e.readUInt16BE(Ht*q)}let jt;if(V){let $e=-1;for(jt=E;jt<st;jt++)if(Wt(O,jt)===Wt(b,$e===-1?0:jt-$e)){if($e===-1&&($e=jt),jt-$e+1===qt)return $e*q}else $e!==-1&&(jt-=jt-$e),$e=-1}else for(E+qt>st&&(E=st-qt),jt=E;jt>=0;jt--){let $e=!0;for(let Ht=0;Ht<qt;Ht++)if(Wt(O,jt+Ht)!==Wt(b,Ht)){$e=!1;break}if($e)return jt}return-1}h.prototype.includes=function(b,E,D){return this.indexOf(b,E,D)!==-1},h.prototype.indexOf=function(b,E,D){return it(this,b,E,D,!0)},h.prototype.lastIndexOf=function(b,E,D){return it(this,b,E,D,!1)};function rt(O,b,E,D){E=Number(E)||0;const V=O.length-E;D?(D=Number(D),D>V&&(D=V)):D=V;const q=b.length;D>q/2&&(D=q/2);let st;for(st=0;st<D;++st){const qt=parseInt(b.substr(st*2,2),16);if(ve(qt))return st;O[E+st]=qt}return st}function ot(O,b,E,D){return Se(Ie(b,O.length-E),O,E,D)}function C(O,b,E,D){return Se(Be(b),O,E,D)}function p(O,b,E,D){return Se(he(b),O,E,D)}function m(O,b,E,D){return Se(kn(b,O.length-E),O,E,D)}h.prototype.write=function(b,E,D,V){if(E===void 0)V="utf8",D=this.length,E=0;else if(D===void 0&&typeof E=="string")V=E,D=this.length,E=0;else if(isFinite(E))E=E>>>0,isFinite(D)?(D=D>>>0,V===void 0&&(V="utf8")):(V=D,D=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const q=this.length-E;if((D===void 0||D>q)&&(D=q),b.length>0&&(D<0||E<0)||E>this.length)throw new RangeError("Attempt to write outside buffer bounds");V||(V="utf8");let st=!1;for(;;)switch(V){case"hex":return rt(this,b,E,D);case"utf8":case"utf-8":return ot(this,b,E,D);case"ascii":case"latin1":case"binary":return C(this,b,E,D);case"base64":return p(this,b,E,D);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,b,E,D);default:if(st)throw new TypeError("Unknown encoding: "+V);V=(""+V).toLowerCase(),st=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function v(O,b,E){return b===0&&E===O.length?t.fromByteArray(O):t.fromByteArray(O.slice(b,E))}function k(O,b,E){E=Math.min(O.length,E);const D=[];let V=b;for(;V<E;){const q=O[V];let st=null,qt=q>239?4:q>223?3:q>191?2:1;if(V+qt<=E){let Wt,jt,$e,Ht;switch(qt){case 1:q<128&&(st=q);break;case 2:Wt=O[V+1],(Wt&192)===128&&(Ht=(q&31)<<6|Wt&63,Ht>127&&(st=Ht));break;case 3:Wt=O[V+1],jt=O[V+2],(Wt&192)===128&&(jt&192)===128&&(Ht=(q&15)<<12|(Wt&63)<<6|jt&63,Ht>2047&&(Ht<55296||Ht>57343)&&(st=Ht));break;case 4:Wt=O[V+1],jt=O[V+2],$e=O[V+3],(Wt&192)===128&&(jt&192)===128&&($e&192)===128&&(Ht=(q&15)<<18|(Wt&63)<<12|(jt&63)<<6|$e&63,Ht>65535&&Ht<1114112&&(st=Ht))}}st===null?(st=65533,qt=1):st>65535&&(st-=65536,D.push(st>>>10&1023|55296),st=56320|st&1023),D.push(st),V+=qt}return M(D)}const N=4096;function M(O){const b=O.length;if(b<=N)return String.fromCharCode.apply(String,O);let E="",D=0;for(;D<b;)E+=String.fromCharCode.apply(String,O.slice(D,D+=N));return E}function z(O,b,E){let D="";E=Math.min(O.length,E);for(let V=b;V<E;++V)D+=String.fromCharCode(O[V]&127);return D}function P(O,b,E){let D="";E=Math.min(O.length,E);for(let V=b;V<E;++V)D+=String.fromCharCode(O[V]);return D}function A(O,b,E){const D=O.length;(!b||b<0)&&(b=0),(!E||E<0||E>D)&&(E=D);let V="";for(let q=b;q<E;++q)V+=Pe[O[q]];return V}function $(O,b,E){const D=O.slice(b,E);let V="";for(let q=0;q<D.length-1;q+=2)V+=String.fromCharCode(D[q]+D[q+1]*256);return V}h.prototype.slice=function(b,E){const D=this.length;b=~~b,E=E===void 0?D:~~E,b<0?(b+=D,b<0&&(b=0)):b>D&&(b=D),E<0?(E+=D,E<0&&(E=0)):E>D&&(E=D),E<b&&(E=b);const V=this.subarray(b,E);return Object.setPrototypeOf(V,h.prototype),V};function ct(O,b,E){if(O%1!==0||O<0)throw new RangeError("offset is not uint");if(O+b>E)throw new RangeError("Trying to access beyond buffer length")}h.prototype.readUintLE=h.prototype.readUIntLE=function(b,E,D){b=b>>>0,E=E>>>0,D||ct(b,E,this.length);let V=this[b],q=1,st=0;for(;++st<E&&(q*=256);)V+=this[b+st]*q;return V},h.prototype.readUintBE=h.prototype.readUIntBE=function(b,E,D){b=b>>>0,E=E>>>0,D||ct(b,E,this.length);let V=this[b+--E],q=1;for(;E>0&&(q*=256);)V+=this[b+--E]*q;return V},h.prototype.readUint8=h.prototype.readUInt8=function(b,E){return b=b>>>0,E||ct(b,1,this.length),this[b]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(b,E){return b=b>>>0,E||ct(b,2,this.length),this[b]|this[b+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(b,E){return b=b>>>0,E||ct(b,2,this.length),this[b]<<8|this[b+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(b,E){return b=b>>>0,E||ct(b,4,this.length),(this[b]|this[b+1]<<8|this[b+2]<<16)+this[b+3]*16777216},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(b,E){return b=b>>>0,E||ct(b,4,this.length),this[b]*16777216+(this[b+1]<<16|this[b+2]<<8|this[b+3])},h.prototype.readBigUInt64LE=ur(function(b){b=b>>>0,sn(b,"offset");const E=this[b],D=this[b+7];(E===void 0||D===void 0)&&fe(b,this.length-8);const V=E+this[++b]*2**8+this[++b]*2**16+this[++b]*2**24,q=this[++b]+this[++b]*2**8+this[++b]*2**16+D*2**24;return BigInt(V)+(BigInt(q)<<BigInt(32))}),h.prototype.readBigUInt64BE=ur(function(b){b=b>>>0,sn(b,"offset");const E=this[b],D=this[b+7];(E===void 0||D===void 0)&&fe(b,this.length-8);const V=E*2**24+this[++b]*2**16+this[++b]*2**8+this[++b],q=this[++b]*2**24+this[++b]*2**16+this[++b]*2**8+D;return(BigInt(V)<<BigInt(32))+BigInt(q)}),h.prototype.readIntLE=function(b,E,D){b=b>>>0,E=E>>>0,D||ct(b,E,this.length);let V=this[b],q=1,st=0;for(;++st<E&&(q*=256);)V+=this[b+st]*q;return q*=128,V>=q&&(V-=Math.pow(2,8*E)),V},h.prototype.readIntBE=function(b,E,D){b=b>>>0,E=E>>>0,D||ct(b,E,this.length);let V=E,q=1,st=this[b+--V];for(;V>0&&(q*=256);)st+=this[b+--V]*q;return q*=128,st>=q&&(st-=Math.pow(2,8*E)),st},h.prototype.readInt8=function(b,E){return b=b>>>0,E||ct(b,1,this.length),this[b]&128?(255-this[b]+1)*-1:this[b]},h.prototype.readInt16LE=function(b,E){b=b>>>0,E||ct(b,2,this.length);const D=this[b]|this[b+1]<<8;return D&32768?D|4294901760:D},h.prototype.readInt16BE=function(b,E){b=b>>>0,E||ct(b,2,this.length);const D=this[b+1]|this[b]<<8;return D&32768?D|4294901760:D},h.prototype.readInt32LE=function(b,E){return b=b>>>0,E||ct(b,4,this.length),this[b]|this[b+1]<<8|this[b+2]<<16|this[b+3]<<24},h.prototype.readInt32BE=function(b,E){return b=b>>>0,E||ct(b,4,this.length),this[b]<<24|this[b+1]<<16|this[b+2]<<8|this[b+3]},h.prototype.readBigInt64LE=ur(function(b){b=b>>>0,sn(b,"offset");const E=this[b],D=this[b+7];(E===void 0||D===void 0)&&fe(b,this.length-8);const V=this[b+4]+this[b+5]*2**8+this[b+6]*2**16+(D<<24);return(BigInt(V)<<BigInt(32))+BigInt(E+this[++b]*2**8+this[++b]*2**16+this[++b]*2**24)}),h.prototype.readBigInt64BE=ur(function(b){b=b>>>0,sn(b,"offset");const E=this[b],D=this[b+7];(E===void 0||D===void 0)&&fe(b,this.length-8);const V=(E<<24)+this[++b]*2**16+this[++b]*2**8+this[++b];return(BigInt(V)<<BigInt(32))+BigInt(this[++b]*2**24+this[++b]*2**16+this[++b]*2**8+D)}),h.prototype.readFloatLE=function(b,E){return b=b>>>0,E||ct(b,4,this.length),e.read(this,b,!0,23,4)},h.prototype.readFloatBE=function(b,E){return b=b>>>0,E||ct(b,4,this.length),e.read(this,b,!1,23,4)},h.prototype.readDoubleLE=function(b,E){return b=b>>>0,E||ct(b,8,this.length),e.read(this,b,!0,52,8)},h.prototype.readDoubleBE=function(b,E){return b=b>>>0,E||ct(b,8,this.length),e.read(this,b,!1,52,8)};function dt(O,b,E,D,V,q){if(!h.isBuffer(O))throw new TypeError('"buffer" argument must be a Buffer instance');if(b>V||b<q)throw new RangeError('"value" argument is out of bounds');if(E+D>O.length)throw new RangeError("Index out of range")}h.prototype.writeUintLE=h.prototype.writeUIntLE=function(b,E,D,V){if(b=+b,E=E>>>0,D=D>>>0,!V){const qt=Math.pow(2,8*D)-1;dt(this,b,E,D,qt,0)}let q=1,st=0;for(this[E]=b&255;++st<D&&(q*=256);)this[E+st]=b/q&255;return E+D},h.prototype.writeUintBE=h.prototype.writeUIntBE=function(b,E,D,V){if(b=+b,E=E>>>0,D=D>>>0,!V){const qt=Math.pow(2,8*D)-1;dt(this,b,E,D,qt,0)}let q=D-1,st=1;for(this[E+q]=b&255;--q>=0&&(st*=256);)this[E+q]=b/st&255;return E+D},h.prototype.writeUint8=h.prototype.writeUInt8=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,1,255,0),this[E]=b&255,E+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,2,65535,0),this[E]=b&255,this[E+1]=b>>>8,E+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,2,65535,0),this[E]=b>>>8,this[E+1]=b&255,E+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,4,4294967295,0),this[E+3]=b>>>24,this[E+2]=b>>>16,this[E+1]=b>>>8,this[E]=b&255,E+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,4,4294967295,0),this[E]=b>>>24,this[E+1]=b>>>16,this[E+2]=b>>>8,this[E+3]=b&255,E+4};function wt(O,b,E,D,V){oe(b,D,V,O,E,7);let q=Number(b&BigInt(4294967295));O[E++]=q,q=q>>8,O[E++]=q,q=q>>8,O[E++]=q,q=q>>8,O[E++]=q;let st=Number(b>>BigInt(32)&BigInt(4294967295));return O[E++]=st,st=st>>8,O[E++]=st,st=st>>8,O[E++]=st,st=st>>8,O[E++]=st,E}function Gt(O,b,E,D,V){oe(b,D,V,O,E,7);let q=Number(b&BigInt(4294967295));O[E+7]=q,q=q>>8,O[E+6]=q,q=q>>8,O[E+5]=q,q=q>>8,O[E+4]=q;let st=Number(b>>BigInt(32)&BigInt(4294967295));return O[E+3]=st,st=st>>8,O[E+2]=st,st=st>>8,O[E+1]=st,st=st>>8,O[E]=st,E+8}h.prototype.writeBigUInt64LE=ur(function(b,E=0){return wt(this,b,E,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeBigUInt64BE=ur(function(b,E=0){return Gt(this,b,E,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeIntLE=function(b,E,D,V){if(b=+b,E=E>>>0,!V){const Wt=Math.pow(2,8*D-1);dt(this,b,E,D,Wt-1,-Wt)}let q=0,st=1,qt=0;for(this[E]=b&255;++q<D&&(st*=256);)b<0&&qt===0&&this[E+q-1]!==0&&(qt=1),this[E+q]=(b/st>>0)-qt&255;return E+D},h.prototype.writeIntBE=function(b,E,D,V){if(b=+b,E=E>>>0,!V){const Wt=Math.pow(2,8*D-1);dt(this,b,E,D,Wt-1,-Wt)}let q=D-1,st=1,qt=0;for(this[E+q]=b&255;--q>=0&&(st*=256);)b<0&&qt===0&&this[E+q+1]!==0&&(qt=1),this[E+q]=(b/st>>0)-qt&255;return E+D},h.prototype.writeInt8=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,1,127,-128),b<0&&(b=255+b+1),this[E]=b&255,E+1},h.prototype.writeInt16LE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,2,32767,-32768),this[E]=b&255,this[E+1]=b>>>8,E+2},h.prototype.writeInt16BE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,2,32767,-32768),this[E]=b>>>8,this[E+1]=b&255,E+2},h.prototype.writeInt32LE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,4,2147483647,-2147483648),this[E]=b&255,this[E+1]=b>>>8,this[E+2]=b>>>16,this[E+3]=b>>>24,E+4},h.prototype.writeInt32BE=function(b,E,D){return b=+b,E=E>>>0,D||dt(this,b,E,4,2147483647,-2147483648),b<0&&(b=4294967295+b+1),this[E]=b>>>24,this[E+1]=b>>>16,this[E+2]=b>>>8,this[E+3]=b&255,E+4},h.prototype.writeBigInt64LE=ur(function(b,E=0){return wt(this,b,E,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),h.prototype.writeBigInt64BE=ur(function(b,E=0){return Gt(this,b,E,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ut(O,b,E,D,V,q){if(E+D>O.length)throw new RangeError("Index out of range");if(E<0)throw new RangeError("Index out of range")}function Lt(O,b,E,D,V){return b=+b,E=E>>>0,V||Ut(O,b,E,4),e.write(O,b,E,D,23,4),E+4}h.prototype.writeFloatLE=function(b,E,D){return Lt(this,b,E,!0,D)},h.prototype.writeFloatBE=function(b,E,D){return Lt(this,b,E,!1,D)};function Re(O,b,E,D,V){return b=+b,E=E>>>0,V||Ut(O,b,E,8),e.write(O,b,E,D,52,8),E+8}h.prototype.writeDoubleLE=function(b,E,D){return Re(this,b,E,!0,D)},h.prototype.writeDoubleBE=function(b,E,D){return Re(this,b,E,!1,D)},h.prototype.copy=function(b,E,D,V){if(!h.isBuffer(b))throw new TypeError("argument should be a Buffer");if(D||(D=0),!V&&V!==0&&(V=this.length),E>=b.length&&(E=b.length),E||(E=0),V>0&&V<D&&(V=D),V===D||b.length===0||this.length===0)return 0;if(E<0)throw new RangeError("targetStart out of bounds");if(D<0||D>=this.length)throw new RangeError("Index out of range");if(V<0)throw new RangeError("sourceEnd out of bounds");V>this.length&&(V=this.length),b.length-E<V-D&&(V=b.length-E+D);const q=V-D;return this===b&&typeof s.prototype.copyWithin=="function"?this.copyWithin(E,D,V):s.prototype.set.call(b,this.subarray(D,V),E),q},h.prototype.fill=function(b,E,D,V){if(typeof b=="string"){if(typeof E=="string"?(V=E,E=0,D=this.length):typeof D=="string"&&(V=D,D=this.length),V!==void 0&&typeof V!="string")throw new TypeError("encoding must be a string");if(typeof V=="string"&&!h.isEncoding(V))throw new TypeError("Unknown encoding: "+V);if(b.length===1){const st=b.charCodeAt(0);(V==="utf8"&&st<128||V==="latin1")&&(b=st)}}else typeof b=="number"?b=b&255:typeof b=="boolean"&&(b=Number(b));if(E<0||this.length<E||this.length<D)throw new RangeError("Out of range index");if(D<=E)return this;E=E>>>0,D=D===void 0?this.length:D>>>0,b||(b=0);let q;if(typeof b=="number")for(q=E;q<D;++q)this[q]=b;else{const st=h.isBuffer(b)?b:h.from(b,V),qt=st.length;if(qt===0)throw new TypeError('The value "'+b+'" is invalid for argument "value"');for(q=0;q<D-E;++q)this[q+E]=st[q%qt]}return this};const Kt={};function Ft(O,b,E){Kt[O]=class extends E{constructor(){super(),Object.defineProperty(this,"message",{value:b.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${O}]`,this.stack,delete this.name}get code(){return O}set code(V){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:V,writable:!0})}toString(){return`${this.name} [${O}]: ${this.message}`}}}Ft("ERR_BUFFER_OUT_OF_BOUNDS",function(O){return O?`${O} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Ft("ERR_INVALID_ARG_TYPE",function(O,b){return`The "${O}" argument must be of type number. Received type ${typeof b}`},TypeError),Ft("ERR_OUT_OF_RANGE",function(O,b,E){let D=`The value of "${O}" is out of range.`,V=E;return Number.isInteger(E)&&Math.abs(E)>2**32?V=Te(String(E)):typeof E=="bigint"&&(V=String(E),(E>BigInt(2)**BigInt(32)||E<-(BigInt(2)**BigInt(32)))&&(V=Te(V)),V+="n"),D+=` It must be ${b}. Received ${V}`,D},RangeError);function Te(O){let b="",E=O.length;const D=O[0]==="-"?1:0;for(;E>=D+4;E-=3)b=`_${O.slice(E-3,E)}${b}`;return`${O.slice(0,E)}${b}`}function re(O,b,E){sn(b,"offset"),(O[b]===void 0||O[b+E]===void 0)&&fe(b,O.length-(E+1))}function oe(O,b,E,D,V,q){if(O>E||O<b){const st=typeof b=="bigint"?"n":"";let qt;throw b===0||b===BigInt(0)?qt=`>= 0${st} and < 2${st} ** ${(q+1)*8}${st}`:qt=`>= -(2${st} ** ${(q+1)*8-1}${st}) and < 2 ** ${(q+1)*8-1}${st}`,new Kt.ERR_OUT_OF_RANGE("value",qt,O)}re(D,V,q)}function sn(O,b){if(typeof O!="number")throw new Kt.ERR_INVALID_ARG_TYPE(b,"number",O)}function fe(O,b,E){throw Math.floor(O)!==O?(sn(O,E),new Kt.ERR_OUT_OF_RANGE("offset","an integer",O)):b<0?new Kt.ERR_BUFFER_OUT_OF_BOUNDS:new Kt.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${b}`,O)}const De=/[^+/0-9A-Za-z-_]/g;function ua(O){if(O=O.split("=")[0],O=O.trim().replace(De,""),O.length<2)return"";for(;O.length%4!==0;)O=O+"=";return O}function Ie(O,b){b=b||1/0;let E;const D=O.length;let V=null;const q=[];for(let st=0;st<D;++st){if(E=O.charCodeAt(st),E>55295&&E<57344){if(!V){if(E>56319){(b-=3)>-1&&q.push(239,191,189);continue}else if(st+1===D){(b-=3)>-1&&q.push(239,191,189);continue}V=E;continue}if(E<56320){(b-=3)>-1&&q.push(239,191,189),V=E;continue}E=(V-55296<<10|E-56320)+65536}else V&&(b-=3)>-1&&q.push(239,191,189);if(V=null,E<128){if((b-=1)<0)break;q.push(E)}else if(E<2048){if((b-=2)<0)break;q.push(E>>6|192,E&63|128)}else if(E<65536){if((b-=3)<0)break;q.push(E>>12|224,E>>6&63|128,E&63|128)}else if(E<1114112){if((b-=4)<0)break;q.push(E>>18|240,E>>12&63|128,E>>6&63|128,E&63|128)}else throw new Error("Invalid code point")}return q}function Be(O){const b=[];for(let E=0;E<O.length;++E)b.push(O.charCodeAt(E)&255);return b}function kn(O,b){let E,D,V;const q=[];for(let st=0;st<O.length&&!((b-=2)<0);++st)E=O.charCodeAt(st),D=E>>8,V=E%256,q.push(V),q.push(D);return q}function he(O){return t.toByteArray(ua(O))}function Se(O,b,E,D){let V;for(V=0;V<D&&!(V+E>=b.length||V>=O.length);++V)b[V+E]=O[V];return V}function on(O,b){return O instanceof b||O!=null&&O.constructor!=null&&O.constructor.name!=null&&O.constructor.name===b.name}function ve(O){return O!==O}const Pe=function(){const O="0123456789abcdef",b=new Array(256);for(let E=0;E<16;++E){const D=E*16;for(let V=0;V<16;++V)b[D+V]=O[E]+O[V]}return b}();function ur(O){return typeof BigInt>"u"?Fe:O}function Fe(){throw new Error("BigInt not supported")}})(Mg);const Zt=Mg.Buffer,kt=Mg.Buffer,pP=Object.freeze(Object.defineProperty({__proto__:null,Buffer:kt,default:Zt},Symbol.toStringTag,{value:"Module"}));var Dg={exports:{}};const Fg=Lc(pP);Dg.exports,function(n){(function(t,e){function r(C,p){if(!C)throw new Error(p||"Assertion failed")}function i(C,p){C.super_=p;var m=function(){};m.prototype=p.prototype,C.prototype=new m,C.prototype.constructor=C}function s(C,p,m){if(s.isBN(C))return C;this.negative=0,this.words=null,this.length=0,this.red=null,C!==null&&((p==="le"||p==="be")&&(m=p,p=10),this._init(C||0,p||10,m||"be"))}typeof t=="object"?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Fg.Buffer}catch{}s.isBN=function(p){return p instanceof s?!0:p!==null&&typeof p=="object"&&p.constructor.wordSize===s.wordSize&&Array.isArray(p.words)},s.max=function(p,m){return p.cmp(m)>0?p:m},s.min=function(p,m){return p.cmp(m)<0?p:m},s.prototype._init=function(p,m,v){if(typeof p=="number")return this._initNumber(p,m,v);if(typeof p=="object")return this._initArray(p,m,v);m==="hex"&&(m=16),r(m===(m|0)&&m>=2&&m<=36),p=p.toString().replace(/\s+/g,"");var k=0;p[0]==="-"&&(k++,this.negative=1),k<p.length&&(m===16?this._parseHex(p,k,v):(this._parseBase(p,m,k),v==="le"&&this._initArray(this.toArray(),m,v)))},s.prototype._initNumber=function(p,m,v){p<0&&(this.negative=1,p=-p),p<67108864?(this.words=[p&67108863],this.length=1):p<4503599627370496?(this.words=[p&67108863,p/67108864&67108863],this.length=2):(r(p<9007199254740992),this.words=[p&67108863,p/67108864&67108863,1],this.length=3),v==="le"&&this._initArray(this.toArray(),m,v)},s.prototype._initArray=function(p,m,v){if(r(typeof p.length=="number"),p.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(p.length/3),this.words=new Array(this.length);for(var k=0;k<this.length;k++)this.words[k]=0;var N,M,z=0;if(v==="be")for(k=p.length-1,N=0;k>=0;k-=3)M=p[k]|p[k-1]<<8|p[k-2]<<16,this.words[N]|=M<<z&67108863,this.words[N+1]=M>>>26-z&67108863,z+=24,z>=26&&(z-=26,N++);else if(v==="le")for(k=0,N=0;k<p.length;k+=3)M=p[k]|p[k+1]<<8|p[k+2]<<16,this.words[N]|=M<<z&67108863,this.words[N+1]=M>>>26-z&67108863,z+=24,z>=26&&(z-=26,N++);return this._strip()};function a(C,p){var m=C.charCodeAt(p);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;r(!1,"Invalid character in "+C)}function u(C,p,m){var v=a(C,m);return m-1>=p&&(v|=a(C,m-1)<<4),v}s.prototype._parseHex=function(p,m,v){this.length=Math.ceil((p.length-m)/6),this.words=new Array(this.length);for(var k=0;k<this.length;k++)this.words[k]=0;var N=0,M=0,z;if(v==="be")for(k=p.length-1;k>=m;k-=2)z=u(p,m,k)<<N,this.words[M]|=z&67108863,N>=18?(N-=18,M+=1,this.words[M]|=z>>>26):N+=8;else{var P=p.length-m;for(k=P%2===0?m+1:m;k<p.length;k+=2)z=u(p,m,k)<<N,this.words[M]|=z&67108863,N>=18?(N-=18,M+=1,this.words[M]|=z>>>26):N+=8}this._strip()};function f(C,p,m,v){for(var k=0,N=0,M=Math.min(C.length,m),z=p;z<M;z++){var P=C.charCodeAt(z)-48;k*=v,P>=49?N=P-49+10:P>=17?N=P-17+10:N=P,r(P>=0&&N<v,"Invalid character"),k+=N}return k}s.prototype._parseBase=function(p,m,v){this.words=[0],this.length=1;for(var k=0,N=1;N<=67108863;N*=m)k++;k--,N=N/m|0;for(var M=p.length-v,z=M%k,P=Math.min(M,M-z)+v,A=0,$=v;$<P;$+=k)A=f(p,$,$+k,m),this.imuln(N),this.words[0]+A<67108864?this.words[0]+=A:this._iaddn(A);if(z!==0){var ct=1;for(A=f(p,$,p.length,m),$=0;$<z;$++)ct*=m;this.imuln(ct),this.words[0]+A<67108864?this.words[0]+=A:this._iaddn(A)}this._strip()},s.prototype.copy=function(p){p.words=new Array(this.length);for(var m=0;m<this.length;m++)p.words[m]=this.words[m];p.length=this.length,p.negative=this.negative,p.red=this.red};function h(C,p){C.words=p.words,C.length=p.length,C.negative=p.negative,C.red=p.red}if(s.prototype._move=function(p){h(p,this)},s.prototype.clone=function(){var p=new s(null);return this.copy(p),p},s.prototype._expand=function(p){for(;this.length<p;)this.words[this.length++]=0;return this},s.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=y}catch{s.prototype.inspect=y}else s.prototype.inspect=y;function y(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],w=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],R=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(p,m){p=p||10,m=m|0||1;var v;if(p===16||p==="hex"){v="";for(var k=0,N=0,M=0;M<this.length;M++){var z=this.words[M],P=((z<<k|N)&16777215).toString(16);N=z>>>24-k&16777215,k+=2,k>=26&&(k-=26,M--),N!==0||M!==this.length-1?v=_[6-P.length]+P+v:v=P+v}for(N!==0&&(v=N.toString(16)+v);v.length%m!==0;)v="0"+v;return this.negative!==0&&(v="-"+v),v}if(p===(p|0)&&p>=2&&p<=36){var A=w[p],$=R[p];v="";var ct=this.clone();for(ct.negative=0;!ct.isZero();){var dt=ct.modrn($).toString(p);ct=ct.idivn($),ct.isZero()?v=dt+v:v=_[A-dt.length]+dt+v}for(this.isZero()&&(v="0"+v);v.length%m!==0;)v="0"+v;return this.negative!==0&&(v="-"+v),v}r(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var p=this.words[0];return this.length===2?p+=this.words[1]*67108864:this.length===3&&this.words[2]===1?p+=4503599627370496+this.words[1]*67108864:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-p:p},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(p,m){return this.toArrayLike(o,p,m)}),s.prototype.toArray=function(p,m){return this.toArrayLike(Array,p,m)};var T=function(p,m){return p.allocUnsafe?p.allocUnsafe(m):new p(m)};s.prototype.toArrayLike=function(p,m,v){this._strip();var k=this.byteLength(),N=v||Math.max(1,k);r(k<=N,"byte array longer than desired length"),r(N>0,"Requested array length <= 0");var M=T(p,N),z=m==="le"?"LE":"BE";return this["_toArrayLike"+z](M,k),M},s.prototype._toArrayLikeLE=function(p,m){for(var v=0,k=0,N=0,M=0;N<this.length;N++){var z=this.words[N]<<M|k;p[v++]=z&255,v<p.length&&(p[v++]=z>>8&255),v<p.length&&(p[v++]=z>>16&255),M===6?(v<p.length&&(p[v++]=z>>24&255),k=0,M=0):(k=z>>>24,M+=2)}if(v<p.length)for(p[v++]=k;v<p.length;)p[v++]=0},s.prototype._toArrayLikeBE=function(p,m){for(var v=p.length-1,k=0,N=0,M=0;N<this.length;N++){var z=this.words[N]<<M|k;p[v--]=z&255,v>=0&&(p[v--]=z>>8&255),v>=0&&(p[v--]=z>>16&255),M===6?(v>=0&&(p[v--]=z>>24&255),k=0,M=0):(k=z>>>24,M+=2)}if(v>=0)for(p[v--]=k;v>=0;)p[v--]=0},Math.clz32?s.prototype._countBits=function(p){return 32-Math.clz32(p)}:s.prototype._countBits=function(p){var m=p,v=0;return m>=4096&&(v+=13,m>>>=13),m>=64&&(v+=7,m>>>=7),m>=8&&(v+=4,m>>>=4),m>=2&&(v+=2,m>>>=2),v+m},s.prototype._zeroBits=function(p){if(p===0)return 26;var m=p,v=0;return m&8191||(v+=13,m>>>=13),m&127||(v+=7,m>>>=7),m&15||(v+=4,m>>>=4),m&3||(v+=2,m>>>=2),m&1||v++,v},s.prototype.bitLength=function(){var p=this.words[this.length-1],m=this._countBits(p);return(this.length-1)*26+m};function I(C){for(var p=new Array(C.bitLength()),m=0;m<p.length;m++){var v=m/26|0,k=m%26;p[m]=C.words[v]>>>k&1}return p}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var p=0,m=0;m<this.length;m++){var v=this._zeroBits(this.words[m]);if(p+=v,v!==26)break}return p},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(p){return this.negative!==0?this.abs().inotn(p).iaddn(1):this.clone()},s.prototype.fromTwos=function(p){return this.testn(p-1)?this.notn(p).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(p){for(;this.length<p.length;)this.words[this.length++]=0;for(var m=0;m<p.length;m++)this.words[m]=this.words[m]|p.words[m];return this._strip()},s.prototype.ior=function(p){return r((this.negative|p.negative)===0),this.iuor(p)},s.prototype.or=function(p){return this.length>p.length?this.clone().ior(p):p.clone().ior(this)},s.prototype.uor=function(p){return this.length>p.length?this.clone().iuor(p):p.clone().iuor(this)},s.prototype.iuand=function(p){var m;this.length>p.length?m=p:m=this;for(var v=0;v<m.length;v++)this.words[v]=this.words[v]&p.words[v];return this.length=m.length,this._strip()},s.prototype.iand=function(p){return r((this.negative|p.negative)===0),this.iuand(p)},s.prototype.and=function(p){return this.length>p.length?this.clone().iand(p):p.clone().iand(this)},s.prototype.uand=function(p){return this.length>p.length?this.clone().iuand(p):p.clone().iuand(this)},s.prototype.iuxor=function(p){var m,v;this.length>p.length?(m=this,v=p):(m=p,v=this);for(var k=0;k<v.length;k++)this.words[k]=m.words[k]^v.words[k];if(this!==m)for(;k<m.length;k++)this.words[k]=m.words[k];return this.length=m.length,this._strip()},s.prototype.ixor=function(p){return r((this.negative|p.negative)===0),this.iuxor(p)},s.prototype.xor=function(p){return this.length>p.length?this.clone().ixor(p):p.clone().ixor(this)},s.prototype.uxor=function(p){return this.length>p.length?this.clone().iuxor(p):p.clone().iuxor(this)},s.prototype.inotn=function(p){r(typeof p=="number"&&p>=0);var m=Math.ceil(p/26)|0,v=p%26;this._expand(m),v>0&&m--;for(var k=0;k<m;k++)this.words[k]=~this.words[k]&67108863;return v>0&&(this.words[k]=~this.words[k]&67108863>>26-v),this._strip()},s.prototype.notn=function(p){return this.clone().inotn(p)},s.prototype.setn=function(p,m){r(typeof p=="number"&&p>=0);var v=p/26|0,k=p%26;return this._expand(v+1),m?this.words[v]=this.words[v]|1<<k:this.words[v]=this.words[v]&~(1<<k),this._strip()},s.prototype.iadd=function(p){var m;if(this.negative!==0&&p.negative===0)return this.negative=0,m=this.isub(p),this.negative^=1,this._normSign();if(this.negative===0&&p.negative!==0)return p.negative=0,m=this.isub(p),p.negative=1,m._normSign();var v,k;this.length>p.length?(v=this,k=p):(v=p,k=this);for(var N=0,M=0;M<k.length;M++)m=(v.words[M]|0)+(k.words[M]|0)+N,this.words[M]=m&67108863,N=m>>>26;for(;N!==0&&M<v.length;M++)m=(v.words[M]|0)+N,this.words[M]=m&67108863,N=m>>>26;if(this.length=v.length,N!==0)this.words[this.length]=N,this.length++;else if(v!==this)for(;M<v.length;M++)this.words[M]=v.words[M];return this},s.prototype.add=function(p){var m;return p.negative!==0&&this.negative===0?(p.negative=0,m=this.sub(p),p.negative^=1,m):p.negative===0&&this.negative!==0?(this.negative=0,m=p.sub(this),this.negative=1,m):this.length>p.length?this.clone().iadd(p):p.clone().iadd(this)},s.prototype.isub=function(p){if(p.negative!==0){p.negative=0;var m=this.iadd(p);return p.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(p),this.negative=1,this._normSign();var v=this.cmp(p);if(v===0)return this.negative=0,this.length=1,this.words[0]=0,this;var k,N;v>0?(k=this,N=p):(k=p,N=this);for(var M=0,z=0;z<N.length;z++)m=(k.words[z]|0)-(N.words[z]|0)+M,M=m>>26,this.words[z]=m&67108863;for(;M!==0&&z<k.length;z++)m=(k.words[z]|0)+M,M=m>>26,this.words[z]=m&67108863;if(M===0&&z<k.length&&k!==this)for(;z<k.length;z++)this.words[z]=k.words[z];return this.length=Math.max(this.length,z),k!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(p){return this.clone().isub(p)};function B(C,p,m){m.negative=p.negative^C.negative;var v=C.length+p.length|0;m.length=v,v=v-1|0;var k=C.words[0]|0,N=p.words[0]|0,M=k*N,z=M&67108863,P=M/67108864|0;m.words[0]=z;for(var A=1;A<v;A++){for(var $=P>>>26,ct=P&67108863,dt=Math.min(A,p.length-1),wt=Math.max(0,A-C.length+1);wt<=dt;wt++){var Gt=A-wt|0;k=C.words[Gt]|0,N=p.words[wt]|0,M=k*N+ct,$+=M/67108864|0,ct=M&67108863}m.words[A]=ct|0,P=$|0}return P!==0?m.words[A]=P|0:m.length--,m._strip()}var H=function(p,m,v){var k=p.words,N=m.words,M=v.words,z=0,P,A,$,ct=k[0]|0,dt=ct&8191,wt=ct>>>13,Gt=k[1]|0,Ut=Gt&8191,Lt=Gt>>>13,Re=k[2]|0,Kt=Re&8191,Ft=Re>>>13,Te=k[3]|0,re=Te&8191,oe=Te>>>13,sn=k[4]|0,fe=sn&8191,De=sn>>>13,ua=k[5]|0,Ie=ua&8191,Be=ua>>>13,kn=k[6]|0,he=kn&8191,Se=kn>>>13,on=k[7]|0,ve=on&8191,Pe=on>>>13,ur=k[8]|0,Fe=ur&8191,O=ur>>>13,b=k[9]|0,E=b&8191,D=b>>>13,V=N[0]|0,q=V&8191,st=V>>>13,qt=N[1]|0,Wt=qt&8191,jt=qt>>>13,$e=N[2]|0,Ht=$e&8191,fn=$e>>>13,Gp=N[3]|0,hn=Gp&8191,dn=Gp>>>13,Vp=N[4]|0,an=Vp&8191,pn=Vp>>>13,Kp=N[5]|0,cn=Kp&8191,gn=Kp>>>13,Nc=N[6]|0,Je=Nc&8191,yn=Nc>>>13,jp=N[7]|0,mn=jp&8191,wn=jp>>>13,Wp=N[8]|0,bn=Wp&8191,_n=Wp>>>13,Cc=N[9]|0,An=Cc&8191,En=Cc>>>13;v.negative=p.negative^m.negative,v.length=19,P=Math.imul(dt,q),A=Math.imul(dt,st),A=A+Math.imul(wt,q)|0,$=Math.imul(wt,st);var Wh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Wh>>>26)|0,Wh&=67108863,P=Math.imul(Ut,q),A=Math.imul(Ut,st),A=A+Math.imul(Lt,q)|0,$=Math.imul(Lt,st),P=P+Math.imul(dt,Wt)|0,A=A+Math.imul(dt,jt)|0,A=A+Math.imul(wt,Wt)|0,$=$+Math.imul(wt,jt)|0;var Vl=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Vl>>>26)|0,Vl&=67108863,P=Math.imul(Kt,q),A=Math.imul(Kt,st),A=A+Math.imul(Ft,q)|0,$=Math.imul(Ft,st),P=P+Math.imul(Ut,Wt)|0,A=A+Math.imul(Ut,jt)|0,A=A+Math.imul(Lt,Wt)|0,$=$+Math.imul(Lt,jt)|0,P=P+Math.imul(dt,Ht)|0,A=A+Math.imul(dt,fn)|0,A=A+Math.imul(wt,Ht)|0,$=$+Math.imul(wt,fn)|0;var Zh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Zh>>>26)|0,Zh&=67108863,P=Math.imul(re,q),A=Math.imul(re,st),A=A+Math.imul(oe,q)|0,$=Math.imul(oe,st),P=P+Math.imul(Kt,Wt)|0,A=A+Math.imul(Kt,jt)|0,A=A+Math.imul(Ft,Wt)|0,$=$+Math.imul(Ft,jt)|0,P=P+Math.imul(Ut,Ht)|0,A=A+Math.imul(Ut,fn)|0,A=A+Math.imul(Lt,Ht)|0,$=$+Math.imul(Lt,fn)|0,P=P+Math.imul(dt,hn)|0,A=A+Math.imul(dt,dn)|0,A=A+Math.imul(wt,hn)|0,$=$+Math.imul(wt,dn)|0;var qh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(qh>>>26)|0,qh&=67108863,P=Math.imul(fe,q),A=Math.imul(fe,st),A=A+Math.imul(De,q)|0,$=Math.imul(De,st),P=P+Math.imul(re,Wt)|0,A=A+Math.imul(re,jt)|0,A=A+Math.imul(oe,Wt)|0,$=$+Math.imul(oe,jt)|0,P=P+Math.imul(Kt,Ht)|0,A=A+Math.imul(Kt,fn)|0,A=A+Math.imul(Ft,Ht)|0,$=$+Math.imul(Ft,fn)|0,P=P+Math.imul(Ut,hn)|0,A=A+Math.imul(Ut,dn)|0,A=A+Math.imul(Lt,hn)|0,$=$+Math.imul(Lt,dn)|0,P=P+Math.imul(dt,an)|0,A=A+Math.imul(dt,pn)|0,A=A+Math.imul(wt,an)|0,$=$+Math.imul(wt,pn)|0;var Qh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Qh>>>26)|0,Qh&=67108863,P=Math.imul(Ie,q),A=Math.imul(Ie,st),A=A+Math.imul(Be,q)|0,$=Math.imul(Be,st),P=P+Math.imul(fe,Wt)|0,A=A+Math.imul(fe,jt)|0,A=A+Math.imul(De,Wt)|0,$=$+Math.imul(De,jt)|0,P=P+Math.imul(re,Ht)|0,A=A+Math.imul(re,fn)|0,A=A+Math.imul(oe,Ht)|0,$=$+Math.imul(oe,fn)|0,P=P+Math.imul(Kt,hn)|0,A=A+Math.imul(Kt,dn)|0,A=A+Math.imul(Ft,hn)|0,$=$+Math.imul(Ft,dn)|0,P=P+Math.imul(Ut,an)|0,A=A+Math.imul(Ut,pn)|0,A=A+Math.imul(Lt,an)|0,$=$+Math.imul(Lt,pn)|0,P=P+Math.imul(dt,cn)|0,A=A+Math.imul(dt,gn)|0,A=A+Math.imul(wt,cn)|0,$=$+Math.imul(wt,gn)|0;var Yh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Yh>>>26)|0,Yh&=67108863,P=Math.imul(he,q),A=Math.imul(he,st),A=A+Math.imul(Se,q)|0,$=Math.imul(Se,st),P=P+Math.imul(Ie,Wt)|0,A=A+Math.imul(Ie,jt)|0,A=A+Math.imul(Be,Wt)|0,$=$+Math.imul(Be,jt)|0,P=P+Math.imul(fe,Ht)|0,A=A+Math.imul(fe,fn)|0,A=A+Math.imul(De,Ht)|0,$=$+Math.imul(De,fn)|0,P=P+Math.imul(re,hn)|0,A=A+Math.imul(re,dn)|0,A=A+Math.imul(oe,hn)|0,$=$+Math.imul(oe,dn)|0,P=P+Math.imul(Kt,an)|0,A=A+Math.imul(Kt,pn)|0,A=A+Math.imul(Ft,an)|0,$=$+Math.imul(Ft,pn)|0,P=P+Math.imul(Ut,cn)|0,A=A+Math.imul(Ut,gn)|0,A=A+Math.imul(Lt,cn)|0,$=$+Math.imul(Lt,gn)|0,P=P+Math.imul(dt,Je)|0,A=A+Math.imul(dt,yn)|0,A=A+Math.imul(wt,Je)|0,$=$+Math.imul(wt,yn)|0;var Kl=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Kl>>>26)|0,Kl&=67108863,P=Math.imul(ve,q),A=Math.imul(ve,st),A=A+Math.imul(Pe,q)|0,$=Math.imul(Pe,st),P=P+Math.imul(he,Wt)|0,A=A+Math.imul(he,jt)|0,A=A+Math.imul(Se,Wt)|0,$=$+Math.imul(Se,jt)|0,P=P+Math.imul(Ie,Ht)|0,A=A+Math.imul(Ie,fn)|0,A=A+Math.imul(Be,Ht)|0,$=$+Math.imul(Be,fn)|0,P=P+Math.imul(fe,hn)|0,A=A+Math.imul(fe,dn)|0,A=A+Math.imul(De,hn)|0,$=$+Math.imul(De,dn)|0,P=P+Math.imul(re,an)|0,A=A+Math.imul(re,pn)|0,A=A+Math.imul(oe,an)|0,$=$+Math.imul(oe,pn)|0,P=P+Math.imul(Kt,cn)|0,A=A+Math.imul(Kt,gn)|0,A=A+Math.imul(Ft,cn)|0,$=$+Math.imul(Ft,gn)|0,P=P+Math.imul(Ut,Je)|0,A=A+Math.imul(Ut,yn)|0,A=A+Math.imul(Lt,Je)|0,$=$+Math.imul(Lt,yn)|0,P=P+Math.imul(dt,mn)|0,A=A+Math.imul(dt,wn)|0,A=A+Math.imul(wt,mn)|0,$=$+Math.imul(wt,wn)|0;var Jh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Jh>>>26)|0,Jh&=67108863,P=Math.imul(Fe,q),A=Math.imul(Fe,st),A=A+Math.imul(O,q)|0,$=Math.imul(O,st),P=P+Math.imul(ve,Wt)|0,A=A+Math.imul(ve,jt)|0,A=A+Math.imul(Pe,Wt)|0,$=$+Math.imul(Pe,jt)|0,P=P+Math.imul(he,Ht)|0,A=A+Math.imul(he,fn)|0,A=A+Math.imul(Se,Ht)|0,$=$+Math.imul(Se,fn)|0,P=P+Math.imul(Ie,hn)|0,A=A+Math.imul(Ie,dn)|0,A=A+Math.imul(Be,hn)|0,$=$+Math.imul(Be,dn)|0,P=P+Math.imul(fe,an)|0,A=A+Math.imul(fe,pn)|0,A=A+Math.imul(De,an)|0,$=$+Math.imul(De,pn)|0,P=P+Math.imul(re,cn)|0,A=A+Math.imul(re,gn)|0,A=A+Math.imul(oe,cn)|0,$=$+Math.imul(oe,gn)|0,P=P+Math.imul(Kt,Je)|0,A=A+Math.imul(Kt,yn)|0,A=A+Math.imul(Ft,Je)|0,$=$+Math.imul(Ft,yn)|0,P=P+Math.imul(Ut,mn)|0,A=A+Math.imul(Ut,wn)|0,A=A+Math.imul(Lt,mn)|0,$=$+Math.imul(Lt,wn)|0,P=P+Math.imul(dt,bn)|0,A=A+Math.imul(dt,_n)|0,A=A+Math.imul(wt,bn)|0,$=$+Math.imul(wt,_n)|0;var so=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(so>>>26)|0,so&=67108863,P=Math.imul(E,q),A=Math.imul(E,st),A=A+Math.imul(D,q)|0,$=Math.imul(D,st),P=P+Math.imul(Fe,Wt)|0,A=A+Math.imul(Fe,jt)|0,A=A+Math.imul(O,Wt)|0,$=$+Math.imul(O,jt)|0,P=P+Math.imul(ve,Ht)|0,A=A+Math.imul(ve,fn)|0,A=A+Math.imul(Pe,Ht)|0,$=$+Math.imul(Pe,fn)|0,P=P+Math.imul(he,hn)|0,A=A+Math.imul(he,dn)|0,A=A+Math.imul(Se,hn)|0,$=$+Math.imul(Se,dn)|0,P=P+Math.imul(Ie,an)|0,A=A+Math.imul(Ie,pn)|0,A=A+Math.imul(Be,an)|0,$=$+Math.imul(Be,pn)|0,P=P+Math.imul(fe,cn)|0,A=A+Math.imul(fe,gn)|0,A=A+Math.imul(De,cn)|0,$=$+Math.imul(De,gn)|0,P=P+Math.imul(re,Je)|0,A=A+Math.imul(re,yn)|0,A=A+Math.imul(oe,Je)|0,$=$+Math.imul(oe,yn)|0,P=P+Math.imul(Kt,mn)|0,A=A+Math.imul(Kt,wn)|0,A=A+Math.imul(Ft,mn)|0,$=$+Math.imul(Ft,wn)|0,P=P+Math.imul(Ut,bn)|0,A=A+Math.imul(Ut,_n)|0,A=A+Math.imul(Lt,bn)|0,$=$+Math.imul(Lt,_n)|0,P=P+Math.imul(dt,An)|0,A=A+Math.imul(dt,En)|0,A=A+Math.imul(wt,An)|0,$=$+Math.imul(wt,En)|0;var Xh=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Xh>>>26)|0,Xh&=67108863,P=Math.imul(E,Wt),A=Math.imul(E,jt),A=A+Math.imul(D,Wt)|0,$=Math.imul(D,jt),P=P+Math.imul(Fe,Ht)|0,A=A+Math.imul(Fe,fn)|0,A=A+Math.imul(O,Ht)|0,$=$+Math.imul(O,fn)|0,P=P+Math.imul(ve,hn)|0,A=A+Math.imul(ve,dn)|0,A=A+Math.imul(Pe,hn)|0,$=$+Math.imul(Pe,dn)|0,P=P+Math.imul(he,an)|0,A=A+Math.imul(he,pn)|0,A=A+Math.imul(Se,an)|0,$=$+Math.imul(Se,pn)|0,P=P+Math.imul(Ie,cn)|0,A=A+Math.imul(Ie,gn)|0,A=A+Math.imul(Be,cn)|0,$=$+Math.imul(Be,gn)|0,P=P+Math.imul(fe,Je)|0,A=A+Math.imul(fe,yn)|0,A=A+Math.imul(De,Je)|0,$=$+Math.imul(De,yn)|0,P=P+Math.imul(re,mn)|0,A=A+Math.imul(re,wn)|0,A=A+Math.imul(oe,mn)|0,$=$+Math.imul(oe,wn)|0,P=P+Math.imul(Kt,bn)|0,A=A+Math.imul(Kt,_n)|0,A=A+Math.imul(Ft,bn)|0,$=$+Math.imul(Ft,_n)|0,P=P+Math.imul(Ut,An)|0,A=A+Math.imul(Ut,En)|0,A=A+Math.imul(Lt,An)|0,$=$+Math.imul(Lt,En)|0;var Pi=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,P=Math.imul(E,Ht),A=Math.imul(E,fn),A=A+Math.imul(D,Ht)|0,$=Math.imul(D,fn),P=P+Math.imul(Fe,hn)|0,A=A+Math.imul(Fe,dn)|0,A=A+Math.imul(O,hn)|0,$=$+Math.imul(O,dn)|0,P=P+Math.imul(ve,an)|0,A=A+Math.imul(ve,pn)|0,A=A+Math.imul(Pe,an)|0,$=$+Math.imul(Pe,pn)|0,P=P+Math.imul(he,cn)|0,A=A+Math.imul(he,gn)|0,A=A+Math.imul(Se,cn)|0,$=$+Math.imul(Se,gn)|0,P=P+Math.imul(Ie,Je)|0,A=A+Math.imul(Ie,yn)|0,A=A+Math.imul(Be,Je)|0,$=$+Math.imul(Be,yn)|0,P=P+Math.imul(fe,mn)|0,A=A+Math.imul(fe,wn)|0,A=A+Math.imul(De,mn)|0,$=$+Math.imul(De,wn)|0,P=P+Math.imul(re,bn)|0,A=A+Math.imul(re,_n)|0,A=A+Math.imul(oe,bn)|0,$=$+Math.imul(oe,_n)|0,P=P+Math.imul(Kt,An)|0,A=A+Math.imul(Kt,En)|0,A=A+Math.imul(Ft,An)|0,$=$+Math.imul(Ft,En)|0;var td=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(td>>>26)|0,td&=67108863,P=Math.imul(E,hn),A=Math.imul(E,dn),A=A+Math.imul(D,hn)|0,$=Math.imul(D,dn),P=P+Math.imul(Fe,an)|0,A=A+Math.imul(Fe,pn)|0,A=A+Math.imul(O,an)|0,$=$+Math.imul(O,pn)|0,P=P+Math.imul(ve,cn)|0,A=A+Math.imul(ve,gn)|0,A=A+Math.imul(Pe,cn)|0,$=$+Math.imul(Pe,gn)|0,P=P+Math.imul(he,Je)|0,A=A+Math.imul(he,yn)|0,A=A+Math.imul(Se,Je)|0,$=$+Math.imul(Se,yn)|0,P=P+Math.imul(Ie,mn)|0,A=A+Math.imul(Ie,wn)|0,A=A+Math.imul(Be,mn)|0,$=$+Math.imul(Be,wn)|0,P=P+Math.imul(fe,bn)|0,A=A+Math.imul(fe,_n)|0,A=A+Math.imul(De,bn)|0,$=$+Math.imul(De,_n)|0,P=P+Math.imul(re,An)|0,A=A+Math.imul(re,En)|0,A=A+Math.imul(oe,An)|0,$=$+Math.imul(oe,En)|0;var ed=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(ed>>>26)|0,ed&=67108863,P=Math.imul(E,an),A=Math.imul(E,pn),A=A+Math.imul(D,an)|0,$=Math.imul(D,pn),P=P+Math.imul(Fe,cn)|0,A=A+Math.imul(Fe,gn)|0,A=A+Math.imul(O,cn)|0,$=$+Math.imul(O,gn)|0,P=P+Math.imul(ve,Je)|0,A=A+Math.imul(ve,yn)|0,A=A+Math.imul(Pe,Je)|0,$=$+Math.imul(Pe,yn)|0,P=P+Math.imul(he,mn)|0,A=A+Math.imul(he,wn)|0,A=A+Math.imul(Se,mn)|0,$=$+Math.imul(Se,wn)|0,P=P+Math.imul(Ie,bn)|0,A=A+Math.imul(Ie,_n)|0,A=A+Math.imul(Be,bn)|0,$=$+Math.imul(Be,_n)|0,P=P+Math.imul(fe,An)|0,A=A+Math.imul(fe,En)|0,A=A+Math.imul(De,An)|0,$=$+Math.imul(De,En)|0;var jl=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(jl>>>26)|0,jl&=67108863,P=Math.imul(E,cn),A=Math.imul(E,gn),A=A+Math.imul(D,cn)|0,$=Math.imul(D,gn),P=P+Math.imul(Fe,Je)|0,A=A+Math.imul(Fe,yn)|0,A=A+Math.imul(O,Je)|0,$=$+Math.imul(O,yn)|0,P=P+Math.imul(ve,mn)|0,A=A+Math.imul(ve,wn)|0,A=A+Math.imul(Pe,mn)|0,$=$+Math.imul(Pe,wn)|0,P=P+Math.imul(he,bn)|0,A=A+Math.imul(he,_n)|0,A=A+Math.imul(Se,bn)|0,$=$+Math.imul(Se,_n)|0,P=P+Math.imul(Ie,An)|0,A=A+Math.imul(Ie,En)|0,A=A+Math.imul(Be,An)|0,$=$+Math.imul(Be,En)|0;var nd=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(nd>>>26)|0,nd&=67108863,P=Math.imul(E,Je),A=Math.imul(E,yn),A=A+Math.imul(D,Je)|0,$=Math.imul(D,yn),P=P+Math.imul(Fe,mn)|0,A=A+Math.imul(Fe,wn)|0,A=A+Math.imul(O,mn)|0,$=$+Math.imul(O,wn)|0,P=P+Math.imul(ve,bn)|0,A=A+Math.imul(ve,_n)|0,A=A+Math.imul(Pe,bn)|0,$=$+Math.imul(Pe,_n)|0,P=P+Math.imul(he,An)|0,A=A+Math.imul(he,En)|0,A=A+Math.imul(Se,An)|0,$=$+Math.imul(Se,En)|0;var rd=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(rd>>>26)|0,rd&=67108863,P=Math.imul(E,mn),A=Math.imul(E,wn),A=A+Math.imul(D,mn)|0,$=Math.imul(D,wn),P=P+Math.imul(Fe,bn)|0,A=A+Math.imul(Fe,_n)|0,A=A+Math.imul(O,bn)|0,$=$+Math.imul(O,_n)|0,P=P+Math.imul(ve,An)|0,A=A+Math.imul(ve,En)|0,A=A+Math.imul(Pe,An)|0,$=$+Math.imul(Pe,En)|0;var id=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(id>>>26)|0,id&=67108863,P=Math.imul(E,bn),A=Math.imul(E,_n),A=A+Math.imul(D,bn)|0,$=Math.imul(D,_n),P=P+Math.imul(Fe,An)|0,A=A+Math.imul(Fe,En)|0,A=A+Math.imul(O,An)|0,$=$+Math.imul(O,En)|0;var sd=(z+P|0)+((A&8191)<<13)|0;z=($+(A>>>13)|0)+(sd>>>26)|0,sd&=67108863,P=Math.imul(E,An),A=Math.imul(E,En),A=A+Math.imul(D,An)|0,$=Math.imul(D,En);var la=(z+P|0)+((A&8191)<<13)|0;return z=($+(A>>>13)|0)+(la>>>26)|0,la&=67108863,M[0]=Wh,M[1]=Vl,M[2]=Zh,M[3]=qh,M[4]=Qh,M[5]=Yh,M[6]=Kl,M[7]=Jh,M[8]=so,M[9]=Xh,M[10]=Pi,M[11]=td,M[12]=ed,M[13]=jl,M[14]=nd,M[15]=rd,M[16]=id,M[17]=sd,M[18]=la,z!==0&&(M[19]=z,v.length++),v};Math.imul||(H=B);function U(C,p,m){m.negative=p.negative^C.negative,m.length=C.length+p.length;for(var v=0,k=0,N=0;N<m.length-1;N++){var M=k;k=0;for(var z=v&67108863,P=Math.min(N,p.length-1),A=Math.max(0,N-C.length+1);A<=P;A++){var $=N-A,ct=C.words[$]|0,dt=p.words[A]|0,wt=ct*dt,Gt=wt&67108863;M=M+(wt/67108864|0)|0,Gt=Gt+z|0,z=Gt&67108863,M=M+(Gt>>>26)|0,k+=M>>>26,M&=67108863}m.words[N]=z,v=M,M=k}return v!==0?m.words[N]=v:m.length--,m._strip()}function G(C,p,m){return U(C,p,m)}s.prototype.mulTo=function(p,m){var v,k=this.length+p.length;return this.length===10&&p.length===10?v=H(this,p,m):k<63?v=B(this,p,m):k<1024?v=U(this,p,m):v=G(this,p,m),v},s.prototype.mul=function(p){var m=new s(null);return m.words=new Array(this.length+p.length),this.mulTo(p,m)},s.prototype.mulf=function(p){var m=new s(null);return m.words=new Array(this.length+p.length),G(this,p,m)},s.prototype.imul=function(p){return this.clone().mulTo(p,this)},s.prototype.imuln=function(p){var m=p<0;m&&(p=-p),r(typeof p=="number"),r(p<67108864);for(var v=0,k=0;k<this.length;k++){var N=(this.words[k]|0)*p,M=(N&67108863)+(v&67108863);v>>=26,v+=N/67108864|0,v+=M>>>26,this.words[k]=M&67108863}return v!==0&&(this.words[k]=v,this.length++),m?this.ineg():this},s.prototype.muln=function(p){return this.clone().imuln(p)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(p){var m=I(p);if(m.length===0)return new s(1);for(var v=this,k=0;k<m.length&&m[k]===0;k++,v=v.sqr());if(++k<m.length)for(var N=v.sqr();k<m.length;k++,N=N.sqr())m[k]!==0&&(v=v.mul(N));return v},s.prototype.iushln=function(p){r(typeof p=="number"&&p>=0);var m=p%26,v=(p-m)/26,k=67108863>>>26-m<<26-m,N;if(m!==0){var M=0;for(N=0;N<this.length;N++){var z=this.words[N]&k,P=(this.words[N]|0)-z<<m;this.words[N]=P|M,M=z>>>26-m}M&&(this.words[N]=M,this.length++)}if(v!==0){for(N=this.length-1;N>=0;N--)this.words[N+v]=this.words[N];for(N=0;N<v;N++)this.words[N]=0;this.length+=v}return this._strip()},s.prototype.ishln=function(p){return r(this.negative===0),this.iushln(p)},s.prototype.iushrn=function(p,m,v){r(typeof p=="number"&&p>=0);var k;m?k=(m-m%26)/26:k=0;var N=p%26,M=Math.min((p-N)/26,this.length),z=67108863^67108863>>>N<<N,P=v;if(k-=M,k=Math.max(0,k),P){for(var A=0;A<M;A++)P.words[A]=this.words[A];P.length=M}if(M!==0)if(this.length>M)for(this.length-=M,A=0;A<this.length;A++)this.words[A]=this.words[A+M];else this.words[0]=0,this.length=1;var $=0;for(A=this.length-1;A>=0&&($!==0||A>=k);A--){var ct=this.words[A]|0;this.words[A]=$<<26-N|ct>>>N,$=ct&z}return P&&$!==0&&(P.words[P.length++]=$),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(p,m,v){return r(this.negative===0),this.iushrn(p,m,v)},s.prototype.shln=function(p){return this.clone().ishln(p)},s.prototype.ushln=function(p){return this.clone().iushln(p)},s.prototype.shrn=function(p){return this.clone().ishrn(p)},s.prototype.ushrn=function(p){return this.clone().iushrn(p)},s.prototype.testn=function(p){r(typeof p=="number"&&p>=0);var m=p%26,v=(p-m)/26,k=1<<m;if(this.length<=v)return!1;var N=this.words[v];return!!(N&k)},s.prototype.imaskn=function(p){r(typeof p=="number"&&p>=0);var m=p%26,v=(p-m)/26;if(r(this.negative===0,"imaskn works only with positive numbers"),this.length<=v)return this;if(m!==0&&v++,this.length=Math.min(v,this.length),m!==0){var k=67108863^67108863>>>m<<m;this.words[this.length-1]&=k}return this._strip()},s.prototype.maskn=function(p){return this.clone().imaskn(p)},s.prototype.iaddn=function(p){return r(typeof p=="number"),r(p<67108864),p<0?this.isubn(-p):this.negative!==0?this.length===1&&(this.words[0]|0)<=p?(this.words[0]=p-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(p),this.negative=1,this):this._iaddn(p)},s.prototype._iaddn=function(p){this.words[0]+=p;for(var m=0;m<this.length&&this.words[m]>=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},s.prototype.isubn=function(p){if(r(typeof p=="number"),r(p<67108864),p<0)return this.iaddn(-p);if(this.negative!==0)return this.negative=0,this.iaddn(p),this.negative=1,this;if(this.words[0]-=p,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m<this.length&&this.words[m]<0;m++)this.words[m]+=67108864,this.words[m+1]-=1;return this._strip()},s.prototype.addn=function(p){return this.clone().iaddn(p)},s.prototype.subn=function(p){return this.clone().isubn(p)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(p,m,v){var k=p.length+v,N;this._expand(k);var M,z=0;for(N=0;N<p.length;N++){M=(this.words[N+v]|0)+z;var P=(p.words[N]|0)*m;M-=P&67108863,z=(M>>26)-(P/67108864|0),this.words[N+v]=M&67108863}for(;N<this.length-v;N++)M=(this.words[N+v]|0)+z,z=M>>26,this.words[N+v]=M&67108863;if(z===0)return this._strip();for(r(z===-1),z=0,N=0;N<this.length;N++)M=-(this.words[N]|0)+z,z=M>>26,this.words[N]=M&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(p,m){var v=this.length-p.length,k=this.clone(),N=p,M=N.words[N.length-1]|0,z=this._countBits(M);v=26-z,v!==0&&(N=N.ushln(v),k.iushln(v),M=N.words[N.length-1]|0);var P=k.length-N.length,A;if(m!=="mod"){A=new s(null),A.length=P+1,A.words=new Array(A.length);for(var $=0;$<A.length;$++)A.words[$]=0}var ct=k.clone()._ishlnsubmul(N,1,P);ct.negative===0&&(k=ct,A&&(A.words[P]=1));for(var dt=P-1;dt>=0;dt--){var wt=(k.words[N.length+dt]|0)*67108864+(k.words[N.length+dt-1]|0);for(wt=Math.min(wt/M|0,67108863),k._ishlnsubmul(N,wt,dt);k.negative!==0;)wt--,k.negative=0,k._ishlnsubmul(N,1,dt),k.isZero()||(k.negative^=1);A&&(A.words[dt]=wt)}return A&&A._strip(),k._strip(),m!=="div"&&v!==0&&k.iushrn(v),{div:A||null,mod:k}},s.prototype.divmod=function(p,m,v){if(r(!p.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var k,N,M;return this.negative!==0&&p.negative===0?(M=this.neg().divmod(p,m),m!=="mod"&&(k=M.div.neg()),m!=="div"&&(N=M.mod.neg(),v&&N.negative!==0&&N.iadd(p)),{div:k,mod:N}):this.negative===0&&p.negative!==0?(M=this.divmod(p.neg(),m),m!=="mod"&&(k=M.div.neg()),{div:k,mod:M.mod}):this.negative&p.negative?(M=this.neg().divmod(p.neg(),m),m!=="div"&&(N=M.mod.neg(),v&&N.negative!==0&&N.isub(p)),{div:M.div,mod:N}):p.length>this.length||this.cmp(p)<0?{div:new s(0),mod:this}:p.length===1?m==="div"?{div:this.divn(p.words[0]),mod:null}:m==="mod"?{div:null,mod:new s(this.modrn(p.words[0]))}:{div:this.divn(p.words[0]),mod:new s(this.modrn(p.words[0]))}:this._wordDiv(p,m)},s.prototype.div=function(p){return this.divmod(p,"div",!1).div},s.prototype.mod=function(p){return this.divmod(p,"mod",!1).mod},s.prototype.umod=function(p){return this.divmod(p,"mod",!0).mod},s.prototype.divRound=function(p){var m=this.divmod(p);if(m.mod.isZero())return m.div;var v=m.div.negative!==0?m.mod.isub(p):m.mod,k=p.ushrn(1),N=p.andln(1),M=v.cmp(k);return M<0||N===1&&M===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},s.prototype.modrn=function(p){var m=p<0;m&&(p=-p),r(p<=67108863);for(var v=(1<<26)%p,k=0,N=this.length-1;N>=0;N--)k=(v*k+(this.words[N]|0))%p;return m?-k:k},s.prototype.modn=function(p){return this.modrn(p)},s.prototype.idivn=function(p){var m=p<0;m&&(p=-p),r(p<=67108863);for(var v=0,k=this.length-1;k>=0;k--){var N=(this.words[k]|0)+v*67108864;this.words[k]=N/p|0,v=N%p}return this._strip(),m?this.ineg():this},s.prototype.divn=function(p){return this.clone().idivn(p)},s.prototype.egcd=function(p){r(p.negative===0),r(!p.isZero());var m=this,v=p.clone();m.negative!==0?m=m.umod(p):m=m.clone();for(var k=new s(1),N=new s(0),M=new s(0),z=new s(1),P=0;m.isEven()&&v.isEven();)m.iushrn(1),v.iushrn(1),++P;for(var A=v.clone(),$=m.clone();!m.isZero();){for(var ct=0,dt=1;!(m.words[0]&dt)&&ct<26;++ct,dt<<=1);if(ct>0)for(m.iushrn(ct);ct-- >0;)(k.isOdd()||N.isOdd())&&(k.iadd(A),N.isub($)),k.iushrn(1),N.iushrn(1);for(var wt=0,Gt=1;!(v.words[0]&Gt)&&wt<26;++wt,Gt<<=1);if(wt>0)for(v.iushrn(wt);wt-- >0;)(M.isOdd()||z.isOdd())&&(M.iadd(A),z.isub($)),M.iushrn(1),z.iushrn(1);m.cmp(v)>=0?(m.isub(v),k.isub(M),N.isub(z)):(v.isub(m),M.isub(k),z.isub(N))}return{a:M,b:z,gcd:v.iushln(P)}},s.prototype._invmp=function(p){r(p.negative===0),r(!p.isZero());var m=this,v=p.clone();m.negative!==0?m=m.umod(p):m=m.clone();for(var k=new s(1),N=new s(0),M=v.clone();m.cmpn(1)>0&&v.cmpn(1)>0;){for(var z=0,P=1;!(m.words[0]&P)&&z<26;++z,P<<=1);if(z>0)for(m.iushrn(z);z-- >0;)k.isOdd()&&k.iadd(M),k.iushrn(1);for(var A=0,$=1;!(v.words[0]&$)&&A<26;++A,$<<=1);if(A>0)for(v.iushrn(A);A-- >0;)N.isOdd()&&N.iadd(M),N.iushrn(1);m.cmp(v)>=0?(m.isub(v),k.isub(N)):(v.isub(m),N.isub(k))}var ct;return m.cmpn(1)===0?ct=k:ct=N,ct.cmpn(0)<0&&ct.iadd(p),ct},s.prototype.gcd=function(p){if(this.isZero())return p.abs();if(p.isZero())return this.abs();var m=this.clone(),v=p.clone();m.negative=0,v.negative=0;for(var k=0;m.isEven()&&v.isEven();k++)m.iushrn(1),v.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;v.isEven();)v.iushrn(1);var N=m.cmp(v);if(N<0){var M=m;m=v,v=M}else if(N===0||v.cmpn(1)===0)break;m.isub(v)}while(!0);return v.iushln(k)},s.prototype.invm=function(p){return this.egcd(p).a.umod(p)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(p){return this.words[0]&p},s.prototype.bincn=function(p){r(typeof p=="number");var m=p%26,v=(p-m)/26,k=1<<m;if(this.length<=v)return this._expand(v+1),this.words[v]|=k,this;for(var N=k,M=v;N!==0&&M<this.length;M++){var z=this.words[M]|0;z+=N,N=z>>>26,z&=67108863,this.words[M]=z}return N!==0&&(this.words[M]=N,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(p){var m=p<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var v;if(this.length>1)v=1;else{m&&(p=-p),r(p<=67108863,"Number is too big");var k=this.words[0]|0;v=k===p?0:k<p?-1:1}return this.negative!==0?-v|0:v},s.prototype.cmp=function(p){if(this.negative!==0&&p.negative===0)return-1;if(this.negative===0&&p.negative!==0)return 1;var m=this.ucmp(p);return this.negative!==0?-m|0:m},s.prototype.ucmp=function(p){if(this.length>p.length)return 1;if(this.length<p.length)return-1;for(var m=0,v=this.length-1;v>=0;v--){var k=this.words[v]|0,N=p.words[v]|0;if(k!==N){k<N?m=-1:k>N&&(m=1);break}}return m},s.prototype.gtn=function(p){return this.cmpn(p)===1},s.prototype.gt=function(p){return this.cmp(p)===1},s.prototype.gten=function(p){return this.cmpn(p)>=0},s.prototype.gte=function(p){return this.cmp(p)>=0},s.prototype.ltn=function(p){return this.cmpn(p)===-1},s.prototype.lt=function(p){return this.cmp(p)===-1},s.prototype.lten=function(p){return this.cmpn(p)<=0},s.prototype.lte=function(p){return this.cmp(p)<=0},s.prototype.eqn=function(p){return this.cmpn(p)===0},s.prototype.eq=function(p){return this.cmp(p)===0},s.red=function(p){return new rt(p)},s.prototype.toRed=function(p){return r(!this.red,"Already a number in reduction context"),r(this.negative===0,"red works only with positives"),p.convertTo(this)._forceRed(p)},s.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(p){return this.red=p,this},s.prototype.forceRed=function(p){return r(!this.red,"Already a number in reduction context"),this._forceRed(p)},s.prototype.redAdd=function(p){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,p)},s.prototype.redIAdd=function(p){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,p)},s.prototype.redSub=function(p){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,p)},s.prototype.redISub=function(p){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,p)},s.prototype.redShl=function(p){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,p)},s.prototype.redMul=function(p){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,p),this.red.mul(this,p)},s.prototype.redIMul=function(p){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,p),this.red.imul(this,p)},s.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(p){return r(this.red&&!p.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,p)};var W={k256:null,p224:null,p192:null,p25519:null};function X(C,p){this.name=C,this.p=new s(p,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}X.prototype._tmp=function(){var p=new s(null);return p.words=new Array(Math.ceil(this.n/13)),p},X.prototype.ireduce=function(p){var m=p,v;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),v=m.bitLength();while(v>this.n);var k=v<this.n?-1:m.ucmp(this.p);return k===0?(m.words[0]=0,m.length=1):k>0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},X.prototype.split=function(p,m){p.iushrn(this.n,0,m)},X.prototype.imulK=function(p){return p.imul(this.k)};function j(){X.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(j,X),j.prototype.split=function(p,m){for(var v=4194303,k=Math.min(p.length,9),N=0;N<k;N++)m.words[N]=p.words[N];if(m.length=k,p.length<=9){p.words[0]=0,p.length=1;return}var M=p.words[9];for(m.words[m.length++]=M&v,N=10;N<p.length;N++){var z=p.words[N]|0;p.words[N-10]=(z&v)<<4|M>>>22,M=z}M>>>=22,p.words[N-10]=M,M===0&&p.length>10?p.length-=10:p.length-=9},j.prototype.imulK=function(p){p.words[p.length]=0,p.words[p.length+1]=0,p.length+=2;for(var m=0,v=0;v<p.length;v++){var k=p.words[v]|0;m+=k*977,p.words[v]=m&67108863,m=k*64+(m/67108864|0)}return p.words[p.length-1]===0&&(p.length--,p.words[p.length-1]===0&&p.length--),p};function J(){X.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(J,X);function it(){X.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(it,X);function ut(){X.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ut,X),ut.prototype.imulK=function(p){for(var m=0,v=0;v<p.length;v++){var k=(p.words[v]|0)*19+m,N=k&67108863;k>>>=26,p.words[v]=N,m=k}return m!==0&&(p.words[p.length++]=m),p},s._prime=function(p){if(W[p])return W[p];var m;if(p==="k256")m=new j;else if(p==="p224")m=new J;else if(p==="p192")m=new it;else if(p==="p25519")m=new ut;else throw new Error("Unknown prime "+p);return W[p]=m,m};function rt(C){if(typeof C=="string"){var p=s._prime(C);this.m=p.p,this.prime=p}else r(C.gtn(1),"modulus must be greater than 1"),this.m=C,this.prime=null}rt.prototype._verify1=function(p){r(p.negative===0,"red works only with positives"),r(p.red,"red works only with red numbers")},rt.prototype._verify2=function(p,m){r((p.negative|m.negative)===0,"red works only with positives"),r(p.red&&p.red===m.red,"red works only with red numbers")},rt.prototype.imod=function(p){return this.prime?this.prime.ireduce(p)._forceRed(this):(h(p,p.umod(this.m)._forceRed(this)),p)},rt.prototype.neg=function(p){return p.isZero()?p.clone():this.m.sub(p)._forceRed(this)},rt.prototype.add=function(p,m){this._verify2(p,m);var v=p.add(m);return v.cmp(this.m)>=0&&v.isub(this.m),v._forceRed(this)},rt.prototype.iadd=function(p,m){this._verify2(p,m);var v=p.iadd(m);return v.cmp(this.m)>=0&&v.isub(this.m),v},rt.prototype.sub=function(p,m){this._verify2(p,m);var v=p.sub(m);return v.cmpn(0)<0&&v.iadd(this.m),v._forceRed(this)},rt.prototype.isub=function(p,m){this._verify2(p,m);var v=p.isub(m);return v.cmpn(0)<0&&v.iadd(this.m),v},rt.prototype.shl=function(p,m){return this._verify1(p),this.imod(p.ushln(m))},rt.prototype.imul=function(p,m){return this._verify2(p,m),this.imod(p.imul(m))},rt.prototype.mul=function(p,m){return this._verify2(p,m),this.imod(p.mul(m))},rt.prototype.isqr=function(p){return this.imul(p,p.clone())},rt.prototype.sqr=function(p){return this.mul(p,p)},rt.prototype.sqrt=function(p){if(p.isZero())return p.clone();var m=this.m.andln(3);if(r(m%2===1),m===3){var v=this.m.add(new s(1)).iushrn(2);return this.pow(p,v)}for(var k=this.m.subn(1),N=0;!k.isZero()&&k.andln(1)===0;)N++,k.iushrn(1);r(!k.isZero());var M=new s(1).toRed(this),z=M.redNeg(),P=this.m.subn(1).iushrn(1),A=this.m.bitLength();for(A=new s(2*A*A).toRed(this);this.pow(A,P).cmp(z)!==0;)A.redIAdd(z);for(var $=this.pow(A,k),ct=this.pow(p,k.addn(1).iushrn(1)),dt=this.pow(p,k),wt=N;dt.cmp(M)!==0;){for(var Gt=dt,Ut=0;Gt.cmp(M)!==0;Ut++)Gt=Gt.redSqr();r(Ut<wt);var Lt=this.pow($,new s(1).iushln(wt-Ut-1));ct=ct.redMul(Lt),$=Lt.redSqr(),dt=dt.redMul($),wt=Ut}return ct},rt.prototype.invm=function(p){var m=p._invmp(this.m);return m.negative!==0?(m.negative=0,this.imod(m).redNeg()):this.imod(m)},rt.prototype.pow=function(p,m){if(m.isZero())return new s(1).toRed(this);if(m.cmpn(1)===0)return p.clone();var v=4,k=new Array(1<<v);k[0]=new s(1).toRed(this),k[1]=p;for(var N=2;N<k.length;N++)k[N]=this.mul(k[N-1],p);var M=k[0],z=0,P=0,A=m.bitLength()%26;for(A===0&&(A=26),N=m.length-1;N>=0;N--){for(var $=m.words[N],ct=A-1;ct>=0;ct--){var dt=$>>ct&1;if(M!==k[0]&&(M=this.sqr(M)),dt===0&&z===0){P=0;continue}z<<=1,z|=dt,P++,!(P!==v&&(N!==0||ct!==0))&&(M=this.mul(M,k[z]),P=0,z=0)}A=26}return M},rt.prototype.convertTo=function(p){var m=p.umod(this.m);return m===p?m.clone():m},rt.prototype.convertFrom=function(p){var m=p.clone();return m.red=null,m},s.mont=function(p){return new ot(p)};function ot(C){rt.call(this,C),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(ot,rt),ot.prototype.convertTo=function(p){return this.imod(p.ushln(this.shift))},ot.prototype.convertFrom=function(p){var m=this.imod(p.mul(this.rinv));return m.red=null,m},ot.prototype.imul=function(p,m){if(p.isZero()||m.isZero())return p.words[0]=0,p.length=1,p;var v=p.imul(m),k=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=v.isub(k).iushrn(this.shift),M=N;return N.cmp(this.m)>=0?M=N.isub(this.m):N.cmpn(0)<0&&(M=N.iadd(this.m)),M._forceRed(this)},ot.prototype.mul=function(p,m){if(p.isZero()||m.isZero())return new s(0)._forceRed(this);var v=p.mul(m),k=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=v.isub(k).iushrn(this.shift),M=N;return N.cmp(this.m)>=0?M=N.isub(this.m):N.cmpn(0)<0&&(M=N.iadd(this.m)),M._forceRed(this)},ot.prototype.invm=function(p){var m=this.imod(p._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(n,ae)}(Dg);var $g=Dg.exports;const As=Mr($g);function zd(n){if(!Number.isSafeInteger(n)||n<0)throw new Error("positive integer expected, got "+n)}function gP(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function bf(n,...t){if(!gP(n))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(n.length))throw new Error("Uint8Array expected of length "+t+", got length="+n.length)}function yP(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");zd(n.outputLen),zd(n.blockLen)}function Yc(n,t=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(t&&n.finished)throw new Error("Hash#digest() has already been called")}function V_(n,t){bf(n);const e=t.outputLen;if(n.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}const Jc=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function mP(n){return new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4))}function Hg(n){return new DataView(n.buffer,n.byteOffset,n.byteLength)}function $i(n,t){return n<<32-t|n>>>t}const K_=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function wP(n){return n<<24&4278190080|n<<8&16711680|n>>>8&65280|n>>>24&255}function j_(n){for(let t=0;t<n.length;t++)n[t]=wP(n[t])}function bP(n){if(typeof n!="string")throw new Error("utf8ToBytes expected string, got "+typeof n);return new Uint8Array(new TextEncoder().encode(n))}function Gd(n){return typeof n=="string"&&(n=bP(n)),bf(n),n}function _P(...n){let t=0;for(let r=0;r<n.length;r++){const i=n[r];bf(i),t+=i.length}const e=new Uint8Array(t);for(let r=0,i=0;r<n.length;r++){const s=n[r];e.set(s,i),i+=s.length}return e}let zg=class{clone(){return this._cloneInto()}};function Gg(n){const t=r=>n().update(Gd(r)).digest(),e=n();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>n(),t}function W_(n=32){if(Jc&&typeof Jc.getRandomValues=="function")return Jc.getRandomValues(new Uint8Array(n));if(Jc&&typeof Jc.randomBytes=="function")return Jc.randomBytes(n);throw new Error("crypto.getRandomValues must be defined")}function AP(n,t,e,r){if(typeof n.setBigUint64=="function")return n.setBigUint64(t,e,r);const i=BigInt(32),s=BigInt(4294967295),o=Number(e>>i&s),a=Number(e&s),u=r?4:0,f=r?0:4;n.setUint32(t+u,o,r),n.setUint32(t+f,a,r)}function EP(n,t,e){return n&t^~n&e}function vP(n,t,e){return n&t^n&e^t&e}class Z_ extends zg{constructor(t,e,r,i){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Hg(this.buffer)}update(t){Yc(this);const{view:e,buffer:r,blockLen:i}=this;t=Gd(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const u=Hg(t);for(;i<=s-o;o+=i)this.process(u,o);continue}r.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Yc(this),V_(t,this),this.finished=!0;const{buffer:e,view:r,blockLen:i,isLE:s}=this;let{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(r,0),o=0);for(let y=o;y<i;y++)e[y]=0;AP(r,i-8,BigInt(this.length*8),s),this.process(r,0);const a=Hg(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=u/4,h=this.get();if(f>h.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<f;y++)a.setUint32(4*y,h[y],s)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:r,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%e&&t.buffer.set(r),t}}const Vd=BigInt(2**32-1),Vg=BigInt(32);function q_(n,t=!1){return t?{h:Number(n&Vd),l:Number(n>>Vg&Vd)}:{h:Number(n>>Vg&Vd)|0,l:Number(n&Vd)|0}}function Q_(n,t=!1){let e=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let i=0;i<n.length;i++){const{h:s,l:o}=q_(n[i],t);[e[i],r[i]]=[s,o]}return[e,r]}const xP=(n,t)=>BigInt(n>>>0)<<Vg|BigInt(t>>>0),RP=(n,t,e)=>n>>>e,IP=(n,t,e)=>n<<32-e|t>>>e,SP=(n,t,e)=>n>>>e|t<<32-e,kP=(n,t,e)=>n<<32-e|t>>>e,TP=(n,t,e)=>n<<64-e|t>>>e-32,OP=(n,t,e)=>n>>>e-32|t<<64-e,NP=(n,t)=>t,CP=(n,t)=>n,Y_=(n,t,e)=>n<<e|t>>>32-e,J_=(n,t,e)=>t<<e|n>>>32-e,X_=(n,t,e)=>t<<e-32|n>>>64-e,tA=(n,t,e)=>n<<e-32|t>>>64-e;function BP(n,t,e,r){const i=(t>>>0)+(r>>>0);return{h:n+e+(i/2**32|0)|0,l:i|0}}const Xt={fromBig:q_,split:Q_,toBig:xP,shrSH:RP,shrSL:IP,rotrSH:SP,rotrSL:kP,rotrBH:TP,rotrBL:OP,rotr32H:NP,rotr32L:CP,rotlSH:Y_,rotlSL:J_,rotlBH:X_,rotlBL:tA,add:BP,add3L:(n,t,e)=>(n>>>0)+(t>>>0)+(e>>>0),add3H:(n,t,e,r)=>t+e+r+(n/2**32|0)|0,add4L:(n,t,e,r)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0),add4H:(n,t,e,r,i)=>t+e+r+i+(n/2**32|0)|0,add5H:(n,t,e,r,i,s)=>t+e+r+i+s+(n/2**32|0)|0,add5L:(n,t,e,r,i)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0)},[PP,MP]=Xt.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n))),po=new Uint32Array(80),go=new Uint32Array(80);let LP=class extends Z_{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:r,Bl:i,Ch:s,Cl:o,Dh:a,Dl:u,Eh:f,El:h,Fh:y,Fl:_,Gh:w,Gl:R,Hh:T,Hl:I}=this;return[t,e,r,i,s,o,a,u,f,h,y,_,w,R,T,I]}set(t,e,r,i,s,o,a,u,f,h,y,_,w,R,T,I){this.Ah=t|0,this.Al=e|0,this.Bh=r|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=u|0,this.Eh=f|0,this.El=h|0,this.Fh=y|0,this.Fl=_|0,this.Gh=w|0,this.Gl=R|0,this.Hh=T|0,this.Hl=I|0}process(t,e){for(let U=0;U<16;U++,e+=4)po[U]=t.getUint32(e),go[U]=t.getUint32(e+=4);for(let U=16;U<80;U++){const G=po[U-15]|0,W=go[U-15]|0,X=Xt.rotrSH(G,W,1)^Xt.rotrSH(G,W,8)^Xt.shrSH(G,W,7),j=Xt.rotrSL(G,W,1)^Xt.rotrSL(G,W,8)^Xt.shrSL(G,W,7),J=po[U-2]|0,it=go[U-2]|0,ut=Xt.rotrSH(J,it,19)^Xt.rotrBH(J,it,61)^Xt.shrSH(J,it,6),rt=Xt.rotrSL(J,it,19)^Xt.rotrBL(J,it,61)^Xt.shrSL(J,it,6),ot=Xt.add4L(j,rt,go[U-7],go[U-16]),C=Xt.add4H(ot,X,ut,po[U-7],po[U-16]);po[U]=C|0,go[U]=ot|0}let{Ah:r,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:f,Dl:h,Eh:y,El:_,Fh:w,Fl:R,Gh:T,Gl:I,Hh:B,Hl:H}=this;for(let U=0;U<80;U++){const G=Xt.rotrSH(y,_,14)^Xt.rotrSH(y,_,18)^Xt.rotrBH(y,_,41),W=Xt.rotrSL(y,_,14)^Xt.rotrSL(y,_,18)^Xt.rotrBL(y,_,41),X=y&w^~y&T,j=_&R^~_&I,J=Xt.add5L(H,W,j,MP[U],go[U]),it=Xt.add5H(J,B,G,X,PP[U],po[U]),ut=J|0,rt=Xt.rotrSH(r,i,28)^Xt.rotrBH(r,i,34)^Xt.rotrBH(r,i,39),ot=Xt.rotrSL(r,i,28)^Xt.rotrBL(r,i,34)^Xt.rotrBL(r,i,39),C=r&s^r&a^s&a,p=i&o^i&u^o&u;B=T|0,H=I|0,T=w|0,I=R|0,w=y|0,R=_|0,{h:y,l:_}=Xt.add(f|0,h|0,it|0,ut|0),f=a|0,h=u|0,a=s|0,u=o|0,s=r|0,o=i|0;const m=Xt.add3L(ut,ot,p);r=Xt.add3H(m,it,rt,C),i=m|0}({h:r,l:i}=Xt.add(this.Ah|0,this.Al|0,r|0,i|0)),{h:s,l:o}=Xt.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=Xt.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:f,l:h}=Xt.add(this.Dh|0,this.Dl|0,f|0,h|0),{h:y,l:_}=Xt.add(this.Eh|0,this.El|0,y|0,_|0),{h:w,l:R}=Xt.add(this.Fh|0,this.Fl|0,w|0,R|0),{h:T,l:I}=Xt.add(this.Gh|0,this.Gl|0,T|0,I|0),{h:B,l:H}=Xt.add(this.Hh|0,this.Hl|0,B|0,H|0),this.set(r,i,s,o,a,u,f,h,y,_,w,R,T,I,B,H)}roundClean(){po.fill(0),go.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};const UP=Gg(()=>new LP);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Kd=BigInt(0),jd=BigInt(1),DP=BigInt(2);function wa(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function _f(n){if(!wa(n))throw new Error("Uint8Array expected")}function Es(n,t){if(typeof t!="boolean")throw new Error(n+" boolean expected, got "+t)}const FP=Array.from({length:256},(n,t)=>t.toString(16).padStart(2,"0"));function ba(n){_f(n);let t="";for(let e=0;e<n.length;e++)t+=FP[n[e]];return t}function Xc(n){const t=n.toString(16);return t.length&1?"0"+t:t}function Kg(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return n===""?Kd:BigInt("0x"+n)}const vs={_0:48,_9:57,A:65,F:70,a:97,f:102};function eA(n){if(n>=vs._0&&n<=vs._9)return n-vs._0;if(n>=vs.A&&n<=vs.F)return n-(vs.A-10);if(n>=vs.a&&n<=vs.f)return n-(vs.a-10)}function tu(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);const t=n.length,e=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(e);for(let i=0,s=0;i<e;i++,s+=2){const o=eA(n.charCodeAt(s)),a=eA(n.charCodeAt(s+1));if(o===void 0||a===void 0){const u=n[s]+n[s+1];throw new Error('hex string expected, got non-hex character "'+u+'" at index '+s)}r[i]=o*16+a}return r}function _a(n){return Kg(ba(n))}function eu(n){return _f(n),Kg(ba(Uint8Array.from(n).reverse()))}function nu(n,t){return tu(n.toString(16).padStart(t*2,"0"))}function Af(n,t){return nu(n,t).reverse()}function $P(n){return tu(Xc(n))}function Tn(n,t,e){let r;if(typeof t=="string")try{r=tu(t)}catch(s){throw new Error(n+" must be hex string or Uint8Array, cause: "+s)}else if(wa(t))r=Uint8Array.from(t);else throw new Error(n+" must be hex string or Uint8Array");const i=r.length;if(typeof e=="number"&&i!==e)throw new Error(n+" of length "+e+" expected, got "+i);return r}function Aa(...n){let t=0;for(let r=0;r<n.length;r++){const i=n[r];_f(i),t+=i.length}const e=new Uint8Array(t);for(let r=0,i=0;r<n.length;r++){const s=n[r];e.set(s,i),i+=s.length}return e}function HP(n,t){if(n.length!==t.length)return!1;let e=0;for(let r=0;r<n.length;r++)e|=n[r]^t[r];return e===0}function zP(n){if(typeof n!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(n))}const jg=n=>typeof n=="bigint"&&Kd<=n;function Wd(n,t,e){return jg(n)&&jg(t)&&jg(e)&&t<=n&&n<e}function Jr(n,t,e,r){if(!Wd(t,e,r))throw new Error("expected valid "+n+": "+e+" <= n < "+r+", got "+t)}function nA(n){let t;for(t=0;n>Kd;n>>=jd,t+=1);return t}function GP(n,t){return n>>BigInt(t)&jd}function VP(n,t,e){return n|(e?jd:Kd)<<BigInt(t)}const Wg=n=>(DP<<BigInt(n-1))-jd,Zg=n=>new Uint8Array(n),rA=n=>Uint8Array.from(n);function iA(n,t,e){if(typeof n!="number"||n<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let r=Zg(n),i=Zg(n),s=0;const o=()=>{r.fill(1),i.fill(0),s=0},a=(...y)=>e(i,r,...y),u=(y=Zg())=>{i=a(rA([0]),y),r=a(),y.length!==0&&(i=a(rA([1]),y),r=a())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let y=0;const _=[];for(;y<t;){r=a();const w=r.slice();_.push(w),y+=r.length}return Aa(..._)};return(y,_)=>{o(),u(y);let w;for(;!(w=_(f()));)u();return o(),w}}const KP={bigint:n=>typeof n=="bigint",function:n=>typeof n=="function",boolean:n=>typeof n=="boolean",string:n=>typeof n=="string",stringOrUint8Array:n=>typeof n=="string"||wa(n),isSafeInteger:n=>Number.isSafeInteger(n),array:n=>Array.isArray(n),field:(n,t)=>t.Fp.isValid(n),hash:n=>typeof n=="function"&&Number.isSafeInteger(n.outputLen)};function ru(n,t,e={}){const r=(i,s,o)=>{const a=KP[s];if(typeof a!="function")throw new Error("invalid validator function");const u=n[i];if(!(o&&u===void 0)&&!a(u,n))throw new Error("param "+String(i)+" is invalid. Expected "+s+", got "+u)};for(const[i,s]of Object.entries(t))r(i,s,!1);for(const[i,s]of Object.entries(e))r(i,s,!0);return n}const jP=()=>{throw new Error("not implemented")};function Ef(n){const t=new WeakMap;return(e,...r)=>{const i=t.get(e);if(i!==void 0)return i;const s=n(e,...r);return t.set(e,s),s}}const WP=Object.freeze(Object.defineProperty({__proto__:null,aInRange:Jr,abool:Es,abytes:_f,bitGet:GP,bitLen:nA,bitMask:Wg,bitSet:VP,bytesToHex:ba,bytesToNumberBE:_a,bytesToNumberLE:eu,concatBytes:Aa,createHmacDrbg:iA,ensureBytes:Tn,equalBytes:HP,hexToBytes:tu,hexToNumber:Kg,inRange:Wd,isBytes:wa,memoized:Ef,notImplemented:jP,numberToBytesBE:nu,numberToBytesLE:Af,numberToHexUnpadded:Xc,numberToVarBytesBE:$P,utf8ToBytes:zP,validateObject:ru},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Pn=BigInt(0),tn=BigInt(1),Ea=BigInt(2),ZP=BigInt(3),qg=BigInt(4),sA=BigInt(5),oA=BigInt(8);function qe(n,t){const e=n%t;return e>=Pn?e:t+e}function qP(n,t,e){if(t<Pn)throw new Error("invalid exponent, negatives unsupported");if(e<=Pn)throw new Error("invalid modulus");if(e===tn)return Pn;let r=tn;for(;t>Pn;)t&tn&&(r=r*n%e),n=n*n%e,t>>=tn;return r}function un(n,t,e){let r=n;for(;t-- >Pn;)r*=r,r%=e;return r}function Qg(n,t){if(n===Pn)throw new Error("invert: expected non-zero number");if(t<=Pn)throw new Error("invert: expected positive modulus, got "+t);let e=qe(n,t),r=t,i=Pn,s=tn;for(;e!==Pn;){const a=r/e,u=r%e,f=i-s*a;r=e,e=u,i=s,s=f}if(r!==tn)throw new Error("invert: does not exist");return qe(i,t)}function QP(n){const t=(n-tn)/Ea;let e,r,i;for(e=n-tn,r=0;e%Ea===Pn;e/=Ea,r++);for(i=Ea;i<n&&qP(i,t,n)!==n-tn;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const o=(n+tn)/qg;return function(u,f){const h=u.pow(f,o);if(!u.eql(u.sqr(h),f))throw new Error("Cannot find square root");return h}}const s=(e+tn)/Ea;return function(a,u){if(a.pow(u,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=r,h=a.pow(a.mul(a.ONE,i),e),y=a.pow(u,s),_=a.pow(u,e);for(;!a.eql(_,a.ONE);){if(a.eql(_,a.ZERO))return a.ZERO;let w=1;for(let T=a.sqr(_);w<f&&!a.eql(T,a.ONE);w++)T=a.sqr(T);const R=a.pow(h,tn<<BigInt(f-w-1));h=a.sqr(R),y=a.mul(y,R),_=a.mul(_,h),f=w}return y}}function YP(n){if(n%qg===ZP){const t=(n+tn)/qg;return function(r,i){const s=r.pow(i,t);if(!r.eql(r.sqr(s),i))throw new Error("Cannot find square root");return s}}if(n%oA===sA){const t=(n-sA)/oA;return function(r,i){const s=r.mul(i,Ea),o=r.pow(s,t),a=r.mul(i,o),u=r.mul(r.mul(a,Ea),o),f=r.mul(a,r.sub(u,r.ONE));if(!r.eql(r.sqr(f),i))throw new Error("Cannot find square root");return f}}return QP(n)}const JP=(n,t)=>(qe(n,t)&tn)===tn,XP=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function t4(n){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=XP.reduce((r,i)=>(r[i]="function",r),t);return ru(n,e)}function e4(n,t,e){if(e<Pn)throw new Error("invalid exponent, negatives unsupported");if(e===Pn)return n.ONE;if(e===tn)return t;let r=n.ONE,i=t;for(;e>Pn;)e&tn&&(r=n.mul(r,i)),i=n.sqr(i),e>>=tn;return r}function n4(n,t){const e=new Array(t.length),r=t.reduce((s,o,a)=>n.is0(o)?s:(e[a]=s,n.mul(s,o)),n.ONE),i=n.inv(r);return t.reduceRight((s,o,a)=>n.is0(o)?s:(e[a]=n.mul(s,e[a]),n.mul(s,o)),i),e}function aA(n,t){const e=t!==void 0?t:n.toString(2).length,r=Math.ceil(e/8);return{nBitLength:e,nByteLength:r}}function Zd(n,t,e=!1,r={}){if(n<=Pn)throw new Error("invalid field: expected ORDER > 0, got "+n);const{nBitLength:i,nByteLength:s}=aA(n,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:n,isLE:e,BITS:i,BYTES:s,MASK:Wg(i),ZERO:Pn,ONE:tn,create:u=>qe(u,n),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Pn<=u&&u<n},is0:u=>u===Pn,isOdd:u=>(u&tn)===tn,neg:u=>qe(-u,n),eql:(u,f)=>u===f,sqr:u=>qe(u*u,n),add:(u,f)=>qe(u+f,n),sub:(u,f)=>qe(u-f,n),mul:(u,f)=>qe(u*f,n),pow:(u,f)=>e4(a,u,f),div:(u,f)=>qe(u*Qg(f,n),n),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>Qg(u,n),sqrt:r.sqrt||(u=>(o||(o=YP(n)),o(a,u))),invertBatch:u=>n4(a,u),cmov:(u,f,h)=>h?f:u,toBytes:u=>e?Af(u,s):nu(u,s),fromBytes:u=>{if(u.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+u.length);return e?eu(u):_a(u)}});return Object.freeze(a)}function cA(n){if(typeof n!="bigint")throw new Error("field order must be bigint");const t=n.toString(2).length;return Math.ceil(t/8)}function uA(n){const t=cA(n);return t+Math.ceil(t/2)}function r4(n,t,e=!1){const r=n.length,i=cA(t),s=uA(t);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const o=e?eu(n):_a(n),a=qe(o,t-tn)+tn;return e?Af(a,i):nu(a,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const lA=BigInt(0),qd=BigInt(1);function Yg(n,t){const e=t.negate();return n?e:t}function fA(n,t){if(!Number.isSafeInteger(n)||n<=0||n>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+n)}function Jg(n,t){fA(n,t);const e=Math.ceil(t/n)+1,r=2**(n-1);return{windows:e,windowSize:r}}function i4(n,t){if(!Array.isArray(n))throw new Error("array expected");n.forEach((e,r)=>{if(!(e instanceof t))throw new Error("invalid point at index "+r)})}function s4(n,t){if(!Array.isArray(n))throw new Error("array of scalars expected");n.forEach((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)})}const Xg=new WeakMap,hA=new WeakMap;function ty(n){return hA.get(n)||1}function dA(n,t){return{constTimeNegate:Yg,hasPrecomputes(e){return ty(e)!==1},unsafeLadder(e,r,i=n.ZERO){let s=e;for(;r>lA;)r&qd&&(i=i.add(s)),s=s.double(),r>>=qd;return i},precomputeWindow(e,r){const{windows:i,windowSize:s}=Jg(r,t),o=[];let a=e,u=a;for(let f=0;f<i;f++){u=a,o.push(u);for(let h=1;h<s;h++)u=u.add(a),o.push(u);a=u.double()}return o},wNAF(e,r,i){const{windows:s,windowSize:o}=Jg(e,t);let a=n.ZERO,u=n.BASE;const f=BigInt(2**e-1),h=2**e,y=BigInt(e);for(let _=0;_<s;_++){const w=_*o;let R=Number(i&f);i>>=y,R>o&&(R-=h,i+=qd);const T=w,I=w+Math.abs(R)-1,B=_%2!==0,H=R<0;R===0?u=u.add(Yg(B,r[T])):a=a.add(Yg(H,r[I]))}return{p:a,f:u}},wNAFUnsafe(e,r,i,s=n.ZERO){const{windows:o,windowSize:a}=Jg(e,t),u=BigInt(2**e-1),f=2**e,h=BigInt(e);for(let y=0;y<o;y++){const _=y*a;if(i===lA)break;let w=Number(i&u);if(i>>=h,w>a&&(w-=f,i+=qd),w===0)continue;let R=r[_+Math.abs(w)-1];w<0&&(R=R.negate()),s=s.add(R)}return s},getPrecomputes(e,r,i){let s=Xg.get(r);return s||(s=this.precomputeWindow(r,e),e!==1&&Xg.set(r,i(s))),s},wNAFCached(e,r,i){const s=ty(e);return this.wNAF(s,this.getPrecomputes(s,e,i),r)},wNAFCachedUnsafe(e,r,i,s){const o=ty(e);return o===1?this.unsafeLadder(e,r,s):this.wNAFUnsafe(o,this.getPrecomputes(o,e,i),r,s)},setWindowSize(e,r){fA(r,t),hA.set(e,r),Xg.delete(e)}}}function pA(n,t,e,r){if(i4(e,n),s4(r,t),e.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const i=n.ZERO,s=nA(BigInt(e.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,u=new Array(a+1).fill(i),f=Math.floor((t.BITS-1)/o)*o;let h=i;for(let y=f;y>=0;y-=o){u.fill(i);for(let w=0;w<r.length;w++){const R=r[w],T=Number(R>>BigInt(y)&BigInt(a));u[T]=u[T].add(e[w])}let _=i;for(let w=u.length-1,R=i;w>0;w--)R=R.add(u[w]),_=_.add(R);if(h=h.add(_),y!==0)for(let w=0;w<o;w++)h=h.double()}return h}function ey(n){return t4(n.Fp),ru(n,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...aA(n.n,n.nBitLength),...n,p:n.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const wi=BigInt(0),vr=BigInt(1),Qd=BigInt(2),o4=BigInt(8),a4={zip215:!0};function c4(n){const t=ey(n);return ru(n,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function u4(n){const t=c4(n),{Fp:e,n:r,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:u}=t,f=Qd<<BigInt(a*8)-vr,h=e.create,y=Zd(t.n,t.nBitLength),_=t.uvRatio||((v,k)=>{try{return{isValid:!0,value:e.sqrt(v*e.inv(k))}}catch{return{isValid:!1,value:wi}}}),w=t.adjustScalarBytes||(v=>v),R=t.domain||((v,k,N)=>{if(Es("phflag",N),k.length||N)throw new Error("Contexts/pre-hash are not supported");return v});function T(v,k){Jr("coordinate "+v,k,wi,f)}function I(v){if(!(v instanceof U))throw new Error("ExtendedPoint expected")}const B=Ef((v,k)=>{const{ex:N,ey:M,ez:z}=v,P=v.is0();k==null&&(k=P?o4:e.inv(z));const A=h(N*k),$=h(M*k),ct=h(z*k);if(P)return{x:wi,y:vr};if(ct!==vr)throw new Error("invZ was invalid");return{x:A,y:$}}),H=Ef(v=>{const{a:k,d:N}=t;if(v.is0())throw new Error("bad point: ZERO");const{ex:M,ey:z,ez:P,et:A}=v,$=h(M*M),ct=h(z*z),dt=h(P*P),wt=h(dt*dt),Gt=h($*k),Ut=h(dt*h(Gt+ct)),Lt=h(wt+h(N*h($*ct)));if(Ut!==Lt)throw new Error("bad point: equation left != right (1)");const Re=h(M*z),Kt=h(P*A);if(Re!==Kt)throw new Error("bad point: equation left != right (2)");return!0});class U{constructor(k,N,M,z){this.ex=k,this.ey=N,this.ez=M,this.et=z,T("x",k),T("y",N),T("z",M),T("t",z),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(k){if(k instanceof U)throw new Error("extended point not allowed");const{x:N,y:M}=k||{};return T("x",N),T("y",M),new U(N,M,vr,h(N*M))}static normalizeZ(k){const N=e.invertBatch(k.map(M=>M.ez));return k.map((M,z)=>M.toAffine(N[z])).map(U.fromAffine)}static msm(k,N){return pA(U,y,k,N)}_setWindowSize(k){X.setWindowSize(this,k)}assertValidity(){H(this)}equals(k){I(k);const{ex:N,ey:M,ez:z}=this,{ex:P,ey:A,ez:$}=k,ct=h(N*$),dt=h(P*z),wt=h(M*$),Gt=h(A*z);return ct===dt&&wt===Gt}is0(){return this.equals(U.ZERO)}negate(){return new U(h(-this.ex),this.ey,this.ez,h(-this.et))}double(){const{a:k}=t,{ex:N,ey:M,ez:z}=this,P=h(N*N),A=h(M*M),$=h(Qd*h(z*z)),ct=h(k*P),dt=N+M,wt=h(h(dt*dt)-P-A),Gt=ct+A,Ut=Gt-$,Lt=ct-A,Re=h(wt*Ut),Kt=h(Gt*Lt),Ft=h(wt*Lt),Te=h(Ut*Gt);return new U(Re,Kt,Te,Ft)}add(k){I(k);const{a:N,d:M}=t,{ex:z,ey:P,ez:A,et:$}=this,{ex:ct,ey:dt,ez:wt,et:Gt}=k;if(N===BigInt(-1)){const Ie=h((P-z)*(dt+ct)),Be=h((P+z)*(dt-ct)),kn=h(Be-Ie);if(kn===wi)return this.double();const he=h(A*Qd*Gt),Se=h($*Qd*wt),on=Se+he,ve=Be+Ie,Pe=Se-he,ur=h(on*kn),Fe=h(ve*Pe),O=h(on*Pe),b=h(kn*ve);return new U(ur,Fe,b,O)}const Ut=h(z*ct),Lt=h(P*dt),Re=h($*M*Gt),Kt=h(A*wt),Ft=h((z+P)*(ct+dt)-Ut-Lt),Te=Kt-Re,re=Kt+Re,oe=h(Lt-N*Ut),sn=h(Ft*Te),fe=h(re*oe),De=h(Ft*oe),ua=h(Te*re);return new U(sn,fe,ua,De)}subtract(k){return this.add(k.negate())}wNAF(k){return X.wNAFCached(this,k,U.normalizeZ)}multiply(k){const N=k;Jr("scalar",N,vr,r);const{p:M,f:z}=this.wNAF(N);return U.normalizeZ([M,z])[0]}multiplyUnsafe(k,N=U.ZERO){const M=k;return Jr("scalar",M,wi,r),M===wi?W:this.is0()||M===vr?this:X.wNAFCachedUnsafe(this,M,U.normalizeZ,N)}isSmallOrder(){return this.multiplyUnsafe(u).is0()}isTorsionFree(){return X.unsafeLadder(this,r).is0()}toAffine(k){return B(this,k)}clearCofactor(){const{h:k}=t;return k===vr?this:this.multiplyUnsafe(k)}static fromHex(k,N=!1){const{d:M,a:z}=t,P=e.BYTES;k=Tn("pointHex",k,P),Es("zip215",N);const A=k.slice(),$=k[P-1];A[P-1]=$&-129;const ct=eu(A),dt=N?f:e.ORDER;Jr("pointHex.y",ct,wi,dt);const wt=h(ct*ct),Gt=h(wt-vr),Ut=h(M*wt-z);let{isValid:Lt,value:Re}=_(Gt,Ut);if(!Lt)throw new Error("Point.fromHex: invalid y coordinate");const Kt=(Re&vr)===vr,Ft=($&128)!==0;if(!N&&Re===wi&&Ft)throw new Error("Point.fromHex: x=0 and x_0=1");return Ft!==Kt&&(Re=h(-Re)),U.fromAffine({x:Re,y:ct})}static fromPrivateKey(k){return it(k).point}toRawBytes(){const{x:k,y:N}=this.toAffine(),M=Af(N,e.BYTES);return M[M.length-1]|=k&vr?128:0,M}toHex(){return ba(this.toRawBytes())}}U.BASE=new U(t.Gx,t.Gy,vr,h(t.Gx*t.Gy)),U.ZERO=new U(wi,vr,vr,wi);const{BASE:G,ZERO:W}=U,X=dA(U,a*8);function j(v){return qe(v,r)}function J(v){return j(eu(v))}function it(v){const k=e.BYTES;v=Tn("private key",v,k);const N=Tn("hashed private key",s(v),2*k),M=w(N.slice(0,k)),z=N.slice(k,2*k),P=J(M),A=G.multiply(P),$=A.toRawBytes();return{head:M,prefix:z,scalar:P,point:A,pointBytes:$}}function ut(v){return it(v).pointBytes}function rt(v=new Uint8Array,...k){const N=Aa(...k);return J(s(R(N,Tn("context",v),!!i)))}function ot(v,k,N={}){v=Tn("message",v),i&&(v=i(v));const{prefix:M,scalar:z,pointBytes:P}=it(k),A=rt(N.context,M,v),$=G.multiply(A).toRawBytes(),ct=rt(N.context,$,P,v),dt=j(A+ct*z);Jr("signature.s",dt,wi,r);const wt=Aa($,Af(dt,e.BYTES));return Tn("result",wt,e.BYTES*2)}const C=a4;function p(v,k,N,M=C){const{context:z,zip215:P}=M,A=e.BYTES;v=Tn("signature",v,2*A),k=Tn("message",k),N=Tn("publicKey",N,A),P!==void 0&&Es("zip215",P),i&&(k=i(k));const $=eu(v.slice(A,2*A));let ct,dt,wt;try{ct=U.fromHex(N,P),dt=U.fromHex(v.slice(0,A),P),wt=G.multiplyUnsafe($)}catch{return!1}if(!P&&ct.isSmallOrder())return!1;const Gt=rt(z,dt.toRawBytes(),ct.toRawBytes(),k);return dt.add(ct.multiplyUnsafe(Gt)).subtract(wt).clearCofactor().equals(U.ZERO)}return G._setWindowSize(8),{CURVE:t,getPublicKey:ut,sign:ot,verify:p,ExtendedPoint:U,utils:{getExtendedPublicKey:it,randomPrivateKey:()=>o(e.BYTES),precompute(v=8,k=U.BASE){return k._setWindowSize(v),k.multiply(BigInt(3)),k}}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ny=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),gA=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const l4=BigInt(1),yA=BigInt(2);BigInt(3);const f4=BigInt(5),h4=BigInt(8);function d4(n){const t=BigInt(10),e=BigInt(20),r=BigInt(40),i=BigInt(80),s=ny,a=n*n%s*n%s,u=un(a,yA,s)*a%s,f=un(u,l4,s)*n%s,h=un(f,f4,s)*f%s,y=un(h,t,s)*h%s,_=un(y,e,s)*y%s,w=un(_,r,s)*_%s,R=un(w,i,s)*w%s,T=un(R,i,s)*w%s,I=un(T,t,s)*h%s;return{pow_p_5_8:un(I,yA,s)*n%s,b2:a}}function p4(n){return n[0]&=248,n[31]&=127,n[31]|=64,n}function g4(n,t){const e=ny,r=qe(t*t*t,e),i=qe(r*r*t,e),s=d4(n*i).pow_p_5_8;let o=qe(n*r*s,e);const a=qe(t*o*o,e),u=o,f=qe(o*gA,e),h=a===n,y=a===qe(-n,e),_=a===qe(-n*gA,e);return h&&(o=u),(y||_)&&(o=f),JP(o,e)&&(o=qe(-o,e)),{isValid:h||y,value:o}}const y4=Zd(ny,void 0,!0),m4={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:y4,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:h4,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:UP,randomBytes:W_,adjustScalarBytes:p4,uvRatio:g4},iu=u4(m4);var ry={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(n,t){var e=Fg,r=e.Buffer;function i(o,a){for(var u in o)a[u]=o[u]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?n.exports=e:(i(e,t),t.Buffer=s);function s(o,a,u){return r(o,a,u)}s.prototype=Object.create(r.prototype),i(r,s),s.from=function(o,a,u){if(typeof o=="number")throw new TypeError("Argument must not be a number");return r(o,a,u)},s.alloc=function(o,a,u){if(typeof o!="number")throw new TypeError("Argument must be a number");var f=r(o);return a!==void 0?typeof u=="string"?f.fill(a,u):f.fill(a):f.fill(0),f},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return e.SlowBuffer(o)}})(ry,ry.exports);var w4=ry.exports,Yd=w4.Buffer;function b4(n){if(n.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),e=0;e<t.length;e++)t[e]=255;for(var r=0;r<n.length;r++){var i=n.charAt(r),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=r}var o=n.length,a=n.charAt(0),u=Math.log(o)/Math.log(256),f=Math.log(256)/Math.log(o);function h(w){if((Array.isArray(w)||w instanceof Uint8Array)&&(w=Yd.from(w)),!Yd.isBuffer(w))throw new TypeError("Expected Buffer");if(w.length===0)return"";for(var R=0,T=0,I=0,B=w.length;I!==B&&w[I]===0;)I++,R++;for(var H=(B-I)*f+1>>>0,U=new Uint8Array(H);I!==B;){for(var G=w[I],W=0,X=H-1;(G!==0||W<T)&&X!==-1;X--,W++)G+=256*U[X]>>>0,U[X]=G%o>>>0,G=G/o>>>0;if(G!==0)throw new Error("Non-zero carry");T=W,I++}for(var j=H-T;j!==H&&U[j]===0;)j++;for(var J=a.repeat(R);j<H;++j)J+=n.charAt(U[j]);return J}function y(w){if(typeof w!="string")throw new TypeError("Expected String");if(w.length===0)return Yd.alloc(0);for(var R=0,T=0,I=0;w[R]===a;)T++,R++;for(var B=(w.length-R)*u+1>>>0,H=new Uint8Array(B);R<w.length;){var U=w.charCodeAt(R);if(U>255)return;var G=t[U];if(G===255)return;for(var W=0,X=B-1;(G!==0||W<I)&&X!==-1;X--,W++)G+=o*H[X]>>>0,H[X]=G%256>>>0,G=G/256>>>0;if(G!==0)throw new Error("Non-zero carry");I=W,R++}for(var j=B-I;j!==B&&H[j]===0;)j++;var J=Yd.allocUnsafe(T+(B-j));J.fill(0,0,T);for(var it=T;j!==B;)J[it++]=H[j++];return J}function _(w){var R=y(w);if(R)return R;throw new Error("Non-base"+o+" character")}return{encode:h,decodeUnsafe:y,decode:_}}var _4=b4,A4=_4,E4="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",mA=A4(E4);const On=Mr(mA),v4=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),yo=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),mo=new Uint32Array(64);let x4=class extends Z_{constructor(){super(64,32,8,!1),this.A=yo[0]|0,this.B=yo[1]|0,this.C=yo[2]|0,this.D=yo[3]|0,this.E=yo[4]|0,this.F=yo[5]|0,this.G=yo[6]|0,this.H=yo[7]|0}get(){const{A:t,B:e,C:r,D:i,E:s,F:o,G:a,H:u}=this;return[t,e,r,i,s,o,a,u]}set(t,e,r,i,s,o,a,u){this.A=t|0,this.B=e|0,this.C=r|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(t,e){for(let y=0;y<16;y++,e+=4)mo[y]=t.getUint32(e,!1);for(let y=16;y<64;y++){const _=mo[y-15],w=mo[y-2],R=$i(_,7)^$i(_,18)^_>>>3,T=$i(w,17)^$i(w,19)^w>>>10;mo[y]=T+mo[y-7]+R+mo[y-16]|0}let{A:r,B:i,C:s,D:o,E:a,F:u,G:f,H:h}=this;for(let y=0;y<64;y++){const _=$i(a,6)^$i(a,11)^$i(a,25),w=h+_+EP(a,u,f)+v4[y]+mo[y]|0,T=($i(r,2)^$i(r,13)^$i(r,22))+vP(r,i,s)|0;h=f,f=u,u=a,a=o+w|0,o=s,s=i,i=r,r=w+T|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,u=u+this.F|0,f=f+this.G|0,h=h+this.H|0,this.set(r,i,s,o,a,u,f,h)}roundClean(){mo.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const iy=Gg(()=>new x4);var Vn={};function xs(n,t,e){return t<=n&&n<=e}function Jd(n){if(n===void 0)return{};if(n===Object(n))return n;throw TypeError("Could not convert argument to dictionary")}function R4(n){for(var t=String(n),e=t.length,r=0,i=[];r<e;){var s=t.charCodeAt(r);if(s<55296||s>57343)i.push(s);else if(56320<=s&&s<=57343)i.push(65533);else if(55296<=s&&s<=56319)if(r===e-1)i.push(65533);else{var o=n.charCodeAt(r+1);if(56320<=o&&o<=57343){var a=s&1023,u=o&1023;i.push(65536+(a<<10)+u),r+=1}else i.push(65533)}r+=1}return i}function I4(n){for(var t="",e=0;e<n.length;++e){var r=n[e];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t}var Xd=-1;function sy(n){this.tokens=[].slice.call(n)}sy.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():Xd},prepend:function(n){if(Array.isArray(n))for(var t=n;t.length;)this.tokens.unshift(t.pop());else this.tokens.unshift(n)},push:function(n){if(Array.isArray(n))for(var t=n;t.length;)this.tokens.push(t.shift());else this.tokens.push(n)}};var su=-1;function oy(n,t){if(n)throw TypeError("Decoder error");return t||65533}var t0="utf-8";function e0(n,t){if(!(this instanceof e0))return new e0(n,t);if(n=n!==void 0?String(n).toLowerCase():t0,n!==t0)throw new Error("Encoding not supported. Only utf-8 is supported");t=Jd(t),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!t.fatal,this._ignoreBOM=!!t.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}e0.prototype={decode:function(t,e){var r;typeof t=="object"&&t instanceof ArrayBuffer?r=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):r=new Uint8Array(0),e=Jd(e),this._streaming||(this._decoder=new S4({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!e.stream;for(var i=new sy(r),s=[],o;!i.endOfStream()&&(o=this._decoder.handler(i,i.read()),o!==su);)o!==null&&(Array.isArray(o)?s.push.apply(s,o):s.push(o));if(!this._streaming){do{if(o=this._decoder.handler(i,i.read()),o===su)break;o!==null&&(Array.isArray(o)?s.push.apply(s,o):s.push(o))}while(!i.endOfStream());this._decoder=null}return s.length&&["utf-8"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(s[0]===65279?(this._BOMseen=!0,s.shift()):this._BOMseen=!0),I4(s)}};function n0(n,t){if(!(this instanceof n0))return new n0(n,t);if(n=n!==void 0?String(n).toLowerCase():t0,n!==t0)throw new Error("Encoding not supported. Only utf-8 is supported");t=Jd(t),this._streaming=!1,this._encoder=null,this._options={fatal:!!t.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}n0.prototype={encode:function(t,e){t=t?String(t):"",e=Jd(e),this._streaming||(this._encoder=new k4(this._options)),this._streaming=!!e.stream;for(var r=[],i=new sy(R4(t)),s;!i.endOfStream()&&(s=this._encoder.handler(i,i.read()),s!==su);)Array.isArray(s)?r.push.apply(r,s):r.push(s);if(!this._streaming){for(;s=this._encoder.handler(i,i.read()),s!==su;)Array.isArray(s)?r.push.apply(r,s):r.push(s);this._encoder=null}return new Uint8Array(r)}};function S4(n){var t=n.fatal,e=0,r=0,i=0,s=128,o=191;this.handler=function(a,u){if(u===Xd&&i!==0)return i=0,oy(t);if(u===Xd)return su;if(i===0){if(xs(u,0,127))return u;if(xs(u,194,223))i=1,e=u-192;else if(xs(u,224,239))u===224&&(s=160),u===237&&(o=159),i=2,e=u-224;else if(xs(u,240,244))u===240&&(s=144),u===244&&(o=143),i=3,e=u-240;else return oy(t);return e=e<<6*i,null}if(!xs(u,s,o))return e=i=r=0,s=128,o=191,a.prepend(u),oy(t);if(s=128,o=191,r+=1,e+=u-128<<6*(i-r),r!==i)return null;var f=e;return e=i=r=0,f}}function k4(n){n.fatal,this.handler=function(t,e){if(e===Xd)return su;if(xs(e,0,127))return e;var r,i;xs(e,128,2047)?(r=1,i=192):xs(e,2048,65535)?(r=2,i=224):xs(e,65536,1114111)&&(r=3,i=240);for(var s=[(e>>6*r)+i];r>0;){var o=e>>6*(r-1);s.push(128|o&63),r-=1}return s}}const T4=Lc(Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:e0,TextEncoder:n0},Symbol.toStringTag,{value:"Module"})));var O4=ae&&ae.__createBinding||(Object.create?function(n,t,e,r){r===void 0&&(r=e),Object.defineProperty(n,r,{enumerable:!0,get:function(){return t[e]}})}:function(n,t,e,r){r===void 0&&(r=e),n[r]=t[e]}),N4=ae&&ae.__setModuleDefault||(Object.create?function(n,t){Object.defineProperty(n,"default",{enumerable:!0,value:t})}:function(n,t){n.default=t}),Hi=ae&&ae.__decorate||function(n,t,e,r){var i=arguments.length,s=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,t,e,r);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(s=(i<3?o(s):i>3?o(t,e,s):o(t,e))||s);return i>3&&s&&Object.defineProperty(t,e,s),s},C4=ae&&ae.__importStar||function(n){if(n&&n.__esModule)return n;var t={};if(n!=null)for(var e in n)e!=="default"&&Object.hasOwnProperty.call(n,e)&&O4(t,n,e);return N4(t,n),t},wA=ae&&ae.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Vn,"__esModule",{value:!0});var bA=Vn.deserializeUnchecked=RA=Vn.deserialize=xA=Vn.serialize=Vn.BinaryReader=Vn.BinaryWriter=Vn.BorshError=Vn.baseDecode=Vn.baseEncode=void 0;const wo=wA($g),_A=wA(mA),B4=C4(T4),P4=typeof TextDecoder!="function"?B4.TextDecoder:TextDecoder,M4=new P4("utf-8",{fatal:!0});function L4(n){return typeof n=="string"&&(n=Zt.from(n,"utf8")),_A.default.encode(Zt.from(n))}Vn.baseEncode=L4;function U4(n){return Zt.from(_A.default.decode(n))}Vn.baseDecode=U4;const ay=1024;class hr extends Error{constructor(t){super(t),this.fieldPath=[],this.originalMessage=t}addToFieldPath(t){this.fieldPath.splice(0,0,t),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}Vn.BorshError=hr;class AA{constructor(){this.buf=Zt.alloc(ay),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Zt.concat([this.buf,Zt.alloc(ay)]))}writeU8(t){this.maybeResize(),this.buf.writeUInt8(t,this.length),this.length+=1}writeU16(t){this.maybeResize(),this.buf.writeUInt16LE(t,this.length),this.length+=2}writeU32(t){this.maybeResize(),this.buf.writeUInt32LE(t,this.length),this.length+=4}writeU64(t){this.maybeResize(),this.writeBuffer(Zt.from(new wo.default(t).toArray("le",8)))}writeU128(t){this.maybeResize(),this.writeBuffer(Zt.from(new wo.default(t).toArray("le",16)))}writeU256(t){this.maybeResize(),this.writeBuffer(Zt.from(new wo.default(t).toArray("le",32)))}writeU512(t){this.maybeResize(),this.writeBuffer(Zt.from(new wo.default(t).toArray("le",64)))}writeBuffer(t){this.buf=Zt.concat([Zt.from(this.buf.subarray(0,this.length)),t,Zt.alloc(ay)]),this.length+=t.length}writeString(t){this.maybeResize();const e=Zt.from(t,"utf8");this.writeU32(e.length),this.writeBuffer(e)}writeFixedArray(t){this.writeBuffer(Zt.from(t))}writeArray(t,e){this.maybeResize(),this.writeU32(t.length);for(const r of t)this.maybeResize(),e(r)}toArray(){return this.buf.subarray(0,this.length)}}Vn.BinaryWriter=AA;function zi(n,t,e){const r=e.value;e.value=function(...i){try{return r.apply(this,i)}catch(s){if(s instanceof RangeError){const o=s.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(o)>=0)throw new hr("Reached the end of buffer when deserializing")}throw s}}}class Dr{constructor(t){this.buf=t,this.offset=0}readU8(){const t=this.buf.readUInt8(this.offset);return this.offset+=1,t}readU16(){const t=this.buf.readUInt16LE(this.offset);return this.offset+=2,t}readU32(){const t=this.buf.readUInt32LE(this.offset);return this.offset+=4,t}readU64(){const t=this.readBuffer(8);return new wo.default(t,"le")}readU128(){const t=this.readBuffer(16);return new wo.default(t,"le")}readU256(){const t=this.readBuffer(32);return new wo.default(t,"le")}readU512(){const t=this.readBuffer(64);return new wo.default(t,"le")}readBuffer(t){if(this.offset+t>this.buf.length)throw new hr(`Expected buffer length ${t} isn't within bounds`);const e=this.buf.slice(this.offset,this.offset+t);return this.offset+=t,e}readString(){const t=this.readU32(),e=this.readBuffer(t);try{return M4.decode(e)}catch(r){throw new hr(`Error decoding UTF-8 string: ${r}`)}}readFixedArray(t){return new Uint8Array(this.readBuffer(t))}readArray(t){const e=this.readU32(),r=Array();for(let i=0;i<e;++i)r.push(t());return r}}Hi([zi],Dr.prototype,"readU8",null),Hi([zi],Dr.prototype,"readU16",null),Hi([zi],Dr.prototype,"readU32",null),Hi([zi],Dr.prototype,"readU64",null),Hi([zi],Dr.prototype,"readU128",null),Hi([zi],Dr.prototype,"readU256",null),Hi([zi],Dr.prototype,"readU512",null),Hi([zi],Dr.prototype,"readString",null),Hi([zi],Dr.prototype,"readFixedArray",null),Hi([zi],Dr.prototype,"readArray",null),Vn.BinaryReader=Dr;function EA(n){return n.charAt(0).toUpperCase()+n.slice(1)}function va(n,t,e,r,i){try{if(typeof r=="string")i[`write${EA(r)}`](e);else if(r instanceof Array)if(typeof r[0]=="number"){if(e.length!==r[0])throw new hr(`Expecting byte array of length ${r[0]}, but got ${e.length} bytes`);i.writeFixedArray(e)}else if(r.length===2&&typeof r[1]=="number"){if(e.length!==r[1])throw new hr(`Expecting byte array of length ${r[1]}, but got ${e.length} bytes`);for(let s=0;s<r[1];s++)va(n,null,e[s],r[0],i)}else i.writeArray(e,s=>{va(n,t,s,r[0],i)});else if(r.kind!==void 0)switch(r.kind){case"option":{e==null?i.writeU8(0):(i.writeU8(1),va(n,t,e,r.type,i));break}case"map":{i.writeU32(e.size),e.forEach((s,o)=>{va(n,t,o,r.key,i),va(n,t,s,r.value,i)});break}default:throw new hr(`FieldType ${r} unrecognized`)}else vA(n,e,i)}catch(s){throw s instanceof hr&&s.addToFieldPath(t),s}}function vA(n,t,e){if(typeof t.borshSerialize=="function"){t.borshSerialize(e);return}const r=n.get(t.constructor);if(!r)throw new hr(`Class ${t.constructor.name} is missing in schema`);if(r.kind==="struct")r.fields.map(([i,s])=>{va(n,i,t[i],s,e)});else if(r.kind==="enum"){const i=t[r.field];for(let s=0;s<r.values.length;++s){const[o,a]=r.values[s];if(o===i){e.writeU8(s),va(n,o,t[o],a,e);break}}}else throw new hr(`Unexpected schema kind: ${r.kind} for ${t.constructor.name}`)}function D4(n,t,e=AA){const r=new e;return vA(n,t,r),r.toArray()}var xA=Vn.serialize=D4;function xa(n,t,e,r){try{if(typeof e=="string")return r[`read${EA(e)}`]();if(e instanceof Array){if(typeof e[0]=="number")return r.readFixedArray(e[0]);if(typeof e[1]=="number"){const i=[];for(let s=0;s<e[1];s++)i.push(xa(n,null,e[0],r));return i}else return r.readArray(()=>xa(n,t,e[0],r))}if(e.kind==="option")return r.readU8()?xa(n,t,e.type,r):void 0;if(e.kind==="map"){let i=new Map;const s=r.readU32();for(let o=0;o<s;o++){const a=xa(n,t,e.key,r),u=xa(n,t,e.value,r);i.set(a,u)}return i}return cy(n,e,r)}catch(i){throw i instanceof hr&&i.addToFieldPath(t),i}}function cy(n,t,e){if(typeof t.borshDeserialize=="function")return t.borshDeserialize(e);const r=n.get(t);if(!r)throw new hr(`Class ${t.name} is missing in schema`);if(r.kind==="struct"){const i={};for(const[s,o]of n.get(t).fields)i[s]=xa(n,s,o,e);return new t(i)}if(r.kind==="enum"){const i=e.readU8();if(i>=r.values.length)throw new hr(`Enum index: ${i} is out of range`);const[s,o]=r.values[i],a=xa(n,s,o,e);return new t({[s]:a})}throw new hr(`Unexpected schema kind: ${r.kind} for ${t.constructor.name}`)}function F4(n,t,e,r=Dr){const i=new r(e),s=cy(n,t,i);if(i.offset<e.length)throw new hr(`Unexpected ${e.length-i.offset} bytes after deserialized data`);return s}var RA=Vn.deserialize=F4;function $4(n,t,e,r=Dr){const i=new r(e);return cy(n,t,i)}bA=Vn.deserializeUnchecked=$4;var nt={};Object.defineProperty(nt,"__esModule",{value:!0}),nt.s16=nt.s8=nt.nu64be=nt.u48be=nt.u40be=nt.u32be=nt.u24be=nt.u16be=Kn=nt.nu64=nt.u48=nt.u40=Ot=nt.u32=nt.u24=ti=nt.u16=me=nt.u8=bo=nt.offset=nt.greedy=nt.Constant=nt.UTF8=nt.CString=nt.Blob=nt.Boolean=nt.BitField=nt.BitStructure=nt.VariantLayout=nt.Union=nt.UnionLayoutDiscriminator=nt.UnionDiscriminator=nt.Structure=nt.Sequence=nt.DoubleBE=nt.Double=nt.FloatBE=nt.Float=nt.NearInt64BE=nt.NearInt64=nt.NearUInt64BE=nt.NearUInt64=nt.IntBE=nt.Int=nt.UIntBE=nt.UInt=nt.OffsetLayout=nt.GreedyCount=nt.ExternalLayout=nt.bindConstructorLayout=nt.nameWithProperty=nt.Layout=nt.uint8ArrayToBuffer=nt.checkUint8Array=void 0,nt.constant=nt.utf8=nt.cstr=We=nt.blob=nt.unionLayoutDiscriminator=nt.union=jn=nt.seq=nt.bits=Nt=nt.struct=nt.f64be=nt.f64=nt.f32be=nt.f32=nt.ns64be=nt.s48be=nt.s40be=nt.s32be=nt.s24be=nt.s16be=Fr=nt.ns64=nt.s48=nt.s40=nt.s32=nt.s24=void 0;const uy=Fg;function ou(n){if(!(n instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}nt.checkUint8Array=ou;function be(n){return ou(n),uy.Buffer.from(n.buffer,n.byteOffset,n.length)}nt.uint8ArrayToBuffer=be;let Oe=class{constructor(t,e){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=e}makeDestinationObject(){return{}}getSpan(t,e){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){const e=Object.create(this.constructor.prototype);return Object.assign(e,this),e.property=t,e}fromArray(t){}};nt.Layout=Oe;function ly(n,t){return t.property?n+"["+t.property+"]":n}nt.nameWithProperty=ly;function H4(n,t){if(typeof n!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(n,"layout_"))throw new Error("Class is already bound to a layout");if(!(t&&t instanceof Oe))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(t,"boundConstructor_"))throw new Error("layout is already bound to a constructor");n.layout_=t,t.boundConstructor_=n,t.makeDestinationObject=()=>new n,Object.defineProperty(n.prototype,"encode",{value(e,r){return t.encode(this,e,r)},writable:!0}),Object.defineProperty(n,"decode",{value(e,r){return t.decode(e,r)},writable:!0})}nt.bindConstructorLayout=H4;let xr=class extends Oe{isCount(){throw new Error("ExternalLayout is abstract")}};nt.ExternalLayout=xr;let IA=class extends xr{constructor(t=1,e){if(!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,e),this.elementSpan=t}isCount(){return!0}decode(t,e=0){ou(t);const r=t.length-e;return Math.floor(r/this.elementSpan)}encode(t,e,r){return 0}};nt.GreedyCount=IA;let fy=class extends xr{constructor(t,e=0,r){if(!(t instanceof Oe))throw new TypeError("layout must be a Layout");if(!Number.isInteger(e))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=e}isCount(){return this.layout instanceof Xr||this.layout instanceof bi}decode(t,e=0){return this.layout.decode(t,e+this.offset)}encode(t,e,r=0){return this.layout.encode(t,e,r+this.offset)}};nt.OffsetLayout=fy;let Xr=class extends Oe{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return be(t).readUIntLE(e,this.span)}encode(t,e,r=0){return be(e).writeUIntLE(t,r,this.span),this.span}};nt.UInt=Xr;let bi=class extends Oe{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return be(t).readUIntBE(e,this.span)}encode(t,e,r=0){return be(e).writeUIntBE(t,r,this.span),this.span}};nt.UIntBE=bi;let Ra=class extends Oe{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return be(t).readIntLE(e,this.span)}encode(t,e,r=0){return be(e).writeIntLE(t,r,this.span),this.span}};nt.Int=Ra;let au=class extends Oe{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return be(t).readIntBE(e,this.span)}encode(t,e,r=0){return be(e).writeIntBE(t,r,this.span),this.span}};nt.IntBE=au;const hy=Math.pow(2,32);function r0(n){const t=Math.floor(n/hy),e=n-t*hy;return{hi32:t,lo32:e}}function i0(n,t){return n*hy+t}let SA=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=be(t),i=r.readUInt32LE(e),s=r.readUInt32LE(e+4);return i0(s,i)}encode(t,e,r=0){const i=r0(t),s=be(e);return s.writeUInt32LE(i.lo32,r),s.writeUInt32LE(i.hi32,r+4),8}};nt.NearUInt64=SA;let kA=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=be(t),i=r.readUInt32BE(e),s=r.readUInt32BE(e+4);return i0(i,s)}encode(t,e,r=0){const i=r0(t),s=be(e);return s.writeUInt32BE(i.hi32,r),s.writeUInt32BE(i.lo32,r+4),8}};nt.NearUInt64BE=kA;let TA=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=be(t),i=r.readUInt32LE(e),s=r.readInt32LE(e+4);return i0(s,i)}encode(t,e,r=0){const i=r0(t),s=be(e);return s.writeUInt32LE(i.lo32,r),s.writeInt32LE(i.hi32,r+4),8}};nt.NearInt64=TA;let OA=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=be(t),i=r.readInt32BE(e),s=r.readUInt32BE(e+4);return i0(i,s)}encode(t,e,r=0){const i=r0(t),s=be(e);return s.writeInt32BE(i.hi32,r),s.writeUInt32BE(i.lo32,r+4),8}};nt.NearInt64BE=OA;let NA=class extends Oe{constructor(t){super(4,t)}decode(t,e=0){return be(t).readFloatLE(e)}encode(t,e,r=0){return be(e).writeFloatLE(t,r),4}};nt.Float=NA;let CA=class extends Oe{constructor(t){super(4,t)}decode(t,e=0){return be(t).readFloatBE(e)}encode(t,e,r=0){return be(e).writeFloatBE(t,r),4}};nt.FloatBE=CA;let BA=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){return be(t).readDoubleLE(e)}encode(t,e,r=0){return be(e).writeDoubleLE(t,r),8}};nt.Double=BA;let PA=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){return be(t).readDoubleBE(e)}encode(t,e,r=0){return be(e).writeDoubleBE(t,r),8}};nt.DoubleBE=PA;let MA=class extends Oe{constructor(t,e,r){if(!(t instanceof Oe))throw new TypeError("elementLayout must be a Layout");if(!(e instanceof xr&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let i=-1;!(e instanceof xr)&&0<t.span&&(i=e*t.span),super(i,r),this.elementLayout=t,this.count=e}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0,i=this.count;if(i instanceof xr&&(i=i.decode(t,e)),0<this.elementLayout.span)r=i*this.elementLayout.span;else{let s=0;for(;s<i;)r+=this.elementLayout.getSpan(t,e+r),++s}return r}decode(t,e=0){const r=[];let i=0,s=this.count;for(s instanceof xr&&(s=s.decode(t,e));i<s;)r.push(this.elementLayout.decode(t,e)),e+=this.elementLayout.getSpan(t,e),i+=1;return r}encode(t,e,r=0){const i=this.elementLayout,s=t.reduce((o,a)=>o+i.encode(a,e,r+o),0);return this.count instanceof xr&&this.count.encode(t.length,e,r),s}};nt.Sequence=MA;let LA=class extends Oe{constructor(t,e,r){if(!(Array.isArray(t)&&t.reduce((s,o)=>s&&o instanceof Oe,!0)))throw new TypeError("fields must be array of Layout instances");typeof e=="boolean"&&r===void 0&&(r=e,e=void 0);for(const s of t)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let i=-1;try{i=t.reduce((s,o)=>s+o.getSpan(),0)}catch{}super(i,e),this.fields=t,this.decodePrefixes=!!r}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0;try{r=this.fields.reduce((i,s)=>{const o=s.getSpan(t,e);return e+=o,i+o},0)}catch{throw new RangeError("indeterminate span")}return r}decode(t,e=0){ou(t);const r=this.makeDestinationObject();for(const i of this.fields)if(i.property!==void 0&&(r[i.property]=i.decode(t,e)),e+=i.getSpan(t,e),this.decodePrefixes&&t.length===e)break;return r}encode(t,e,r=0){const i=r;let s=0,o=0;for(const a of this.fields){let u=a.span;if(o=0<u?u:0,a.property!==void 0){const f=t[a.property];f!==void 0&&(o=a.encode(f,e,r),0>u&&(u=a.getSpan(e,r)))}s=r,r+=u}return s+o-i}fromArray(t){const e=this.makeDestinationObject();for(const r of this.fields)r.property!==void 0&&0<t.length&&(e[r.property]=t.shift());return e}layoutFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}offsetOf(t){if(typeof t!="string")throw new TypeError("property must be string");let e=0;for(const r of this.fields){if(r.property===t)return e;0>r.span?e=-1:0<=e&&(e+=r.span)}}};nt.Structure=LA;let dy=class{constructor(t){this.property=t}decode(t,e){throw new Error("UnionDiscriminator is abstract")}encode(t,e,r){throw new Error("UnionDiscriminator is abstract")}};nt.UnionDiscriminator=dy;let s0=class extends dy{constructor(t,e){if(!(t instanceof xr&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(e||t.property||"variant"),this.layout=t}decode(t,e){return this.layout.decode(t,e)}encode(t,e,r){return this.layout.encode(t,e,r)}};nt.UnionLayoutDiscriminator=s0;let py=class extends Oe{constructor(t,e,r){let i;if(t instanceof Xr||t instanceof bi)i=new s0(new fy(t));else if(t instanceof xr&&t.isCount())i=new s0(t);else if(t instanceof dy)i=t;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(e===void 0&&(e=null),!(e===null||e instanceof Oe))throw new TypeError("defaultLayout must be null or a Layout");if(e!==null){if(0>e.span)throw new Error("defaultLayout must have constant span");e.property===void 0&&(e=e.replicate("content"))}let s=-1;e&&(s=e.span,0<=s&&(t instanceof Xr||t instanceof bi)&&(s+=i.layout.span)),super(s,r),this.discriminator=i,this.usesPrefixDiscriminator=t instanceof Xr||t instanceof bi,this.defaultLayout=e,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return o(a)},this.configGetSourceVariant=function(a){o=a.bind(this)}}getSpan(t,e=0){if(0<=this.span)return this.span;const r=this.getVariant(t,e);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,e)}defaultGetSourceVariant(t){if(Object.prototype.hasOwnProperty.call(t,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(t,this.defaultLayout.property))return;const e=this.registry[t[this.discriminator.property]];if(e&&(!e.layout||e.property&&Object.prototype.hasOwnProperty.call(t,e.property)))return e}else for(const e in this.registry){const r=this.registry[e];if(r.property&&Object.prototype.hasOwnProperty.call(t,r.property))return r}throw new Error("unable to infer src variant")}decode(t,e=0){let r;const i=this.discriminator,s=i.decode(t,e),o=this.registry[s];if(o===void 0){const a=this.defaultLayout;let u=0;this.usesPrefixDiscriminator&&(u=i.layout.span),r=this.makeDestinationObject(),r[i.property]=s,r[a.property]=a.decode(t,e+u)}else r=o.decode(t,e);return r}encode(t,e,r=0){const i=this.getSourceVariant(t);if(i===void 0){const s=this.discriminator,o=this.defaultLayout;let a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(t[s.property],e,r),a+o.encode(t[o.property],e,r+a)}return i.encode(t,e,r)}addVariant(t,e,r){const i=new UA(this,t,e,r);return this.registry[t]=i,i}getVariant(t,e=0){let r;return t instanceof Uint8Array?r=this.discriminator.decode(t,e):r=t,this.registry[r]}};nt.Union=py;let UA=class extends Oe{constructor(t,e,r,i){if(!(t instanceof py))throw new TypeError("union must be a Union");if(!Number.isInteger(e)||0>e)throw new TypeError("variant must be a (non-negative) integer");if(typeof r=="string"&&i===void 0&&(i=r,r=null),r){if(!(r instanceof Oe))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof i!="string")throw new TypeError("variant must have a String property")}let s=t.span;0>t.span&&(s=r?r.span:0,0<=s&&t.usesPrefixDiscriminator&&(s+=t.discriminator.layout.span)),super(s,i),this.union=t,this.variant=e,this.layout=r||null}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0;this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span);let i=0;return this.layout&&(i=this.layout.getSpan(t,e+r)),r+i}decode(t,e=0){const r=this.makeDestinationObject();if(this!==this.union.getVariant(t,e))throw new Error("variant mismatch");let i=0;return this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,e+i):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,e,r=0){let i=0;if(this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(t,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,e,r);let s=i;if(this.layout&&(this.layout.encode(t[this.property],e,r+i),s+=this.layout.getSpan(e,r+i),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(t){if(this.layout)return this.layout.fromArray(t)}};nt.VariantLayout=UA;function cu(n){return 0>n&&(n+=4294967296),n}let gy=class extends Oe{constructor(t,e,r){if(!(t instanceof Xr||t instanceof bi))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof e=="string"&&r===void 0&&(r=e,e=!1),4<t.span)throw new RangeError("word cannot exceed 32 bits");super(t.span,r),this.word=t,this.msb=!!e,this.fields=[];let i=0;this._packedSetValue=function(s){return i=cu(s),this},this._packedGetValue=function(){return i}}decode(t,e=0){const r=this.makeDestinationObject(),i=this.word.decode(t,e);this._packedSetValue(i);for(const s of this.fields)s.property!==void 0&&(r[s.property]=s.decode(t));return r}encode(t,e,r=0){const i=this.word.decode(e,r);this._packedSetValue(i);for(const s of this.fields)if(s.property!==void 0){const o=t[s.property];o!==void 0&&s.encode(o)}return this.word.encode(this._packedGetValue(),e,r)}addField(t,e){const r=new yy(this,t,e);return this.fields.push(r),r}addBoolean(t){const e=new DA(this,t);return this.fields.push(e),e}fieldFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}};nt.BitStructure=gy;let yy=class{constructor(t,e,r){if(!(t instanceof gy))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(e)||0>=e)throw new TypeError("bits must be positive integer");const i=8*t.span,s=t.fields.reduce((o,a)=>o+a.bits,0);if(e+s>i)throw new Error("bits too long for span remainder ("+(i-s)+" of "+i+" remain)");this.container=t,this.bits=e,this.valueMask=(1<<e)-1,e===32&&(this.valueMask=4294967295),this.start=s,this.container.msb&&(this.start=i-s-e),this.wordMask=cu(this.valueMask<<this.start),this.property=r}decode(t,e){const r=this.container._packedGetValue();return cu(r&this.wordMask)>>>this.start}encode(t){if(typeof t!="number"||!Number.isInteger(t)||t!==cu(t&this.valueMask))throw new TypeError(ly("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const e=this.container._packedGetValue(),r=cu(t<<this.start);this.container._packedSetValue(cu(e&~this.wordMask)|r)}};nt.BitField=yy;let DA=class extends yy{constructor(t,e){super(t,1,e)}decode(t,e){return!!super.decode(t,e)}encode(t){typeof t=="boolean"&&(t=+t),super.encode(t)}};nt.Boolean=DA;let FA=class extends Oe{constructor(t,e){if(!(t instanceof xr&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let r=-1;t instanceof xr||(r=t),super(r,e),this.length=t}getSpan(t,e){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),r}decode(t,e=0){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),be(t).slice(e,e+r)}encode(t,e,r){let i=this.length;if(this.length instanceof xr&&(i=t.length),!(t instanceof Uint8Array&&i===t.length))throw new TypeError(ly("Blob.encode",this)+" requires (length "+i+") Uint8Array as src");if(r+i>e.length)throw new RangeError("encoding overruns Uint8Array");const s=be(t);return be(e).write(s.toString("hex"),r,i,"hex"),this.length instanceof xr&&this.length.encode(i,e,r),i}};nt.Blob=FA;let $A=class extends Oe{constructor(t){super(-1,t)}getSpan(t,e=0){ou(t);let r=e;for(;r<t.length&&t[r]!==0;)r+=1;return 1+r-e}decode(t,e=0){const r=this.getSpan(t,e);return be(t).slice(e,e+r-1).toString("utf-8")}encode(t,e,r=0){typeof t!="string"&&(t=String(t));const i=uy.Buffer.from(t,"utf8"),s=i.length;if(r+s>e.length)throw new RangeError("encoding overruns Buffer");const o=be(e);return i.copy(o,r),o[r+s]=0,s+1}};nt.CString=$A;let HA=class extends Oe{constructor(t,e){if(typeof t=="string"&&e===void 0&&(e=t,t=void 0),t===void 0)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,e),this.maxSpan=t}getSpan(t,e=0){return ou(t),t.length-e}decode(t,e=0){const r=this.getSpan(t,e);if(0<=this.maxSpan&&this.maxSpan<r)throw new RangeError("text length exceeds maxSpan");return be(t).slice(e,e+r).toString("utf-8")}encode(t,e,r=0){typeof t!="string"&&(t=String(t));const i=uy.Buffer.from(t,"utf8"),s=i.length;if(0<=this.maxSpan&&this.maxSpan<s)throw new RangeError("text length exceeds maxSpan");if(r+s>e.length)throw new RangeError("encoding overruns Buffer");return i.copy(be(e),r),s}};nt.UTF8=HA;let zA=class extends Oe{constructor(t,e){super(0,e),this.value=t}decode(t,e){return this.value}encode(t,e,r){return 0}};nt.Constant=zA,nt.greedy=(n,t)=>new IA(n,t);var bo=nt.offset=(n,t,e)=>new fy(n,t,e),me=nt.u8=n=>new Xr(1,n),ti=nt.u16=n=>new Xr(2,n);nt.u24=n=>new Xr(3,n);var Ot=nt.u32=n=>new Xr(4,n);nt.u40=n=>new Xr(5,n),nt.u48=n=>new Xr(6,n);var Kn=nt.nu64=n=>new SA(n);nt.u16be=n=>new bi(2,n),nt.u24be=n=>new bi(3,n),nt.u32be=n=>new bi(4,n),nt.u40be=n=>new bi(5,n),nt.u48be=n=>new bi(6,n),nt.nu64be=n=>new kA(n),nt.s8=n=>new Ra(1,n),nt.s16=n=>new Ra(2,n),nt.s24=n=>new Ra(3,n),nt.s32=n=>new Ra(4,n),nt.s40=n=>new Ra(5,n),nt.s48=n=>new Ra(6,n);var Fr=nt.ns64=n=>new TA(n);nt.s16be=n=>new au(2,n),nt.s24be=n=>new au(3,n),nt.s32be=n=>new au(4,n),nt.s40be=n=>new au(5,n),nt.s48be=n=>new au(6,n),nt.ns64be=n=>new OA(n),nt.f32=n=>new NA(n),nt.f32be=n=>new CA(n),nt.f64=n=>new BA(n),nt.f64be=n=>new PA(n);var Nt=nt.struct=(n,t,e)=>new LA(n,t,e);nt.bits=(n,t,e)=>new gy(n,t,e);var jn=nt.seq=(n,t,e)=>new MA(n,t,e);nt.union=(n,t,e)=>new py(n,t,e),nt.unionLayoutDiscriminator=(n,t)=>new s0(n,t);var We=nt.blob=(n,t)=>new FA(n,t);nt.cstr=n=>new $A(n),nt.utf8=(n,t)=>new HA(n,t),nt.constant=(n,t)=>new zA(n,t);var vf={};Object.defineProperty(vf,"__esModule",{value:!0});function z4(n){{const t=Zt.from(n);t.reverse();const e=t.toString("hex");return e.length===0?BigInt(0):BigInt(`0x${e}`)}}var G4=vf.toBigIntLE=z4;function V4(n){{const t=n.toString("hex");return t.length===0?BigInt(0):BigInt(`0x${t}`)}}vf.toBigIntBE=V4;function K4(n,t){{const e=n.toString(16),r=Zt.from(e.padStart(t*2,"0").slice(0,t*2),"hex");return r.reverse(),r}}var GA=vf.toBufferLE=K4;function j4(n,t){{const e=n.toString(16);return Zt.from(e.padStart(t*2,"0").slice(0,t*2),"hex")}}vf.toBufferBE=j4;let W4=class extends TypeError{constructor(t,e){let r;const{message:i,explanation:s,...o}=t,{path:a}=t,u=a.length===0?i:`At path: ${a.join(".")} -- ${i}`;super(s??u),s!=null&&(this.cause=u),Object.assign(this,o),this.name=this.constructor.name,this.failures=()=>r??(r=[t,...e()])}};function Z4(n){return xf(n)&&typeof n[Symbol.iterator]=="function"}function xf(n){return typeof n=="object"&&n!=null}function o0(n){return xf(n)&&!Array.isArray(n)}function _i(n){return typeof n=="symbol"?n.toString():typeof n=="string"?JSON.stringify(n):`${n}`}function q4(n){const{done:t,value:e}=n.next();return t?void 0:e}function Q4(n,t,e,r){if(n===!0)return;n===!1?n={}:typeof n=="string"&&(n={message:n});const{path:i,branch:s}=t,{type:o}=e,{refinement:a,message:u=`Expected a value of type \`${o}\`${a?` with refinement \`${a}\``:""}, but received: \`${_i(r)}\``}=n;return{value:r,type:o,refinement:a,key:i[i.length-1],path:i,branch:s,...n,message:u}}function*VA(n,t,e,r){Z4(n)||(n=[n]);for(const i of n){const s=Q4(i,t,e,r);s&&(yield s)}}function*my(n,t,e={}){const{path:r=[],branch:i=[n],coerce:s=!1,mask:o=!1}=e,a={path:r,branch:i,mask:o};s&&(n=t.coercer(n,a));let u="valid";for(const f of t.validator(n,a))f.explanation=e.message,u="not_valid",yield[f,void 0];for(let[f,h,y]of t.entries(n,a)){const _=my(h,y,{path:f===void 0?r:[...r,f],branch:f===void 0?i:[...i,h],coerce:s,mask:o,message:e.message});for(const w of _)w[0]?(u=w[0].refinement!=null?"not_refined":"not_valid",yield[w[0],void 0]):s&&(h=w[1],f===void 0?n=h:n instanceof Map?n.set(f,h):n instanceof Set?n.add(h):xf(n)&&(h!==void 0||f in n)&&(n[f]=h))}if(u!=="not_valid")for(const f of t.refiner(n,a))f.explanation=e.message,u="not_refined",yield[f,void 0];u==="valid"&&(yield[void 0,n])}let Gi=class{constructor(t){const{type:e,schema:r,validator:i,refiner:s,coercer:o=u=>u,entries:a=function*(){}}=t;this.type=e,this.schema=r,this.entries=a,this.coercer=o,i?this.validator=(u,f)=>{const h=i(u,f);return VA(h,f,this,u)}:this.validator=()=>[],s?this.refiner=(u,f)=>{const h=s(u,f);return VA(h,f,this,u)}:this.refiner=()=>[]}assert(t,e){return KA(t,this,e)}create(t,e){return bt(t,this,e)}is(t){return jA(t,this)}mask(t,e){return Y4(t,this,e)}validate(t,e={}){return Rf(t,this,e)}};function KA(n,t,e){const r=Rf(n,t,{message:e});if(r[0])throw r[0]}function bt(n,t,e){const r=Rf(n,t,{coerce:!0,message:e});if(r[0])throw r[0];return r[1]}function Y4(n,t,e){const r=Rf(n,t,{coerce:!0,mask:!0,message:e});if(r[0])throw r[0];return r[1]}function jA(n,t){return!Rf(n,t)[0]}function Rf(n,t,e={}){const r=my(n,t,e),i=q4(r);return i[0]?[new W4(i[0],function*(){for(const o of r)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function Ia(n,t){return new Gi({type:n,schema:null,validator:t})}function J4(){return Ia("any",()=>!0)}function Et(n){return new Gi({type:"array",schema:n,*entries(t){if(n&&Array.isArray(t))for(const[e,r]of t.entries())yield[e,r,n]},coercer(t){return Array.isArray(t)?t.slice():t},validator(t){return Array.isArray(t)||`Expected an array value, but received: ${_i(t)}`}})}function Vi(){return Ia("boolean",n=>typeof n=="boolean")}function wy(n){return Ia("instance",t=>t instanceof n||`Expected a \`${n.name}\` instance, but received: ${_i(t)}`)}function en(n){const t=_i(n),e=typeof n;return new Gi({type:"literal",schema:e==="string"||e==="number"||e==="boolean"?n:null,validator(r){return r===n||`Expected the literal \`${t}\`, but received: ${_i(r)}`}})}function X4(){return Ia("never",()=>!1)}function vt(n){return new Gi({...n,validator:(t,e)=>t===null||n.validator(t,e),refiner:(t,e)=>t===null||n.refiner(t,e)})}function tt(){return Ia("number",n=>typeof n=="number"&&!isNaN(n)||`Expected a number, but received: ${_i(n)}`)}function Dt(n){return new Gi({...n,validator:(t,e)=>t===void 0||n.validator(t,e),refiner:(t,e)=>t===void 0||n.refiner(t,e)})}function WA(n,t){return new Gi({type:"record",schema:null,*entries(e){if(xf(e))for(const r in e){const i=e[r];yield[r,r,n],yield[r,i,t]}},validator(e){return o0(e)||`Expected an object, but received: ${_i(e)}`},coercer(e){return o0(e)?{...e}:e}})}function mt(){return Ia("string",n=>typeof n=="string"||`Expected a string, but received: ${_i(n)}`)}function by(n){const t=X4();return new Gi({type:"tuple",schema:null,*entries(e){if(Array.isArray(e)){const r=Math.max(n.length,e.length);for(let i=0;i<r;i++)yield[i,e[i],n[i]||t]}},validator(e){return Array.isArray(e)||`Expected an array, but received: ${_i(e)}`},coercer(e){return Array.isArray(e)?e.slice():e}})}function ft(n){const t=Object.keys(n);return new Gi({type:"type",schema:n,*entries(e){if(xf(e))for(const r of t)yield[r,e[r],n[r]]},validator(e){return o0(e)||`Expected an object, but received: ${_i(e)}`},coercer(e){return o0(e)?{...e}:e}})}function dr(n){const t=n.map(e=>e.type).join(" | ");return new Gi({type:"union",schema:null,coercer(e,r){for(const i of n){const[s,o]=i.validate(e,{coerce:!0,mask:r.mask});if(!s)return o}return e},validator(e,r){const i=[];for(const s of n){const[...o]=my(e,s,r),[a]=o;if(a[0])for(const[u]of o)u&&i.push(u);else return[]}return[`Expected the value to satisfy a union of \`${t}\`, but received: ${_i(e)}`,...i]}})}function uu(){return Ia("unknown",()=>!0)}function If(n,t,e){return new Gi({...n,coercer:(r,i)=>jA(r,t)?n.coercer(e(r,i),i):n.coercer(r,i)})}var a0,tM=new Uint8Array(16);function ZA(){if(!a0&&(a0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!a0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a0(tM)}const eM=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function c0(n){return typeof n=="string"&&eM.test(n)}for(var Wn=[],_y=0;_y<256;++_y)Wn.push((_y+256).toString(16).substr(1));function u0(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(Wn[n[t+0]]+Wn[n[t+1]]+Wn[n[t+2]]+Wn[n[t+3]]+"-"+Wn[n[t+4]]+Wn[n[t+5]]+"-"+Wn[n[t+6]]+Wn[n[t+7]]+"-"+Wn[n[t+8]]+Wn[n[t+9]]+"-"+Wn[n[t+10]]+Wn[n[t+11]]+Wn[n[t+12]]+Wn[n[t+13]]+Wn[n[t+14]]+Wn[n[t+15]]).toLowerCase();if(!c0(e))throw TypeError("Stringified UUID is invalid");return e}var qA,Ay,Ey=0,vy=0;function nM(n,t,e){var r=t&&e||0,i=t||new Array(16);n=n||{};var s=n.node||qA,o=n.clockseq!==void 0?n.clockseq:Ay;if(s==null||o==null){var a=n.random||(n.rng||ZA)();s==null&&(s=qA=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),o==null&&(o=Ay=(a[6]<<8|a[7])&16383)}var u=n.msecs!==void 0?n.msecs:Date.now(),f=n.nsecs!==void 0?n.nsecs:vy+1,h=u-Ey+(f-vy)/1e4;if(h<0&&n.clockseq===void 0&&(o=o+1&16383),(h<0||u>Ey)&&n.nsecs===void 0&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Ey=u,vy=f,Ay=o,u+=122192928e5;var y=((u&268435455)*1e4+f)%4294967296;i[r++]=y>>>24&255,i[r++]=y>>>16&255,i[r++]=y>>>8&255,i[r++]=y&255;var _=u/4294967296*1e4&268435455;i[r++]=_>>>8&255,i[r++]=_&255,i[r++]=_>>>24&15|16,i[r++]=_>>>16&255,i[r++]=o>>>8|128,i[r++]=o&255;for(var w=0;w<6;++w)i[r+w]=s[w];return t||u0(i)}function QA(n){if(!c0(n))throw TypeError("Invalid UUID");var t,e=new Uint8Array(16);return e[0]=(t=parseInt(n.slice(0,8),16))>>>24,e[1]=t>>>16&255,e[2]=t>>>8&255,e[3]=t&255,e[4]=(t=parseInt(n.slice(9,13),16))>>>8,e[5]=t&255,e[6]=(t=parseInt(n.slice(14,18),16))>>>8,e[7]=t&255,e[8]=(t=parseInt(n.slice(19,23),16))>>>8,e[9]=t&255,e[10]=(t=parseInt(n.slice(24,36),16))/1099511627776&255,e[11]=t/4294967296&255,e[12]=t>>>24&255,e[13]=t>>>16&255,e[14]=t>>>8&255,e[15]=t&255,e}function rM(n){n=unescape(encodeURIComponent(n));for(var t=[],e=0;e<n.length;++e)t.push(n.charCodeAt(e));return t}var iM="6ba7b810-9dad-11d1-80b4-00c04fd430c8",sM="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function YA(n,t,e){function r(i,s,o,a){if(typeof i=="string"&&(i=rM(i)),typeof s=="string"&&(s=QA(s)),s.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+i.length);if(u.set(s),u.set(i,s.length),u=e(u),u[6]=u[6]&15|t,u[8]=u[8]&63|128,o){a=a||0;for(var f=0;f<16;++f)o[a+f]=u[f];return o}return u0(u)}try{r.name=n}catch{}return r.DNS=iM,r.URL=sM,r}function oM(n){if(typeof n=="string"){var t=unescape(encodeURIComponent(n));n=new Uint8Array(t.length);for(var e=0;e<t.length;++e)n[e]=t.charCodeAt(e)}return aM(cM(uM(n),n.length*8))}function aM(n){for(var t=[],e=n.length*32,r="0123456789abcdef",i=0;i<e;i+=8){var s=n[i>>5]>>>i%32&255,o=parseInt(r.charAt(s>>>4&15)+r.charAt(s&15),16);t.push(o)}return t}function JA(n){return(n+64>>>9<<4)+14+1}function cM(n,t){n[t>>5]|=128<<t%32,n[JA(t)-1]=t;for(var e=1732584193,r=-271733879,i=-1732584194,s=271733878,o=0;o<n.length;o+=16){var a=e,u=r,f=i,h=s;e=er(e,r,i,s,n[o],7,-680876936),s=er(s,e,r,i,n[o+1],12,-389564586),i=er(i,s,e,r,n[o+2],17,606105819),r=er(r,i,s,e,n[o+3],22,-1044525330),e=er(e,r,i,s,n[o+4],7,-176418897),s=er(s,e,r,i,n[o+5],12,1200080426),i=er(i,s,e,r,n[o+6],17,-1473231341),r=er(r,i,s,e,n[o+7],22,-45705983),e=er(e,r,i,s,n[o+8],7,1770035416),s=er(s,e,r,i,n[o+9],12,-1958414417),i=er(i,s,e,r,n[o+10],17,-42063),r=er(r,i,s,e,n[o+11],22,-1990404162),e=er(e,r,i,s,n[o+12],7,1804603682),s=er(s,e,r,i,n[o+13],12,-40341101),i=er(i,s,e,r,n[o+14],17,-1502002290),r=er(r,i,s,e,n[o+15],22,1236535329),e=nr(e,r,i,s,n[o+1],5,-165796510),s=nr(s,e,r,i,n[o+6],9,-1069501632),i=nr(i,s,e,r,n[o+11],14,643717713),r=nr(r,i,s,e,n[o],20,-373897302),e=nr(e,r,i,s,n[o+5],5,-701558691),s=nr(s,e,r,i,n[o+10],9,38016083),i=nr(i,s,e,r,n[o+15],14,-660478335),r=nr(r,i,s,e,n[o+4],20,-405537848),e=nr(e,r,i,s,n[o+9],5,568446438),s=nr(s,e,r,i,n[o+14],9,-1019803690),i=nr(i,s,e,r,n[o+3],14,-187363961),r=nr(r,i,s,e,n[o+8],20,1163531501),e=nr(e,r,i,s,n[o+13],5,-1444681467),s=nr(s,e,r,i,n[o+2],9,-51403784),i=nr(i,s,e,r,n[o+7],14,1735328473),r=nr(r,i,s,e,n[o+12],20,-1926607734),e=rr(e,r,i,s,n[o+5],4,-378558),s=rr(s,e,r,i,n[o+8],11,-2022574463),i=rr(i,s,e,r,n[o+11],16,1839030562),r=rr(r,i,s,e,n[o+14],23,-35309556),e=rr(e,r,i,s,n[o+1],4,-1530992060),s=rr(s,e,r,i,n[o+4],11,1272893353),i=rr(i,s,e,r,n[o+7],16,-155497632),r=rr(r,i,s,e,n[o+10],23,-1094730640),e=rr(e,r,i,s,n[o+13],4,681279174),s=rr(s,e,r,i,n[o],11,-358537222),i=rr(i,s,e,r,n[o+3],16,-722521979),r=rr(r,i,s,e,n[o+6],23,76029189),e=rr(e,r,i,s,n[o+9],4,-640364487),s=rr(s,e,r,i,n[o+12],11,-421815835),i=rr(i,s,e,r,n[o+15],16,530742520),r=rr(r,i,s,e,n[o+2],23,-995338651),e=ir(e,r,i,s,n[o],6,-198630844),s=ir(s,e,r,i,n[o+7],10,1126891415),i=ir(i,s,e,r,n[o+14],15,-1416354905),r=ir(r,i,s,e,n[o+5],21,-57434055),e=ir(e,r,i,s,n[o+12],6,1700485571),s=ir(s,e,r,i,n[o+3],10,-1894986606),i=ir(i,s,e,r,n[o+10],15,-1051523),r=ir(r,i,s,e,n[o+1],21,-2054922799),e=ir(e,r,i,s,n[o+8],6,1873313359),s=ir(s,e,r,i,n[o+15],10,-30611744),i=ir(i,s,e,r,n[o+6],15,-1560198380),r=ir(r,i,s,e,n[o+13],21,1309151649),e=ir(e,r,i,s,n[o+4],6,-145523070),s=ir(s,e,r,i,n[o+11],10,-1120210379),i=ir(i,s,e,r,n[o+2],15,718787259),r=ir(r,i,s,e,n[o+9],21,-343485551),e=_o(e,a),r=_o(r,u),i=_o(i,f),s=_o(s,h)}return[e,r,i,s]}function uM(n){if(n.length===0)return[];for(var t=n.length*8,e=new Uint32Array(JA(t)),r=0;r<t;r+=8)e[r>>5]|=(n[r/8]&255)<<r%32;return e}function _o(n,t){var e=(n&65535)+(t&65535),r=(n>>16)+(t>>16)+(e>>16);return r<<16|e&65535}function lM(n,t){return n<<t|n>>>32-t}function l0(n,t,e,r,i,s){return _o(lM(_o(_o(t,n),_o(r,s)),i),e)}function er(n,t,e,r,i,s,o){return l0(t&e|~t&r,n,t,i,s,o)}function nr(n,t,e,r,i,s,o){return l0(t&r|e&~r,n,t,i,s,o)}function rr(n,t,e,r,i,s,o){return l0(t^e^r,n,t,i,s,o)}function ir(n,t,e,r,i,s,o){return l0(e^(t|~r),n,t,i,s,o)}var fM=YA("v3",48,oM);function hM(n,t,e){n=n||{};var r=n.random||(n.rng||ZA)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){e=e||0;for(var i=0;i<16;++i)t[e+i]=r[i];return t}return u0(r)}function dM(n,t,e,r){switch(n){case 0:return t&e^~t&r;case 1:return t^e^r;case 2:return t&e^t&r^e&r;case 3:return t^e^r}}function xy(n,t){return n<<t|n>>>32-t}function pM(n){var t=[1518500249,1859775393,2400959708,3395469782],e=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof n=="string"){var r=unescape(encodeURIComponent(n));n=[];for(var i=0;i<r.length;++i)n.push(r.charCodeAt(i))}else Array.isArray(n)||(n=Array.prototype.slice.call(n));n.push(128);for(var s=n.length/4+2,o=Math.ceil(s/16),a=new Array(o),u=0;u<o;++u){for(var f=new Uint32Array(16),h=0;h<16;++h)f[h]=n[u*64+h*4]<<24|n[u*64+h*4+1]<<16|n[u*64+h*4+2]<<8|n[u*64+h*4+3];a[u]=f}a[o-1][14]=(n.length-1)*8/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=(n.length-1)*8&4294967295;for(var y=0;y<o;++y){for(var _=new Uint32Array(80),w=0;w<16;++w)_[w]=a[y][w];for(var R=16;R<80;++R)_[R]=xy(_[R-3]^_[R-8]^_[R-14]^_[R-16],1);for(var T=e[0],I=e[1],B=e[2],H=e[3],U=e[4],G=0;G<80;++G){var W=Math.floor(G/20),X=xy(T,5)+dM(W,I,B,H)+U+t[W]+_[G]>>>0;U=H,H=B,B=xy(I,30)>>>0,I=T,T=X}e[0]=e[0]+T>>>0,e[1]=e[1]+I>>>0,e[2]=e[2]+B>>>0,e[3]=e[3]+H>>>0,e[4]=e[4]+U>>>0}return[e[0]>>24&255,e[0]>>16&255,e[0]>>8&255,e[0]&255,e[1]>>24&255,e[1]>>16&255,e[1]>>8&255,e[1]&255,e[2]>>24&255,e[2]>>16&255,e[2]>>8&255,e[2]&255,e[3]>>24&255,e[3]>>16&255,e[3]>>8&255,e[3]&255,e[4]>>24&255,e[4]>>16&255,e[4]>>8&255,e[4]&255]}var gM=YA("v5",80,pM);const yM="00000000-0000-0000-0000-000000000000";function mM(n){if(!c0(n))throw TypeError("Invalid UUID");return parseInt(n.substr(14,1),16)}const XA=Lc(Object.freeze(Object.defineProperty({__proto__:null,NIL:yM,parse:QA,stringify:u0,v1:nM,v3:fM,v4:hM,v5:gM,validate:c0,version:mM},Symbol.toStringTag,{value:"Module"}))),wM=XA.v4;var bM=function(n,t,e,r){if(typeof n!="string")throw new TypeError(n+" must be a string");r=r||{};const i=typeof r.version=="number"?r.version:2;if(i!==1&&i!==2)throw new TypeError(i+" must be 1 or 2");const s={method:n};if(i===2&&(s.jsonrpc="2.0"),t){if(typeof t!="object"&&!Array.isArray(t))throw new TypeError(t+" must be an object, array or omitted");s.params=t}if(typeof e>"u"){const o=typeof r.generator=="function"?r.generator:function(){return wM()};s.id=o(s,r)}else i===2&&e===null?r.notificationIdNull&&(s.id=null):s.id=e;return s};const _M=XA.v4,AM=bM,Sf=function(n,t){if(!(this instanceof Sf))return new Sf(n,t);t||(t={}),this.options={reviver:typeof t.reviver<"u"?t.reviver:null,replacer:typeof t.replacer<"u"?t.replacer:null,generator:typeof t.generator<"u"?t.generator:function(){return _M()},version:typeof t.version<"u"?t.version:2,notificationIdNull:typeof t.notificationIdNull=="boolean"?t.notificationIdNull:!1},this.callServer=n};var EM=Sf;Sf.prototype.request=function(n,t,e,r){const i=this;let s=null;const o=Array.isArray(n)&&typeof t=="function";if(this.options.version===1&&o)throw new TypeError("JSON-RPC 1.0 does not support batching");if(o||!o&&n&&typeof n=="object"&&typeof t=="function")r=t,s=n;else{typeof e=="function"&&(r=e,e=void 0);const f=typeof r=="function";try{s=AM(n,t,e,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(h){if(f)return r(h);throw h}if(!f)return s}let u;try{u=JSON.stringify(s,this.options.replacer)}catch(f){return r(f)}return this.callServer(u,function(f,h){i._parseResponse(f,h,r)}),s},Sf.prototype._parseResponse=function(n,t,e){if(n){e(n);return}if(!t)return e();let r;try{r=JSON.parse(t,this.options.reviver)}catch(i){return e(i)}if(e.length===3)if(Array.isArray(r)){const i=function(o){return typeof o.error<"u"},s=function(o){return!i(o)};return e(null,r.filter(i),r.filter(s))}else return e(null,r.error,r.result);e(null,r)};const vM=Mr(EM);var xM=class extends Rg{constructor(t,e,r){super();Z(this,"socket");this.socket=new window.WebSocket(t,r),this.socket.onopen=()=>this.emit("open"),this.socket.onmessage=i=>this.emit("message",i.data),this.socket.onerror=i=>this.emit("error",i),this.socket.onclose=i=>{this.emit("close",i.code,i.reason)}}send(t,e,r){const i=r||e;try{this.socket.send(t),i()}catch(s){i(s)}}close(t,e){this.socket.close(t,e)}addEventListener(t,e,r){this.socket.addEventListener(t,e,r)}};function RM(n,t){return new xM(n,t)}var IM=class{encode(n){return JSON.stringify(n)}decode(n){return JSON.parse(n)}},SM=class extends Rg{constructor(t,e="ws://localhost:8080",{autoconnect:r=!0,reconnect:i=!0,reconnect_interval:s=1e3,max_reconnects:o=5,...a}={},u,f){super();Z(this,"address");Z(this,"rpc_id");Z(this,"queue");Z(this,"options");Z(this,"autoconnect");Z(this,"ready");Z(this,"reconnect");Z(this,"reconnect_timer_id");Z(this,"reconnect_interval");Z(this,"max_reconnects");Z(this,"rest_options");Z(this,"current_reconnects");Z(this,"generate_request_id");Z(this,"socket");Z(this,"webSocketFactory");Z(this,"dataPack");this.webSocketFactory=t,this.queue={},this.rpc_id=0,this.address=e,this.autoconnect=r,this.ready=!1,this.reconnect=i,this.reconnect_timer_id=void 0,this.reconnect_interval=s,this.max_reconnects=o,this.rest_options=a,this.current_reconnects=0,this.generate_request_id=u||(()=>typeof this.rpc_id=="number"?++this.rpc_id:Number(this.rpc_id)+1),f?this.dataPack=f:this.dataPack=new IM,this.autoconnect&&this._connect(this.address,{autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects,...this.rest_options})}connect(){this.socket||this._connect(this.address,{autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects,...this.rest_options})}call(t,e,r,i){return!i&&typeof r=="object"&&(i=r,r=null),new Promise((s,o)=>{if(!this.ready)return o(new Error("socket not ready"));const a=this.generate_request_id(t,e),u={jsonrpc:"2.0",method:t,params:e||void 0,id:a};this.socket.send(this.dataPack.encode(u),i,f=>{if(f)return o(f);this.queue[a]={promise:[s,o]},r&&(this.queue[a].timeout=setTimeout(()=>{delete this.queue[a],o(new Error("reply timeout"))},r))})})}async login(t){const e=await this.call("rpc.login",t);if(!e)throw new Error("authentication failed");return e}async listMethods(){return await this.call("__listMethods")}notify(t,e){return new Promise((r,i)=>{if(!this.ready)return i(new Error("socket not ready"));const s={jsonrpc:"2.0",method:t,params:e};this.socket.send(this.dataPack.encode(s),o=>{if(o)return i(o);r()})})}async subscribe(t){typeof t=="string"&&(t=[t]);const e=await this.call("rpc.on",t);if(typeof t=="string"&&e[t]!=="ok")throw new Error("Failed subscribing to an event '"+t+"' with: "+e[t]);return e}async unsubscribe(t){typeof t=="string"&&(t=[t]);const e=await this.call("rpc.off",t);if(typeof t=="string"&&e[t]!=="ok")throw new Error("Failed unsubscribing from an event with: "+e);return e}close(t,e){this.socket.close(t||1e3,e)}setAutoReconnect(t){this.reconnect=t}setReconnectInterval(t){this.reconnect_interval=t}setMaxReconnects(t){this.max_reconnects=t}_connect(t,e){clearTimeout(this.reconnect_timer_id),this.socket=this.webSocketFactory(t,e),this.socket.addEventListener("open",()=>{this.ready=!0,this.emit("open"),this.current_reconnects=0}),this.socket.addEventListener("message",({data:r})=>{r instanceof ArrayBuffer&&(r=kt.from(r).toString());try{r=this.dataPack.decode(r)}catch{return}if(r.notification&&this.listeners(r.notification).length){if(!Object.keys(r.params).length)return this.emit(r.notification);const i=[r.notification];if(r.params.constructor===Object)i.push(r.params);else for(let s=0;s<r.params.length;s++)i.push(r.params[s]);return Promise.resolve().then(()=>{this.emit.apply(this,i)})}if(!this.queue[r.id])return r.method?Promise.resolve().then(()=>{this.emit(r.method,r==null?void 0:r.params)}):void 0;"error"in r=="result"in r&&this.queue[r.id].promise[1](new Error('Server response malformed. Response must include either "result" or "error", but not both.')),this.queue[r.id].timeout&&clearTimeout(this.queue[r.id].timeout),r.error?this.queue[r.id].promise[1](r.error):this.queue[r.id].promise[0](r.result),delete this.queue[r.id]}),this.socket.addEventListener("error",r=>this.emit("error",r)),this.socket.addEventListener("close",({code:r,reason:i})=>{this.ready&&setTimeout(()=>this.emit("close",r,i),0),this.ready=!1,this.socket=void 0,r!==1e3&&(this.current_reconnects++,this.reconnect&&(this.max_reconnects>this.current_reconnects||this.max_reconnects===0)&&(this.reconnect_timer_id=setTimeout(()=>this._connect(t,e),this.reconnect_interval)))})}};const tE=[],eE=[],nE=[],kM=BigInt(0),kf=BigInt(1),TM=BigInt(2),OM=BigInt(7),NM=BigInt(256),CM=BigInt(113);for(let n=0,t=kf,e=1,r=0;n<24;n++){[e,r]=[r,(2*e+3*r)%5],tE.push(2*(5*r+e)),eE.push((n+1)*(n+2)/2%64);let i=kM;for(let s=0;s<7;s++)t=(t<<kf^(t>>OM)*CM)%NM,t&TM&&(i^=kf<<(kf<<BigInt(s))-kf);nE.push(i)}const[BM,PM]=Q_(nE,!0),rE=(n,t,e)=>e>32?X_(n,t,e):Y_(n,t,e),iE=(n,t,e)=>e>32?tA(n,t,e):J_(n,t,e);function MM(n,t=24){const e=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let o=0;o<10;o++)e[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,u=(o+2)%10,f=e[u],h=e[u+1],y=rE(f,h,1)^e[a],_=iE(f,h,1)^e[a+1];for(let w=0;w<50;w+=10)n[o+w]^=y,n[o+w+1]^=_}let i=n[2],s=n[3];for(let o=0;o<24;o++){const a=eE[o],u=rE(i,s,a),f=iE(i,s,a),h=tE[o];i=n[h],s=n[h+1],n[h]=u,n[h+1]=f}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)e[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~e[(a+2)%10]&e[(a+4)%10]}n[0]^=BM[r],n[1]^=PM[r]}e.fill(0)}let LM=class sO extends zg{constructor(t,e,r,i=!1,s=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,zd(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=mP(this.state)}keccak(){K_||j_(this.state32),MM(this.state32,this.rounds),K_||j_(this.state32),this.posOut=0,this.pos=0}update(t){Yc(this);const{blockLen:e,state:r}=this;t=Gd(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(e-this.pos,i-s);for(let a=0;a<o;a++)r[this.pos++]^=t[s++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:e,pos:r,blockLen:i}=this;t[r]^=e,e&128&&r===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){Yc(this,!1),bf(t),this.finish();const e=this.state,{blockLen:r}=this;for(let i=0,s=t.length;i<s;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,s-i);t.set(e.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return zd(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(V_(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:e,suffix:r,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new sO(e,r,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}};const sE=((n,t,e)=>Gg(()=>new LM(t,n,e)))(1,136,256/8);let oE=class extends zg{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,yP(t);const r=Gd(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,s=new Uint8Array(i);s.set(r.length>i?t.create().update(r).digest():r);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=t.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(t){return Yc(this),this.iHash.update(t),this}digestInto(t){Yc(this),bf(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const aE=(n,t,e)=>new oE(n,t).update(e).digest();aE.create=(n,t)=>new oE(n,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function cE(n){n.lowS!==void 0&&Es("lowS",n.lowS),n.prehash!==void 0&&Es("prehash",n.prehash)}function UM(n){const t=ey(n);ru(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:e,Fp:r,a:i}=t;if(e){if(!r.eql(i,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:DM,hexToBytes:FM}=WP;class $M extends Error{constructor(t=""){super(t)}}const Rs={Err:$M,_tlv:{encode:(n,t)=>{const{Err:e}=Rs;if(n<0||n>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");const r=t.length/2,i=Xc(r);if(i.length/2&128)throw new e("tlv.encode: long form length too big");const s=r>127?Xc(i.length/2|128):"";return Xc(n)+s+i+t},decode(n,t){const{Err:e}=Rs;let r=0;if(n<0||n>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[r++]!==n)throw new e("tlv.decode: wrong tlv");const i=t[r++],s=!!(i&128);let o=0;if(!s)o=i;else{const u=i&127;if(!u)throw new e("tlv.decode(long): indefinite length not supported");if(u>4)throw new e("tlv.decode(long): byte length is too big");const f=t.subarray(r,r+u);if(f.length!==u)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(const h of f)o=o<<8|h;if(r+=u,o<128)throw new e("tlv.decode(long): not minimal encoding")}const a=t.subarray(r,r+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+o)}}},_int:{encode(n){const{Err:t}=Rs;if(n<Is)throw new t("integer: negative integers are not allowed");let e=Xc(n);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(n){const{Err:t}=Rs;if(n[0]&128)throw new t("invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return DM(n)}},toSig(n){const{Err:t,_int:e,_tlv:r}=Rs,i=typeof n=="string"?FM(n):n;_f(i);const{v:s,l:o}=r.decode(48,i);if(o.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:u}=r.decode(2,s),{v:f,l:h}=r.decode(2,u);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(n){const{_tlv:t,_int:e}=Rs,r=t.encode(2,e.encode(n.r)),i=t.encode(2,e.encode(n.s)),s=r+i;return t.encode(48,s)}},Is=BigInt(0),Mn=BigInt(1);BigInt(2);const uE=BigInt(3);BigInt(4);function HM(n){const t=UM(n),{Fp:e}=t,r=Zd(t.n,t.nBitLength),i=t.toBytes||((T,I,B)=>{const H=I.toAffine();return Aa(Uint8Array.from([4]),e.toBytes(H.x),e.toBytes(H.y))}),s=t.fromBytes||(T=>{const I=T.subarray(1),B=e.fromBytes(I.subarray(0,e.BYTES)),H=e.fromBytes(I.subarray(e.BYTES,2*e.BYTES));return{x:B,y:H}});function o(T){const{a:I,b:B}=t,H=e.sqr(T),U=e.mul(H,T);return e.add(e.add(U,e.mul(T,I)),B)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(T){return Wd(T,Mn,t.n)}function u(T){const{allowedPrivateKeyLengths:I,nByteLength:B,wrapPrivateKey:H,n:U}=t;if(I&&typeof T!="bigint"){if(wa(T)&&(T=ba(T)),typeof T!="string"||!I.includes(T.length))throw new Error("invalid private key");T=T.padStart(B*2,"0")}let G;try{G=typeof T=="bigint"?T:_a(Tn("private key",T,B))}catch{throw new Error("invalid private key, expected hex or "+B+" bytes, got "+typeof T)}return H&&(G=qe(G,U)),Jr("private key",G,Mn,U),G}function f(T){if(!(T instanceof _))throw new Error("ProjectivePoint expected")}const h=Ef((T,I)=>{const{px:B,py:H,pz:U}=T;if(e.eql(U,e.ONE))return{x:B,y:H};const G=T.is0();I==null&&(I=G?e.ONE:e.inv(U));const W=e.mul(B,I),X=e.mul(H,I),j=e.mul(U,I);if(G)return{x:e.ZERO,y:e.ZERO};if(!e.eql(j,e.ONE))throw new Error("invZ was invalid");return{x:W,y:X}}),y=Ef(T=>{if(T.is0()){if(t.allowInfinityPoint&&!e.is0(T.py))return;throw new Error("bad point: ZERO")}const{x:I,y:B}=T.toAffine();if(!e.isValid(I)||!e.isValid(B))throw new Error("bad point: x or y not FE");const H=e.sqr(B),U=o(I);if(!e.eql(H,U))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class _{constructor(I,B,H){if(this.px=I,this.py=B,this.pz=H,I==null||!e.isValid(I))throw new Error("x required");if(B==null||!e.isValid(B))throw new Error("y required");if(H==null||!e.isValid(H))throw new Error("z required");Object.freeze(this)}static fromAffine(I){const{x:B,y:H}=I||{};if(!I||!e.isValid(B)||!e.isValid(H))throw new Error("invalid affine point");if(I instanceof _)throw new Error("projective point not allowed");const U=G=>e.eql(G,e.ZERO);return U(B)&&U(H)?_.ZERO:new _(B,H,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(I){const B=e.invertBatch(I.map(H=>H.pz));return I.map((H,U)=>H.toAffine(B[U])).map(_.fromAffine)}static fromHex(I){const B=_.fromAffine(s(Tn("pointHex",I)));return B.assertValidity(),B}static fromPrivateKey(I){return _.BASE.multiply(u(I))}static msm(I,B){return pA(_,r,I,B)}_setWindowSize(I){R.setWindowSize(this,I)}assertValidity(){y(this)}hasEvenY(){const{y:I}=this.toAffine();if(e.isOdd)return!e.isOdd(I);throw new Error("Field doesn't support isOdd")}equals(I){f(I);const{px:B,py:H,pz:U}=this,{px:G,py:W,pz:X}=I,j=e.eql(e.mul(B,X),e.mul(G,U)),J=e.eql(e.mul(H,X),e.mul(W,U));return j&&J}negate(){return new _(this.px,e.neg(this.py),this.pz)}double(){const{a:I,b:B}=t,H=e.mul(B,uE),{px:U,py:G,pz:W}=this;let X=e.ZERO,j=e.ZERO,J=e.ZERO,it=e.mul(U,U),ut=e.mul(G,G),rt=e.mul(W,W),ot=e.mul(U,G);return ot=e.add(ot,ot),J=e.mul(U,W),J=e.add(J,J),X=e.mul(I,J),j=e.mul(H,rt),j=e.add(X,j),X=e.sub(ut,j),j=e.add(ut,j),j=e.mul(X,j),X=e.mul(ot,X),J=e.mul(H,J),rt=e.mul(I,rt),ot=e.sub(it,rt),ot=e.mul(I,ot),ot=e.add(ot,J),J=e.add(it,it),it=e.add(J,it),it=e.add(it,rt),it=e.mul(it,ot),j=e.add(j,it),rt=e.mul(G,W),rt=e.add(rt,rt),it=e.mul(rt,ot),X=e.sub(X,it),J=e.mul(rt,ut),J=e.add(J,J),J=e.add(J,J),new _(X,j,J)}add(I){f(I);const{px:B,py:H,pz:U}=this,{px:G,py:W,pz:X}=I;let j=e.ZERO,J=e.ZERO,it=e.ZERO;const ut=t.a,rt=e.mul(t.b,uE);let ot=e.mul(B,G),C=e.mul(H,W),p=e.mul(U,X),m=e.add(B,H),v=e.add(G,W);m=e.mul(m,v),v=e.add(ot,C),m=e.sub(m,v),v=e.add(B,U);let k=e.add(G,X);return v=e.mul(v,k),k=e.add(ot,p),v=e.sub(v,k),k=e.add(H,U),j=e.add(W,X),k=e.mul(k,j),j=e.add(C,p),k=e.sub(k,j),it=e.mul(ut,v),j=e.mul(rt,p),it=e.add(j,it),j=e.sub(C,it),it=e.add(C,it),J=e.mul(j,it),C=e.add(ot,ot),C=e.add(C,ot),p=e.mul(ut,p),v=e.mul(rt,v),C=e.add(C,p),p=e.sub(ot,p),p=e.mul(ut,p),v=e.add(v,p),ot=e.mul(C,v),J=e.add(J,ot),ot=e.mul(k,v),j=e.mul(m,j),j=e.sub(j,ot),ot=e.mul(m,C),it=e.mul(k,it),it=e.add(it,ot),new _(j,J,it)}subtract(I){return this.add(I.negate())}is0(){return this.equals(_.ZERO)}wNAF(I){return R.wNAFCached(this,I,_.normalizeZ)}multiplyUnsafe(I){const{endo:B,n:H}=t;Jr("scalar",I,Is,H);const U=_.ZERO;if(I===Is)return U;if(this.is0()||I===Mn)return this;if(!B||R.hasPrecomputes(this))return R.wNAFCachedUnsafe(this,I,_.normalizeZ);let{k1neg:G,k1:W,k2neg:X,k2:j}=B.splitScalar(I),J=U,it=U,ut=this;for(;W>Is||j>Is;)W&Mn&&(J=J.add(ut)),j&Mn&&(it=it.add(ut)),ut=ut.double(),W>>=Mn,j>>=Mn;return G&&(J=J.negate()),X&&(it=it.negate()),it=new _(e.mul(it.px,B.beta),it.py,it.pz),J.add(it)}multiply(I){const{endo:B,n:H}=t;Jr("scalar",I,Mn,H);let U,G;if(B){const{k1neg:W,k1:X,k2neg:j,k2:J}=B.splitScalar(I);let{p:it,f:ut}=this.wNAF(X),{p:rt,f:ot}=this.wNAF(J);it=R.constTimeNegate(W,it),rt=R.constTimeNegate(j,rt),rt=new _(e.mul(rt.px,B.beta),rt.py,rt.pz),U=it.add(rt),G=ut.add(ot)}else{const{p:W,f:X}=this.wNAF(I);U=W,G=X}return _.normalizeZ([U,G])[0]}multiplyAndAddUnsafe(I,B,H){const U=_.BASE,G=(X,j)=>j===Is||j===Mn||!X.equals(U)?X.multiplyUnsafe(j):X.multiply(j),W=G(this,B).add(G(I,H));return W.is0()?void 0:W}toAffine(I){return h(this,I)}isTorsionFree(){const{h:I,isTorsionFree:B}=t;if(I===Mn)return!0;if(B)return B(_,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:I,clearCofactor:B}=t;return I===Mn?this:B?B(_,this):this.multiplyUnsafe(t.h)}toRawBytes(I=!0){return Es("isCompressed",I),this.assertValidity(),i(_,this,I)}toHex(I=!0){return Es("isCompressed",I),ba(this.toRawBytes(I))}}_.BASE=new _(t.Gx,t.Gy,e.ONE),_.ZERO=new _(e.ZERO,e.ONE,e.ZERO);const w=t.nBitLength,R=dA(_,t.endo?Math.ceil(w/2):w);return{CURVE:t,ProjectivePoint:_,normPrivateKeyToScalar:u,weierstrassEquation:o,isWithinCurveOrder:a}}function zM(n){const t=ey(n);return ru(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function GM(n){const t=zM(n),{Fp:e,n:r}=t,i=e.BYTES+1,s=2*e.BYTES+1;function o(p){return qe(p,r)}function a(p){return Qg(p,r)}const{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:y}=HM({...t,toBytes(p,m,v){const k=m.toAffine(),N=e.toBytes(k.x),M=Aa;return Es("isCompressed",v),v?M(Uint8Array.from([m.hasEvenY()?2:3]),N):M(Uint8Array.from([4]),N,e.toBytes(k.y))},fromBytes(p){const m=p.length,v=p[0],k=p.subarray(1);if(m===i&&(v===2||v===3)){const N=_a(k);if(!Wd(N,Mn,e.ORDER))throw new Error("Point is not on curve");const M=h(N);let z;try{z=e.sqrt(M)}catch($){const ct=$ instanceof Error?": "+$.message:"";throw new Error("Point is not on curve"+ct)}const P=(z&Mn)===Mn;return(v&1)===1!==P&&(z=e.neg(z)),{x:N,y:z}}else if(m===s&&v===4){const N=e.fromBytes(k.subarray(0,e.BYTES)),M=e.fromBytes(k.subarray(e.BYTES,2*e.BYTES));return{x:N,y:M}}else{const N=i,M=s;throw new Error("invalid Point, expected length of "+N+", or uncompressed "+M+", got "+m)}}}),_=p=>ba(nu(p,t.nByteLength));function w(p){const m=r>>Mn;return p>m}function R(p){return w(p)?o(-p):p}const T=(p,m,v)=>_a(p.slice(m,v));class I{constructor(m,v,k){this.r=m,this.s=v,this.recovery=k,this.assertValidity()}static fromCompact(m){const v=t.nByteLength;return m=Tn("compactSignature",m,v*2),new I(T(m,0,v),T(m,v,2*v))}static fromDER(m){const{r:v,s:k}=Rs.toSig(Tn("DER",m));return new I(v,k)}assertValidity(){Jr("r",this.r,Mn,r),Jr("s",this.s,Mn,r)}addRecoveryBit(m){return new I(this.r,this.s,m)}recoverPublicKey(m){const{r:v,s:k,recovery:N}=this,M=X(Tn("msgHash",m));if(N==null||![0,1,2,3].includes(N))throw new Error("recovery id invalid");const z=N===2||N===3?v+t.n:v;if(z>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");const P=N&1?"03":"02",A=u.fromHex(P+_(z)),$=a(z),ct=o(-M*$),dt=o(k*$),wt=u.BASE.multiplyAndAddUnsafe(A,ct,dt);if(!wt)throw new Error("point at infinify");return wt.assertValidity(),wt}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new I(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return tu(this.toDERHex())}toDERHex(){return Rs.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tu(this.toCompactHex())}toCompactHex(){return _(this.r)+_(this.s)}}const B={isValidPrivateKey(p){try{return f(p),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{const p=uA(t.n);return r4(t.randomBytes(p),t.n)},precompute(p=8,m=u.BASE){return m._setWindowSize(p),m.multiply(BigInt(3)),m}};function H(p,m=!0){return u.fromPrivateKey(p).toRawBytes(m)}function U(p){const m=wa(p),v=typeof p=="string",k=(m||v)&&p.length;return m?k===i||k===s:v?k===2*i||k===2*s:p instanceof u}function G(p,m,v=!0){if(U(p))throw new Error("first arg must be private key");if(!U(m))throw new Error("second arg must be public key");return u.fromHex(m).multiply(f(p)).toRawBytes(v)}const W=t.bits2int||function(p){if(p.length>8192)throw new Error("input is too large");const m=_a(p),v=p.length*8-t.nBitLength;return v>0?m>>BigInt(v):m},X=t.bits2int_modN||function(p){return o(W(p))},j=Wg(t.nBitLength);function J(p){return Jr("num < 2^"+t.nBitLength,p,Is,j),nu(p,t.nByteLength)}function it(p,m,v=ut){if(["recovered","canonical"].some(Ut=>Ut in v))throw new Error("sign() legacy options not supported");const{hash:k,randomBytes:N}=t;let{lowS:M,prehash:z,extraEntropy:P}=v;M==null&&(M=!0),p=Tn("msgHash",p),cE(v),z&&(p=Tn("prehashed msgHash",k(p)));const A=X(p),$=f(m),ct=[J($),J(A)];if(P!=null&&P!==!1){const Ut=P===!0?N(e.BYTES):P;ct.push(Tn("extraEntropy",Ut))}const dt=Aa(...ct),wt=A;function Gt(Ut){const Lt=W(Ut);if(!y(Lt))return;const Re=a(Lt),Kt=u.BASE.multiply(Lt).toAffine(),Ft=o(Kt.x);if(Ft===Is)return;const Te=o(Re*o(wt+Ft*$));if(Te===Is)return;let re=(Kt.x===Ft?0:2)|Number(Kt.y&Mn),oe=Te;return M&&w(Te)&&(oe=R(Te),re^=1),new I(Ft,oe,re)}return{seed:dt,k2sig:Gt}}const ut={lowS:t.lowS,prehash:!1},rt={lowS:t.lowS,prehash:!1};function ot(p,m,v=ut){const{seed:k,k2sig:N}=it(p,m,v),M=t;return iA(M.hash.outputLen,M.nByteLength,M.hmac)(k,N)}u.BASE._setWindowSize(8);function C(p,m,v,k=rt){var re;const N=p;m=Tn("msgHash",m),v=Tn("publicKey",v);const{lowS:M,prehash:z,format:P}=k;if(cE(k),"strict"in k)throw new Error("options.strict was renamed to lowS");if(P!==void 0&&P!=="compact"&&P!=="der")throw new Error("format must be compact or der");const A=typeof N=="string"||wa(N),$=!A&&!P&&typeof N=="object"&&N!==null&&typeof N.r=="bigint"&&typeof N.s=="bigint";if(!A&&!$)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ct,dt;try{if($&&(ct=new I(N.r,N.s)),A){try{P!=="compact"&&(ct=I.fromDER(N))}catch(oe){if(!(oe instanceof Rs.Err))throw oe}!ct&&P!=="der"&&(ct=I.fromCompact(N))}dt=u.fromHex(v)}catch{return!1}if(!ct||M&&ct.hasHighS())return!1;z&&(m=t.hash(m));const{r:wt,s:Gt}=ct,Ut=X(m),Lt=a(Gt),Re=o(Ut*Lt),Kt=o(wt*Lt),Ft=(re=u.BASE.multiplyAndAddUnsafe(dt,Re,Kt))==null?void 0:re.toAffine();return Ft?o(Ft.x)===wt:!1}return{CURVE:t,getPublicKey:H,getSharedSecret:G,sign:ot,verify:C,ProjectivePoint:u,Signature:I,utils:B}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function VM(n){return{hash:n,hmac:(t,...e)=>aE(n,t,_P(...e)),randomBytes:W_}}function KM(n,t){const e=r=>GM({...n,...VM(r)});return{...e(t),create:e}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const lE=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),fE=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),jM=BigInt(1),Ry=BigInt(2),hE=(n,t)=>(n+t/Ry)/t;function WM(n){const t=lE,e=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),f=n*n*n%t,h=f*f*n%t,y=un(h,e,t)*h%t,_=un(y,e,t)*h%t,w=un(_,Ry,t)*f%t,R=un(w,i,t)*w%t,T=un(R,s,t)*R%t,I=un(T,a,t)*T%t,B=un(I,u,t)*I%t,H=un(B,a,t)*T%t,U=un(H,e,t)*h%t,G=un(U,o,t)*R%t,W=un(G,r,t)*f%t,X=un(W,Ry,t);if(!Iy.eql(Iy.sqr(X),n))throw new Error("Cannot find square root");return X}const Iy=Zd(lE,void 0,void 0,{sqrt:WM}),f0=KM({a:BigInt(0),b:BigInt(7),Fp:Iy,n:fE,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:n=>{const t=fE,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-jM*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),a=hE(s*n,t),u=hE(-r*n,t);let f=qe(n-a*e-u*i,t),h=qe(-a*r-u*s,t);const y=f>o,_=h>o;if(y&&(f=t-f),_&&(h=t-h),f>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+n);return{k1neg:y,k1:f,k2neg:_,k2:h}}}},iy);BigInt(0),f0.ProjectivePoint;const ZM=iu.utils.randomPrivateKey,dE=()=>{const n=iu.utils.randomPrivateKey(),t=h0(n),e=new Uint8Array(64);return e.set(n),e.set(t,32),{publicKey:t,secretKey:e}},h0=iu.getPublicKey;function pE(n){try{return iu.ExtendedPoint.fromHex(n),!0}catch{return!1}}const Sy=(n,t)=>iu.sign(n,t.slice(0,32)),qM=iu.verify,te=n=>kt.isBuffer(n)?n:n instanceof Uint8Array?kt.from(n.buffer,n.byteOffset,n.byteLength):kt.from(n);let ky=class{constructor(t){Object.assign(this,t)}encode(){return kt.from(xA(Tf,this))}static decode(t){return RA(Tf,this,t)}static decodeUnchecked(t){return bA(Tf,this,t)}};class QM extends ky{constructor(t){if(super(t),this.enum="",Object.keys(t).length!==1)throw new Error("Enum can only take single value");Object.keys(t).map(e=>{this.enum=e})}}const Tf=new Map;var gE;const yE=32,Ki=32;function YM(n){return n._bn!==void 0}let mE=1;class pt extends ky{constructor(t){if(super({}),this._bn=void 0,YM(t))this._bn=t._bn;else{if(typeof t=="string"){const e=On.decode(t);if(e.length!=Ki)throw new Error("Invalid public key input");this._bn=new As(e)}else this._bn=new As(t);if(this._bn.byteLength()>Ki)throw new Error("Invalid public key input")}}static unique(){const t=new pt(mE);return mE+=1,new pt(t.toBuffer())}equals(t){return this._bn.eq(t._bn)}toBase58(){return On.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const t=this.toBuffer();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}toBuffer(){const t=this._bn.toArrayLike(kt);if(t.length===Ki)return t;const e=kt.alloc(32);return t.copy(e,32-t.length),e}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(t,e,r){const i=kt.concat([t.toBuffer(),kt.from(e),r.toBuffer()]),s=iy(i);return new pt(s)}static createProgramAddressSync(t,e){let r=kt.alloc(0);t.forEach(function(s){if(s.length>yE)throw new TypeError("Max seed length exceeded");r=kt.concat([r,te(s)])}),r=kt.concat([r,e.toBuffer(),kt.from("ProgramDerivedAddress")]);const i=iy(r);if(pE(i))throw new Error("Invalid seeds, address must fall off the curve");return new pt(i)}static async createProgramAddress(t,e){return this.createProgramAddressSync(t,e)}static findProgramAddressSync(t,e){let r=255,i;for(;r!=0;){try{const s=t.concat(kt.from([r]));i=this.createProgramAddressSync(s,e)}catch(s){if(s instanceof TypeError)throw s;r--;continue}return[i,r]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(t,e){return this.findProgramAddressSync(t,e)}static isOnCurve(t){const e=new pt(t);return pE(e.toBytes())}}gE=pt,pt.default=new gE("11111111111111111111111111111111"),Tf.set(pt,{kind:"struct",fields:[["_bn","u256"]]});class JM{constructor(t){if(this._publicKey=void 0,this._secretKey=void 0,t){const e=te(t);if(t.length!==64)throw new Error("bad secret key size");this._publicKey=e.slice(32,64),this._secretKey=e.slice(0,32)}else this._secretKey=te(ZM()),this._publicKey=te(h0(this._secretKey))}get publicKey(){return new pt(this._publicKey)}get secretKey(){return kt.concat([this._secretKey,this._publicKey],64)}}const XM=new pt("BPFLoader1111111111111111111111111111111111"),Ao=1232,d0=127,Of=64;class Ty extends Error{constructor(t){super(`Signature ${t} has expired: block height exceeded.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Ty.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class Oy extends Error{constructor(t,e){super(`Transaction was not confirmed in ${e.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${t} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Oy.prototype,"name",{value:"TransactionExpiredTimeoutError"});class lu extends Error{constructor(t){super(`Signature ${t} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=t}}Object.defineProperty(lu.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class Nf{constructor(t,e){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=t,this.accountKeysFromLookups=e}keySegments(){const t=[this.staticAccountKeys];return this.accountKeysFromLookups&&(t.push(this.accountKeysFromLookups.writable),t.push(this.accountKeysFromLookups.readonly)),t}get(t){for(const e of this.keySegments()){if(t<e.length)return e[t];t-=e.length}}get length(){return this.keySegments().flat().length}compileInstructions(t){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const r=new Map;this.keySegments().flat().forEach((s,o)=>{r.set(s.toBase58(),o)});const i=s=>{const o=r.get(s.toBase58());if(o===void 0)throw new Error("Encountered an unknown instruction account key during compilation");return o};return t.map(s=>({programIdIndex:i(s.programId),accountKeyIndexes:s.keys.map(o=>i(o.pubkey)),data:s.data}))}}const ce=(n="publicKey")=>We(32,n),tL=(n="signature")=>We(64,n),Sa=(n="string")=>{const t=Nt([Ot("length"),Ot("lengthPadding"),We(bo(Ot(),-8),"chars")],n),e=t.decode.bind(t),r=t.encode.bind(t),i=t;return i.decode=(s,o)=>e(s,o).chars.toString(),i.encode=(s,o,a)=>{const u={chars:kt.from(s,"utf8")};return r(u,o,a)},i.alloc=s=>Ot().span+Ot().span+kt.from(s,"utf8").length,i},eL=(n="authorized")=>Nt([ce("staker"),ce("withdrawer")],n),nL=(n="lockup")=>Nt([Fr("unixTimestamp"),Fr("epoch"),ce("custodian")],n),rL=(n="voteInit")=>Nt([ce("nodePubkey"),ce("authorizedVoter"),ce("authorizedWithdrawer"),me("commission")],n),iL=(n="voteAuthorizeWithSeedArgs")=>Nt([Ot("voteAuthorizationType"),ce("currentAuthorityDerivedKeyOwnerPubkey"),Sa("currentAuthorityDerivedKeySeed"),ce("newAuthorized")],n);function wE(n,t){const e=i=>{if(i.span>=0)return i.span;if(typeof i.alloc=="function")return i.alloc(t[i.property]);if("count"in i&&"elementLayout"in i){const s=t[i.property];if(Array.isArray(s))return s.length*e(i.elementLayout)}else if("fields"in i)return wE({layout:i},t[i.property]);return 0};let r=0;return n.layout.fields.forEach(i=>{r+=e(i)}),r}function Rr(n){let t=0,e=0;for(;;){let r=n.shift();if(t|=(r&127)<<e*7,e+=1,!(r&128))break}return t}function $r(n,t){let e=t;for(;;){let r=e&127;if(e>>=7,e==0){n.push(r);break}else r|=128,n.push(r)}}function _e(n,t){if(!n)throw new Error(t||"Assertion failed")}class p0{constructor(t,e){this.payer=void 0,this.keyMetaMap=void 0,this.payer=t,this.keyMetaMap=e}static compile(t,e){const r=new Map,i=o=>{const a=o.toBase58();let u=r.get(a);return u===void 0&&(u={isSigner:!1,isWritable:!1,isInvoked:!1},r.set(a,u)),u},s=i(e);s.isSigner=!0,s.isWritable=!0;for(const o of t){i(o.programId).isInvoked=!0;for(const a of o.keys){const u=i(a.pubkey);u.isSigner||(u.isSigner=a.isSigner),u.isWritable||(u.isWritable=a.isWritable)}}return new p0(e,r)}getMessageComponents(){const t=[...this.keyMetaMap.entries()];_e(t.length<=256,"Max static account keys length exceeded");const e=t.filter(([,u])=>u.isSigner&&u.isWritable),r=t.filter(([,u])=>u.isSigner&&!u.isWritable),i=t.filter(([,u])=>!u.isSigner&&u.isWritable),s=t.filter(([,u])=>!u.isSigner&&!u.isWritable),o={numRequiredSignatures:e.length+r.length,numReadonlySignedAccounts:r.length,numReadonlyUnsignedAccounts:s.length};{_e(e.length>0,"Expected at least one writable signer key");const[u]=e[0];_e(u===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}const a=[...e.map(([u])=>new pt(u)),...r.map(([u])=>new pt(u)),...i.map(([u])=>new pt(u)),...s.map(([u])=>new pt(u))];return[o,a]}extractTableLookup(t){const[e,r]=this.drainKeysFoundInLookupTable(t.state.addresses,o=>!o.isSigner&&!o.isInvoked&&o.isWritable),[i,s]=this.drainKeysFoundInLookupTable(t.state.addresses,o=>!o.isSigner&&!o.isInvoked&&!o.isWritable);if(!(e.length===0&&i.length===0))return[{accountKey:t.key,writableIndexes:e,readonlyIndexes:i},{writable:r,readonly:s}]}drainKeysFoundInLookupTable(t,e){const r=new Array,i=new Array;for(const[s,o]of this.keyMetaMap.entries())if(e(o)){const a=new pt(s),u=t.findIndex(f=>f.equals(a));u>=0&&(_e(u<256,"Max lookup table index exceeded"),r.push(u),i.push(a),this.keyMetaMap.delete(s))}return[r,i]}}const bE="Reached end of buffer unexpectedly";function ji(n){if(n.length===0)throw new Error(bE);return n.shift()}function Ir(n,...t){const[e]=t;if(t.length===2?e+(t[1]??0)>n.length:e>=n.length)throw new Error(bE);return n.splice(...t)}class Ai{constructor(t){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=t.header,this.accountKeys=t.accountKeys.map(e=>new pt(e)),this.recentBlockhash=t.recentBlockhash,this.instructions=t.instructions,this.instructions.forEach(e=>this.indexToProgramIds.set(e.programIdIndex,this.accountKeys[e.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:On.decode(t.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new Nf(this.staticAccountKeys)}static compile(t){const e=p0.compile(t.instructions,t.payerKey),[r,i]=e.getMessageComponents(),o=new Nf(i).compileInstructions(t.instructions).map(a=>({programIdIndex:a.programIdIndex,accounts:a.accountKeyIndexes,data:On.encode(a.data)}));return new Ai({header:r,accountKeys:i,recentBlockhash:t.recentBlockhash,instructions:o})}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){const e=this.header.numRequiredSignatures;if(t>=this.header.numRequiredSignatures){const r=t-e,s=this.accountKeys.length-e-this.header.numReadonlyUnsignedAccounts;return r<s}else{const r=e-this.header.numReadonlySignedAccounts;return t<r}}isProgramId(t){return this.indexToProgramIds.has(t)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((t,e)=>!this.isProgramId(e))}serialize(){const t=this.accountKeys.length;let e=[];$r(e,t);const r=this.instructions.map(y=>{const{accounts:_,programIdIndex:w}=y,R=Array.from(On.decode(y.data));let T=[];$r(T,_.length);let I=[];return $r(I,R.length),{programIdIndex:w,keyIndicesCount:kt.from(T),keyIndices:_,dataLength:kt.from(I),data:R}});let i=[];$r(i,r.length);let s=kt.alloc(Ao);kt.from(i).copy(s);let o=i.length;r.forEach(y=>{const w=Nt([me("programIdIndex"),We(y.keyIndicesCount.length,"keyIndicesCount"),jn(me("keyIndex"),y.keyIndices.length,"keyIndices"),We(y.dataLength.length,"dataLength"),jn(me("userdatum"),y.data.length,"data")]).encode(y,s,o);o+=w}),s=s.slice(0,o);const a=Nt([We(1,"numRequiredSignatures"),We(1,"numReadonlySignedAccounts"),We(1,"numReadonlyUnsignedAccounts"),We(e.length,"keyCount"),jn(ce("key"),t,"keys"),ce("recentBlockhash")]),u={numRequiredSignatures:kt.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:kt.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:kt.from([this.header.numReadonlyUnsignedAccounts]),keyCount:kt.from(e),keys:this.accountKeys.map(y=>te(y.toBytes())),recentBlockhash:On.decode(this.recentBlockhash)};let f=kt.alloc(2048);const h=a.encode(u,f);return s.copy(f,h),f.slice(0,h+s.length)}static from(t){let e=[...t];const r=ji(e);if(r!==(r&d0))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const i=ji(e),s=ji(e),o=Rr(e);let a=[];for(let _=0;_<o;_++){const w=Ir(e,0,Ki);a.push(new pt(kt.from(w)))}const u=Ir(e,0,Ki),f=Rr(e);let h=[];for(let _=0;_<f;_++){const w=ji(e),R=Rr(e),T=Ir(e,0,R),I=Rr(e),B=Ir(e,0,I),H=On.encode(kt.from(B));h.push({programIdIndex:w,accounts:T,data:H})}const y={header:{numRequiredSignatures:r,numReadonlySignedAccounts:i,numReadonlyUnsignedAccounts:s},recentBlockhash:On.encode(kt.from(u)),accountKeys:a,instructions:h};return new Ai(y)}}class ka{constructor(t){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=t.header,this.staticAccountKeys=t.staticAccountKeys,this.recentBlockhash=t.recentBlockhash,this.compiledInstructions=t.compiledInstructions,this.addressTableLookups=t.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let t=0;for(const e of this.addressTableLookups)t+=e.readonlyIndexes.length+e.writableIndexes.length;return t}getAccountKeys(t){let e;if(t&&"accountKeysFromLookups"in t&&t.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=t.accountKeysFromLookups.writable.length+t.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");e=t.accountKeysFromLookups}else if(t&&"addressLookupTableAccounts"in t&&t.addressLookupTableAccounts)e=this.resolveAddressTableLookups(t.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new Nf(this.staticAccountKeys,e)}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){const e=this.header.numRequiredSignatures,r=this.staticAccountKeys.length;if(t>=r){const i=t-r,s=this.addressTableLookups.reduce((o,a)=>o+a.writableIndexes.length,0);return i<s}else if(t>=this.header.numRequiredSignatures){const i=t-e,o=r-e-this.header.numReadonlyUnsignedAccounts;return i<o}else{const i=e-this.header.numReadonlySignedAccounts;return t<i}}resolveAddressTableLookups(t){const e={writable:[],readonly:[]};for(const r of this.addressTableLookups){const i=t.find(s=>s.key.equals(r.accountKey));if(!i)throw new Error(`Failed to find address lookup table account for table key ${r.accountKey.toBase58()}`);for(const s of r.writableIndexes)if(s<i.state.addresses.length)e.writable.push(i.state.addresses[s]);else throw new Error(`Failed to find address for index ${s} in address lookup table ${r.accountKey.toBase58()}`);for(const s of r.readonlyIndexes)if(s<i.state.addresses.length)e.readonly.push(i.state.addresses[s]);else throw new Error(`Failed to find address for index ${s} in address lookup table ${r.accountKey.toBase58()}`)}return e}static compile(t){const e=p0.compile(t.instructions,t.payerKey),r=new Array,i={writable:new Array,readonly:new Array},s=t.addressLookupTableAccounts||[];for(const h of s){const y=e.extractTableLookup(h);if(y!==void 0){const[_,{writable:w,readonly:R}]=y;r.push(_),i.writable.push(...w),i.readonly.push(...R)}}const[o,a]=e.getMessageComponents(),f=new Nf(a,i).compileInstructions(t.instructions);return new ka({header:o,staticAccountKeys:a,recentBlockhash:t.recentBlockhash,compiledInstructions:f,addressTableLookups:r})}serialize(){const t=Array();$r(t,this.staticAccountKeys.length);const e=this.serializeInstructions(),r=Array();$r(r,this.compiledInstructions.length);const i=this.serializeAddressTableLookups(),s=Array();$r(s,this.addressTableLookups.length);const o=Nt([me("prefix"),Nt([me("numRequiredSignatures"),me("numReadonlySignedAccounts"),me("numReadonlyUnsignedAccounts")],"header"),We(t.length,"staticAccountKeysLength"),jn(ce(),this.staticAccountKeys.length,"staticAccountKeys"),ce("recentBlockhash"),We(r.length,"instructionsLength"),We(e.length,"serializedInstructions"),We(s.length,"addressTableLookupsLength"),We(i.length,"serializedAddressTableLookups")]),a=new Uint8Array(Ao),f=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(t),staticAccountKeys:this.staticAccountKeys.map(h=>h.toBytes()),recentBlockhash:On.decode(this.recentBlockhash),instructionsLength:new Uint8Array(r),serializedInstructions:e,addressTableLookupsLength:new Uint8Array(s),serializedAddressTableLookups:i},a);return a.slice(0,f)}serializeInstructions(){let t=0;const e=new Uint8Array(Ao);for(const r of this.compiledInstructions){const i=Array();$r(i,r.accountKeyIndexes.length);const s=Array();$r(s,r.data.length);const o=Nt([me("programIdIndex"),We(i.length,"encodedAccountKeyIndexesLength"),jn(me(),r.accountKeyIndexes.length,"accountKeyIndexes"),We(s.length,"encodedDataLength"),We(r.data.length,"data")]);t+=o.encode({programIdIndex:r.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(i),accountKeyIndexes:r.accountKeyIndexes,encodedDataLength:new Uint8Array(s),data:r.data},e,t)}return e.slice(0,t)}serializeAddressTableLookups(){let t=0;const e=new Uint8Array(Ao);for(const r of this.addressTableLookups){const i=Array();$r(i,r.writableIndexes.length);const s=Array();$r(s,r.readonlyIndexes.length);const o=Nt([ce("accountKey"),We(i.length,"encodedWritableIndexesLength"),jn(me(),r.writableIndexes.length,"writableIndexes"),We(s.length,"encodedReadonlyIndexesLength"),jn(me(),r.readonlyIndexes.length,"readonlyIndexes")]);t+=o.encode({accountKey:r.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(i),writableIndexes:r.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(s),readonlyIndexes:r.readonlyIndexes},e,t)}return e.slice(0,t)}static deserialize(t){let e=[...t];const r=ji(e),i=r&d0;_e(r!==i,"Expected versioned message but received legacy message");const s=i;_e(s===0,`Expected versioned message with version 0 but found version ${s}`);const o={numRequiredSignatures:ji(e),numReadonlySignedAccounts:ji(e),numReadonlyUnsignedAccounts:ji(e)},a=[],u=Rr(e);for(let R=0;R<u;R++)a.push(new pt(Ir(e,0,Ki)));const f=On.encode(Ir(e,0,Ki)),h=Rr(e),y=[];for(let R=0;R<h;R++){const T=ji(e),I=Rr(e),B=Ir(e,0,I),H=Rr(e),U=new Uint8Array(Ir(e,0,H));y.push({programIdIndex:T,accountKeyIndexes:B,data:U})}const _=Rr(e),w=[];for(let R=0;R<_;R++){const T=new pt(Ir(e,0,Ki)),I=Rr(e),B=Ir(e,0,I),H=Rr(e),U=Ir(e,0,H);w.push({accountKey:T,writableIndexes:B,readonlyIndexes:U})}return new ka({header:o,staticAccountKeys:a,recentBlockhash:f,compiledInstructions:y,addressTableLookups:w})}}const Ny={deserializeMessageVersion(n){const t=n[0],e=t&d0;return e===t?"legacy":e},deserialize:n=>{const t=Ny.deserializeMessageVersion(n);if(t==="legacy")return Ai.from(n);if(t===0)return ka.deserialize(n);throw new Error(`Transaction message version ${t} deserialization is not supported`)}};let Ss=function(n){return n[n.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",n[n.PROCESSED=1]="PROCESSED",n[n.TIMED_OUT=2]="TIMED_OUT",n[n.NONCE_INVALID=3]="NONCE_INVALID",n}({});const sL=kt.alloc(Of).fill(0);class Me{constructor(t){this.keys=void 0,this.programId=void 0,this.data=kt.alloc(0),this.programId=t.programId,this.keys=t.keys,t.data&&(this.data=t.data)}toJSON(){return{keys:this.keys.map(({pubkey:t,isSigner:e,isWritable:r})=>({pubkey:t.toJSON(),isSigner:e,isWritable:r})),programId:this.programId.toJSON(),data:[...this.data]}}}let Ne=class Sb{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(t){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!!t)if(t.feePayer&&(this.feePayer=t.feePayer),t.signatures&&(this.signatures=t.signatures),Object.prototype.hasOwnProperty.call(t,"nonceInfo")){const{minContextSlot:e,nonceInfo:r}=t;this.minNonceContextSlot=e,this.nonceInfo=r}else if(Object.prototype.hasOwnProperty.call(t,"lastValidBlockHeight")){const{blockhash:e,lastValidBlockHeight:r}=t;this.recentBlockhash=e,this.lastValidBlockHeight=r}else{const{recentBlockhash:e,nonceInfo:r}=t;r&&(this.nonceInfo=r),this.recentBlockhash=e}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(t=>t.toJSON()),signers:this.signatures.map(({publicKey:t})=>t.toJSON())}}add(...t){if(t.length===0)throw new Error("No instructions");return t.forEach(e=>{"instructions"in e?this.instructions=this.instructions.concat(e.instructions):"data"in e&&"programId"in e&&"keys"in e?this.instructions.push(e):this.instructions.push(new Me(e))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let t,e;if(this.nonceInfo?(t=this.nonceInfo.nonce,this.instructions[0]!=this.nonceInfo.nonceInstruction?e=[this.nonceInfo.nonceInstruction,...this.instructions]:e=this.instructions):(t=this.recentBlockhash,e=this.instructions),!t)throw new Error("Transaction recentBlockhash required");e.length<1&&console.warn("No instructions provided");let r;if(this.feePayer)r=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)r=this.signatures[0].publicKey;else throw new Error("Transaction fee payer required");for(let T=0;T<e.length;T++)if(e[T].programId===void 0)throw new Error(`Transaction instruction index ${T} has undefined program id`);const i=[],s=[];e.forEach(T=>{T.keys.forEach(B=>{s.push({...B})});const I=T.programId.toString();i.includes(I)||i.push(I)}),i.forEach(T=>{s.push({pubkey:new pt(T),isSigner:!1,isWritable:!1})});const o=[];s.forEach(T=>{const I=T.pubkey.toString(),B=o.findIndex(H=>H.pubkey.toString()===I);B>-1?(o[B].isWritable=o[B].isWritable||T.isWritable,o[B].isSigner=o[B].isSigner||T.isSigner):o.push(T)}),o.sort(function(T,I){if(T.isSigner!==I.isSigner)return T.isSigner?-1:1;if(T.isWritable!==I.isWritable)return T.isWritable?-1:1;const B={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return T.pubkey.toBase58().localeCompare(I.pubkey.toBase58(),"en",B)});const a=o.findIndex(T=>T.pubkey.equals(r));if(a>-1){const[T]=o.splice(a,1);T.isSigner=!0,T.isWritable=!0,o.unshift(T)}else o.unshift({pubkey:r,isSigner:!0,isWritable:!0});for(const T of this.signatures){const I=o.findIndex(B=>B.pubkey.equals(T.publicKey));if(I>-1)o[I].isSigner||(o[I].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw new Error(`unknown signer: ${T.publicKey.toString()}`)}let u=0,f=0,h=0;const y=[],_=[];o.forEach(({pubkey:T,isSigner:I,isWritable:B})=>{I?(y.push(T.toString()),u+=1,B||(f+=1)):(_.push(T.toString()),B||(h+=1))});const w=y.concat(_),R=e.map(T=>{const{data:I,programId:B}=T;return{programIdIndex:w.indexOf(B.toString()),accounts:T.keys.map(H=>w.indexOf(H.pubkey.toString())),data:On.encode(I)}});return R.forEach(T=>{_e(T.programIdIndex>=0),T.accounts.forEach(I=>_e(I>=0))}),new Ai({header:{numRequiredSignatures:u,numReadonlySignedAccounts:f,numReadonlyUnsignedAccounts:h},accountKeys:w,recentBlockhash:t,instructions:R})}_compile(){const t=this.compileMessage(),e=t.accountKeys.slice(0,t.header.numRequiredSignatures);return this.signatures.length===e.length&&this.signatures.every((i,s)=>e[s].equals(i.publicKey))||(this.signatures=e.map(r=>({signature:null,publicKey:r}))),t}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(t){return(await t.getFeeForMessage(this.compileMessage())).value}setSigners(...t){if(t.length===0)throw new Error("No signers");const e=new Set;this.signatures=t.filter(r=>{const i=r.toString();return e.has(i)?!1:(e.add(i),!0)}).map(r=>({signature:null,publicKey:r}))}sign(...t){if(t.length===0)throw new Error("No signers");const e=new Set,r=[];for(const s of t){const o=s.publicKey.toString();e.has(o)||(e.add(o),r.push(s))}this.signatures=r.map(s=>({signature:null,publicKey:s.publicKey}));const i=this._compile();this._partialSign(i,...r)}partialSign(...t){if(t.length===0)throw new Error("No signers");const e=new Set,r=[];for(const s of t){const o=s.publicKey.toString();e.has(o)||(e.add(o),r.push(s))}const i=this._compile();this._partialSign(i,...r)}_partialSign(t,...e){const r=t.serialize();e.forEach(i=>{const s=Sy(r,i.secretKey);this._addSignature(i.publicKey,te(s))})}addSignature(t,e){this._compile(),this._addSignature(t,e)}_addSignature(t,e){_e(e.length===64);const r=this.signatures.findIndex(i=>t.equals(i.publicKey));if(r<0)throw new Error(`unknown signer: ${t.toString()}`);this.signatures[r].signature=kt.from(e)}verifySignatures(t=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),t)}_getMessageSignednessErrors(t,e){const r={};for(const{signature:i,publicKey:s}of this.signatures)i===null?e&&(r.missing||(r.missing=[])).push(s):qM(i,t,s.toBytes())||(r.invalid||(r.invalid=[])).push(s);return r.invalid||r.missing?r:void 0}serialize(t){const{requireAllSignatures:e,verifySignatures:r}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},t),i=this.serializeMessage();if(r){const s=this._getMessageSignednessErrors(i,e);if(s){let o="Signature verification failed.";throw s.invalid&&(o+=`
|
|
17
|
-
Invalid signature for public key${s.invalid.length===1?"":"(s)"} [\`${s.invalid.map(a=>a.toBase58()).join("`, `")}\`].`),s.missing&&(o+=`
|
|
18
|
-
Missing signature for public key${s.missing.length===1?"":"(s)"} [\`${s.missing.map(a=>a.toBase58()).join("`, `")}\`].`),new Error(o)}}return this._serialize(i)}_serialize(t){const{signatures:e}=this,r=[];$r(r,e.length);const i=r.length+e.length*64+t.length,s=kt.alloc(i);return _e(e.length<256),kt.from(r).copy(s,0),e.forEach(({signature:o},a)=>{o!==null&&(_e(o.length===64,"signature has invalid length"),kt.from(o).copy(s,r.length+a*64))}),t.copy(s,r.length+e.length*64),_e(s.length<=Ao,`Transaction too large: ${s.length} > ${Ao}`),s}get keys(){return _e(this.instructions.length===1),this.instructions[0].keys.map(t=>t.pubkey)}get programId(){return _e(this.instructions.length===1),this.instructions[0].programId}get data(){return _e(this.instructions.length===1),this.instructions[0].data}static from(t){let e=[...t];const r=Rr(e);let i=[];for(let s=0;s<r;s++){const o=Ir(e,0,Of);i.push(On.encode(kt.from(o)))}return Sb.populate(Ai.from(e),i)}static populate(t,e=[]){const r=new Sb;return r.recentBlockhash=t.recentBlockhash,t.header.numRequiredSignatures>0&&(r.feePayer=t.accountKeys[0]),e.forEach((i,s)=>{const o={signature:i==On.encode(sL)?null:On.decode(i),publicKey:t.accountKeys[s]};r.signatures.push(o)}),t.instructions.forEach(i=>{const s=i.accounts.map(o=>{const a=t.accountKeys[o];return{pubkey:a,isSigner:r.signatures.some(u=>u.publicKey.toString()===a.toString())||t.isAccountSigner(o),isWritable:t.isAccountWritable(o)}});r.instructions.push(new Me({keys:s,programId:t.accountKeys[i.programIdIndex],data:On.decode(i.data)}))}),r._message=t,r._json=r.toJSON(),r}};class Cy{constructor(t){this.payerKey=void 0,this.instructions=void 0,this.recentBlockhash=void 0,this.payerKey=t.payerKey,this.instructions=t.instructions,this.recentBlockhash=t.recentBlockhash}static decompile(t,e){const{header:r,compiledInstructions:i,recentBlockhash:s}=t,{numRequiredSignatures:o,numReadonlySignedAccounts:a,numReadonlyUnsignedAccounts:u}=r,f=o-a;_e(f>0,"Message header is invalid");const h=t.staticAccountKeys.length-o-u;_e(h>=0,"Message header is invalid");const y=t.getAccountKeys(e),_=y.get(0);if(_===void 0)throw new Error("Failed to decompile message because no account keys were found");const w=[];for(const R of i){const T=[];for(const B of R.accountKeyIndexes){const H=y.get(B);if(H===void 0)throw new Error(`Failed to find key for account key index ${B}`);const U=B<o;let G;U?G=B<f:B<y.staticAccountKeys.length?G=B-o<h:G=B-y.staticAccountKeys.length<y.accountKeysFromLookups.writable.length,T.push({pubkey:H,isSigner:B<r.numRequiredSignatures,isWritable:G})}const I=y.get(R.programIdIndex);if(I===void 0)throw new Error(`Failed to find program id for program id index ${R.programIdIndex}`);w.push(new Me({programId:I,data:te(R.data),keys:T}))}return new Cy({payerKey:_,instructions:w,recentBlockhash:s})}compileToLegacyMessage(){return Ai.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions})}compileToV0Message(t){return ka.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions,addressLookupTableAccounts:t})}}class By{get version(){return this.message.version}constructor(t,e){if(this.signatures=void 0,this.message=void 0,e!==void 0)_e(e.length===t.header.numRequiredSignatures,"Expected signatures length to be equal to the number of required signatures"),this.signatures=e;else{const r=[];for(let i=0;i<t.header.numRequiredSignatures;i++)r.push(new Uint8Array(Of));this.signatures=r}this.message=t}serialize(){const t=this.message.serialize(),e=Array();$r(e,this.signatures.length);const r=Nt([We(e.length,"encodedSignaturesLength"),jn(tL(),this.signatures.length,"signatures"),We(t.length,"serializedMessage")]),i=new Uint8Array(2048),s=r.encode({encodedSignaturesLength:new Uint8Array(e),signatures:this.signatures,serializedMessage:t},i);return i.slice(0,s)}static deserialize(t){let e=[...t];const r=[],i=Rr(e);for(let o=0;o<i;o++)r.push(new Uint8Array(Ir(e,0,Of)));const s=Ny.deserialize(new Uint8Array(e));return new By(s,r)}sign(t){const e=this.message.serialize(),r=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures);for(const i of t){const s=r.findIndex(o=>o.equals(i.publicKey));_e(s>=0,`Cannot sign with non signer key ${i.publicKey.toBase58()}`),this.signatures[s]=Sy(e,i.secretKey)}}addSignature(t,e){_e(e.byteLength===64,"Signature must be 64 bytes long");const i=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures).findIndex(s=>s.equals(t));_e(i>=0,`Can not add signature; \`${t.toBase58()}\` is not required to sign this transaction`),this.signatures[i]=e}}const _E=1e3/(160/64),Wi=new pt("SysvarC1ock11111111111111111111111111111111"),oL=new pt("SysvarEpochSchedu1e111111111111111111111111"),aL=new pt("Sysvar1nstructions1111111111111111111111111"),g0=new pt("SysvarRecentB1ockHashes11111111111111111111"),fu=new pt("SysvarRent111111111111111111111111111111111"),cL=new pt("SysvarRewards111111111111111111111111111111"),uL=new pt("SysvarS1otHashes111111111111111111111111111"),lL=new pt("SysvarS1otHistory11111111111111111111111111"),y0=new pt("SysvarStakeHistory1111111111111111111111111");class Eo extends Error{constructor({action:t,signature:e,transactionMessage:r,logs:i}){const s=i?`Logs:
|
|
19
|
-
${JSON.stringify(i.slice(-10),null,2)}. `:"",o="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.";let a;switch(t){case"send":a=`Transaction ${e} resulted in an error.
|
|
20
|
-
${r}. `+s+o;break;case"simulate":a=`Simulation failed.
|
|
21
|
-
Message: ${r}.
|
|
22
|
-
`+s+o;break;default:a=`Unknown action '${(u=>u)(t)}'`}super(a),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=e,this.transactionMessage=r,this.transactionLogs=i||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){const t=this.transactionLogs;if(!(t!=null&&typeof t=="object"&&"then"in t))return t}async getLogs(t){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((e,r)=>{t.getTransaction(this.signature).then(i=>{if(i&&i.meta&&i.meta.logMessages){const s=i.meta.logMessages;this.transactionLogs=s,e(s)}else r(new Error("Log messages not found"))}).catch(r)})),await this.transactionLogs}}const fL={JSON_RPC_SERVER_ERROR_BLOCK_CLEANED_UP:-32001,JSON_RPC_SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE:-32002,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE:-32003,JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE:-32004,JSON_RPC_SERVER_ERROR_NODE_UNHEALTHY:-32005,JSON_RPC_SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE:-32006,JSON_RPC_SERVER_ERROR_SLOT_SKIPPED:-32007,JSON_RPC_SERVER_ERROR_NO_SNAPSHOT:-32008,JSON_RPC_SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED:-32009,JSON_RPC_SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX:-32010,JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE:-32011,JSON_RPC_SCAN_ERROR:-32012,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH:-32013,JSON_RPC_SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET:-32014,JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION:-32015,JSON_RPC_SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED:-32016};class Mt extends Error{constructor({code:t,message:e,data:r},i){super(i!=null?`${i}: ${e}`:e),this.code=void 0,this.data=void 0,this.code=t,this.data=r,this.name="SolanaJSONRPCError"}}async function Py(n,t,e,r){const i=r&&{skipPreflight:r.skipPreflight,preflightCommitment:r.preflightCommitment||r.commitment,maxRetries:r.maxRetries,minContextSlot:r.minContextSlot},s=await n.sendTransaction(t,e,i);let o;if(t.recentBlockhash!=null&&t.lastValidBlockHeight!=null)o=(await n.confirmTransaction({abortSignal:r==null?void 0:r.abortSignal,signature:s,blockhash:t.recentBlockhash,lastValidBlockHeight:t.lastValidBlockHeight},r&&r.commitment)).value;else if(t.minNonceContextSlot!=null&&t.nonceInfo!=null){const{nonceInstruction:a}=t.nonceInfo,u=a.keys[0].pubkey;o=(await n.confirmTransaction({abortSignal:r==null?void 0:r.abortSignal,minContextSlot:t.minNonceContextSlot,nonceAccountPubkey:u,nonceValue:t.nonceInfo.nonce,signature:s},r&&r.commitment)).value}else(r==null?void 0:r.abortSignal)!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),o=(await n.confirmTransaction(s,r&&r.commitment)).value;if(o.err)throw s!=null?new Eo({action:"send",signature:s,transactionMessage:`Status: (${JSON.stringify(o)})`}):new Error(`Transaction ${s} failed (${JSON.stringify(o)})`);return s}function Ta(n){return new Promise(t=>setTimeout(t,n))}function pe(n,t){const e=n.layout.span>=0?n.layout.span:wE(n,t),r=kt.alloc(e),i=Object.assign({instruction:n.index},t);return n.layout.encode(i,r),r}function ke(n,t){let e;try{e=n.layout.decode(t)}catch(r){throw new Error("invalid instruction; "+r)}if(e.instruction!==n.index)throw new Error(`invalid instruction; instruction index mismatch ${e.instruction} != ${n.index}`);return e}const AE=Kn("lamportsPerSignature"),EE=Nt([Ot("version"),Ot("state"),ce("authorizedPubkey"),ce("nonce"),Nt([AE],"feeCalculator")]),My=EE.span;class m0{constructor(t){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=t.authorizedPubkey,this.nonce=t.nonce,this.feeCalculator=t.feeCalculator}static fromAccountData(t){const e=EE.decode(te(t),0);return new m0({authorizedPubkey:new pt(e.authorizedPubkey),nonce:new pt(e.nonce).toString(),feeCalculator:e.feeCalculator})}}const hL=n=>{const t=n.decode.bind(n),e=n.encode.bind(n);return{decode:t,encode:e}},hu=(n=>t=>{const e=We(n,t),{encode:r,decode:i}=hL(e),s=e;return s.decode=(o,a)=>{const u=i(o,a);return G4(kt.from(u))},s.encode=(o,a,u)=>{const f=GA(o,n);return r(f,a,u)},s})(8);class dL{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Ot("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(He))if(o.index==r){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a SystemInstruction");return i}static decodeCreateAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e,space:r,programId:i}=ke(He.Create,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,lamports:e,space:r,programId:new pt(i)}}static decodeTransfer(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e}=ke(He.Transfer,t.data);return{fromPubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,lamports:e}}static decodeTransferWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e,seed:r,programId:i}=ke(He.TransferWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,basePubkey:t.keys[1].pubkey,toPubkey:t.keys[2].pubkey,lamports:e,seed:r,programId:new pt(i)}}static decodeAllocate(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{space:e}=ke(He.Allocate,t.data);return{accountPubkey:t.keys[0].pubkey,space:e}}static decodeAllocateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,space:i,programId:s}=ke(He.AllocateWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new pt(e),seed:r,space:i,programId:new pt(s)}}static decodeAssign(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{programId:e}=ke(He.Assign,t.data);return{accountPubkey:t.keys[0].pubkey,programId:new pt(e)}}static decodeAssignWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,programId:i}=ke(He.AssignWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new pt(e),seed:r,programId:new pt(i)}}static decodeCreateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{base:e,seed:r,lamports:i,space:s,programId:o}=ke(He.CreateWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,basePubkey:new pt(e),seed:r,lamports:i,space:s,programId:new pt(o)}}static decodeNonceInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{authorized:e}=ke(He.InitializeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:new pt(e)}}static decodeNonceAdvance(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),ke(He.AdvanceNonceAccount,t.data),{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static decodeNonceWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=ke(He.WithdrawNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e}}static decodeNonceAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e}=ke(He.AuthorizeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[1].pubkey,newAuthorizedPubkey:new pt(e)}}static checkProgramId(t){if(!t.equals(Cn.programId))throw new Error("invalid instruction; programId is not SystemProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const He=Object.freeze({Create:{index:0,layout:Nt([Ot("instruction"),Fr("lamports"),Fr("space"),ce("programId")])},Assign:{index:1,layout:Nt([Ot("instruction"),ce("programId")])},Transfer:{index:2,layout:Nt([Ot("instruction"),hu("lamports")])},CreateWithSeed:{index:3,layout:Nt([Ot("instruction"),ce("base"),Sa("seed"),Fr("lamports"),Fr("space"),ce("programId")])},AdvanceNonceAccount:{index:4,layout:Nt([Ot("instruction")])},WithdrawNonceAccount:{index:5,layout:Nt([Ot("instruction"),Fr("lamports")])},InitializeNonceAccount:{index:6,layout:Nt([Ot("instruction"),ce("authorized")])},AuthorizeNonceAccount:{index:7,layout:Nt([Ot("instruction"),ce("authorized")])},Allocate:{index:8,layout:Nt([Ot("instruction"),Fr("space")])},AllocateWithSeed:{index:9,layout:Nt([Ot("instruction"),ce("base"),Sa("seed"),Fr("space"),ce("programId")])},AssignWithSeed:{index:10,layout:Nt([Ot("instruction"),ce("base"),Sa("seed"),ce("programId")])},TransferWithSeed:{index:11,layout:Nt([Ot("instruction"),hu("lamports"),Sa("seed"),ce("programId")])},UpgradeNonceAccount:{index:12,layout:Nt([Ot("instruction")])}});class Cn{constructor(){}static createAccount(t){const e=He.Create,r=pe(e,{lamports:t.lamports,space:t.space,programId:te(t.programId.toBuffer())});return new Me({keys:[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:r})}static transfer(t){let e,r;if("basePubkey"in t){const i=He.TransferWithSeed;e=pe(i,{lamports:BigInt(t.lamports),seed:t.seed,programId:te(t.programId.toBuffer())}),r=[{pubkey:t.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}else{const i=He.Transfer;e=pe(i,{lamports:BigInt(t.lamports)}),r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}return new Me({keys:r,programId:this.programId,data:e})}static assign(t){let e,r;if("basePubkey"in t){const i=He.AssignWithSeed;e=pe(i,{base:te(t.basePubkey.toBuffer()),seed:t.seed,programId:te(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=He.Assign;e=pe(i,{programId:te(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new Me({keys:r,programId:this.programId,data:e})}static createAccountWithSeed(t){const e=He.CreateWithSeed,r=pe(e,{base:te(t.basePubkey.toBuffer()),seed:t.seed,lamports:t.lamports,space:t.space,programId:te(t.programId.toBuffer())});let i=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!1,isWritable:!0}];return t.basePubkey.equals(t.fromPubkey)||i.push({pubkey:t.basePubkey,isSigner:!0,isWritable:!1}),new Me({keys:i,programId:this.programId,data:r})}static createNonceAccount(t){const e=new Ne;"basePubkey"in t&&"seed"in t?e.add(Cn.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:My,programId:this.programId})):e.add(Cn.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,lamports:t.lamports,space:My,programId:this.programId}));const r={noncePubkey:t.noncePubkey,authorizedPubkey:t.authorizedPubkey};return e.add(this.nonceInitialize(r)),e}static nonceInitialize(t){const e=He.InitializeNonceAccount,r=pe(e,{authorized:te(t.authorizedPubkey.toBuffer())}),i={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:g0,isSigner:!1,isWritable:!1},{pubkey:fu,isSigner:!1,isWritable:!1}],programId:this.programId,data:r};return new Me(i)}static nonceAdvance(t){const e=He.AdvanceNonceAccount,r=pe(e),i={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:g0,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r};return new Me(i)}static nonceWithdraw(t){const e=He.WithdrawNonceAccount,r=pe(e,{lamports:t.lamports});return new Me({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0},{pubkey:g0,isSigner:!1,isWritable:!1},{pubkey:fu,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r})}static nonceAuthorize(t){const e=He.AuthorizeNonceAccount,r=pe(e,{authorized:te(t.newAuthorizedPubkey.toBuffer())});return new Me({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r})}static allocate(t){let e,r;if("basePubkey"in t){const i=He.AllocateWithSeed;e=pe(i,{base:te(t.basePubkey.toBuffer()),seed:t.seed,space:t.space,programId:te(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=He.Allocate;e=pe(i,{space:t.space}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new Me({keys:r,programId:this.programId,data:e})}}Cn.programId=new pt("11111111111111111111111111111111");const pL=Ao-300;class Oa{constructor(){}static getMinNumSignatures(t){return 2*(Math.ceil(t/Oa.chunkSize)+1+1)}static async load(t,e,r,i,s){{const y=await t.getMinimumBalanceForRentExemption(s.length),_=await t.getAccountInfo(r.publicKey,"confirmed");let w=null;if(_!==null){if(_.executable)return console.error("Program load failed, account is already executable"),!1;_.data.length!==s.length&&(w=w||new Ne,w.add(Cn.allocate({accountPubkey:r.publicKey,space:s.length}))),_.owner.equals(i)||(w=w||new Ne,w.add(Cn.assign({accountPubkey:r.publicKey,programId:i}))),_.lamports<y&&(w=w||new Ne,w.add(Cn.transfer({fromPubkey:e.publicKey,toPubkey:r.publicKey,lamports:y-_.lamports})))}else w=new Ne().add(Cn.createAccount({fromPubkey:e.publicKey,newAccountPubkey:r.publicKey,lamports:y>0?y:1,space:s.length,programId:i}));w!==null&&await Py(t,w,[e,r],{commitment:"confirmed"})}const o=Nt([Ot("instruction"),Ot("offset"),Ot("bytesLength"),Ot("bytesLengthPadding"),jn(me("byte"),bo(Ot(),-8),"bytes")]),a=Oa.chunkSize;let u=0,f=s,h=[];for(;f.length>0;){const y=f.slice(0,a),_=kt.alloc(a+16);o.encode({instruction:0,offset:u,bytes:y,bytesLength:0,bytesLengthPadding:0},_);const w=new Ne().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0}],programId:i,data:_});h.push(Py(t,w,[e,r],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")&&await Ta(1e3/4),u+=a,f=f.slice(a)}await Promise.all(h);{const y=Nt([Ot("instruction")]),_=kt.alloc(y.span);y.encode({instruction:1},_);const w=new Ne().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0},{pubkey:fu,isSigner:!1,isWritable:!1}],programId:i,data:_}),R="processed",T=await t.sendTransaction(w,[e,r],{preflightCommitment:R}),{context:I,value:B}=await t.confirmTransaction({signature:T,lastValidBlockHeight:w.lastValidBlockHeight,blockhash:w.recentBlockhash},R);if(B.err)throw new Error(`Transaction ${T} failed (${JSON.stringify(B)})`);for(;;){try{if(await t.getSlot({commitment:R})>I.slot)break}catch{}await new Promise(H=>setTimeout(H,Math.round(_E/2)))}}return!0}}Oa.chunkSize=pL;const gL=new pt("BPFLoader2111111111111111111111111111111111");class yL{static getMinNumSignatures(t){return Oa.getMinNumSignatures(t)}static load(t,e,r,i,s){return Oa.load(t,e,r,s,i)}}function mL(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ly,vE;function wL(){if(vE)return Ly;vE=1;var n=Object.prototype.toString,t=Object.keys||function(r){var i=[];for(var s in r)i.push(s);return i};function e(r,i){var s,o,a,u,f,h,y;if(r===!0)return"true";if(r===!1)return"false";switch(typeof r){case"object":if(r===null)return null;if(r.toJSON&&typeof r.toJSON=="function")return e(r.toJSON(),i);if(y=n.call(r),y==="[object Array]"){for(a="[",o=r.length-1,s=0;s<o;s++)a+=e(r[s],!0)+",";return o>-1&&(a+=e(r[s],!0)),a+"]"}else if(y==="[object Object]"){for(u=t(r).sort(),o=u.length,a="",s=0;s<o;)f=u[s],h=e(r[f],!1),h!==void 0&&(a&&(a+=","),a+=JSON.stringify(f)+":"+h),s++;return"{"+a+"}"}else return JSON.stringify(r);case"function":case"undefined":return i?null:void 0;case"string":return JSON.stringify(r);default:return isFinite(r)?r:null}}return Ly=function(r){var i=e(r,!1);if(i!==void 0)return""+i},Ly}var bL=wL(),xE=mL(bL);const Cf=32;function Uy(n){let t=0;for(;n>1;)n/=2,t++;return t}function _L(n){return n===0?1:(n--,n|=n>>1,n|=n>>2,n|=n>>4,n|=n>>8,n|=n>>16,n|=n>>32,n+1)}class RE{constructor(t,e,r,i,s){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=t,this.leaderScheduleSlotOffset=e,this.warmup=r,this.firstNormalEpoch=i,this.firstNormalSlot=s}getEpoch(t){return this.getEpochAndSlotIndex(t)[0]}getEpochAndSlotIndex(t){if(t<this.firstNormalSlot){const e=Uy(_L(t+Cf+1))-Uy(Cf)-1,r=this.getSlotsInEpoch(e),i=t-(r-Cf);return[e,i]}else{const e=t-this.firstNormalSlot,r=Math.floor(e/this.slotsPerEpoch),i=this.firstNormalEpoch+r,s=e%this.slotsPerEpoch;return[i,s]}}getFirstSlotInEpoch(t){return t<=this.firstNormalEpoch?(Math.pow(2,t)-1)*Cf:(t-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(t){return this.getFirstSlotInEpoch(t)+this.getSlotsInEpoch(t)-1}getSlotsInEpoch(t){return t<this.firstNormalEpoch?Math.pow(2,t+Uy(Cf)):this.slotsPerEpoch}}var AL=globalThis.fetch;class EL extends SM{constructor(t,e,r){const i=s=>{const o=RM(s,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...e});return"socket"in o?this.underlyingSocket=o.socket:this.underlyingSocket=o,o};super(i,t,e,r),this.underlyingSocket=void 0}call(...t){var r;const e=(r=this.underlyingSocket)==null?void 0:r.readyState;return e===1?super.call(...t):Promise.reject(new Error("Tried to call a JSON-RPC method `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+e+")"))}notify(...t){var r;const e=(r=this.underlyingSocket)==null?void 0:r.readyState;return e===1?super.notify(...t):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+e+")"))}}function vL(n,t){let e;try{e=n.layout.decode(t)}catch(r){throw new Error("invalid instruction; "+r)}if(e.typeIndex!==n.index)throw new Error(`invalid account data; account type mismatch ${e.typeIndex} != ${n.index}`);return e}const IE=56;class Dy{constructor(t){this.key=void 0,this.state=void 0,this.key=t.key,this.state=t.state}isActive(){const t=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===t}static deserialize(t){const e=vL(xL,t),r=t.length-IE;_e(r>=0,"lookup table is invalid"),_e(r%32===0,"lookup table is invalid");const i=r/32,{addresses:s}=Nt([jn(ce(),i,"addresses")]).decode(t.slice(IE));return{deactivationSlot:e.deactivationSlot,lastExtendedSlot:e.lastExtendedSlot,lastExtendedSlotStartIndex:e.lastExtendedStartIndex,authority:e.authority.length!==0?new pt(e.authority[0]):void 0,addresses:s.map(o=>new pt(o))}}}const xL={index:1,layout:Nt([Ot("typeIndex"),hu("deactivationSlot"),Kn("lastExtendedSlot"),me("lastExtendedStartIndex"),me(),jn(ce(),bo(me(),-1),"authority")])},RL=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function IL(n){const t=n.match(RL);if(t==null)throw TypeError(`Failed to validate endpoint URL \`${n}\``);const[e,r,i,s]=t,o=n.startsWith("https:")?"wss:":"ws:",a=i==null?null:parseInt(i.slice(1),10),u=a==null?"":`:${a+1}`;return`${o}//${r}${u}${s}`}const nn=If(wy(pt),mt(),n=>new pt(n)),SE=by([mt(),en("base64")]),Fy=If(wy(kt),SE,n=>kt.from(n[0],"base64")),kE=30*1e3;function SL(n){if(/^https?:/.test(n)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return n}function ze(n){let t,e;if(typeof n=="string")t=n;else if(n){const{commitment:r,...i}=n;t=r,e=i}return{commitment:t,config:e}}function TE(n){return n.map(t=>"memcmp"in t?{...t,memcmp:{...t.memcmp,encoding:t.memcmp.encoding??"base58"}}:t)}function OE(n){return dr([ft({jsonrpc:en("2.0"),id:mt(),result:n}),ft({jsonrpc:en("2.0"),id:mt(),error:ft({code:uu(),message:mt(),data:Dt(J4())})})])}const kL=OE(uu());function ee(n){return If(OE(n),kL,t=>"error"in t?t:{...t,result:bt(t.result,n)})}function vn(n){return ee(ft({context:ft({slot:tt()}),value:n}))}function w0(n){return ft({context:ft({slot:tt()}),value:n})}function $y(n,t){return n===0?new ka({header:t.header,staticAccountKeys:t.accountKeys.map(e=>new pt(e)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:On.decode(e.data)})),addressTableLookups:t.addressTableLookups}):new Ai(t)}const TL=ft({foundation:tt(),foundationTerm:tt(),initial:tt(),taper:tt(),terminal:tt()}),OL=ee(Et(vt(ft({epoch:tt(),effectiveSlot:tt(),amount:tt(),postBalance:tt(),commission:Dt(vt(tt()))})))),NL=Et(ft({slot:tt(),prioritizationFee:tt()})),CL=ft({total:tt(),validator:tt(),foundation:tt(),epoch:tt()}),BL=ft({epoch:tt(),slotIndex:tt(),slotsInEpoch:tt(),absoluteSlot:tt(),blockHeight:Dt(tt()),transactionCount:Dt(tt())}),PL=ft({slotsPerEpoch:tt(),leaderScheduleSlotOffset:tt(),warmup:Vi(),firstNormalEpoch:tt(),firstNormalSlot:tt()}),ML=WA(mt(),Et(tt())),Na=vt(dr([ft({}),mt()])),LL=ft({err:Na}),UL=en("receivedSignature"),DL=ft({"solana-core":mt(),"feature-set":Dt(tt())}),FL=ft({program:mt(),programId:nn,parsed:uu()}),$L=ft({programId:nn,accounts:Et(nn),data:mt()}),NE=vn(ft({err:vt(dr([ft({}),mt()])),logs:vt(Et(mt())),accounts:Dt(vt(Et(vt(ft({executable:Vi(),owner:mt(),lamports:tt(),data:Et(mt()),rentEpoch:Dt(tt())}))))),unitsConsumed:Dt(tt()),returnData:Dt(vt(ft({programId:mt(),data:by([mt(),en("base64")])}))),innerInstructions:Dt(vt(Et(ft({index:tt(),instructions:Et(dr([FL,$L]))}))))})),HL=vn(ft({byIdentity:WA(mt(),Et(tt())),range:ft({firstSlot:tt(),lastSlot:tt()})}));function zL(n,t,e,r,i,s){const o=e||AL;let a;s!=null&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments.");let u;return r&&(u=async(h,y)=>{const _=await new Promise((w,R)=>{try{r(h,y,(T,I)=>w([T,I]))}catch(T){R(T)}});return await o(..._)}),new vM(async(h,y)=>{const _={method:"POST",body:h,agent:a,headers:Object.assign({"Content-Type":"application/json"},t||{},zU)};try{let w=5,R,T=500;for(;u?R=await u(n,_):R=await o(n,_),!(R.status!==429||i===!0||(w-=1,w===0));)console.error(`Server responded with ${R.status} ${R.statusText}. Retrying after ${T}ms delay...`),await Ta(T),T*=2;const I=await R.text();R.ok?y(null,I):y(new Error(`${R.status} ${R.statusText}: ${I}`))}catch(w){w instanceof Error&&y(w)}},{})}function GL(n){return(t,e)=>new Promise((r,i)=>{n.request(t,e,(s,o)=>{if(s){i(s);return}r(o)})})}function VL(n){return t=>new Promise((e,r)=>{t.length===0&&e([]);const i=t.map(s=>n.request(s.methodName,s.args));n.request(i,(s,o)=>{if(s){r(s);return}e(o)})})}const KL=ee(TL),jL=ee(CL),WL=ee(NL),ZL=ee(BL),qL=ee(PL),QL=ee(ML),YL=ee(tt()),JL=vn(ft({total:tt(),circulating:tt(),nonCirculating:tt(),nonCirculatingAccounts:Et(nn)})),Hy=ft({amount:mt(),uiAmount:vt(tt()),decimals:tt(),uiAmountString:Dt(mt())}),XL=vn(Et(ft({address:nn,amount:mt(),uiAmount:vt(tt()),decimals:tt(),uiAmountString:Dt(mt())}))),tU=vn(Et(ft({pubkey:nn,account:ft({executable:Vi(),owner:nn,lamports:tt(),data:Fy,rentEpoch:tt()})}))),zy=ft({program:mt(),parsed:uu(),space:tt()}),eU=vn(Et(ft({pubkey:nn,account:ft({executable:Vi(),owner:nn,lamports:tt(),data:zy,rentEpoch:tt()})}))),nU=vn(Et(ft({lamports:tt(),address:nn}))),Bf=ft({executable:Vi(),owner:nn,lamports:tt(),data:Fy,rentEpoch:tt()}),rU=ft({pubkey:nn,account:Bf}),iU=If(dr([wy(kt),zy]),dr([SE,zy]),n=>Array.isArray(n)?bt(n,Fy):n),Gy=ft({executable:Vi(),owner:nn,lamports:tt(),data:iU,rentEpoch:tt()}),sU=ft({pubkey:nn,account:Gy}),oU=ft({state:dr([en("active"),en("inactive"),en("activating"),en("deactivating")]),active:tt(),inactive:tt()}),aU=ee(Et(ft({signature:mt(),slot:tt(),err:Na,memo:vt(mt()),blockTime:Dt(vt(tt()))}))),cU=ee(Et(ft({signature:mt(),slot:tt(),err:Na,memo:vt(mt()),blockTime:Dt(vt(tt()))}))),uU=ft({subscription:tt(),result:w0(Bf)}),lU=ft({pubkey:nn,account:Bf}),fU=ft({subscription:tt(),result:w0(lU)}),hU=ft({parent:tt(),slot:tt(),root:tt()}),dU=ft({subscription:tt(),result:hU}),pU=dr([ft({type:dr([en("firstShredReceived"),en("completed"),en("optimisticConfirmation"),en("root")]),slot:tt(),timestamp:tt()}),ft({type:en("createdBank"),parent:tt(),slot:tt(),timestamp:tt()}),ft({type:en("frozen"),slot:tt(),timestamp:tt(),stats:ft({numTransactionEntries:tt(),numSuccessfulTransactions:tt(),numFailedTransactions:tt(),maxTransactionsPerEntry:tt()})}),ft({type:en("dead"),slot:tt(),timestamp:tt(),err:mt()})]),gU=ft({subscription:tt(),result:pU}),yU=ft({subscription:tt(),result:w0(dr([LL,UL]))}),mU=ft({subscription:tt(),result:tt()}),wU=ft({pubkey:mt(),gossip:vt(mt()),tpu:vt(mt()),rpc:vt(mt()),version:vt(mt())}),CE=ft({votePubkey:mt(),nodePubkey:mt(),activatedStake:tt(),epochVoteAccount:Vi(),epochCredits:Et(by([tt(),tt(),tt()])),commission:tt(),lastVote:tt(),rootSlot:vt(tt())}),bU=ee(ft({current:Et(CE),delinquent:Et(CE)})),_U=dr([en("processed"),en("confirmed"),en("finalized")]),AU=ft({slot:tt(),confirmations:vt(tt()),err:Na,confirmationStatus:Dt(_U)}),EU=vn(Et(vt(AU))),vU=ee(tt()),BE=ft({accountKey:nn,writableIndexes:Et(tt()),readonlyIndexes:Et(tt())}),Vy=ft({signatures:Et(mt()),message:ft({accountKeys:Et(mt()),header:ft({numRequiredSignatures:tt(),numReadonlySignedAccounts:tt(),numReadonlyUnsignedAccounts:tt()}),instructions:Et(ft({accounts:Et(tt()),data:mt(),programIdIndex:tt()})),recentBlockhash:mt(),addressTableLookups:Dt(Et(BE))})}),PE=ft({pubkey:nn,signer:Vi(),writable:Vi(),source:Dt(dr([en("transaction"),en("lookupTable")]))}),ME=ft({accountKeys:Et(PE),signatures:Et(mt())}),LE=ft({parsed:uu(),program:mt(),programId:nn}),UE=ft({accounts:Et(nn),data:mt(),programId:nn}),xU=dr([UE,LE]),RU=dr([ft({parsed:uu(),program:mt(),programId:mt()}),ft({accounts:Et(mt()),data:mt(),programId:mt()})]),DE=If(xU,RU,n=>"accounts"in n?bt(n,UE):bt(n,LE)),FE=ft({signatures:Et(mt()),message:ft({accountKeys:Et(PE),instructions:Et(DE),recentBlockhash:mt(),addressTableLookups:Dt(vt(Et(BE)))})}),b0=ft({accountIndex:tt(),mint:mt(),owner:Dt(mt()),programId:Dt(mt()),uiTokenAmount:Hy}),$E=ft({writable:Et(nn),readonly:Et(nn)}),_0=ft({err:Na,fee:tt(),innerInstructions:Dt(vt(Et(ft({index:tt(),instructions:Et(ft({accounts:Et(tt()),data:mt(),programIdIndex:tt()}))})))),preBalances:Et(tt()),postBalances:Et(tt()),logMessages:Dt(vt(Et(mt()))),preTokenBalances:Dt(vt(Et(b0))),postTokenBalances:Dt(vt(Et(b0))),loadedAddresses:Dt($E),computeUnitsConsumed:Dt(tt())}),Ky=ft({err:Na,fee:tt(),innerInstructions:Dt(vt(Et(ft({index:tt(),instructions:Et(DE)})))),preBalances:Et(tt()),postBalances:Et(tt()),logMessages:Dt(vt(Et(mt()))),preTokenBalances:Dt(vt(Et(b0))),postTokenBalances:Dt(vt(Et(b0))),loadedAddresses:Dt($E),computeUnitsConsumed:Dt(tt())}),du=dr([en(0),en("legacy")]),Ca=ft({pubkey:mt(),lamports:tt(),postBalance:vt(tt()),rewardType:vt(mt()),commission:Dt(vt(tt()))}),IU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),transactions:Et(ft({transaction:Vy,meta:vt(_0),version:Dt(du)})),rewards:Dt(Et(Ca)),blockTime:vt(tt()),blockHeight:vt(tt())}))),SU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),rewards:Dt(Et(Ca)),blockTime:vt(tt()),blockHeight:vt(tt())}))),kU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),transactions:Et(ft({transaction:ME,meta:vt(_0),version:Dt(du)})),rewards:Dt(Et(Ca)),blockTime:vt(tt()),blockHeight:vt(tt())}))),TU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),transactions:Et(ft({transaction:FE,meta:vt(Ky),version:Dt(du)})),rewards:Dt(Et(Ca)),blockTime:vt(tt()),blockHeight:vt(tt())}))),OU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),transactions:Et(ft({transaction:ME,meta:vt(Ky),version:Dt(du)})),rewards:Dt(Et(Ca)),blockTime:vt(tt()),blockHeight:vt(tt())}))),NU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),rewards:Dt(Et(Ca)),blockTime:vt(tt()),blockHeight:vt(tt())}))),CU=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),transactions:Et(ft({transaction:Vy,meta:vt(_0)})),rewards:Dt(Et(Ca)),blockTime:vt(tt())}))),HE=ee(vt(ft({blockhash:mt(),previousBlockhash:mt(),parentSlot:tt(),signatures:Et(mt()),blockTime:vt(tt())}))),jy=ee(vt(ft({slot:tt(),meta:vt(_0),blockTime:Dt(vt(tt())),transaction:Vy,version:Dt(du)}))),A0=ee(vt(ft({slot:tt(),transaction:FE,meta:vt(Ky),blockTime:Dt(vt(tt())),version:Dt(du)}))),BU=vn(ft({blockhash:mt(),lastValidBlockHeight:tt()})),PU=vn(Vi()),MU=ft({slot:tt(),numTransactions:tt(),numSlots:tt(),samplePeriodSecs:tt()}),LU=ee(Et(MU)),UU=vn(vt(ft({feeCalculator:ft({lamportsPerSignature:tt()})}))),DU=ee(mt()),FU=ee(mt()),$U=ft({err:Na,logs:Et(mt()),signature:mt()}),HU=ft({result:w0($U),subscription:tt()}),zU={"solana-client":"js/1.0.0-maintenance"};class zE{constructor(t,e){this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{const f={};return async h=>{const{commitment:y,config:_}=ze(h),w=this._buildArgs([],y,void 0,_),R=xE(w);return f[R]=f[R]??(async()=>{try{const T=await this._rpcRequest("getBlockHeight",w),I=bt(T,ee(tt()));if("error"in I)throw new Mt(I.error,"failed to get block height information");return I.result}finally{delete f[R]}})(),await f[R]}})();let r,i,s,o,a,u;e&&typeof e=="string"?this._commitment=e:e&&(this._commitment=e.commitment,this._confirmTransactionInitialTimeout=e.confirmTransactionInitialTimeout,r=e.wsEndpoint,i=e.httpHeaders,s=e.fetch,o=e.fetchMiddleware,a=e.disableRetryOnRateLimit,u=e.httpAgent),this._rpcEndpoint=SL(t),this._rpcWsEndpoint=r||IL(t),this._rpcClient=zL(t,i,s,o,a,u),this._rpcRequest=GL(this._rpcClient),this._rpcBatchRequest=VL(this._rpcClient),this._rpcWebSocket=new EL(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgs([t.toBase58()],r,void 0,i),o=await this._rpcRequest("getBalance",s),a=bt(o,vn(tt()));if("error"in a)throw new Mt(a.error,`failed to get balance for ${t.toBase58()}`);return a.result}async getBalance(t,e){return await this.getBalanceAndContext(t,e).then(r=>r.value).catch(r=>{throw new Error("failed to get balance of account "+t.toBase58()+": "+r)})}async getBlockTime(t){const e=await this._rpcRequest("getBlockTime",[t]),r=bt(e,ee(vt(tt())));if("error"in r)throw new Mt(r.error,`failed to get block time for slot ${t}`);return r.result}async getMinimumLedgerSlot(){const t=await this._rpcRequest("minimumLedgerSlot",[]),e=bt(t,ee(tt()));if("error"in e)throw new Mt(e.error,"failed to get minimum ledger slot");return e.result}async getFirstAvailableBlock(){const t=await this._rpcRequest("getFirstAvailableBlock",[]),e=bt(t,YL);if("error"in e)throw new Mt(e.error,"failed to get first available block");return e.result}async getSupply(t){let e={};typeof t=="string"?e={commitment:t}:t?e={...t,commitment:t&&t.commitment||this.commitment}:e={commitment:this.commitment};const r=await this._rpcRequest("getSupply",[e]),i=bt(r,JL);if("error"in i)throw new Mt(i.error,"failed to get supply");return i.result}async getTokenSupply(t,e){const r=this._buildArgs([t.toBase58()],e),i=await this._rpcRequest("getTokenSupply",r),s=bt(i,vn(Hy));if("error"in s)throw new Mt(s.error,"failed to get token supply");return s.result}async getTokenAccountBalance(t,e){const r=this._buildArgs([t.toBase58()],e),i=await this._rpcRequest("getTokenAccountBalance",r),s=bt(i,vn(Hy));if("error"in s)throw new Mt(s.error,"failed to get token account balance");return s.result}async getTokenAccountsByOwner(t,e,r){const{commitment:i,config:s}=ze(r);let o=[t.toBase58()];"mint"in e?o.push({mint:e.mint.toBase58()}):o.push({programId:e.programId.toBase58()});const a=this._buildArgs(o,i,"base64",s),u=await this._rpcRequest("getTokenAccountsByOwner",a),f=bt(u,tU);if("error"in f)throw new Mt(f.error,`failed to get token accounts owned by account ${t.toBase58()}`);return f.result}async getParsedTokenAccountsByOwner(t,e,r){let i=[t.toBase58()];"mint"in e?i.push({mint:e.mint.toBase58()}):i.push({programId:e.programId.toBase58()});const s=this._buildArgs(i,r,"jsonParsed"),o=await this._rpcRequest("getTokenAccountsByOwner",s),a=bt(o,eU);if("error"in a)throw new Mt(a.error,`failed to get token accounts owned by account ${t.toBase58()}`);return a.result}async getLargestAccounts(t){const e={...t,commitment:t&&t.commitment||this.commitment},r=e.filter||e.commitment?[e]:[],i=await this._rpcRequest("getLargestAccounts",r),s=bt(i,nU);if("error"in s)throw new Mt(s.error,"failed to get largest accounts");return s.result}async getTokenLargestAccounts(t,e){const r=this._buildArgs([t.toBase58()],e),i=await this._rpcRequest("getTokenLargestAccounts",r),s=bt(i,XL);if("error"in s)throw new Mt(s.error,"failed to get token largest accounts");return s.result}async getAccountInfoAndContext(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgs([t.toBase58()],r,"base64",i),o=await this._rpcRequest("getAccountInfo",s),a=bt(o,vn(vt(Bf)));if("error"in a)throw new Mt(a.error,`failed to get info about account ${t.toBase58()}`);return a.result}async getParsedAccountInfo(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgs([t.toBase58()],r,"jsonParsed",i),o=await this._rpcRequest("getAccountInfo",s),a=bt(o,vn(vt(Gy)));if("error"in a)throw new Mt(a.error,`failed to get info about account ${t.toBase58()}`);return a.result}async getAccountInfo(t,e){try{return(await this.getAccountInfoAndContext(t,e)).value}catch(r){throw new Error("failed to get info about account "+t.toBase58()+": "+r)}}async getMultipleParsedAccounts(t,e){const{commitment:r,config:i}=ze(e),s=t.map(f=>f.toBase58()),o=this._buildArgs([s],r,"jsonParsed",i),a=await this._rpcRequest("getMultipleAccounts",o),u=bt(a,vn(Et(vt(Gy))));if("error"in u)throw new Mt(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfoAndContext(t,e){const{commitment:r,config:i}=ze(e),s=t.map(f=>f.toBase58()),o=this._buildArgs([s],r,"base64",i),a=await this._rpcRequest("getMultipleAccounts",o),u=bt(a,vn(Et(vt(Bf))));if("error"in u)throw new Mt(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfo(t,e){return(await this.getMultipleAccountsInfoAndContext(t,e)).value}async getStakeActivation(t,e,r){const{commitment:i,config:s}=ze(e),o=this._buildArgs([t.toBase58()],i,void 0,{...s,epoch:r??(s==null?void 0:s.epoch)}),a=await this._rpcRequest("getStakeActivation",o),u=bt(a,ee(oU));if("error"in u)throw new Mt(u.error,`failed to get Stake Activation ${t.toBase58()}`);return u.result}async getProgramAccounts(t,e){const{commitment:r,config:i}=ze(e),{encoding:s,...o}=i||{},a=this._buildArgs([t.toBase58()],r,s||"base64",{...o,...o.filters?{filters:TE(o.filters)}:null}),u=await this._rpcRequest("getProgramAccounts",a),f=Et(rU),h=o.withContext===!0?bt(u,vn(f)):bt(u,ee(f));if("error"in h)throw new Mt(h.error,`failed to get accounts owned by program ${t.toBase58()}`);return h.result}async getParsedProgramAccounts(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgs([t.toBase58()],r,"jsonParsed",i),o=await this._rpcRequest("getProgramAccounts",s),a=bt(o,ee(Et(sU)));if("error"in a)throw new Mt(a.error,`failed to get accounts owned by program ${t.toBase58()}`);return a.result}async confirmTransaction(t,e){var s;let r;if(typeof t=="string")r=t;else{const o=t;if((s=o.abortSignal)!=null&&s.aborted)return Promise.reject(o.abortSignal.reason);r=o.signature}let i;try{i=On.decode(r)}catch{throw new Error("signature must be base58 encoded: "+r)}return _e(i.length===64,"signature has invalid length"),typeof t=="string"?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:e||this.commitment,signature:r}):"lastValidBlockHeight"in t?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e||this.commitment,strategy:t}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:e||this.commitment,strategy:t})}getCancellationPromise(t){return new Promise((e,r)=>{t!=null&&(t.aborted?r(t.reason):t.addEventListener("abort",()=>{r(t.reason)}))})}getTransactionConfirmationPromise({commitment:t,signature:e}){let r,i,s=!1;const o=new Promise((u,f)=>{try{r=this.onSignature(e,(y,_)=>{r=void 0;const w={context:_,value:y};u({__type:Ss.PROCESSED,response:w})},t);const h=new Promise(y=>{r==null?y():i=this._onSubscriptionStateChange(r,_=>{_==="subscribed"&&y()})});(async()=>{if(await h,s)return;const y=await this.getSignatureStatus(e);if(s||y==null)return;const{context:_,value:w}=y;if(w!=null)if(w!=null&&w.err)f(w.err);else{switch(t){case"confirmed":case"single":case"singleGossip":{if(w.confirmationStatus==="processed")return;break}case"finalized":case"max":case"root":{if(w.confirmationStatus==="processed"||w.confirmationStatus==="confirmed")return;break}case"processed":case"recent":}s=!0,u({__type:Ss.PROCESSED,response:{context:_,value:w}})}})()}catch(h){f(h)}});return{abortConfirmation:()=>{i&&(i(),i=void 0),r!=null&&(this.removeSignatureListener(r),r=void 0)},confirmationPromise:o}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t,strategy:{abortSignal:e,lastValidBlockHeight:r,signature:i}}){let s=!1;const o=new Promise(y=>{const _=async()=>{try{return await this.getBlockHeight(t)}catch{return-1}};(async()=>{let w=await _();if(!s){for(;w<=r;)if(await Ta(1e3),s||(w=await _(),s))return;y({__type:Ss.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:a,confirmationPromise:u}=this.getTransactionConfirmationPromise({commitment:t,signature:i}),f=this.getCancellationPromise(e);let h;try{const y=await Promise.race([f,u,o]);if(y.__type===Ss.PROCESSED)h=y.response;else throw new Ty(i)}finally{s=!0,a()}return h}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:e,minContextSlot:r,nonceAccountPubkey:i,nonceValue:s,signature:o}}){let a=!1;const u=new Promise(w=>{let R=s,T=null;const I=async()=>{try{const{context:B,value:H}=await this.getNonceAndContext(i,{commitment:t,minContextSlot:r});return T=B.slot,H==null?void 0:H.nonce}catch{return R}};(async()=>{if(R=await I(),!a)for(;;){if(s!==R){w({__type:Ss.NONCE_INVALID,slotInWhichNonceDidAdvance:T});return}if(await Ta(2e3),a||(R=await I(),a))return}})()}),{abortConfirmation:f,confirmationPromise:h}=this.getTransactionConfirmationPromise({commitment:t,signature:o}),y=this.getCancellationPromise(e);let _;try{const w=await Promise.race([y,h,u]);if(w.__type===Ss.PROCESSED)_=w.response;else{let R;for(;;){const T=await this.getSignatureStatus(o);if(T==null)break;if(T.context.slot<(w.slotInWhichNonceDidAdvance??r)){await Ta(400);continue}R=T;break}if(R!=null&&R.value){const T=t||"finalized",{confirmationStatus:I}=R.value;switch(T){case"processed":case"recent":if(I!=="processed"&&I!=="confirmed"&&I!=="finalized")throw new lu(o);break;case"confirmed":case"single":case"singleGossip":if(I!=="confirmed"&&I!=="finalized")throw new lu(o);break;case"finalized":case"max":case"root":if(I!=="finalized")throw new lu(o);break;default:}_={context:R.context,value:{err:R.value.err}}}else throw new lu(o)}}finally{a=!0,f()}return _}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:t,signature:e}){let r;const i=new Promise(u=>{let f=this._confirmTransactionInitialTimeout||6e4;switch(t){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":{f=this._confirmTransactionInitialTimeout||3e4;break}}r=setTimeout(()=>u({__type:Ss.TIMED_OUT,timeoutMs:f}),f)}),{abortConfirmation:s,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:t,signature:e});let a;try{const u=await Promise.race([o,i]);if(u.__type===Ss.PROCESSED)a=u.response;else throw new Oy(e,u.timeoutMs/1e3)}finally{clearTimeout(r),s()}return a}async getClusterNodes(){const t=await this._rpcRequest("getClusterNodes",[]),e=bt(t,ee(Et(wU)));if("error"in e)throw new Mt(e.error,"failed to get cluster nodes");return e.result}async getVoteAccounts(t){const e=this._buildArgs([],t),r=await this._rpcRequest("getVoteAccounts",e),i=bt(r,bU);if("error"in i)throw new Mt(i.error,"failed to get vote accounts");return i.result}async getSlot(t){const{commitment:e,config:r}=ze(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getSlot",i),o=bt(s,ee(tt()));if("error"in o)throw new Mt(o.error,"failed to get slot");return o.result}async getSlotLeader(t){const{commitment:e,config:r}=ze(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getSlotLeader",i),o=bt(s,ee(mt()));if("error"in o)throw new Mt(o.error,"failed to get slot leader");return o.result}async getSlotLeaders(t,e){const r=[t,e],i=await this._rpcRequest("getSlotLeaders",r),s=bt(i,ee(Et(nn)));if("error"in s)throw new Mt(s.error,"failed to get slot leaders");return s.result}async getSignatureStatus(t,e){const{context:r,value:i}=await this.getSignatureStatuses([t],e);_e(i.length===1);const s=i[0];return{context:r,value:s}}async getSignatureStatuses(t,e){const r=[t];e&&r.push(e);const i=await this._rpcRequest("getSignatureStatuses",r),s=bt(i,EU);if("error"in s)throw new Mt(s.error,"failed to get signature status");return s.result}async getTransactionCount(t){const{commitment:e,config:r}=ze(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getTransactionCount",i),o=bt(s,ee(tt()));if("error"in o)throw new Mt(o.error,"failed to get transaction count");return o.result}async getTotalSupply(t){return(await this.getSupply({commitment:t,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(t){const e=this._buildArgs([],t),r=await this._rpcRequest("getInflationGovernor",e),i=bt(r,KL);if("error"in i)throw new Mt(i.error,"failed to get inflation");return i.result}async getInflationReward(t,e,r){const{commitment:i,config:s}=ze(r),o=this._buildArgs([t.map(f=>f.toBase58())],i,void 0,{...s,epoch:e??(s==null?void 0:s.epoch)}),a=await this._rpcRequest("getInflationReward",o),u=bt(a,OL);if("error"in u)throw new Mt(u.error,"failed to get inflation reward");return u.result}async getInflationRate(){const t=await this._rpcRequest("getInflationRate",[]),e=bt(t,jL);if("error"in e)throw new Mt(e.error,"failed to get inflation rate");return e.result}async getEpochInfo(t){const{commitment:e,config:r}=ze(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getEpochInfo",i),o=bt(s,ZL);if("error"in o)throw new Mt(o.error,"failed to get epoch info");return o.result}async getEpochSchedule(){const t=await this._rpcRequest("getEpochSchedule",[]),e=bt(t,qL);if("error"in e)throw new Mt(e.error,"failed to get epoch schedule");const r=e.result;return new RE(r.slotsPerEpoch,r.leaderScheduleSlotOffset,r.warmup,r.firstNormalEpoch,r.firstNormalSlot)}async getLeaderSchedule(){const t=await this._rpcRequest("getLeaderSchedule",[]),e=bt(t,QL);if("error"in e)throw new Mt(e.error,"failed to get leader schedule");return e.result}async getMinimumBalanceForRentExemption(t,e){const r=this._buildArgs([t],e),i=await this._rpcRequest("getMinimumBalanceForRentExemption",r),s=bt(i,vU);return"error"in s?(console.warn("Unable to fetch minimum balance for rent exemption"),0):s.result}async getRecentBlockhashAndContext(t){const{context:e,value:{blockhash:r}}=await this.getLatestBlockhashAndContext(t);return{context:e,value:{blockhash:r,feeCalculator:{get lamportsPerSignature(){throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.")},toJSON(){return{}}}}}}async getRecentPerformanceSamples(t){const e=await this._rpcRequest("getRecentPerformanceSamples",t?[t]:[]),r=bt(e,LU);if("error"in r)throw new Mt(r.error,"failed to get recent performance samples");return r.result}async getFeeCalculatorForBlockhash(t,e){const r=this._buildArgs([t],e),i=await this._rpcRequest("getFeeCalculatorForBlockhash",r),s=bt(i,UU);if("error"in s)throw new Mt(s.error,"failed to get fee calculator");const{context:o,value:a}=s.result;return{context:o,value:a!==null?a.feeCalculator:null}}async getFeeForMessage(t,e){const r=te(t.serialize()).toString("base64"),i=this._buildArgs([r],e),s=await this._rpcRequest("getFeeForMessage",i),o=bt(s,vn(vt(tt())));if("error"in o)throw new Mt(o.error,"failed to get fee for message");if(o.result===null)throw new Error("invalid blockhash");return o.result}async getRecentPrioritizationFees(t){var o;const e=(o=t==null?void 0:t.lockedWritableAccounts)==null?void 0:o.map(a=>a.toBase58()),r=e!=null&&e.length?[e]:[],i=await this._rpcRequest("getRecentPrioritizationFees",r),s=bt(i,WL);if("error"in s)throw new Mt(s.error,"failed to get recent prioritization fees");return s.result}async getRecentBlockhash(t){try{return(await this.getRecentBlockhashAndContext(t)).value}catch(e){throw new Error("failed to get recent blockhash: "+e)}}async getLatestBlockhash(t){try{return(await this.getLatestBlockhashAndContext(t)).value}catch(e){throw new Error("failed to get recent blockhash: "+e)}}async getLatestBlockhashAndContext(t){const{commitment:e,config:r}=ze(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getLatestBlockhash",i),o=bt(s,BU);if("error"in o)throw new Mt(o.error,"failed to get latest blockhash");return o.result}async isBlockhashValid(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgs([t],r,void 0,i),o=await this._rpcRequest("isBlockhashValid",s),a=bt(o,PU);if("error"in a)throw new Mt(a.error,"failed to determine if the blockhash `"+t+"`is valid");return a.result}async getVersion(){const t=await this._rpcRequest("getVersion",[]),e=bt(t,ee(DL));if("error"in e)throw new Mt(e.error,"failed to get version");return e.result}async getGenesisHash(){const t=await this._rpcRequest("getGenesisHash",[]),e=bt(t,ee(mt()));if("error"in e)throw new Mt(e.error,"failed to get genesis hash");return e.result}async getBlock(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgsAtLeastConfirmed([t],r,void 0,i),o=await this._rpcRequest("getBlock",s);try{switch(i==null?void 0:i.transactionDetails){case"accounts":{const a=bt(o,kU);if("error"in a)throw a.error;return a.result}case"none":{const a=bt(o,SU);if("error"in a)throw a.error;return a.result}default:{const a=bt(o,IU);if("error"in a)throw a.error;const{result:u}=a;return u?{...u,transactions:u.transactions.map(({transaction:f,meta:h,version:y})=>({meta:h,transaction:{...f,message:$y(y,f.message)},version:y}))}:null}}}catch(a){throw new Mt(a,"failed to get confirmed block")}}async getParsedBlock(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",i),o=await this._rpcRequest("getBlock",s);try{switch(i==null?void 0:i.transactionDetails){case"accounts":{const a=bt(o,OU);if("error"in a)throw a.error;return a.result}case"none":{const a=bt(o,NU);if("error"in a)throw a.error;return a.result}default:{const a=bt(o,TU);if("error"in a)throw a.error;return a.result}}}catch(a){throw new Mt(a,"failed to get block")}}async getBlockProduction(t){let e,r;if(typeof t=="string")r=t;else if(t){const{commitment:a,...u}=t;r=a,e=u}const i=this._buildArgs([],r,"base64",e),s=await this._rpcRequest("getBlockProduction",i),o=bt(s,HL);if("error"in o)throw new Mt(o.error,"failed to get block production information");return o.result}async getTransaction(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgsAtLeastConfirmed([t],r,void 0,i),o=await this._rpcRequest("getTransaction",s),a=bt(o,jy);if("error"in a)throw new Mt(a.error,"failed to get transaction");const u=a.result;return u&&{...u,transaction:{...u.transaction,message:$y(u.version,u.transaction.message)}}}async getParsedTransaction(t,e){const{commitment:r,config:i}=ze(e),s=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",i),o=await this._rpcRequest("getTransaction",s),a=bt(o,A0);if("error"in a)throw new Mt(a.error,"failed to get transaction");return a.result}async getParsedTransactions(t,e){const{commitment:r,config:i}=ze(e),s=t.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],r,"jsonParsed",i)}));return(await this._rpcBatchRequest(s)).map(u=>{const f=bt(u,A0);if("error"in f)throw new Mt(f.error,"failed to get transactions");return f.result})}async getTransactions(t,e){const{commitment:r,config:i}=ze(e),s=t.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],r,void 0,i)}));return(await this._rpcBatchRequest(s)).map(u=>{const f=bt(u,jy);if("error"in f)throw new Mt(f.error,"failed to get transactions");const h=f.result;return h&&{...h,transaction:{...h.transaction,message:$y(h.version,h.transaction.message)}}})}async getConfirmedBlock(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),i=await this._rpcRequest("getBlock",r),s=bt(i,CU);if("error"in s)throw new Mt(s.error,"failed to get confirmed block");const o=s.result;if(!o)throw new Error("Confirmed block "+t+" not found");const a={...o,transactions:o.transactions.map(({transaction:u,meta:f})=>{const h=new Ai(u.message);return{meta:f,transaction:{...u,message:h}}})};return{...a,transactions:a.transactions.map(({transaction:u,meta:f})=>({meta:f,transaction:Ne.populate(u.message,u.signatures)}))}}async getBlocks(t,e,r){const i=this._buildArgsAtLeastConfirmed(e!==void 0?[t,e]:[t],r),s=await this._rpcRequest("getBlocks",i),o=bt(s,ee(Et(tt())));if("error"in o)throw new Mt(o.error,"failed to get blocks");return o.result}async getBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),i=await this._rpcRequest("getBlock",r),s=bt(i,HE);if("error"in s)throw new Mt(s.error,"failed to get block");const o=s.result;if(!o)throw new Error("Block "+t+" not found");return o}async getConfirmedBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),i=await this._rpcRequest("getBlock",r),s=bt(i,HE);if("error"in s)throw new Mt(s.error,"failed to get confirmed block");const o=s.result;if(!o)throw new Error("Confirmed block "+t+" not found");return o}async getConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),i=await this._rpcRequest("getTransaction",r),s=bt(i,jy);if("error"in s)throw new Mt(s.error,"failed to get transaction");const o=s.result;if(!o)return o;const a=new Ai(o.transaction.message),u=o.transaction.signatures;return{...o,transaction:Ne.populate(a,u)}}async getParsedConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,"jsonParsed"),i=await this._rpcRequest("getTransaction",r),s=bt(i,A0);if("error"in s)throw new Mt(s.error,"failed to get confirmed transaction");return s.result}async getParsedConfirmedTransactions(t,e){const r=t.map(o=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([o],e,"jsonParsed")}));return(await this._rpcBatchRequest(r)).map(o=>{const a=bt(o,A0);if("error"in a)throw new Mt(a.error,"failed to get confirmed transactions");return a.result})}async getConfirmedSignaturesForAddress(t,e,r){let i={},s=await this.getFirstAvailableBlock();for(;!("until"in i)&&(e--,!(e<=0||e<s));)try{const u=await this.getConfirmedBlockSignatures(e,"finalized");u.signatures.length>0&&(i.until=u.signatures[u.signatures.length-1].toString())}catch(u){if(u instanceof Error&&u.message.includes("skipped"))continue;throw u}let o=await this.getSlot("finalized");for(;!("before"in i)&&(r++,!(r>o));)try{const u=await this.getConfirmedBlockSignatures(r);u.signatures.length>0&&(i.before=u.signatures[u.signatures.length-1].toString())}catch(u){if(u instanceof Error&&u.message.includes("skipped"))continue;throw u}return(await this.getConfirmedSignaturesForAddress2(t,i)).map(u=>u.signature)}async getConfirmedSignaturesForAddress2(t,e,r){const i=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),s=await this._rpcRequest("getConfirmedSignaturesForAddress2",i),o=bt(s,aU);if("error"in o)throw new Mt(o.error,"failed to get confirmed signatures for address");return o.result}async getSignaturesForAddress(t,e,r){const i=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),s=await this._rpcRequest("getSignaturesForAddress",i),o=bt(s,cU);if("error"in o)throw new Mt(o.error,"failed to get signatures for address");return o.result}async getAddressLookupTable(t,e){const{context:r,value:i}=await this.getAccountInfoAndContext(t,e);let s=null;return i!==null&&(s=new Dy({key:t,state:Dy.deserialize(i.data)})),{context:r,value:s}}async getNonceAndContext(t,e){const{context:r,value:i}=await this.getAccountInfoAndContext(t,e);let s=null;return i!==null&&(s=m0.fromAccountData(i.data)),{context:r,value:s}}async getNonce(t,e){return await this.getNonceAndContext(t,e).then(r=>r.value).catch(r=>{throw new Error("failed to get nonce for account "+t.toBase58()+": "+r)})}async requestAirdrop(t,e){const r=await this._rpcRequest("requestAirdrop",[t.toBase58(),e]),i=bt(r,DU);if("error"in i)throw new Mt(i.error,`airdrop to ${t.toBase58()} failed`);return i.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await Ta(100);const r=Date.now()-this._blockhashInfo.lastFetch>=kE;if(this._blockhashInfo.latestBlockhash!==null&&!r)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{const t=Date.now(),e=this._blockhashInfo.latestBlockhash,r=e?e.blockhash:null;for(let i=0;i<50;i++){const s=await this.getLatestBlockhash("finalized");if(r!==s.blockhash)return this._blockhashInfo={latestBlockhash:s,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},s;await Ta(_E/2)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-t}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(t){const{commitment:e,config:r}=ze(t),i=this._buildArgs([],e,"base64",r),s=await this._rpcRequest("getStakeMinimumDelegation",i),o=bt(s,vn(tt()));if("error"in o)throw new Mt(o.error,"failed to get stake minimum delegation");return o.result}async simulateTransaction(t,e,r){if("message"in t){const T=t.serialize(),I=kt.from(T).toString("base64");if(Array.isArray(e)||r!==void 0)throw new Error("Invalid arguments");const B=e||{};B.encoding="base64","commitment"in B||(B.commitment=this.commitment),e&&typeof e=="object"&&"innerInstructions"in e&&(B.innerInstructions=e.innerInstructions);const H=[I,B],U=await this._rpcRequest("simulateTransaction",H),G=bt(U,NE);if("error"in G)throw new Error("failed to simulate transaction: "+G.error.message);return G.result}let i;if(t instanceof Ne){let R=t;i=new Ne,i.feePayer=R.feePayer,i.instructions=t.instructions,i.nonceInfo=R.nonceInfo,i.signatures=R.signatures}else i=Ne.populate(t),i._message=i._json=void 0;if(e!==void 0&&!Array.isArray(e))throw new Error("Invalid arguments");const s=e;if(i.nonceInfo&&s)i.sign(...s);else{let R=this._disableBlockhashCaching;for(;;){const T=await this._blockhashWithExpiryBlockHeight(R);if(i.lastValidBlockHeight=T.lastValidBlockHeight,i.recentBlockhash=T.blockhash,!s)break;if(i.sign(...s),!i.signature)throw new Error("!signature");const I=i.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(I)&&!this._blockhashInfo.transactionSignatures.includes(I)){this._blockhashInfo.simulatedSignatures.push(I);break}else R=!0}}const o=i._compile(),a=o.serialize(),f=i._serialize(a).toString("base64"),h={encoding:"base64",commitment:this.commitment};if(r){const R=(Array.isArray(r)?r:o.nonProgramIds()).map(T=>T.toBase58());h.accounts={encoding:"base64",addresses:R}}s&&(h.sigVerify=!0),e&&typeof e=="object"&&"innerInstructions"in e&&(h.innerInstructions=e.innerInstructions);const y=[f,h],_=await this._rpcRequest("simulateTransaction",y),w=bt(_,NE);if("error"in w){let R;if("data"in w.error&&(R=w.error.data.logs,R&&Array.isArray(R))){const T=`
|
|
23
|
-
`,I=T+R.join(T);console.error(w.error.message,I)}throw new Eo({action:"simulate",signature:"",transactionMessage:w.error.message,logs:R})}return w.result}async sendTransaction(t,e,r){if("version"in t){if(e&&Array.isArray(e))throw new Error("Invalid arguments");const o=t.serialize();return await this.sendRawTransaction(o,e)}if(e===void 0||!Array.isArray(e))throw new Error("Invalid arguments");const i=e;if(t.nonceInfo)t.sign(...i);else{let o=this._disableBlockhashCaching;for(;;){const a=await this._blockhashWithExpiryBlockHeight(o);if(t.lastValidBlockHeight=a.lastValidBlockHeight,t.recentBlockhash=a.blockhash,t.sign(...i),!t.signature)throw new Error("!signature");const u=t.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(u))o=!0;else{this._blockhashInfo.transactionSignatures.push(u);break}}}const s=t.serialize();return await this.sendRawTransaction(s,r)}async sendRawTransaction(t,e){const r=te(t).toString("base64");return await this.sendEncodedTransaction(r,e)}async sendEncodedTransaction(t,e){const r={encoding:"base64"},i=e&&e.skipPreflight,s=i===!0?"processed":e&&e.preflightCommitment||this.commitment;e&&e.maxRetries!=null&&(r.maxRetries=e.maxRetries),e&&e.minContextSlot!=null&&(r.minContextSlot=e.minContextSlot),i&&(r.skipPreflight=i),s&&(r.preflightCommitment=s);const o=[t,r],a=await this._rpcRequest("sendTransaction",o),u=bt(a,FU);if("error"in u){let f;throw"data"in u.error&&(f=u.error.data.logs),new Eo({action:i?"send":"simulate",signature:"",transactionMessage:u.error.message,logs:f})}return u.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(t){this._rpcWebSocketConnected=!1,console.error("ws error:",t.message)}_wsOnClose(t){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),t===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([e,r])=>{this._setSubscription(e,{...r,state:"pending"})})}_setSubscription(t,e){var i;const r=(i=this._subscriptionsByHash[t])==null?void 0:i.state;if(this._subscriptionsByHash[t]=e,r!==e.state){const s=this._subscriptionStateChangeCallbacksByHash[t];s&&s.forEach(o=>{try{o(e.state)}catch{}})}}_onSubscriptionStateChange(t,e){var s;const r=this._subscriptionHashByClientSubscriptionId[t];if(r==null)return()=>{};const i=(s=this._subscriptionStateChangeCallbacksByHash)[r]||(s[r]=new Set);return i.add(e),()=>{i.delete(e),i.size===0&&delete this._subscriptionStateChangeCallbacksByHash[r]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(r){r instanceof Error&&console.log(`Error when closing socket connection: ${r.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}const t=this._rpcWebSocketGeneration,e=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async r=>{const i=this._subscriptionsByHash[r];if(i!==void 0)switch(i.state){case"pending":case"unsubscribed":if(i.callbacks.size===0){delete this._subscriptionsByHash[r],i.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[i.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{const{args:s,method:o}=i;try{this._setSubscription(r,{...i,state:"subscribing"});const a=await this._rpcWebSocket.call(o,s);this._setSubscription(r,{...i,serverSubscriptionId:a,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[a]=i.callbacks,await this._updateSubscriptions()}catch(a){if(console.error(`Received ${a instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:s,error:a}),!e())return;this._setSubscription(r,{...i,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":i.callbacks.size===0&&await(async()=>{const{serverSubscriptionId:s,unsubscribeMethod:o}=i;if(this._subscriptionsAutoDisposedByRpc.has(s))this._subscriptionsAutoDisposedByRpc.delete(s);else{this._setSubscription(r,{...i,state:"unsubscribing"}),this._setSubscription(r,{...i,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[s])}catch(a){if(a instanceof Error&&console.error(`${o} error:`,a.message),!e())return;this._setSubscription(r,{...i,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(r,{...i,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(t,e){const r=this._subscriptionCallbacksByServerSubscriptionId[t];r!==void 0&&r.forEach(i=>{try{i(...e)}catch(s){console.error(s)}})}_wsOnAccountNotification(t){const{result:e,subscription:r}=bt(t,uU);this._handleServerNotification(r,[e.value,e.context])}_makeSubscription(t,e){const r=this._nextClientSubscriptionId++,i=xE([t.method,e]),s=this._subscriptionsByHash[i];return s===void 0?this._subscriptionsByHash[i]={...t,args:e,callbacks:new Set([t.callback]),state:"pending"}:s.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[r]=i,this._subscriptionDisposeFunctionsByClientSubscriptionId[r]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[r],delete this._subscriptionHashByClientSubscriptionId[r];const o=this._subscriptionsByHash[i];_e(o!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${r}`),o.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),r}onAccountChange(t,e,r){const{commitment:i,config:s}=ze(r),o=this._buildArgs([t.toBase58()],i||this._commitment||"finalized","base64",s);return this._makeSubscription({callback:e,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){const{result:e,subscription:r}=bt(t,fU);this._handleServerNotification(r,[{accountId:e.value.pubkey,accountInfo:e.value.account},e.context])}onProgramAccountChange(t,e,r,i){const{commitment:s,config:o}=ze(r),a=this._buildArgs([t.toBase58()],s||this._commitment||"finalized","base64",o||(i?{filters:TE(i)}:void 0));return this._makeSubscription({callback:e,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},a)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,e,r){const i=this._buildArgs([typeof t=="object"?{mentions:[t.toString()]}:t],r||this._commitment||"finalized");return this._makeSubscription({callback:e,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},i)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){const{result:e,subscription:r}=bt(t,HU);this._handleServerNotification(r,[e.value,e.context])}_wsOnSlotNotification(t){const{result:e,subscription:r}=bt(t,dU);this._handleServerNotification(r,[e])}onSlotChange(t){return this._makeSubscription({callback:t,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(t){await this._unsubscribeClientSubscription(t,"slot change")}_wsOnSlotUpdatesNotification(t){const{result:e,subscription:r}=bt(t,gU);this._handleServerNotification(r,[e])}onSlotUpdate(t){return this._makeSubscription({callback:t,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(t){await this._unsubscribeClientSubscription(t,"slot update")}async _unsubscribeClientSubscription(t,e){const r=this._subscriptionDisposeFunctionsByClientSubscriptionId[t];r?await r():console.warn(`Ignored unsubscribe request because an active subscription with id \`${t}\` for '${e}' events could not be found.`)}_buildArgs(t,e,r,i){const s=e||this._commitment;if(s||r||i){let o={};r&&(o.encoding=r),s&&(o.commitment=s),i&&(o=Object.assign(o,i)),t.push(o)}return t}_buildArgsAtLeastConfirmed(t,e,r,i){const s=e||this._commitment;if(s&&!["confirmed","finalized"].includes(s))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(t,e,r,i)}_wsOnSignatureNotification(t){const{result:e,subscription:r}=bt(t,yU);e.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(r),this._handleServerNotification(r,e.value==="receivedSignature"?[{type:"received"},e.context]:[{type:"status",result:e.value},e.context])}onSignature(t,e,r){const i=this._buildArgs([t],r||this._commitment||"finalized"),s=this._makeSubscription({callback:(o,a)=>{if(o.type==="status"){e(o.result,a);try{this.removeSignatureListener(s)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},i);return s}onSignatureWithOptions(t,e,r){const{commitment:i,...s}={...r,commitment:r&&r.commitment||this._commitment||"finalized"},o=this._buildArgs([t],i,void 0,s),a=this._makeSubscription({callback:(u,f)=>{e(u,f);try{this.removeSignatureListener(a)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return a}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){const{result:e,subscription:r}=bt(t,mU);this._handleServerNotification(r,[e])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}}class Ba{constructor(t){this._keypair=void 0,this._keypair=t??dE()}static generate(){return new Ba(dE())}static fromSecretKey(t,e){if(t.byteLength!==64)throw new Error("bad secret key size");const r=t.slice(32,64);if(!e||!e.skipValidation){const i=t.slice(0,32),s=h0(i);for(let o=0;o<32;o++)if(r[o]!==s[o])throw new Error("provided secretKey is invalid")}return new Ba({publicKey:r,secretKey:t})}static fromSeed(t){const e=h0(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),new Ba({publicKey:e,secretKey:r})}get publicKey(){return new pt(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const ks=Object.freeze({CreateLookupTable:{index:0,layout:Nt([Ot("instruction"),hu("recentSlot"),me("bumpSeed")])},FreezeLookupTable:{index:1,layout:Nt([Ot("instruction")])},ExtendLookupTable:{index:2,layout:Nt([Ot("instruction"),hu(),jn(ce(),bo(Ot(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:Nt([Ot("instruction")])},CloseLookupTable:{index:4,layout:Nt([Ot("instruction")])}});class GU{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Ot("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(ks))if(o.index==r){i=s;break}if(!i)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return i}static decodeCreateLookupTable(t){this.checkProgramId(t.programId),this.checkKeysLength(t.keys,4);const{recentSlot:e}=ke(ks.CreateLookupTable,t.data);return{authority:t.keys[1].pubkey,payer:t.keys[2].pubkey,recentSlot:Number(e)}}static decodeExtendLookupTable(t){if(this.checkProgramId(t.programId),t.keys.length<2)throw new Error(`invalid instruction; found ${t.keys.length} keys, expected at least 2`);const{addresses:e}=ke(ks.ExtendLookupTable,t.data);return{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,payer:t.keys.length>2?t.keys[2].pubkey:void 0,addresses:e.map(r=>new pt(r))}}static decodeCloseLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,3),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,recipient:t.keys[2].pubkey}}static decodeFreezeLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static decodeDeactivateLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(Wy.programId))throw new Error("invalid instruction; programId is not AddressLookupTable Program")}static checkKeysLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}class Wy{constructor(){}static createLookupTable(t){const[e,r]=pt.findProgramAddressSync([t.authority.toBuffer(),GA(BigInt(t.recentSlot),8)],this.programId),i=ks.CreateLookupTable,s=pe(i,{recentSlot:BigInt(t.recentSlot),bumpSeed:r}),o=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Cn.programId,isSigner:!1,isWritable:!1}];return[new Me({programId:this.programId,keys:o,data:s}),e]}static freezeLookupTable(t){const e=ks.FreezeLookupTable,r=pe(e),i=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Me({programId:this.programId,keys:i,data:r})}static extendLookupTable(t){const e=ks.ExtendLookupTable,r=pe(e,{addresses:t.addresses.map(s=>s.toBytes())}),i=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&i.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Cn.programId,isSigner:!1,isWritable:!1}),new Me({programId:this.programId,keys:i,data:r})}static deactivateLookupTable(t){const e=ks.DeactivateLookupTable,r=pe(e),i=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Me({programId:this.programId,keys:i,data:r})}static closeLookupTable(t){const e=ks.CloseLookupTable,r=pe(e),i=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new Me({programId:this.programId,keys:i,data:r})}}Wy.programId=new pt("AddressLookupTab1e1111111111111111111111111");class VU{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=me("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(Zi))if(o.index==r){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return i}static decodeRequestUnits(t){this.checkProgramId(t.programId);const{units:e,additionalFee:r}=ke(Zi.RequestUnits,t.data);return{units:e,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);const{bytes:e}=ke(Zi.RequestHeapFrame,t.data);return{bytes:e}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);const{units:e}=ke(Zi.SetComputeUnitLimit,t.data);return{units:e}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);const{microLamports:e}=ke(Zi.SetComputeUnitPrice,t.data);return{microLamports:e}}static checkProgramId(t){if(!t.equals(Zy.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}}const Zi=Object.freeze({RequestUnits:{index:0,layout:Nt([me("instruction"),Ot("units"),Ot("additionalFee")])},RequestHeapFrame:{index:1,layout:Nt([me("instruction"),Ot("bytes")])},SetComputeUnitLimit:{index:2,layout:Nt([me("instruction"),Ot("units")])},SetComputeUnitPrice:{index:3,layout:Nt([me("instruction"),hu("microLamports")])}});class Zy{constructor(){}static requestUnits(t){const e=Zi.RequestUnits,r=pe(e,t);return new Me({keys:[],programId:this.programId,data:r})}static requestHeapFrame(t){const e=Zi.RequestHeapFrame,r=pe(e,t);return new Me({keys:[],programId:this.programId,data:r})}static setComputeUnitLimit(t){const e=Zi.SetComputeUnitLimit,r=pe(e,t);return new Me({keys:[],programId:this.programId,data:r})}static setComputeUnitPrice(t){const e=Zi.SetComputeUnitPrice,r=pe(e,{microLamports:BigInt(t.microLamports)});return new Me({keys:[],programId:this.programId,data:r})}}Zy.programId=new pt("ComputeBudget111111111111111111111111111111");const GE=64,VE=32,KE=64,jE=Nt([me("numSignatures"),me("padding"),ti("signatureOffset"),ti("signatureInstructionIndex"),ti("publicKeyOffset"),ti("publicKeyInstructionIndex"),ti("messageDataOffset"),ti("messageDataSize"),ti("messageInstructionIndex")]);class E0{constructor(){}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:i,instructionIndex:s}=t;_e(e.length===VE,`Public Key must be ${VE} bytes but received ${e.length} bytes`),_e(i.length===KE,`Signature must be ${KE} bytes but received ${i.length} bytes`);const o=jE.span,a=o+e.length,u=a+i.length,f=1,h=kt.alloc(u+r.length),y=s??65535;return jE.encode({numSignatures:f,padding:0,signatureOffset:a,signatureInstructionIndex:y,publicKeyOffset:o,publicKeyInstructionIndex:y,messageDataOffset:u,messageDataSize:r.length,messageInstructionIndex:y},h),h.fill(e,o),h.fill(i,a),h.fill(r,u),new Me({keys:[],programId:E0.programId,data:h})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:i}=t;_e(e.length===GE,`Private key must be ${GE} bytes but received ${e.length} bytes`);try{const s=Ba.fromSecretKey(e),o=s.publicKey.toBytes(),a=Sy(r,s.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:a,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}}E0.programId=new pt("Ed25519SigVerify111111111111111111111111111");const KU=(n,t)=>{const e=f0.sign(n,t);return[e.toCompactRawBytes(),e.recovery]};f0.utils.isValidPrivateKey;const jU=f0.getPublicKey,WE=32,qy=20,ZE=64,WU=11,Qy=Nt([me("numSignatures"),ti("signatureOffset"),me("signatureInstructionIndex"),ti("ethAddressOffset"),me("ethAddressInstructionIndex"),ti("messageDataOffset"),ti("messageDataSize"),me("messageInstructionIndex"),We(20,"ethAddress"),We(64,"signature"),me("recoveryId")]);class pu{constructor(){}static publicKeyToEthAddress(t){_e(t.length===ZE,`Public key must be ${ZE} bytes but received ${t.length} bytes`);try{return kt.from(sE(te(t))).slice(-qy)}catch(e){throw new Error(`Error constructing Ethereum address: ${e}`)}}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:i,recoveryId:s,instructionIndex:o}=t;return pu.createInstructionWithEthAddress({ethAddress:pu.publicKeyToEthAddress(e),message:r,signature:i,recoveryId:s,instructionIndex:o})}static createInstructionWithEthAddress(t){const{ethAddress:e,message:r,signature:i,recoveryId:s,instructionIndex:o=0}=t;let a;typeof e=="string"?e.startsWith("0x")?a=kt.from(e.substr(2),"hex"):a=kt.from(e,"hex"):a=e,_e(a.length===qy,`Address must be ${qy} bytes but received ${a.length} bytes`);const u=1+WU,f=u,h=u+a.length,y=h+i.length+1,_=1,w=kt.alloc(Qy.span+r.length);return Qy.encode({numSignatures:_,signatureOffset:h,signatureInstructionIndex:o,ethAddressOffset:f,ethAddressInstructionIndex:o,messageDataOffset:y,messageDataSize:r.length,messageInstructionIndex:o,signature:te(i),ethAddress:te(a),recoveryId:s},w),w.fill(te(r),Qy.span),new Me({keys:[],programId:pu.programId,data:w})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:i}=t;_e(e.length===WE,`Private key must be ${WE} bytes but received ${e.length} bytes`);try{const s=te(e),o=jU(s,!1).slice(1),a=kt.from(sE(te(r))),[u,f]=KU(a,s);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:u,recoveryId:f,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}}pu.programId=new pt("KeccakSecp256k11111111111111111111111111111");var qE;const QE=new pt("StakeConfig11111111111111111111111111111111");class YE{constructor(t,e){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=e}}class Pf{constructor(t,e,r){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=t,this.epoch=e,this.custodian=r}}qE=Pf,Pf.default=new qE(0,0,pt.default);class ZU{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Ot("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(Ln))if(o.index==r){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a StakeInstruction");return i}static decodeInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e,lockup:r}=ke(Ln.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new YE(new pt(e.staker),new pt(e.withdrawer)),lockup:new Pf(r.unixTimestamp,r.epoch,new pt(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),ke(Ln.Delegate,t.data),{stakePubkey:t.keys[0].pubkey,votePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[5].pubkey}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,stakeAuthorizationType:r}=ke(Ln.Authorize,t.data),i={stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new pt(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(i.custodianPubkey=t.keys[3].pubkey),i}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{newAuthorized:e,stakeAuthorizationType:r,authoritySeed:i,authorityOwner:s}=ke(Ln.AuthorizeWithSeed,t.data),o={stakePubkey:t.keys[0].pubkey,authorityBase:t.keys[1].pubkey,authoritySeed:i,authorityOwner:new pt(s),newAuthorizedPubkey:new pt(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(o.custodianPubkey=t.keys[3].pubkey),o}static decodeSplit(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=ke(Ln.Split,t.data);return{stakePubkey:t.keys[0].pubkey,splitStakePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[2].pubkey,lamports:e}}static decodeMerge(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),ke(Ln.Merge,t.data),{stakePubkey:t.keys[0].pubkey,sourceStakePubKey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=ke(Ln.Withdraw,t.data),r={stakePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e};return t.keys.length>5&&(r.custodianPubkey=t.keys[5].pubkey),r}static decodeDeactivate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),ke(Ln.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(v0.programId))throw new Error("invalid instruction; programId is not StakeProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const Ln=Object.freeze({Initialize:{index:0,layout:Nt([Ot("instruction"),eL(),nL()])},Authorize:{index:1,layout:Nt([Ot("instruction"),ce("newAuthorized"),Ot("stakeAuthorizationType")])},Delegate:{index:2,layout:Nt([Ot("instruction")])},Split:{index:3,layout:Nt([Ot("instruction"),Fr("lamports")])},Withdraw:{index:4,layout:Nt([Ot("instruction"),Fr("lamports")])},Deactivate:{index:5,layout:Nt([Ot("instruction")])},Merge:{index:7,layout:Nt([Ot("instruction")])},AuthorizeWithSeed:{index:8,layout:Nt([Ot("instruction"),ce("newAuthorized"),Ot("stakeAuthorizationType"),Sa("authoritySeed"),ce("authorityOwner")])}}),qU=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class v0{constructor(){}static initialize(t){const{stakePubkey:e,authorized:r,lockup:i}=t,s=i||Pf.default,o=Ln.Initialize,a=pe(o,{authorized:{staker:te(r.staker.toBuffer()),withdrawer:te(r.withdrawer.toBuffer())},lockup:{unixTimestamp:s.unixTimestamp,epoch:s.epoch,custodian:te(s.custodian.toBuffer())}}),u={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:fu,isSigner:!1,isWritable:!1}],programId:this.programId,data:a};return new Me(u)}static createAccountWithSeed(t){const e=new Ne;e.add(Cn.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:i,lockup:s}=t;return e.add(this.initialize({stakePubkey:r,authorized:i,lockup:s}))}static createAccount(t){const e=new Ne;e.add(Cn.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:i,lockup:s}=t;return e.add(this.initialize({stakePubkey:r,authorized:i,lockup:s}))}static delegate(t){const{stakePubkey:e,authorizedPubkey:r,votePubkey:i}=t,s=Ln.Delegate,o=pe(s);return new Ne().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:y0,isSigner:!1,isWritable:!1},{pubkey:QE,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(t){const{stakePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:i,stakeAuthorizationType:s,custodianPubkey:o}=t,a=Ln.Authorize,u=pe(a,{newAuthorized:te(i.toBuffer()),stakeAuthorizationType:s.index}),f=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Wi,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&f.push({pubkey:o,isSigner:!0,isWritable:!1}),new Ne().add({keys:f,programId:this.programId,data:u})}static authorizeWithSeed(t){const{stakePubkey:e,authorityBase:r,authoritySeed:i,authorityOwner:s,newAuthorizedPubkey:o,stakeAuthorizationType:a,custodianPubkey:u}=t,f=Ln.AuthorizeWithSeed,h=pe(f,{newAuthorized:te(o.toBuffer()),stakeAuthorizationType:a.index,authoritySeed:i,authorityOwner:te(s.toBuffer())}),y=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:Wi,isSigner:!1,isWritable:!1}];return u&&y.push({pubkey:u,isSigner:!0,isWritable:!1}),new Ne().add({keys:y,programId:this.programId,data:h})}static splitInstruction(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:i,lamports:s}=t,o=Ln.Split,a=pe(o,{lamports:s});return new Me({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:a})}static split(t,e){const r=new Ne;return r.add(Cn.createAccount({fromPubkey:t.authorizedPubkey,newAccountPubkey:t.splitStakePubkey,lamports:e,space:this.space,programId:this.programId})),r.add(this.splitInstruction(t))}static splitWithSeed(t,e){const{stakePubkey:r,authorizedPubkey:i,splitStakePubkey:s,basePubkey:o,seed:a,lamports:u}=t,f=new Ne;return f.add(Cn.allocate({accountPubkey:s,basePubkey:o,seed:a,space:this.space,programId:this.programId})),e&&e>0&&f.add(Cn.transfer({fromPubkey:t.authorizedPubkey,toPubkey:s,lamports:e})),f.add(this.splitInstruction({stakePubkey:r,authorizedPubkey:i,splitStakePubkey:s,lamports:u}))}static merge(t){const{stakePubkey:e,sourceStakePubKey:r,authorizedPubkey:i}=t,s=Ln.Merge,o=pe(s);return new Ne().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:y0,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(t){const{stakePubkey:e,authorizedPubkey:r,toPubkey:i,lamports:s,custodianPubkey:o}=t,a=Ln.Withdraw,u=pe(a,{lamports:s}),f=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:y0,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&f.push({pubkey:o,isSigner:!0,isWritable:!1}),new Ne().add({keys:f,programId:this.programId,data:u})}static deactivate(t){const{stakePubkey:e,authorizedPubkey:r}=t,i=Ln.Deactivate,s=pe(i);return new Ne().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}}v0.programId=new pt("Stake11111111111111111111111111111111111111"),v0.space=200;class JE{constructor(t,e,r,i){this.nodePubkey=void 0,this.authorizedVoter=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.nodePubkey=t,this.authorizedVoter=e,this.authorizedWithdrawer=r,this.commission=i}}class QU{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Ot("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(qi))if(o.index==r){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a VoteInstruction");return i}static decodeInitializeAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,4);const{voteInit:e}=ke(qi.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new JE(new pt(e.nodePubkey),new pt(e.authorizedVoter),new pt(e.authorizedWithdrawer),e.commission)}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,voteAuthorizationType:r}=ke(qi.Authorize,t.data);return{votePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new pt(e),voteAuthorizationType:{index:r}}}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:e,currentAuthorityDerivedKeySeed:r,newAuthorized:i,voteAuthorizationType:s}}=ke(qi.AuthorizeWithSeed,t.data);return{currentAuthorityDerivedKeyBasePubkey:t.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new pt(e),currentAuthorityDerivedKeySeed:r,newAuthorizedPubkey:new pt(i),voteAuthorizationType:{index:s},votePubkey:t.keys[0].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=ke(qi.Withdraw,t.data);return{votePubkey:t.keys[0].pubkey,authorizedWithdrawerPubkey:t.keys[2].pubkey,lamports:e,toPubkey:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(gu.programId))throw new Error("invalid instruction; programId is not VoteProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const qi=Object.freeze({InitializeAccount:{index:0,layout:Nt([Ot("instruction"),rL()])},Authorize:{index:1,layout:Nt([Ot("instruction"),ce("newAuthorized"),Ot("voteAuthorizationType")])},Withdraw:{index:3,layout:Nt([Ot("instruction"),Fr("lamports")])},UpdateValidatorIdentity:{index:4,layout:Nt([Ot("instruction")])},AuthorizeWithSeed:{index:10,layout:Nt([Ot("instruction"),iL()])}}),YU=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class gu{constructor(){}static initializeAccount(t){const{votePubkey:e,nodePubkey:r,voteInit:i}=t,s=qi.InitializeAccount,o=pe(s,{voteInit:{nodePubkey:te(i.nodePubkey.toBuffer()),authorizedVoter:te(i.authorizedVoter.toBuffer()),authorizedWithdrawer:te(i.authorizedWithdrawer.toBuffer()),commission:i.commission}}),a={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:fu,isSigner:!1,isWritable:!1},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o};return new Me(a)}static createAccount(t){const e=new Ne;return e.add(Cn.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.votePubkey,lamports:t.lamports,space:this.space,programId:this.programId})),e.add(this.initializeAccount({votePubkey:t.votePubkey,nodePubkey:t.voteInit.nodePubkey,voteInit:t.voteInit}))}static authorize(t){const{votePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:i,voteAuthorizationType:s}=t,o=qi.Authorize,a=pe(o,{newAuthorized:te(i.toBuffer()),voteAuthorizationType:s.index}),u=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new Ne().add({keys:u,programId:this.programId,data:a})}static authorizeWithSeed(t){const{currentAuthorityDerivedKeyBasePubkey:e,currentAuthorityDerivedKeyOwnerPubkey:r,currentAuthorityDerivedKeySeed:i,newAuthorizedPubkey:s,voteAuthorizationType:o,votePubkey:a}=t,u=qi.AuthorizeWithSeed,f=pe(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:te(r.toBuffer()),currentAuthorityDerivedKeySeed:i,newAuthorized:te(s.toBuffer()),voteAuthorizationType:o.index}}),h=[{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:Wi,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1}];return new Ne().add({keys:h,programId:this.programId,data:f})}static withdraw(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,lamports:i,toPubkey:s}=t,o=qi.Withdraw,a=pe(o,{lamports:i}),u=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return new Ne().add({keys:u,programId:this.programId,data:a})}static safeWithdraw(t,e,r){if(t.lamports>e-r)throw new Error("Withdraw will leave vote account with insufficient funds.");return gu.withdraw(t)}static updateValidatorIdentity(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,nodePubkey:i}=t,s=qi.UpdateValidatorIdentity,o=pe(s),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new Ne().add({keys:a,programId:this.programId,data:o})}}gu.programId=new pt("Vote111111111111111111111111111111111111111"),gu.space=3762;const XE=new pt("Va1idator1nfo111111111111111111111111111111"),JU=ft({name:mt(),website:Dt(mt()),details:Dt(mt()),iconUrl:Dt(mt()),keybaseUsername:Dt(mt())});class Yy{constructor(t,e){this.key=void 0,this.info=void 0,this.key=t,this.info=e}static fromConfigData(t){let e=[...t];if(Rr(e)!==2)return null;const i=[];for(let s=0;s<2;s++){const o=new pt(Ir(e,0,Ki)),a=ji(e)===1;i.push({publicKey:o,isSigner:a})}if(i[0].publicKey.equals(XE)&&i[1].isSigner){const s=Sa().decode(kt.from(e)),o=JSON.parse(s);return KA(o,JU),new Yy(i[1].publicKey,o)}return null}}const XU=new pt("Vote111111111111111111111111111111111111111"),tD=Nt([ce("nodePubkey"),ce("authorizedWithdrawer"),me("commission"),Kn(),jn(Nt([Kn("slot"),Ot("confirmationCount")]),bo(Ot(),-8),"votes"),me("rootSlotValid"),Kn("rootSlot"),Kn(),jn(Nt([Kn("epoch"),ce("authorizedVoter")]),bo(Ot(),-8),"authorizedVoters"),Nt([jn(Nt([ce("authorizedPubkey"),Kn("epochOfLastAuthorizedSwitch"),Kn("targetEpoch")]),32,"buf"),Kn("idx"),me("isEmpty")],"priorVoters"),Kn(),jn(Nt([Kn("epoch"),Kn("credits"),Kn("prevCredits")]),bo(Ot(),-8),"epochCredits"),Nt([Kn("slot"),Kn("timestamp")],"lastTimestamp")]);class Jy{constructor(t){this.nodePubkey=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.rootSlot=void 0,this.votes=void 0,this.authorizedVoters=void 0,this.priorVoters=void 0,this.epochCredits=void 0,this.lastTimestamp=void 0,this.nodePubkey=t.nodePubkey,this.authorizedWithdrawer=t.authorizedWithdrawer,this.commission=t.commission,this.rootSlot=t.rootSlot,this.votes=t.votes,this.authorizedVoters=t.authorizedVoters,this.priorVoters=t.priorVoters,this.epochCredits=t.epochCredits,this.lastTimestamp=t.lastTimestamp}static fromAccountData(t){const r=tD.decode(te(t),4);let i=r.rootSlot;return r.rootSlotValid||(i=null),new Jy({nodePubkey:new pt(r.nodePubkey),authorizedWithdrawer:new pt(r.authorizedWithdrawer),commission:r.commission,votes:r.votes,rootSlot:i,authorizedVoters:r.authorizedVoters.map(eD),priorVoters:nD(r.priorVoters),epochCredits:r.epochCredits,lastTimestamp:r.lastTimestamp})}}function eD({authorizedVoter:n,epoch:t}){return{epoch:t,authorizedVoter:new pt(n)}}function tv({authorizedPubkey:n,epochOfLastAuthorizedSwitch:t,targetEpoch:e}){return{authorizedPubkey:new pt(n),epochOfLastAuthorizedSwitch:t,targetEpoch:e}}function nD({buf:n,idx:t,isEmpty:e}){return e?[]:[...n.slice(t+1).map(tv),...n.slice(0,t).map(tv)]}const ev={http:{devnet:"http://api.devnet.solana.com",testnet:"http://api.testnet.solana.com","mainnet-beta":"http://api.mainnet-beta.solana.com/"},https:{devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com","mainnet-beta":"https://api.mainnet-beta.solana.com/"}};function rD(n,t){const e=t===!1?"http":"https";if(!n)return ev[e].devnet;const r=ev[e][n];if(!r)throw new Error(`Unknown ${e} cluster: ${n}`);return r}async function iD(n,t,e,r){let i,s;e&&Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")||e&&Object.prototype.hasOwnProperty.call(e,"nonceValue")?(i=e,s=r):s=e;const o=s&&{skipPreflight:s.skipPreflight,preflightCommitment:s.preflightCommitment||s.commitment,minContextSlot:s.minContextSlot},a=await n.sendRawTransaction(t,o),u=s&&s.commitment,h=(await(i?n.confirmTransaction(i,u):n.confirmTransaction(a,u))).value;if(h.err)throw a!=null?new Eo({action:o!=null&&o.skipPreflight?"send":"simulate",signature:a,transactionMessage:`Status: (${JSON.stringify(h)})`}):new Error(`Raw transaction ${a} failed (${JSON.stringify(h)})`);return a}const sD=Object.freeze(Object.defineProperty({__proto__:null,Account:JM,AddressLookupTableAccount:Dy,AddressLookupTableInstruction:GU,AddressLookupTableProgram:Wy,Authorized:YE,BLOCKHASH_CACHE_TIMEOUT_MS:kE,BPF_LOADER_DEPRECATED_PROGRAM_ID:XM,BPF_LOADER_PROGRAM_ID:gL,BpfLoader:yL,COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:Zi,ComputeBudgetInstruction:VU,ComputeBudgetProgram:Zy,Connection:zE,Ed25519Program:E0,Enum:QM,EpochSchedule:RE,FeeCalculatorLayout:AE,Keypair:Ba,LAMPORTS_PER_SOL:1e9,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:ks,Loader:Oa,Lockup:Pf,MAX_SEED_LENGTH:yE,Message:Ai,MessageAccountKeys:Nf,MessageV0:ka,NONCE_ACCOUNT_LENGTH:My,NonceAccount:m0,PACKET_DATA_SIZE:Ao,PUBLIC_KEY_LENGTH:Ki,PublicKey:pt,SIGNATURE_LENGTH_IN_BYTES:Of,SOLANA_SCHEMA:Tf,STAKE_CONFIG_ID:QE,STAKE_INSTRUCTION_LAYOUTS:Ln,SYSTEM_INSTRUCTION_LAYOUTS:He,SYSVAR_CLOCK_PUBKEY:Wi,SYSVAR_EPOCH_SCHEDULE_PUBKEY:oL,SYSVAR_INSTRUCTIONS_PUBKEY:aL,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:g0,SYSVAR_RENT_PUBKEY:fu,SYSVAR_REWARDS_PUBKEY:cL,SYSVAR_SLOT_HASHES_PUBKEY:uL,SYSVAR_SLOT_HISTORY_PUBKEY:lL,SYSVAR_STAKE_HISTORY_PUBKEY:y0,Secp256k1Program:pu,SendTransactionError:Eo,SolanaJSONRPCError:Mt,SolanaJSONRPCErrorCode:fL,StakeAuthorizationLayout:qU,StakeInstruction:ZU,StakeProgram:v0,Struct:ky,SystemInstruction:dL,SystemProgram:Cn,Transaction:Ne,TransactionExpiredBlockheightExceededError:Ty,TransactionExpiredNonceInvalidError:lu,TransactionExpiredTimeoutError:Oy,TransactionInstruction:Me,TransactionMessage:Cy,TransactionStatus:Ss,VALIDATOR_INFO_KEY:XE,VERSION_PREFIX_MASK:d0,VOTE_PROGRAM_ID:XU,ValidatorInfo:Yy,VersionedMessage:Ny,VersionedTransaction:By,VoteAccount:Jy,VoteAuthorizationLayout:YU,VoteInit:JE,VoteInstruction:QU,VoteProgram:gu,clusterApiUrl:rD,sendAndConfirmRawTransaction:iD,sendAndConfirmTransaction:Py},Symbol.toStringTag,{value:"Module"}));var Xy={exports:{}};const oD=/[\p{Lu}]/u,aD=/[\p{Ll}]/u,nv=/^[\p{Lu}](?![\p{Lu}])/gu,rv=/([\p{Alpha}\p{N}_]|$)/u,iv=/[_.\- ]+/,cD=new RegExp("^"+iv.source),sv=new RegExp(iv.source+rv.source,"gu"),ov=new RegExp("\\d+"+rv.source,"gu"),uD=(n,t,e)=>{let r=!1,i=!1,s=!1;for(let o=0;o<n.length;o++){const a=n[o];r&&oD.test(a)?(n=n.slice(0,o)+"-"+n.slice(o),r=!1,s=i,i=!0,o++):i&&s&&aD.test(a)?(n=n.slice(0,o-1)+"-"+n.slice(o-1),s=i,i=!1,r=!0):(r=t(a)===a&&e(a)!==a,s=i,i=e(a)===a&&t(a)!==a)}return n},lD=(n,t)=>(nv.lastIndex=0,n.replace(nv,e=>t(e))),fD=(n,t)=>(sv.lastIndex=0,ov.lastIndex=0,n.replace(sv,(e,r)=>t(r)).replace(ov,e=>t(e))),av=(n,t)=>{if(!(typeof n=="string"||Array.isArray(n)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(n)?n=n.map(s=>s.trim()).filter(s=>s.length).join("-"):n=n.trim(),n.length===0)return"";const e=t.locale===!1?s=>s.toLowerCase():s=>s.toLocaleLowerCase(t.locale),r=t.locale===!1?s=>s.toUpperCase():s=>s.toLocaleUpperCase(t.locale);return n.length===1?t.pascalCase?r(n):e(n):(n!==e(n)&&(n=uD(n,e,r)),n=n.replace(cD,""),t.preserveConsecutiveUppercase?n=lD(n,e):n=e(n),t.pascalCase&&(n=r(n.charAt(0))+n.slice(1)),fD(n,r))};Xy.exports=av,Xy.exports.default=av;var hD=Xy.exports;const dD=Mr(hD);var Yt={},Rt={};let Ce=class{constructor(t,e){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=e}makeDestinationObject(){return{}}decode(t,e){throw new Error("Layout is abstract")}encode(t,e,r){throw new Error("Layout is abstract")}getSpan(t,e){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){const e=Object.create(this.constructor.prototype);return Object.assign(e,this),e.property=t,e}fromArray(t){}};Rt.Layout=Ce;function tm(n,t){return t.property?n+"["+t.property+"]":n}Rt.nameWithProperty=tm;function pD(n,t){if(typeof n!="function")throw new TypeError("Class must be constructor");if(n.hasOwnProperty("layout_"))throw new Error("Class is already bound to a layout");if(!(t&&t instanceof Ce))throw new TypeError("layout must be a Layout");if(t.hasOwnProperty("boundConstructor_"))throw new Error("layout is already bound to a constructor");n.layout_=t,t.boundConstructor_=n,t.makeDestinationObject=()=>new n,Object.defineProperty(n.prototype,"encode",{value:function(e,r){return t.encode(this,e,r)},writable:!0}),Object.defineProperty(n,"decode",{value:function(e,r){return t.decode(e,r)},writable:!0})}Rt.bindConstructorLayout=pD;let Sr=class extends Ce{isCount(){throw new Error("ExternalLayout is abstract")}};class cv extends Sr{constructor(t,e){if(t===void 0&&(t=1),!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,e),this.elementSpan=t}isCount(){return!0}decode(t,e){e===void 0&&(e=0);const r=t.length-e;return Math.floor(r/this.elementSpan)}encode(t,e,r){return 0}}let em=class extends Sr{constructor(t,e,r){if(!(t instanceof Ce))throw new TypeError("layout must be a Layout");if(e===void 0)e=0;else if(!Number.isInteger(e))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=e}isCount(){return this.layout instanceof Qi||this.layout instanceof Ts}decode(t,e){return e===void 0&&(e=0),this.layout.decode(t,e+this.offset)}encode(t,e,r){return r===void 0&&(r=0),this.layout.encode(t,e,r+this.offset)}},Qi=class extends Ce{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e){return e===void 0&&(e=0),t.readUIntLE(e,this.span)}encode(t,e,r){return r===void 0&&(r=0),e.writeUIntLE(t,r,this.span),this.span}},Ts=class extends Ce{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e){return e===void 0&&(e=0),t.readUIntBE(e,this.span)}encode(t,e,r){return r===void 0&&(r=0),e.writeUIntBE(t,r,this.span),this.span}};class Pa extends Ce{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e){return e===void 0&&(e=0),t.readIntLE(e,this.span)}encode(t,e,r){return r===void 0&&(r=0),e.writeIntLE(t,r,this.span),this.span}}class yu extends Ce{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e){return e===void 0&&(e=0),t.readIntBE(e,this.span)}encode(t,e,r){return r===void 0&&(r=0),e.writeIntBE(t,r,this.span),this.span}}const nm=Math.pow(2,32);function x0(n){const t=Math.floor(n/nm),e=n-t*nm;return{hi32:t,lo32:e}}function R0(n,t){return n*nm+t}let gD=class extends Ce{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readUInt32LE(e+4);return R0(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=x0(t);return e.writeUInt32LE(i.lo32,r),e.writeUInt32LE(i.hi32,r+4),8}};class yD extends Ce{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32BE(e),i=t.readUInt32BE(e+4);return R0(r,i)}encode(t,e,r){r===void 0&&(r=0);const i=x0(t);return e.writeUInt32BE(i.hi32,r),e.writeUInt32BE(i.lo32,r+4),8}}let mD=class extends Ce{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readInt32LE(e+4);return R0(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=x0(t);return e.writeUInt32LE(i.lo32,r),e.writeInt32LE(i.hi32,r+4),8}};class wD extends Ce{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readInt32BE(e),i=t.readUInt32BE(e+4);return R0(r,i)}encode(t,e,r){r===void 0&&(r=0);const i=x0(t);return e.writeInt32BE(i.hi32,r),e.writeUInt32BE(i.lo32,r+4),8}}class uv extends Ce{constructor(t){super(4,t)}decode(t,e){return e===void 0&&(e=0),t.readFloatLE(e)}encode(t,e,r){return r===void 0&&(r=0),e.writeFloatLE(t,r),4}}class lv extends Ce{constructor(t){super(4,t)}decode(t,e){return e===void 0&&(e=0),t.readFloatBE(e)}encode(t,e,r){return r===void 0&&(r=0),e.writeFloatBE(t,r),4}}class fv extends Ce{constructor(t){super(8,t)}decode(t,e){return e===void 0&&(e=0),t.readDoubleLE(e)}encode(t,e,r){return r===void 0&&(r=0),e.writeDoubleLE(t,r),8}}class hv extends Ce{constructor(t){super(8,t)}decode(t,e){return e===void 0&&(e=0),t.readDoubleBE(e)}encode(t,e,r){return r===void 0&&(r=0),e.writeDoubleBE(t,r),8}}class dv extends Ce{constructor(t,e,r){if(!(t instanceof Ce))throw new TypeError("elementLayout must be a Layout");if(!(e instanceof Sr&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let i=-1;!(e instanceof Sr)&&0<t.span&&(i=e*t.span),super(i,r),this.elementLayout=t,this.count=e}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);let r=0,i=this.count;if(i instanceof Sr&&(i=i.decode(t,e)),0<this.elementLayout.span)r=i*this.elementLayout.span;else{let s=0;for(;s<i;)r+=this.elementLayout.getSpan(t,e+r),++s}return r}decode(t,e){e===void 0&&(e=0);const r=[];let i=0,s=this.count;for(s instanceof Sr&&(s=s.decode(t,e));i<s;)r.push(this.elementLayout.decode(t,e)),e+=this.elementLayout.getSpan(t,e),i+=1;return r}encode(t,e,r){r===void 0&&(r=0);const i=this.elementLayout,s=t.reduce((o,a)=>o+i.encode(a,e,r+o),0);return this.count instanceof Sr&&this.count.encode(t.length,e,r),s}}let pv=class extends Ce{constructor(t,e,r){if(!(Array.isArray(t)&&t.reduce((s,o)=>s&&o instanceof Ce,!0)))throw new TypeError("fields must be array of Layout instances");typeof e=="boolean"&&r===void 0&&(r=e,e=void 0);for(const s of t)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let i=-1;try{i=t.reduce((s,o)=>s+o.getSpan(),0)}catch{}super(i,e),this.fields=t,this.decodePrefixes=!!r}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);let r=0;try{r=this.fields.reduce((i,s)=>{const o=s.getSpan(t,e);return e+=o,i+o},0)}catch{throw new RangeError("indeterminate span")}return r}decode(t,e){e===void 0&&(e=0);const r=this.makeDestinationObject();for(const i of this.fields)if(i.property!==void 0&&(r[i.property]=i.decode(t,e)),e+=i.getSpan(t,e),this.decodePrefixes&&t.length===e)break;return r}encode(t,e,r){r===void 0&&(r=0);const i=r;let s=0,o=0;for(const a of this.fields){let u=a.span;if(o=0<u?u:0,a.property!==void 0){const f=t[a.property];f!==void 0&&(o=a.encode(f,e,r),0>u&&(u=a.getSpan(e,r)))}s=r,r+=u}return s+o-i}fromArray(t){const e=this.makeDestinationObject();for(const r of this.fields)r.property!==void 0&&0<t.length&&(e[r.property]=t.shift());return e}layoutFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}offsetOf(t){if(typeof t!="string")throw new TypeError("property must be string");let e=0;for(const r of this.fields){if(r.property===t)return e;0>r.span?e=-1:0<=e&&(e+=r.span)}}},rm=class{constructor(t){this.property=t}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}},I0=class extends rm{constructor(t,e){if(!(t instanceof Sr&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(e||t.property||"variant"),this.layout=t}decode(t,e){return this.layout.decode(t,e)}encode(t,e,r){return this.layout.encode(t,e,r)}},im=class extends Ce{constructor(t,e,r){const i=t instanceof Qi||t instanceof Ts;if(i)t=new I0(new em(t));else if(t instanceof Sr&&t.isCount())t=new I0(t);else if(!(t instanceof rm))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(e===void 0&&(e=null),!(e===null||e instanceof Ce))throw new TypeError("defaultLayout must be null or a Layout");if(e!==null){if(0>e.span)throw new Error("defaultLayout must have constant span");e.property===void 0&&(e=e.replicate("content"))}let s=-1;e&&(s=e.span,0<=s&&i&&(s+=t.layout.span)),super(s,r),this.discriminator=t,this.usesPrefixDiscriminator=i,this.defaultLayout=e,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return o(a)},this.configGetSourceVariant=function(a){o=a.bind(this)}}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);const r=this.getVariant(t,e);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,e)}defaultGetSourceVariant(t){if(t.hasOwnProperty(this.discriminator.property)){if(this.defaultLayout&&t.hasOwnProperty(this.defaultLayout.property))return;const e=this.registry[t[this.discriminator.property]];if(e&&(!e.layout||t.hasOwnProperty(e.property)))return e}else for(const e in this.registry){const r=this.registry[e];if(t.hasOwnProperty(r.property))return r}throw new Error("unable to infer src variant")}decode(t,e){e===void 0&&(e=0);let r;const i=this.discriminator,s=i.decode(t,e);let o=this.registry[s];if(o===void 0){let a=0;o=this.defaultLayout,this.usesPrefixDiscriminator&&(a=i.layout.span),r=this.makeDestinationObject(),r[i.property]=s,r[o.property]=this.defaultLayout.decode(t,e+a)}else r=o.decode(t,e);return r}encode(t,e,r){r===void 0&&(r=0);const i=this.getSourceVariant(t);if(i===void 0){const s=this.discriminator,o=this.defaultLayout;let a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(t[s.property],e,r),a+o.encode(t[o.property],e,r+a)}return i.encode(t,e,r)}addVariant(t,e,r){const i=new gv(this,t,e,r);return this.registry[t]=i,i}getVariant(t,e){let r=t;return Zt.isBuffer(t)&&(e===void 0&&(e=0),r=this.discriminator.decode(t,e)),this.registry[r]}},gv=class extends Ce{constructor(t,e,r,i){if(!(t instanceof im))throw new TypeError("union must be a Union");if(!Number.isInteger(e)||0>e)throw new TypeError("variant must be a (non-negative) integer");if(typeof r=="string"&&i===void 0&&(i=r,r=null),r){if(!(r instanceof Ce))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof i!="string")throw new TypeError("variant must have a String property")}let s=t.span;0>t.span&&(s=r?r.span:0,0<=s&&t.usesPrefixDiscriminator&&(s+=t.discriminator.layout.span)),super(s,i),this.union=t,this.variant=e,this.layout=r||null}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);let r=0;return this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span),r+this.layout.getSpan(t,e+r)}decode(t,e){const r=this.makeDestinationObject();if(e===void 0&&(e=0),this!==this.union.getVariant(t,e))throw new Error("variant mismatch");let i=0;return this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,e+i):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,e,r){r===void 0&&(r=0);let i=0;if(this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout&&!t.hasOwnProperty(this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,e,r);let s=i;if(this.layout&&(this.layout.encode(t[this.property],e,r+i),s+=this.layout.getSpan(e,r+i),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(t){if(this.layout)return this.layout.fromArray(t)}};function mu(n){return 0>n&&(n+=4294967296),n}class sm extends Ce{constructor(t,e,r){if(!(t instanceof Qi||t instanceof Ts))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof e=="string"&&r===void 0&&(r=e,e=void 0),4<t.span)throw new RangeError("word cannot exceed 32 bits");super(t.span,r),this.word=t,this.msb=!!e,this.fields=[];let i=0;this._packedSetValue=function(s){return i=mu(s),this},this._packedGetValue=function(){return i}}decode(t,e){const r=this.makeDestinationObject();e===void 0&&(e=0);const i=this.word.decode(t,e);this._packedSetValue(i);for(const s of this.fields)s.property!==void 0&&(r[s.property]=s.decode(i));return r}encode(t,e,r){r===void 0&&(r=0);const i=this.word.decode(e,r);this._packedSetValue(i);for(const s of this.fields)if(s.property!==void 0){const o=t[s.property];o!==void 0&&s.encode(o)}return this.word.encode(this._packedGetValue(),e,r)}addField(t,e){const r=new Mf(this,t,e);return this.fields.push(r),r}addBoolean(t){const e=new yv(this,t);return this.fields.push(e),e}fieldFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}}class Mf{constructor(t,e,r){if(!(t instanceof sm))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(e)||0>=e)throw new TypeError("bits must be positive integer");const i=8*t.span,s=t.fields.reduce((o,a)=>o+a.bits,0);if(e+s>i)throw new Error("bits too long for span remainder ("+(i-s)+" of "+i+" remain)");this.container=t,this.bits=e,this.valueMask=(1<<e)-1,e===32&&(this.valueMask=4294967295),this.start=s,this.container.msb&&(this.start=i-s-e),this.wordMask=mu(this.valueMask<<this.start),this.property=r}decode(){const t=this.container._packedGetValue();return mu(t&this.wordMask)>>>this.start}encode(t){if(!Number.isInteger(t)||t!==mu(t&this.valueMask))throw new TypeError(tm("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const e=this.container._packedGetValue(),r=mu(t<<this.start);this.container._packedSetValue(mu(e&~this.wordMask)|r)}}let yv=class extends Mf{constructor(t,e){super(t,1,e)}decode(t,e){return!!Mf.prototype.decode.call(this,t,e)}encode(t){return typeof t=="boolean"&&(t=+t),Mf.prototype.encode.call(this,t)}},mv=class extends Ce{constructor(t,e){if(!(t instanceof Sr&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let r=-1;t instanceof Sr||(r=t),super(r,e),this.length=t}getSpan(t,e){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),r}decode(t,e){e===void 0&&(e=0);let r=this.span;return 0>r&&(r=this.length.decode(t,e)),t.slice(e,e+r)}encode(t,e,r){let i=this.length;if(this.length instanceof Sr&&(i=t.length),!(Zt.isBuffer(t)&&i===t.length))throw new TypeError(tm("Blob.encode",this)+" requires (length "+i+") Buffer as src");if(r+i>e.length)throw new RangeError("encoding overruns Buffer");return e.write(t.toString("hex"),r,i,"hex"),this.length instanceof Sr&&this.length.encode(i,e,r),i}};class wv extends Ce{constructor(t){super(-1,t)}getSpan(t,e){if(!Zt.isBuffer(t))throw new TypeError("b must be a Buffer");e===void 0&&(e=0);let r=e;for(;r<t.length&&t[r]!==0;)r+=1;return 1+r-e}decode(t,e,r){e===void 0&&(e=0);let i=this.getSpan(t,e);return t.slice(e,e+i-1).toString("utf-8")}encode(t,e,r){r===void 0&&(r=0),typeof t!="string"&&(t=t.toString());const i=new Zt(t,"utf8"),s=i.length;if(r+s>e.length)throw new RangeError("encoding overruns Buffer");return i.copy(e,r),e[r+s]=0,s+1}}class bv extends Ce{constructor(t,e){if(typeof t=="string"&&e===void 0&&(e=t,t=void 0),t===void 0)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,e),this.maxSpan=t}getSpan(t,e){if(!Zt.isBuffer(t))throw new TypeError("b must be a Buffer");return e===void 0&&(e=0),t.length-e}decode(t,e,r){e===void 0&&(e=0);let i=this.getSpan(t,e);if(0<=this.maxSpan&&this.maxSpan<i)throw new RangeError("text length exceeds maxSpan");return t.slice(e,e+i).toString("utf-8")}encode(t,e,r){r===void 0&&(r=0),typeof t!="string"&&(t=t.toString());const i=new Zt(t,"utf8"),s=i.length;if(0<=this.maxSpan&&this.maxSpan<s)throw new RangeError("text length exceeds maxSpan");if(r+s>e.length)throw new RangeError("encoding overruns Buffer");return i.copy(e,r),s}}class _v extends Ce{constructor(t,e){super(0,e),this.value=t}decode(t,e,r){return this.value}encode(t,e,r){return 0}}Rt.ExternalLayout=Sr,Rt.GreedyCount=cv,Rt.OffsetLayout=em,Rt.UInt=Qi,Rt.UIntBE=Ts,Rt.Int=Pa,Rt.IntBE=yu,Rt.Float=uv,Rt.FloatBE=lv,Rt.Double=fv,Rt.DoubleBE=hv,Rt.Sequence=dv,Rt.Structure=pv,Rt.UnionDiscriminator=rm,Rt.UnionLayoutDiscriminator=I0,Rt.Union=im,Rt.VariantLayout=gv,Rt.BitStructure=sm,Rt.BitField=Mf,Rt.Boolean=yv,Rt.Blob=mv,Rt.CString=wv,Rt.UTF8=bv,Rt.Constant=_v,Rt.greedy=(n,t)=>new cv(n,t),Rt.offset=(n,t,e)=>new em(n,t,e),Rt.u8=n=>new Qi(1,n),Rt.u16=n=>new Qi(2,n),Rt.u24=n=>new Qi(3,n),Rt.u32=n=>new Qi(4,n),Rt.u40=n=>new Qi(5,n),Rt.u48=n=>new Qi(6,n),Rt.nu64=n=>new gD(n),Rt.u16be=n=>new Ts(2,n),Rt.u24be=n=>new Ts(3,n),Rt.u32be=n=>new Ts(4,n),Rt.u40be=n=>new Ts(5,n),Rt.u48be=n=>new Ts(6,n),Rt.nu64be=n=>new yD(n),Rt.s8=n=>new Pa(1,n),Rt.s16=n=>new Pa(2,n),Rt.s24=n=>new Pa(3,n),Rt.s32=n=>new Pa(4,n),Rt.s40=n=>new Pa(5,n),Rt.s48=n=>new Pa(6,n),Rt.ns64=n=>new mD(n),Rt.s16be=n=>new yu(2,n),Rt.s24be=n=>new yu(3,n),Rt.s32be=n=>new yu(4,n),Rt.s40be=n=>new yu(5,n),Rt.s48be=n=>new yu(6,n),Rt.ns64be=n=>new wD(n),Rt.f32=n=>new uv(n),Rt.f32be=n=>new lv(n),Rt.f64=n=>new fv(n),Rt.f64be=n=>new hv(n),Rt.struct=(n,t,e)=>new pv(n,t,e),Rt.bits=(n,t,e)=>new sm(n,t,e),Rt.seq=(n,t,e)=>new dv(n,t,e),Rt.union=(n,t,e)=>new im(n,t,e),Rt.unionLayoutDiscriminator=(n,t)=>new I0(n,t),Rt.blob=(n,t)=>new mv(n,t),Rt.cstr=n=>new wv(n),Rt.utf8=(n,t)=>new bv(n,t),Rt.const=(n,t)=>new _v(n,t);const bD=Lc(sD);(function(n){var t=ae&&ae.__importDefault||function(ot){return ot&&ot.__esModule?ot:{default:ot}};Object.defineProperty(n,"__esModule",{value:!0}),n.struct=n.f64=n.f32=n.i32=n.u32=n.i16=n.u16=n.i8=n.u8=void 0,n.u64=a,n.i64=u,n.u128=f,n.i128=h,n.u256=y,n.i256=_,n.publicKey=R,n.option=I,n.bool=B,n.vec=G,n.tagged=W,n.vecU8=X,n.str=j,n.rustEnum=J,n.array=it,n.map=rt;const e=Rt,r=bD,i=t($g);var s=Rt;Object.defineProperty(n,"u8",{enumerable:!0,get:function(){return s.u8}}),Object.defineProperty(n,"i8",{enumerable:!0,get:function(){return s.s8}}),Object.defineProperty(n,"u16",{enumerable:!0,get:function(){return s.u16}}),Object.defineProperty(n,"i16",{enumerable:!0,get:function(){return s.s16}}),Object.defineProperty(n,"u32",{enumerable:!0,get:function(){return s.u32}}),Object.defineProperty(n,"i32",{enumerable:!0,get:function(){return s.s32}}),Object.defineProperty(n,"f32",{enumerable:!0,get:function(){return s.f32}}),Object.defineProperty(n,"f64",{enumerable:!0,get:function(){return s.f64}}),Object.defineProperty(n,"struct",{enumerable:!0,get:function(){return s.struct}});class o extends e.Layout{constructor(C,p,m){super(C,m),this.blob=(0,e.blob)(C),this.signed=p}decode(C,p=0){const m=new i.default(this.blob.decode(C,p),10,"le");return this.signed?m.fromTwos(this.span*8).clone():m}encode(C,p,m=0){return this.signed&&(C=C.toTwos(this.span*8)),this.blob.encode(C.toArrayLike(Zt,"le",this.span),p,m)}}function a(ot){return new o(8,!1,ot)}function u(ot){return new o(8,!0,ot)}function f(ot){return new o(16,!1,ot)}function h(ot){return new o(16,!0,ot)}function y(ot){return new o(32,!1,ot)}function _(ot){return new o(32,!0,ot)}class w extends e.Layout{constructor(C,p,m,v){super(C.span,v),this.layout=C,this.decoder=p,this.encoder=m}decode(C,p){return this.decoder(this.layout.decode(C,p))}encode(C,p,m){return this.layout.encode(this.encoder(C),p,m)}getSpan(C,p){return this.layout.getSpan(C,p)}}function R(ot){return new w((0,e.blob)(32),C=>new r.PublicKey(C),C=>C.toBuffer(),ot)}class T extends e.Layout{constructor(C,p){super(-1,p),this.layout=C,this.discriminator=(0,e.u8)()}encode(C,p,m=0){return C==null?this.discriminator.encode(0,p,m):(this.discriminator.encode(1,p,m),this.layout.encode(C,p,m+1)+1)}decode(C,p=0){const m=this.discriminator.decode(C,p);if(m===0)return null;if(m===1)return this.layout.decode(C,p+1);throw new Error("Invalid option "+this.property)}getSpan(C,p=0){const m=this.discriminator.decode(C,p);if(m===0)return 1;if(m===1)return this.layout.getSpan(C,p+1)+1;throw new Error("Invalid option "+this.property)}}function I(ot,C){return new T(ot,C)}function B(ot){return new w((0,e.u8)(),H,U,ot)}function H(ot){if(ot===0)return!1;if(ot===1)return!0;throw new Error("Invalid bool: "+ot)}function U(ot){return ot?1:0}function G(ot,C){const p=(0,e.u32)("length"),m=(0,e.struct)([p,(0,e.seq)(ot,(0,e.offset)(p,-p.span),"values")]);return new w(m,({values:v})=>v,v=>({values:v}),C)}function W(ot,C,p){const m=(0,e.struct)([a("tag"),C.replicate("data")]);function v({tag:k,data:N}){if(!k.eq(ot))throw new Error("Invalid tag, expected: "+ot.toString("hex")+", got: "+k.toString("hex"));return N}return new w(m,v,k=>({tag:ot,data:k}),p)}function X(ot){const C=(0,e.u32)("length"),p=(0,e.struct)([C,(0,e.blob)((0,e.offset)(C,-C.span),"data")]);return new w(p,({data:m})=>m,m=>({data:m}),ot)}function j(ot){return new w(X(),C=>C.toString("utf-8"),C=>Zt.from(C,"utf-8"),ot)}function J(ot,C,p){const m=(0,e.union)(p??(0,e.u8)(),C);return ot.forEach((v,k)=>m.addVariant(k,v,v.property)),m}function it(ot,C,p){const m=(0,e.struct)([(0,e.seq)(ot,C,"values")]);return new w(m,({values:v})=>v,v=>({values:v}),p)}class ut extends e.Layout{constructor(C,p,m){super(C.span+p.span,m),this.keyLayout=C,this.valueLayout=p}decode(C,p){p=p||0;const m=this.keyLayout.decode(C,p),v=this.valueLayout.decode(C,p+this.keyLayout.getSpan(C,p));return[m,v]}encode(C,p,m){m=m||0;const v=this.keyLayout.encode(C[0],p,m),k=this.valueLayout.encode(C[1],p,m+v);return v+k}getSpan(C,p){return this.keyLayout.getSpan(C,p)+this.valueLayout.getSpan(C,p)}}function rt(ot,C,p){const m=(0,e.u32)("length"),v=(0,e.struct)([m,(0,e.seq)(new ut(ot,C),(0,e.offset)(m,-m.span),"values")]);return new w(v,({values:k})=>new Map(k),k=>({values:Array.from(k.entries())}),p)}})(Yt);/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const _D=4,Av=0,Ev=1,AD=2;function wu(n){let t=n.length;for(;--t>=0;)n[t]=0}const ED=0,vv=1,vD=2,xD=3,RD=258,om=29,Lf=256,Uf=Lf+1+om,bu=30,am=19,xv=2*Uf+1,Ma=15,cm=16,ID=7,um=256,Rv=16,Iv=17,Sv=18,lm=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),S0=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),SD=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),kv=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),kD=512,Os=new Array((Uf+2)*2);wu(Os);const Df=new Array(bu*2);wu(Df);const Ff=new Array(kD);wu(Ff);const $f=new Array(RD-xD+1);wu($f);const fm=new Array(om);wu(fm);const k0=new Array(bu);wu(k0);function hm(n,t,e,r,i){this.static_tree=n,this.extra_bits=t,this.extra_base=e,this.elems=r,this.max_length=i,this.has_stree=n&&n.length}let Tv,Ov,Nv;function dm(n,t){this.dyn_tree=n,this.max_code=0,this.stat_desc=t}const Cv=n=>n<256?Ff[n]:Ff[256+(n>>>7)],Hf=(n,t)=>{n.pending_buf[n.pending++]=t&255,n.pending_buf[n.pending++]=t>>>8&255},kr=(n,t,e)=>{n.bi_valid>cm-e?(n.bi_buf|=t<<n.bi_valid&65535,Hf(n,n.bi_buf),n.bi_buf=t>>cm-n.bi_valid,n.bi_valid+=e-cm):(n.bi_buf|=t<<n.bi_valid&65535,n.bi_valid+=e)},Yi=(n,t,e)=>{kr(n,e[t*2],e[t*2+1])},Bv=(n,t)=>{let e=0;do e|=n&1,n>>>=1,e<<=1;while(--t>0);return e>>>1},TD=n=>{n.bi_valid===16?(Hf(n,n.bi_buf),n.bi_buf=0,n.bi_valid=0):n.bi_valid>=8&&(n.pending_buf[n.pending++]=n.bi_buf&255,n.bi_buf>>=8,n.bi_valid-=8)},OD=(n,t)=>{const e=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,u=t.stat_desc.max_length;let f,h,y,_,w,R,T=0;for(_=0;_<=Ma;_++)n.bl_count[_]=0;for(e[n.heap[n.heap_max]*2+1]=0,f=n.heap_max+1;f<xv;f++)h=n.heap[f],_=e[e[h*2+1]*2+1]+1,_>u&&(_=u,T++),e[h*2+1]=_,!(h>r)&&(n.bl_count[_]++,w=0,h>=a&&(w=o[h-a]),R=e[h*2],n.opt_len+=R*(_+w),s&&(n.static_len+=R*(i[h*2+1]+w)));if(T!==0){do{for(_=u-1;n.bl_count[_]===0;)_--;n.bl_count[_]--,n.bl_count[_+1]+=2,n.bl_count[u]--,T-=2}while(T>0);for(_=u;_!==0;_--)for(h=n.bl_count[_];h!==0;)y=n.heap[--f],!(y>r)&&(e[y*2+1]!==_&&(n.opt_len+=(_-e[y*2+1])*e[y*2],e[y*2+1]=_),h--)}},Pv=(n,t,e)=>{const r=new Array(Ma+1);let i=0,s,o;for(s=1;s<=Ma;s++)i=i+e[s-1]<<1,r[s]=i;for(o=0;o<=t;o++){let a=n[o*2+1];a!==0&&(n[o*2]=Bv(r[a]++,a))}},ND=()=>{let n,t,e,r,i;const s=new Array(Ma+1);for(e=0,r=0;r<om-1;r++)for(fm[r]=e,n=0;n<1<<lm[r];n++)$f[e++]=r;for($f[e-1]=r,i=0,r=0;r<16;r++)for(k0[r]=i,n=0;n<1<<S0[r];n++)Ff[i++]=r;for(i>>=7;r<bu;r++)for(k0[r]=i<<7,n=0;n<1<<S0[r]-7;n++)Ff[256+i++]=r;for(t=0;t<=Ma;t++)s[t]=0;for(n=0;n<=143;)Os[n*2+1]=8,n++,s[8]++;for(;n<=255;)Os[n*2+1]=9,n++,s[9]++;for(;n<=279;)Os[n*2+1]=7,n++,s[7]++;for(;n<=287;)Os[n*2+1]=8,n++,s[8]++;for(Pv(Os,Uf+1,s),n=0;n<bu;n++)Df[n*2+1]=5,Df[n*2]=Bv(n,5);Tv=new hm(Os,lm,Lf+1,Uf,Ma),Ov=new hm(Df,S0,0,bu,Ma),Nv=new hm(new Array(0),SD,0,am,ID)},Mv=n=>{let t;for(t=0;t<Uf;t++)n.dyn_ltree[t*2]=0;for(t=0;t<bu;t++)n.dyn_dtree[t*2]=0;for(t=0;t<am;t++)n.bl_tree[t*2]=0;n.dyn_ltree[um*2]=1,n.opt_len=n.static_len=0,n.sym_next=n.matches=0},Lv=n=>{n.bi_valid>8?Hf(n,n.bi_buf):n.bi_valid>0&&(n.pending_buf[n.pending++]=n.bi_buf),n.bi_buf=0,n.bi_valid=0},Uv=(n,t,e,r)=>{const i=t*2,s=e*2;return n[i]<n[s]||n[i]===n[s]&&r[t]<=r[e]},pm=(n,t,e)=>{const r=n.heap[e];let i=e<<1;for(;i<=n.heap_len&&(i<n.heap_len&&Uv(t,n.heap[i+1],n.heap[i],n.depth)&&i++,!Uv(t,r,n.heap[i],n.depth));)n.heap[e]=n.heap[i],e=i,i<<=1;n.heap[e]=r},Dv=(n,t,e)=>{let r,i,s=0,o,a;if(n.sym_next!==0)do r=n.pending_buf[n.sym_buf+s++]&255,r+=(n.pending_buf[n.sym_buf+s++]&255)<<8,i=n.pending_buf[n.sym_buf+s++],r===0?Yi(n,i,t):(o=$f[i],Yi(n,o+Lf+1,t),a=lm[o],a!==0&&(i-=fm[o],kr(n,i,a)),r--,o=Cv(r),Yi(n,o,e),a=S0[o],a!==0&&(r-=k0[o],kr(n,r,a)));while(s<n.sym_next);Yi(n,um,t)},gm=(n,t)=>{const e=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,s=t.stat_desc.elems;let o,a,u=-1,f;for(n.heap_len=0,n.heap_max=xv,o=0;o<s;o++)e[o*2]!==0?(n.heap[++n.heap_len]=u=o,n.depth[o]=0):e[o*2+1]=0;for(;n.heap_len<2;)f=n.heap[++n.heap_len]=u<2?++u:0,e[f*2]=1,n.depth[f]=0,n.opt_len--,i&&(n.static_len-=r[f*2+1]);for(t.max_code=u,o=n.heap_len>>1;o>=1;o--)pm(n,e,o);f=s;do o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],pm(n,e,1),a=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=a,e[f*2]=e[o*2]+e[a*2],n.depth[f]=(n.depth[o]>=n.depth[a]?n.depth[o]:n.depth[a])+1,e[o*2+1]=e[a*2+1]=f,n.heap[1]=f++,pm(n,e,1);while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],OD(n,t),Pv(e,u,n.bl_count)},Fv=(n,t,e)=>{let r,i=-1,s,o=t[0*2+1],a=0,u=7,f=4;for(o===0&&(u=138,f=3),t[(e+1)*2+1]=65535,r=0;r<=e;r++)s=o,o=t[(r+1)*2+1],!(++a<u&&s===o)&&(a<f?n.bl_tree[s*2]+=a:s!==0?(s!==i&&n.bl_tree[s*2]++,n.bl_tree[Rv*2]++):a<=10?n.bl_tree[Iv*2]++:n.bl_tree[Sv*2]++,a=0,i=s,o===0?(u=138,f=3):s===o?(u=6,f=3):(u=7,f=4))},$v=(n,t,e)=>{let r,i=-1,s,o=t[0*2+1],a=0,u=7,f=4;for(o===0&&(u=138,f=3),r=0;r<=e;r++)if(s=o,o=t[(r+1)*2+1],!(++a<u&&s===o)){if(a<f)do Yi(n,s,n.bl_tree);while(--a!==0);else s!==0?(s!==i&&(Yi(n,s,n.bl_tree),a--),Yi(n,Rv,n.bl_tree),kr(n,a-3,2)):a<=10?(Yi(n,Iv,n.bl_tree),kr(n,a-3,3)):(Yi(n,Sv,n.bl_tree),kr(n,a-11,7));a=0,i=s,o===0?(u=138,f=3):s===o?(u=6,f=3):(u=7,f=4)}},CD=n=>{let t;for(Fv(n,n.dyn_ltree,n.l_desc.max_code),Fv(n,n.dyn_dtree,n.d_desc.max_code),gm(n,n.bl_desc),t=am-1;t>=3&&n.bl_tree[kv[t]*2+1]===0;t--);return n.opt_len+=3*(t+1)+5+5+4,t},BD=(n,t,e,r)=>{let i;for(kr(n,t-257,5),kr(n,e-1,5),kr(n,r-4,4),i=0;i<r;i++)kr(n,n.bl_tree[kv[i]*2+1],3);$v(n,n.dyn_ltree,t-1),$v(n,n.dyn_dtree,e-1)},PD=n=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&n.dyn_ltree[e*2]!==0)return Av;if(n.dyn_ltree[9*2]!==0||n.dyn_ltree[10*2]!==0||n.dyn_ltree[13*2]!==0)return Ev;for(e=32;e<Lf;e++)if(n.dyn_ltree[e*2]!==0)return Ev;return Av};let Hv=!1;const MD=n=>{Hv||(ND(),Hv=!0),n.l_desc=new dm(n.dyn_ltree,Tv),n.d_desc=new dm(n.dyn_dtree,Ov),n.bl_desc=new dm(n.bl_tree,Nv),n.bi_buf=0,n.bi_valid=0,Mv(n)},zv=(n,t,e,r)=>{kr(n,(ED<<1)+(r?1:0),3),Lv(n),Hf(n,e),Hf(n,~e),e&&n.pending_buf.set(n.window.subarray(t,t+e),n.pending),n.pending+=e},LD=n=>{kr(n,vv<<1,3),Yi(n,um,Os),TD(n)},UD=(n,t,e,r)=>{let i,s,o=0;n.level>0?(n.strm.data_type===AD&&(n.strm.data_type=PD(n)),gm(n,n.l_desc),gm(n,n.d_desc),o=CD(n),i=n.opt_len+3+7>>>3,s=n.static_len+3+7>>>3,s<=i&&(i=s)):i=s=e+5,e+4<=i&&t!==-1?zv(n,t,e,r):n.strategy===_D||s===i?(kr(n,(vv<<1)+(r?1:0),3),Dv(n,Os,Df)):(kr(n,(vD<<1)+(r?1:0),3),BD(n,n.l_desc.max_code+1,n.d_desc.max_code+1,o+1),Dv(n,n.dyn_ltree,n.dyn_dtree)),Mv(n),r&&Lv(n)},DD=(n,t,e)=>(n.pending_buf[n.sym_buf+n.sym_next++]=t,n.pending_buf[n.sym_buf+n.sym_next++]=t>>8,n.pending_buf[n.sym_buf+n.sym_next++]=e,t===0?n.dyn_ltree[e*2]++:(n.matches++,t--,n.dyn_ltree[($f[e]+Lf+1)*2]++,n.dyn_dtree[Cv(t)*2]++),n.sym_next===n.sym_end);var FD=MD,$D=zv,HD=UD,zD=DD,GD=LD,VD={_tr_init:FD,_tr_stored_block:$D,_tr_flush_block:HD,_tr_tally:zD,_tr_align:GD},zf=(n,t,e,r)=>{let i=n&65535|0,s=n>>>16&65535|0,o=0;for(;e!==0;){o=e>2e3?2e3:e,e-=o;do i=i+t[r++]|0,s=s+i|0;while(--o);i%=65521,s%=65521}return i|s<<16|0};const KD=()=>{let n,t=[];for(var e=0;e<256;e++){n=e;for(var r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;t[e]=n}return t},jD=new Uint32Array(KD());var Un=(n,t,e,r)=>{const i=jD,s=r+e;n^=-1;for(let o=r;o<s;o++)n=n>>>8^i[(n^t[o])&255];return n^-1},_u={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Gf={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:WD,_tr_stored_block:ym,_tr_flush_block:ZD,_tr_tally:vo,_tr_align:qD}=VD,{Z_NO_FLUSH:xo,Z_PARTIAL_FLUSH:QD,Z_FULL_FLUSH:YD,Z_FINISH:ei,Z_BLOCK:Gv,Z_OK:Zn,Z_STREAM_END:Vv,Z_STREAM_ERROR:Ji,Z_DATA_ERROR:JD,Z_BUF_ERROR:mm,Z_DEFAULT_COMPRESSION:XD,Z_FILTERED:t9,Z_HUFFMAN_ONLY:T0,Z_RLE:e9,Z_FIXED:n9,Z_DEFAULT_STRATEGY:r9,Z_UNKNOWN:i9,Z_DEFLATED:O0}=Gf,s9=9,o9=15,a9=8,wm=256+1+29,c9=30,u9=19,l9=2*wm+1,f9=15,le=3,Ro=258,Xi=Ro+le+1,h9=32,Au=42,bm=57,_m=69,Am=73,Em=91,vm=103,La=113,Vf=666,pr=1,Eu=2,Ua=3,vu=4,d9=3,Da=(n,t)=>(n.msg=_u[t],t),Kv=n=>n*2-(n>4?9:0),Io=n=>{let t=n.length;for(;--t>=0;)n[t]=0},p9=n=>{let t,e,r,i=n.w_size;t=n.hash_size,r=t;do e=n.head[--r],n.head[r]=e>=i?e-i:0;while(--t);t=i,r=t;do e=n.prev[--r],n.prev[r]=e>=i?e-i:0;while(--t)};let So=(n,t,e)=>(t<<n.hash_shift^e)&n.hash_mask;const Hr=n=>{const t=n.state;let e=t.pending;e>n.avail_out&&(e=n.avail_out),e!==0&&(n.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),n.next_out),n.next_out+=e,t.pending_out+=e,n.total_out+=e,n.avail_out-=e,t.pending-=e,t.pending===0&&(t.pending_out=0))},zr=(n,t)=>{ZD(n,n.block_start>=0?n.block_start:-1,n.strstart-n.block_start,t),n.block_start=n.strstart,Hr(n.strm)},xe=(n,t)=>{n.pending_buf[n.pending++]=t},Kf=(n,t)=>{n.pending_buf[n.pending++]=t>>>8&255,n.pending_buf[n.pending++]=t&255},xm=(n,t,e,r)=>{let i=n.avail_in;return i>r&&(i=r),i===0?0:(n.avail_in-=i,t.set(n.input.subarray(n.next_in,n.next_in+i),e),n.state.wrap===1?n.adler=zf(n.adler,t,i,e):n.state.wrap===2&&(n.adler=Un(n.adler,t,i,e)),n.next_in+=i,n.total_in+=i,i)},jv=(n,t)=>{let e=n.max_chain_length,r=n.strstart,i,s,o=n.prev_length,a=n.nice_match;const u=n.strstart>n.w_size-Xi?n.strstart-(n.w_size-Xi):0,f=n.window,h=n.w_mask,y=n.prev,_=n.strstart+Ro;let w=f[r+o-1],R=f[r+o];n.prev_length>=n.good_match&&(e>>=2),a>n.lookahead&&(a=n.lookahead);do if(i=t,!(f[i+o]!==R||f[i+o-1]!==w||f[i]!==f[r]||f[++i]!==f[r+1])){r+=2,i++;do;while(f[++r]===f[++i]&&f[++r]===f[++i]&&f[++r]===f[++i]&&f[++r]===f[++i]&&f[++r]===f[++i]&&f[++r]===f[++i]&&f[++r]===f[++i]&&f[++r]===f[++i]&&r<_);if(s=Ro-(_-r),r=_-Ro,s>o){if(n.match_start=t,o=s,s>=a)break;w=f[r+o-1],R=f[r+o]}}while((t=y[t&h])>u&&--e!==0);return o<=n.lookahead?o:n.lookahead},xu=n=>{const t=n.w_size;let e,r,i;do{if(r=n.window_size-n.lookahead-n.strstart,n.strstart>=t+(t-Xi)&&(n.window.set(n.window.subarray(t,t+t-r),0),n.match_start-=t,n.strstart-=t,n.block_start-=t,n.insert>n.strstart&&(n.insert=n.strstart),p9(n),r+=t),n.strm.avail_in===0)break;if(e=xm(n.strm,n.window,n.strstart+n.lookahead,r),n.lookahead+=e,n.lookahead+n.insert>=le)for(i=n.strstart-n.insert,n.ins_h=n.window[i],n.ins_h=So(n,n.ins_h,n.window[i+1]);n.insert&&(n.ins_h=So(n,n.ins_h,n.window[i+le-1]),n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++,n.insert--,!(n.lookahead+n.insert<le)););}while(n.lookahead<Xi&&n.strm.avail_in!==0)},Wv=(n,t)=>{let e=n.pending_buf_size-5>n.w_size?n.w_size:n.pending_buf_size-5,r,i,s,o=0,a=n.strm.avail_in;do{if(r=65535,s=n.bi_valid+42>>3,n.strm.avail_out<s||(s=n.strm.avail_out-s,i=n.strstart-n.block_start,r>i+n.strm.avail_in&&(r=i+n.strm.avail_in),r>s&&(r=s),r<e&&(r===0&&t!==ei||t===xo||r!==i+n.strm.avail_in)))break;o=t===ei&&r===i+n.strm.avail_in?1:0,ym(n,0,0,o),n.pending_buf[n.pending-4]=r,n.pending_buf[n.pending-3]=r>>8,n.pending_buf[n.pending-2]=~r,n.pending_buf[n.pending-1]=~r>>8,Hr(n.strm),i&&(i>r&&(i=r),n.strm.output.set(n.window.subarray(n.block_start,n.block_start+i),n.strm.next_out),n.strm.next_out+=i,n.strm.avail_out-=i,n.strm.total_out+=i,n.block_start+=i,r-=i),r&&(xm(n.strm,n.strm.output,n.strm.next_out,r),n.strm.next_out+=r,n.strm.avail_out-=r,n.strm.total_out+=r)}while(o===0);return a-=n.strm.avail_in,a&&(a>=n.w_size?(n.matches=2,n.window.set(n.strm.input.subarray(n.strm.next_in-n.w_size,n.strm.next_in),0),n.strstart=n.w_size,n.insert=n.strstart):(n.window_size-n.strstart<=a&&(n.strstart-=n.w_size,n.window.set(n.window.subarray(n.w_size,n.w_size+n.strstart),0),n.matches<2&&n.matches++,n.insert>n.strstart&&(n.insert=n.strstart)),n.window.set(n.strm.input.subarray(n.strm.next_in-a,n.strm.next_in),n.strstart),n.strstart+=a,n.insert+=a>n.w_size-n.insert?n.w_size-n.insert:a),n.block_start=n.strstart),n.high_water<n.strstart&&(n.high_water=n.strstart),o?vu:t!==xo&&t!==ei&&n.strm.avail_in===0&&n.strstart===n.block_start?Eu:(s=n.window_size-n.strstart,n.strm.avail_in>s&&n.block_start>=n.w_size&&(n.block_start-=n.w_size,n.strstart-=n.w_size,n.window.set(n.window.subarray(n.w_size,n.w_size+n.strstart),0),n.matches<2&&n.matches++,s+=n.w_size,n.insert>n.strstart&&(n.insert=n.strstart)),s>n.strm.avail_in&&(s=n.strm.avail_in),s&&(xm(n.strm,n.window,n.strstart,s),n.strstart+=s,n.insert+=s>n.w_size-n.insert?n.w_size-n.insert:s),n.high_water<n.strstart&&(n.high_water=n.strstart),s=n.bi_valid+42>>3,s=n.pending_buf_size-s>65535?65535:n.pending_buf_size-s,e=s>n.w_size?n.w_size:s,i=n.strstart-n.block_start,(i>=e||(i||t===ei)&&t!==xo&&n.strm.avail_in===0&&i<=s)&&(r=i>s?s:i,o=t===ei&&n.strm.avail_in===0&&r===i?1:0,ym(n,n.block_start,r,o),n.block_start+=r,Hr(n.strm)),o?Ua:pr)},Rm=(n,t)=>{let e,r;for(;;){if(n.lookahead<Xi){if(xu(n),n.lookahead<Xi&&t===xo)return pr;if(n.lookahead===0)break}if(e=0,n.lookahead>=le&&(n.ins_h=So(n,n.ins_h,n.window[n.strstart+le-1]),e=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart),e!==0&&n.strstart-e<=n.w_size-Xi&&(n.match_length=jv(n,e)),n.match_length>=le)if(r=vo(n,n.strstart-n.match_start,n.match_length-le),n.lookahead-=n.match_length,n.match_length<=n.max_lazy_match&&n.lookahead>=le){n.match_length--;do n.strstart++,n.ins_h=So(n,n.ins_h,n.window[n.strstart+le-1]),e=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart;while(--n.match_length!==0);n.strstart++}else n.strstart+=n.match_length,n.match_length=0,n.ins_h=n.window[n.strstart],n.ins_h=So(n,n.ins_h,n.window[n.strstart+1]);else r=vo(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++;if(r&&(zr(n,!1),n.strm.avail_out===0))return pr}return n.insert=n.strstart<le-1?n.strstart:le-1,t===ei?(zr(n,!0),n.strm.avail_out===0?Ua:vu):n.sym_next&&(zr(n,!1),n.strm.avail_out===0)?pr:Eu},Ru=(n,t)=>{let e,r,i;for(;;){if(n.lookahead<Xi){if(xu(n),n.lookahead<Xi&&t===xo)return pr;if(n.lookahead===0)break}if(e=0,n.lookahead>=le&&(n.ins_h=So(n,n.ins_h,n.window[n.strstart+le-1]),e=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart),n.prev_length=n.match_length,n.prev_match=n.match_start,n.match_length=le-1,e!==0&&n.prev_length<n.max_lazy_match&&n.strstart-e<=n.w_size-Xi&&(n.match_length=jv(n,e),n.match_length<=5&&(n.strategy===t9||n.match_length===le&&n.strstart-n.match_start>4096)&&(n.match_length=le-1)),n.prev_length>=le&&n.match_length<=n.prev_length){i=n.strstart+n.lookahead-le,r=vo(n,n.strstart-1-n.prev_match,n.prev_length-le),n.lookahead-=n.prev_length-1,n.prev_length-=2;do++n.strstart<=i&&(n.ins_h=So(n,n.ins_h,n.window[n.strstart+le-1]),e=n.prev[n.strstart&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=n.strstart);while(--n.prev_length!==0);if(n.match_available=0,n.match_length=le-1,n.strstart++,r&&(zr(n,!1),n.strm.avail_out===0))return pr}else if(n.match_available){if(r=vo(n,0,n.window[n.strstart-1]),r&&zr(n,!1),n.strstart++,n.lookahead--,n.strm.avail_out===0)return pr}else n.match_available=1,n.strstart++,n.lookahead--}return n.match_available&&(r=vo(n,0,n.window[n.strstart-1]),n.match_available=0),n.insert=n.strstart<le-1?n.strstart:le-1,t===ei?(zr(n,!0),n.strm.avail_out===0?Ua:vu):n.sym_next&&(zr(n,!1),n.strm.avail_out===0)?pr:Eu},g9=(n,t)=>{let e,r,i,s;const o=n.window;for(;;){if(n.lookahead<=Ro){if(xu(n),n.lookahead<=Ro&&t===xo)return pr;if(n.lookahead===0)break}if(n.match_length=0,n.lookahead>=le&&n.strstart>0&&(i=n.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){s=n.strstart+Ro;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<s);n.match_length=Ro-(s-i),n.match_length>n.lookahead&&(n.match_length=n.lookahead)}if(n.match_length>=le?(e=vo(n,1,n.match_length-le),n.lookahead-=n.match_length,n.strstart+=n.match_length,n.match_length=0):(e=vo(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++),e&&(zr(n,!1),n.strm.avail_out===0))return pr}return n.insert=0,t===ei?(zr(n,!0),n.strm.avail_out===0?Ua:vu):n.sym_next&&(zr(n,!1),n.strm.avail_out===0)?pr:Eu},y9=(n,t)=>{let e;for(;;){if(n.lookahead===0&&(xu(n),n.lookahead===0)){if(t===xo)return pr;break}if(n.match_length=0,e=vo(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++,e&&(zr(n,!1),n.strm.avail_out===0))return pr}return n.insert=0,t===ei?(zr(n,!0),n.strm.avail_out===0?Ua:vu):n.sym_next&&(zr(n,!1),n.strm.avail_out===0)?pr:Eu};function ts(n,t,e,r,i){this.good_length=n,this.max_lazy=t,this.nice_length=e,this.max_chain=r,this.func=i}const jf=[new ts(0,0,0,0,Wv),new ts(4,4,8,4,Rm),new ts(4,5,16,8,Rm),new ts(4,6,32,32,Rm),new ts(4,4,16,16,Ru),new ts(8,16,32,32,Ru),new ts(8,16,128,128,Ru),new ts(8,32,128,256,Ru),new ts(32,128,258,1024,Ru),new ts(32,258,258,4096,Ru)],m9=n=>{n.window_size=2*n.w_size,Io(n.head),n.max_lazy_match=jf[n.level].max_lazy,n.good_match=jf[n.level].good_length,n.nice_match=jf[n.level].nice_length,n.max_chain_length=jf[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=le-1,n.match_available=0,n.ins_h=0};function w9(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=O0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(l9*2),this.dyn_dtree=new Uint16Array((2*c9+1)*2),this.bl_tree=new Uint16Array((2*u9+1)*2),Io(this.dyn_ltree),Io(this.dyn_dtree),Io(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(f9+1),this.heap=new Uint16Array(2*wm+1),Io(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*wm+1),Io(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Wf=n=>{if(!n)return 1;const t=n.state;return!t||t.strm!==n||t.status!==Au&&t.status!==bm&&t.status!==_m&&t.status!==Am&&t.status!==Em&&t.status!==vm&&t.status!==La&&t.status!==Vf?1:0},Zv=n=>{if(Wf(n))return Da(n,Ji);n.total_in=n.total_out=0,n.data_type=i9;const t=n.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?bm:t.wrap?Au:La,n.adler=t.wrap===2?0:1,t.last_flush=-2,WD(t),Zn},qv=n=>{const t=Zv(n);return t===Zn&&m9(n.state),t},b9=(n,t)=>Wf(n)||n.state.wrap!==2?Ji:(n.state.gzhead=t,Zn),Qv=(n,t,e,r,i,s)=>{if(!n)return Ji;let o=1;if(t===XD&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>s9||e!==O0||r<8||r>15||t<0||t>9||s<0||s>n9||r===8&&o!==1)return Da(n,Ji);r===8&&(r=9);const a=new w9;return n.state=a,a.strm=n,a.status=Au,a.wrap=o,a.gzhead=null,a.w_bits=r,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=i+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+le-1)/le),a.window=new Uint8Array(a.w_size*2),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<i+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=(a.lit_bufsize-1)*3,a.level=t,a.strategy=s,a.method=e,qv(n)},_9=(n,t)=>Qv(n,t,O0,o9,a9,r9),A9=(n,t)=>{if(Wf(n)||t>Gv||t<0)return n?Da(n,Ji):Ji;const e=n.state;if(!n.output||n.avail_in!==0&&!n.input||e.status===Vf&&t!==ei)return Da(n,n.avail_out===0?mm:Ji);const r=e.last_flush;if(e.last_flush=t,e.pending!==0){if(Hr(n),n.avail_out===0)return e.last_flush=-1,Zn}else if(n.avail_in===0&&Kv(t)<=Kv(r)&&t!==ei)return Da(n,mm);if(e.status===Vf&&n.avail_in!==0)return Da(n,mm);if(e.status===Au&&e.wrap===0&&(e.status=La),e.status===Au){let i=O0+(e.w_bits-8<<4)<<8,s=-1;if(e.strategy>=T0||e.level<2?s=0:e.level<6?s=1:e.level===6?s=2:s=3,i|=s<<6,e.strstart!==0&&(i|=h9),i+=31-i%31,Kf(e,i),e.strstart!==0&&(Kf(e,n.adler>>>16),Kf(e,n.adler&65535)),n.adler=1,e.status=La,Hr(n),e.pending!==0)return e.last_flush=-1,Zn}if(e.status===bm){if(n.adler=0,xe(e,31),xe(e,139),xe(e,8),e.gzhead)xe(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),xe(e,e.gzhead.time&255),xe(e,e.gzhead.time>>8&255),xe(e,e.gzhead.time>>16&255),xe(e,e.gzhead.time>>24&255),xe(e,e.level===9?2:e.strategy>=T0||e.level<2?4:0),xe(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(xe(e,e.gzhead.extra.length&255),xe(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(n.adler=Un(n.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=_m;else if(xe(e,0),xe(e,0),xe(e,0),xe(e,0),xe(e,0),xe(e,e.level===9?2:e.strategy>=T0||e.level<2?4:0),xe(e,d9),e.status=La,Hr(n),e.pending!==0)return e.last_flush=-1,Zn}if(e.status===_m){if(e.gzhead.extra){let i=e.pending,s=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+s>e.pending_buf_size;){let a=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+a),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>i&&(n.adler=Un(n.adler,e.pending_buf,e.pending-i,i)),e.gzindex+=a,Hr(n),e.pending!==0)return e.last_flush=-1,Zn;i=0,s-=a}let o=new Uint8Array(e.gzhead.extra);e.pending_buf.set(o.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending+=s,e.gzhead.hcrc&&e.pending>i&&(n.adler=Un(n.adler,e.pending_buf,e.pending-i,i)),e.gzindex=0}e.status=Am}if(e.status===Am){if(e.gzhead.name){let i=e.pending,s;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>i&&(n.adler=Un(n.adler,e.pending_buf,e.pending-i,i)),Hr(n),e.pending!==0)return e.last_flush=-1,Zn;i=0}e.gzindex<e.gzhead.name.length?s=e.gzhead.name.charCodeAt(e.gzindex++)&255:s=0,xe(e,s)}while(s!==0);e.gzhead.hcrc&&e.pending>i&&(n.adler=Un(n.adler,e.pending_buf,e.pending-i,i)),e.gzindex=0}e.status=Em}if(e.status===Em){if(e.gzhead.comment){let i=e.pending,s;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>i&&(n.adler=Un(n.adler,e.pending_buf,e.pending-i,i)),Hr(n),e.pending!==0)return e.last_flush=-1,Zn;i=0}e.gzindex<e.gzhead.comment.length?s=e.gzhead.comment.charCodeAt(e.gzindex++)&255:s=0,xe(e,s)}while(s!==0);e.gzhead.hcrc&&e.pending>i&&(n.adler=Un(n.adler,e.pending_buf,e.pending-i,i))}e.status=vm}if(e.status===vm){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(Hr(n),e.pending!==0))return e.last_flush=-1,Zn;xe(e,n.adler&255),xe(e,n.adler>>8&255),n.adler=0}if(e.status=La,Hr(n),e.pending!==0)return e.last_flush=-1,Zn}if(n.avail_in!==0||e.lookahead!==0||t!==xo&&e.status!==Vf){let i=e.level===0?Wv(e,t):e.strategy===T0?y9(e,t):e.strategy===e9?g9(e,t):jf[e.level].func(e,t);if((i===Ua||i===vu)&&(e.status=Vf),i===pr||i===Ua)return n.avail_out===0&&(e.last_flush=-1),Zn;if(i===Eu&&(t===QD?qD(e):t!==Gv&&(ym(e,0,0,!1),t===YD&&(Io(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),Hr(n),n.avail_out===0))return e.last_flush=-1,Zn}return t!==ei?Zn:e.wrap<=0?Vv:(e.wrap===2?(xe(e,n.adler&255),xe(e,n.adler>>8&255),xe(e,n.adler>>16&255),xe(e,n.adler>>24&255),xe(e,n.total_in&255),xe(e,n.total_in>>8&255),xe(e,n.total_in>>16&255),xe(e,n.total_in>>24&255)):(Kf(e,n.adler>>>16),Kf(e,n.adler&65535)),Hr(n),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?Zn:Vv)},E9=n=>{if(Wf(n))return Ji;const t=n.state.status;return n.state=null,t===La?Da(n,JD):Zn},v9=(n,t)=>{let e=t.length;if(Wf(n))return Ji;const r=n.state,i=r.wrap;if(i===2||i===1&&r.status!==Au||r.lookahead)return Ji;if(i===1&&(n.adler=zf(n.adler,t,e,0)),r.wrap=0,e>=r.w_size){i===0&&(Io(r.head),r.strstart=0,r.block_start=0,r.insert=0);let u=new Uint8Array(r.w_size);u.set(t.subarray(e-r.w_size,e),0),t=u,e=r.w_size}const s=n.avail_in,o=n.next_in,a=n.input;for(n.avail_in=e,n.next_in=0,n.input=t,xu(r);r.lookahead>=le;){let u=r.strstart,f=r.lookahead-(le-1);do r.ins_h=So(r,r.ins_h,r.window[u+le-1]),r.prev[u&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=u,u++;while(--f);r.strstart=u,r.lookahead=le-1,xu(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=le-1,r.match_available=0,n.next_in=o,n.input=a,n.avail_in=s,r.wrap=i,Zn};var x9=_9,R9=Qv,I9=qv,S9=Zv,k9=b9,T9=A9,O9=E9,N9=v9,C9="pako deflate (from Nodeca project)",Zf={deflateInit:x9,deflateInit2:R9,deflateReset:I9,deflateResetKeep:S9,deflateSetHeader:k9,deflate:T9,deflateEnd:O9,deflateSetDictionary:N9,deflateInfo:C9};const B9=(n,t)=>Object.prototype.hasOwnProperty.call(n,t);var P9=function(n){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const e=t.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(const r in e)B9(e,r)&&(n[r]=e[r])}}return n},M9=n=>{let t=0;for(let r=0,i=n.length;r<i;r++)t+=n[r].length;const e=new Uint8Array(t);for(let r=0,i=0,s=n.length;r<s;r++){let o=n[r];e.set(o,i),i+=o.length}return e},N0={assign:P9,flattenChunks:M9};let Yv=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Yv=!1}const qf=new Uint8Array(256);for(let n=0;n<256;n++)qf[n]=n>=252?6:n>=248?5:n>=240?4:n>=224?3:n>=192?2:1;qf[254]=qf[254]=1;var L9=n=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(n);let t,e,r,i,s,o=n.length,a=0;for(i=0;i<o;i++)e=n.charCodeAt(i),(e&64512)===55296&&i+1<o&&(r=n.charCodeAt(i+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),i++)),a+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(a),s=0,i=0;s<a;i++)e=n.charCodeAt(i),(e&64512)===55296&&i+1<o&&(r=n.charCodeAt(i+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),i++)),e<128?t[s++]=e:e<2048?(t[s++]=192|e>>>6,t[s++]=128|e&63):e<65536?(t[s++]=224|e>>>12,t[s++]=128|e>>>6&63,t[s++]=128|e&63):(t[s++]=240|e>>>18,t[s++]=128|e>>>12&63,t[s++]=128|e>>>6&63,t[s++]=128|e&63);return t};const U9=(n,t)=>{if(t<65534&&n.subarray&&Yv)return String.fromCharCode.apply(null,n.length===t?n:n.subarray(0,t));let e="";for(let r=0;r<t;r++)e+=String.fromCharCode(n[r]);return e};var D9=(n,t)=>{const e=t||n.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(n.subarray(0,t));let r,i;const s=new Array(e*2);for(i=0,r=0;r<e;){let o=n[r++];if(o<128){s[i++]=o;continue}let a=qf[o];if(a>4){s[i++]=65533,r+=a-1;continue}for(o&=a===2?31:a===3?15:7;a>1&&r<e;)o=o<<6|n[r++]&63,a--;if(a>1){s[i++]=65533;continue}o<65536?s[i++]=o:(o-=65536,s[i++]=55296|o>>10&1023,s[i++]=56320|o&1023)}return U9(s,i)},F9=(n,t)=>{t=t||n.length,t>n.length&&(t=n.length);let e=t-1;for(;e>=0&&(n[e]&192)===128;)e--;return e<0||e===0?t:e+qf[n[e]]>t?e:t},Qf={string2buf:L9,buf2string:D9,utf8border:F9};function $9(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var Jv=$9;const Xv=Object.prototype.toString,{Z_NO_FLUSH:H9,Z_SYNC_FLUSH:z9,Z_FULL_FLUSH:G9,Z_FINISH:V9,Z_OK:C0,Z_STREAM_END:K9,Z_DEFAULT_COMPRESSION:j9,Z_DEFAULT_STRATEGY:W9,Z_DEFLATED:Z9}=Gf;function Im(n){this.options=N0.assign({level:j9,method:Z9,chunkSize:16384,windowBits:15,memLevel:8,strategy:W9},n||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Jv,this.strm.avail_out=0;let e=Zf.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==C0)throw new Error(_u[e]);if(t.header&&Zf.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(typeof t.dictionary=="string"?r=Qf.string2buf(t.dictionary):Xv.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,e=Zf.deflateSetDictionary(this.strm,r),e!==C0)throw new Error(_u[e]);this._dict_set=!0}}Im.prototype.push=function(n,t){const e=this.strm,r=this.options.chunkSize;let i,s;if(this.ended)return!1;for(t===~~t?s=t:s=t===!0?V9:H9,typeof n=="string"?e.input=Qf.string2buf(n):Xv.call(n)==="[object ArrayBuffer]"?e.input=new Uint8Array(n):e.input=n,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(r),e.next_out=0,e.avail_out=r),(s===z9||s===G9)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(i=Zf.deflate(e,s),i===K9)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),i=Zf.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===C0;if(e.avail_out===0){this.onData(e.output);continue}if(s>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0},Im.prototype.onData=function(n){this.chunks.push(n)},Im.prototype.onEnd=function(n){n===C0&&(this.result=N0.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};const B0=16209,q9=16191;var Q9=function(t,e){let r,i,s,o,a,u,f,h,y,_,w,R,T,I,B,H,U,G,W,X,j,J,it,ut;const rt=t.state;r=t.next_in,it=t.input,i=r+(t.avail_in-5),s=t.next_out,ut=t.output,o=s-(e-t.avail_out),a=s+(t.avail_out-257),u=rt.dmax,f=rt.wsize,h=rt.whave,y=rt.wnext,_=rt.window,w=rt.hold,R=rt.bits,T=rt.lencode,I=rt.distcode,B=(1<<rt.lenbits)-1,H=(1<<rt.distbits)-1;t:do{R<15&&(w+=it[r++]<<R,R+=8,w+=it[r++]<<R,R+=8),U=T[w&B];e:for(;;){if(G=U>>>24,w>>>=G,R-=G,G=U>>>16&255,G===0)ut[s++]=U&65535;else if(G&16){W=U&65535,G&=15,G&&(R<G&&(w+=it[r++]<<R,R+=8),W+=w&(1<<G)-1,w>>>=G,R-=G),R<15&&(w+=it[r++]<<R,R+=8,w+=it[r++]<<R,R+=8),U=I[w&H];n:for(;;){if(G=U>>>24,w>>>=G,R-=G,G=U>>>16&255,G&16){if(X=U&65535,G&=15,R<G&&(w+=it[r++]<<R,R+=8,R<G&&(w+=it[r++]<<R,R+=8)),X+=w&(1<<G)-1,X>u){t.msg="invalid distance too far back",rt.mode=B0;break t}if(w>>>=G,R-=G,G=s-o,X>G){if(G=X-G,G>h&&rt.sane){t.msg="invalid distance too far back",rt.mode=B0;break t}if(j=0,J=_,y===0){if(j+=f-G,G<W){W-=G;do ut[s++]=_[j++];while(--G);j=s-X,J=ut}}else if(y<G){if(j+=f+y-G,G-=y,G<W){W-=G;do ut[s++]=_[j++];while(--G);if(j=0,y<W){G=y,W-=G;do ut[s++]=_[j++];while(--G);j=s-X,J=ut}}}else if(j+=y-G,G<W){W-=G;do ut[s++]=_[j++];while(--G);j=s-X,J=ut}for(;W>2;)ut[s++]=J[j++],ut[s++]=J[j++],ut[s++]=J[j++],W-=3;W&&(ut[s++]=J[j++],W>1&&(ut[s++]=J[j++]))}else{j=s-X;do ut[s++]=ut[j++],ut[s++]=ut[j++],ut[s++]=ut[j++],W-=3;while(W>2);W&&(ut[s++]=ut[j++],W>1&&(ut[s++]=ut[j++]))}}else if(G&64){t.msg="invalid distance code",rt.mode=B0;break t}else{U=I[(U&65535)+(w&(1<<G)-1)];continue n}break}}else if(G&64)if(G&32){rt.mode=q9;break t}else{t.msg="invalid literal/length code",rt.mode=B0;break t}else{U=T[(U&65535)+(w&(1<<G)-1)];continue e}break}}while(r<i&&s<a);W=R>>3,r-=W,R-=W<<3,w&=(1<<R)-1,t.next_in=r,t.next_out=s,t.avail_in=r<i?5+(i-r):5-(r-i),t.avail_out=s<a?257+(a-s):257-(s-a),rt.hold=w,rt.bits=R};const Iu=15,tx=852,ex=592,nx=0,Sm=1,rx=2,Y9=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),J9=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),X9=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),tF=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var Yf=(n,t,e,r,i,s,o,a)=>{const u=a.bits;let f=0,h=0,y=0,_=0,w=0,R=0,T=0,I=0,B=0,H=0,U,G,W,X,j,J=null,it;const ut=new Uint16Array(Iu+1),rt=new Uint16Array(Iu+1);let ot=null,C,p,m;for(f=0;f<=Iu;f++)ut[f]=0;for(h=0;h<r;h++)ut[t[e+h]]++;for(w=u,_=Iu;_>=1&&ut[_]===0;_--);if(w>_&&(w=_),_===0)return i[s++]=1<<24|64<<16|0,i[s++]=1<<24|64<<16|0,a.bits=1,0;for(y=1;y<_&&ut[y]===0;y++);for(w<y&&(w=y),I=1,f=1;f<=Iu;f++)if(I<<=1,I-=ut[f],I<0)return-1;if(I>0&&(n===nx||_!==1))return-1;for(rt[1]=0,f=1;f<Iu;f++)rt[f+1]=rt[f]+ut[f];for(h=0;h<r;h++)t[e+h]!==0&&(o[rt[t[e+h]]++]=h);if(n===nx?(J=ot=o,it=20):n===Sm?(J=Y9,ot=J9,it=257):(J=X9,ot=tF,it=0),H=0,h=0,f=y,j=s,R=w,T=0,W=-1,B=1<<w,X=B-1,n===Sm&&B>tx||n===rx&&B>ex)return 1;for(;;){C=f-T,o[h]+1<it?(p=0,m=o[h]):o[h]>=it?(p=ot[o[h]-it],m=J[o[h]-it]):(p=96,m=0),U=1<<f-T,G=1<<R,y=G;do G-=U,i[j+(H>>T)+G]=C<<24|p<<16|m|0;while(G!==0);for(U=1<<f-1;H&U;)U>>=1;if(U!==0?(H&=U-1,H+=U):H=0,h++,--ut[f]===0){if(f===_)break;f=t[e+o[h]]}if(f>w&&(H&X)!==W){for(T===0&&(T=w),j+=y,R=f-T,I=1<<R;R+T<_&&(I-=ut[R+T],!(I<=0));)R++,I<<=1;if(B+=1<<R,n===Sm&&B>tx||n===rx&&B>ex)return 1;W=H&X,i[W]=w<<24|R<<16|j-s|0}}return H!==0&&(i[j+H]=f-T<<24|64<<16|0),a.bits=w,0};const eF=0,ix=1,sx=2,{Z_FINISH:ox,Z_BLOCK:nF,Z_TREES:P0,Z_OK:Fa,Z_STREAM_END:rF,Z_NEED_DICT:iF,Z_STREAM_ERROR:ni,Z_DATA_ERROR:ax,Z_MEM_ERROR:cx,Z_BUF_ERROR:sF,Z_DEFLATED:ux}=Gf,M0=16180,lx=16181,fx=16182,hx=16183,dx=16184,px=16185,gx=16186,yx=16187,mx=16188,wx=16189,L0=16190,Ns=16191,km=16192,bx=16193,Tm=16194,_x=16195,Ax=16196,Ex=16197,vx=16198,U0=16199,D0=16200,xx=16201,Rx=16202,Ix=16203,Sx=16204,kx=16205,Om=16206,Tx=16207,Ox=16208,Qe=16209,Nx=16210,Cx=16211,oF=852,aF=592,cF=15,Bx=n=>(n>>>24&255)+(n>>>8&65280)+((n&65280)<<8)+((n&255)<<24);function uF(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const $a=n=>{if(!n)return 1;const t=n.state;return!t||t.strm!==n||t.mode<M0||t.mode>Cx?1:0},Px=n=>{if($a(n))return ni;const t=n.state;return n.total_in=n.total_out=t.total=0,n.msg="",t.wrap&&(n.adler=t.wrap&1),t.mode=M0,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(oF),t.distcode=t.distdyn=new Int32Array(aF),t.sane=1,t.back=-1,Fa},Mx=n=>{if($a(n))return ni;const t=n.state;return t.wsize=0,t.whave=0,t.wnext=0,Px(n)},Lx=(n,t)=>{let e;if($a(n))return ni;const r=n.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?ni:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=e,r.wbits=t,Mx(n))},Ux=(n,t)=>{if(!n)return ni;const e=new uF;n.state=e,e.strm=n,e.window=null,e.mode=M0;const r=Lx(n,t);return r!==Fa&&(n.state=null),r},lF=n=>Ux(n,cF);let Dx=!0,Nm,Cm;const fF=n=>{if(Dx){Nm=new Int32Array(512),Cm=new Int32Array(32);let t=0;for(;t<144;)n.lens[t++]=8;for(;t<256;)n.lens[t++]=9;for(;t<280;)n.lens[t++]=7;for(;t<288;)n.lens[t++]=8;for(Yf(ix,n.lens,0,288,Nm,0,n.work,{bits:9}),t=0;t<32;)n.lens[t++]=5;Yf(sx,n.lens,0,32,Cm,0,n.work,{bits:5}),Dx=!1}n.lencode=Nm,n.lenbits=9,n.distcode=Cm,n.distbits=5},Fx=(n,t,e,r)=>{let i;const s=n.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Uint8Array(s.wsize)),r>=s.wsize?(s.window.set(t.subarray(e-s.wsize,e),0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>r&&(i=r),s.window.set(t.subarray(e-r,e-r+i),s.wnext),r-=i,r?(s.window.set(t.subarray(e-r,e),0),s.wnext=r,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0},hF=(n,t)=>{let e,r,i,s,o,a,u,f,h,y,_,w,R,T,I=0,B,H,U,G,W,X,j,J;const it=new Uint8Array(4);let ut,rt;const ot=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if($a(n)||!n.output||!n.input&&n.avail_in!==0)return ni;e=n.state,e.mode===Ns&&(e.mode=km),o=n.next_out,i=n.output,u=n.avail_out,s=n.next_in,r=n.input,a=n.avail_in,f=e.hold,h=e.bits,y=a,_=u,J=Fa;t:for(;;)switch(e.mode){case M0:if(e.wrap===0){e.mode=km;break}for(;h<16;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(e.wrap&2&&f===35615){e.wbits===0&&(e.wbits=15),e.check=0,it[0]=f&255,it[1]=f>>>8&255,e.check=Un(e.check,it,2,0),f=0,h=0,e.mode=lx;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((f&255)<<8)+(f>>8))%31){n.msg="incorrect header check",e.mode=Qe;break}if((f&15)!==ux){n.msg="unknown compression method",e.mode=Qe;break}if(f>>>=4,h-=4,j=(f&15)+8,e.wbits===0&&(e.wbits=j),j>15||j>e.wbits){n.msg="invalid window size",e.mode=Qe;break}e.dmax=1<<e.wbits,e.flags=0,n.adler=e.check=1,e.mode=f&512?wx:Ns,f=0,h=0;break;case lx:for(;h<16;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(e.flags=f,(e.flags&255)!==ux){n.msg="unknown compression method",e.mode=Qe;break}if(e.flags&57344){n.msg="unknown header flags set",e.mode=Qe;break}e.head&&(e.head.text=f>>8&1),e.flags&512&&e.wrap&4&&(it[0]=f&255,it[1]=f>>>8&255,e.check=Un(e.check,it,2,0)),f=0,h=0,e.mode=fx;case fx:for(;h<32;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}e.head&&(e.head.time=f),e.flags&512&&e.wrap&4&&(it[0]=f&255,it[1]=f>>>8&255,it[2]=f>>>16&255,it[3]=f>>>24&255,e.check=Un(e.check,it,4,0)),f=0,h=0,e.mode=hx;case hx:for(;h<16;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}e.head&&(e.head.xflags=f&255,e.head.os=f>>8),e.flags&512&&e.wrap&4&&(it[0]=f&255,it[1]=f>>>8&255,e.check=Un(e.check,it,2,0)),f=0,h=0,e.mode=dx;case dx:if(e.flags&1024){for(;h<16;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}e.length=f,e.head&&(e.head.extra_len=f),e.flags&512&&e.wrap&4&&(it[0]=f&255,it[1]=f>>>8&255,e.check=Un(e.check,it,2,0)),f=0,h=0}else e.head&&(e.head.extra=null);e.mode=px;case px:if(e.flags&1024&&(w=e.length,w>a&&(w=a),w&&(e.head&&(j=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(r.subarray(s,s+w),j)),e.flags&512&&e.wrap&4&&(e.check=Un(e.check,r,w,s)),a-=w,s+=w,e.length-=w),e.length))break t;e.length=0,e.mode=gx;case gx:if(e.flags&2048){if(a===0)break t;w=0;do j=r[s+w++],e.head&&j&&e.length<65536&&(e.head.name+=String.fromCharCode(j));while(j&&w<a);if(e.flags&512&&e.wrap&4&&(e.check=Un(e.check,r,w,s)),a-=w,s+=w,j)break t}else e.head&&(e.head.name=null);e.length=0,e.mode=yx;case yx:if(e.flags&4096){if(a===0)break t;w=0;do j=r[s+w++],e.head&&j&&e.length<65536&&(e.head.comment+=String.fromCharCode(j));while(j&&w<a);if(e.flags&512&&e.wrap&4&&(e.check=Un(e.check,r,w,s)),a-=w,s+=w,j)break t}else e.head&&(e.head.comment=null);e.mode=mx;case mx:if(e.flags&512){for(;h<16;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(e.wrap&4&&f!==(e.check&65535)){n.msg="header crc mismatch",e.mode=Qe;break}f=0,h=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),n.adler=e.check=0,e.mode=Ns;break;case wx:for(;h<32;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}n.adler=e.check=Bx(f),f=0,h=0,e.mode=L0;case L0:if(e.havedict===0)return n.next_out=o,n.avail_out=u,n.next_in=s,n.avail_in=a,e.hold=f,e.bits=h,iF;n.adler=e.check=1,e.mode=Ns;case Ns:if(t===nF||t===P0)break t;case km:if(e.last){f>>>=h&7,h-=h&7,e.mode=Om;break}for(;h<3;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}switch(e.last=f&1,f>>>=1,h-=1,f&3){case 0:e.mode=bx;break;case 1:if(fF(e),e.mode=U0,t===P0){f>>>=2,h-=2;break t}break;case 2:e.mode=Ax;break;case 3:n.msg="invalid block type",e.mode=Qe}f>>>=2,h-=2;break;case bx:for(f>>>=h&7,h-=h&7;h<32;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if((f&65535)!==(f>>>16^65535)){n.msg="invalid stored block lengths",e.mode=Qe;break}if(e.length=f&65535,f=0,h=0,e.mode=Tm,t===P0)break t;case Tm:e.mode=_x;case _x:if(w=e.length,w){if(w>a&&(w=a),w>u&&(w=u),w===0)break t;i.set(r.subarray(s,s+w),o),a-=w,s+=w,u-=w,o+=w,e.length-=w;break}e.mode=Ns;break;case Ax:for(;h<14;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(e.nlen=(f&31)+257,f>>>=5,h-=5,e.ndist=(f&31)+1,f>>>=5,h-=5,e.ncode=(f&15)+4,f>>>=4,h-=4,e.nlen>286||e.ndist>30){n.msg="too many length or distance symbols",e.mode=Qe;break}e.have=0,e.mode=Ex;case Ex:for(;e.have<e.ncode;){for(;h<3;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}e.lens[ot[e.have++]]=f&7,f>>>=3,h-=3}for(;e.have<19;)e.lens[ot[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,ut={bits:e.lenbits},J=Yf(eF,e.lens,0,19,e.lencode,0,e.work,ut),e.lenbits=ut.bits,J){n.msg="invalid code lengths set",e.mode=Qe;break}e.have=0,e.mode=vx;case vx:for(;e.have<e.nlen+e.ndist;){for(;I=e.lencode[f&(1<<e.lenbits)-1],B=I>>>24,H=I>>>16&255,U=I&65535,!(B<=h);){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(U<16)f>>>=B,h-=B,e.lens[e.have++]=U;else{if(U===16){for(rt=B+2;h<rt;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(f>>>=B,h-=B,e.have===0){n.msg="invalid bit length repeat",e.mode=Qe;break}j=e.lens[e.have-1],w=3+(f&3),f>>>=2,h-=2}else if(U===17){for(rt=B+3;h<rt;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}f>>>=B,h-=B,j=0,w=3+(f&7),f>>>=3,h-=3}else{for(rt=B+7;h<rt;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}f>>>=B,h-=B,j=0,w=11+(f&127),f>>>=7,h-=7}if(e.have+w>e.nlen+e.ndist){n.msg="invalid bit length repeat",e.mode=Qe;break}for(;w--;)e.lens[e.have++]=j}}if(e.mode===Qe)break;if(e.lens[256]===0){n.msg="invalid code -- missing end-of-block",e.mode=Qe;break}if(e.lenbits=9,ut={bits:e.lenbits},J=Yf(ix,e.lens,0,e.nlen,e.lencode,0,e.work,ut),e.lenbits=ut.bits,J){n.msg="invalid literal/lengths set",e.mode=Qe;break}if(e.distbits=6,e.distcode=e.distdyn,ut={bits:e.distbits},J=Yf(sx,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,ut),e.distbits=ut.bits,J){n.msg="invalid distances set",e.mode=Qe;break}if(e.mode=U0,t===P0)break t;case U0:e.mode=D0;case D0:if(a>=6&&u>=258){n.next_out=o,n.avail_out=u,n.next_in=s,n.avail_in=a,e.hold=f,e.bits=h,Q9(n,_),o=n.next_out,i=n.output,u=n.avail_out,s=n.next_in,r=n.input,a=n.avail_in,f=e.hold,h=e.bits,e.mode===Ns&&(e.back=-1);break}for(e.back=0;I=e.lencode[f&(1<<e.lenbits)-1],B=I>>>24,H=I>>>16&255,U=I&65535,!(B<=h);){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(H&&!(H&240)){for(G=B,W=H,X=U;I=e.lencode[X+((f&(1<<G+W)-1)>>G)],B=I>>>24,H=I>>>16&255,U=I&65535,!(G+B<=h);){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}f>>>=G,h-=G,e.back+=G}if(f>>>=B,h-=B,e.back+=B,e.length=U,H===0){e.mode=kx;break}if(H&32){e.back=-1,e.mode=Ns;break}if(H&64){n.msg="invalid literal/length code",e.mode=Qe;break}e.extra=H&15,e.mode=xx;case xx:if(e.extra){for(rt=e.extra;h<rt;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}e.length+=f&(1<<e.extra)-1,f>>>=e.extra,h-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=Rx;case Rx:for(;I=e.distcode[f&(1<<e.distbits)-1],B=I>>>24,H=I>>>16&255,U=I&65535,!(B<=h);){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(!(H&240)){for(G=B,W=H,X=U;I=e.distcode[X+((f&(1<<G+W)-1)>>G)],B=I>>>24,H=I>>>16&255,U=I&65535,!(G+B<=h);){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}f>>>=G,h-=G,e.back+=G}if(f>>>=B,h-=B,e.back+=B,H&64){n.msg="invalid distance code",e.mode=Qe;break}e.offset=U,e.extra=H&15,e.mode=Ix;case Ix:if(e.extra){for(rt=e.extra;h<rt;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}e.offset+=f&(1<<e.extra)-1,f>>>=e.extra,h-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){n.msg="invalid distance too far back",e.mode=Qe;break}e.mode=Sx;case Sx:if(u===0)break t;if(w=_-u,e.offset>w){if(w=e.offset-w,w>e.whave&&e.sane){n.msg="invalid distance too far back",e.mode=Qe;break}w>e.wnext?(w-=e.wnext,R=e.wsize-w):R=e.wnext-w,w>e.length&&(w=e.length),T=e.window}else T=i,R=o-e.offset,w=e.length;w>u&&(w=u),u-=w,e.length-=w;do i[o++]=T[R++];while(--w);e.length===0&&(e.mode=D0);break;case kx:if(u===0)break t;i[o++]=e.length,u--,e.mode=D0;break;case Om:if(e.wrap){for(;h<32;){if(a===0)break t;a--,f|=r[s++]<<h,h+=8}if(_-=u,n.total_out+=_,e.total+=_,e.wrap&4&&_&&(n.adler=e.check=e.flags?Un(e.check,i,_,o-_):zf(e.check,i,_,o-_)),_=u,e.wrap&4&&(e.flags?f:Bx(f))!==e.check){n.msg="incorrect data check",e.mode=Qe;break}f=0,h=0}e.mode=Tx;case Tx:if(e.wrap&&e.flags){for(;h<32;){if(a===0)break t;a--,f+=r[s++]<<h,h+=8}if(e.wrap&4&&f!==(e.total&4294967295)){n.msg="incorrect length check",e.mode=Qe;break}f=0,h=0}e.mode=Ox;case Ox:J=rF;break t;case Qe:J=ax;break t;case Nx:return cx;case Cx:default:return ni}return n.next_out=o,n.avail_out=u,n.next_in=s,n.avail_in=a,e.hold=f,e.bits=h,(e.wsize||_!==n.avail_out&&e.mode<Qe&&(e.mode<Om||t!==ox))&&Fx(n,n.output,n.next_out,_-n.avail_out),y-=n.avail_in,_-=n.avail_out,n.total_in+=y,n.total_out+=_,e.total+=_,e.wrap&4&&_&&(n.adler=e.check=e.flags?Un(e.check,i,_,n.next_out-_):zf(e.check,i,_,n.next_out-_)),n.data_type=e.bits+(e.last?64:0)+(e.mode===Ns?128:0)+(e.mode===U0||e.mode===Tm?256:0),(y===0&&_===0||t===ox)&&J===Fa&&(J=sF),J},dF=n=>{if($a(n))return ni;let t=n.state;return t.window&&(t.window=null),n.state=null,Fa},pF=(n,t)=>{if($a(n))return ni;const e=n.state;return e.wrap&2?(e.head=t,t.done=!1,Fa):ni},gF=(n,t)=>{const e=t.length;let r,i,s;return $a(n)||(r=n.state,r.wrap!==0&&r.mode!==L0)?ni:r.mode===L0&&(i=1,i=zf(i,t,e,0),i!==r.check)?ax:(s=Fx(n,t,e,e),s?(r.mode=Nx,cx):(r.havedict=1,Fa))};var yF=Mx,mF=Lx,wF=Px,bF=lF,_F=Ux,AF=hF,EF=dF,vF=pF,xF=gF,RF="pako inflate (from Nodeca project)",Cs={inflateReset:yF,inflateReset2:mF,inflateResetKeep:wF,inflateInit:bF,inflateInit2:_F,inflate:AF,inflateEnd:EF,inflateGetHeader:vF,inflateSetDictionary:xF,inflateInfo:RF};function IF(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var SF=IF;const $x=Object.prototype.toString,{Z_NO_FLUSH:kF,Z_FINISH:TF,Z_OK:Jf,Z_STREAM_END:Bm,Z_NEED_DICT:Pm,Z_STREAM_ERROR:OF,Z_DATA_ERROR:Hx,Z_MEM_ERROR:NF}=Gf;function Xf(n){this.options=N0.assign({chunkSize:1024*64,windowBits:15,to:""},n||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(n&&n.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Jv,this.strm.avail_out=0;let e=Cs.inflateInit2(this.strm,t.windowBits);if(e!==Jf)throw new Error(_u[e]);if(this.header=new SF,Cs.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Qf.string2buf(t.dictionary):$x.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=Cs.inflateSetDictionary(this.strm,t.dictionary),e!==Jf)))throw new Error(_u[e])}Xf.prototype.push=function(n,t){const e=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let s,o,a;if(this.ended)return!1;for(t===~~t?o=t:o=t===!0?TF:kF,$x.call(n)==="[object ArrayBuffer]"?e.input=new Uint8Array(n):e.input=n,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(r),e.next_out=0,e.avail_out=r),s=Cs.inflate(e,o),s===Pm&&i&&(s=Cs.inflateSetDictionary(e,i),s===Jf?s=Cs.inflate(e,o):s===Hx&&(s=Pm));e.avail_in>0&&s===Bm&&e.state.wrap>0&&n[e.next_in]!==0;)Cs.inflateReset(e),s=Cs.inflate(e,o);switch(s){case OF:case Hx:case Pm:case NF:return this.onEnd(s),this.ended=!0,!1}if(a=e.avail_out,e.next_out&&(e.avail_out===0||s===Bm))if(this.options.to==="string"){let u=Qf.utf8border(e.output,e.next_out),f=e.next_out-u,h=Qf.buf2string(e.output,u);e.next_out=f,e.avail_out=r-f,f&&e.output.set(e.output.subarray(u,u+f),0),this.onData(h)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(s===Jf&&a===0)){if(s===Bm)return s=Cs.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(e.avail_in===0)break}}return!0},Xf.prototype.onData=function(n){this.chunks.push(n)},Xf.prototype.onEnd=function(n){n===Jf&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=N0.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};function Mm(n,t){const e=new Xf(t);if(e.push(n),e.err)throw e.msg||_u[e.err];return e.result}function CF(n,t){return t=t||{},t.raw=!0,Mm(n,t)}var BF=Xf,PF=Mm,MF=CF,LF=Mm,UF=Gf,DF={Inflate:BF,inflate:PF,inflateRaw:MF,ungzip:LF,constants:UF};const{Inflate:pq,inflate:FF,inflateRaw:gq,ungzip:yq}=DF;var $F=FF,zx={exports:{}};(function(n){var t=Object.prototype.hasOwnProperty,e="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(e=!1));function i(u,f,h){this.fn=u,this.context=f,this.once=h||!1}function s(u,f,h,y,_){if(typeof h!="function")throw new TypeError("The listener must be a function");var w=new i(h,y||u,_),R=e?e+f:f;return u._events[R]?u._events[R].fn?u._events[R]=[u._events[R],w]:u._events[R].push(w):(u._events[R]=w,u._eventsCount++),u}function o(u,f){--u._eventsCount===0?u._events=new r:delete u._events[f]}function a(){this._events=new r,this._eventsCount=0}a.prototype.eventNames=function(){var f=[],h,y;if(this._eventsCount===0)return f;for(y in h=this._events)t.call(h,y)&&f.push(e?y.slice(1):y);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(h)):f},a.prototype.listeners=function(f){var h=e?e+f:f,y=this._events[h];if(!y)return[];if(y.fn)return[y.fn];for(var _=0,w=y.length,R=new Array(w);_<w;_++)R[_]=y[_].fn;return R},a.prototype.listenerCount=function(f){var h=e?e+f:f,y=this._events[h];return y?y.fn?1:y.length:0},a.prototype.emit=function(f,h,y,_,w,R){var T=e?e+f:f;if(!this._events[T])return!1;var I=this._events[T],B=arguments.length,H,U;if(I.fn){switch(I.once&&this.removeListener(f,I.fn,void 0,!0),B){case 1:return I.fn.call(I.context),!0;case 2:return I.fn.call(I.context,h),!0;case 3:return I.fn.call(I.context,h,y),!0;case 4:return I.fn.call(I.context,h,y,_),!0;case 5:return I.fn.call(I.context,h,y,_,w),!0;case 6:return I.fn.call(I.context,h,y,_,w,R),!0}for(U=1,H=new Array(B-1);U<B;U++)H[U-1]=arguments[U];I.fn.apply(I.context,H)}else{var G=I.length,W;for(U=0;U<G;U++)switch(I[U].once&&this.removeListener(f,I[U].fn,void 0,!0),B){case 1:I[U].fn.call(I[U].context);break;case 2:I[U].fn.call(I[U].context,h);break;case 3:I[U].fn.call(I[U].context,h,y);break;case 4:I[U].fn.call(I[U].context,h,y,_);break;default:if(!H)for(W=1,H=new Array(B-1);W<B;W++)H[W-1]=arguments[W];I[U].fn.apply(I[U].context,H)}}return!0},a.prototype.on=function(f,h,y){return s(this,f,h,y,!1)},a.prototype.once=function(f,h,y){return s(this,f,h,y,!0)},a.prototype.removeListener=function(f,h,y,_){var w=e?e+f:f;if(!this._events[w])return this;if(!h)return o(this,w),this;var R=this._events[w];if(R.fn)R.fn===h&&(!_||R.once)&&(!y||R.context===y)&&o(this,w);else{for(var T=0,I=[],B=R.length;T<B;T++)(R[T].fn!==h||_&&!R[T].once||y&&R[T].context!==y)&&I.push(R[T]);I.length?this._events[w]=I.length===1?I[0]:I:o(this,w)}return this},a.prototype.removeAllListeners=function(f){var h;return f?(h=e?e+f:f,this._events[h]&&o(this,h)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=e,a.EventEmitter=a,n.exports=a})(zx);var HF=zx.exports;const zF=Mr(HF);function GF(n,t){return Array.apply(0,new Array(Math.ceil(n.length/t))).map((e,r)=>n.slice(r*t,(r+1)*t))}const Ha=n=>"version"in n;function VF(n){return new TextDecoder("utf-8").decode(n)}function Gx(n){return On.encode(n)}function Vx(n){return kt.from(n,"base64")}function ko(n){return"accounts"in n}async function KF(n){const t=(await pt.findProgramAddress([],n))[0];return await pt.createWithSeed(t,jF(),n)}function jF(){return"anchor:idl"}const WF=Yt.struct([Yt.publicKey("authority"),Yt.vecU8("data")]);function ZF(n){return WF.decode(n)}function qF(n){const t=["name","path","account","relations","generic"],e=s=>s.split(".").map(dD).join("."),r=s=>{for(const o in s){const a=s[o];t.includes(o)?s[o]=Array.isArray(a)?a.map(e):e(a):typeof a=="object"&&r(a)}},i=structuredClone(n);return r(i),i}function Su(n,t,e,r){return n!=null&&n.length?n[0].name?e(n):r(n):t()}function QF(n){const t=new Map;return n.errors&&n.errors.forEach(e=>{var r;let i=(r=e.msg)!==null&&r!==void 0?r:e.name;t.set(e.code,i)}),t}function YF(n,...t){if(n.args.length!=t.length)throw new Error("Invalid argument length");const e={};let r=0;return n.args.forEach(i=>{e[i.name]=t[r],r+=1}),e}function Kx(n,t={}){n.forEach(e=>{if(ko(e))Kx(e.accounts,t[e.name]);else if(!t[e.name])throw new Error(`Account \`${e.name}\` not provided.`)})}function Ei(n){return n instanceof pt?n:new pt(n)}class JF extends TypeError{constructor(t,e){let r;const{message:i,...s}=t,{path:o}=t,a=o.length===0?i:"At path: "+o.join(".")+" -- "+i;super(a),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,s),this.name=this.constructor.name,this.failures=()=>{var u;return(u=r)!=null?u:r=[t,...e()]}}}function XF(n){return ku(n)&&typeof n[Symbol.iterator]=="function"}function ku(n){return typeof n=="object"&&n!=null}function To(n){return typeof n=="string"?JSON.stringify(n):""+n}function t7(n){const{done:t,value:e}=n.next();return t?void 0:e}function e7(n,t,e,r){if(n===!0)return;n===!1?n={}:typeof n=="string"&&(n={message:n});const{path:i,branch:s}=t,{type:o}=e,{refinement:a,message:u="Expected a value of type `"+o+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+To(r)+"`"}=n;return{value:r,type:o,refinement:a,key:i[i.length-1],path:i,branch:s,...n,message:u}}function*jx(n,t,e,r){XF(n)||(n=[n]);for(const i of n){const s=e7(i,t,e,r);s&&(yield s)}}function*Lm(n,t,e){e===void 0&&(e={});const{path:r=[],branch:i=[n],coerce:s=!1,mask:o=!1}=e,a={path:r,branch:i};if(s&&(n=t.coercer(n,a),o&&t.type!=="type"&&ku(t.schema)&&ku(n)&&!Array.isArray(n)))for(const f in n)t.schema[f]===void 0&&delete n[f];let u=!0;for(const f of t.validator(n,a))u=!1,yield[f,void 0];for(let[f,h,y]of t.entries(n,a)){const _=Lm(h,y,{path:f===void 0?r:[...r,f],branch:f===void 0?i:[...i,h],coerce:s,mask:o});for(const w of _)w[0]?(u=!1,yield[w[0],void 0]):s&&(h=w[1],f===void 0?n=h:n instanceof Map?n.set(f,h):n instanceof Set?n.add(h):ku(n)&&(n[f]=h))}if(u)for(const f of t.refiner(n,a))u=!1,yield[f,void 0];u&&(yield[void 0,n])}class Oo{constructor(t){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;const{type:e,schema:r,validator:i,refiner:s,coercer:o=u=>u,entries:a=function*(){}}=t;this.type=e,this.schema=r,this.entries=a,this.coercer=o,i?this.validator=(u,f)=>{const h=i(u,f);return jx(h,f,this,u)}:this.validator=()=>[],s?this.refiner=(u,f)=>{const h=s(u,f);return jx(h,f,this,u)}:this.refiner=()=>[]}assert(t){return n7(t,this)}create(t){return Um(t,this)}is(t){return Wx(t,this)}mask(t){return r7(t,this)}validate(t,e){return e===void 0&&(e={}),th(t,this,e)}}function n7(n,t){const e=th(n,t);if(e[0])throw e[0]}function Um(n,t){const e=th(n,t,{coerce:!0});if(e[0])throw e[0];return e[1]}function r7(n,t){const e=th(n,t,{coerce:!0,mask:!0});if(e[0])throw e[0];return e[1]}function Wx(n,t){return!th(n,t)[0]}function th(n,t,e){e===void 0&&(e={});const r=Lm(n,t,e),i=t7(r);return i[0]?[new JF(i[0],function*(){for(const o of r)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function eh(n,t){return new Oo({type:n,schema:null,validator:t})}function i7(){return eh("any",()=>!0)}function Dm(n){return new Oo({type:"array",schema:n,*entries(t){if(n&&Array.isArray(t))for(const[e,r]of t.entries())yield[e,r,n]},coercer(t){return Array.isArray(t)?t.slice():t},validator(t){return Array.isArray(t)||"Expected an array value, but received: "+To(t)}})}function s7(){return eh("boolean",n=>typeof n=="boolean")}function Zx(n){const t=To(n);return new Oo({type:"literal",schema:n,validator(e){return e===n||"Expected the literal `"+t+"`, but received: "+To(e)}})}function F0(n){return new Oo({...n,validator:(t,e)=>t===null||n.validator(t,e),refiner:(t,e)=>t===null||n.refiner(t,e)})}function $0(){return eh("number",n=>typeof n=="number"&&!isNaN(n)||"Expected a number, but received: "+To(n))}function H0(n){return new Oo({...n,validator:(t,e)=>t===void 0||n.validator(t,e),refiner:(t,e)=>t===void 0||n.refiner(t,e)})}function za(){return eh("string",n=>typeof n=="string"||"Expected a string, but received: "+To(n))}function No(n){const t=Object.keys(n);return new Oo({type:"type",schema:n,*entries(e){if(ku(e))for(const r of t)yield[r,e[r],n[r]]},validator(e){return ku(e)||"Expected an object, but received: "+To(e)}})}function qx(n){const t=n.map(e=>e.type).join(" | ");return new Oo({type:"union",schema:null,coercer(e,r){return(n.find(s=>{const[o]=s.validate(e,{coerce:!0});return!o})||Fm()).coercer(e,r)},validator(e,r){const i=[];for(const s of n){const[...o]=Lm(e,s,r),[a]=o;if(a[0])for(const[u]of o)u&&i.push(u);else return[]}return["Expected the value to satisfy a union of `"+t+"`, but received: "+To(e),...i]}})}function Fm(){return eh("unknown",()=>!0)}function o7(n,t,e){return new Oo({...n,coercer:(r,i)=>Wx(r,t)?n.coercer(e(r,i),i):n.coercer(r,i)})}const Qx=99;async function a7(n,t,e){if(t.length<=Qx)return await Yx(n,t,e);{const r=GF(t,Qx);return(await Promise.all(r.map(s=>Yx(n,s,e)))).flat()}}async function Yx(n,t,e){const r=e??n.commitment,{value:i,context:s}=await n.getMultipleAccountsInfoAndContext(t,r);return i.map((a,u)=>a===null?null:{publicKey:t[u],account:a,context:s})}async function c7(n,t,e,r,i){var s;e&&e.length>0&&t.sign(...e);const o=t._compile(),a=o.serialize(),f=t._serialize(a).toString("base64"),h={encoding:"base64",commitment:r??n.commitment};if(i){const R=(Array.isArray(i)?i:o.nonProgramIds()).map(T=>T.toBase58());h.accounts={encoding:"base64",addresses:R}}e&&e.length>0&&(h.sigVerify=!0);const y=[f,h],_=await n._rpcRequest("simulateTransaction",y),w=Um(_,h7);if("error"in w){let R;if("data"in w.error&&(R=(s=w.error.data)===null||s===void 0?void 0:s.logs,R&&Array.isArray(R))){const T=`
|
|
24
|
-
`,I=T+R.join(T);console.error(w.error.message,I)}throw new Eo("failed to simulate transaction: "+w.error.message,R)}return w.result}function u7(n){return o7(Jx(n),l7,t=>"error"in t?t:{...t,result:Um(t.result,n)})}const l7=Jx(Fm());function Jx(n){return qx([No({jsonrpc:Zx("2.0"),id:za(),result:n}),No({jsonrpc:Zx("2.0"),id:za(),error:No({code:Fm(),message:za(),data:H0(i7())})})])}function f7(n){return u7(No({context:No({slot:$0()}),value:n}))}const h7=f7(No({err:F0(qx([No({}),za()])),logs:F0(Dm(za())),accounts:H0(F0(Dm(F0(No({executable:s7(),owner:za(),lamports:$0(),data:Dm(za()),rentEpoch:H0($0())}))))),unitsConsumed:H0($0())}));class nh{constructor(t,e,r=nh.defaultOptions()){this.connection=t,this.wallet=e,this.opts=r,this.publicKey=e==null?void 0:e.publicKey}static defaultOptions(){return{preflightCommitment:"processed",commitment:"processed"}}static local(t,e=nh.defaultOptions()){throw new Error("Provider local is not available on browser.")}static env(){throw new Error("Provider env is not available on browser.")}async sendAndConfirm(t,e,r){var i,s,o,a;if(r===void 0&&(r=this.opts),Ha(t))e&&t.sign(e);else if(t.feePayer=(i=t.feePayer)!==null&&i!==void 0?i:this.wallet.publicKey,t.recentBlockhash=(await this.connection.getLatestBlockhash(r.preflightCommitment)).blockhash,e)for(const f of e)t.partialSign(f);t=await this.wallet.signTransaction(t);const u=t.serialize();try{return await Xx(this.connection,u,r)}catch(f){if(f instanceof $m){const h=Gx(Ha(t)?((s=t.signatures)===null||s===void 0?void 0:s[0])||new Uint8Array:(o=t.signature)!==null&&o!==void 0?o:new Uint8Array),y=Ha(t)?0:void 0,_=await this.connection.getTransaction(h,{commitment:"confirmed",maxSupportedTransactionVersion:y});if(_){const w=(a=_.meta)===null||a===void 0?void 0:a.logMessages;throw w?new Eo(f.message,w):f}else throw f}else throw f}}async sendAll(t,e){var r,i,s;e===void 0&&(e=this.opts);const o=(await this.connection.getLatestBlockhash(e.preflightCommitment)).blockhash;let a=t.map(h=>{var y,_;if(Ha(h.tx)){let w=h.tx;return h.signers&&w.sign(h.signers),w}else{let w=h.tx,R=(y=h.signers)!==null&&y!==void 0?y:[];return w.feePayer=(_=w.feePayer)!==null&&_!==void 0?_:this.wallet.publicKey,w.recentBlockhash=o,R.forEach(T=>{w.partialSign(T)}),w}});const u=await this.wallet.signAllTransactions(a),f=[];for(let h=0;h<a.length;h+=1){const y=u[h],_=y.serialize();try{f.push(await Xx(this.connection,_,e))}catch(w){if(w instanceof $m){const R=Gx(Ha(y)?((r=y.signatures)===null||r===void 0?void 0:r[0])||new Uint8Array:(i=y.signature)!==null&&i!==void 0?i:new Uint8Array),T=Ha(y)?0:void 0,I=await this.connection.getTransaction(R,{commitment:"confirmed",maxSupportedTransactionVersion:T});if(I){const B=(s=I.meta)===null||s===void 0?void 0:s.logMessages;throw B?new Eo(w.message,B):w}else throw w}else throw w}}return f}async simulate(t,e,r,i){let s=(await this.connection.getLatestBlockhash(r??this.connection.commitment)).blockhash,o;if(Ha(t)?(e&&e.length>0&&(t.sign(e),t=await this.wallet.signTransaction(t)),o=await this.connection.simulateTransaction(t,{commitment:r})):(t.feePayer=t.feePayer||this.wallet.publicKey,t.recentBlockhash=s,e&&e.length>0&&(t=await this.wallet.signTransaction(t)),o=await c7(this.connection,t,e,r,i)),o.value.err)throw new d7(o.value);return o.value}}class d7 extends Error{constructor(t,e){super(e),this.simulationResponse=t}}async function Xx(n,t,e){const r=e?{skipPreflight:e.skipPreflight,preflightCommitment:e.preflightCommitment||e.commitment,maxRetries:e.maxRetries,minContextSlot:e.minContextSlot}:{};let i;const s=Date.now();for(;Date.now()-s<6e4;)try{const o=await n.sendRawTransaction(t,r);if(e!=null&&e.blockhash)if(r.maxRetries===0){const a=AbortSignal.timeout(15e3);i=(await n.confirmTransaction({abortSignal:a,signature:o,...e.blockhash},e&&e.commitment)).value}else i=(await n.confirmTransaction({signature:o,...e.blockhash},e&&e.commitment)).value;else i=(await n.confirmTransaction(o,e&&e.commitment)).value;if(i.err)throw new $m(`Raw transaction ${o} failed (${JSON.stringify(i)})`);return o}catch(o){if(o.name==="TimeoutError")continue;throw o}throw Error("Transaction failed to confirm in 60s")}class $m extends Error{constructor(t){super(t)}}function Hm(){return nh.local()}var p7=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof qc<"u"?qc:typeof self<"u"?self:{},et={};Object.defineProperty(et,"__esModule",{value:!0});var t2=et.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=Q2=et.ANCHOR_ERROR__REQUIRE_VIOLATED=q2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=Z2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=W2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=j2=et.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=K2=et.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=V2=et.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=G2=et.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=z2=et.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=H2=et.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=$2=et.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=F2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=D2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=U2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=L2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=M2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=P2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=B2=et.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=C2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=N2=et.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=O2=et.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=T2=et.ANCHOR_ERROR__CONSTRAINT_SPACE=k2=et.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=S2=et.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=I2=et.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=R2=et.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=x2=et.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=v2=et.ANCHOR_ERROR__CONSTRAINT_ZERO=E2=et.ANCHOR_ERROR__CONSTRAINT_ADDRESS=A2=et.ANCHOR_ERROR__CONSTRAINT_CLOSE=_2=et.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=b2=et.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=w2=et.ANCHOR_ERROR__CONSTRAINT_STATE=m2=et.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=y2=et.ANCHOR_ERROR__CONSTRAINT_SEEDS=g2=et.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=p2=et.ANCHOR_ERROR__CONSTRAINT_OWNER=d2=et.ANCHOR_ERROR__CONSTRAINT_RAW=h2=et.ANCHOR_ERROR__CONSTRAINT_SIGNER=f2=et.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=l2=et.ANCHOR_ERROR__CONSTRAINT_MUT=u2=et.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=c2=et.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=a2=et.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=o2=et.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=s2=et.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=i2=et.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=r2=et.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=n2=et.ANCHOR_ERROR__INSTRUCTION_MISSING=void 0,e2=et.ANCHOR_ERROR__DEPRECATED=ER=et.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=AR=et.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=_R=et.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=bR=et.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=wR=et.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=mR=et.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=yR=et.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=gR=et.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=pR=et.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=dR=et.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=hR=et.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=fR=et.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=lR=et.ANCHOR_ERROR__INVALID_PROGRAM_ID=uR=et.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=cR=et.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=aR=et.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=oR=et.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=sR=et.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=iR=et.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=rR=et.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=nR=et.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=eR=et.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=tR=et.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=X2=et.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=J2=et.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=Y2=et.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=void 0,n2=et.ANCHOR_ERROR__INSTRUCTION_MISSING=100,r2=et.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=101,i2=et.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=102,s2=et.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=103,o2=et.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=1e3,a2=et.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=1001,c2=et.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=1002,u2=et.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=1500,l2=et.ANCHOR_ERROR__CONSTRAINT_MUT=2e3,f2=et.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=2001,h2=et.ANCHOR_ERROR__CONSTRAINT_SIGNER=2002,d2=et.ANCHOR_ERROR__CONSTRAINT_RAW=2003,p2=et.ANCHOR_ERROR__CONSTRAINT_OWNER=2004,g2=et.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=2005,y2=et.ANCHOR_ERROR__CONSTRAINT_SEEDS=2006,m2=et.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=2007,w2=et.ANCHOR_ERROR__CONSTRAINT_STATE=2008,b2=et.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=2009,_2=et.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=2010,A2=et.ANCHOR_ERROR__CONSTRAINT_CLOSE=2011,E2=et.ANCHOR_ERROR__CONSTRAINT_ADDRESS=2012,v2=et.ANCHOR_ERROR__CONSTRAINT_ZERO=2013,x2=et.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=2014,R2=et.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=2015,I2=et.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=2016,S2=et.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=2017,k2=et.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=2018,T2=et.ANCHOR_ERROR__CONSTRAINT_SPACE=2019,O2=et.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=2020,N2=et.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=2021,C2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=2022,B2=et.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=2023,P2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=2024,M2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=2025,L2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=2026,U2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=2027,D2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=2028,F2=et.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=2029,$2=et.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=2030,H2=et.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=2031,z2=et.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=2032,G2=et.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=2033,V2=et.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=2034,K2=et.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=2035,j2=et.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=2036,W2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=2037,Z2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=2038,q2=et.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=2039,Q2=et.ANCHOR_ERROR__REQUIRE_VIOLATED=2500;t2=et.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=2501;var Y2=et.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=2502,J2=et.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=2503,X2=et.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=2504,tR=et.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=2505,eR=et.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=2506,nR=et.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=3e3,rR=et.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=3001,iR=et.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=3002,sR=et.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=3003,oR=et.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=3004,aR=et.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=3005,cR=et.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=3006,uR=et.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=3007,lR=et.ANCHOR_ERROR__INVALID_PROGRAM_ID=3008,fR=et.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=3009,hR=et.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=3010,dR=et.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=3011,pR=et.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=3012,gR=et.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=3013,yR=et.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=3014,mR=et.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=3015,wR=et.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=3016,bR=et.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=3017,_R=et.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=4100,AR=et.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=4101,ER=et.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=4102;e2=et.ANCHOR_ERROR__DEPRECATED=5e3;const g7=new Map;function vR(n){return g7.get(n)!==void 0}class Co extends Error{constructor(t){super(t),this.name="IdlError"}}class rh{constructor(t){this.stack=t}static parse(t){var e;const r=/^Program (\w*) invoke/,i=/^Program \w* success/,s=[];for(let o=0;o<t.length;o++){if(i.exec(t[o])){s.pop();continue}const a=(e=r.exec(t[o]))===null||e===void 0?void 0:e[1];a&&s.push(new pt(a))}return new rh(s)}}class ih extends Error{constructor(t,e,r,i,s,o){super(r.join(`
|
|
25
|
-
`).replace("Program log: ","")),this.errorLogs=r,this.logs=i,this.error={errorCode:t,errorMessage:e,comparedValues:o,origin:s},this._programErrorStack=rh.parse(i)}static parse(t){if(!t)return null;const e=t.findIndex(_=>_.startsWith("Program log: AnchorError"));if(e===-1)return null;const r=t[e],i=[r];let s;if(e+1<t.length){if(t[e+1]==="Program log: Left:"){const _=/^Program log: (.*)$/,w=_.exec(t[e+2])[1],R=_.exec(t[e+4])[1];s=[new pt(w),new pt(R)],i.push(...t.slice(e+1,e+5))}else if(t[e+1].startsWith("Program log: Left:")){const _=/^Program log: (Left|Right): (.*)$/,w=_.exec(t[e+1])[2],R=_.exec(t[e+2])[2];i.push(...t.slice(e+1,e+3)),s=[w,R]}}const a=/^Program log: AnchorError occurred\. Error Code: (.*)\. Error Number: (\d*)\. Error Message: (.*)\./.exec(r),f=/^Program log: AnchorError thrown in (.*):(\d*)\. Error Code: (.*)\. Error Number: (\d*)\. Error Message: (.*)\./.exec(r),y=/^Program log: AnchorError caused by account: (.*)\. Error Code: (.*)\. Error Number: (\d*)\. Error Message: (.*)\./.exec(r);if(a){const[_,w,R]=a.slice(1,4),T={code:_,number:parseInt(w)};return new ih(T,R,i,t,void 0,s)}else if(f){const[_,w,R,T,I]=f.slice(1,6),B={code:R,number:parseInt(T)},H={file:_,line:parseInt(w)};return new ih(B,I,i,t,H,s)}else if(y){const[_,w,R,T]=y.slice(1,5),I=_,B={code:w,number:parseInt(R)};return new ih(B,T,i,t,I,s)}else return null}get program(){return this._programErrorStack.stack[this._programErrorStack.stack.length-1]}get programErrorStack(){return this._programErrorStack.stack}toString(){return this.message}}class z0 extends Error{constructor(t,e,r){super(),this.code=t,this.msg=e,this.logs=r,r&&(this._programErrorStack=rh.parse(r))}static parse(t,e){const r=t.toString();let i;if(r.includes("custom program error:")){let a=r.split("custom program error: ");if(a.length!==2)return null;i=a[1]}else{const a=r.match(/"Custom":([0-9]+)}/g);if(!a||a.length>1)return null;i=a[0].match(/([0-9]+)/g)[0]}let s;try{s=parseInt(i)}catch{return null}let o=e.get(s);return o!==void 0?new z0(s,o,t.logs):(o=y7.get(s),o!==void 0?new z0(s,o,t.logs):null)}get program(){var t;return(t=this._programErrorStack)===null||t===void 0?void 0:t.stack[this._programErrorStack.stack.length-1]}get programErrorStack(){var t;return(t=this._programErrorStack)===null||t===void 0?void 0:t.stack}toString(){return this.msg}}function xR(n,t){vR("debug-logs")&&console.log("Translating error:",n);const e=ih.parse(n.logs);if(e)return e;const r=z0.parse(n,t);if(r)return r;if(n.logs){const i={get:function(s,o){return o==="programErrorStack"?s.programErrorStack.stack:o==="program"?s.programErrorStack.stack[n.programErrorStack.stack.length-1]:Reflect.get(...arguments)}};return n.programErrorStack=rh.parse(n.logs),new Proxy(n,i)}return n}const _t={InstructionMissing:n2,InstructionFallbackNotFound:r2,InstructionDidNotDeserialize:i2,InstructionDidNotSerialize:s2,IdlInstructionStub:o2,IdlInstructionInvalidProgram:a2,IdlAccountNotEmpty:c2,EventInstructionStub:u2,ConstraintMut:l2,ConstraintHasOne:f2,ConstraintSigner:h2,ConstraintRaw:d2,ConstraintOwner:p2,ConstraintRentExempt:g2,ConstraintSeeds:y2,ConstraintExecutable:m2,ConstraintState:w2,ConstraintAssociated:b2,ConstraintAssociatedInit:_2,ConstraintClose:A2,ConstraintAddress:E2,ConstraintZero:v2,ConstraintTokenMint:x2,ConstraintTokenOwner:R2,ConstraintMintMintAuthority:I2,ConstraintMintFreezeAuthority:S2,ConstraintMintDecimals:k2,ConstraintSpace:T2,ConstraintAccountIsNone:O2,ConstraintTokenTokenProgram:N2,ConstraintMintTokenProgram:C2,ConstraintAssociatedTokenTokenProgram:B2,ConstraintMintGroupPointerExtension:P2,ConstraintMintGroupPointerExtensionAuthority:M2,ConstraintMintGroupPointerExtensionGroupAddress:L2,ConstraintMintGroupMemberPointerExtension:U2,ConstraintMintGroupMemberPointerExtensionAuthority:D2,ConstraintMintGroupMemberPointerExtensionMemberAddress:F2,ConstraintMintMetadataPointerExtension:$2,ConstraintMintMetadataPointerExtensionAuthority:H2,ConstraintMintMetadataPointerExtensionMetadataAddress:z2,ConstraintMintCloseAuthorityExtension:G2,ConstraintMintCloseAuthorityExtensionAuthority:V2,ConstraintMintPermanentDelegateExtension:K2,ConstraintMintPermanentDelegateExtensionDelegate:j2,ConstraintMintTransferHookExtension:W2,ConstraintMintTransferHookExtensionAuthority:Z2,ConstraintMintTransferHookExtensionProgramId:q2,RequireViolated:Q2,RequireEqViolated:t2,RequireKeysEqViolated:Y2,RequireNeqViolated:J2,RequireKeysNeqViolated:X2,RequireGtViolated:tR,RequireGteViolated:eR,AccountDiscriminatorAlreadySet:nR,AccountDiscriminatorNotFound:rR,AccountDiscriminatorMismatch:iR,AccountDidNotDeserialize:sR,AccountDidNotSerialize:oR,AccountNotEnoughKeys:aR,AccountNotMutable:cR,AccountOwnedByWrongProgram:uR,InvalidProgramId:lR,InvalidProgramExecutable:fR,AccountNotSigner:hR,AccountNotSystemOwned:dR,AccountNotInitialized:pR,AccountNotProgramData:gR,AccountNotAssociatedTokenAccount:yR,AccountSysvarMismatch:mR,AccountReallocExceedsLimit:wR,AccountDuplicateReallocs:bR,DeclaredProgramIdMismatch:_R,TryingToInitPayerAsProgramAccount:AR,InvalidNumericConversion:ER,Deprecated:e2},y7=new Map([[_t.InstructionMissing,"Instruction discriminator not provided"],[_t.InstructionFallbackNotFound,"Fallback functions are not supported"],[_t.InstructionDidNotDeserialize,"The program could not deserialize the given instruction"],[_t.InstructionDidNotSerialize,"The program could not serialize the given instruction"],[_t.IdlInstructionStub,"The program was compiled without idl instructions"],[_t.IdlInstructionInvalidProgram,"The transaction was given an invalid program for the IDL instruction"],[_t.IdlAccountNotEmpty,"IDL account must be empty in order to resize, try closing first"],[_t.EventInstructionStub,"The program was compiled without `event-cpi` feature"],[_t.ConstraintMut,"A mut constraint was violated"],[_t.ConstraintHasOne,"A has one constraint was violated"],[_t.ConstraintSigner,"A signer constraint was violated"],[_t.ConstraintRaw,"A raw constraint was violated"],[_t.ConstraintOwner,"An owner constraint was violated"],[_t.ConstraintRentExempt,"A rent exemption constraint was violated"],[_t.ConstraintSeeds,"A seeds constraint was violated"],[_t.ConstraintExecutable,"An executable constraint was violated"],[_t.ConstraintState,"Deprecated Error, feel free to replace with something else"],[_t.ConstraintAssociated,"An associated constraint was violated"],[_t.ConstraintAssociatedInit,"An associated init constraint was violated"],[_t.ConstraintClose,"A close constraint was violated"],[_t.ConstraintAddress,"An address constraint was violated"],[_t.ConstraintZero,"Expected zero account discriminant"],[_t.ConstraintTokenMint,"A token mint constraint was violated"],[_t.ConstraintTokenOwner,"A token owner constraint was violated"],[_t.ConstraintMintMintAuthority,"A mint mint authority constraint was violated"],[_t.ConstraintMintFreezeAuthority,"A mint freeze authority constraint was violated"],[_t.ConstraintMintDecimals,"A mint decimals constraint was violated"],[_t.ConstraintSpace,"A space constraint was violated"],[_t.ConstraintAccountIsNone,"A required account for the constraint is None"],[_t.ConstraintTokenTokenProgram,"A token account token program constraint was violated"],[_t.ConstraintMintTokenProgram,"A mint token program constraint was violated"],[_t.ConstraintAssociatedTokenTokenProgram,"An associated token account token program constraint was violated"],[_t.ConstraintMintGroupPointerExtension,"A group pointer extension constraint was violated"],[_t.ConstraintMintGroupPointerExtensionAuthority,"A group pointer extension authority constraint was violated"],[_t.ConstraintMintGroupPointerExtensionGroupAddress,"A group pointer extension group address constraint was violated"],[_t.ConstraintMintGroupMemberPointerExtension,"A group member pointer extension constraint was violated"],[_t.ConstraintMintGroupMemberPointerExtensionAuthority,"A group member pointer extension authority constraint was violated"],[_t.ConstraintMintGroupMemberPointerExtensionMemberAddress,"A group member pointer extension group address constraint was violated"],[_t.ConstraintMintMetadataPointerExtension,"A metadata pointer extension constraint was violated"],[_t.ConstraintMintMetadataPointerExtensionAuthority,"A metadata pointer extension authority constraint was violated"],[_t.ConstraintMintMetadataPointerExtensionMetadataAddress,"A metadata pointer extension metadata address constraint was violated"],[_t.ConstraintMintCloseAuthorityExtension,"A close authority constraint was violated"],[_t.ConstraintMintCloseAuthorityExtensionAuthority,"A close authority extension authority constraint was violated"],[_t.ConstraintMintPermanentDelegateExtension,"A permanent delegate extension constraint was violated"],[_t.ConstraintMintPermanentDelegateExtensionDelegate,"A permanent delegate extension delegate constraint was violated"],[_t.ConstraintMintTransferHookExtension,"A transfer hook extension constraint was violated"],[_t.ConstraintMintTransferHookExtensionAuthority,"A transfer hook extension authority constraint was violated"],[_t.ConstraintMintTransferHookExtensionProgramId,"A transfer hook extension transfer hook program id constraint was violated"],[_t.RequireViolated,"A require expression was violated"],[_t.RequireEqViolated,"A require_eq expression was violated"],[_t.RequireKeysEqViolated,"A require_keys_eq expression was violated"],[_t.RequireNeqViolated,"A require_neq expression was violated"],[_t.RequireKeysNeqViolated,"A require_keys_neq expression was violated"],[_t.RequireGtViolated,"A require_gt expression was violated"],[_t.RequireGteViolated,"A require_gte expression was violated"],[_t.AccountDiscriminatorAlreadySet,"The account discriminator was already set on this account"],[_t.AccountDiscriminatorNotFound,"No discriminator was found on the account"],[_t.AccountDiscriminatorMismatch,"Account discriminator did not match what was expected"],[_t.AccountDidNotDeserialize,"Failed to deserialize the account"],[_t.AccountDidNotSerialize,"Failed to serialize the account"],[_t.AccountNotEnoughKeys,"Not enough account keys given to the instruction"],[_t.AccountNotMutable,"The given account is not mutable"],[_t.AccountOwnedByWrongProgram,"The given account is owned by a different program than expected"],[_t.InvalidProgramId,"Program ID was not as expected"],[_t.InvalidProgramExecutable,"Program account is not executable"],[_t.AccountNotSigner,"The given account did not sign"],[_t.AccountNotSystemOwned,"The given account is not owned by the system program"],[_t.AccountNotInitialized,"The program expected this account to be already initialized"],[_t.AccountNotProgramData,"The given account is not a program data account"],[_t.AccountNotAssociatedTokenAccount,"The given account is not the associated token account"],[_t.AccountSysvarMismatch,"The given public key does not match the required sysvar"],[_t.AccountReallocExceedsLimit,"The account reallocation exceeds the MAX_PERMITTED_DATA_INCREASE limit"],[_t.AccountDuplicateReallocs,"The account was duplicated for more than one reallocation"],[_t.DeclaredProgramIdMismatch,"The declared program id does not match the actual program id"],[_t.TryingToInitPayerAsProgramAccount,"You cannot/should not initialize the payer account as a program account"],[_t.InvalidNumericConversion,"The program could not perform the numeric conversion, out of range integral type conversion attempted"],[_t.Deprecated,"The API being used is deprecated and should no longer be used"]]);class ge{static fieldLayout(t,e=[],r){const i=t.name;switch(t.type){case"bool":return Yt.bool(i);case"u8":return Yt.u8(i);case"i8":return Yt.i8(i);case"u16":return Yt.u16(i);case"i16":return Yt.i16(i);case"u32":return Yt.u32(i);case"i32":return Yt.i32(i);case"f32":return Yt.f32(i);case"u64":return Yt.u64(i);case"i64":return Yt.i64(i);case"f64":return Yt.f64(i);case"u128":return Yt.u128(i);case"i128":return Yt.i128(i);case"u256":return Yt.u256(i);case"i256":return Yt.i256(i);case"bytes":return Yt.vecU8(i);case"string":return Yt.str(i);case"pubkey":return Yt.publicKey(i);default:{if("option"in t.type)return Yt.option(ge.fieldLayout({type:t.type.option},e,r),i);if("vec"in t.type)return Yt.vec(ge.fieldLayout({type:t.type.vec},e,r),i);if("array"in t.type){let[s,o]=t.type.array;return o=ge.resolveArrayLen(o,r),Yt.array(ge.fieldLayout({type:s},e,r),o,i)}if("defined"in t.type){if(!e)throw new Co("User defined types not provided");const s=t.type.defined.name,o=e.find(a=>a.name===s);if(!o)throw new Co(`Type not found: ${t.name}`);return ge.typeDefLayout({typeDef:o,types:e,genericArgs:r??t.type.defined.generics,name:i})}if("generic"in t.type){const s=r==null?void 0:r.at(0);if((s==null?void 0:s.kind)!=="type")throw new Co(`Invalid generic field: ${t.name}`);return ge.fieldLayout({...t,type:s.type},e)}throw new Co(`Not yet implemented: ${JSON.stringify(t.type)}`)}}}static typeDefLayout({typeDef:t,types:e,name:r,genericArgs:i}){switch(t.type.kind){case"struct":{const s=Su(t.type.fields,()=>[],o=>o.map(a=>{const u=i&&ge.resolveGenericArgs({type:a.type,typeDef:t,genericArgs:i});return ge.fieldLayout(a,e,u)}),o=>o.map((a,u)=>{const f=i&&ge.resolveGenericArgs({type:a,typeDef:t,genericArgs:i});return ge.fieldLayout({name:u.toString(),type:a},e,f)}));return Yt.struct(s,r)}case"enum":{const s=t.type.variants.map(o=>{const a=Su(o.fields,()=>[],u=>u.map(f=>{const h=i&&ge.resolveGenericArgs({type:f.type,typeDef:t,genericArgs:i});return ge.fieldLayout(f,e,h)}),u=>u.map((f,h)=>{const y=i&&ge.resolveGenericArgs({type:f,typeDef:t,genericArgs:i});return ge.fieldLayout({name:h.toString(),type:f},e,y)}));return Yt.struct(a,o.name)});return r!==void 0?Yt.rustEnum(s).replicate(r):Yt.rustEnum(s,r)}case"type":return ge.fieldLayout({type:t.type.alias,name:r},e)}}static typeSize(t,e,r){var i;switch(t){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"pubkey":return 32;default:if("option"in t)return 1+ge.typeSize(t.option,e,r);if("coption"in t)return 4+ge.typeSize(t.coption,e,r);if("vec"in t)return 1;if("array"in t){let[s,o]=t.array;return o=ge.resolveArrayLen(o,r),ge.typeSize(s,e,r)*o}if("defined"in t){const s=(i=e.types)===null||i===void 0?void 0:i.find(a=>a.name===t.defined.name);if(!s)throw new Co(`Type not found: ${JSON.stringify(t)}`);const o=a=>{const u=r??t.defined.generics,f=u&&ge.resolveGenericArgs({type:a,typeDef:s,genericArgs:u});return ge.typeSize(a,e,f)};switch(s.type.kind){case"struct":return Su(s.type.fields,()=>[0],a=>a.map(u=>o(u.type)),a=>a.map(u=>o(u))).reduce((a,u)=>a+u,0);case"enum":{const a=s.type.variants.map(u=>Su(u.fields,()=>[0],f=>f.map(h=>o(h.type)),f=>f.map(h=>o(h))).reduce((f,h)=>f+h,0));return Math.max(...a)+1}case"type":return ge.typeSize(s.type.alias,e,r)}}if("generic"in t){const s=r==null?void 0:r.at(0);if((s==null?void 0:s.kind)!=="type")throw new Co(`Invalid generic: ${t.generic}`);return ge.typeSize(s.type,e,r)}throw new Error(`Invalid type ${JSON.stringify(t)}`)}}static resolveArrayLen(t,e){if(typeof t=="number")return t;if(e){const r=e.find(i=>i.kind==="const");(r==null?void 0:r.kind)==="const"&&(t=+r.value)}if(typeof t!="number")throw new Co("Generic array length did not resolve");return t}static resolveGenericArgs({type:t,typeDef:e,genericArgs:r,isDefined:i}){if(typeof t!="object")return null;for(const s in e.generics){const o=e.generics[s];if("generic"in t&&o.name===t.generic)return[r[s]];if("option"in t){const a=ge.resolveGenericArgs({type:t.option,typeDef:e,genericArgs:r,isDefined:i});if(!a||!i)return a;if(a[0].kind==="type")return[{kind:"type",type:{option:a[0].type}}]}if("vec"in t){const a=ge.resolveGenericArgs({type:t.vec,typeDef:e,genericArgs:r,isDefined:i});if(!a||!i)return a;if(a[0].kind==="type")return[{kind:"type",type:{vec:a[0].type}}]}if("array"in t){const[a,u]=t.array,f=typeof u=="object",h=ge.resolveGenericArgs({type:a,typeDef:e,genericArgs:r,isDefined:i});if(h){for(const y in e.generics.slice(+s)){const _=+s+ +y;f&&e.generics[_].name===u.generic&&h.push(r[_])}if(!i)return h;if(h[0].kind==="type"&&h[1].kind==="const")return[{kind:"type",type:{array:[h[0].type,+h[1].value]}}]}if(f&&o.name===u.generic){const y=r[s];return i?[{kind:"type",type:{array:[a,+y.value]}}]:[y]}return null}if("defined"in t)return t.defined.generics?t.defined.generics.flatMap(a=>{switch(a.kind){case"type":return ge.resolveGenericArgs({type:a.type,typeDef:e,genericArgs:r,isDefined:!0});case"const":return[a]}}).filter(a=>a!==null):null}return null}}class m7{constructor(t){this.idl=t;const e=t.instructions.map(r=>{const i=r.name,s=r.args.map(a=>ge.fieldLayout(a,t.types)),o=Yt.struct(s,i);return[i,{discriminator:r.discriminator,layout:o}]});this.ixLayouts=new Map(e)}encode(t,e){const r=kt.alloc(1e3),i=this.ixLayouts.get(t);if(!i)throw new Error(`Unknown method: ${t}`);const s=i.layout.encode(e,r),o=r.slice(0,s);return kt.concat([kt.from(i.discriminator),o])}decode(t,e="hex"){typeof t=="string"&&(t=e==="hex"?kt.from(t,"hex"):On.decode(t));for(const[r,i]of this.ixLayouts){const s=t.subarray(0,i.discriminator.length);if(s.equals(kt.from(i.discriminator)))return{name:r,data:i.layout.decode(t.subarray(s.length))}}return null}format(t,e){return Gr.format(t,e,this.idl)}}class Gr{static format(t,e,r){const i=r.instructions.find(u=>t.name===u.name);if(!i)return console.error("Invalid instruction given"),null;const s=i.args.map(u=>({name:u.name,type:Gr.formatIdlType(u.type),data:Gr.formatIdlData(u,t.data[u.name],r.types)})),o=Gr.flattenIdlAccounts(i.accounts),a=e.map((u,f)=>f<o.length?{name:o[f].name,...u}:{name:void 0,...u});return{args:s,accounts:a}}static formatIdlType(t){if(typeof t=="string")return t;if("option"in t)return`Option<${this.formatIdlType(t.option)}>`;if("coption"in t)return`COption<${this.formatIdlType(t.coption)}>`;if("vec"in t)return`Vec<${this.formatIdlType(t.vec)}>`;if("array"in t)return`Array<${t.array[0]}; ${t.array[1]}>`;if("defined"in t){const e=t.defined.name;if(t.defined.generics){const r=t.defined.generics.map(i=>{switch(i.kind){case"type":return Gr.formatIdlType(i.type);case"const":return i.value}}).join(", ");return`${e}<${r}>`}return e}throw new Error(`Unknown IDL type: ${t}`)}static formatIdlData(t,e,r){if(typeof t.type=="string")return e.toString();if("vec"in t.type)return"["+e.map(i=>this.formatIdlData({name:"",type:t.type.vec},i,r)).join(", ")+"]";if("option"in t.type)return e===null?"null":this.formatIdlData({name:"",type:t.type.option},e,r);if("defined"in t.type){if(!r)throw new Error("User defined types not provided");const i=t.type.defined.name,s=r.find(o=>o.name===i);if(!s)throw new Error(`Type not found: ${i}`);return Gr.formatIdlDataDefined(s,e,r)}return"unknown"}static formatIdlDataDefined(t,e,r){switch(t.type.kind){case"struct":return"{ "+Su(t.type.fields,()=>"",i=>Object.entries(e).map(([s,o])=>{const a=i.find(u=>u.name===s);if(!a)throw new Error(`Field not found: ${s}`);return s+": "+Gr.formatIdlData(a,o,r)}).join(", "),i=>Object.entries(e).map(([s,o])=>s+": "+Gr.formatIdlData({name:"",type:i[s]},o,r)).join(", "))+" }";case"enum":{const i=Object.keys(e)[0],s=t.type.variants.find(a=>a.name===i);if(!s)throw new Error(`Unable to find variant: ${i}`);const o=e[i];return Su(s.fields,()=>i,a=>{const u=Object.keys(o).map(f=>{const h=o[f],y=a.find(_=>_.name===f);if(!y)throw new Error(`Field not found: ${f}`);return f+": "+Gr.formatIdlData(y,h,r)}).join(", ");return`${i} { ${u} }`},a=>{const u=Object.entries(o).map(([f,h])=>f+": "+Gr.formatIdlData({name:"",type:a[f]},h,r)).join(", ");return`${i} { ${u} }`})}case"type":return Gr.formatIdlType(t.type.alias)}}static flattenIdlAccounts(t,e){return t.map(r=>{const i=w7(r.name);if(r.hasOwnProperty("accounts")){const s=e?`${e} > ${i}`:i;return Gr.flattenIdlAccounts(r.accounts,s)}else return{...r,name:e?`${e} > ${i}`:i}}).flat()}}function w7(n){const t=n.replace(/([A-Z])/g," $1");return t.charAt(0).toUpperCase()+t.slice(1)}class b7{constructor(t){if(this.idl=t,!t.accounts){this.accountLayouts=new Map;return}const e=t.types;if(!e)throw new Error("Accounts require `idl.types`");const r=t.accounts.map(i=>{const s=e.find(o=>o.name===i.name);if(!s)throw new Error(`Account not found: ${i.name}`);return[i.name,{discriminator:i.discriminator,layout:ge.typeDefLayout({typeDef:s,types:e})}]});this.accountLayouts=new Map(r)}async encode(t,e){const r=kt.alloc(1e3),i=this.accountLayouts.get(t);if(!i)throw new Error(`Unknown account: ${t}`);const s=i.layout.encode(e,r),o=r.slice(0,s),a=this.accountDiscriminator(t);return kt.concat([a,o])}decode(t,e){const r=this.accountDiscriminator(t);if(r.compare(e.slice(0,r.length)))throw new Error("Invalid account discriminator");return this.decodeUnchecked(t,e)}decodeAny(t){for(const[e,r]of this.accountLayouts)if(t.subarray(0,r.discriminator.length).equals(kt.from(r.discriminator)))return this.decodeUnchecked(e,t);throw new Error("Account not found")}decodeUnchecked(t,e){const r=this.accountDiscriminator(t),i=e.subarray(r.length),s=this.accountLayouts.get(t);if(!s)throw new Error(`Unknown account: ${t}`);return s.layout.decode(i)}memcmp(t,e){const r=this.accountDiscriminator(t);return{offset:0,bytes:On.encode(e?kt.concat([r,e]):r)}}size(t){return this.accountDiscriminator(t).length+ge.typeSize({defined:{name:t}},this.idl)}accountDiscriminator(t){var e;const r=(e=this.idl.accounts)===null||e===void 0?void 0:e.find(i=>i.name===t);if(!r)throw new Error(`Account not found: ${t}`);return kt.from(r.discriminator)}}class _7{constructor(t){if(!t.events){this.layouts=new Map;return}const e=t.types;if(!e)throw new Error("Events require `idl.types`");const r=t.events.map(i=>{const s=e.find(o=>o.name===i.name);if(!s)throw new Error(`Event not found: ${i.name}`);return[i.name,{discriminator:i.discriminator,layout:ge.typeDefLayout({typeDef:s,types:e})}]});this.layouts=new Map(r)}decode(t){let e;try{e=Vx(t)}catch{return null}for(const[r,i]of this.layouts){const s=e.subarray(0,i.discriminator.length);if(s.equals(kt.from(i.discriminator)))return{name:r,data:i.layout.decode(e.subarray(s.length))}}return null}}class A7{constructor(t){const e=t.types;if(!e){this.typeLayouts=new Map;return}const r=e.filter(i=>!i.generics).map(i=>[i.name,ge.typeDefLayout({typeDef:i,types:e})]);this.typeLayouts=new Map(r)}encode(t,e){const r=kt.alloc(1e3),i=this.typeLayouts.get(t);if(!i)throw new Error(`Unknown type: ${t}`);const s=i.encode(e,r);return r.slice(0,s)}decode(t,e){const r=this.typeLayouts.get(t);if(!r)throw new Error(`Unknown type: ${t}`);return r.decode(e)}}class RR{constructor(t){this.instruction=new m7(t),this.accounts=new b7(t),this.events=new _7(t),this.types=new A7(t)}}class Tr{constructor(t,e){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=e}makeDestinationObject(){return{}}decode(t,e){throw new Error("Layout is abstract")}encode(t,e,r){throw new Error("Layout is abstract")}getSpan(t,e){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){const e=Object.create(this.constructor.prototype);return Object.assign(e,this),e.property=t,e}fromArray(t){}}var G0=Tr;function E7(n,t){return t.property?n+"["+t.property+"]":n}class Ga extends Tr{isCount(){throw new Error("ExternalLayout is abstract")}}class IR extends Ga{constructor(t,e,r){if(!(t instanceof Tr))throw new TypeError("layout must be a Layout");if(e===void 0)e=0;else if(!Number.isInteger(e))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=e}isCount(){return this.layout instanceof V0||this.layout instanceof SR}decode(t,e){return e===void 0&&(e=0),this.layout.decode(t,e+this.offset)}encode(t,e,r){return r===void 0&&(r=0),this.layout.encode(t,e,r+this.offset)}}class V0 extends Tr{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e){return e===void 0&&(e=0),t.readUIntLE(e,this.span)}encode(t,e,r){return r===void 0&&(r=0),e.writeUIntLE(t,r,this.span),this.span}}class SR extends Tr{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e){return e===void 0&&(e=0),t.readUIntBE(e,this.span)}encode(t,e,r){return r===void 0&&(r=0),e.writeUIntBE(t,r,this.span),this.span}}const zm=Math.pow(2,32);function kR(n){const t=Math.floor(n/zm),e=n-t*zm;return{hi32:t,lo32:e}}function TR(n,t){return n*zm+t}class v7 extends Tr{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readUInt32LE(e+4);return TR(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=kR(t);return e.writeUInt32LE(i.lo32,r),e.writeUInt32LE(i.hi32,r+4),8}}class x7 extends Tr{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readInt32LE(e+4);return TR(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=kR(t);return e.writeUInt32LE(i.lo32,r),e.writeInt32LE(i.hi32,r+4),8}}class R7 extends Tr{constructor(t,e,r){if(!(Array.isArray(t)&&t.reduce((s,o)=>s&&o instanceof Tr,!0)))throw new TypeError("fields must be array of Layout instances");typeof e=="boolean"&&r===void 0&&(r=e,e=void 0);for(const s of t)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let i=-1;try{i=t.reduce((s,o)=>s+o.getSpan(),0)}catch{}super(i,e),this.fields=t,this.decodePrefixes=!!r}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);let r=0;try{r=this.fields.reduce((i,s)=>{const o=s.getSpan(t,e);return e+=o,i+o},0)}catch{throw new RangeError("indeterminate span")}return r}decode(t,e){e===void 0&&(e=0);const r=this.makeDestinationObject();for(const i of this.fields)if(i.property!==void 0&&(r[i.property]=i.decode(t,e)),e+=i.getSpan(t,e),this.decodePrefixes&&t.length===e)break;return r}encode(t,e,r){r===void 0&&(r=0);const i=r;let s=0,o=0;for(const a of this.fields){let u=a.span;if(o=0<u?u:0,a.property!==void 0){const f=t[a.property];f!==void 0&&(o=a.encode(f,e,r),0>u&&(u=a.getSpan(e,r)))}s=r,r+=u}return s+o-i}fromArray(t){const e=this.makeDestinationObject();for(const r of this.fields)r.property!==void 0&&0<t.length&&(e[r.property]=t.shift());return e}layoutFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}offsetOf(t){if(typeof t!="string")throw new TypeError("property must be string");let e=0;for(const r of this.fields){if(r.property===t)return e;0>r.span?e=-1:0<=e&&(e+=r.span)}}}class OR{constructor(t){this.property=t}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}}class NR extends OR{constructor(t,e){if(!(t instanceof Ga&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(e||t.property||"variant"),this.layout=t}decode(t,e){return this.layout.decode(t,e)}encode(t,e,r){return this.layout.encode(t,e,r)}}class CR extends Tr{constructor(t,e,r){const i=t instanceof V0||t instanceof SR;if(i)t=new NR(new IR(t));else if(t instanceof Ga&&t.isCount())t=new NR(t);else if(!(t instanceof OR))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(e===void 0&&(e=null),!(e===null||e instanceof Tr))throw new TypeError("defaultLayout must be null or a Layout");if(e!==null){if(0>e.span)throw new Error("defaultLayout must have constant span");e.property===void 0&&(e=e.replicate("content"))}let s=-1;e&&(s=e.span,0<=s&&i&&(s+=t.layout.span)),super(s,r),this.discriminator=t,this.usesPrefixDiscriminator=i,this.defaultLayout=e,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return o(a)},this.configGetSourceVariant=function(a){o=a.bind(this)}}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);const r=this.getVariant(t,e);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,e)}defaultGetSourceVariant(t){if(t.hasOwnProperty(this.discriminator.property)){if(this.defaultLayout&&t.hasOwnProperty(this.defaultLayout.property))return;const e=this.registry[t[this.discriminator.property]];if(e&&(!e.layout||t.hasOwnProperty(e.property)))return e}else for(const e in this.registry){const r=this.registry[e];if(t.hasOwnProperty(r.property))return r}throw new Error("unable to infer src variant")}decode(t,e){e===void 0&&(e=0);let r;const i=this.discriminator,s=i.decode(t,e);let o=this.registry[s];if(o===void 0){let a=0;o=this.defaultLayout,this.usesPrefixDiscriminator&&(a=i.layout.span),r=this.makeDestinationObject(),r[i.property]=s,r[o.property]=this.defaultLayout.decode(t,e+a)}else r=o.decode(t,e);return r}encode(t,e,r){r===void 0&&(r=0);const i=this.getSourceVariant(t);if(i===void 0){const s=this.discriminator,o=this.defaultLayout;let a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(t[s.property],e,r),a+o.encode(t[o.property],e,r+a)}return i.encode(t,e,r)}addVariant(t,e,r){const i=new I7(this,t,e,r);return this.registry[t]=i,i}getVariant(t,e){let r=t;return Zt.isBuffer(t)&&(e===void 0&&(e=0),r=this.discriminator.decode(t,e)),this.registry[r]}}class I7 extends Tr{constructor(t,e,r,i){if(!(t instanceof CR))throw new TypeError("union must be a Union");if(!Number.isInteger(e)||0>e)throw new TypeError("variant must be a (non-negative) integer");if(typeof r=="string"&&i===void 0&&(i=r,r=null),r){if(!(r instanceof Tr))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof i!="string")throw new TypeError("variant must have a String property")}let s=t.span;0>t.span&&(s=r?r.span:0,0<=s&&t.usesPrefixDiscriminator&&(s+=t.discriminator.layout.span)),super(s,i),this.union=t,this.variant=e,this.layout=r||null}getSpan(t,e){if(0<=this.span)return this.span;e===void 0&&(e=0);let r=0;return this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span),r+this.layout.getSpan(t,e+r)}decode(t,e){const r=this.makeDestinationObject();if(e===void 0&&(e=0),this!==this.union.getVariant(t,e))throw new Error("variant mismatch");let i=0;return this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,e+i):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,e,r){r===void 0&&(r=0);let i=0;if(this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout&&!t.hasOwnProperty(this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,e,r);let s=i;if(this.layout&&(this.layout.encode(t[this.property],e,r+i),s+=this.layout.getSpan(e,r+i),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(t){if(this.layout)return this.layout.fromArray(t)}}class S7 extends Tr{constructor(t,e){if(!(t instanceof Ga&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let r=-1;t instanceof Ga||(r=t),super(r,e),this.length=t}getSpan(t,e){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),r}decode(t,e){e===void 0&&(e=0);let r=this.span;return 0>r&&(r=this.length.decode(t,e)),t.slice(e,e+r)}encode(t,e,r){let i=this.length;if(this.length instanceof Ga&&(i=t.length),!(Zt.isBuffer(t)&&i===t.length))throw new TypeError(E7("Blob.encode",this)+" requires (length "+i+") Buffer as src");if(r+i>e.length)throw new RangeError("encoding overruns Buffer");return e.write(t.toString("hex"),r,i,"hex"),this.length instanceof Ga&&this.length.encode(i,e,r),i}}var k7=(n,t,e)=>new IR(n,t,e),T7=n=>new V0(1,n),Bs=n=>new V0(4,n),O7=n=>new v7(n),Ps=n=>new x7(n),Bn=(n,t,e)=>new R7(n,t,e),BR=(n,t,e)=>new CR(n,t,e),sh=(n,t)=>new S7(n,t);class N7 extends G0{constructor(t){super(-1,t),this.property=t,this.layout=Bn([Bs("length"),Bs("lengthPadding"),sh(k7(Bs(),-8),"chars")],this.property)}encode(t,e,r=0){if(t==null)return this.layout.span;const i={chars:Zt.from(t,"utf8")};return this.layout.encode(i,e,r)}decode(t,e=0){return this.layout.decode(t,e).chars.toString()}getSpan(t,e=0){return Bs().span+Bs().span+new As(new Uint8Array(t).slice(e,e+4),10,"le").toNumber()}}function K0(n){return new N7(n)}function ri(n){return sh(32,n)}const Vr=BR(Bs("instruction"));Vr.addVariant(0,Bn([Ps("lamports"),Ps("space"),ri("owner")]),"createAccount"),Vr.addVariant(1,Bn([ri("owner")]),"assign"),Vr.addVariant(2,Bn([Ps("lamports")]),"transfer"),Vr.addVariant(3,Bn([ri("base"),K0("seed"),Ps("lamports"),Ps("space"),ri("owner")]),"createAccountWithSeed"),Vr.addVariant(4,Bn([ri("authorized")]),"advanceNonceAccount"),Vr.addVariant(5,Bn([Ps("lamports")]),"withdrawNonceAccount"),Vr.addVariant(6,Bn([ri("authorized")]),"initializeNonceAccount"),Vr.addVariant(7,Bn([ri("authorized")]),"authorizeNonceAccount"),Vr.addVariant(8,Bn([Ps("space")]),"allocate"),Vr.addVariant(9,Bn([ri("base"),K0("seed"),Ps("space"),ri("owner")]),"allocateWithSeed"),Vr.addVariant(10,Bn([ri("base"),K0("seed"),ri("owner")]),"assignWithSeed"),Vr.addVariant(11,Bn([Ps("lamports"),K0("seed"),ri("owner")]),"transferWithSeed"),Math.max(...Object.values(Vr.registry).map(n=>n.span));class C7 extends G0{constructor(t,e,r,i){super(t.span,i),this.layout=t,this.decoder=e,this.encoder=r}decode(t,e){return this.decoder(this.layout.decode(t,e))}encode(t,e,r){return this.layout.encode(this.encoder(t),e,r)}getSpan(t,e){return this.layout.getSpan(t,e)}}function PR(n){return new C7(sh(32),t=>new pt(t),t=>t.toBuffer(),n)}Bn([Bs("version"),Bs("state"),PR("authorizedPubkey"),PR("nonce"),Bn([O7("lamportsPerSignature")],"feeCalculator")]),new pt("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),new pt("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");var MR={exports:{}};(function(n,t){var e=typeof self<"u"?self:p7,r=function(){function s(){this.fetch=!1,this.DOMException=e.DOMException}return s.prototype=e,new s}();(function(s){(function(o){var a={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};function u(p){return p&&DataView.prototype.isPrototypeOf(p)}if(a.arrayBuffer)var f=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],h=ArrayBuffer.isView||function(p){return p&&f.indexOf(Object.prototype.toString.call(p))>-1};function y(p){if(typeof p!="string"&&(p=String(p)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(p))throw new TypeError("Invalid character in header field name");return p.toLowerCase()}function _(p){return typeof p!="string"&&(p=String(p)),p}function w(p){var m={next:function(){var v=p.shift();return{done:v===void 0,value:v}}};return a.iterable&&(m[Symbol.iterator]=function(){return m}),m}function R(p){this.map={},p instanceof R?p.forEach(function(m,v){this.append(v,m)},this):Array.isArray(p)?p.forEach(function(m){this.append(m[0],m[1])},this):p&&Object.getOwnPropertyNames(p).forEach(function(m){this.append(m,p[m])},this)}R.prototype.append=function(p,m){p=y(p),m=_(m);var v=this.map[p];this.map[p]=v?v+", "+m:m},R.prototype.delete=function(p){delete this.map[y(p)]},R.prototype.get=function(p){return p=y(p),this.has(p)?this.map[p]:null},R.prototype.has=function(p){return this.map.hasOwnProperty(y(p))},R.prototype.set=function(p,m){this.map[y(p)]=_(m)},R.prototype.forEach=function(p,m){for(var v in this.map)this.map.hasOwnProperty(v)&&p.call(m,this.map[v],v,this)},R.prototype.keys=function(){var p=[];return this.forEach(function(m,v){p.push(v)}),w(p)},R.prototype.values=function(){var p=[];return this.forEach(function(m){p.push(m)}),w(p)},R.prototype.entries=function(){var p=[];return this.forEach(function(m,v){p.push([v,m])}),w(p)},a.iterable&&(R.prototype[Symbol.iterator]=R.prototype.entries);function T(p){if(p.bodyUsed)return Promise.reject(new TypeError("Already read"));p.bodyUsed=!0}function I(p){return new Promise(function(m,v){p.onload=function(){m(p.result)},p.onerror=function(){v(p.error)}})}function B(p){var m=new FileReader,v=I(m);return m.readAsArrayBuffer(p),v}function H(p){var m=new FileReader,v=I(m);return m.readAsText(p),v}function U(p){for(var m=new Uint8Array(p),v=new Array(m.length),k=0;k<m.length;k++)v[k]=String.fromCharCode(m[k]);return v.join("")}function G(p){if(p.slice)return p.slice(0);var m=new Uint8Array(p.byteLength);return m.set(new Uint8Array(p)),m.buffer}function W(){return this.bodyUsed=!1,this._initBody=function(p){this._bodyInit=p,p?typeof p=="string"?this._bodyText=p:a.blob&&Blob.prototype.isPrototypeOf(p)?this._bodyBlob=p:a.formData&&FormData.prototype.isPrototypeOf(p)?this._bodyFormData=p:a.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)?this._bodyText=p.toString():a.arrayBuffer&&a.blob&&u(p)?(this._bodyArrayBuffer=G(p.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(p)||h(p))?this._bodyArrayBuffer=G(p):this._bodyText=p=Object.prototype.toString.call(p):this._bodyText="",this.headers.get("content-type")||(typeof p=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):a.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},a.blob&&(this.blob=function(){var p=T(this);if(p)return p;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?T(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(B)}),this.text=function(){var p=T(this);if(p)return p;if(this._bodyBlob)return H(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(U(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a.formData&&(this.formData=function(){return this.text().then(it)}),this.json=function(){return this.text().then(JSON.parse)},this}var X=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function j(p){var m=p.toUpperCase();return X.indexOf(m)>-1?m:p}function J(p,m){m=m||{};var v=m.body;if(p instanceof J){if(p.bodyUsed)throw new TypeError("Already read");this.url=p.url,this.credentials=p.credentials,m.headers||(this.headers=new R(p.headers)),this.method=p.method,this.mode=p.mode,this.signal=p.signal,!v&&p._bodyInit!=null&&(v=p._bodyInit,p.bodyUsed=!0)}else this.url=String(p);if(this.credentials=m.credentials||this.credentials||"same-origin",(m.headers||!this.headers)&&(this.headers=new R(m.headers)),this.method=j(m.method||this.method||"GET"),this.mode=m.mode||this.mode||null,this.signal=m.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&v)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(v)}J.prototype.clone=function(){return new J(this,{body:this._bodyInit})};function it(p){var m=new FormData;return p.trim().split("&").forEach(function(v){if(v){var k=v.split("="),N=k.shift().replace(/\+/g," "),M=k.join("=").replace(/\+/g," ");m.append(decodeURIComponent(N),decodeURIComponent(M))}}),m}function ut(p){var m=new R,v=p.replace(/\r?\n[\t ]+/g," ");return v.split(/\r?\n/).forEach(function(k){var N=k.split(":"),M=N.shift().trim();if(M){var z=N.join(":").trim();m.append(M,z)}}),m}W.call(J.prototype);function rt(p,m){m||(m={}),this.type="default",this.status=m.status===void 0?200:m.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in m?m.statusText:"OK",this.headers=new R(m.headers),this.url=m.url||"",this._initBody(p)}W.call(rt.prototype),rt.prototype.clone=function(){return new rt(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new R(this.headers),url:this.url})},rt.error=function(){var p=new rt(null,{status:0,statusText:""});return p.type="error",p};var ot=[301,302,303,307,308];rt.redirect=function(p,m){if(ot.indexOf(m)===-1)throw new RangeError("Invalid status code");return new rt(null,{status:m,headers:{location:p}})},o.DOMException=s.DOMException;try{new o.DOMException}catch{o.DOMException=function(m,v){this.message=m,this.name=v;var k=Error(m);this.stack=k.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function C(p,m){return new Promise(function(v,k){var N=new J(p,m);if(N.signal&&N.signal.aborted)return k(new o.DOMException("Aborted","AbortError"));var M=new XMLHttpRequest;function z(){M.abort()}M.onload=function(){var P={status:M.status,statusText:M.statusText,headers:ut(M.getAllResponseHeaders()||"")};P.url="responseURL"in M?M.responseURL:P.headers.get("X-Request-URL");var A="response"in M?M.response:M.responseText;v(new rt(A,P))},M.onerror=function(){k(new TypeError("Network request failed"))},M.ontimeout=function(){k(new TypeError("Network request failed"))},M.onabort=function(){k(new o.DOMException("Aborted","AbortError"))},M.open(N.method,N.url,!0),N.credentials==="include"?M.withCredentials=!0:N.credentials==="omit"&&(M.withCredentials=!1),"responseType"in M&&a.blob&&(M.responseType="blob"),N.headers.forEach(function(P,A){M.setRequestHeader(A,P)}),N.signal&&(N.signal.addEventListener("abort",z),M.onreadystatechange=function(){M.readyState===4&&N.signal.removeEventListener("abort",z)}),M.send(typeof N._bodyInit>"u"?null:N._bodyInit)})}return C.polyfill=!0,s.fetch||(s.fetch=C,s.Headers=R,s.Request=J,s.Response=rt),o.Headers=R,o.Request=J,o.Response=rt,o.fetch=C,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,n.exports=t})(MR,MR.exports),Yt.rustEnum([Yt.struct([],"uninitialized"),Yt.struct([Yt.option(Yt.publicKey(),"authorityAddress")],"buffer"),Yt.struct([Yt.publicKey("programdataAddress")],"program"),Yt.struct([Yt.u64("slot"),Yt.option(Yt.publicKey(),"upgradeAuthorityAddress")],"programData")],void 0,Yt.u32());const Gm="Program log: ",LR="Program data: ",B7=Gm.length,P7=LR.length;class M7{constructor(t,e,r){this._programId=t,this._provider=e,this._eventParser=new UR(t,r),this._eventCallbacks=new Map,this._eventListeners=new Map,this._listenerIdCount=0}addEventListener(t,e,r){var i;let s=this._listenerIdCount;return this._listenerIdCount+=1,this._eventListeners.has(t)||this._eventListeners.set(t,[]),this._eventListeners.set(t,((i=this._eventListeners.get(t))!==null&&i!==void 0?i:[]).concat(s)),this._eventCallbacks.set(s,[t,e]),this._onLogsSubscriptionId!==void 0||(this._onLogsSubscriptionId=this._provider.connection.onLogs(this._programId,(o,a)=>{if(!o.err)for(const u of this._eventParser.parseLogs(o.logs)){const f=this._eventListeners.get(u.name);f&&f.forEach(h=>{const y=this._eventCallbacks.get(h);if(y){const[,_]=y;_(u.data,a.slot,o.signature)}})}},r)),s}async removeEventListener(t){const e=this._eventCallbacks.get(t);if(!e)throw new Error(`Event listener ${t} doesn't exist!`);const[r]=e;let i=this._eventListeners.get(r);if(!i)throw new Error(`Event listeners don't exist for ${r}!`);if(this._eventCallbacks.delete(t),i=i.filter(s=>s!==t),this._eventListeners.set(r,i),i.length===0&&this._eventListeners.delete(r),this._eventCallbacks.size===0){if(this._eventListeners.size!==0)throw new Error(`Expected event listeners size to be 0 but got ${this._eventListeners.size}`);this._onLogsSubscriptionId!==void 0&&(await this._provider.connection.removeOnLogsListener(this._onLogsSubscriptionId),this._onLogsSubscriptionId=void 0)}}}class UR{constructor(t,e){this.coder=e,this.programId=t}*parseLogs(t,e=!1){const r=new U7(t),i=new L7;let s=r.next();for(;s!==null;){let[o,a,u]=this.handleLog(i,s,e);o&&(yield o),a&&i.push(a),u&&i.pop(),s=r.next()}}handleLog(t,e,r){return t.stack.length>0&&t.program()===this.programId.toString()?this.handleProgramLog(e,r):[null,...this.handleSystemLog(e)]}handleProgramLog(t,e){if(t.startsWith(Gm)||t.startsWith(LR)){const r=t.startsWith(Gm)?t.slice(B7):t.slice(P7),i=this.coder.events.decode(r);if(e&&i===null)throw new Error(`Unable to decode event ${r}`);return[i,null,!1]}else return[null,...this.handleSystemLog(t)]}handleSystemLog(t){const e=t.split(":")[0];return e.match(/^Program (.*) success/g)!==null?[null,!0]:e.startsWith(`Program ${this.programId.toString()} invoke`)?[this.programId.toString(),!1]:e.includes("invoke")?["cpi",!1]:[null,!1]}}class L7{constructor(){this.stack=[]}program(){if(!this.stack.length)throw new Error("Expected the stack to have elements");return this.stack[this.stack.length-1]}push(t){this.stack.push(t)}pop(){if(!this.stack.length)throw new Error("Expected the stack to have elements");this.stack.pop()}}class U7{constructor(t){this.logs=t}next(){if(this.logs.length===0)return null;let t=this.logs[0];return this.logs=this.logs.slice(1),t}}function j0(n,t){var e,r;let i={};const s=n.args?n.args.length:0;if(t.length>s){if(t.length!==s+1)throw new Error(`provided too many arguments ${t} to instruction ${n==null?void 0:n.name} expecting: ${(r=(e=n.args)===null||e===void 0?void 0:e.map(o=>o.name))!==null&&r!==void 0?r:[]}`);i=t.pop()}return[t,i]}class W0{static build(t,e,r){if(t.name==="_inner")throw new Co("the _inner name is reserved");const i=(...s)=>{const[o,a]=j0(t,[...s]);Kx(t.accounts,a.accounts),D7(t,...s);const u=i.accounts(a.accounts);return a.remainingAccounts!==void 0&&u.push(...a.remainingAccounts),vR("debug-logs")&&console.log("Outgoing account metas:",u),new Me({keys:u,programId:r,data:e(t.name,YF(t,...o))})};return i.accounts=s=>W0.accountsArray(s,t.accounts,r,t.name),i}static accountsArray(t,e,r,i){return t?e.map(s=>{if(ko(s)){const h=t[s.name];return W0.accountsArray(h,s.accounts,r,i).flat()}let o;try{o=Ei(t[s.name])}catch{throw new Error(`Wrong input type for account "${s.name}" in the instruction accounts object${i!==void 0?' for instruction "'+i+'"':""}. Expected PublicKey or string.`)}const a=s.optional&&o.equals(r),u=!!(s.writable&&!a),f=!!(s.signer&&!a);return{pubkey:o,isWritable:u,isSigner:f}}).flat():[]}}function D7(n,...t){}class F7{static build(t,e){return(...i)=>{var s,o,a;const[,u]=j0(t,[...i]),f=new Ne;if(u.preInstructions&&u.instructions)throw new Error("instructions is deprecated, use preInstructions");return(s=u.preInstructions)===null||s===void 0||s.forEach(h=>f.add(h)),(o=u.instructions)===null||o===void 0||o.forEach(h=>f.add(h)),f.add(e(...i)),(a=u.postInstructions)===null||a===void 0||a.forEach(h=>f.add(h)),f}}}class $7{static build(t,e,r,i){return async(...o)=>{var a;const u=e(...o),[,f]=j0(t,[...o]);if(i.sendAndConfirm===void 0)throw new Error("This function requires 'Provider.sendAndConfirm' to be implemented.");try{return await i.sendAndConfirm(u,(a=f.signers)!==null&&a!==void 0?a:[],f.options)}catch(h){throw xR(h,r)}}}}class H7{static build(t,e,r,i){var s;return((s=t.accounts)!==null&&s!==void 0?s:[]).reduce((o,a)=>(o[a.name]=new z7(t,a,r,i,e),o),{})}}class z7{get size(){return this._size}get programId(){return this._programId}get provider(){return this._provider}get coder(){return this._coder}constructor(t,e,r,i,s){this._idlAccount=e,this._programId=r,this._provider=i??Hm(),this._coder=s??new RR(t),this._size=this._coder.accounts.size(e.name)}async fetchNullable(t,e){const{data:r}=await this.fetchNullableAndContext(t,e);return r}async fetchNullableAndContext(t,e){const r=await this.getAccountInfoAndContext(t,e),{value:i,context:s}=r;return{data:i&&i.data.length!==0?this._coder.accounts.decode(this._idlAccount.name,i.data):null,context:s}}async fetch(t,e){const{data:r}=await this.fetchNullableAndContext(t,e);if(r===null)throw new Error(`Account does not exist or has no data ${t.toString()}`);return r}async fetchAndContext(t,e){const{data:r,context:i}=await this.fetchNullableAndContext(t,e);if(r===null)throw new Error(`Account does not exist ${t.toString()}`);return{data:r,context:i}}async fetchMultiple(t,e){return(await this.fetchMultipleAndContext(t,e)).map(i=>i?i.data:null)}async fetchMultipleAndContext(t,e){return(await a7(this._provider.connection,t.map(i=>Ei(i)),e)).map(i=>{if(i==null)return null;const{account:s,context:o}=i;return{data:this._coder.accounts.decode(this._idlAccount.name,s.data),context:o}})}async all(t){const e=this.coder.accounts.memcmp(this._idlAccount.name,t instanceof Zt?t:void 0),r=[];return(e==null?void 0:e.offset)!=null&&(e==null?void 0:e.bytes)!=null&&r.push({memcmp:{offset:e.offset,bytes:e.bytes}}),(e==null?void 0:e.dataSize)!=null&&r.push({dataSize:e.dataSize}),(await this._provider.connection.getProgramAccounts(this._programId,{commitment:this._provider.connection.commitment,filters:[...r,...Array.isArray(t)?t:[]]})).map(({pubkey:s,account:o})=>({publicKey:s,account:this._coder.accounts.decode(this._idlAccount.name,o.data)}))}subscribe(t,e){const r=oh.get(t.toString());if(r)return r.ee;const i=new zF;t=Ei(t);const s=this._provider.connection.onAccountChange(t,o=>{const a=this._coder.accounts.decode(this._idlAccount.name,o.data);i.emit("change",a)},e);return oh.set(t.toString(),{ee:i,listener:s}),i}async unsubscribe(t){let e=oh.get(t.toString());if(!e){console.warn("Address is not subscribed");return}oh&&await this._provider.connection.removeAccountChangeListener(e.listener).then(()=>{oh.delete(t.toString())}).catch(console.error)}async createInstruction(t,e){const r=this.size;if(this._provider.publicKey===void 0)throw new Error("This function requires the Provider interface implementor to have a 'publicKey' field.");return Cn.createAccount({fromPubkey:this._provider.publicKey,newAccountPubkey:t.publicKey,space:e??r,lamports:await this._provider.connection.getMinimumBalanceForRentExemption(e??r),programId:this._programId})}async getAccountInfo(t,e){return await this._provider.connection.getAccountInfo(Ei(t),e)}async getAccountInfoAndContext(t,e){return await this._provider.connection.getAccountInfoAndContext(Ei(t),e)}}const oh=new Map;class G7{static build(t,e,r,i,s,o,a){return async(...f)=>{var h;const y=e(...f),[,_]=j0(t,[...f]);let w;if(i.simulate===void 0)throw new Error("This function requires 'Provider.simulate' to be implemented.");try{w=await i.simulate(y,_.signers,(h=_.options)===null||h===void 0?void 0:h.commitment)}catch(I){throw xR(I,r)}if(w===void 0)throw new Error("Unable to simulate transaction");const R=w.logs;if(!R)throw new Error("Simulated logs not found");const T=[];if(a.events){let I=new UR(o,s);for(const B of I.parseLogs(R))T.push(B)}return{events:T,raw:R}}}}function Vm(n){return new DR(sh(8),t=>K7.fromBuffer(t),t=>t.toBuffer(),n)}function Z0(n){return new DR(sh(32),t=>new pt(t),t=>t.toBuffer(),n)}function Km(n,t){return new V7(n,t)}class DR extends G0{constructor(t,e,r,i){super(t.span,i),this.layout=t,this.decoder=e,this.encoder=r}decode(t,e){return this.decoder(this.layout.decode(t,e))}encode(t,e,r){return this.layout.encode(this.encoder(t),e,r)}getSpan(t,e){return this.layout.getSpan(t,e)}}class V7 extends G0{constructor(t,e){super(-1,e),this.layout=t,this.discriminator=Bs()}encode(t,e,r=0){return t==null?this.layout.span+this.discriminator.encode(0,e,r):(this.discriminator.encode(1,e,r),this.layout.encode(t,e,r+4)+4)}decode(t,e=0){const r=this.discriminator.decode(t,e);if(r===0)return null;if(r===1)return this.layout.decode(t,e+4);throw new Error("Invalid coption "+this.layout.property)}getSpan(t,e=0){return this.layout.getSpan(t,e+4)+4}}let K7=class oO extends As{toBuffer(){const t=super.toArray().reverse(),e=Zt.from(t);if(e.length===8)return e;if(e.length>=8)throw new Error("u64 too large");const r=Zt.alloc(8);return e.copy(r),r}static fromBuffer(t){if(t.length!==8)throw new Error(`Invalid buffer length: ${t.length}`);return new oO([...t].reverse().map(e=>`00${e.toString(16)}`.slice(-2)).join(""),16)}};const j7=Bn([Z0("mint"),Z0("owner"),Vm("amount"),Km(Z0(),"delegate"),(n=>{const t=BR(T7("discriminator"),null,n);return t.addVariant(0,Bn([]),"uninitialized"),t.addVariant(1,Bn([]),"initialized"),t.addVariant(2,Bn([]),"frozen"),t})("state"),Km(Vm(),"isNative"),Vm("delegatedAmount"),Km(Z0(),"closeAuthority")]);function W7(n){return j7.decode(n)}class Z7{constructor(t,e,r,i,s,o,a,u){this._args=t,this._accounts=e,this._provider=r,this._programId=i,this._idlIx=s,this._idlTypes=a,this._customResolver=u,this._accountStore=new q7(r,o,i)}args(t){this._args=t}async resolve(){this.resolveEventCpi(this._idlIx.accounts),this.resolveConst(this._idlIx.accounts);let t=0;for(;await this.resolvePdasAndRelations(this._idlIx.accounts)+await this.resolveCustom()>0;)if(t++,t===16){const e=o=>ko(o)?o.accounts.some(e):!!(o.address||o.pda||o.relations),r=(o,a=[],u=[])=>{for(const f of o)ko(f)?u.push(...r(f.accounts,[...a,f.name])):u.push([...a,f.name]);return u},i=this._idlIx.accounts.filter(e),s=r(i).filter(o=>!this.get(o)).map(o=>o.reduce((a,u)=>a+"."+u)).map(o=>`\`${o}\``).join(", ");throw new Error(["Reached maximum depth for account resolution.",`Unresolved accounts: ${s}`].join(" "))}}resolveOptionals(t){Object.assign(this._accounts,this.resolveOptionalsHelper(t,this._idlIx.accounts))}get(t){const e=t.reduce((r,i)=>r&&r[i],this._accounts);if(e&&e.toBase58)return e}set(t,e){let r=this._accounts;t.forEach((i,s)=>{var o;s===t.length-1&&(r[i]=e),r[i]=(o=r[i])!==null&&o!==void 0?o:{},r=r[i]})}resolveOptionalsHelper(t,e){const r={};for(const i of e){const s=i.name,o=t[s];o!==void 0&&(FR(o)?ko(i)?r[s]=this.resolveOptionalsHelper(o,i.accounts):r[s]=$R(o):o!==null?r[s]=Ei(o):i.optional&&(r[s]=this._programId))}return r}async resolveCustom(){if(this._customResolver){const{accounts:t,resolved:e}=await this._customResolver({args:this._args,accounts:this._accounts,provider:this._provider,programId:this._programId,idlIx:this._idlIx});return this._accounts=t,e}return 0}resolveEventCpi(t,e=[]){for(const r in t){const i=t[r];ko(i)&&this.resolveEventCpi(i.accounts,[...e,i.name]);const s=+r+1;if(s===t.length)return;const o=t[r].name,a=t[s].name;if(o==="eventAuthority"&&a==="program"){const u=[...e,o],f=[...e,a];this.get(u)||this.set(u,pt.findProgramAddressSync([Zt.from("__event_authority")],this._programId)[0]),this.get(f)||this.set(f,this._programId);return}}}resolveConst(t,e=[]){for(const r of t){const i=r.name;if(ko(r))this.resolveConst(r.accounts,[...e,i]);else{const s=r;if((s.signer||s.address)&&!this.get([...e,i])){if(s.signer){if(!this._provider.wallet)throw new Error("This function requires the `Provider` interface implementor to have a `wallet` field.");this.set([...e,i],this._provider.wallet.publicKey)}s.address&&this.set([...e,i],Ei(s.address))}}}}async resolvePdasAndRelations(t,e=[]){let r=0;for(const i of t){const s=i.name;if(ko(i))r+=await this.resolvePdasAndRelations(i.accounts,[...e,s]);else{const o=i;if((o.pda||o.relations)&&!this.get([...e,s])){r++;try{if(o.pda){const a=await Promise.all(o.pda.seeds.map(h=>this.toBuffer(h,e)));if(a.some(h=>!h))continue;const u=await this.parseProgramId(o,e),[f]=pt.findProgramAddressSync(a,u);this.set([...e,s],f)}}catch{}try{if(o.relations){const a=this.get([...e,o.relations[0]]);if(a){const u=await this._accountStore.fetchAccount({publicKey:a});this.set([...e,s],u[s])}}}catch{}}}}return r}async parseProgramId(t,e=[]){var r;if(!(!((r=t.pda)===null||r===void 0)&&r.program))return this._programId;const i=await this.toBuffer(t.pda.program,e);if(!i)throw new Error(`Program seed not resolved: ${t.name}`);return new pt(i)}async toBuffer(t,e=[]){switch(t.kind){case"const":return this.toBufferConst(t);case"arg":return await this.toBufferArg(t);case"account":return await this.toBufferAccount(t,e);default:throw new Error(`Unexpected seed: ${t}`)}}toBufferConst(t){return this.toBufferValue("bytes",t.value)}async toBufferArg(t){const[e,...r]=t.path.split("."),i=this._idlIx.args.findIndex(a=>a.name===e);if(i===-1)throw new Error(`Unable to find argument for seed: ${e}`);const s=r.reduce((a,u)=>(a??{})[u],this._args[i]);if(s===void 0)return;const o=this.getType(this._idlIx.args[i].type,r);return this.toBufferValue(o,s)}async toBufferAccount(t,e=[]){const[r,...i]=t.path.split("."),s=this.get([...e,r]);if(!s)return;if(!i.length)return this.toBufferValue("pubkey",s);if(!t.account)throw new Error(`Seed account is required in order to resolve type: ${t.path}`);let a=await this._accountStore.fetchAccount({publicKey:s,name:t.account}),u=i;for(;u.length>0;)a=a[u[0]],u=u.slice(1);if(a===void 0)return;const f=this.getType({defined:{name:t.account}},i);return this.toBufferValue(f,a)}toBufferValue(t,e){switch(t){case"u8":case"i8":return Zt.from([e]);case"u16":case"i16":return new As(e).toArrayLike(Zt,"le",2);case"u32":case"i32":return new As(e).toArrayLike(Zt,"le",4);case"u64":case"i64":return new As(e).toArrayLike(Zt,"le",8);case"u128":case"i128":return new As(e).toArrayLike(Zt,"le",16);case"u256":case"i256":return new As(e).toArrayLike(Zt,"le",32);case"string":return Zt.from(e);case"pubkey":return e.toBuffer();case"bytes":return Zt.from(e);default:if(t!=null&&t.array)return Zt.from(e);throw new Error(`Unexpected seed type: ${t}`)}}getType(t,e=[]){var r;const i=(r=t==null?void 0:t.defined)===null||r===void 0?void 0:r.name;if(i){if(i==="tokenAccount")switch(e.at(0)){case"mint":case"owner":return"pubkey";case"amount":case"delagatedAmount":return"u64";default:throw new Error(`Unknown token account path: ${e}`)}const s=this._idlTypes.find(h=>h.name===i);if(!s)throw new Error(`Type not found: ${i}`);const[o,...a]=e,f=s.type.fields.find(h=>h.name===o);if(!f)throw new Error(`Field not found: ${o}`);return this.getType(f.type,a)}return t}}class q7{constructor(t,e,r){this._provider=t,this._cache=new Map,this._idls={},this._idls[r.toBase58()]=e}async fetchAccount({publicKey:t,name:e}){const r=t.toBase58();if(!this._cache.has(r)){const i=await this._provider.connection.getAccountInfo(t);if(i===null)throw new Error(`Account not found: ${r}`);if(e==="tokenAccount"){const s=W7(i.data);this._cache.set(r,s)}else{const s=await this.getAccountsNs(i.owner);if(s){const o=Object.values(s)[0];if(o){const a=o.coder.accounts.decodeAny(i.data);this._cache.set(r,a)}}}}return this._cache.get(r)}async getAccountsNs(t){const e=t.toBase58();if(!this._idls[e]){const r=await Tu.fetchIdl(t,this._provider);if(r){const i=new Tu(r,this._provider);this._idls[e]=i.account}}return this._idls[e]}}class Q7{static build(t,e,r,i,s,o,a,u,f,h,y){return(..._)=>new Y7(_,i,s,o,a,u,t,e,r,f,h,y)}}function FR(n){return typeof n=="object"&&n!==null&&!("_bn"in n)}function $R(n,t){const e={};for(const r in n){const i=n[r];if(i===null)throw new Error("Failed to resolve optionals due to IDL type mismatch with input accounts!");e[r]=FR(i)?$R(i):Ei(i)}return e}class Y7{constructor(t,e,r,i,s,o,a,u,f,h,y,_){this._args=t,this._ixFn=e,this._txFn=r,this._rpcFn=i,this._simulateFn=s,this._viewFn=o,this._accounts={},this._remainingAccounts=[],this._signers=[],this._preInstructions=[],this._postInstructions=[],this._resolveAccounts=!0,this._accountsResolver=new Z7(t,this._accounts,a,u,f,h,y,_)}args(t){this._args=t,this._accountsResolver.args(t)}accounts(t){return this.accountsPartial(t)}accountsPartial(t){return this._resolveAccounts=!0,this._accountsResolver.resolveOptionals(t),this}accountsStrict(t){return this._resolveAccounts=!1,this._accountsResolver.resolveOptionals(t),this}signers(t){return this._signers=this._signers.concat(t),this}remainingAccounts(t){return this._remainingAccounts=this._remainingAccounts.concat(t),this}preInstructions(t,e=!1){return e?this._preInstructions=t.concat(this._preInstructions):this._preInstructions=this._preInstructions.concat(t),this}postInstructions(t){return this._postInstructions=this._postInstructions.concat(t),this}async pubkeys(){return this._resolveAccounts&&await this._accountsResolver.resolve(),this._accounts}async instruction(){return this._resolveAccounts&&await this._accountsResolver.resolve(),this._ixFn(...this._args,{accounts:this._accounts,signers:this._signers,remainingAccounts:this._remainingAccounts,preInstructions:this._preInstructions,postInstructions:this._postInstructions})}async transaction(){return this._resolveAccounts&&await this._accountsResolver.resolve(),this._txFn(...this._args,{accounts:this._accounts,signers:this._signers,remainingAccounts:this._remainingAccounts,preInstructions:this._preInstructions,postInstructions:this._postInstructions})}async simulate(t){return this._resolveAccounts&&await this._accountsResolver.resolve(),this._simulateFn(...this._args,{accounts:this._accounts,signers:this._signers,remainingAccounts:this._remainingAccounts,preInstructions:this._preInstructions,postInstructions:this._postInstructions,options:t})}async view(t){if(this._resolveAccounts&&await this._accountsResolver.resolve(),!this._viewFn)throw new Error(["Method does not support views.","The instruction should return a value, and its accounts must be read-only"].join(" "));return this._viewFn(...this._args,{accounts:this._accounts,signers:this._signers,remainingAccounts:this._remainingAccounts,preInstructions:this._preInstructions,postInstructions:this._postInstructions,options:t})}async rpc(t){return this._resolveAccounts&&await this._accountsResolver.resolve(),this._rpcFn(...this._args,{accounts:this._accounts,signers:this._signers,remainingAccounts:this._remainingAccounts,preInstructions:this._preInstructions,postInstructions:this._postInstructions,options:t})}async rpcAndKeys(t){return{signature:await this.rpc(t),pubkeys:await this.pubkeys()}}async prepare(){return{instruction:await this.instruction(),signers:this._signers,pubkeys:await this.pubkeys()}}}class J7{static build(t,e,r,i){const s=e.accounts.find(u=>u.writable),o=!!e.returns;return s||!o?void 0:async(...u)=>{let f=await r(...u);const h=`Program return: ${t} `;let y=f.raw.find(T=>T.startsWith(h));if(!y)throw new Error("View expected return log");let _=Vx(y.slice(h.length)),w=e.returns;if(!w)throw new Error("View expected return type");return ge.fieldLayout({type:w},i.types).decode(_)}}}class X7{static build(t,e,r,i,s){const o={},a={},u={},f={},h={},y={},_=QF(t),w=t.accounts?H7.build(t,e,r,i):{};return t.instructions.forEach(R=>{const T=W0.build(R,(X,j)=>e.instruction.encode(X,j),r),I=F7.build(R,T),B=$7.build(R,I,_,i),H=G7.build(R,I,_,i,e,r,t),U=J7.build(r,R,H,t),G=Q7.build(i,r,R,T,I,B,H,U,w,t.types||[],s==null?void 0:s(R)),W=R.name;a[W]=T,u[W]=I,o[W]=B,f[W]=H,h[W]=G,U&&(y[W]=U)}),[o,a,u,w,f,h,y]}}class Tu{get programId(){return this._programId}get idl(){return this._idl}get rawIdl(){return this._rawIdl}get coder(){return this._coder}get provider(){return this._provider}constructor(t,e=Hm(),r,i){this._idl=qF(t),this._rawIdl=t,this._provider=e,this._programId=Ei(t.address),this._coder=r??new RR(this._idl),this._events=new M7(this._programId,e,this._coder);const[s,o,a,u,f,h,y]=X7.build(this._idl,this._coder,this._programId,e,i);this.rpc=s,this.instruction=o,this.transaction=a,this.account=u,this.simulate=f,this.methods=h,this.views=y}static async at(t,e){const r=Ei(t),i=await Tu.fetchIdl(r,e);if(!i)throw new Error(`IDL not found for program: ${t.toString()}`);return new Tu(i,e)}static async fetchIdl(t,e){e=e??Hm();const r=Ei(t),i=await KF(r),s=await e.connection.getAccountInfo(i);if(!s)return null;let o=ZF(s.data.slice(8));const a=$F(o.data);return JSON.parse(VF(a))}addEventListener(t,e,r){return this._events.addEventListener(t,e,r)}async removeEventListener(t){return await this._events.removeEventListener(t)}}new pt("11111111111111111111111111111111");const t$="6.13.5";function e$(n,t,e){const r=t.split("|").map(s=>s.trim());for(let s=0;s<r.length;s++)switch(t){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof n===t)return}const i=new Error(`invalid value for type ${t}`);throw i.code="INVALID_ARGUMENT",i.argument=`value.${e}`,i.value=n,i}async function gr(n){const t=Object.keys(n);return(await Promise.all(t.map(r=>Promise.resolve(n[r])))).reduce((r,i,s)=>(r[t[s]]=i,r),{})}function $t(n,t,e){for(let r in t){let i=t[r];const s=e?e[r]:null;s&&e$(i,s,r),Object.defineProperty(n,r,{enumerable:!0,value:i,writable:!1})}}function Ou(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(Ou).join(", ")+" ]";if(n instanceof Uint8Array){const t="0123456789abcdef";let e="0x";for(let r=0;r<n.length;r++)e+=t[n[r]>>4],e+=t[n[r]&15];return e}if(typeof n=="object"&&typeof n.toJSON=="function")return Ou(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":return BigInt(n).toString();case"number":return n.toString();case"string":return JSON.stringify(n);case"object":{const t=Object.keys(n);return t.sort(),"{ "+t.map(e=>`${Ou(e)}: ${Ou(n[e])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function qn(n,t){return n&&n.code===t}function jm(n){return qn(n,"CALL_EXCEPTION")}function Ye(n,t,e){let r=n;{const s=[];if(e){if("message"in e||"code"in e||"name"in e)throw new Error(`value will overwrite populated values: ${Ou(e)}`);for(const o in e){if(o==="shortMessage")continue;const a=e[o];s.push(o+"="+Ou(a))}}s.push(`code=${t}`),s.push(`version=${t$}`),s.length&&(n+=" ("+s.join(", ")+")")}let i;switch(t){case"INVALID_ARGUMENT":i=new TypeError(n);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":i=new RangeError(n);break;default:i=new Error(n)}return $t(i,{code:t}),e&&Object.assign(i,e),i.shortMessage==null&&$t(i,{shortMessage:r}),i}function ht(n,t,e,r){if(!n)throw Ye(t,e,r)}function K(n,t,e,r){ht(n,t,"INVALID_ARGUMENT",{argument:e,value:r})}function HR(n,t,e){e==null&&(e=""),e&&(e=": "+e),ht(n>=t,"missing argument"+e,"MISSING_ARGUMENT",{count:n,expectedCount:t}),ht(n<=t,"too many arguments"+e,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:t})}["NFD","NFC","NFKD","NFKC"].reduce((n,t)=>{try{if("test".normalize(t)!=="test")throw new Error("bad");if(t==="NFD"&&"é".normalize("NFD")!=="é")throw new Error("broken");n.push(t)}catch{}return n},[]);function q0(n,t,e){if(e==null&&(e=""),n!==t){let r=e,i="new";e&&(r+=".",i+=" "+e),ht(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:i})}}function zR(n,t,e){if(n instanceof Uint8Array)return e?new Uint8Array(n):n;if(typeof n=="string"&&n.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const r=new Uint8Array((n.length-2)/2);let i=2;for(let s=0;s<r.length;s++)r[s]=parseInt(n.substring(i,i+2),16),i+=2;return r}K(!1,"invalid BytesLike value",t||"value",n)}function we(n,t){return zR(n,t,!1)}function yr(n,t){return zR(n,t,!0)}function Ge(n,t){return!(typeof n!="string"||!n.match(/^0x[0-9A-Fa-f]*$/)||typeof t=="number"&&n.length!==2+2*t||t===!0&&n.length%2!==0)}function Wm(n){return Ge(n,!0)||n instanceof Uint8Array}const GR="0123456789abcdef";function Tt(n){const t=we(n);let e="0x";for(let r=0;r<t.length;r++){const i=t[r];e+=GR[(i&240)>>4]+GR[i&15]}return e}function xn(n){return"0x"+n.map(t=>Tt(t).substring(2)).join("")}function Nu(n){return Ge(n,!0)?(n.length-2)/2:we(n).length}function ln(n,t,e){const r=we(n);return e!=null&&e>r.length&&ht(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:e}),Tt(r.slice(t??0,e??r.length))}function VR(n,t,e){const r=we(n);ht(t>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:t,offset:t+1});const i=new Uint8Array(t);return i.fill(0),e?i.set(r,t-r.length):i.set(r,0),Tt(i)}function Va(n,t){return VR(n,t,!0)}function n$(n,t){return VR(n,t,!1)}const Q0=BigInt(0),vi=BigInt(1),Cu=9007199254740991;function r$(n,t){const e=Y0(n,"value"),r=BigInt(ie(t,"width"));if(ht(e>>r===Q0,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),e>>r-vi){const i=(vi<<r)-vi;return-((~e&i)+vi)}return e}function KR(n,t){let e=Ct(n,"value");const r=BigInt(ie(t,"width")),i=vi<<r-vi;if(e<Q0){e=-e,ht(e<=i,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const s=(vi<<r)-vi;return(~e&s)+vi}else ht(e<i,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return e}function ah(n,t){const e=Y0(n,"value"),r=BigInt(ie(t,"bits"));return e&(vi<<r)-vi}function Ct(n,t){switch(typeof n){case"bigint":return n;case"number":return K(Number.isInteger(n),"underflow",t||"value",n),K(n>=-Cu&&n<=Cu,"overflow",t||"value",n),BigInt(n);case"string":try{if(n==="")throw new Error("empty string");return n[0]==="-"&&n[1]!=="-"?-BigInt(n.substring(1)):BigInt(n)}catch(e){K(!1,`invalid BigNumberish string: ${e.message}`,t||"value",n)}}K(!1,"invalid BigNumberish value",t||"value",n)}function Y0(n,t){const e=Ct(n,t);return ht(e>=Q0,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),e}const jR="0123456789abcdef";function Zm(n){if(n instanceof Uint8Array){let t="0x0";for(const e of n)t+=jR[e>>4],t+=jR[e&15];return BigInt(t)}return Ct(n)}function ie(n,t){switch(typeof n){case"bigint":return K(n>=-Cu&&n<=Cu,"overflow",t||"value",n),Number(n);case"number":return K(Number.isInteger(n),"underflow",t||"value",n),K(n>=-Cu&&n<=Cu,"overflow",t||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return ie(BigInt(n),t)}catch(e){K(!1,`invalid numeric string: ${e.message}`,t||"value",n)}}K(!1,"invalid numeric value",t||"value",n)}function i$(n){return ie(Zm(n))}function Bo(n,t){let r=Y0(n,"value").toString(16);if(t==null)r.length%2&&(r="0"+r);else{const i=ie(t,"width");for(ht(i*2>=r.length,`value exceeds width (${i} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:n});r.length<i*2;)r="0"+r}return"0x"+r}function mr(n){const t=Y0(n,"value");if(t===Q0)return new Uint8Array([]);let e=t.toString(16);e.length%2&&(e="0"+e);const r=new Uint8Array(e.length/2);for(let i=0;i<r.length;i++){const s=i*2;r[i]=parseInt(e.substring(s,s+2),16)}return r}function Bu(n){let t=Tt(Wm(n)?n:mr(n)).substring(2);for(;t.startsWith("0");)t=t.substring(1);return t===""&&(t="0"),"0x"+t}const WR="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";BigInt(0);const ZR=BigInt(58);function s$(n){const t=we(n);let e=Zm(t),r="";for(;e;)r=WR[Number(e%ZR)]+r,e/=ZR;for(let i=0;i<t.length&&!t[i];i++)r=WR[0]+r;return r}function o$(n){n=atob(n);const t=new Uint8Array(n.length);for(let e=0;e<n.length;e++)t[e]=n.charCodeAt(e);return we(t)}function a$(n){const t=we(n);let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}class qR{constructor(t,e,r){Z(this,"filter");Z(this,"emitter");Y(this,el);F(this,el,e),$t(this,{emitter:t,filter:r})}async removeListener(){S(this,el)!=null&&await this.emitter.off(this.filter,S(this,el))}}el=new WeakMap;function c$(n,t,e,r,i){K(!1,`invalid codepoint at offset ${t}; ${n}`,"bytes",e)}function QR(n,t,e,r,i){if(n==="BAD_PREFIX"||n==="UNEXPECTED_CONTINUE"){let s=0;for(let o=t+1;o<e.length&&e[o]>>6===2;o++)s++;return s}return n==="OVERRUN"?e.length-t-1:0}function u$(n,t,e,r,i){return n==="OVERLONG"?(K(typeof i=="number","invalid bad code point for replacement","badCodepoint",i),r.push(i),0):(r.push(65533),QR(n,t,e))}const l$=Object.freeze({error:c$,ignore:QR,replace:u$});function f$(n,t){t==null&&(t=l$.error);const e=we(n,"bytes"),r=[];let i=0;for(;i<e.length;){const s=e[i++];if(!(s>>7)){r.push(s);continue}let o=null,a=null;if((s&224)===192)o=1,a=127;else if((s&240)===224)o=2,a=2047;else if((s&248)===240)o=3,a=65535;else{(s&192)===128?i+=t("UNEXPECTED_CONTINUE",i-1,e,r):i+=t("BAD_PREFIX",i-1,e,r);continue}if(i-1+o>=e.length){i+=t("OVERRUN",i-1,e,r);continue}let u=s&(1<<8-o-1)-1;for(let f=0;f<o;f++){let h=e[i];if((h&192)!=128){i+=t("MISSING_CONTINUE",i,e,r),u=null;break}u=u<<6|h&63,i++}if(u!==null){if(u>1114111){i+=t("OUT_OF_RANGE",i-1-o,e,r,u);continue}if(u>=55296&&u<=57343){i+=t("UTF16_SURROGATE",i-1-o,e,r,u);continue}if(u<=a){i+=t("OVERLONG",i-1-o,e,r,u);continue}r.push(u)}}return r}function Ms(n,t){K(typeof n=="string","invalid string value","str",n);let e=[];for(let r=0;r<n.length;r++){const i=n.charCodeAt(r);if(i<128)e.push(i);else if(i<2048)e.push(i>>6|192),e.push(i&63|128);else if((i&64512)==55296){r++;const s=n.charCodeAt(r);K(r<n.length&&(s&64512)===56320,"invalid surrogate pair","str",n);const o=65536+((i&1023)<<10)+(s&1023);e.push(o>>18|240),e.push(o>>12&63|128),e.push(o>>6&63|128),e.push(o&63|128)}else e.push(i>>12|224),e.push(i>>6&63|128),e.push(i&63|128)}return new Uint8Array(e)}function h$(n){return n.map(t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10&1023)+55296,(t&1023)+56320))).join("")}function J0(n,t){return h$(f$(n,t))}function YR(n){async function t(e,r){ht(r==null||!r.cancelled,"request cancelled before sending","CANCELLED");const i=e.url.split(":")[0].toLowerCase();ht(i==="http"||i==="https",`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),ht(i==="https"||!e.credentials||e.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s=null;const o=new AbortController,a=setTimeout(()=>{s=Ye("request timeout","TIMEOUT"),o.abort()},e.timeout);r&&r.addListener(()=>{s=Ye("request cancelled","CANCELLED"),o.abort()});const u={method:e.method,headers:new Headers(Array.from(e)),body:e.body||void 0,signal:o.signal};let f;try{f=await fetch(e.url,u)}catch(w){throw clearTimeout(a),s||w}clearTimeout(a);const h={};f.headers.forEach((w,R)=>{h[R.toLowerCase()]=w});const y=await f.arrayBuffer(),_=y==null?null:new Uint8Array(y);return{statusCode:f.status,statusMessage:f.statusText,headers:h,body:_}}return t}const d$=12,p$=250;let JR=YR();const g$=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),y$=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let qm=!1;async function XR(n,t){try{const e=n.match(g$);if(!e)throw new Error("invalid data");return new Po(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?o$(e[3]):w$(e[3]))}catch{return new Po(599,"BAD REQUEST (invalid data: URI)",{},null,new Ls(n))}}function tI(n){async function t(e,r){try{const i=e.match(y$);if(!i)throw new Error("invalid link");return new Ls(`${n}${i[2]}`)}catch{return new Po(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Ls(e))}}return t}const X0={data:XR,ipfs:tI("https://gateway.ipfs.io/ipfs/")},eI=new WeakMap;class m${constructor(t){Y(this,sc);Y(this,zo);F(this,sc,[]),F(this,zo,!1),eI.set(t,()=>{if(!S(this,zo)){F(this,zo,!0);for(const e of S(this,sc))setTimeout(()=>{e()},0);F(this,sc,[])}})}addListener(t){ht(!S(this,zo),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),S(this,sc).push(t)}get cancelled(){return S(this,zo)}checkSignal(){ht(!this.cancelled,"cancelled","CANCELLED",{})}}sc=new WeakMap,zo=new WeakMap;function tp(n){if(n==null)throw new Error("missing signal; should not happen");return n.checkSignal(),n}const Lp=class Lp{constructor(t){Y(this,uc);Y(this,nl);Y(this,rl);Y(this,ki);Y(this,Ks);Y(this,il);Y(this,sl);Y(this,$n);Y(this,jr);Y(this,js);Y(this,oc);Y(this,ac);Y(this,cc);Y(this,ss);Y(this,Ti);Y(this,Go);F(this,sl,String(t)),F(this,nl,!1),F(this,rl,!0),F(this,ki,{}),F(this,Ks,""),F(this,il,3e5),F(this,Ti,{slotInterval:p$,maxAttempts:d$}),F(this,Go,null)}get url(){return S(this,sl)}set url(t){F(this,sl,String(t))}get body(){return S(this,$n)==null?null:new Uint8Array(S(this,$n))}set body(t){if(t==null)F(this,$n,void 0),F(this,jr,void 0);else if(typeof t=="string")F(this,$n,Ms(t)),F(this,jr,"text/plain");else if(t instanceof Uint8Array)F(this,$n,t),F(this,jr,"application/octet-stream");else if(typeof t=="object")F(this,$n,Ms(JSON.stringify(t))),F(this,jr,"application/json");else throw new Error("invalid body")}hasBody(){return S(this,$n)!=null}get method(){return S(this,Ks)?S(this,Ks):this.hasBody()?"POST":"GET"}set method(t){t==null&&(t=""),F(this,Ks,String(t).toUpperCase())}get headers(){const t=Object.assign({},S(this,ki));return S(this,js)&&(t.authorization=`Basic ${a$(Ms(S(this,js)))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),t["content-type"]==null&&S(this,jr)&&(t["content-type"]=S(this,jr)),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){S(this,ki)[String(t).toLowerCase()]=String(e)}clearHeaders(){F(this,ki,{})}[Symbol.iterator](){const t=this.headers,e=Object.keys(t);let r=0;return{next:()=>{if(r<e.length){const i=e[r++];return{value:[i,t[i]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return S(this,js)||null}setCredentials(t,e){K(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),F(this,js,`${t}:${e}`)}get allowGzip(){return S(this,rl)}set allowGzip(t){F(this,rl,!!t)}get allowInsecureAuthentication(){return!!S(this,nl)}set allowInsecureAuthentication(t){F(this,nl,!!t)}get timeout(){return S(this,il)}set timeout(t){K(t>=0,"timeout must be non-zero","timeout",t),F(this,il,t)}get preflightFunc(){return S(this,oc)||null}set preflightFunc(t){F(this,oc,t)}get processFunc(){return S(this,ac)||null}set processFunc(t){F(this,ac,t)}get retryFunc(){return S(this,cc)||null}set retryFunc(t){F(this,cc,t)}get getUrlFunc(){return S(this,Go)||JR}set getUrlFunc(t){F(this,Go,t)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${S(this,$n)?Tt(S(this,$n)):"null"}>`}setThrottleParams(t){t.slotInterval!=null&&(S(this,Ti).slotInterval=t.slotInterval),t.maxAttempts!=null&&(S(this,Ti).maxAttempts=t.maxAttempts)}send(){return ht(S(this,ss)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),F(this,ss,new m$(this)),yt(this,uc,_d).call(this,0,nI()+this.timeout,0,this,new Po(0,"",{},null,this))}cancel(){ht(S(this,ss)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const t=eI.get(this);if(!t)throw new Error("missing signal; should not happen");t()}redirect(t){const e=this.url.split(":")[0].toLowerCase(),r=t.split(":")[0].toLowerCase();ht(this.method==="GET"&&(e!=="https"||r!=="http")&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});const i=new Lp(t);return i.method="GET",i.allowGzip=this.allowGzip,i.timeout=this.timeout,F(i,ki,Object.assign({},S(this,ki))),S(this,$n)&&F(i,$n,new Uint8Array(S(this,$n))),F(i,jr,S(this,jr)),i}clone(){const t=new Lp(this.url);return F(t,Ks,S(this,Ks)),S(this,$n)&&F(t,$n,S(this,$n)),F(t,jr,S(this,jr)),F(t,ki,Object.assign({},S(this,ki))),F(t,js,S(this,js)),this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),F(t,oc,S(this,oc)),F(t,ac,S(this,ac)),F(t,cc,S(this,cc)),F(t,Ti,Object.assign({},S(this,Ti))),F(t,Go,S(this,Go)),t}static lockConfig(){qm=!0}static getGateway(t){return X0[t.toLowerCase()]||null}static registerGateway(t,e){if(t=t.toLowerCase(),t==="http"||t==="https")throw new Error(`cannot intercept ${t}; use registerGetUrl`);if(qm)throw new Error("gateways locked");X0[t]=e}static registerGetUrl(t){if(qm)throw new Error("gateways locked");JR=t}static createGetUrlFunc(t){return YR()}static createDataGateway(){return XR}static createIpfsGatewayFunc(t){return tI(t)}};nl=new WeakMap,rl=new WeakMap,ki=new WeakMap,Ks=new WeakMap,il=new WeakMap,sl=new WeakMap,$n=new WeakMap,jr=new WeakMap,js=new WeakMap,oc=new WeakMap,ac=new WeakMap,cc=new WeakMap,ss=new WeakMap,Ti=new WeakMap,Go=new WeakMap,uc=new WeakSet,_d=async function(t,e,r,i,s){var h,y,_;if(t>=S(this,Ti).maxAttempts)return s.makeServerError("exceeded maximum retry limit");ht(nI()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:i}),r>0&&await b$(r);let o=this.clone();const a=(o.url.split(":")[0]||"").toLowerCase();if(a in X0){const w=await X0[a](o.url,tp(S(i,ss)));if(w instanceof Po){let R=w;if(this.processFunc){tp(S(i,ss));try{R=await this.processFunc(o,R)}catch(T){(T.throttle==null||typeof T.stall!="number")&&R.makeServerError("error in post-processing function",T).assertOk()}}return R}o=w}this.preflightFunc&&(o=await this.preflightFunc(o));const u=await this.getUrlFunc(o,tp(S(i,ss)));let f=new Po(u.statusCode,u.statusMessage,u.headers,u.body,i);if(f.statusCode===301||f.statusCode===302){try{const w=f.headers.location||"";return yt(h=o.redirect(w),uc,_d).call(h,t+1,e,0,i,f)}catch{}return f}else if(f.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,f,t))){const w=f.headers["retry-after"];let R=S(this,Ti).slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return typeof w=="string"&&w.match(/^[1-9][0-9]*$/)&&(R=parseInt(w)),yt(y=o.clone(),uc,_d).call(y,t+1,e,R,i,f)}if(this.processFunc){tp(S(i,ss));try{f=await this.processFunc(o,f)}catch(w){(w.throttle==null||typeof w.stall!="number")&&f.makeServerError("error in post-processing function",w).assertOk();let R=S(this,Ti).slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return w.stall>=0&&(R=w.stall),yt(_=o.clone(),uc,_d).call(_,t+1,e,R,i,f)}}return f};let Ls=Lp;const i1=class i1{constructor(t,e,r,i,s){Y(this,Ch);Y(this,Bh);Y(this,Ph);Y(this,Wr);Y(this,ol);Y(this,lc);F(this,Ch,t),F(this,Bh,e),F(this,Ph,Object.keys(r).reduce((o,a)=>(o[a.toLowerCase()]=String(r[a]),o),{})),F(this,Wr,i==null?null:new Uint8Array(i)),F(this,ol,s||null),F(this,lc,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${S(this,Wr)?Tt(S(this,Wr)):"null"}>`}get statusCode(){return S(this,Ch)}get statusMessage(){return S(this,Bh)}get headers(){return Object.assign({},S(this,Ph))}get body(){return S(this,Wr)==null?null:new Uint8Array(S(this,Wr))}get bodyText(){try{return S(this,Wr)==null?"":J0(S(this,Wr))}catch{ht(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{ht(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const t=this.headers,e=Object.keys(t);let r=0;return{next:()=>{if(r<e.length){const i=e[r++];return{value:[i,t[i]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(t,e){let r;t?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:(t=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${t})`);const i=new i1(599,r,this.headers,this.body,S(this,ol)||void 0);return F(i,lc,{message:t,error:e}),i}throwThrottleError(t,e){e==null?e=-1:K(Number.isInteger(e)&&e>=0,"invalid stall timeout","stall",e);const r=new Error(t||"throttling requests");throw $t(r,{stall:e,throttle:!0}),r}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return S(this,Wr)!=null}get request(){return S(this,ol)}ok(){return S(this,lc).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=S(this,lc);t===""&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let i=null;try{S(this,Wr)&&(i=J0(S(this,Wr)))}catch{}ht(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:e,info:{requestUrl:r,responseBody:i,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};Ch=new WeakMap,Bh=new WeakMap,Ph=new WeakMap,Wr=new WeakMap,ol=new WeakMap,lc=new WeakMap;let Po=i1;function nI(){return new Date().getTime()}function w$(n){return Ms(n.replace(/%([0-9a-f][0-9a-f])/gi,(t,e)=>String.fromCharCode(parseInt(e,16))))}function b$(n){return new Promise(t=>setTimeout(t,n))}function _$(n){let t=n.toString(16);for(;t.length<2;)t="0"+t;return"0x"+t}function rI(n,t,e){let r=0;for(let i=0;i<e;i++)r=r*256+n[t+i];return r}function iI(n,t,e,r){const i=[];for(;e<t+1+r;){const s=sI(n,e);i.push(s.result),e+=s.consumed,ht(e<=t+1+r,"child data too short","BUFFER_OVERRUN",{buffer:n,length:r,offset:t})}return{consumed:1+r,result:i}}function sI(n,t){ht(n.length!==0,"data too short","BUFFER_OVERRUN",{buffer:n,length:0,offset:1});const e=r=>{ht(r<=n.length,"data short segment too short","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:r})};if(n[t]>=248){const r=n[t]-247;e(t+1+r);const i=rI(n,t+1,r);return e(t+1+r+i),iI(n,t,t+1+r,r+i)}else if(n[t]>=192){const r=n[t]-192;return e(t+1+r),iI(n,t,t+1,r)}else if(n[t]>=184){const r=n[t]-183;e(t+1+r);const i=rI(n,t+1,r);e(t+1+r+i);const s=Tt(n.slice(t+1+r,t+1+r+i));return{consumed:1+r+i,result:s}}else if(n[t]>=128){const r=n[t]-128;e(t+1+r);const i=Tt(n.slice(t+1,t+1+r));return{consumed:1+r,result:i}}return{consumed:1,result:_$(n[t])}}function ep(n){const t=we(n,"data"),e=sI(t,0);return K(e.consumed===t.length,"unexpected junk after rlp payload","data",n),e.result}function oI(n){const t=[];for(;n;)t.unshift(n&255),n>>=8;return t}function aI(n){if(Array.isArray(n)){let r=[];if(n.forEach(function(s){r=r.concat(aI(s))}),r.length<=55)return r.unshift(192+r.length),r;const i=oI(r.length);return i.unshift(247+i.length),i.concat(r)}const t=Array.prototype.slice.call(we(n,"object"));if(t.length===1&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const e=oI(t.length);return e.unshift(183+e.length),e.concat(t)}const cI="0123456789abcdef";function Ka(n){let t="0x";for(const e of aI(n))t+=cI[e>>4],t+=cI[e&15];return t}const wr=32,Qm=new Uint8Array(wr),A$=["then"],np={},uI=new WeakMap;function ja(n){return uI.get(n)}function lI(n,t){uI.set(n,t)}function ch(n,t){const e=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw e.error=t,e}function Ym(n,t,e){return n.indexOf(null)>=0?t.map((r,i)=>r instanceof Pu?Ym(ja(r),r,e):r):n.reduce((r,i,s)=>{let o=t.getValue(i);return i in r||(e&&o instanceof Pu&&(o=Ym(ja(o),o,e)),r[i]=o),r},{})}const cl=class cl extends Array{constructor(...e){const r=e[0];let i=e[1],s=(e[2]||[]).slice(),o=!0;r!==np&&(i=e,s=[],o=!1);super(i.length);Y(this,al);i.forEach((f,h)=>{this[h]=f});const a=s.reduce((f,h)=>(typeof h=="string"&&f.set(h,(f.get(h)||0)+1),f),new Map);if(lI(this,Object.freeze(i.map((f,h)=>{const y=s[h];return y!=null&&a.get(y)===1?y:null}))),F(this,al,[]),S(this,al)==null&&S(this,al),!o)return;Object.freeze(this);const u=new Proxy(this,{get:(f,h,y)=>{if(typeof h=="string"){if(h.match(/^[0-9]+$/)){const w=ie(h,"%index");if(w<0||w>=this.length)throw new RangeError("out of result range");const R=f[w];return R instanceof Error&&ch(`index ${w}`,R),R}if(A$.indexOf(h)>=0)return Reflect.get(f,h,y);const _=f[h];if(_ instanceof Function)return function(...w){return _.apply(this===y?f:this,w)};if(!(h in f))return f.getValue.apply(this===y?f:this,[h])}return Reflect.get(f,h,y)}});return lI(u,ja(this)),u}toArray(e){const r=[];return this.forEach((i,s)=>{i instanceof Error&&ch(`index ${s}`,i),e&&i instanceof cl&&(i=i.toArray(e)),r.push(i)}),r}toObject(e){const r=ja(this);return r.reduce((i,s,o)=>(ht(s!=null,`value at index ${o} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),Ym(r,this,e)),{})}slice(e,r){e==null&&(e=0),e<0&&(e+=this.length,e<0&&(e=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);const i=ja(this),s=[],o=[];for(let a=e;a<r;a++)s.push(this[a]),o.push(i[a]);return new cl(np,s,o)}filter(e,r){const i=ja(this),s=[],o=[];for(let a=0;a<this.length;a++){const u=this[a];u instanceof Error&&ch(`index ${a}`,u),e.call(r,u,a,this)&&(s.push(u),o.push(i[a]))}return new cl(np,s,o)}map(e,r){const i=[];for(let s=0;s<this.length;s++){const o=this[s];o instanceof Error&&ch(`index ${s}`,o),i.push(e.call(r,o,s,this))}return i}getValue(e){const r=ja(this).indexOf(e);if(r===-1)return;const i=this[r];return i instanceof Error&&ch(`property ${JSON.stringify(e)}`,i.error),i}static fromItems(e,r){return new cl(np,e,r)}};al=new WeakMap;let Pu=cl;function fI(n){let t=mr(n);return ht(t.length<=wr,"value out-of-bounds","BUFFER_OVERRUN",{buffer:t,length:wr,offset:t.length}),t.length!==wr&&(t=yr(xn([Qm.slice(t.length%wr),t]))),t}class Us{constructor(t,e,r,i){Z(this,"name");Z(this,"type");Z(this,"localName");Z(this,"dynamic");$t(this,{name:t,type:e,localName:r,dynamic:i},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(t,e){K(!1,t,this.localName,e)}}class Jm{constructor(){Y(this,ul);Y(this,Ws);Y(this,fc);F(this,Ws,[]),F(this,fc,0)}get data(){return xn(S(this,Ws))}get length(){return S(this,fc)}appendWriter(t){return yt(this,ul,ag).call(this,yr(t.data))}writeBytes(t){let e=yr(t);const r=e.length%wr;return r&&(e=yr(xn([e,Qm.slice(r)]))),yt(this,ul,ag).call(this,e)}writeValue(t){return yt(this,ul,ag).call(this,fI(t))}writeUpdatableValue(){const t=S(this,Ws).length;return S(this,Ws).push(Qm),F(this,fc,S(this,fc)+wr),e=>{S(this,Ws)[t]=fI(e)}}}Ws=new WeakMap,fc=new WeakMap,ul=new WeakSet,ag=function(t){return S(this,Ws).push(t),F(this,fc,S(this,fc)+t.length),t.length};const s1=class s1{constructor(t,e,r){Y(this,pc);Z(this,"allowLoose");Y(this,Br);Y(this,Zr);Y(this,hc);Y(this,dc);Y(this,Vo);$t(this,{allowLoose:!!e}),F(this,Br,yr(t)),F(this,hc,0),F(this,dc,null),F(this,Vo,r??1024),F(this,Zr,0)}get data(){return Tt(S(this,Br))}get dataLength(){return S(this,Br).length}get consumed(){return S(this,Zr)}get bytes(){return new Uint8Array(S(this,Br))}subReader(t){const e=new s1(S(this,Br).slice(S(this,Zr)+t),this.allowLoose,S(this,Vo));return F(e,dc,this),e}readBytes(t,e){let r=yt(this,pc,aO).call(this,0,t,!!e);return yt(this,pc,kb).call(this,t),F(this,Zr,S(this,Zr)+r.length),r.slice(0,t)}readValue(){return Zm(this.readBytes(wr))}readIndex(){return i$(this.readBytes(wr))}};Br=new WeakMap,Zr=new WeakMap,hc=new WeakMap,dc=new WeakMap,Vo=new WeakMap,pc=new WeakSet,kb=function(t){var e;if(S(this,dc))return yt(e=S(this,dc),pc,kb).call(e,t);F(this,hc,S(this,hc)+t),ht(S(this,Vo)<1||S(this,hc)<=S(this,Vo)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${S(this,Vo)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:yr(S(this,Br)),offset:S(this,Zr),length:t,info:{bytesRead:S(this,hc),dataLength:this.dataLength}})},aO=function(t,e,r){let i=Math.ceil(e/wr)*wr;return S(this,Zr)+i>S(this,Br).length&&(this.allowLoose&&r&&S(this,Zr)+e<=S(this,Br).length?i=e:ht(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:yr(S(this,Br)),length:S(this,Br).length,offset:S(this,Zr)+i})),S(this,Br).slice(S(this,Zr),S(this,Zr)+i)};let Xm=s1;function rp(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function tw(n,...t){if(!(n instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(n.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${n.length}`)}function E$(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");rp(n.outputLen),rp(n.blockLen)}function Mu(n,t=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(t&&n.finished)throw new Error("Hash#digest() has already been called")}function hI(n,t){tw(n);const e=t.outputLen;if(n.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}const ew=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const dI=n=>n instanceof Uint8Array,v$=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),nw=n=>new DataView(n.buffer,n.byteOffset,n.byteLength),es=(n,t)=>n<<32-t|n>>>t;if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function x$(n){if(typeof n!="string")throw new Error(`utf8ToBytes expected string, got ${typeof n}`);return new Uint8Array(new TextEncoder().encode(n))}function ip(n){if(typeof n=="string"&&(n=x$(n)),!dI(n))throw new Error(`expected Uint8Array, got ${typeof n}`);return n}function R$(...n){const t=new Uint8Array(n.reduce((r,i)=>r+i.length,0));let e=0;return n.forEach(r=>{if(!dI(r))throw new Error("Uint8Array expected");t.set(r,e),e+=r.length}),t}class rw{clone(){return this._cloneInto()}}function iw(n){const t=r=>n().update(ip(r)).digest(),e=n();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>n(),t}function I$(n=32){if(ew&&typeof ew.getRandomValues=="function")return ew.getRandomValues(new Uint8Array(n));throw new Error("crypto.getRandomValues must be defined")}class pI extends rw{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,E$(t);const r=ip(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,s=new Uint8Array(i);s.set(r.length>i?t.create().update(r).digest():r);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=t.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(t){return Mu(this),this.iHash.update(t),this}digestInto(t){Mu(this),tw(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const gI=(n,t,e)=>new pI(n,t).update(e).digest();gI.create=(n,t)=>new pI(n,t);function S$(n,t,e,r){if(typeof n.setBigUint64=="function")return n.setBigUint64(t,e,r);const i=BigInt(32),s=BigInt(4294967295),o=Number(e>>i&s),a=Number(e&s),u=r?4:0,f=r?0:4;n.setUint32(t+u,o,r),n.setUint32(t+f,a,r)}class yI extends rw{constructor(t,e,r,i){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=nw(this.buffer)}update(t){Mu(this);const{view:e,buffer:r,blockLen:i}=this;t=ip(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const u=nw(t);for(;i<=s-o;o+=i)this.process(u,o);continue}r.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Mu(this),hI(t,this),this.finished=!0;const{buffer:e,view:r,blockLen:i,isLE:s}=this;let{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(r,0),o=0);for(let y=o;y<i;y++)e[y]=0;S$(r,i-8,BigInt(this.length*8),s),this.process(r,0);const a=nw(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=u/4,h=this.get();if(f>h.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<f;y++)a.setUint32(4*y,h[y],s)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:r,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%e&&t.buffer.set(r),t}}const k$=(n,t,e)=>n&t^~n&e,T$=(n,t,e)=>n&t^n&e^t&e,O$=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Mo=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Lo=new Uint32Array(64);class N$ extends yI{constructor(){super(64,32,8,!1),this.A=Mo[0]|0,this.B=Mo[1]|0,this.C=Mo[2]|0,this.D=Mo[3]|0,this.E=Mo[4]|0,this.F=Mo[5]|0,this.G=Mo[6]|0,this.H=Mo[7]|0}get(){const{A:t,B:e,C:r,D:i,E:s,F:o,G:a,H:u}=this;return[t,e,r,i,s,o,a,u]}set(t,e,r,i,s,o,a,u){this.A=t|0,this.B=e|0,this.C=r|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(t,e){for(let y=0;y<16;y++,e+=4)Lo[y]=t.getUint32(e,!1);for(let y=16;y<64;y++){const _=Lo[y-15],w=Lo[y-2],R=es(_,7)^es(_,18)^_>>>3,T=es(w,17)^es(w,19)^w>>>10;Lo[y]=T+Lo[y-7]+R+Lo[y-16]|0}let{A:r,B:i,C:s,D:o,E:a,F:u,G:f,H:h}=this;for(let y=0;y<64;y++){const _=es(a,6)^es(a,11)^es(a,25),w=h+_+k$(a,u,f)+O$[y]+Lo[y]|0,T=(es(r,2)^es(r,13)^es(r,22))+T$(r,i,s)|0;h=f,f=u,u=a,a=o+w|0,o=s,s=i,i=r,r=w+T|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,u=u+this.F|0,f=f+this.G|0,h=h+this.H|0,this.set(r,i,s,o,a,u,f,h)}roundClean(){Lo.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const mI=iw(()=>new N$),sp=BigInt(2**32-1),sw=BigInt(32);function wI(n,t=!1){return t?{h:Number(n&sp),l:Number(n>>sw&sp)}:{h:Number(n>>sw&sp)|0,l:Number(n&sp)|0}}function bI(n,t=!1){let e=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let i=0;i<n.length;i++){const{h:s,l:o}=wI(n[i],t);[e[i],r[i]]=[s,o]}return[e,r]}const C$=(n,t)=>BigInt(n>>>0)<<sw|BigInt(t>>>0),B$=(n,t,e)=>n>>>e,P$=(n,t,e)=>n<<32-e|t>>>e,M$=(n,t,e)=>n>>>e|t<<32-e,L$=(n,t,e)=>n<<32-e|t>>>e,U$=(n,t,e)=>n<<64-e|t>>>e-32,D$=(n,t,e)=>n>>>e-32|t<<64-e,F$=(n,t)=>t,$$=(n,t)=>n,_I=(n,t,e)=>n<<e|t>>>32-e,AI=(n,t,e)=>t<<e|n>>>32-e,EI=(n,t,e)=>t<<e-32|n>>>64-e,vI=(n,t,e)=>n<<e-32|t>>>64-e;function H$(n,t,e,r){const i=(t>>>0)+(r>>>0);return{h:n+e+(i/2**32|0)|0,l:i|0}}const ne={fromBig:wI,split:bI,toBig:C$,shrSH:B$,shrSL:P$,rotrSH:M$,rotrSL:L$,rotrBH:U$,rotrBL:D$,rotr32H:F$,rotr32L:$$,rotlSH:_I,rotlSL:AI,rotlBH:EI,rotlBL:vI,add:H$,add3L:(n,t,e)=>(n>>>0)+(t>>>0)+(e>>>0),add3H:(n,t,e,r)=>t+e+r+(n/2**32|0)|0,add4L:(n,t,e,r)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0),add4H:(n,t,e,r,i)=>t+e+r+i+(n/2**32|0)|0,add5H:(n,t,e,r,i,s)=>t+e+r+i+s+(n/2**32|0)|0,add5L:(n,t,e,r,i)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0)},[z$,G$]=ne.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n))),Uo=new Uint32Array(80),Do=new Uint32Array(80);class V$ extends yI{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:r,Bl:i,Ch:s,Cl:o,Dh:a,Dl:u,Eh:f,El:h,Fh:y,Fl:_,Gh:w,Gl:R,Hh:T,Hl:I}=this;return[t,e,r,i,s,o,a,u,f,h,y,_,w,R,T,I]}set(t,e,r,i,s,o,a,u,f,h,y,_,w,R,T,I){this.Ah=t|0,this.Al=e|0,this.Bh=r|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=u|0,this.Eh=f|0,this.El=h|0,this.Fh=y|0,this.Fl=_|0,this.Gh=w|0,this.Gl=R|0,this.Hh=T|0,this.Hl=I|0}process(t,e){for(let U=0;U<16;U++,e+=4)Uo[U]=t.getUint32(e),Do[U]=t.getUint32(e+=4);for(let U=16;U<80;U++){const G=Uo[U-15]|0,W=Do[U-15]|0,X=ne.rotrSH(G,W,1)^ne.rotrSH(G,W,8)^ne.shrSH(G,W,7),j=ne.rotrSL(G,W,1)^ne.rotrSL(G,W,8)^ne.shrSL(G,W,7),J=Uo[U-2]|0,it=Do[U-2]|0,ut=ne.rotrSH(J,it,19)^ne.rotrBH(J,it,61)^ne.shrSH(J,it,6),rt=ne.rotrSL(J,it,19)^ne.rotrBL(J,it,61)^ne.shrSL(J,it,6),ot=ne.add4L(j,rt,Do[U-7],Do[U-16]),C=ne.add4H(ot,X,ut,Uo[U-7],Uo[U-16]);Uo[U]=C|0,Do[U]=ot|0}let{Ah:r,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:f,Dl:h,Eh:y,El:_,Fh:w,Fl:R,Gh:T,Gl:I,Hh:B,Hl:H}=this;for(let U=0;U<80;U++){const G=ne.rotrSH(y,_,14)^ne.rotrSH(y,_,18)^ne.rotrBH(y,_,41),W=ne.rotrSL(y,_,14)^ne.rotrSL(y,_,18)^ne.rotrBL(y,_,41),X=y&w^~y&T,j=_&R^~_&I,J=ne.add5L(H,W,j,G$[U],Do[U]),it=ne.add5H(J,B,G,X,z$[U],Uo[U]),ut=J|0,rt=ne.rotrSH(r,i,28)^ne.rotrBH(r,i,34)^ne.rotrBH(r,i,39),ot=ne.rotrSL(r,i,28)^ne.rotrBL(r,i,34)^ne.rotrBL(r,i,39),C=r&s^r&a^s&a,p=i&o^i&u^o&u;B=T|0,H=I|0,T=w|0,I=R|0,w=y|0,R=_|0,{h:y,l:_}=ne.add(f|0,h|0,it|0,ut|0),f=a|0,h=u|0,a=s|0,u=o|0,s=r|0,o=i|0;const m=ne.add3L(ut,ot,p);r=ne.add3H(m,it,rt,C),i=m|0}({h:r,l:i}=ne.add(this.Ah|0,this.Al|0,r|0,i|0)),{h:s,l:o}=ne.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=ne.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:f,l:h}=ne.add(this.Dh|0,this.Dl|0,f|0,h|0),{h:y,l:_}=ne.add(this.Eh|0,this.El|0,y|0,_|0),{h:w,l:R}=ne.add(this.Fh|0,this.Fl|0,w|0,R|0),{h:T,l:I}=ne.add(this.Gh|0,this.Gl|0,T|0,I|0),{h:B,l:H}=ne.add(this.Hh|0,this.Hl|0,B|0,H|0),this.set(r,i,s,o,a,u,f,h,y,_,w,R,T,I,B,H)}roundClean(){Uo.fill(0),Do.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const K$=iw(()=>new V$);function j$(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof qc<"u")return qc;throw new Error("unable to locate global object")}const xI=j$();xI.crypto||xI.msCrypto;function W$(n){switch(n){case"sha256":return mI.create();case"sha512":return K$.create()}K(!1,"invalid hashing algorithm name","algorithm",n)}const[RI,II,SI]=[[],[],[]],Z$=BigInt(0),uh=BigInt(1),q$=BigInt(2),Q$=BigInt(7),Y$=BigInt(256),J$=BigInt(113);for(let n=0,t=uh,e=1,r=0;n<24;n++){[e,r]=[r,(2*e+3*r)%5],RI.push(2*(5*r+e)),II.push((n+1)*(n+2)/2%64);let i=Z$;for(let s=0;s<7;s++)t=(t<<uh^(t>>Q$)*J$)%Y$,t&q$&&(i^=uh<<(uh<<BigInt(s))-uh);SI.push(i)}const[X$,tH]=bI(SI,!0),kI=(n,t,e)=>e>32?EI(n,t,e):_I(n,t,e),TI=(n,t,e)=>e>32?vI(n,t,e):AI(n,t,e);function eH(n,t=24){const e=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let o=0;o<10;o++)e[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,u=(o+2)%10,f=e[u],h=e[u+1],y=kI(f,h,1)^e[a],_=TI(f,h,1)^e[a+1];for(let w=0;w<50;w+=10)n[o+w]^=y,n[o+w+1]^=_}let i=n[2],s=n[3];for(let o=0;o<24;o++){const a=II[o],u=kI(i,s,a),f=TI(i,s,a),h=RI[o];i=n[h],s=n[h+1],n[h]=u,n[h+1]=f}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)e[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~e[(a+2)%10]&e[(a+4)%10]}n[0]^=X$[r],n[1]^=tH[r]}e.fill(0)}class ow extends rw{constructor(t,e,r,i=!1,s=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,rp(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=v$(this.state)}keccak(){eH(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){Mu(this);const{blockLen:e,state:r}=this;t=ip(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(e-this.pos,i-s);for(let a=0;a<o;a++)r[this.pos++]^=t[s++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:e,pos:r,blockLen:i}=this;t[r]^=e,e&128&&r===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){Mu(this,!1),tw(t),this.finish();const e=this.state,{blockLen:r}=this;for(let i=0,s=t.length;i<s;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,s-i);t.set(e.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return rp(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(hI(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:e,suffix:r,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new ow(e,r,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}}const nH=((n,t,e)=>iw(()=>new ow(t,n,e)))(1,136,256/8);let OI=!1;const NI=function(n){return nH(n)};let CI=NI;function Nn(n){const t=we(n,"data");return Tt(CI(t))}Nn._=NI,Nn.lock=function(){OI=!0},Nn.register=function(n){if(OI)throw new TypeError("keccak256 is locked");CI=n},Object.freeze(Nn);const BI=function(n){return W$("sha256").update(n).digest()};let PI=BI,MI=!1;function Lu(n){const t=we(n,"data");return Tt(PI(t))}Lu._=BI,Lu.lock=function(){MI=!0},Lu.register=function(n){if(MI)throw new Error("sha256 is locked");PI=n},Object.freeze(Lu),Object.freeze(Lu);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const LI=BigInt(0),op=BigInt(1),rH=BigInt(2),ap=n=>n instanceof Uint8Array,iH=Array.from({length:256},(n,t)=>t.toString(16).padStart(2,"0"));function Uu(n){if(!ap(n))throw new Error("Uint8Array expected");let t="";for(let e=0;e<n.length;e++)t+=iH[n[e]];return t}function UI(n){const t=n.toString(16);return t.length&1?`0${t}`:t}function aw(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return BigInt(n===""?"0":`0x${n}`)}function Du(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);const t=n.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const e=new Uint8Array(t/2);for(let r=0;r<e.length;r++){const i=r*2,s=n.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Wa(n){return aw(Uu(n))}function cw(n){if(!ap(n))throw new Error("Uint8Array expected");return aw(Uu(Uint8Array.from(n).reverse()))}function Fu(n,t){return Du(n.toString(16).padStart(t*2,"0"))}function uw(n,t){return Fu(n,t).reverse()}function sH(n){return Du(UI(n))}function xi(n,t,e){let r;if(typeof t=="string")try{r=Du(t)}catch(s){throw new Error(`${n} must be valid hex string, got "${t}". Cause: ${s}`)}else if(ap(t))r=Uint8Array.from(t);else throw new Error(`${n} must be hex string or Uint8Array`);const i=r.length;if(typeof e=="number"&&i!==e)throw new Error(`${n} expected ${e} bytes, got ${i}`);return r}function lh(...n){const t=new Uint8Array(n.reduce((r,i)=>r+i.length,0));let e=0;return n.forEach(r=>{if(!ap(r))throw new Error("Uint8Array expected");t.set(r,e),e+=r.length}),t}function oH(n,t){if(n.length!==t.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}function aH(n){if(typeof n!="string")throw new Error(`utf8ToBytes expected string, got ${typeof n}`);return new Uint8Array(new TextEncoder().encode(n))}function cH(n){let t;for(t=0;n>LI;n>>=op,t+=1);return t}function uH(n,t){return n>>BigInt(t)&op}const lH=(n,t,e)=>n|(e?op:LI)<<BigInt(t),lw=n=>(rH<<BigInt(n-1))-op,fw=n=>new Uint8Array(n),DI=n=>Uint8Array.from(n);function FI(n,t,e){if(typeof n!="number"||n<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let r=fw(n),i=fw(n),s=0;const o=()=>{r.fill(1),i.fill(0),s=0},a=(...y)=>e(i,r,...y),u=(y=fw())=>{i=a(DI([0]),y),r=a(),y.length!==0&&(i=a(DI([1]),y),r=a())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let y=0;const _=[];for(;y<t;){r=a();const w=r.slice();_.push(w),y+=r.length}return lh(..._)};return(y,_)=>{o(),u(y);let w;for(;!(w=_(f()));)u();return o(),w}}const fH={bigint:n=>typeof n=="bigint",function:n=>typeof n=="function",boolean:n=>typeof n=="boolean",string:n=>typeof n=="string",stringOrUint8Array:n=>typeof n=="string"||n instanceof Uint8Array,isSafeInteger:n=>Number.isSafeInteger(n),array:n=>Array.isArray(n),field:(n,t)=>t.Fp.isValid(n),hash:n=>typeof n=="function"&&Number.isSafeInteger(n.outputLen)};function fh(n,t,e={}){const r=(i,s,o)=>{const a=fH[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);const u=n[i];if(!(o&&u===void 0)&&!a(u,n))throw new Error(`Invalid param ${String(i)}=${u} (${typeof u}), expected ${s}`)};for(const[i,s]of Object.entries(t))r(i,s,!1);for(const[i,s]of Object.entries(e))r(i,s,!0);return n}const hH=Object.freeze(Object.defineProperty({__proto__:null,bitGet:uH,bitLen:cH,bitMask:lw,bitSet:lH,bytesToHex:Uu,bytesToNumberBE:Wa,bytesToNumberLE:cw,concatBytes:lh,createHmacDrbg:FI,ensureBytes:xi,equalBytes:oH,hexToBytes:Du,hexToNumber:aw,numberToBytesBE:Fu,numberToBytesLE:uw,numberToHexUnpadded:UI,numberToVarBytesBE:sH,utf8ToBytes:aH,validateObject:fh},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Dn=BigInt(0),Rn=BigInt(1),Za=BigInt(2),dH=BigInt(3),hw=BigInt(4),$I=BigInt(5),HI=BigInt(8);BigInt(9),BigInt(16);function Or(n,t){const e=n%t;return e>=Dn?e:t+e}function pH(n,t,e){if(e<=Dn||t<Dn)throw new Error("Expected power/modulo > 0");if(e===Rn)return Dn;let r=Rn;for(;t>Dn;)t&Rn&&(r=r*n%e),n=n*n%e,t>>=Rn;return r}function ii(n,t,e){let r=n;for(;t-- >Dn;)r*=r,r%=e;return r}function dw(n,t){if(n===Dn||t<=Dn)throw new Error(`invert: expected positive integers, got n=${n} mod=${t}`);let e=Or(n,t),r=t,i=Dn,s=Rn;for(;e!==Dn;){const a=r/e,u=r%e,f=i-s*a;r=e,e=u,i=s,s=f}if(r!==Rn)throw new Error("invert: does not exist");return Or(i,t)}function gH(n){const t=(n-Rn)/Za;let e,r,i;for(e=n-Rn,r=0;e%Za===Dn;e/=Za,r++);for(i=Za;i<n&&pH(i,t,n)!==n-Rn;i++);if(r===1){const o=(n+Rn)/hw;return function(u,f){const h=u.pow(f,o);if(!u.eql(u.sqr(h),f))throw new Error("Cannot find square root");return h}}const s=(e+Rn)/Za;return function(a,u){if(a.pow(u,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=r,h=a.pow(a.mul(a.ONE,i),e),y=a.pow(u,s),_=a.pow(u,e);for(;!a.eql(_,a.ONE);){if(a.eql(_,a.ZERO))return a.ZERO;let w=1;for(let T=a.sqr(_);w<f&&!a.eql(T,a.ONE);w++)T=a.sqr(T);const R=a.pow(h,Rn<<BigInt(f-w-1));h=a.sqr(R),y=a.mul(y,R),_=a.mul(_,h),f=w}return y}}function yH(n){if(n%hw===dH){const t=(n+Rn)/hw;return function(r,i){const s=r.pow(i,t);if(!r.eql(r.sqr(s),i))throw new Error("Cannot find square root");return s}}if(n%HI===$I){const t=(n-$I)/HI;return function(r,i){const s=r.mul(i,Za),o=r.pow(s,t),a=r.mul(i,o),u=r.mul(r.mul(a,Za),o),f=r.mul(a,r.sub(u,r.ONE));if(!r.eql(r.sqr(f),i))throw new Error("Cannot find square root");return f}}return gH(n)}const mH=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function wH(n){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=mH.reduce((r,i)=>(r[i]="function",r),t);return fh(n,e)}function bH(n,t,e){if(e<Dn)throw new Error("Expected power > 0");if(e===Dn)return n.ONE;if(e===Rn)return t;let r=n.ONE,i=t;for(;e>Dn;)e&Rn&&(r=n.mul(r,i)),i=n.sqr(i),e>>=Rn;return r}function _H(n,t){const e=new Array(t.length),r=t.reduce((s,o,a)=>n.is0(o)?s:(e[a]=s,n.mul(s,o)),n.ONE),i=n.inv(r);return t.reduceRight((s,o,a)=>n.is0(o)?s:(e[a]=n.mul(s,e[a]),n.mul(s,o)),i),e}function zI(n,t){const e=t!==void 0?t:n.toString(2).length,r=Math.ceil(e/8);return{nBitLength:e,nByteLength:r}}function AH(n,t,e=!1,r={}){if(n<=Dn)throw new Error(`Expected Field ORDER > 0, got ${n}`);const{nBitLength:i,nByteLength:s}=zI(n,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=yH(n),a=Object.freeze({ORDER:n,BITS:i,BYTES:s,MASK:lw(i),ZERO:Dn,ONE:Rn,create:u=>Or(u,n),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return Dn<=u&&u<n},is0:u=>u===Dn,isOdd:u=>(u&Rn)===Rn,neg:u=>Or(-u,n),eql:(u,f)=>u===f,sqr:u=>Or(u*u,n),add:(u,f)=>Or(u+f,n),sub:(u,f)=>Or(u-f,n),mul:(u,f)=>Or(u*f,n),pow:(u,f)=>bH(a,u,f),div:(u,f)=>Or(u*dw(f,n),n),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>dw(u,n),sqrt:r.sqrt||(u=>o(a,u)),invertBatch:u=>_H(a,u),cmov:(u,f,h)=>h?f:u,toBytes:u=>e?uw(u,s):Fu(u,s),fromBytes:u=>{if(u.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${u.length}`);return e?cw(u):Wa(u)}});return Object.freeze(a)}function GI(n){if(typeof n!="bigint")throw new Error("field order must be bigint");const t=n.toString(2).length;return Math.ceil(t/8)}function VI(n){const t=GI(n);return t+Math.ceil(t/2)}function EH(n,t,e=!1){const r=n.length,i=GI(t),s=VI(t);if(r<16||r<s||r>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${r}`);const o=e?Wa(n):cw(n),a=Or(o,t-Rn)+Rn;return e?uw(a,i):Fu(a,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const vH=BigInt(0),pw=BigInt(1);function xH(n,t){const e=(i,s)=>{const o=s.negate();return i?o:s},r=i=>{const s=Math.ceil(t/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:e,unsafeLadder(i,s){let o=n.ZERO,a=i;for(;s>vH;)s&pw&&(o=o.add(a)),a=a.double(),s>>=pw;return o},precomputeWindow(i,s){const{windows:o,windowSize:a}=r(s),u=[];let f=i,h=f;for(let y=0;y<o;y++){h=f,u.push(h);for(let _=1;_<a;_++)h=h.add(f),u.push(h);f=h.double()}return u},wNAF(i,s,o){const{windows:a,windowSize:u}=r(i);let f=n.ZERO,h=n.BASE;const y=BigInt(2**i-1),_=2**i,w=BigInt(i);for(let R=0;R<a;R++){const T=R*u;let I=Number(o&y);o>>=w,I>u&&(I-=_,o+=pw);const B=T,H=T+Math.abs(I)-1,U=R%2!==0,G=I<0;I===0?h=h.add(e(U,s[B])):f=f.add(e(G,s[H]))}return{p:f,f:h}},wNAFCached(i,s,o,a){const u=i._WINDOW_SIZE||1;let f=s.get(i);return f||(f=this.precomputeWindow(i,u),u!==1&&s.set(i,a(f))),this.wNAF(u,f,o)}}}function KI(n){return wH(n.Fp),fh(n,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...zI(n.n,n.nBitLength),...n,p:n.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function RH(n){const t=KI(n);fh(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:e,Fp:r,a:i}=t;if(e){if(!r.eql(i,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:IH,hexToBytes:SH}=hH,qa={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(n){const{Err:t}=qa;if(n.length<2||n[0]!==2)throw new t("Invalid signature integer tag");const e=n[1],r=n.subarray(2,e+2);if(!e||r.length!==e)throw new t("Invalid signature integer: wrong length");if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:IH(r),l:n.subarray(e+2)}},toSig(n){const{Err:t}=qa,e=typeof n=="string"?SH(n):n;if(!(e instanceof Uint8Array))throw new Error("ui8a expected");let r=e.length;if(r<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:i,l:s}=qa._parseInt(e.subarray(2)),{d:o,l:a}=qa._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(n){const t=f=>Number.parseInt(f[0],16)&8?"00"+f:f,e=f=>{const h=f.toString(16);return h.length&1?`0${h}`:h},r=t(e(n.s)),i=t(e(n.r)),s=r.length/2,o=i.length/2,a=e(s),u=e(o);return`30${e(o+s+4)}02${u}${i}02${a}${r}`}},Ds=BigInt(0),si=BigInt(1);BigInt(2);const jI=BigInt(3);BigInt(4);function kH(n){const t=RH(n),{Fp:e}=t,r=t.toBytes||((R,T,I)=>{const B=T.toAffine();return lh(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),i=t.fromBytes||(R=>{const T=R.subarray(1),I=e.fromBytes(T.subarray(0,e.BYTES)),B=e.fromBytes(T.subarray(e.BYTES,2*e.BYTES));return{x:I,y:B}});function s(R){const{a:T,b:I}=t,B=e.sqr(R),H=e.mul(B,R);return e.add(e.add(H,e.mul(R,T)),I)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function o(R){return typeof R=="bigint"&&Ds<R&&R<t.n}function a(R){if(!o(R))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(R){const{allowedPrivateKeyLengths:T,nByteLength:I,wrapPrivateKey:B,n:H}=t;if(T&&typeof R!="bigint"){if(R instanceof Uint8Array&&(R=Uu(R)),typeof R!="string"||!T.includes(R.length))throw new Error("Invalid key");R=R.padStart(I*2,"0")}let U;try{U=typeof R=="bigint"?R:Wa(xi("private key",R,I))}catch{throw new Error(`private key must be ${I} bytes, hex or bigint, not ${typeof R}`)}return B&&(U=Or(U,H)),a(U),U}const f=new Map;function h(R){if(!(R instanceof y))throw new Error("ProjectivePoint expected")}class y{constructor(T,I,B){if(this.px=T,this.py=I,this.pz=B,T==null||!e.isValid(T))throw new Error("x required");if(I==null||!e.isValid(I))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required")}static fromAffine(T){const{x:I,y:B}=T||{};if(!T||!e.isValid(I)||!e.isValid(B))throw new Error("invalid affine point");if(T instanceof y)throw new Error("projective point not allowed");const H=U=>e.eql(U,e.ZERO);return H(I)&&H(B)?y.ZERO:new y(I,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(T){const I=e.invertBatch(T.map(B=>B.pz));return T.map((B,H)=>B.toAffine(I[H])).map(y.fromAffine)}static fromHex(T){const I=y.fromAffine(i(xi("pointHex",T)));return I.assertValidity(),I}static fromPrivateKey(T){return y.BASE.multiply(u(T))}_setWindowSize(T){this._WINDOW_SIZE=T,f.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:T,y:I}=this.toAffine();if(!e.isValid(T)||!e.isValid(I))throw new Error("bad point: x or y not FE");const B=e.sqr(I),H=s(T);if(!e.eql(B,H))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:T}=this.toAffine();if(e.isOdd)return!e.isOdd(T);throw new Error("Field doesn't support isOdd")}equals(T){h(T);const{px:I,py:B,pz:H}=this,{px:U,py:G,pz:W}=T,X=e.eql(e.mul(I,W),e.mul(U,H)),j=e.eql(e.mul(B,W),e.mul(G,H));return X&&j}negate(){return new y(this.px,e.neg(this.py),this.pz)}double(){const{a:T,b:I}=t,B=e.mul(I,jI),{px:H,py:U,pz:G}=this;let W=e.ZERO,X=e.ZERO,j=e.ZERO,J=e.mul(H,H),it=e.mul(U,U),ut=e.mul(G,G),rt=e.mul(H,U);return rt=e.add(rt,rt),j=e.mul(H,G),j=e.add(j,j),W=e.mul(T,j),X=e.mul(B,ut),X=e.add(W,X),W=e.sub(it,X),X=e.add(it,X),X=e.mul(W,X),W=e.mul(rt,W),j=e.mul(B,j),ut=e.mul(T,ut),rt=e.sub(J,ut),rt=e.mul(T,rt),rt=e.add(rt,j),j=e.add(J,J),J=e.add(j,J),J=e.add(J,ut),J=e.mul(J,rt),X=e.add(X,J),ut=e.mul(U,G),ut=e.add(ut,ut),J=e.mul(ut,rt),W=e.sub(W,J),j=e.mul(ut,it),j=e.add(j,j),j=e.add(j,j),new y(W,X,j)}add(T){h(T);const{px:I,py:B,pz:H}=this,{px:U,py:G,pz:W}=T;let X=e.ZERO,j=e.ZERO,J=e.ZERO;const it=t.a,ut=e.mul(t.b,jI);let rt=e.mul(I,U),ot=e.mul(B,G),C=e.mul(H,W),p=e.add(I,B),m=e.add(U,G);p=e.mul(p,m),m=e.add(rt,ot),p=e.sub(p,m),m=e.add(I,H);let v=e.add(U,W);return m=e.mul(m,v),v=e.add(rt,C),m=e.sub(m,v),v=e.add(B,H),X=e.add(G,W),v=e.mul(v,X),X=e.add(ot,C),v=e.sub(v,X),J=e.mul(it,m),X=e.mul(ut,C),J=e.add(X,J),X=e.sub(ot,J),J=e.add(ot,J),j=e.mul(X,J),ot=e.add(rt,rt),ot=e.add(ot,rt),C=e.mul(it,C),m=e.mul(ut,m),ot=e.add(ot,C),C=e.sub(rt,C),C=e.mul(it,C),m=e.add(m,C),rt=e.mul(ot,m),j=e.add(j,rt),rt=e.mul(v,m),X=e.mul(p,X),X=e.sub(X,rt),rt=e.mul(p,ot),J=e.mul(v,J),J=e.add(J,rt),new y(X,j,J)}subtract(T){return this.add(T.negate())}is0(){return this.equals(y.ZERO)}wNAF(T){return w.wNAFCached(this,f,T,I=>{const B=e.invertBatch(I.map(H=>H.pz));return I.map((H,U)=>H.toAffine(B[U])).map(y.fromAffine)})}multiplyUnsafe(T){const I=y.ZERO;if(T===Ds)return I;if(a(T),T===si)return this;const{endo:B}=t;if(!B)return w.unsafeLadder(this,T);let{k1neg:H,k1:U,k2neg:G,k2:W}=B.splitScalar(T),X=I,j=I,J=this;for(;U>Ds||W>Ds;)U&si&&(X=X.add(J)),W&si&&(j=j.add(J)),J=J.double(),U>>=si,W>>=si;return H&&(X=X.negate()),G&&(j=j.negate()),j=new y(e.mul(j.px,B.beta),j.py,j.pz),X.add(j)}multiply(T){a(T);let I=T,B,H;const{endo:U}=t;if(U){const{k1neg:G,k1:W,k2neg:X,k2:j}=U.splitScalar(I);let{p:J,f:it}=this.wNAF(W),{p:ut,f:rt}=this.wNAF(j);J=w.constTimeNegate(G,J),ut=w.constTimeNegate(X,ut),ut=new y(e.mul(ut.px,U.beta),ut.py,ut.pz),B=J.add(ut),H=it.add(rt)}else{const{p:G,f:W}=this.wNAF(I);B=G,H=W}return y.normalizeZ([B,H])[0]}multiplyAndAddUnsafe(T,I,B){const H=y.BASE,U=(W,X)=>X===Ds||X===si||!W.equals(H)?W.multiplyUnsafe(X):W.multiply(X),G=U(this,I).add(U(T,B));return G.is0()?void 0:G}toAffine(T){const{px:I,py:B,pz:H}=this,U=this.is0();T==null&&(T=U?e.ONE:e.inv(H));const G=e.mul(I,T),W=e.mul(B,T),X=e.mul(H,T);if(U)return{x:e.ZERO,y:e.ZERO};if(!e.eql(X,e.ONE))throw new Error("invZ was invalid");return{x:G,y:W}}isTorsionFree(){const{h:T,isTorsionFree:I}=t;if(T===si)return!0;if(I)return I(y,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:T,clearCofactor:I}=t;return T===si?this:I?I(y,this):this.multiplyUnsafe(t.h)}toRawBytes(T=!0){return this.assertValidity(),r(y,this,T)}toHex(T=!0){return Uu(this.toRawBytes(T))}}y.BASE=new y(t.Gx,t.Gy,e.ONE),y.ZERO=new y(e.ZERO,e.ONE,e.ZERO);const _=t.nBitLength,w=xH(y,t.endo?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:y,normPrivateKeyToScalar:u,weierstrassEquation:s,isWithinCurveOrder:o}}function TH(n){const t=KI(n);return fh(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function OH(n){const t=TH(n),{Fp:e,n:r}=t,i=e.BYTES+1,s=2*e.BYTES+1;function o(m){return Ds<m&&m<e.ORDER}function a(m){return Or(m,r)}function u(m){return dw(m,r)}const{ProjectivePoint:f,normPrivateKeyToScalar:h,weierstrassEquation:y,isWithinCurveOrder:_}=kH({...t,toBytes(m,v,k){const N=v.toAffine(),M=e.toBytes(N.x),z=lh;return k?z(Uint8Array.from([v.hasEvenY()?2:3]),M):z(Uint8Array.from([4]),M,e.toBytes(N.y))},fromBytes(m){const v=m.length,k=m[0],N=m.subarray(1);if(v===i&&(k===2||k===3)){const M=Wa(N);if(!o(M))throw new Error("Point is not on curve");const z=y(M);let P=e.sqrt(z);const A=(P&si)===si;return(k&1)===1!==A&&(P=e.neg(P)),{x:M,y:P}}else if(v===s&&k===4){const M=e.fromBytes(N.subarray(0,e.BYTES)),z=e.fromBytes(N.subarray(e.BYTES,2*e.BYTES));return{x:M,y:z}}else throw new Error(`Point of length ${v} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),w=m=>Uu(Fu(m,t.nByteLength));function R(m){const v=r>>si;return m>v}function T(m){return R(m)?a(-m):m}const I=(m,v,k)=>Wa(m.slice(v,k));class B{constructor(v,k,N){this.r=v,this.s=k,this.recovery=N,this.assertValidity()}static fromCompact(v){const k=t.nByteLength;return v=xi("compactSignature",v,k*2),new B(I(v,0,k),I(v,k,2*k))}static fromDER(v){const{r:k,s:N}=qa.toSig(xi("DER",v));return new B(k,N)}assertValidity(){if(!_(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!_(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(v){return new B(this.r,this.s,v)}recoverPublicKey(v){const{r:k,s:N,recovery:M}=this,z=j(xi("msgHash",v));if(M==null||![0,1,2,3].includes(M))throw new Error("recovery id invalid");const P=M===2||M===3?k+t.n:k;if(P>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");const A=M&1?"03":"02",$=f.fromHex(A+w(P)),ct=u(P),dt=a(-z*ct),wt=a(N*ct),Gt=f.BASE.multiplyAndAddUnsafe($,dt,wt);if(!Gt)throw new Error("point at infinify");return Gt.assertValidity(),Gt}hasHighS(){return R(this.s)}normalizeS(){return this.hasHighS()?new B(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Du(this.toDERHex())}toDERHex(){return qa.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Du(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}const H={isValidPrivateKey(m){try{return h(m),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const m=VI(t.n);return EH(t.randomBytes(m),t.n)},precompute(m=8,v=f.BASE){return v._setWindowSize(m),v.multiply(BigInt(3)),v}};function U(m,v=!0){return f.fromPrivateKey(m).toRawBytes(v)}function G(m){const v=m instanceof Uint8Array,k=typeof m=="string",N=(v||k)&&m.length;return v?N===i||N===s:k?N===2*i||N===2*s:m instanceof f}function W(m,v,k=!0){if(G(m))throw new Error("first arg must be private key");if(!G(v))throw new Error("second arg must be public key");return f.fromHex(v).multiply(h(m)).toRawBytes(k)}const X=t.bits2int||function(m){const v=Wa(m),k=m.length*8-t.nBitLength;return k>0?v>>BigInt(k):v},j=t.bits2int_modN||function(m){return a(X(m))},J=lw(t.nBitLength);function it(m){if(typeof m!="bigint")throw new Error("bigint expected");if(!(Ds<=m&&m<J))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Fu(m,t.nByteLength)}function ut(m,v,k=rt){if(["recovered","canonical"].some(Lt=>Lt in k))throw new Error("sign() legacy options not supported");const{hash:N,randomBytes:M}=t;let{lowS:z,prehash:P,extraEntropy:A}=k;z==null&&(z=!0),m=xi("msgHash",m),P&&(m=xi("prehashed msgHash",N(m)));const $=j(m),ct=h(v),dt=[it(ct),it($)];if(A!=null){const Lt=A===!0?M(e.BYTES):A;dt.push(xi("extraEntropy",Lt))}const wt=lh(...dt),Gt=$;function Ut(Lt){const Re=X(Lt);if(!_(Re))return;const Kt=u(Re),Ft=f.BASE.multiply(Re).toAffine(),Te=a(Ft.x);if(Te===Ds)return;const re=a(Kt*a(Gt+Te*ct));if(re===Ds)return;let oe=(Ft.x===Te?0:2)|Number(Ft.y&si),sn=re;return z&&R(re)&&(sn=T(re),oe^=1),new B(Te,sn,oe)}return{seed:wt,k2sig:Ut}}const rt={lowS:t.lowS,prehash:!1},ot={lowS:t.lowS,prehash:!1};function C(m,v,k=rt){const{seed:N,k2sig:M}=ut(m,v,k),z=t;return FI(z.hash.outputLen,z.nByteLength,z.hmac)(N,M)}f.BASE._setWindowSize(8);function p(m,v,k,N=ot){var Ft;const M=m;if(v=xi("msgHash",v),k=xi("publicKey",k),"strict"in N)throw new Error("options.strict was renamed to lowS");const{lowS:z,prehash:P}=N;let A,$;try{if(typeof M=="string"||M instanceof Uint8Array)try{A=B.fromDER(M)}catch(Te){if(!(Te instanceof qa.Err))throw Te;A=B.fromCompact(M)}else if(typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint"){const{r:Te,s:re}=M;A=new B(Te,re)}else throw new Error("PARSE");$=f.fromHex(k)}catch(Te){if(Te.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(z&&A.hasHighS())return!1;P&&(v=t.hash(v));const{r:ct,s:dt}=A,wt=j(v),Gt=u(dt),Ut=a(wt*Gt),Lt=a(ct*Gt),Re=(Ft=f.BASE.multiplyAndAddUnsafe($,Ut,Lt))==null?void 0:Ft.toAffine();return Re?a(Re.x)===ct:!1}return{CURVE:t,getPublicKey:U,getSharedSecret:W,sign:C,verify:p,ProjectivePoint:f,Signature:B,utils:H}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function NH(n){return{hash:n,hmac:(t,...e)=>gI(n,t,R$(...e)),randomBytes:I$}}function CH(n,t){const e=r=>OH({...n,...NH(r)});return Object.freeze({...e(t),create:e})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const WI=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),ZI=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),BH=BigInt(1),gw=BigInt(2),qI=(n,t)=>(n+t/gw)/t;function PH(n){const t=WI,e=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),f=n*n*n%t,h=f*f*n%t,y=ii(h,e,t)*h%t,_=ii(y,e,t)*h%t,w=ii(_,gw,t)*f%t,R=ii(w,i,t)*w%t,T=ii(R,s,t)*R%t,I=ii(T,a,t)*T%t,B=ii(I,u,t)*I%t,H=ii(B,a,t)*T%t,U=ii(H,e,t)*h%t,G=ii(U,o,t)*R%t,W=ii(G,r,t)*f%t,X=ii(W,gw,t);if(!yw.eql(yw.sqr(X),n))throw new Error("Cannot find square root");return X}const yw=AH(WI,void 0,void 0,{sqrt:PH}),Fo=CH({a:BigInt(0),b:BigInt(7),Fp:yw,n:ZI,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:n=>{const t=ZI,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-BH*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),a=qI(s*n,t),u=qI(-r*n,t);let f=Or(n-a*e-u*i,t),h=Or(-a*r-u*s,t);const y=f>o,_=h>o;if(y&&(f=t-f),_&&(h=t-h),f>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+n);return{k1neg:y,k1:f,k2neg:_,k2:h}}}},mI);BigInt(0),Fo.ProjectivePoint;const hh="0x0000000000000000000000000000000000000000",QI="0x0000000000000000000000000000000000000000000000000000000000000000",YI=BigInt(0),JI=BigInt(1),XI=BigInt(2),tS=BigInt(27),eS=BigInt(28),cp=BigInt(35),$u={};function nS(n){return Va(mr(n),32)}const Oi=class Oi{constructor(t,e,r,i){Y(this,ll);Y(this,fl);Y(this,hl);Y(this,gc);q0(t,$u,"Signature"),F(this,ll,e),F(this,fl,r),F(this,hl,i),F(this,gc,null)}get r(){return S(this,ll)}set r(t){K(Nu(t)===32,"invalid r","value",t),F(this,ll,Tt(t))}get s(){return S(this,fl)}set s(t){K(Nu(t)===32,"invalid s","value",t);const e=Tt(t);K(parseInt(e.substring(0,3))<8,"non-canonical s","value",e),F(this,fl,e)}get v(){return S(this,hl)}set v(t){const e=ie(t,"value");K(e===27||e===28,"invalid v","v",t),F(this,hl,e)}get networkV(){return S(this,gc)}get legacyChainId(){const t=this.networkV;return t==null?null:Oi.getChainId(t)}get yParity(){return this.v===27?0:1}get yParityAndS(){const t=we(this.s);return this.yParity&&(t[0]|=128),Tt(t)}get compactSerialized(){return xn([this.r,this.yParityAndS])}get serialized(){return xn([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const t=new Oi($u,this.r,this.s,this.v);return this.networkV&&F(t,gc,this.networkV),t}toJSON(){const t=this.networkV;return{_type:"signature",networkV:t!=null?t.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(t){const e=Ct(t,"v");return e==tS||e==eS?YI:(K(e>=cp,"invalid EIP-155 v","v",t),(e-cp)/XI)}static getChainIdV(t,e){return Ct(t)*XI+BigInt(35+e-27)}static getNormalizedV(t){const e=Ct(t);return e===YI||e===tS?27:e===JI||e===eS?28:(K(e>=cp,"invalid v","v",t),e&JI?27:28)}static from(t){function e(f,h){K(f,h,"signature",t)}if(t==null)return new Oi($u,QI,QI,27);if(typeof t=="string"){const f=we(t,"signature");if(f.length===64){const h=Tt(f.slice(0,32)),y=f.slice(32,64),_=y[0]&128?28:27;return y[0]&=127,new Oi($u,h,Tt(y),_)}if(f.length===65){const h=Tt(f.slice(0,32)),y=f.slice(32,64);e((y[0]&128)===0,"non-canonical s");const _=Oi.getNormalizedV(f[64]);return new Oi($u,h,Tt(y),_)}e(!1,"invalid raw signature length")}if(t instanceof Oi)return t.clone();const r=t.r;e(r!=null,"missing r");const i=nS(r),s=function(f,h){if(f!=null)return nS(f);if(h!=null){e(Ge(h,32),"invalid yParityAndS");const y=we(h);return y[0]&=127,Tt(y)}e(!1,"missing s")}(t.s,t.yParityAndS);e((we(s)[0]&128)==0,"non-canonical s");const{networkV:o,v:a}=function(f,h,y){if(f!=null){const _=Ct(f);return{networkV:_>=cp?_:void 0,v:Oi.getNormalizedV(_)}}if(h!=null)return e(Ge(h,32),"invalid yParityAndS"),{v:we(h)[0]&128?28:27};if(y!=null){switch(ie(y,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}e(!1,"invalid yParity")}e(!1,"missing v")}(t.v,t.yParityAndS,t.yParity),u=new Oi($u,i,s,a);return o&&F(u,gc,o),e(t.yParity==null||ie(t.yParity,"sig.yParity")===u.yParity,"yParity mismatch"),e(t.yParityAndS==null||t.yParityAndS===u.yParityAndS,"yParityAndS mismatch"),u}};ll=new WeakMap,fl=new WeakMap,hl=new WeakMap,gc=new WeakMap;let Ri=Oi;const yc=class yc{constructor(t){Y(this,Zs);K(Nu(t)===32,"invalid private key","privateKey","[REDACTED]"),F(this,Zs,Tt(t))}get privateKey(){return S(this,Zs)}get publicKey(){return yc.computePublicKey(S(this,Zs))}get compressedPublicKey(){return yc.computePublicKey(S(this,Zs),!0)}sign(t){K(Nu(t)===32,"invalid digest length","digest",t);const e=Fo.sign(yr(t),yr(S(this,Zs)),{lowS:!0});return Ri.from({r:Bo(e.r,32),s:Bo(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){const e=yc.computePublicKey(t);return Tt(Fo.getSharedSecret(yr(S(this,Zs)),we(e),!1))}static computePublicKey(t,e){let r=we(t,"key");if(r.length===32){const s=Fo.getPublicKey(r,!!e);return Tt(s)}if(r.length===64){const s=new Uint8Array(65);s[0]=4,s.set(r,1),r=s}const i=Fo.ProjectivePoint.fromHex(r);return Tt(i.toRawBytes(e))}static recoverPublicKey(t,e){K(Nu(t)===32,"invalid digest length","digest",t);const r=Ri.from(e);let i=Fo.Signature.fromCompact(yr(xn([r.r,r.s])));i=i.addRecoveryBit(r.yParity);const s=i.recoverPublicKey(yr(t));return K(s!=null,"invalid signautre for digest","signature",e),"0x"+s.toHex(!1)}static addPoints(t,e,r){const i=Fo.ProjectivePoint.fromHex(yc.computePublicKey(t).substring(2)),s=Fo.ProjectivePoint.fromHex(yc.computePublicKey(e).substring(2));return"0x"+i.add(s).toHex(!!r)}};Zs=new WeakMap;let dh=yc;const MH=BigInt(0),LH=BigInt(36);function rS(n){n=n.toLowerCase();const t=n.substring(2).split(""),e=new Uint8Array(40);for(let i=0;i<40;i++)e[i]=t[i].charCodeAt(0);const r=we(Nn(e));for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&(t[i]=t[i].toUpperCase()),(r[i>>1]&15)>=8&&(t[i+1]=t[i+1].toUpperCase());return"0x"+t.join("")}const mw={};for(let n=0;n<10;n++)mw[String(n)]=String(n);for(let n=0;n<26;n++)mw[String.fromCharCode(65+n)]=String(10+n);const iS=15;function UH(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let t=n.split("").map(r=>mw[r]).join("");for(;t.length>=iS;){let r=t.substring(0,iS);t=parseInt(r,10)%97+t.substring(r.length)}let e=String(98-parseInt(t,10)%97);for(;e.length<2;)e="0"+e;return e}const DH=function(){const n={};for(let t=0;t<36;t++){const e="0123456789abcdefghijklmnopqrstuvwxyz"[t];n[e]=BigInt(t)}return n}();function FH(n){n=n.toLowerCase();let t=MH;for(let e=0;e<n.length;e++)t=t*LH+DH[n[e]];return t}function Le(n){if(K(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);const t=rS(n);return K(!n.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||t===n,"bad address checksum","address",n),t}if(n.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){K(n.substring(2,4)===UH(n),"bad icap checksum","address",n);let t=FH(n.substring(4)).toString(16);for(;t.length<40;)t="0"+t;return rS("0x"+t)}K(!1,"invalid address","address",n)}function $H(n){const t=Le(n.from);let r=Ct(n.nonce,"tx.nonce").toString(16);return r==="0"?r="0x":r.length%2?r="0x0"+r:r="0x"+r,Le(ln(Nn(Ka([t,r])),12))}function sS(n){return n&&typeof n.getAddress=="function"}async function ww(n,t){const e=await t;return(e==null||e==="0x0000000000000000000000000000000000000000")&&(ht(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),K(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),Le(e)}function br(n,t){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?Le(n):(ht(t!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),ww(n,t.resolveName(n)));if(sS(n))return ww(n,n.getAddress());if(n&&typeof n.then=="function")return ww(n,n);K(!1,"unsupported addressable value","target",n)}const Fs={};function St(n,t){let e=!1;return t<0&&(e=!0,t*=-1),new sr(Fs,`${e?"":"u"}int${t}`,n,{signed:e,width:t})}function Ae(n,t){return new sr(Fs,`bytes${t||""}`,n,{size:t})}const oS=Symbol.for("_ethers_typed"),qs=class qs{constructor(t,e,r,i){Z(this,"type");Z(this,"value");Y(this,mc);Z(this,"_typedSymbol");i==null&&(i=null),q0(Fs,t,"Typed"),$t(this,{_typedSymbol:oS,type:e,value:r}),F(this,mc,i),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(t=>t.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return S(this,mc)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return S(this,mc)===!0?-1:S(this,mc)===!1?this.value.length:null}static from(t,e){return new qs(Fs,t,e)}static uint8(t){return St(t,8)}static uint16(t){return St(t,16)}static uint24(t){return St(t,24)}static uint32(t){return St(t,32)}static uint40(t){return St(t,40)}static uint48(t){return St(t,48)}static uint56(t){return St(t,56)}static uint64(t){return St(t,64)}static uint72(t){return St(t,72)}static uint80(t){return St(t,80)}static uint88(t){return St(t,88)}static uint96(t){return St(t,96)}static uint104(t){return St(t,104)}static uint112(t){return St(t,112)}static uint120(t){return St(t,120)}static uint128(t){return St(t,128)}static uint136(t){return St(t,136)}static uint144(t){return St(t,144)}static uint152(t){return St(t,152)}static uint160(t){return St(t,160)}static uint168(t){return St(t,168)}static uint176(t){return St(t,176)}static uint184(t){return St(t,184)}static uint192(t){return St(t,192)}static uint200(t){return St(t,200)}static uint208(t){return St(t,208)}static uint216(t){return St(t,216)}static uint224(t){return St(t,224)}static uint232(t){return St(t,232)}static uint240(t){return St(t,240)}static uint248(t){return St(t,248)}static uint256(t){return St(t,256)}static uint(t){return St(t,256)}static int8(t){return St(t,-8)}static int16(t){return St(t,-16)}static int24(t){return St(t,-24)}static int32(t){return St(t,-32)}static int40(t){return St(t,-40)}static int48(t){return St(t,-48)}static int56(t){return St(t,-56)}static int64(t){return St(t,-64)}static int72(t){return St(t,-72)}static int80(t){return St(t,-80)}static int88(t){return St(t,-88)}static int96(t){return St(t,-96)}static int104(t){return St(t,-104)}static int112(t){return St(t,-112)}static int120(t){return St(t,-120)}static int128(t){return St(t,-128)}static int136(t){return St(t,-136)}static int144(t){return St(t,-144)}static int152(t){return St(t,-152)}static int160(t){return St(t,-160)}static int168(t){return St(t,-168)}static int176(t){return St(t,-176)}static int184(t){return St(t,-184)}static int192(t){return St(t,-192)}static int200(t){return St(t,-200)}static int208(t){return St(t,-208)}static int216(t){return St(t,-216)}static int224(t){return St(t,-224)}static int232(t){return St(t,-232)}static int240(t){return St(t,-240)}static int248(t){return St(t,-248)}static int256(t){return St(t,-256)}static int(t){return St(t,-256)}static bytes1(t){return Ae(t,1)}static bytes2(t){return Ae(t,2)}static bytes3(t){return Ae(t,3)}static bytes4(t){return Ae(t,4)}static bytes5(t){return Ae(t,5)}static bytes6(t){return Ae(t,6)}static bytes7(t){return Ae(t,7)}static bytes8(t){return Ae(t,8)}static bytes9(t){return Ae(t,9)}static bytes10(t){return Ae(t,10)}static bytes11(t){return Ae(t,11)}static bytes12(t){return Ae(t,12)}static bytes13(t){return Ae(t,13)}static bytes14(t){return Ae(t,14)}static bytes15(t){return Ae(t,15)}static bytes16(t){return Ae(t,16)}static bytes17(t){return Ae(t,17)}static bytes18(t){return Ae(t,18)}static bytes19(t){return Ae(t,19)}static bytes20(t){return Ae(t,20)}static bytes21(t){return Ae(t,21)}static bytes22(t){return Ae(t,22)}static bytes23(t){return Ae(t,23)}static bytes24(t){return Ae(t,24)}static bytes25(t){return Ae(t,25)}static bytes26(t){return Ae(t,26)}static bytes27(t){return Ae(t,27)}static bytes28(t){return Ae(t,28)}static bytes29(t){return Ae(t,29)}static bytes30(t){return Ae(t,30)}static bytes31(t){return Ae(t,31)}static bytes32(t){return Ae(t,32)}static address(t){return new qs(Fs,"address",t)}static bool(t){return new qs(Fs,"bool",!!t)}static bytes(t){return new qs(Fs,"bytes",t)}static string(t){return new qs(Fs,"string",t)}static array(t,e){throw new Error("not implemented yet")}static tuple(t,e){throw new Error("not implemented yet")}static overrides(t){return new qs(Fs,"overrides",Object.assign({},t))}static isTyped(t){return t&&typeof t=="object"&&"_typedSymbol"in t&&t._typedSymbol===oS}static dereference(t,e){if(qs.isTyped(t)){if(t.type!==e)throw new Error(`invalid type: expecetd ${e}, got ${t.type}`);return t.value}return t}};mc=new WeakMap;let sr=qs;class HH extends Us{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){let r=sr.dereference(e,"string");try{r=Le(r)}catch(i){return this._throwError(i.message,e)}return t.writeValue(r)}decode(t){return Le(Bo(t.readValue(),20))}}class zH extends Us{constructor(e){super(e.name,e.type,"_",e.dynamic);Z(this,"coder");this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}}function aS(n,t,e){let r=[];if(Array.isArray(e))r=e;else if(e&&typeof e=="object"){let u={};r=t.map(f=>{const h=f.localName;return ht(h,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:f},value:e}),ht(!u[h],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:f},value:e}),u[h]=!0,e[h]})}else K(!1,"invalid tuple value","tuple",e);K(t.length===r.length,"types/value length mismatch","tuple",e);let i=new Jm,s=new Jm,o=[];t.forEach((u,f)=>{let h=r[f];if(u.dynamic){let y=s.length;u.encode(s,h);let _=i.writeUpdatableValue();o.push(w=>{_(w+y)})}else u.encode(i,h)}),o.forEach(u=>{u(i.length)});let a=n.appendWriter(i);return a+=n.appendWriter(s),a}function cS(n,t){let e=[],r=[],i=n.subReader(0);return t.forEach(s=>{let o=null;if(s.dynamic){let a=n.readIndex(),u=i.subReader(a);try{o=s.decode(u)}catch(f){if(qn(f,"BUFFER_OVERRUN"))throw f;o=f,o.baseType=s.name,o.name=s.localName,o.type=s.type}}else try{o=s.decode(n)}catch(a){if(qn(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=s.name,o.name=s.localName,o.type=s.type}if(o==null)throw new Error("investigate");e.push(o),r.push(s.localName||null)}),Pu.fromItems(e,r)}class GH extends Us{constructor(e,r,i){const s=e.type+"["+(r>=0?r:"")+"]",o=r===-1||e.dynamic;super("array",s,i,o);Z(this,"coder");Z(this,"length");$t(this,{coder:e,length:r})}defaultValue(){const e=this.coder.defaultValue(),r=[];for(let i=0;i<this.length;i++)r.push(e);return r}encode(e,r){const i=sr.dereference(r,"array");Array.isArray(i)||this._throwError("expected array value",i);let s=this.length;s===-1&&(s=i.length,e.writeValue(i.length)),HR(i.length,s,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<i.length;a++)o.push(this.coder);return aS(e,o,i)}decode(e){let r=this.length;r===-1&&(r=e.readIndex(),ht(r*wr<=e.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:e.bytes,offset:r*wr,length:e.dataLength}));let i=[];for(let s=0;s<r;s++)i.push(new zH(this.coder));return cS(e,i)}}class VH extends Us{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){const r=sr.dereference(e,"bool");return t.writeValue(r?1:0)}decode(t){return!!t.readValue()}}class uS extends Us{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){e=yr(e);let r=t.writeValue(e.length);return r+=t.writeBytes(e),r}decode(t){return t.readBytes(t.readIndex(),!0)}}class KH extends uS{constructor(t){super("bytes",t)}decode(t){return Tt(super.decode(t))}}class jH extends Us{constructor(e,r){let i="bytes"+String(e);super(i,i,r,!1);Z(this,"size");$t(this,{size:e},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(e,r){let i=yr(sr.dereference(r,this.type));return i.length!==this.size&&this._throwError("incorrect data length",r),e.writeBytes(i)}decode(e){return Tt(e.readBytes(this.size))}}const WH=new Uint8Array([]);class ZH extends Us{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return e!=null&&this._throwError("not null",e),t.writeBytes(WH)}decode(t){return t.readBytes(0),null}}const qH=BigInt(0),QH=BigInt(1),YH=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class JH extends Us{constructor(e,r,i){const s=(r?"int":"uint")+e*8;super(s,s,i,!1);Z(this,"size");Z(this,"signed");$t(this,{size:e,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(e,r){let i=Ct(sr.dereference(r,this.type)),s=ah(YH,wr*8);if(this.signed){let o=ah(s,this.size*8-1);(i>o||i<-(o+QH))&&this._throwError("value out-of-bounds",r),i=KR(i,8*wr)}else(i<qH||i>ah(s,this.size*8))&&this._throwError("value out-of-bounds",r);return e.writeValue(i)}decode(e){let r=ah(e.readValue(),this.size*8);return this.signed&&(r=r$(r,this.size*8)),r}}class XH extends uS{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,Ms(sr.dereference(e,"string")))}decode(t){return J0(super.decode(t))}}class up extends Us{constructor(e,r){let i=!1;const s=[];e.forEach(a=>{a.dynamic&&(i=!0),s.push(a.type)});const o="tuple("+s.join(",")+")";super("tuple",o,r,i);Z(this,"coders");$t(this,{coders:Object.freeze(e.slice())})}defaultValue(){const e=[];this.coders.forEach(i=>{e.push(i.defaultValue())});const r=this.coders.reduce((i,s)=>{const o=s.localName;return o&&(i[o]||(i[o]=0),i[o]++),i},{});return this.coders.forEach((i,s)=>{let o=i.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),e[o]==null&&(e[o]=e[s]))}),Object.freeze(e)}encode(e,r){const i=sr.dereference(r,"tuple");return aS(e,this.coders,i)}decode(e){return cS(e,this.coders)}}function Qa(n){return Nn(Ms(n))}var tz="AEEUdwmgDS8BxQKKAP4BOgDjATAAngDUAIMAoABoAOAAagCOAEQAhABMAHIAOwA9ACsANgAmAGIAHgAuACgAJwAXAC0AGgAjAB8ALwAUACkAEgAeAAkAGwARABkAFgA5ACgALQArADcAFQApABAAHgAiABAAGgAeABMAGAUhBe8BFxREN8sF2wC5AK5HAW8ArQkDzQCuhzc3NzcBP68NEfMABQdHBuw5BV8FYAA9MzkI9r4ZBg7QyQAWA9CeOwLNCjcCjqkChuA/lm+RAsXTAoP6ASfnEQDytQFJAjWVCkeXAOsA6godAB/cwdAUE0WlBCN/AQUCQRjFD/MRBjHxDQSJbw0jBzUAswBxme+tnIcAYwabAysG8QAjAEMMmxcDqgPKQyDXCMMxA7kUQwD3NXOrAKmFIAAfBC0D3x4BJQDBGdUFAhEgVD8JnwmQJiNWYUzrg0oAGwAUAB0AFnNcACkAFgBP9h3gPfsDOWDKneY2ChglX1UDYD30ABsAFAAdABZzIGRAnwDD8wAjAEEMzRbDqgMB2sAFYwXqAtCnAsS4AwpUJKRtFHsadUz9AMMVbwLpABM1NJEX0ZkCgYMBEyMAxRVvAukAEzUBUFAtmUwSAy4DBTER33EftQHfSwB5MxJ/AjkWKQLzL8E/cwBB6QH9LQDPDtO9ASNriQC5DQANAwCK21EFI91zHwCoL9kBqQcHBwcHKzUDowBvAQohPvU3fAQgHwCyAc8CKQMA5zMSezr7ULgFmDp/LzVQBgEGAi8FYQVgt8AFcTtlQhpCWEmfe5tmZ6IAExsDzQ8t+X8rBKtTAltbAn0jsy8Bl6utPWMDTR8Ei2kRANkDBrNHNysDBzECQWUAcwFpJ3kAiyUhAJ0BUb8AL3EfAbfNAz81KUsFWwF3YQZtAm0A+VEfAzEJDQBRSQCzAQBlAHsAM70GD/v3IZWHBwARKQAxALsjTwHZAeMPEzmXgIHwABIAGQA8AEUAQDt3gdvIEGcQZAkGTRFMdEIVEwK0D64L7REdDNkq09PgADSxB/MDWwfzA1sDWwfzB/MDWwfzA1sDWwNbA1scEvAi28gQZw9QBHUFlgWTBN4IiyZREYkHMAjaVBV0JhxPA00BBCMtSSQ7mzMTJUpMFE0LCAQ2SmyvfUADTzGzVP2QqgPTMlc5dAkGHnkSqAAyD3skNb1OhnpPcagKU0+2tYdJak5vAsY6sEAACikJm2/Dd1YGRRAfJ6kQ+ww3AbkBPw3xS9wE9QY/BM0fgRkdD9GVoAipLeEM8SbnLqWAXiP5KocF8Uv4POELUVFsD10LaQnnOmeBUgMlAREijwrhDT0IcRD3Cs1vDekRSQc9A9lJngCpBwULFR05FbkmFGKwCw05ewb/GvoLkyazEy17AAXXGiUGUQEtGwMA0y7rhbRaNVwgT2MGBwspI8sUrFAkDSlAu3hMGh8HGSWtApVDdEqLUToelyH6PEENai4XUYAH+TwJGVMLhTyiRq9FEhHWPpE9TCJNTDAEOYMsMyePCdMPiQy9fHYBXQklCbUMdRM1ERs3yQg9Bx0xlygnGQglRplgngT7owP3E9UDDwVDCUUHFwO5HDETMhUtBRGBKNsC9zbZLrcCk1aEARsFzw8pH+MQVEfkDu0InwJpA4cl7wAxFSUAGyKfCEdnAGOP3FMJLs8Iy2pwI3gDaxTrZRF3B5UOWwerHDcVwxzlcMxeD4YMKKezCV8BeQmdAWME5wgNNV+MpCBFZ1eLXBifIGVBQ14AAjUMaRWjRMGHfAKPD28SHwE5AXcHPQ0FAnsR8RFvEJkI74YINbkz/DopBFMhhyAVCisDU2zSCysm/Qz8bQGnEmYDEDRBd/Jnr2C6KBgBBx0yyUFkIfULlk/RDKAaxRhGVDIZ6AfDA/ca9yfuQVsGAwOnBxc6UTPyBMELbQiPCUMATQ6nGwfbGG4KdYzUATWPAbudA1uVhwJzkwY7Bw8Aaw+LBX3pACECqwinAAkA0wNbAD0CsQehAB0AiUUBQQMrMwEl6QKTA5cINc8BmTMB9y0EH8cMGQD7O25OAsO1AoBuZqYF4VwCkgJNOQFRKQQJUktVA7N15QDfAE8GF+NLARmvTs8e50cB43MvAMsA/wAJOQcJRQHRAfdxALsBYws1Caa3uQFR7S0AhwAZbwHbAo0A4QA5AIP1AVcAUQVd/QXXAlNNARU1HC9bZQG/AyMBNwERAH0Gz5GpzQsjBHEH1wIQHxXlAu8yB7kFAyLjE9FCyQK94lkAMhoKPAqrCqpgX2Q3CjV2PVQAEh+sPss/UgVVO1c7XDtXO1w7VztcO1c7XDtXO1wDm8Pmw+YKcF9JYe8Mqg3YRMw6TRPfYFVgNhPMLbsUxRXSJVoZQRrAJwkl6FUNDwgt12Y0CDA0eRfAAEMpbINFY4oeNApPHOtTlVT8LR8AtUumM7MNsBsZREQFS3XxYi4WEgomAmSFAmJGX1GzAV83JAKh+wJonAJmDQKfiDgfDwJmPwJmKgRyBIMDfxcDfpY5Cjl7GzmGOicnAmwhAjI6OA4CbcsCbbLzjgM3a0kvAWsA4gDlAE4JB5wMkQECD8YAEbkCdzMCdqZDAnlPRwJ4viFg30WyRvcCfEMCeswCfQ0CfPRIBEiBZygALxlJXEpfGRtK0ALRBQLQ0EsrA4hTA4fqRMmRNgLypV0HAwOyS9JMMSkH001QTbMCi0MCitzFHwshR2sJuwKOOwKOYESbhQKO3QKOYHxRuFM5AQ5S2FSJApP/ApMQAO0AIFUiVbNV1AosHymZijLleGpFPz0Cl6MC77ZYJawAXSkClpMCloCgAK1ZsFoNhVEAPwKWuQKWUlxIXNUCmc8CmWhczl0LHQKcnznGOqECnBoCn58CnryOACETNS4TAp31Ap6WALlBYThh8wKe1wKgcgGtAp6jIwKeUqljzGQrKS8CJ7MCJoICoP8CoFDbAqYzAqXSAqgDAIECp/ZogGi1AAdNaiBq1QKs5wKssgKtawKtBgJXIQJV4AKx5dsDH1JsmwKywRECsuwbbORtZ21MYwMl0QK2YD9DbpQDKUkCuGICuUsZArkue3A6cOUCvR0DLbYDMhUCvoxyBgMzdQK+HnMmc1MCw88CwwhzhnRPOUl05AM8qwEDPJ4DPcMCxYACxksCxhSNAshtVQLISALJUwLJMgJkoQLd1nh9ZXiyeSlL1AMYp2cGAmH4GfeVKHsPXpZevxUCz28Cz3AzT1fW9xejAMqxAs93AS3uA04Wfk8JAtwrAtuOAtJTA1JgA1NjAQUDVZCAjUMEzxrxZEl5A4LSg5EC2ssC2eKEFIRNp0ADhqkAMwNkEoZ1Xf0AWQLfaQLevHd7AuIz7RgB8zQrAfSfAfLWiwLr9wLpdH0DAur9AuroAP1LAb0C7o0C66CWrpcHAu5DA4XkmH1w5HGlAvMHAG0DjhqZlwL3FwORcgOSiwL3nAL53QL4apogmq+/O5siA52HAv7+AR8APZ8gAZ+3AwWRA6ZuA6bdANXJAwZuoYyiCQ0DDE0BEwEjB3EGZb1rCQC/BG/DFY8etxEAG3k9ACcDNxJRA42DAWcrJQCM8wAlAOanC6OVCLsGI6fJBgCvBRnDBvElRUYFFoAFcD9GSDNCKUK8X3kZX8QAls0FOgCQVCGbwTsuYDoZutcONxjOGJHJ/gVfBWAFXwVgBWsFYAVfBWAFXwVgBV8FYAVfBWBOHQjfjW8KCgoKbF7xMwTRA7kGN8PDAMMEr8MA70gxFroFTj5xPnhCR0K+X30/X/AAWBkzswCNBsxzzASm70aCRS4rDDMeLz49fnXfcsH5GcoscQFz13Y4HwVnBXLJycnACNdRYwgICAqEXoWTxgA7P4kACxbZBu21Kw0AjMsTAwkVAOVtJUUsJ1JCuULESUArXy9gPi9AKwnJRQYKTD9LPoA+iT54PnkCkULEUUpDX9NWV3JVEjQAc1w3A3IBE3YnX+g7QiMJb6MKaiszRCUuQrNCxDPMCcwEX9EWJzYREBEEBwIHKn6l33JCNVIfybPJtAltydPUCmhBZw/tEKsZAJOVJU1CLRuxbUHOQAo7P0s+eEJHHA8SJVRPdGM0NVrpvBoKhfUlM0JHHGUQUhEWO1xLSj8MO0ucNAqJIzVCRxv9EFsqKyA4OQgNj2nwZgp5ZNFgE2A1K3YHS2AhQQojJmC7DgpzGG1WYFUZCQYHZO9gHWCdYIVgu2BTYJlwFh8GvRbcXbG8YgtDHrMBwzPVyQonHQgkCyYBgQJ0Ajc4nVqIAwGSCsBPIgDsK3SWEtIVBa5N8gGjAo+kVwVIZwD/AEUSCDweX4ITrRQsJ8K3TwBXFDwEAB0TvzVcAtoTS20RIwDgVgZ9BBImYgA5AL4Coi8LFnezOkCnIQFjAY4KBAPh9RcGsgZSBsEAJctdsWIRu2kTkQstRw7DAcMBKgpPBGIGMDAwKCYnKTQaLg4AKRSVAFwCdl+YUZ0JdicFD3lPAdt1F9ZZKCGxuE3yBxkFVGcA/wBFEgiCBwAOLHQSjxOtQDg1z7deFRMAZ8QTAGtKb1ApIiPHADkAvgKiLy1DFtYCmBiDAlDDWNB0eo7fpaMO/aEVRRv0ATEQZBIODyMEAc8JQhCbDRgzFD4TAEMAu9YBCgCsAOkAm5I3ABwAYxvONnR+MhXJAxgKQyxL2+kkJhMbhQKDBMkSsvF0AD9BNQ6uQC7WqSQHwxEAEEIu1hkhAH2z4iQPwyJPHNWpdyYBRSpnJALzoBAEVPPsH20MxA0CCEQKRgAFyAtFAlMNwwjEDUQJRArELtapMg7DDZgJIw+TGukEIwvDFkMAqAtDEMMMBhioe+QAO3MMRAACrgnEBSPY9Q0FDnbSBoMAB8MSYxkSxAEJAPIJAAB8FWMOFtMc/HcXwxhDAC7DAvOowwAewwJdKDKHAAHDAALrFUQVwwAbwyvzpWMWv8wA/ABpAy++bcYDUKPD0KhDCwKmJ1MAAmMA5+UZwxAagwipBRL/eADfw6fDGOMCGsOjk3l6BwOpo4sAEsMOGxMAA5sAbcMOAAvDp0MJGkMDwgipnNIPAwfIqUMGAOGDAAPzABXDAAcDAAnDAGmTABrDAA7DChjDjnEWAwABYwAOcwAuUyYABsMAF8MIKQANUgC6wy4AA8MADqMq8wCyYgAcIwAB8wqpAAXOCx0V4wAHowBCwwEKAGnDAAuDAB3DAAjDCakABdIAbqcZ3QCZCCkABdIAAAFDAAfjAB2jCCkABqIACYMAGzMAbSMA5sOIAAhjAAhDABTDBAkpAAbSAOOTAAlDC6kOzPtnAAdDAG6kQFAATwAKwwwAA0MACbUDPwAHIwAZgwACE6cDAAojAApDAAoDp/MGwwAJIwADEwAQQwgAFEMAEXMAD5MADfMADcMAGRMOFiMAFUMAbqMWuwHDAMIAE0MLAGkzEgDhUwACQwAEWgAXgwUjAAbYABjDBSYBgzBaAEFNALcQBxUMegAwMngBrA0IZgJ0KxQHBREPd1N0ZzKRJwaIHAZqNT4DqQq8BwngAB4DAwt2AX56T1ocKQNXAh1GATQGC3tOxYNagkgAMQA5CQADAQEAWxLjAIOYNAEzAH7tFRk6TglSAF8NAAlYAQ+S1ACAQwQorQBiAN4dAJ1wPyeTANVzuQDX3AIeEMp9eyMgXiUAEdkBkJizKltbVVAaRMqRAAEAhyQ/SDEz6BmfVwB6ATEsOClKIRcDOF0E/832AFNt5AByAnkCRxGCOs94NjXdAwINGBonDBwPALW2AwICAgAAAAAAAAYDBQMDARrUAwAtAAAAAgEGBgYGBgYFBQUFBQUEBQYHCAkEBQUFBQQAAAICAAAAIgCNAJAAlT0A6gC7ANwApEQAwgCyAK0AqADuAKYA2gCjAOcBCAEDAMcAgQBiANIA1AEDAN4A8gCQAKkBMQDqAN8A3AsBCQ8yO9ra2tq8xuLT1tRJOB0BUgFcNU0BWgFpAWgBWwFMUUlLbhMBUxsNEAs6PhMOACcUKy0vMj5AQENDQ0RFFEYGJFdXV1dZWVhZL1pbXVxcI2NnZ2ZoZypsbnZ1eHh4eHh4enp6enp6enp6enp8fH18e2IARPIASQCaAHgAMgBm+ACOAFcAVwA3AnbvAIsABfj4AGQAk/IAnwBPAGIAZP//sACFAIUAaQBWALEAJAC2AIMCQAJDAPwA5wD+AP4A6AD/AOkA6QDoAOYALwJ7AVEBQAE+AVQBPgE+AT4BOQE4ATgBOAEcAVgXADEQCAEAUx8SHgsdHhYAjgCWAKYAUQBqIAIxAHYAbwCXAxUDJzIDIUlGTzEAkQJPAMcCVwKkAMAClgKWApYClgKWApYCiwKWApYClgKWApYClgKVApUCmAKgApcClgKWApQClAKUApQCkgKVAnUB1AKXAp8ClgKWApUeAIETBQD+DQOfAmECOh8BVBg9AuIZEjMbAU4/G1WZAXusRAFpYQEFA0FPAQYAmTEeIJdyADFoAHEANgCRA5zMk/C2jGINwjMWygIZCaXdfDILBCs5dAE7YnQBugDlhoiHhoiGiYqKhouOjIaNkI6Ij4qQipGGkoaThpSSlYaWhpeKmIaZhpqGm4aci52QnoqfhuIC4XTpAt90AIp0LHSoAIsAdHQEQwRABEIERQRDBEkERgRBBEcESQRIBEQERgRJAJ5udACrA490ALxuAQ10ANFZdHQA13QCFHQA/mJ0AP4BIQD+APwA/AD9APwDhGZ03ASMK23HAP4A/AD8AP0A/CR0dACRYnQA/gCRASEA/gCRAvQA/gCRA4RmdNwEjCttxyR0AP9idAEhAP4A/gD8APwA/QD8AP8A/AD8AP0A/AOEZnTcBIwrbcckdHQAkWJ0ASEA/gCRAP4AkQL0AP4AkQOEZnTcBIwrbcckdAJLAT50AlIBQXQCU8l0dAJfdHQDpgL0A6YDpgOnA6cDpwOnA4RmdNwEjCttxyR0dACRYnQBIQOmAJEDpgCRAvQDpgCRA4RmdNwEjCttxyR0BDh0AJEEOQCRDpU5dSgCADR03gV2CwArdAEFAM5iCnR0AF1iAAYcOgp0dACRCnQAXAEIwWZ0CnRmdHQAkWZ0CnRmdEXgAFF03gp0dEY0tlT2u3SOAQTwscwhjZZKrhYcBSfFp9XNbKiVDOD2b+cpe4/Z17mQnbtzzhaeQtE2GGj0IDNTjRUSyTxxw/RPHW/+vS7d1NfRt9z9QPZg4X7QFfhCnkvgNPIItOsC2eV6hPannZNHlZ9xrwZXIMOlu3jSoQSq78WEjwLjw1ELSlF1aBvfzwk5ZX7AUvQzjPQKbDuQ+sm4wNOp4A6AdVuRS0t1y/DZpg4R6m7FNjM9HgvW7Bi88zaMjOo6lM8wtBBdj8LP4ylv3zCXPhebMKJc066o9sF71oFW/8JXu86HJbwDID5lzw5GWLR/LhT0Qqnp2JQxNZNfcbLIzPy+YypqRm/lBmGmex+82+PisxUumSeJkALIT6rJezxMH+CTJmQtt5uwTVbL3ptmjDUQzlSIvWi8Tl7ng1NpuRn1Ng4n14Qc+3Iil7OwkvNWogLSPkn3pihIFytyIGmMhOe3n1tWsuMy9BdKyqF4Z3v2SgggTL9KVvMXPnCbRe+oOuFFP3HejBG/w9gvmfNYvg6JuWia2lcSSN1uIjBktzoIazOHPJZ7kKHPz8mRWVdW3lA8WGF9dQF6Bm673boov3BUWDU2JNcahR23GtfHKLOz/viZ+rYnZFaIznXO67CYEJ1fXuTRpZhYZkKe54xeoagkNGLs+NTZHE0rX45/XvQ2RGADX6vcAvdxIUBV27wxGm2zjZo4X3ILgAlrOFheuZ6wtsvaIj4yLY7qqawlliaIcrz2G+c3vscAnCkCuMzMmZvMfu9lLwTvfX+3cVSyPdN9ZwgDZhfjRgNJcLiJ67b9xx8JHswprbiE3v9UphotAPIgnXVIN5KmMc0piXhc6cChPnN+MRhG9adtdttQTTwSIpl8I4/j//d3sz1326qTBTpPRM/Hgh3kzqEXs8ZAk4ErQhNO8hzrQ0DLkWMA/N+91tn2MdOJnWC2FCZehkQrwzwbKOjhvZsbM95QoeL9skYyMf4srVPVJSgg7pOLUtr/n9eT99oe9nLtFRpjA9okV2Kj8h9k5HaC0oivRD8VyXkJ81tcd4fHNXPCfloIQasxsuO18/46dR2jgul/UIet2G0kRvnyONMKhHs6J26FEoqSqd+rfYjeEGwHWVDpX1fh1jBBcKGMqRepju9Y00mDVHC+Xdij/j44rKfvfjGinNs1jO/0F3jB83XCDINN/HB84axlP+3E/klktRo+vl3U/aiyMJbIodE1XSsDn6UAzIoMtUObY2+k/4gY/l+AkZJ5Sj2vQrkyLm3FoxjhDX+31UXBFf9XrAH31fFqoBmDEZvhvvpnZ87N+oZEu7U9O/nnk+QWj3x8uyoRbEnf+O5UMr9i0nHP38IF5AvzrBW8YWBUR0mIAzIvndQq9N3v/Jto3aPjPXUPl8ASdPPyAp7jENf8bk7VMM9ol9XGmlBmeDMuGqt+WzuL6CXAxXjIhCPM5vACchgMJ/8XBGLO/D1isVvGhwwHHr1DLaI5mn2Jr/b1pUD90uciDaS8cXNDzCWvNmT/PhQe5e8nTnnnkt8Ds/SIjibcum/fqDhKopxAY8AkSrPn+IGDEKOO+U3XOP6djFs2H5N9+orhOahiQk5KnEUWa+CzkVzhp8bMHRbg81qhjjXuIKbHjSLSIBKWqockGtKinY+z4/RdBUF6pcc3JmnlxVcNgrI4SEzKUZSwcD2QCyxzKve+gAmg6ZuSRkpPFa6mfThu7LJNu3H5K42uCpNvPAsoedolKV/LHe/eJ+BbaG5MG0NaSGVPRUmNFMFFSSpXEcXwbVh7UETOZZtoVNRGOIbbkig3McEtR68cG0RZAoJevWYo7Dg/lZ1CQzblWeUvVHmr8fY4Nqd9JJiH/zEX24mJviH60fAyFr0A3c4bC1j3yZU60VgJxXn8JgJXLUIsiBnmKmMYz+7yBQFBvqb2eYnuW59joZBf56/wXvWIR4R8wTmV80i1mZy+S4+BUES+hzjk0uXpC///z/IlqHZ1monzlXp8aCfhGKMti73FI1KbL1q6IKO4fuBuZ59gagjn5xU79muMpHXg6S+e+gDM/U9BKLHbl9l6o8czQKl4RUkJJiqftQG2i3BMg/TQlUYFkJDYBOOvAugYuzYSDnZbDDd/aSd9x0Oe6F+bJcHfl9+gp6L5/TgA+BdFFovbfCrQ40s5vMPw8866pNX8zyFGeFWdxIpPVp9Rg1UPOVFbFZrvaFq/YAzHQgqMWpahMYfqHpmwXfHL1/kpYmGuHFwT55mQu0dylfNuq2Oq0hTMCPwqfxnuBIPLXfci4Y1ANy+1CUipQxld/izVh16WyG2Q0CQQ9NqtAnx1HCHwDj7sYxOSB0wopZSnOzxQOcExmxrVTF2BkOthVpGfuhaGECfCJpJKpjnihY+xOT2QJxN61+9K6QSqtv2Shr82I3jgJrqBg0wELFZPjvHpvzTtaJnLK6Vb97Yn933koO/saN7fsjwNKzp4l2lJVx2orjCGzC/4ZL4zCver6aQYtC5sdoychuFE6ufOiog+VWi5UDkbmvmtah/3aArEBIi39s5ILUnlFLgilcGuz9CQshEY7fw2ouoILAYPVT/gyAIq3TFAIwVsl+ktkRz/qGfnCDGrm5gsl/l9QdvCWGsjPz3dU7XuqKfdUrr/6XIgjp4rey6AJBmCmUJMjITHVdFb5m1p+dLMCL8t55zD42cmftmLEJC0Da04YiRCVUBLLa8D071/N5UBNBXDh0LFsmhV/5B5ExOB4j3WVG/S3lfK5o+V6ELHvy6RR9n4ac+VsK4VE4yphPvV+kG9FegTBH4ZRXL2HytUHCduJazB/KykjfetYxOXTLws267aGOd+I+JhKP//+VnXmS90OD/jvLcVu0asyqcuYN1mSb6XTlCkqv1vigZPIYwNF/zpWcT1GR/6aEIRjkh0yhg4LXJfaGobYJTY4JI58KiAKgmmgAKWdl5nYCeLqavRJGQNuYuZtZFGx+IkI4w4NS2xwbetNMunOjBu/hmKCI/w7tfiiyUd//4rbTeWt4izBY8YvGIN6vyKYmP/8X8wHKCeN+WRcKM70+tXKNGyevU9H2Dg5BsljnTf8YbsJ1TmMs74Ce2XlHisleguhyeg44rQOHZuw/6HTkhnnurK2d62q6yS7210SsAIaR+jXMQA+svkrLpsUY+F30Uw89uOdGAR6vo4FIME0EfVVeHTu6eKicfhSqOeXJhbftcd08sWEnNUL1C9fnprTgd83IMut8onVUF0hvqzZfHduPjbjwEXIcoYmy+P6tcJZHmeOv6VrvEdkHDJecjHuHeWANe79VG662qTjA/HCvumVv3qL+LrOcpqGps2ZGwQdFJ7PU4iuyRlBrwfO+xnPyr47s2cXVbWzAyznDiBGjCM3ksxjjqM62GE9C8f5U38kB3VjtabKp/nRdvMESPGDG90bWRLAt1Qk5DyLuazRR1YzdC1c+hZXvAWV8xA72S4A8B67vjVhbba3MMop293FeEXpe7zItMWrJG/LOH9ByOXmYnNJfjmfuX9KbrpgLOba4nZ+fl8Gbdv/ihv+6wFGKHCYrVwmhFC0J3V2bn2tIB1wCc1CST3d3X2OyxhguXcs4sm679UngzofuSeBewMFJboIQHbUh/m2JhW2hG9DIvG2t7yZIzKBTz9wBtnNC+2pCRYhSIuQ1j8xsz5VvqnyUIthvuoyyu7fNIrg/KQUVmGQaqkqZk/Vx5b33/gsEs8yX7SC1J+NV4icz6bvIE7C5G6McBaI8rVg56q5QBJWxn/87Q1sPK4+sQa8fLU5gXo4paaq4cOcQ4wR0VBHPGjKh+UlPCbA1nLXyEUX45qZ8J7/Ln4FPJE2TdzD0Z8MLSNQiykMMmSyOCiFfy84Rq60emYB2vD09KjYwsoIpeDcBDTElBbXxND72yhd9pC/1CMid/5HUMvAL27OtcIJDzNKpRPNqPOpyt2aPGz9QWIs9hQ9LiX5s8m9hjTUu/f7MyIatjjd+tSfQ3ufZxPpmJhTaBtZtKLUcfOCUqADuO+QoH8B9v6U+P0HV1GLQmtoNFTb3s74ivZgjES0qfK+8RdGgBbcCMSy8eBvh98+et1KIFqSe1KQPyXULBMTsIYnysIwiZBJYdI20vseV+wuJkcqGemehKjaAb9L57xZm3g2zX0bZ2xk/fU+bCo7TlnbW7JuF1YdURo/2Gw7VclDG1W7LOtas2LX4upifZ/23rzpsnY/ALfRgrcWP5hYmV9VxVOQA1fZvp9F2UNU+7d7xRyVm5wiLp3/0dlV7vdw1PMiZrbDAYzIVqEjRY2YU03sJhPnlwIPcZUG5ltL6S8XCxU1eYS5cjr34veBmXAvy7yN4ZjArIG0dfD/5UpBNlX1ZPoxJOwyqRi3wQWtOzd4oNKh0LkoTm8cwqgIfKhqqGOhwo71I+zXnMemTv2B2AUzABWyFztGgGULjDDzWYwJUVBTjKCn5K2QGMK1CQT7SzziOjo+BhAmqBjzuc3xYym2eedGeOIRJVyTwDw37iCMe4g5Vbnsb5ZBdxOAnMT7HU4DHpxWGuQ7GeiY30Cpbvzss55+5Km1YsbD5ea3NI9QNYIXol5apgSu9dZ8f8xS5dtHpido5BclDuLWY4lhik0tbJa07yJhH0BOyEut/GRbYTS6RfiTYWGMCkNpfSHi7HvdiTglEVHKZXaVhezH4kkXiIvKopYAlPusftpE4a5IZwvw1x/eLvoDIh/zpo9FiQInsTb2SAkKHV42XYBjpJDg4374XiVb3ws4qM0s9eSQ5HzsMU4OZJKuopFjBM+dAZEl8RUMx5uU2N486Kr141tVsGQfGjORYMCJAMsxELeNT4RmWjRcpdTGBwcx6XN9drWqPmJzcrGrH4+DRc7+n1w3kPZwu0BkNr6hQrqgo7JTB9A5kdJ/H7P4cWBMwsmuixAzJB3yrQpnGIq90lxAXLzDCdn1LPibsRt7rHNjgQBklRgPZ8vTbjXdgXrTWQsK5MdrXXQVPp0Rinq3frzZKJ0qD6Qhc40VzAraUXlob1gvkhK3vpmHgI6FRlQZNx6eRqkp0zy4AQlX813fAPtL3jMRaitGFFjo0zmErloC+h+YYdVQ6k4F/epxAoF0BmqEoKNTt6j4vQZNQ2BoqF9Vj53TOIoNmDiu9Xp15RkIgQIGcoLpfoIbenzpGUAtqFJp5W+LLnx38jHeECTJ/navKY1NWfN0sY1T8/pB8kIH3DU3DX+u6W3YwpypBMYOhbSxGjq84RZ84fWJow8pyHqn4S/9J15EcCMsXqrfwyd9mhiu3+rEo9pPpoJkdZqHjra4NvzFwuThNKy6hao/SlLw3ZADUcUp3w3SRVfW2rhl80zOgTYnKE0Hs2qp1J6H3xqPqIkvUDRMFDYyRbsFI3M9MEyovPk8rlw7/0a81cDVLmBsR2ze2pBuKb23fbeZC0uXoIvDppfTwIDxk1Oq2dGesGc+oJXWJLGkOha3CX+DUnzgAp9HGH9RsPZN63Hn4RMA5eSVhPHO+9RcRb/IOgtW31V1Q5IPGtoxPjC+MEJbVlIMYADd9aHYWUIQKopuPOHmoqSkubnAKnzgKHqgIOfW5RdAgotN6BN+O2ZYHkuemLnvQ8U9THVrS1RtLmKbcC7PeeDsYznvqzeg6VCNwmr0Yyx1wnLjyT84BZz3EJyCptD3yeueAyDWIs0L2qs/VQ3HUyqfrja0V1LdDzqAikeWuV4sc7RLIB69jEIBjCkyZedoUHqCrOvShVzyd73OdrJW0hPOuQv2qOoHDc9xVb6Yu6uq3Xqp2ZaH46A7lzevbxQEmfrzvAYSJuZ4WDk1Hz3QX1LVdiUK0EvlAGAYlG3Md30r7dcPN63yqBCIj25prpvZP0nI4+EgWoFG95V596CurXpKRBGRjQlHCvy5Ib/iW8nZJWwrET3mgd6mEhfP4KCuaLjopWs7h+MdXFdIv8dHQJgg1xi1eYqB0uDYjxwVmri0Sv5XKut/onqapC+FQiC2C1lvYJ9MVco6yDYsS3AANUfMtvtbYI2hfwZatiSsnoUeMZd34GVjkMMKA+XnjJpXgRW2SHTZplVowPmJsvXy6w3cfO1AK2dvtZEKTkC/TY9LFiKHCG0DnrMQdGm2lzlBHM9iEYynH2UcVMhUEjsc0oDBTgo2ZSQ1gzkAHeWeBXYFjYLuuf8yzTCy7/RFR81WDjXMbq2BOH5dURnxo6oivmxL3cKzKInlZkD31nvpHB9Kk7GfcfE1t+1V64b9LtgeJGlpRFxQCAqWJ5DoY77ski8gsOEOr2uywZaoO/NGa0X0y1pNQHBi3b2SUGNpcZxDT7rLbBf1FSnQ8guxGW3W+36BW0gBje4DOz6Ba6SVk0xiKgt+q2JOFyr4SYfnu+Ic1QZYIuwHBrgzr6UvOcSCzPTOo7D6IC4ISeS7zkl4h+2VoeHpnG/uWR3+ysNgPcOIXQbv0n4mr3BwQcdKJxgPSeyuP/z1Jjg4e9nUvoXegqQVIE30EHx5GHv+FAVUNTowYDJgyFhf5IvlYmEqRif6+WN1MkEJmDcQITx9FX23a4mxy1AQRsOHO/+eImX9l8EMJI3oPWzVXxSOeHU1dUWYr2uAA7AMb+vAEZSbU3qob9ibCyXeypEMpZ6863o6QPqlqGHZkuWABSTVNd4cOh9hv3qEpSx2Zy/DJMP6cItEmiBJ5PFqQnDEIt3NrA3COlOSgz43D7gpNFNJ5MBh4oFzhDPiglC2ypsNU4ISywY2erkyb1NC3Qh/IfWj0eDgZI4/ln8WPfBsT3meTjq1Uqt1E7Zl/qftqkx6aM9KueMCekSnMrcHj1CqTWWzEzPsZGcDe3Ue4Ws+XFYVxNbOFF8ezkvQGR6ZOtOLU2lQEnMBStx47vE6Pb7AYMBRj2OOfZXfisjJnpTfSNjo6sZ6qSvNxZNmDeS7Gk3yYyCk1HtKN2UnhMIjOXUzAqDv90lx9O/q/AT1ZMnit5XQe9wmQxnE/WSH0CqZ9/2Hy+Sfmpeg8RwsHI5Z8kC8H293m/LHVVM/BA7HaTJYg5Enk7M/xWpq0192ACfBai2LA/qrCjCr6Dh1BIMzMXINBmX96MJ5Hn2nxln/RXPFhwHxUmSV0EV2V0jm86/dxxuYSU1W7sVkEbN9EzkG0QFwPhyHKyb3t+Fj5WoUUTErcazE/N6EW6Lvp0d//SDPj7EV9UdJN+Amnf3Wwk3A0SlJ9Z00yvXZ7n3z70G47Hfsow8Wq1JXcfwnA+Yxa5mFsgV464KKP4T31wqIgzFPd3eCe3j5ory5fBF2hgCFyVFrLzI9eetNXvM7oQqyFgDo4CTp/hDV9NMX9JDHQ/nyHTLvZLNLF6ftn2OxjGm8+PqOwhxnPHWipkE/8wbtyri80Sr7pMNkQGMfo4ZYK9OcCC4ESVFFbLMIvlxSoRqWie0wxqnLfcLSXMSpMMQEJYDVObYsXIQNv4TGNwjq1kvT1UOkicTrG3IaBZ3XdScS3u8sgeZPVpOLkbiF940FjbCeNRINNvDbd01EPBrTCPpm12m43ze1bBB59Ia6Ovhnur/Nvx3IxwSWol+3H2qfCJR8df6aQf4v6WiONxkK+IqT4pKQrZK/LplgDI/PJZbOep8dtbV7oCr6CgfpWa8NczOkPx81iSHbsNhVSJBOtrLIMrL31LK9TqHqAbAHe0RLmmV806kRLDLNEhUEJfm9u0sxpkL93Zgd6rw+tqBfTMi59xqXHLXSHwSbSBl0EK0+loECOPtrl+/nsaFe197di4yUgoe4jKoAJDXc6DGDjrQOoFDWZJ9HXwt8xDrQP+7aRwWKWI1GF8s8O4KzxWBBcwnl3vnl1Oez3oh6Ea1vjR7/z7DDTrFtqU2W/KAEzAuXDNZ7MY73MF216dzdSbWmUp4lcm7keJfWaMHgut9x5C9mj66Z0lJ+yhsjVvyiWrfk1lzPOTdhG15Y7gQlXtacvI7qv/XNSscDwqkgwHT/gUsD5yB7LdRRvJxQGYINn9hTpodKFVSTPrtGvyQw+HlRFXIkodErAGu9Iy1YpfSPc3jkFh5CX3lPxv7aqjE/JAfTIpEjGb/H7MO0e2vsViSW1qa/Lmi4/n4DEI3g7lYrcanspDfEpKkdV1OjSLOy0BCUqVoECaB55vs06rXl4jqmLsPsFM/7vYJ0vrBhDCm/00A/H81l1uekJ/6Lml3Hb9+NKiLqATJmDpyzfYZFHumEjC662L0Bwkxi7E9U4cQA0XMVDuMYAIeLMPgQaMVOd8fmt5SflFIfuBoszeAw7ow5gXPE2Y/yBc/7jExARUf/BxIHQBF5Sn3i61w4z5xJdCyO1F1X3+3ax+JSvMeZ7S6QSKp1Fp/sjYz6Z+VgCZzibGeEoujryfMulH7Rai5kAft9ebcW50DyJr2uo2z97mTWIu45YsSnNSMrrNUuG1XsYBtD9TDYzQffKB87vWbkM4EbPAFgoBV4GQS+vtFDUqOFAoi1nTtmIOvg38N4hT2Sn8r8clmBCXspBlMBYTnrqFJGBT3wZOzAyJDre9dHH7+x7qaaKDOB4UQALD5ecS0DE4obubQEiuJZ0EpBVpLuYcce8Aa4PYd/V4DLDAJBYKQPCWTcrEaZ5HYbJi11Gd6hjGom1ii18VHYnG28NKpkz2UKVPxlhYSp8uZr367iOmoy7zsxehW9wzcy2zG0a80PBMCRQMb32hnaHeOR8fnNDzZhaNYhkOdDsBUZ3loDMa1YP0uS0cjUP3b/6DBlqmZOeNABDsLl5BI5QJups8uxAuWJdkUB/pO6Zax6tsg7fN5mjjDgMGngO+DPcKqiHIDbFIGudxtPTIyDi9SFMKBDcfdGQRv41q1AqmxgkVfJMnP8w/Bc7N9/TR6C7mGObFqFkIEom8sKi2xYqJLTCHK7cxzaZvqODo22c3wisBCP4HeAgcRbNPAsBkNRhSmD48dHupdBRw4mIvtS5oeF6zeT1KMCyhMnmhpkFAGWnGscoNkwvQ8ZM5lE/vgTHFYL99OuNxdFBxTEDd5v2qLR8y9WkXsWgG6kZNndFG+pO/UAkOCipqIhL3hq7cRSdrCq7YhUsTocEcnaFa6nVkhnSeRYUA1YO0z5itF9Sly3VlxYDw239TJJH6f3EUfYO5lb7bcFcz8Bp7Oo8QmnsUHOz/fagVUBtKEw1iT88j+aKkv8cscKNkMxjYr8344D1kFoZ7/td1W6LCNYN594301tUGRmFjAzeRg5vyoM1F6+bJZ/Q54jN/k8SFd3DxPTYaAUsivsBfgTn7Mx8H2SpPt4GOdYRnEJOH6jHM2p6SgB0gzIRq6fHxGMmSmqaPCmlfwxiuloaVIitLGN8wie2CDWhkzLoCJcODh7KIOAqbHEvXdUxaS4TTTs07Clzj/6GmVs9kiZDerMxEnhUB6QQPlcfqkG9882RqHoLiHGBoHfQuXIsAG8GTAtao2KVwRnvvam8jo1e312GQAKWEa4sUVEAMG4G6ckcONDwRcg1e2D3+ohXgY4UAWF8wHKQMrSnzCgfFpsxh+aHXMGtPQroQasRY4U6UdG0rz1Vjbka0MekOGRZQEvqQFlxseFor8zWFgHek3v29+WqN6gaK5gZOTOMZzpQIC1201LkMCXild3vWXSc5UX9xcFYfbRPzGFa1FDcPfPB/jUEq/FeGt419CI3YmBlVoHsa4KdcwQP5ZSwHHhFJ7/Ph/Rap/4vmG91eDwPP0lDfCDRCLszTqfzM71xpmiKi2HwS4WlqvGNwtvwF5Dqpn6KTq8ax00UMPkxDcZrEEEsIvHiUXXEphdb4GB4FymlPwBz4Gperqq5pW7TQ6/yNRhW8VT5NhuP0udlxo4gILq5ZxAZk8ZGh3g4CqxJlPKY7AQxupfUcVpWT5VItp1+30UqoyP4wWsRo3olRRgkWZZ2ZN6VC3OZFeXB8NbnUrSdikNptD1QiGuKkr8EmSR/AK9Rw+FF3s5uwuPbvHGiPeFOViltMK7AUaOsq9+x9cndk3iJEE5LKZRlWJbKOZweROzmPNVPkjE3K/TyA57Rs68TkZ3MR8akKpm7cFjnjPd/DdkWjgYoKHSr5Wu5ssoBYU4acRs5g2DHxUmdq8VXOXRbunD8QN0LhgkssgahcdoYsNvuXGUK/KXD/7oFb+VGdhqIn02veuM5bLudJOc2Ky0GMaG4W/xWBxIJcL7yliJOXOpx0AkBqUgzlDczmLT4iILXDxxtRR1oZa2JWFgiAb43obrJnG/TZC2KSK2wqOzRZTXavZZFMb1f3bXvVaNaK828w9TO610gk8JNf3gMfETzXXsbcvRGCG9JWQZ6+cDPqc4466Yo2RcKH+PILeKOqtnlbInR3MmBeGG3FH10yzkybuqEC2HSQwpA0An7d9+73BkDUTm30bZmoP/RGbgFN+GrCOfADgqr0WbI1a1okpFms8iHYw9hm0zUvlEMivBRxModrbJJ+9/p3jUdQQ9BCtQdxnOGrT5dzRUmw0593/mbRSdBg0nRvRZM5/E16m7ZHmDEtWhwvfdZCZ8J8M12W0yRMszXamWfQTwIZ4ayYktrnscQuWr8idp3PjT2eF/jmtdhIfcpMnb+IfZY2FebW6UY/AK3jP4u3Tu4zE4qlnQgLFbM19EBIsNf7KhjdbqQ/D6yiDb+NlEi2SKD+ivXVUK8ib0oBo366gXkR8ZxGjpJIDcEgZPa9TcYe0TIbiPl/rPUQDu3XBJ9X/GNq3FAUsKsll57DzaGMrjcT+gctp+9MLYXCq+sqP81eVQ0r9lt+gcQfZbACRbEjvlMskztZG8gbC8Qn9tt26Q7y7nDrbZq/LEz7kR6Jc6pg3N9rVX8Y5MJrGlML9p9lU4jbTkKqCveeZUJjHB03m2KRKR2TytoFkTXOLg7keU1s1lrPMQJpoOKLuAAC+y1HlJucU6ysB5hsXhvSPPLq5J7JtnqHKZ4vYjC4Vy8153QY+6780xDuGARsGbOs1WqzH0QS765rnSKEbbKlkO8oI/VDwUd0is13tKpqILu1mDJFNy/iJAWcvDgjxvusIT+PGz3ST/J9r9Mtfd0jpaGeiLYIqXc7DiHSS8TcjFVksi66PEkxW1z6ujbLLUGNNYnzOWpH8BZGK4bCK7iR+MbIv8ncDAz1u4StN3vTTzewr9IQjk9wxFxn+6N1ddKs0vffJiS08N3a4G1SVrlZ97Q/M+8G9fe5AP6d9/Qq4WRnORVhofPIKEdCr3llspUfE0oKIIYoByBRPh+bX1HLS3JWGJRhIvE1aW4NTd8ePi4Z+kXb+Z8snYfSNcqijhAgVsx4RCM54cXUiYkjeBmmC4ajOHrChoELscJJC7+9jjMjw5BagZKlgRMiSNYz7h7vvZIoQqbtQmspc0cUk1G/73iXtSpROl5wtLgQi0mW2Ex8i3WULhcggx6E1LMVHUsdc9GHI1PH3U2Ko0PyGdn9KdVOLm7FPBui0i9a0HpA60MsewVE4z8CAt5d401Gv6zXlIT5Ybit1VIA0FCs7wtvYreru1fUyW3oLAZ/+aTnZrOcYRNVA8spoRtlRoWflsRClFcgzkqiHOrf0/SVw+EpVaFlJ0g4Kxq1MMOmiQdpMNpte8lMMQqm6cIFXlnGbfJllysKDi+0JJMotkqgIxOSQgU9dn/lWkeVf8nUm3iwX2Nl3WDw9i6AUK3vBAbZZrcJpDQ/N64AVwjT07Jef30GSSmtNu2WlW7YoyW2FlWfZFQUwk867EdLYKk9VG6JgEnBiBxkY7LMo4YLQJJlAo9l/oTvJkSARDF/XtyAzM8O2t3eT/iXa6wDN3WewNmQHdPfsxChU/KtLG2Mn8i4ZqKdSlIaBZadxJmRzVS/o4yA65RTSViq60oa395Lqw0pzY4SipwE0SXXsKV+GZraGSkr/RW08wPRvqvSUkYBMA9lPx4m24az+IHmCbXA+0faxTRE9wuGeO06DIXa6QlKJ3puIyiuAVfPr736vzo2pBirS+Vxel3TMm3JKhz9o2ZoRvaFVpIkykb0Hcm4oHFBMcNSNj7/4GJt43ogonY2Vg4nsDQIWxAcorpXACzgBqQPjYsE/VUpXpwNManEru4NwMCFPkXvMoqvoeLN3qyu/N1eWEHttMD65v19l/0kH2mR35iv/FI+yjoHJ9gPMz67af3Mq/BoWXqu3rphiWMXVkmnPSEkpGpUI2h1MThideGFEOK6YZHPwYzMBvpNC7+ZHxPb7epfefGyIB4JzO9DTNEYnDLVVHdQyvOEVefrk6Uv5kTQYVYWWdqrdcIl7yljwwIWdfQ/y+2QB3eR/qxYObuYyB4gTbo2in4PzarU1sO9nETkmj9/AoxDA+JM3GMqQtJR4jtduHtnoCLxd1gQUscHRB/MoRYIEsP2pDZ9KvHgtlk1iTbWWbHhohwFEYX7y51fUV2nuUmnoUcqnWIQAAgl9LTVX+Bc0QGNEhChxHR4YjfE51PUdGfsSFE6ck7BL3/hTf9jLq4G1IafINxOLKeAtO7quulYvH5YOBc+zX7CrMgWnW47/jfRsWnJjYYoE7xMfWV2HN2iyIqLI";const lS=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),fS=4;function ez(n){let t=0;function e(){return n[t++]<<8|n[t++]}let r=e(),i=1,s=[0,1];for(let W=1;W<r;W++)s.push(i+=e());let o=e(),a=t;t+=o;let u=0,f=0;function h(){return u==0&&(f=f<<8|n[t++],u=8),f>>--u&1}const y=31,_=2**y,w=_>>>1,R=w>>1,T=_-1;let I=0;for(let W=0;W<y;W++)I=I<<1|h();let B=[],H=0,U=_;for(;;){let W=Math.floor(((I-H+1)*i-1)/U),X=0,j=r;for(;j-X>1;){let ut=X+j>>>1;W<s[ut]?j=ut:X=ut}if(X==0)break;B.push(X);let J=H+Math.floor(U*s[X]/i),it=H+Math.floor(U*s[X+1]/i)-1;for(;!((J^it)&w);)I=I<<1&T|h(),J=J<<1&T,it=it<<1&T|1;for(;J&~it&R;)I=I&w|I<<1&T>>>1|h(),J=J<<1^w,it=(it^w)<<1|w|1;H=J,U=1+it-J}let G=r-4;return B.map(W=>{switch(W-G){case 3:return G+65792+(n[a++]<<16|n[a++]<<8|n[a++]);case 2:return G+256+(n[a++]<<8|n[a++]);case 1:return G+n[a++];default:return W-1}})}function nz(n){let t=0;return()=>n[t++]}function hS(n){return nz(ez(rz(n)))}function rz(n){let t=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((i,s)=>t[i.charCodeAt(0)]=s);let e=n.length,r=new Uint8Array(6*e>>3);for(let i=0,s=0,o=0,a=0;i<e;i++)a=a<<6|t[n.charCodeAt(i)],o+=6,o>=8&&(r[s++]=a>>(o-=8));return r}function iz(n){return n&1?~n>>1:n>>1}function sz(n,t){let e=Array(n);for(let r=0,i=0;r<n;r++)e[r]=i+=iz(t());return e}function ph(n,t=0){let e=[];for(;;){let r=n(),i=n();if(!i)break;t+=r;for(let s=0;s<i;s++)e.push(t+s);t+=i+1}return e}function dS(n){return gh(()=>{let t=ph(n);if(t.length)return t})}function pS(n){let t=[];for(;;){let e=n();if(e==0)break;t.push(oz(e,n))}for(;;){let e=n()-1;if(e<0)break;t.push(az(e,n))}return t.flat()}function gh(n){let t=[];for(;;){let e=n(t.length);if(!e)break;t.push(e)}return t}function gS(n,t,e){let r=Array(n).fill().map(()=>[]);for(let i=0;i<t;i++)sz(n,e).forEach((s,o)=>r[o].push(s));return r}function oz(n,t){let e=1+t(),r=t(),i=gh(t);return gS(i.length,1+n,t).flatMap((o,a)=>{let[u,...f]=o;return Array(i[a]).fill().map((h,y)=>{let _=y*r;return[u+y*e,f.map(w=>w+_)]})})}function az(n,t){let e=1+t();return gS(e,1+n,t).map(i=>[i[0],i.slice(1)])}function cz(n){let t=[],e=ph(n);return i(r([]),[]),t;function r(s){let o=n(),a=gh(()=>{let u=ph(n).map(f=>e[f]);if(u.length)return r(u)});return{S:o,B:a,Q:s}}function i({S:s,B:o},a,u){if(!(s&4&&u===a[a.length-1])){s&2&&(u=a[a.length-1]),s&1&&t.push(a);for(let f of o)for(let h of f.Q)i(f,[...a,h],u)}}}function uz(n){return n.toString(16).toUpperCase().padStart(2,"0")}function yS(n){return`{${uz(n)}}`}function lz(n){let t=[];for(let e=0,r=n.length;e<r;){let i=n.codePointAt(e);e+=i<65536?1:2,t.push(i)}return t}function Hu(n){let e=n.length;if(e<4096)return String.fromCodePoint(...n);let r=[];for(let i=0;i<e;)r.push(String.fromCodePoint(...n.slice(i,i+=4096)));return r.join("")}function fz(n,t){let e=n.length,r=e-t.length;for(let i=0;r==0&&i<e;i++)r=n[i]-t[i];return r}var hz="AEUDTAHBCFQATQDRADAAcgAgADQAFAAsABQAHwAOACQADQARAAoAFwAHABIACAAPAAUACwAFAAwABAAQAAMABwAEAAoABQAIAAIACgABAAQAFAALAAIACwABAAIAAQAHAAMAAwAEAAsADAAMAAwACgANAA0AAwAKAAkABAAdAAYAZwDSAdsDJgC0CkMB8xhZAqfoC190UGcThgBurwf7PT09Pb09AjgJum8OjDllxHYUKXAPxzq6tABAxgK8ysUvWAgMPT09PT09PSs6LT2HcgWXWwFLoSMEEEl5RFVMKvO0XQ8ExDdJMnIgsj26PTQyy8FfEQ8AY8IPAGcEbwRwBHEEcgRzBHQEdQR2BHcEeAR6BHsEfAR+BIAEgfndBQoBYgULAWIFDAFiBNcE2ATZBRAFEQUvBdALFAsVDPcNBw13DYcOMA4xDjMB4BllHI0B2grbAMDpHLkQ7QHVAPRNQQFnGRUEg0yEB2uaJF8AJpIBpob5AERSMAKNoAXqaQLUBMCzEiACnwRZEkkVsS7tANAsBG0RuAQLEPABv9HICTUBXigPZwRBApMDOwAamhtaABqEAY8KvKx3LQ4ArAB8UhwEBAVSagD8AEFZADkBIadVj2UMUgx5Il4ANQC9AxIB1BlbEPMAs30CGxlXAhwZKQIECBc6EbsCoxngzv7UzRQA8M0BawL6ZwkN7wABAD33OQRcsgLJCjMCjqUChtw/km+NAsXPAoP2BT84PwURAK0RAvptb6cApQS/OMMey5HJS84UdxpxTPkCogVFITaTOwERAK5pAvkNBOVyA7q3BKlOJSALAgUIBRcEdASpBXqzABXFSWZOawLCOqw//AolCZdvv3dSBkEQGyelEPcMMwG1ATsN7UvYBPEGOwTJH30ZGQ/NlZwIpS3dDO0m4y6hgFoj9SqDBe1L9DzdC01RaA9ZC2UJ4zpjgU4DIQENIosK3Q05CG0Q8wrJaw3lEUUHOQPVSZoApQcBCxEdNRW1JhBirAsJOXcG+xr2C48mrxMpevwF0xohBk0BKRr/AM8u54WwWjFcHE9fBgMLJSPHFKhQIA0lQLd4SBobBxUlqQKRQ3BKh1E2HpMh9jw9DWYuE1F8B/U8BRlPC4E8nkarRQ4R0j6NPUgiSUwsBDV/LC8niwnPD4UMuXxyAVkJIQmxDHETMREXN8UIOQcZLZckJxUIIUaVYJoE958D8xPRAwsFPwlBBxMDtRwtEy4VKQUNgSTXAvM21S6zAo9WgAEXBcsPJR/fEFBH4A7pCJsCZQODJesALRUhABcimwhDYwBfj9hTBS7LCMdqbCN0A2cU52ERcweRDlcHpxwzFb8c4XDIXguGCCijrwlbAXUJmQFfBOMICTVbjKAgQWdTi1gYmyBhQT9d/AIxDGUVn0S9h3gCiw9rEhsBNQFzBzkNAQJ3Ee0RaxCVCOuGBDW1M/g6JQRPIYMgEQonA09szgsnJvkM+GkBoxJiAww0PXfuZ6tgtiQX/QcZMsVBYCHxC5JPzQycGsEYQlQuGeQHvwPzGvMn6kFXBf8DowMTOk0z7gS9C2kIiwk/AEkOoxcH1xhqCnGM0AExiwG3mQNXkYMCb48GNwcLAGcLhwV55QAdAqcIowAFAM8DVwA5Aq0HnQAZAIVBAT0DJy8BIeUCjwOTCDHLAZUvAfMpBBvDDBUA9zduSgLDsQKAamaiBd1YAo4CSTUBTSUEBU5HUQOvceEA2wBLBhPfRwEVq0rLGuNDAd9vKwDHAPsABTUHBUEBzQHzbQC3AV8LMQmis7UBTekpAIMAFWsB1wKJAN0ANQB/8QFTAE0FWfkF0wJPSQERMRgrV2EBuwMfATMBDQB5BsuNpckHHwRtB9MCEBsV4QLvLge1AQMi3xPNQsUCvd5VoWACZIECYkJbTa9bNyACofcCaJgCZgkCn4Q4GwsCZjsCZiYEbgR/A38TA36SOQY5dxc5gjojIwJsHQIyNjgKAm3HAm2u74ozZ0UrAWcA3gDhAEoFB5gMjQD+C8IADbUCdy8CdqI/AnlLQwJ4uh1c20WuRtcCfD8CesgCfQkCfPAFWQUgSABIfWMkAoFtAoAAAoAFAn+uSVhKWxUXSswC0QEC0MxLJwOITwOH5kTFkTIC8qFdAwMDrkvOTC0lA89NTE2vAos/AorYwRsHHUNnBbcCjjcCjlxAl4ECjtkCjlx4UbRTNQpS1FSFApP7ApMMAOkAHFUeVa9V0AYsGymVhjLheGZFOzkCl58C77JYIagAWSUClo8ClnycAKlZrFoJgU0AOwKWtQKWTlxEXNECmcsCmWRcyl0HGQKcmznCOp0CnBYCn5sCnriKAB0PMSoPAp3xAp6SALU9YTRh7wKe0wKgbgGpAp6fHwKeTqVjyGQnJSsCJ68CJn4CoPsCoEwCot0CocQCpi8Cpc4Cp/8AfQKn8mh8aLEAA0lqHGrRAqzjAqyuAq1nAq0CAlcdAlXcArHh1wMfTmyXArK9DQKy6Bds4G1jbUhfAyXNArZcOz9ukAMpRQK4XgK5RxUCuSp3cDZw4QK9GQK72nCWAzIRAr6IcgIDM3ECvhpzInNPAsPLAsMEc4J0SzVFdOADPKcDPJoDPb8CxXwCxkcCxhCJAshpUQLIRALJTwLJLgJknQLd0nh5YXiueSVL0AMYo2cCAmH0GfOVJHsLXpJeuxECz2sCz2wvS1PS8xOfAMatAs9zASnqA04SfksFAtwnAtuKAtJPA1JcA1NfAQEDVYyAiT8AyxbtYEWCHILTgs6DjQLaxwLZ3oQQhEmnPAOGpQAvA2QOhnFZ+QBVAt9lAt64c3cC4i/tFAHzMCcB9JsB8tKHAuvzAulweQLq+QLq5AD5RwG5Au6JAuuclqqXAwLuPwOF4Jh5cOBxoQLzAwBpA44WmZMC9xMDkW4DkocC95gC+dkC+GaaHJqruzebHgOdgwL++gEbADmfHJ+zAwWNA6ZqA6bZANHFAwZqoYiiBQkDDEkCwAA/AwDhQRdTARHzA2sHl2cFAJMtK7evvdsBiZkUfxEEOQH7KQUhDp0JnwCS/SlXxQL3AZ0AtwW5AG8LbUEuFCaNLgFDAYD8AbUmAHUDDgRtACwCFgyhAAAKAj0CagPdA34EkQEgRQUhfAoABQBEABMANhICdwEABdUDa+8KxQIA9wqfJ7+xt+UBkSFBQgHpFH8RNMCJAAQAGwBaAkUChIsABjpTOpSNbQC4Oo860ACNOME63AClAOgAywE6gTo7Ofw5+Tt2iTpbO56JOm85GAFWATMBbAUvNV01njWtNWY1dTW2NcU1gjWRNdI14TWeNa017jX9NbI1wTYCNhE1xjXVNhY2JzXeNe02LjY9Ni41LSE2OjY9Njw2yTcIBJA8VzY4Nt03IDcPNsogN4k3MAoEsDxnNiQ3GTdsOo03IULUQwdC4EMLHA8PCZsobShRVQYA6X8A6bABFCnXAukBowC9BbcAbwNzBL8MDAMMAQgDAAkKCwsLCQoGBAVVBI/DvwDz9b29kaUCb0QtsRTNLt4eGBcSHAMZFhYZEhYEARAEBUEcQRxBHEEcQRxBHEEaQRxBHEFCSTxBPElISUhBNkM2QTYbNklISVmBVIgBFLWZAu0BhQCjBcEAbykBvwGJAaQcEZ0ePCklMAAhMvAIMAL54gC7Bm8EescjzQMpARQpKgDUABavAj626xQAJP0A3etzuf4NNRA7efy2Z9NQrCnC0OSyANz5BBIbJ5IFDR6miIavYS6tprjjmuKebxm5C74Q225X1pkaYYPb6f1DK4k3xMEBb9S2WMjEibTNWhsRJIA+vwNVEiXTE5iXs/wezV66oFLfp9NZGYW+Gk19J2+bCT6Ye2w6LDYdgzKMUabk595eLBCXANz9HUpWbATq9vqXVx9XDg+Pc9Xp4+bsS005SVM/BJBM4687WUuf+Uj9dEi8aDNaPxtpbDxcG1THTImUMZq4UCaaNYpsVqraNyKLJXDYsFZ/5jl7bLRtO88t7P3xZaAxhb5OdPMXqsSkp1WCieG8jXm1U99+blvLlXzPCS+M93VnJCiK+09LfaSaBAVBomyDgJua8dfUzR7ga34IvR2Nvj+A9heJ6lsl1KG4NkI1032Cnff1m1wof2B9oHJK4bi6JkEdSqeNeiuo6QoZZincoc73/TH9SXF8sCE7XyuYyW8WSgbGFCjPV0ihLKhdPs08Tx82fYAkLLc4I2wdl4apY7GU5lHRFzRWJep7Ww3wbeA3qmd59/86P4xuNaqDpygXt6M85glSBHOCGgJDnt+pN9bK7HApMguX6+06RZNjzVmcZJ+wcUrJ9//bpRNxNuKpNl9uFds+S9tdx7LaM5ZkIrPj6nIU9mnbFtVbs9s/uLgl8MVczAwet+iOEzzBlYW7RCMgE6gyNLeq6+1tIx4dpgZnd0DksJS5f+JNDpwwcPNXaaVspq1fbQajOrJgK0ofKtJ1Ne90L6VO4MOl5S886p7u6xo7OLjG8TGL+HU1JXGJgppg4nNbNJ5nlzSpuPYy21JUEcUA94PoFiZfjZue+QnyQ80ekOuZVkxx4g+cvhJfHgNl4hy1/a6+RKcKlar/J29y//EztlbVPHVUeQ1zX86eQVAjR/M3dA9w4W8LfaXp4EgM85wOWasli837PzVMOnsLzR+k3o75/lRPAJSE1xAKQzEi5v10ke+VBvRt1cwQRMd+U5mLCTGVd6XiZtgBG5cDi0w22GKcVNvHiu5LQbZEDVtz0onn7k5+heuKXVsZtSzilkLRAUmjMXEMB3J9YC50XBxPiz53SC+EhnPl9WsKCv92SM/OFFIMJZYfl0WW8tIO3UxYcwdMAj7FSmgrsZ2aAZO03BOhP1bNNZItyXYQFTpC3SG1VuPDqH9GkiCDmE+JwxyIVSO5siDErAOpEXFgjy6PQtOVDj+s6e1r8heWVvmZnTciuf4EiNZzCAd7SOMhXERIOlsHIMG399i9aLTy3m2hRLZjJVDNLS53iGIK11dPqQt0zBDyg6qc7YqkDm2M5Ve6dCWCaCbTXX2rToaIgz6+zh4lYUi/+6nqcFMAkQJKHYLK0wYk5N9szV6xihDbDDFr45lN1K4aCXBq/FitPSud9gLt5ZVn+ZqGX7cwm2z5EGMgfFpIFyhGGuDPmso6TItTMwny+7uPnLCf4W6goFQFV0oQSsc9VfMmVLcLr6ZetDZbaSFTLqnSO/bIPjA3/zAUoqgGFAEQS4IhuMzEp2I3jJzbzkk/IEmyax+rhZTwd6f+CGtwPixu8IvzACquPWPREu9ZvGkUzpRwvRRuaNN6cr0W1wWits9ICdYJ7ltbgMiSL3sTPeufgNcVqMVWFkCPDH4jG2jA0XcVgQj62Cb29v9f/z/+2KbYvIv/zzjpQAPkliaVDzNrW57TZ/ZOyZD0nlfMmAIBIAGAI0D3k/mdN4xr9v85ZbZbbqfH2jGd5hUqNZWwl5SPfoGmfElmazUIeNL1j/mkF7VNAzTq4jNt8JoQ11NQOcmhprXoxSxfRGJ9LDEOAQ+dmxAQH90iti9e2u/MoeuaGcDTHoC+xsmEeWmxEKefQuIzHbpw5Tc5cEocboAD09oipWQhtTO1wivf/O+DRe2rpl/E9wlrzBorjJsOeG1B/XPW4EaJEFdNlECEZga5ZoGRHXgYouGRuVkm8tDESiEyFNo+3s5M5puSdTyUL2llnINVHEt91XUNW4ewdMgJ4boJfEyt/iY5WXqbA+A2Fkt5Z0lutiWhe9nZIyIUjyXDC3UsaG1t+eNx6z4W/OYoTB7A6x+dNSTOi9AInctbESqm5gvOLww7OWXPrmHwVZasrl4eD113pm+JtT7JVOvnCXqdzzdTRHgJ0PiGTFYW5Gvt9R9LD6Lzfs0v/TZZHSmyVNq7viIHE6DBK7Qp07Iz55EM8SYtQvZf/obBniTWi5C2/ovHfw4VndkE5XYdjOhCMRjDeOEfXeN/CwfGduiUIfsoFeUxXeQXba7c7972XNv8w+dTjjUM0QeNAReW+J014dKAD/McQYXT7c0GQPIkn3Ll6R7gGjuiQoZD0TEeEqQpKoZ15g/0OPQI17QiSv9AUROa/V/TQN3dvLArec3RrsYlvBm1b8LWzltdugsC50lNKYLEp2a+ZZYqPejULRlOJh5zj/LVMyTDvwKhMxxwuDkxJ1QpoNI0OTWLom4Z71SNzI9TV1iXJrIu9Wcnd+MCaAw8o1jSXd94YU/1gnkrC9BUEOtQvEIQ7g0i6h+KL2JKk8Ydl7HruvgWMSAmNe+LshGhV4qnWHhO9/RIPQzY1tHRj2VqOyNsDpK0cww+56AdDC4gsWwY0XxoucIWIqs/GcwnWqlaT0KPr8mbK5U94/301i1WLt4YINTVvCFBrFZbIbY8eycOdeJ2teD5IfPLCRg7jjcFTwlMFNl9zdh/o3E/hHPwj7BWg0MU09pPrBLbrCgm54A6H+I6v27+jL5gkjWg/iYdks9jbfVP5y/n0dlgWEMlKasl7JvFZd56LfybW1eeaVO0gxTfXZwD8G4SI116yx7UKVRgui6Ya1YpixqXeNLc8IxtAwCU5IhwQgn+NqHnRaDv61CxKhOq4pOX7M6pkA+Pmpd4j1vn6ACUALoLLc4vpXci8VidLxzm7qFBe7s+quuJs6ETYmnpgS3LwSZxPIltgBDXz8M1k/W2ySNv2f9/NPhxLGK2D21dkHeSGmenRT3Yqcdl0m/h3OYr8V+lXNYGf8aCCpd4bWjE4QIPj7vUKN4Nrfs7ML6Y2OyS830JCnofg/k7lpFpt4SqZc5HGg1HCOrHvOdC8bP6FGDbE/VV0mX4IakzbdS/op+Kt3G24/8QbBV7y86sGSQ/vZzU8FXs7u6jIvwchsEP2BpIhW3G8uWNwa3HmjfH/ZjhhCWvluAcF+nMf14ClKg5hGgtPLJ98ueNAkc5Hs2WZlk2QHvfreCK1CCGO6nMZVSb99VM/ajr8WHTte9JSmkXq/i/U943HEbdzW6Re/S88dKgg8pGOLlAeNiqrcLkUR3/aClFpMXcOUP3rmETcWSfMXZE3TUOi8i+fqRnTYLflVx/Vb/6GJ7eIRZUA6k3RYR3iFSK9c4iDdNwJuZL2FKz/IK5VimcNWEqdXjSoxSgmF0UPlDoUlNrPcM7ftmA8Y9gKiqKEHuWN+AZRIwtVSxye2Kf8rM3lhJ5XcBXU9n4v0Oy1RU2M+4qM8AQPVwse8ErNSob5oFPWxuqZnVzo1qB/IBxkM3EVUKFUUlO3e51259GgNcJbCmlvrdjtoTW7rChm1wyCKzpCTwozUUEOIcWLneRLgMXh+SjGSFkAllzbGS5HK7LlfCMRNRDSvbQPjcXaenNYxCvu2Qyznz6StuxVj66SgI0T8B6/sfHAJYZaZ78thjOSIFumNWLQbeZixDCCC+v0YBtkxiBB3jefHqZ/dFHU+crbj6OvS1x/JDD7vlm7zOVPwpUC01nhxZuY/63E7g";const yh=44032,lp=4352,fp=4449,hp=4519,mS=19,wS=21,zu=28,dp=wS*zu,dz=mS*dp,pz=yh+dz,gz=lp+mS,yz=fp+wS,mz=hp+zu;function mh(n){return n>>24&255}function bS(n){return n&16777215}let bw,_S,_w,pp;function wz(){let n=hS(hz);bw=new Map(dS(n).flatMap((t,e)=>t.map(r=>[r,e+1<<24]))),_S=new Set(ph(n)),_w=new Map,pp=new Map;for(let[t,e]of pS(n)){if(!_S.has(t)&&e.length==2){let[r,i]=e,s=pp.get(r);s||(s=new Map,pp.set(r,s)),s.set(i,t)}_w.set(t,e.reverse())}}function AS(n){return n>=yh&&n<pz}function bz(n,t){if(n>=lp&&n<gz&&t>=fp&&t<yz)return yh+(n-lp)*dp+(t-fp)*zu;if(AS(n)&&t>hp&&t<mz&&(n-yh)%zu==0)return n+(t-hp);{let e=pp.get(n);return e&&(e=e.get(t),e)?e:-1}}function ES(n){bw||wz();let t=[],e=[],r=!1;function i(s){let o=bw.get(s);o&&(r=!0,s|=o),t.push(s)}for(let s of n)for(;;){if(s<128)t.push(s);else if(AS(s)){let o=s-yh,a=o/dp|0,u=o%dp/zu|0,f=o%zu;i(lp+a),i(fp+u),f>0&&i(hp+f)}else{let o=_w.get(s);o?e.push(...o):i(s)}if(!e.length)break;s=e.pop()}if(r&&t.length>1){let s=mh(t[0]);for(let o=1;o<t.length;o++){let a=mh(t[o]);if(a==0||s<=a){s=a;continue}let u=o-1;for(;;){let f=t[u+1];if(t[u+1]=t[u],t[u]=f,!u||(s=mh(t[--u]),s<=a))break}s=mh(t[o])}}return t}function _z(n){let t=[],e=[],r=-1,i=0;for(let s of n){let o=mh(s),a=bS(s);if(r==-1)o==0?r=a:t.push(a);else if(i>0&&i>=o)o==0?(t.push(r,...e),e.length=0,r=a):e.push(a),i=o;else{let u=bz(r,a);u>=0?r=u:i==0&&o==0?(t.push(r),r=a):(e.push(a),i=o)}}return r>=0&&t.push(r,...e),t}function vS(n){return ES(n).map(bS)}function Az(n){return _z(ES(n))}const xS=45,RS=".",IS=65039,SS=1,gp=n=>Array.from(n);function wh(n,t){return n.P.has(t)||n.Q.has(t)}class Ez extends Array{get is_emoji(){return!0}}let Aw,kS,Ya,Ew,TS,Gu,vw,Vu,Ja,OS,xw;function Rw(){if(Aw)return;let n=hS(tz);const t=()=>ph(n),e=()=>new Set(t()),r=(h,y)=>y.forEach(_=>h.add(_));Aw=new Map(pS(n)),kS=e(),Ya=t(),Ew=new Set(t().map(h=>Ya[h])),Ya=new Set(Ya),TS=e(),e();let i=dS(n),s=n();const o=()=>{let h=new Set;return t().forEach(y=>r(h,i[y])),r(h,t()),h};Gu=gh(h=>{let y=gh(n).map(_=>_+96);if(y.length){let _=h>=s;y[0]-=32,y=Hu(y),_&&(y=`Restricted[${y}]`);let w=o(),R=o(),T=!n();return{N:y,P:w,Q:R,M:T,R:_}}}),vw=e(),Vu=new Map;let a=t().concat(gp(vw)).sort((h,y)=>h-y);a.forEach((h,y)=>{let _=n(),w=a[y]=_?a[y-_]:{V:[],M:new Map};w.V.push(h),vw.has(h)||Vu.set(h,w)});for(let{V:h,M:y}of new Set(Vu.values())){let _=[];for(let R of h){let T=Gu.filter(B=>wh(B,R)),I=_.find(({G:B})=>T.some(H=>B.has(H)));I||(I={G:new Set,V:[]},_.push(I)),I.V.push(R),r(I.G,T)}let w=_.flatMap(R=>gp(R.G));for(let{G:R,V:T}of _){let I=new Set(w.filter(B=>!R.has(B)));for(let B of T)y.set(B,I)}}Ja=new Set;let u=new Set;const f=h=>Ja.has(h)?u.add(h):Ja.add(h);for(let h of Gu){for(let y of h.P)f(y);for(let y of h.Q)f(y)}for(let h of Ja)!Vu.has(h)&&!u.has(h)&&Vu.set(h,SS);r(Ja,vS(Ja)),OS=cz(n).map(h=>Ez.from(h)).sort(fz),xw=new Map;for(let h of OS){let y=[xw];for(let _ of h){let w=y.map(R=>{let T=R.get(_);return T||(T=new Map,R.set(_,T)),T});_===IS?y.push(...w):y=w}for(let _ of y)_.V=h}}function Iw(n){return(NS(n)?"":`${Sw(yp([n]))} `)+yS(n)}function Sw(n){return`"${n}"`}function vz(n){if(n.length>=4&&n[2]==xS&&n[3]==xS)throw new Error(`invalid label extension: "${Hu(n.slice(0,4))}"`)}function xz(n){for(let e=n.lastIndexOf(95);e>0;)if(n[--e]!==95)throw new Error("underscore allowed only at start")}function Rz(n){let t=n[0],e=lS.get(t);if(e)throw bh(`leading ${e}`);let r=n.length,i=-1;for(let s=1;s<r;s++){t=n[s];let o=lS.get(t);if(o){if(i==s)throw bh(`${e} + ${o}`);i=s+1,e=o}}if(i==r)throw bh(`trailing ${e}`)}function yp(n,t=1/0,e=yS){let r=[];Iz(n[0])&&r.push("◌"),n.length>t&&(t>>=1,n=[...n.slice(0,t),8230,...n.slice(-t)]);let i=0,s=n.length;for(let o=0;o<s;o++){let a=n[o];NS(a)&&(r.push(Hu(n.slice(i,o))),r.push(e(a)),i=o+1)}return r.push(Hu(n.slice(i,s))),r.join("")}function Iz(n){return Rw(),Ya.has(n)}function NS(n){return Rw(),TS.has(n)}function Sz(n){return Nz(kz(n,Az,Pz))}function kz(n,t,e){if(!n)return[];Rw();let r=0;return n.split(RS).map(i=>{let s=lz(i),o={input:s,offset:r};r+=s.length+1;try{let a=o.tokens=Bz(s,t,e),u=a.length,f;if(!u)throw new Error("empty label");let h=o.output=a.flat();if(xz(h),!(o.emoji=u>1||a[0].is_emoji)&&h.every(_=>_<128))vz(h),f="ASCII";else{let _=a.flatMap(w=>w.is_emoji?[]:w);if(!_.length)f="Emoji";else{if(Ya.has(h[0]))throw bh("leading combining mark");for(let T=1;T<u;T++){let I=a[T];if(!I.is_emoji&&Ya.has(I[0]))throw bh(`emoji + combining mark: "${Hu(a[T-1])} + ${yp([I[0]])}"`)}Rz(h);let w=gp(new Set(_)),[R]=Oz(w);Cz(R,_),Tz(R,w),f=R.N}}o.type=f}catch(a){o.error=a}return o})}function Tz(n,t){let e,r=[];for(let i of t){let s=Vu.get(i);if(s===SS)return;if(s){let o=s.M.get(i);if(e=e?e.filter(a=>o.has(a)):gp(o),!e.length)return}else r.push(i)}if(e){for(let i of e)if(r.every(s=>wh(i,s)))throw new Error(`whole-script confusable: ${n.N}/${i.N}`)}}function Oz(n){let t=Gu;for(let e of n){let r=t.filter(i=>wh(i,e));if(!r.length)throw Gu.some(i=>wh(i,e))?BS(t[0],e):CS(e);if(t=r,r.length==1)break}return t}function Nz(n){return n.map(({input:t,error:e,output:r})=>{if(e){let i=e.message;throw new Error(n.length==1?i:`Invalid label ${Sw(yp(t,63))}: ${i}`)}return Hu(r)}).join(RS)}function CS(n){return new Error(`disallowed character: ${Iw(n)}`)}function BS(n,t){let e=Iw(t),r=Gu.find(i=>i.P.has(t));return r&&(e=`${r.N} ${e}`),new Error(`illegal mixture: ${n.N} + ${e}`)}function bh(n){return new Error(`illegal placement: ${n}`)}function Cz(n,t){for(let e of t)if(!wh(n,e))throw BS(n,e);if(n.M){let e=vS(t);for(let r=1,i=e.length;r<i;r++)if(Ew.has(e[r])){let s=r+1;for(let o;s<i&&Ew.has(o=e[s]);s++)for(let a=r;a<s;a++)if(e[a]==o)throw new Error(`duplicate non-spacing marks: ${Iw(o)}`);if(s-r>fS)throw new Error(`excessive non-spacing marks: ${Sw(yp(e.slice(r-1,s)))} (${s-r}/${fS})`);r=s}}}function Bz(n,t,e){let r=[],i=[];for(n=n.slice().reverse();n.length;){let s=Mz(n);if(s)i.length&&(r.push(t(i)),i=[]),r.push(e(s));else{let o=n.pop();if(Ja.has(o))i.push(o);else{let a=Aw.get(o);if(a)i.push(...a);else if(!kS.has(o))throw CS(o)}}}return i.length&&r.push(t(i)),r}function Pz(n){return n.filter(t=>t!=IS)}function Mz(n,t){let e=xw,r,i=n.length;for(;i&&(e=e.get(n[--i]),!!e);){let{V:s}=e;s&&(r=s,n.length=i)}return r}const PS=new Uint8Array(32);PS.fill(0);function MS(n){return K(n.length!==0,"invalid ENS name; empty component","comp",n),n}function LS(n){const t=Ms(Lz(n)),e=[];if(n.length===0)return e;let r=0;for(let i=0;i<t.length;i++)t[i]===46&&(e.push(MS(t.slice(r,i))),r=i+1);return K(r<t.length,"invalid ENS name; empty component","name",n),e.push(MS(t.slice(r))),e}function Lz(n){try{if(n.length===0)throw new Error("empty label");return Sz(n)}catch(t){K(!1,`invalid ENS name (${t.message})`,"name",n)}}function kw(n){K(typeof n=="string","invalid ENS name; not a string","name",n),K(n.length,"invalid ENS name (empty label)","name",n);let t=PS;const e=LS(n);for(;e.length;)t=Nn(xn([t,Nn(e.pop())]));return Tt(t)}function Uz(n,t){const e=t;return K(e<=255,"DNS encoded label cannot exceed 255","length",e),Tt(xn(LS(n).map(r=>{K(r.length<=e,`label ${JSON.stringify(n)} exceeds ${e} bytes`,"name",n);const i=new Uint8Array(r.length+1);return i.set(r,1),i[0]=i.length-1,i})))+"00"}function Tw(n,t){return{address:Le(n),storageKeys:t.map((e,r)=>(K(Ge(e,32),"invalid slot",`storageKeys[${r}]`,e),e.toLowerCase()))}}function Xa(n){if(Array.isArray(n))return n.map((e,r)=>Array.isArray(e)?(K(e.length===2,"invalid slot set",`value[${r}]`,e),Tw(e[0],e[1])):(K(e!=null&&typeof e=="object","invalid address-slot set","value",n),Tw(e.address,e.storageKeys)));K(n!=null&&typeof n=="object","invalid access list","value",n);const t=Object.keys(n).map(e=>{const r=n[e].reduce((i,s)=>(i[s]=!0,i),{});return Tw(e,Object.keys(r).sort())});return t.sort((e,r)=>e.address.localeCompare(r.address)),t}function Dz(n){let t;return typeof n=="string"?t=dh.computePublicKey(n,!1):t=n.publicKey,Le(Nn("0x"+t.substring(4)).substring(26))}function Fz(n,t){return Dz(dh.recoverPublicKey(n,t))}const Fn=BigInt(0),$z=BigInt(2),Hz=BigInt(27),zz=BigInt(28),Gz=BigInt(35),Vz=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ow=4096*32;function US(n,t){let e=n.toString(16);for(;e.length<2;)e="0"+e;return e+=Lu(t).substring(4),"0x"+e}function mp(n){return n==="0x"?null:Le(n)}function Nw(n,t){try{return Xa(n)}catch(e){K(!1,e.message,t,n)}}function _h(n,t){return n==="0x"?0:ie(n,t)}function In(n,t){if(n==="0x")return Fn;const e=Ct(n,t);return K(e<=Vz,"value exceeds uint size",t,e),e}function Ze(n,t){const e=Ct(n,"value"),r=mr(e);return K(r.length<=32,"value too large",`tx.${t}`,e),r}function Cw(n){return Xa(n).map(t=>[t.address,t.storageKeys])}function Kz(n,t){K(Array.isArray(n),`invalid ${t}`,"value",n);for(let e=0;e<n.length;e++)K(Ge(n[e],32),"invalid ${ param } hash",`value[${e}]`,n[e]);return n}function jz(n){const t=ep(n);K(Array.isArray(t)&&(t.length===9||t.length===6),"invalid field count for legacy transaction","data",n);const e={type:0,nonce:_h(t[0],"nonce"),gasPrice:In(t[1],"gasPrice"),gasLimit:In(t[2],"gasLimit"),to:mp(t[3]),value:In(t[4],"value"),data:Tt(t[5]),chainId:Fn};if(t.length===6)return e;const r=In(t[6],"v"),i=In(t[7],"r"),s=In(t[8],"s");if(i===Fn&&s===Fn)e.chainId=r;else{let o=(r-Gz)/$z;o<Fn&&(o=Fn),e.chainId=o,K(o!==Fn||r===Hz||r===zz,"non-canonical legacy v","v",t[6]),e.signature=Ri.from({r:Va(t[7],32),s:Va(t[8],32),v:r})}return e}function Wz(n,t){const e=[Ze(n.nonce,"nonce"),Ze(n.gasPrice||0,"gasPrice"),Ze(n.gasLimit,"gasLimit"),n.to||"0x",Ze(n.value,"value"),n.data];let r=Fn;if(n.chainId!=Fn)r=Ct(n.chainId,"tx.chainId"),K(!t||t.networkV==null||t.legacyChainId===r,"tx.chainId/sig.v mismatch","sig",t);else if(n.signature){const s=n.signature.legacyChainId;s!=null&&(r=s)}if(!t)return r!==Fn&&(e.push(mr(r)),e.push("0x"),e.push("0x")),Ka(e);let i=BigInt(27+t.yParity);return r!==Fn?i=Ri.getChainIdV(r,t.v):BigInt(t.v)!==i&&K(!1,"tx.chainId/sig.v mismatch","sig",t),e.push(mr(i)),e.push(mr(t.r)),e.push(mr(t.s)),Ka(e)}function Bw(n,t){let e;try{if(e=_h(t[0],"yParity"),e!==0&&e!==1)throw new Error("bad yParity")}catch{K(!1,"invalid yParity","yParity",t[0])}const r=Va(t[1],32),i=Va(t[2],32),s=Ri.from({r,s:i,yParity:e});n.signature=s}function Zz(n){const t=ep(we(n).slice(1));K(Array.isArray(t)&&(t.length===9||t.length===12),"invalid field count for transaction type: 2","data",Tt(n));const e={type:2,chainId:In(t[0],"chainId"),nonce:_h(t[1],"nonce"),maxPriorityFeePerGas:In(t[2],"maxPriorityFeePerGas"),maxFeePerGas:In(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:In(t[4],"gasLimit"),to:mp(t[5]),value:In(t[6],"value"),data:Tt(t[7]),accessList:Nw(t[8],"accessList")};return t.length===9||Bw(e,t.slice(9)),e}function qz(n,t){const e=[Ze(n.chainId,"chainId"),Ze(n.nonce,"nonce"),Ze(n.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Ze(n.maxFeePerGas||0,"maxFeePerGas"),Ze(n.gasLimit,"gasLimit"),n.to||"0x",Ze(n.value,"value"),n.data,Cw(n.accessList||[])];return t&&(e.push(Ze(t.yParity,"yParity")),e.push(mr(t.r)),e.push(mr(t.s))),xn(["0x02",Ka(e)])}function Qz(n){const t=ep(we(n).slice(1));K(Array.isArray(t)&&(t.length===8||t.length===11),"invalid field count for transaction type: 1","data",Tt(n));const e={type:1,chainId:In(t[0],"chainId"),nonce:_h(t[1],"nonce"),gasPrice:In(t[2],"gasPrice"),gasLimit:In(t[3],"gasLimit"),to:mp(t[4]),value:In(t[5],"value"),data:Tt(t[6]),accessList:Nw(t[7],"accessList")};return t.length===8||Bw(e,t.slice(8)),e}function Yz(n,t){const e=[Ze(n.chainId,"chainId"),Ze(n.nonce,"nonce"),Ze(n.gasPrice||0,"gasPrice"),Ze(n.gasLimit,"gasLimit"),n.to||"0x",Ze(n.value,"value"),n.data,Cw(n.accessList||[])];return t&&(e.push(Ze(t.yParity,"recoveryParam")),e.push(mr(t.r)),e.push(mr(t.s))),xn(["0x01",Ka(e)])}function Jz(n){let t=ep(we(n).slice(1)),e="3",r=null;if(t.length===4&&Array.isArray(t[0])){e="3 (network format)";const s=t[1],o=t[2],a=t[3];K(Array.isArray(s),"invalid network format: blobs not an array","fields[1]",s),K(Array.isArray(o),"invalid network format: commitments not an array","fields[2]",o),K(Array.isArray(a),"invalid network format: proofs not an array","fields[3]",a),K(s.length===o.length,"invalid network format: blobs/commitments length mismatch","fields",t),K(s.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",t),r=[];for(let u=0;u<t[1].length;u++)r.push({data:s[u],commitment:o[u],proof:a[u]});t=t[0]}K(Array.isArray(t)&&(t.length===11||t.length===14),`invalid field count for transaction type: ${e}`,"data",Tt(n));const i={type:3,chainId:In(t[0],"chainId"),nonce:_h(t[1],"nonce"),maxPriorityFeePerGas:In(t[2],"maxPriorityFeePerGas"),maxFeePerGas:In(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:In(t[4],"gasLimit"),to:mp(t[5]),value:In(t[6],"value"),data:Tt(t[7]),accessList:Nw(t[8],"accessList"),maxFeePerBlobGas:In(t[9],"maxFeePerBlobGas"),blobVersionedHashes:t[10]};r&&(i.blobs=r),K(i.to!=null,`invalid address for transaction type: ${e}`,"data",n),K(Array.isArray(i.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",n);for(let s=0;s<i.blobVersionedHashes.length;s++)K(Ge(i.blobVersionedHashes[s],32),`invalid blobVersionedHash at index ${s}: must be length 32`,"data",n);return t.length===11||Bw(i,t.slice(11)),i}function Xz(n,t,e){const r=[Ze(n.chainId,"chainId"),Ze(n.nonce,"nonce"),Ze(n.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Ze(n.maxFeePerGas||0,"maxFeePerGas"),Ze(n.gasLimit,"gasLimit"),n.to||hh,Ze(n.value,"value"),n.data,Cw(n.accessList||[]),Ze(n.maxFeePerBlobGas||0,"maxFeePerBlobGas"),Kz(n.blobVersionedHashes||[],"blobVersionedHashes")];return t&&(r.push(Ze(t.yParity,"yParity")),r.push(mr(t.r)),r.push(mr(t.s)),e)?xn(["0x03",Ka([r,e.map(i=>i.data),e.map(i=>i.commitment),e.map(i=>i.proof)])]):xn(["0x03",Ka(r)])}const Ys=class Ys{constructor(){Y(this,xl);Y(this,os);Y(this,dl);Y(this,pl);Y(this,gl);Y(this,yl);Y(this,ml);Y(this,wl);Y(this,bl);Y(this,_l);Y(this,Al);Y(this,El);Y(this,vl);Y(this,wc);Y(this,Ko);Y(this,Qs);Y(this,jo);F(this,os,null),F(this,dl,null),F(this,gl,0),F(this,yl,Fn),F(this,ml,null),F(this,wl,null),F(this,bl,null),F(this,pl,"0x"),F(this,_l,Fn),F(this,Al,Fn),F(this,El,null),F(this,vl,null),F(this,wc,null),F(this,Ko,null),F(this,jo,null),F(this,Qs,null)}get type(){return S(this,os)}set type(t){switch(t){case null:F(this,os,null);break;case 0:case"legacy":F(this,os,0);break;case 1:case"berlin":case"eip-2930":F(this,os,1);break;case 2:case"london":case"eip-1559":F(this,os,2);break;case 3:case"cancun":case"eip-4844":F(this,os,3);break;default:K(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){const t=S(this,dl);return t==null&&this.type===3?hh:t}set to(t){F(this,dl,t==null?null:Le(t))}get nonce(){return S(this,gl)}set nonce(t){F(this,gl,ie(t,"value"))}get gasLimit(){return S(this,yl)}set gasLimit(t){F(this,yl,Ct(t))}get gasPrice(){const t=S(this,ml);return t==null&&(this.type===0||this.type===1)?Fn:t}set gasPrice(t){F(this,ml,t==null?null:Ct(t,"gasPrice"))}get maxPriorityFeePerGas(){const t=S(this,wl);return t??(this.type===2||this.type===3?Fn:null)}set maxPriorityFeePerGas(t){F(this,wl,t==null?null:Ct(t,"maxPriorityFeePerGas"))}get maxFeePerGas(){const t=S(this,bl);return t??(this.type===2||this.type===3?Fn:null)}set maxFeePerGas(t){F(this,bl,t==null?null:Ct(t,"maxFeePerGas"))}get data(){return S(this,pl)}set data(t){F(this,pl,Tt(t))}get value(){return S(this,_l)}set value(t){F(this,_l,Ct(t,"value"))}get chainId(){return S(this,Al)}set chainId(t){F(this,Al,Ct(t))}get signature(){return S(this,El)||null}set signature(t){F(this,El,t==null?null:Ri.from(t))}get accessList(){const t=S(this,vl)||null;return t??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(t){F(this,vl,t==null?null:Xa(t))}get maxFeePerBlobGas(){const t=S(this,wc);return t==null&&this.type===3?Fn:t}set maxFeePerBlobGas(t){F(this,wc,t==null?null:Ct(t,"maxFeePerBlobGas"))}get blobVersionedHashes(){let t=S(this,Ko);return t==null&&this.type===3?[]:t}set blobVersionedHashes(t){if(t!=null){K(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let e=0;e<t.length;e++)K(Ge(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}F(this,Ko,t)}get blobs(){return S(this,jo)==null?null:S(this,jo).map(t=>Object.assign({},t))}set blobs(t){if(t==null){F(this,jo,null);return}const e=[],r=[];for(let i=0;i<t.length;i++){const s=t[i];if(Wm(s)){ht(S(this,Qs),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=we(s);if(K(o.length<=Ow,"blob is too large",`blobs[${i}]`,s),o.length!==Ow){const f=new Uint8Array(Ow);f.set(o),o=f}const a=S(this,Qs).blobToKzgCommitment(o),u=Tt(S(this,Qs).computeBlobKzgProof(o,a));e.push({data:Tt(o),commitment:Tt(a),proof:u}),r.push(US(1,a))}else{const o=Tt(s.commitment);e.push({data:Tt(s.data),commitment:o,proof:Tt(s.proof)}),r.push(US(1,o))}}F(this,jo,e),F(this,Ko,r)}get kzg(){return S(this,Qs)}set kzg(t){F(this,Qs,t)}get hash(){return this.signature==null?null:Nn(yt(this,xl,cg).call(this,!0,!1))}get unsignedHash(){return Nn(this.unsignedSerialized)}get from(){return this.signature==null?null:Fz(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:dh.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return yt(this,xl,cg).call(this,!0,!0)}get unsignedSerialized(){return yt(this,xl,cg).call(this,!1,!1)}inferType(){const t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){const t=this.gasPrice!=null,e=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,r=this.accessList!=null,i=S(this,wc)!=null||S(this,Ko);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&ht(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),ht(!e||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),ht(this.type!==0||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const s=[];return this.type!=null?s.push(this.type):e?s.push(2):t?(s.push(1),r||s.push(0)):r?(s.push(1),s.push(2)):(i&&this.to||(s.push(0),s.push(1),s.push(2)),s.push(3)),s.sort(),s}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return Ys.from(this)}toJSON(){const t=e=>e==null?null:e.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(t){if(t==null)return new Ys;if(typeof t=="string"){const r=we(t);if(r[0]>=127)return Ys.from(jz(r));switch(r[0]){case 1:return Ys.from(Qz(r));case 2:return Ys.from(Zz(r));case 3:return Ys.from(Jz(r))}ht(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const e=new Ys;return t.type!=null&&(e.type=t.type),t.to!=null&&(e.to=t.to),t.nonce!=null&&(e.nonce=t.nonce),t.gasLimit!=null&&(e.gasLimit=t.gasLimit),t.gasPrice!=null&&(e.gasPrice=t.gasPrice),t.maxPriorityFeePerGas!=null&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas),t.maxFeePerGas!=null&&(e.maxFeePerGas=t.maxFeePerGas),t.maxFeePerBlobGas!=null&&(e.maxFeePerBlobGas=t.maxFeePerBlobGas),t.data!=null&&(e.data=t.data),t.value!=null&&(e.value=t.value),t.chainId!=null&&(e.chainId=t.chainId),t.signature!=null&&(e.signature=Ri.from(t.signature)),t.accessList!=null&&(e.accessList=t.accessList),t.blobVersionedHashes!=null&&(e.blobVersionedHashes=t.blobVersionedHashes),t.kzg!=null&&(e.kzg=t.kzg),t.blobs!=null&&(e.blobs=t.blobs),t.hash!=null&&(K(e.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),K(e.hash===t.hash,"hash mismatch","tx",t)),t.from!=null&&(K(e.isSigned(),"unsigned transaction cannot define '.from'","tx",t),K(e.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),e}};os=new WeakMap,dl=new WeakMap,pl=new WeakMap,gl=new WeakMap,yl=new WeakMap,ml=new WeakMap,wl=new WeakMap,bl=new WeakMap,_l=new WeakMap,Al=new WeakMap,El=new WeakMap,vl=new WeakMap,wc=new WeakMap,Ko=new WeakMap,Qs=new WeakMap,jo=new WeakMap,xl=new WeakSet,cg=function(t,e){ht(!t||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});const r=t?this.signature:null;switch(this.inferType()){case 0:return Wz(this,r);case 1:return Yz(this,r);case 2:return qz(this,r);case 3:return Xz(this,r,e?this.blobs:null)}ht(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};let wp=Ys;const DS=new Uint8Array(32);DS.fill(0);const tG=BigInt(-1),FS=BigInt(0),$S=BigInt(1),eG=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function nG(n){const t=we(n),e=t.length%32;return e?xn([t,DS.slice(e)]):Tt(t)}const rG=Bo($S,32),iG=Bo(FS,32),HS={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Pw=["name","version","chainId","verifyingContract","salt"];function zS(n){return function(t){return K(typeof t=="string",`invalid domain value for ${JSON.stringify(n)}`,`domain.${n}`,t),t}}const sG={name:zS("name"),version:zS("version"),chainId:function(n){const t=Ct(n,"domain.chainId");return K(t>=0,"invalid chain ID","domain.chainId",n),Number.isSafeInteger(t)?Number(t):Bu(t)},verifyingContract:function(n){try{return Le(n).toLowerCase()}catch{}K(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",n)},salt:function(n){const t=we(n,"domain.salt");return K(t.length===32,'invalid domain value "salt"',"domain.salt",n),Tt(t)}};function Mw(n){{const t=n.match(/^(u?)int(\d+)$/);if(t){const e=t[1]==="",r=parseInt(t[2]);K(r%8===0&&r!==0&&r<=256&&t[2]===String(r),"invalid numeric width","type",n);const i=ah(eG,e?r-1:r),s=e?(i+$S)*tG:FS;return function(o){const a=Ct(o,"value");return K(a>=s&&a<=i,`value out-of-bounds for ${n}`,"value",a),Bo(e?KR(a,256):a,32)}}}{const t=n.match(/^bytes(\d+)$/);if(t){const e=parseInt(t[1]);return K(e!==0&&e<=32&&t[1]===String(e),"invalid bytes width","type",n),function(r){const i=we(r);return K(i.length===e,`invalid length for ${n}`,"value",r),nG(r)}}}switch(n){case"address":return function(t){return Va(Le(t),32)};case"bool":return function(t){return t?rG:iG};case"bytes":return function(t){return Nn(t)};case"string":return function(t){return Qa(t)}}return null}function GS(n,t){return`${n}(${t.map(({name:e,type:r})=>r+" "+e).join(",")})`}function bp(n){const t=n.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return t?{base:t[1],index:t[2]+t[4],array:{base:t[1],prefix:t[1]+t[2],count:t[5]?parseInt(t[5]):-1}}:{base:n}}const ui=class ui{constructor(t){Y(this,Up);Z(this,"primaryType");Y(this,Mh);Y(this,Js);Y(this,Rl);F(this,Js,new Map),F(this,Rl,new Map);const e=new Map,r=new Map,i=new Map,s={};Object.keys(t).forEach(u=>{s[u]=t[u].map(({name:f,type:h})=>{let{base:y,index:_}=bp(h);return y==="int"&&!t.int&&(y="int256"),y==="uint"&&!t.uint&&(y="uint256"),{name:f,type:y+(_||"")}}),e.set(u,new Set),r.set(u,[]),i.set(u,new Set)}),F(this,Mh,JSON.stringify(s));for(const u in s){const f=new Set;for(const h of s[u]){K(!f.has(h.name),`duplicate variable name ${JSON.stringify(h.name)} in ${JSON.stringify(u)}`,"types",t),f.add(h.name);const y=bp(h.type).base;K(y!==u,`circular type reference to ${JSON.stringify(y)}`,"types",t),!Mw(y)&&(K(r.has(y),`unknown type ${JSON.stringify(y)}`,"types",t),r.get(y).push(u),e.get(u).add(y))}}const o=Array.from(r.keys()).filter(u=>r.get(u).length===0);K(o.length!==0,"missing primary type","types",t),K(o.length===1,`ambiguous primary types or unused types: ${o.map(u=>JSON.stringify(u)).join(", ")}`,"types",t),$t(this,{primaryType:o[0]});function a(u,f){K(!f.has(u),`circular type reference to ${JSON.stringify(u)}`,"types",t),f.add(u);for(const h of e.get(u))if(r.has(h)){a(h,f);for(const y of f)i.get(y).add(h)}f.delete(u)}a(this.primaryType,new Set);for(const[u,f]of i){const h=Array.from(f);h.sort(),S(this,Js).set(u,GS(u,s[u])+h.map(y=>GS(y,s[y])).join(""))}}get types(){return JSON.parse(S(this,Mh))}getEncoder(t){let e=S(this,Rl).get(t);return e||(e=yt(this,Up,cO).call(this,t),S(this,Rl).set(t,e)),e}encodeType(t){const e=S(this,Js).get(t);return K(e,`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return Nn(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(Mw(t))return r(t,e);const i=bp(t).array;if(i)return K(i.count===-1||i.count===e.length,`array length mismatch; expected length ${i.count}`,"value",e),e.map(o=>this._visit(i.prefix,o,r));const s=this.types[t];if(s)return s.reduce((o,{name:a,type:u})=>(o[a]=this._visit(u,e[a],r),o),{});K(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new ui(t)}static getPrimaryType(t){return ui.from(t).primaryType}static hashStruct(t,e,r){return ui.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){if(t[r]==null)continue;const i=HS[r];K(i,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort((r,i)=>Pw.indexOf(r.name)-Pw.indexOf(i.name)),ui.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return xn(["0x1901",ui.hashDomain(t),ui.from(e).hash(r)])}static hash(t,e,r){return Nn(ui.encode(t,e,r))}static async resolveNames(t,e,r,i){t=Object.assign({},t);for(const a in t)t[a]==null&&delete t[a];const s={};t.verifyingContract&&!Ge(t.verifyingContract,20)&&(s[t.verifyingContract]="0x");const o=ui.from(e);o.visit(r,(a,u)=>(a==="address"&&!Ge(u,20)&&(s[u]="0x"),u));for(const a in s)s[a]=await i(a);return t.verifyingContract&&s[t.verifyingContract]&&(t.verifyingContract=s[t.verifyingContract]),r=o.visit(r,(a,u)=>a==="address"&&s[u]?s[u]:u),{domain:t,value:r}}static getPayload(t,e,r){ui.hashDomain(t);const i={},s=[];Pw.forEach(u=>{const f=t[u];f!=null&&(i[u]=sG[u](f),s.push({name:u,type:HS[u]}))});const o=ui.from(e);e=o.types;const a=Object.assign({},e);return K(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",e),a.EIP712Domain=s,o.encode(r),{types:a,domain:i,primaryType:o.primaryType,message:o.visit(r,(u,f)=>{if(u.match(/^bytes(\d*)/))return Tt(we(f));if(u.match(/^u?int/))return Ct(f).toString();switch(u){case"address":return f.toLowerCase();case"bool":return!!f;case"string":return K(typeof f=="string","invalid string","value",f),f}K(!1,"unsupported type","type",u)})}}};Mh=new WeakMap,Js=new WeakMap,Rl=new WeakMap,Up=new WeakSet,cO=function(t){{const i=Mw(t);if(i)return i}const e=bp(t).array;if(e){const i=e.prefix,s=this.getEncoder(i);return o=>{K(e.count===-1||e.count===o.length,`array length mismatch; expected length ${e.count}`,"value",o);let a=o.map(s);return S(this,Js).has(i)&&(a=a.map(Nn)),Nn(xn(a))}}const r=this.types[t];if(r){const i=Qa(S(this,Js).get(t));return s=>{const o=r.map(({name:a,type:u})=>{const f=this.getEncoder(u)(s[a]);return S(this,Js).has(u)?Nn(f):f});return o.unshift(i),xn(o)}}K(!1,`unknown type: ${t}`,"type",t)};let _p=ui;function _r(n){const t=new Set;return n.forEach(e=>t.add(e)),Object.freeze(t)}const oG=_r("external public payable override".split(" ")),VS="constant external internal payable private public pure view override",aG=_r(VS.split(" ")),KS="constructor error event fallback function receive struct",jS=_r(KS.split(" ")),WS="calldata memory storage payable indexed",cG=_r(WS.split(" ")),uG=[KS,WS,"tuple returns",VS].join(" "),lG=_r(uG.split(" ")),fG={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},hG=new RegExp("^(\\s*)"),dG=new RegExp("^([0-9]+)"),pG=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),ZS=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),qS=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),Dp=class Dp{constructor(t){Y(this,Lh);Y(this,Jn);Y(this,Ni);F(this,Jn,0),F(this,Ni,t.slice())}get offset(){return S(this,Jn)}get length(){return S(this,Ni).length-S(this,Jn)}clone(){return new Dp(S(this,Ni))}reset(){F(this,Jn,0)}popKeyword(t){const e=this.peek();if(e.type!=="KEYWORD"||!t.has(e.text))throw new Error(`expected keyword ${e.text}`);return this.pop().text}popType(t){if(this.peek().type!==t){const e=this.peek();throw new Error(`expected ${t}; got ${e.type} ${JSON.stringify(e.text)}`)}return this.pop().text}popParen(){const t=this.peek();if(t.type!=="OPEN_PAREN")throw new Error("bad start");const e=yt(this,Lh,Tb).call(this,S(this,Jn)+1,t.match+1);return F(this,Jn,t.match+1),e}popParams(){const t=this.peek();if(t.type!=="OPEN_PAREN")throw new Error("bad start");const e=[];for(;S(this,Jn)<t.match-1;){const r=this.peek().linkNext;e.push(yt(this,Lh,Tb).call(this,S(this,Jn)+1,r)),F(this,Jn,r)}return F(this,Jn,t.match+1),e}peek(){if(S(this,Jn)>=S(this,Ni).length)throw new Error("out-of-bounds");return S(this,Ni)[S(this,Jn)]}peekKeyword(t){const e=this.peekType("KEYWORD");return e!=null&&t.has(e)?e:null}peekType(t){if(this.length===0)return null;const e=this.peek();return e.type===t?e.text:null}pop(){const t=this.peek();return ao(this,Jn)._++,t}toString(){const t=[];for(let e=S(this,Jn);e<S(this,Ni).length;e++){const r=S(this,Ni)[e];t.push(`${r.type}:${r.text}`)}return`<TokenString ${t.join(" ")}>`}};Jn=new WeakMap,Ni=new WeakMap,Lh=new WeakSet,Tb=function(t=0,e=0){return new Dp(S(this,Ni).slice(t,e).map(r=>Object.freeze(Object.assign({},r,{match:r.match-t,linkBack:r.linkBack-t,linkNext:r.linkNext-t}))))};let Ii=Dp;function $o(n){const t=[],e=o=>{const a=s<n.length?JSON.stringify(n[s]):"$EOI";throw new Error(`invalid token ${a} at ${s}: ${o}`)};let r=[],i=[],s=0;for(;s<n.length;){let o=n.substring(s),a=o.match(hG);a&&(s+=a[1].length,o=n.substring(s));const u={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:s,value:-1};t.push(u);let f=fG[o[0]]||"";if(f){if(u.type=f,u.text=o[0],s++,f==="OPEN_PAREN")r.push(t.length-1),i.push(t.length-1);else if(f=="CLOSE_PAREN")r.length===0&&e("no matching open bracket"),u.match=r.pop(),t[u.match].match=t.length-1,u.depth--,u.linkBack=i.pop(),t[u.linkBack].linkNext=t.length-1;else if(f==="COMMA")u.linkBack=i.pop(),t[u.linkBack].linkNext=t.length-1,i.push(t.length-1);else if(f==="OPEN_BRACKET")u.type="BRACKET";else if(f==="CLOSE_BRACKET"){let h=t.pop().text;if(t.length>0&&t[t.length-1].type==="NUMBER"){const y=t.pop().text;h=y+h,t[t.length-1].value=ie(y)}if(t.length===0||t[t.length-1].type!=="BRACKET")throw new Error("missing opening bracket");t[t.length-1].text+=h}continue}if(a=o.match(pG),a){if(u.text=a[1],s+=u.text.length,lG.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(qS)){u.type="TYPE";continue}u.type="ID";continue}if(a=o.match(dG),a){u.text=a[1],u.type="NUMBER",s+=u.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${s}`)}return new Ii(t.map(o=>Object.freeze(o)))}function QS(n,t){let e=[];for(const r in t.keys())n.has(r)&&e.push(r);if(e.length>1)throw new Error(`conflicting types: ${e.join(", ")}`)}function Ap(n,t){if(t.peekKeyword(jS)){const e=t.pop().text;if(e!==n)throw new Error(`expected ${n}, got ${e}`)}return t.popType("ID")}function $s(n,t){const e=new Set;for(;;){const r=n.peekType("KEYWORD");if(r==null||t&&!t.has(r))break;if(n.pop(),e.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);e.add(r)}return Object.freeze(e)}function YS(n){let t=$s(n,aG);return QS(t,_r("constant payable nonpayable".split(" "))),QS(t,_r("pure view payable nonpayable".split(" "))),t.has("view")?"view":t.has("pure")?"pure":t.has("payable")?"payable":t.has("nonpayable")?"nonpayable":t.has("constant")?"view":"nonpayable"}function Hs(n,t){return n.popParams().map(e=>Qn.from(e,t))}function JS(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return Ct(n.pop().text);throw new Error("invalid gas")}return null}function tc(n){if(n.length)throw new Error(`unexpected tokens at offset ${n.offset}: ${n.toString()}`)}const gG=new RegExp(/^(.*)\[([0-9]*)\]$/);function XS(n){const t=n.match(qS);if(K(t,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(t[2]){const e=parseInt(t[2]);K(e!==0&&e<=32,"invalid bytes length","type",n)}else if(t[3]){const e=parseInt(t[3]);K(e!==0&&e<=256&&e%8===0,"invalid numeric width","type",n)}return n}const rn={},Nr=Symbol.for("_ethers_internal"),tk="_ParamTypeInternal",ek="_ErrorInternal",nk="_EventInternal",rk="_ConstructorInternal",ik="_FallbackInternal",sk="_FunctionInternal",ok="_StructInternal",li=class li{constructor(t,e,r,i,s,o,a,u){Y(this,Il);Z(this,"name");Z(this,"type");Z(this,"baseType");Z(this,"indexed");Z(this,"components");Z(this,"arrayLength");Z(this,"arrayChildren");if(q0(t,rn,"ParamType"),Object.defineProperty(this,Nr,{value:tk}),o&&(o=Object.freeze(o.slice())),i==="array"){if(a==null||u==null)throw new Error("")}else if(a!=null||u!=null)throw new Error("");if(i==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");$t(this,{name:e,type:r,baseType:i,indexed:s,components:o,arrayLength:a,arrayChildren:u})}format(t){if(t==null&&(t="sighash"),t==="json"){const r=this.name||"";if(this.isArray()){const s=JSON.parse(this.arrayChildren.format("json"));return s.name=r,s.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(s)}const i={type:this.baseType==="tuple"?"tuple":this.type,name:r};return typeof this.indexed=="boolean"&&(i.indexed=this.indexed),this.isTuple()&&(i.components=this.components.map(s=>JSON.parse(s.format(t)))),JSON.stringify(i)}let e="";return this.isArray()?(e+=this.arrayChildren.format(t),e+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?e+="("+this.components.map(r=>r.format(t)).join(t==="full"?", ":",")+")":e+=this.type,t!=="sighash"&&(this.indexed===!0&&(e+=" indexed"),t==="full"&&this.name&&(e+=" "+this.name)),e}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(t,e){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const r=this;return t.map(i=>r.arrayChildren.walk(i,e))}if(this.isTuple()){if(!Array.isArray(t))throw new Error("invalid tuple value");if(t.length!==this.components.length)throw new Error("array is wrong length");const r=this;return t.map((i,s)=>r.components[s].walk(i,e))}return e(this.type,t)}async walkAsync(t,e){const r=[],i=[t];return yt(this,Il,ug).call(this,r,t,e,s=>{i[0]=s}),r.length&&await Promise.all(r),i[0]}static from(t,e){if(li.isParamType(t))return t;if(typeof t=="string")try{return li.from($o(t),e)}catch{K(!1,"invalid param type","obj",t)}else if(t instanceof Ii){let a="",u="",f=null;$s(t,_r(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(u="tuple",f=t.popParams().map(T=>li.from(T)),a=`tuple(${f.map(T=>T.format()).join(",")})`):(a=XS(t.popType("TYPE")),u=a);let h=null,y=null;for(;t.length&&t.peekType("BRACKET");){const T=t.pop();h=new li(rn,"",a,u,null,f,y,h),y=T.value,a+=T.text,u="array",f=null}let _=null;if($s(t,cG).has("indexed")){if(!e)throw new Error("");_=!0}const R=t.peekType("ID")?t.pop().text:"";if(t.length)throw new Error("leftover tokens");return new li(rn,R,a,u,_,f,y,h)}const r=t.name;K(!r||typeof r=="string"&&r.match(ZS),"invalid name","obj.name",r);let i=t.indexed;i!=null&&(K(e,"parameter cannot be indexed","obj.indexed",t.indexed),i=!!i);let s=t.type,o=s.match(gG);if(o){const a=parseInt(o[2]||"-1"),u=li.from({type:o[1],components:t.components});return new li(rn,r||"",s,"array",i,null,a,u)}if(s==="tuple"||s.startsWith("tuple(")||s.startsWith("(")){const a=t.components!=null?t.components.map(f=>li.from(f)):null;return new li(rn,r||"",s,"tuple",i,a,null,null)}return s=XS(t.type),new li(rn,r||"",s,s,i,null,null,null)}static isParamType(t){return t&&t[Nr]===tk}};Il=new WeakSet,ug=function(t,e,r,i){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const o=this.arrayChildren,a=e.slice();a.forEach((u,f)=>{var h;yt(h=o,Il,ug).call(h,t,u,r,y=>{a[f]=y})}),i(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(e))a=e.slice();else{if(e==null||typeof e!="object")throw new Error("invalid tuple value");a=o.map(u=>{if(!u.name)throw new Error("cannot use object value with unnamed components");if(!(u.name in e))throw new Error(`missing value for component ${u.name}`);return e[u.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((u,f)=>{var h;yt(h=o[f],Il,ug).call(h,t,u,r,y=>{a[f]=y})}),i(a);return}const s=r(this.type,e);s.then?t.push(async function(){i(await s)}()):i(s)};let Qn=li;class ec{constructor(t,e,r){Z(this,"type");Z(this,"inputs");q0(t,rn,"Fragment"),r=Object.freeze(r.slice()),$t(this,{type:e,inputs:r})}static from(t){if(typeof t=="string"){try{ec.from(JSON.parse(t))}catch{}return ec.from($o(t))}if(t instanceof Ii)switch(t.peekKeyword(jS)){case"constructor":return zs.from(t);case"error":return Cr.from(t);case"event":return ns.from(t);case"fallback":case"receive":return Gs.from(t);case"function":return rs.from(t);case"struct":return nc.from(t)}else if(typeof t=="object"){switch(t.type){case"constructor":return zs.from(t);case"error":return Cr.from(t);case"event":return ns.from(t);case"fallback":case"receive":return Gs.from(t);case"function":return rs.from(t);case"struct":return nc.from(t)}ht(!1,`unsupported type: ${t.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}K(!1,"unsupported frgament object","obj",t)}static isConstructor(t){return zs.isFragment(t)}static isError(t){return Cr.isFragment(t)}static isEvent(t){return ns.isFragment(t)}static isFunction(t){return rs.isFragment(t)}static isStruct(t){return nc.isFragment(t)}}class Ep extends ec{constructor(e,r,i,s){super(e,r,s);Z(this,"name");K(typeof i=="string"&&i.match(ZS),"invalid identifier","name",i),s=Object.freeze(s.slice()),$t(this,{name:i})}}function Ah(n,t){return"("+t.map(e=>e.format(n)).join(n==="full"?", ":",")+")"}class Cr extends Ep{constructor(t,e,r){super(t,"error",e,r),Object.defineProperty(this,Nr,{value:ek})}get selector(){return Qa(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(t)))});const e=[];return t!=="sighash"&&e.push("error"),e.push(this.name+Ah(t,this.inputs)),e.join(" ")}static from(t){if(Cr.isFragment(t))return t;if(typeof t=="string")return Cr.from($o(t));if(t instanceof Ii){const e=Ap("error",t),r=Hs(t);return tc(t),new Cr(rn,e,r)}return new Cr(rn,t.name,t.inputs?t.inputs.map(Qn.from):[])}static isFragment(t){return t&&t[Nr]===ek}}class ns extends Ep{constructor(e,r,i,s){super(e,"event",r,i);Z(this,"anonymous");Object.defineProperty(this,Nr,{value:nk}),$t(this,{anonymous:s})}get topicHash(){return Qa(this.format("sighash"))}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(i=>JSON.parse(i.format(e)))});const r=[];return e!=="sighash"&&r.push("event"),r.push(this.name+Ah(e,this.inputs)),e!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(e,r){return r=(r||[]).map(s=>Qn.from(s)),new ns(rn,e,r,!1).topicHash}static from(e){if(ns.isFragment(e))return e;if(typeof e=="string")try{return ns.from($o(e))}catch{K(!1,"invalid event fragment","obj",e)}else if(e instanceof Ii){const r=Ap("event",e),i=Hs(e,!0),s=!!$s(e,_r(["anonymous"])).has("anonymous");return tc(e),new ns(rn,r,i,s)}return new ns(rn,e.name,e.inputs?e.inputs.map(r=>Qn.from(r,!0)):[],!!e.anonymous)}static isFragment(e){return e&&e[Nr]===nk}}class zs extends ec{constructor(e,r,i,s,o){super(e,r,i);Z(this,"payable");Z(this,"gas");Object.defineProperty(this,Nr,{value:rk}),$t(this,{payable:s,gas:o})}format(e){if(ht(e!=null&&e!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),e==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(e)))});const r=[`constructor${Ah(e,this.inputs)}`];return this.payable&&r.push("payable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(e){if(zs.isFragment(e))return e;if(typeof e=="string")try{return zs.from($o(e))}catch{K(!1,"invalid constuctor fragment","obj",e)}else if(e instanceof Ii){$s(e,_r(["constructor"]));const r=Hs(e),i=!!$s(e,oG).has("payable"),s=JS(e);return tc(e),new zs(rn,"constructor",r,i,s)}return new zs(rn,"constructor",e.inputs?e.inputs.map(Qn.from):[],!!e.payable,e.gas!=null?e.gas:null)}static isFragment(e){return e&&e[Nr]===rk}}class Gs extends ec{constructor(e,r,i){super(e,"fallback",r);Z(this,"payable");Object.defineProperty(this,Nr,{value:ik}),$t(this,{payable:i})}format(e){const r=this.inputs.length===0?"receive":"fallback";if(e==="json"){const i=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:i})}return`${r}()${this.payable?" payable":""}`}static from(e){if(Gs.isFragment(e))return e;if(typeof e=="string")try{return Gs.from($o(e))}catch{K(!1,"invalid fallback fragment","obj",e)}else if(e instanceof Ii){const r=e.toString(),i=e.peekKeyword(_r(["fallback","receive"]));if(K(i,"type must be fallback or receive","obj",r),e.popKeyword(_r(["fallback","receive"]))==="receive"){const u=Hs(e);return K(u.length===0,"receive cannot have arguments","obj.inputs",u),$s(e,_r(["payable"])),tc(e),new Gs(rn,[],!0)}let o=Hs(e);o.length?K(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(u=>u.format("minimal")).join(", ")):o=[Qn.from("bytes")];const a=YS(e);if(K(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),$s(e,_r(["returns"])).has("returns")){const u=Hs(e);K(u.length===1&&u[0].type==="bytes","invalid fallback outputs","obj.outputs",u.map(f=>f.format("minimal")).join(", "))}return tc(e),new Gs(rn,o,a==="payable")}if(e.type==="receive")return new Gs(rn,[],!0);if(e.type==="fallback"){const r=[Qn.from("bytes")],i=e.stateMutability==="payable";return new Gs(rn,r,i)}K(!1,"invalid fallback description","obj",e)}static isFragment(e){return e&&e[Nr]===ik}}class rs extends Ep{constructor(e,r,i,s,o,a){super(e,"function",r,s);Z(this,"constant");Z(this,"outputs");Z(this,"stateMutability");Z(this,"payable");Z(this,"gas");Object.defineProperty(this,Nr,{value:sk}),o=Object.freeze(o.slice()),$t(this,{constant:i==="view"||i==="pure",gas:a,outputs:o,payable:i==="payable",stateMutability:i})}get selector(){return Qa(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(e))),outputs:this.outputs.map(i=>JSON.parse(i.format(e)))});const r=[];return e!=="sighash"&&r.push("function"),r.push(this.name+Ah(e,this.inputs)),e!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(Ah(e,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(e,r){return r=(r||[]).map(s=>Qn.from(s)),new rs(rn,e,"view",r,[],null).selector}static from(e){if(rs.isFragment(e))return e;if(typeof e=="string")try{return rs.from($o(e))}catch{K(!1,"invalid function fragment","obj",e)}else if(e instanceof Ii){const i=Ap("function",e),s=Hs(e),o=YS(e);let a=[];$s(e,_r(["returns"])).has("returns")&&(a=Hs(e));const u=JS(e);return tc(e),new rs(rn,i,o,s,a,u)}let r=e.stateMutability;return r==null&&(r="payable",typeof e.constant=="boolean"?(r="view",e.constant||(r="payable",typeof e.payable=="boolean"&&!e.payable&&(r="nonpayable"))):typeof e.payable=="boolean"&&!e.payable&&(r="nonpayable")),new rs(rn,e.name,r,e.inputs?e.inputs.map(Qn.from):[],e.outputs?e.outputs.map(Qn.from):[],e.gas!=null?e.gas:null)}static isFragment(e){return e&&e[Nr]===sk}}class nc extends Ep{constructor(t,e,r){super(t,"struct",e,r),Object.defineProperty(this,Nr,{value:ok})}format(){throw new Error("@TODO")}static from(t){if(typeof t=="string")try{return nc.from($o(t))}catch{K(!1,"invalid struct fragment","obj",t)}else if(t instanceof Ii){const e=Ap("struct",t),r=Hs(t);return tc(t),new nc(rn,e,r)}return new nc(rn,t.name,t.inputs?t.inputs.map(Qn.from):[])}static isFragment(t){return t&&t[Nr]===ok}}const Si=new Map;Si.set(0,"GENERIC_PANIC"),Si.set(1,"ASSERT_FALSE"),Si.set(17,"OVERFLOW"),Si.set(18,"DIVIDE_BY_ZERO"),Si.set(33,"ENUM_RANGE_ERROR"),Si.set(34,"BAD_STORAGE_DATA"),Si.set(49,"STACK_UNDERFLOW"),Si.set(50,"ARRAY_RANGE_ERROR"),Si.set(65,"OUT_OF_MEMORY"),Si.set(81,"UNINITIALIZED_FUNCTION_CALL");const yG=new RegExp(/^bytes([0-9]*)$/),mG=new RegExp(/^(u?int)([0-9]*)$/);let Lw=null,ak=1024;function wG(n,t,e,r){let i="missing revert data",s=null;const o=null;let a=null;if(e){i="execution reverted";const f=we(e);if(e=Tt(e),f.length===0)i+=" (no data present; likely require(false) occurred",s="require(false)";else if(f.length%32!==4)i+=" (could not decode reason; invalid data length)";else if(Tt(f.slice(0,4))==="0x08c379a0")try{s=r.decode(["string"],f.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[s]},i+=`: ${JSON.stringify(s)}`}catch{i+=" (could not decode reason; invalid string data)"}else if(Tt(f.slice(0,4))==="0x4e487b71")try{const h=Number(r.decode(["uint256"],f.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[h]},s=`Panic due to ${Si.get(h)||"UNKNOWN"}(${h})`,i+=`: ${s}`}catch{i+=" (could not decode panic code)"}else i+=" (unknown custom error)"}const u={to:t.to?Le(t.to):null,data:t.data||"0x"};return t.from&&(u.from=Le(t.from)),Ye(i,"CALL_EXCEPTION",{action:n,data:e,reason:s,transaction:u,invocation:o,revert:a})}const Fp=class Fp{constructor(){Y(this,Wo)}getDefaultValue(t){const e=t.map(i=>yt(this,Wo,Jl).call(this,Qn.from(i)));return new up(e,"_").defaultValue()}encode(t,e){HR(e.length,t.length,"types/values length mismatch");const r=t.map(o=>yt(this,Wo,Jl).call(this,Qn.from(o))),i=new up(r,"_"),s=new Jm;return i.encode(s,e),s.data}decode(t,e,r){const i=t.map(o=>yt(this,Wo,Jl).call(this,Qn.from(o)));return new up(i,"_").decode(new Xm(e,r,ak))}static _setDefaultMaxInflation(t){K(typeof t=="number"&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),ak=t}static defaultAbiCoder(){return Lw==null&&(Lw=new Fp),Lw}static getBuiltinCallException(t,e,r){return wG(t,e,r,Fp.defaultAbiCoder())}};Wo=new WeakSet,Jl=function(t){if(t.isArray())return new GH(yt(this,Wo,Jl).call(this,t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new up(t.components.map(r=>yt(this,Wo,Jl).call(this,r)),t.name);switch(t.baseType){case"address":return new HH(t.name);case"bool":return new VH(t.name);case"string":return new XH(t.name);case"bytes":return new KH(t.name);case"":return new ZH(t.name)}let e=t.type.match(mG);if(e){let r=parseInt(e[2]||"256");return K(r!==0&&r<=256&&r%8===0,"invalid "+e[1]+" bit length","param",t),new JH(r/8,e[1]==="int",t.name)}if(e=t.type.match(yG),e){let r=parseInt(e[1]);return K(r!==0&&r<=32,"invalid bytes length","param",t),new jH(r,t.name)}K(!1,"invalid type","type",t.type)};let Eh=Fp;class bG{constructor(t,e,r){Z(this,"fragment");Z(this,"name");Z(this,"signature");Z(this,"topic");Z(this,"args");const i=t.name,s=t.format();$t(this,{fragment:t,name:i,signature:s,topic:e,args:r})}}class _G{constructor(t,e,r,i){Z(this,"fragment");Z(this,"name");Z(this,"args");Z(this,"signature");Z(this,"selector");Z(this,"value");const s=t.name,o=t.format();$t(this,{fragment:t,name:s,args:r,signature:o,selector:e,value:i})}}class AG{constructor(t,e,r){Z(this,"fragment");Z(this,"name");Z(this,"args");Z(this,"signature");Z(this,"selector");const i=t.name,s=t.format();$t(this,{fragment:t,name:i,args:r,signature:s,selector:e})}}class ck{constructor(t){Z(this,"hash");Z(this,"_isIndexed");$t(this,{hash:t,_isIndexed:!0})}static isIndexed(t){return!!(t&&t._isIndexed)}}const uk={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},lk={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:n=>`reverted with reason string ${JSON.stringify(n)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:n=>{let t="unknown panic code";return n>=0&&n<=255&&uk[n.toString()]&&(t=uk[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${t})`}}},bc=class bc{constructor(t){Y(this,ls);Z(this,"fragments");Z(this,"deploy");Z(this,"fallback");Z(this,"receive");Y(this,as);Y(this,cs);Y(this,us);Y(this,or);let e=[];typeof t=="string"?e=JSON.parse(t):e=t,F(this,us,new Map),F(this,as,new Map),F(this,cs,new Map);const r=[];for(const o of e)try{r.push(ec.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}$t(this,{fragments:Object.freeze(r)});let i=null,s=!1;F(this,or,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let u;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}$t(this,{deploy:o});return;case"fallback":o.inputs.length===0?s=!0:(K(!i||o.payable!==i.payable,"conflicting fallback fragments",`fragments[${a}]`,o),i=o,s=i.payable);return;case"function":u=S(this,us);break;case"event":u=S(this,cs);break;case"error":u=S(this,as);break;default:return}const f=o.format();u.has(f)||u.set(f,o)}),this.deploy||$t(this,{deploy:zs.from("constructor()")}),$t(this,{fallback:i,receive:s})}format(t){const e=t?"minimal":"full";return this.fragments.map(i=>i.format(e))}formatJson(){const t=this.fragments.map(e=>e.format("json"));return JSON.stringify(t.map(e=>JSON.parse(e)))}getAbiCoder(){return Eh.defaultAbiCoder()}getFunctionName(t){const e=yt(this,ls,lg).call(this,t,null,!1);return K(e,"no matching function","key",t),e.name}hasFunction(t){return!!yt(this,ls,lg).call(this,t,null,!1)}getFunction(t,e){return yt(this,ls,lg).call(this,t,e||null,!0)}forEachFunction(t){const e=Array.from(S(this,us).keys());e.sort((r,i)=>r.localeCompare(i));for(let r=0;r<e.length;r++){const i=e[r];t(S(this,us).get(i),r)}}getEventName(t){const e=yt(this,ls,fg).call(this,t,null,!1);return K(e,"no matching event","key",t),e.name}hasEvent(t){return!!yt(this,ls,fg).call(this,t,null,!1)}getEvent(t,e){return yt(this,ls,fg).call(this,t,e||null,!0)}forEachEvent(t){const e=Array.from(S(this,cs).keys());e.sort((r,i)=>r.localeCompare(i));for(let r=0;r<e.length;r++){const i=e[r];t(S(this,cs).get(i),r)}}getError(t,e){if(Ge(t)){const i=t.toLowerCase();if(lk[i])return Cr.from(lk[i].signature);for(const s of S(this,as).values())if(i===s.selector)return s;return null}if(t.indexOf("(")===-1){const i=[];for(const[s,o]of S(this,as))s.split("(")[0]===t&&i.push(o);if(i.length===0)return t==="Error"?Cr.from("error Error(string)"):t==="Panic"?Cr.from("error Panic(uint256)"):null;if(i.length>1){const s=i.map(o=>JSON.stringify(o.format())).join(", ");K(!1,`ambiguous error description (i.e. ${s})`,"name",t)}return i[0]}if(t=Cr.from(t).format(),t==="Error(string)")return Cr.from("error Error(string)");if(t==="Panic(uint256)")return Cr.from("error Panic(uint256)");const r=S(this,as).get(t);return r||null}forEachError(t){const e=Array.from(S(this,as).keys());e.sort((r,i)=>r.localeCompare(i));for(let r=0;r<e.length;r++){const i=e[r];t(S(this,as).get(i),r)}}_decodeParams(t,e){return S(this,or).decode(t,e)}_encodeParams(t,e){return S(this,or).encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,e){if(typeof t=="string"){const r=this.getError(t);K(r,"unknown error","fragment",t),t=r}return K(ln(e,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",e),this._decodeParams(t.inputs,ln(e,4))}encodeErrorResult(t,e){if(typeof t=="string"){const r=this.getError(t);K(r,"unknown error","fragment",t),t=r}return xn([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionData(t,e){if(typeof t=="string"){const r=this.getFunction(t);K(r,"unknown function","fragment",t),t=r}return K(ln(e,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",e),this._decodeParams(t.inputs,ln(e,4))}encodeFunctionData(t,e){if(typeof t=="string"){const r=this.getFunction(t);K(r,"unknown function","fragment",t),t=r}return xn([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionResult(t,e){if(typeof t=="string"){const s=this.getFunction(t);K(s,"unknown function","fragment",t),t=s}let r="invalid length for result data";const i=yr(e);if(i.length%32===0)try{return S(this,or).decode(t.outputs,i)}catch{r="could not decode result data"}ht(!1,r,"BAD_DATA",{value:Tt(i),info:{method:t.name,signature:t.format()}})}makeError(t,e){const r=we(t,"data"),i=Eh.getBuiltinCallException("call",e,r);if(i.message.startsWith("execution reverted (unknown custom error)")){const a=Tt(r.slice(0,4)),u=this.getError(a);if(u)try{const f=S(this,or).decode(u.inputs,r.slice(4));i.revert={name:u.name,signature:u.format(),args:f},i.reason=i.revert.signature,i.message=`execution reverted: ${i.reason}`}catch{i.message="execution reverted (coult not decode custom error)"}}const o=this.parseTransaction(e);return o&&(i.invocation={method:o.name,signature:o.signature,args:o.args}),i}encodeFunctionResult(t,e){if(typeof t=="string"){const r=this.getFunction(t);K(r,"unknown function","fragment",t),t=r}return Tt(S(this,or).encode(t.outputs,e||[]))}encodeFilterTopics(t,e){if(typeof t=="string"){const s=this.getEvent(t);K(s,"unknown event","eventFragment",t),t=s}ht(e.length<=t.inputs.length,`too many arguments for ${t.format()}`,"UNEXPECTED_ARGUMENT",{count:e.length,expectedCount:t.inputs.length});const r=[];t.anonymous||r.push(t.topicHash);const i=(s,o)=>s.type==="string"?Qa(o):s.type==="bytes"?Nn(Tt(o)):(s.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":s.type.match(/^u?int/)?o=Bo(o):s.type.match(/^bytes/)?o=n$(o,32):s.type==="address"&&S(this,or).encode(["address"],[o]),Va(Tt(o),32));for(e.forEach((s,o)=>{const a=t.inputs[o];if(!a.indexed){K(s==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,s);return}s==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?K(!1,"filtering with tuples or arrays not supported","contract."+a.name,s):Array.isArray(s)?r.push(s.map(u=>i(a,u))):r.push(i(a,s))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(t,e){if(typeof t=="string"){const o=this.getEvent(t);K(o,"unknown event","eventFragment",t),t=o}const r=[],i=[],s=[];return t.anonymous||r.push(t.topicHash),K(e.length===t.inputs.length,"event arguments/values mismatch","values",e),t.inputs.forEach((o,a)=>{const u=e[a];if(o.indexed)if(o.type==="string")r.push(Qa(u));else if(o.type==="bytes")r.push(Nn(u));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(S(this,or).encode([o.type],[u]))}else i.push(o),s.push(u)}),{data:S(this,or).encode(i,s),topics:r}}decodeEventLog(t,e,r){if(typeof t=="string"){const w=this.getEvent(t);K(w,"unknown event","eventFragment",t),t=w}if(r!=null&&!t.anonymous){const w=t.topicHash;K(Ge(r[0],32)&&r[0].toLowerCase()===w,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const i=[],s=[],o=[];t.inputs.forEach((w,R)=>{w.indexed?w.type==="string"||w.type==="bytes"||w.baseType==="tuple"||w.baseType==="array"?(i.push(Qn.from({type:"bytes32",name:w.name})),o.push(!0)):(i.push(w),o.push(!1)):(s.push(w),o.push(!1))});const a=r!=null?S(this,or).decode(i,xn(r)):null,u=S(this,or).decode(s,e,!0),f=[],h=[];let y=0,_=0;return t.inputs.forEach((w,R)=>{let T=null;if(w.indexed)if(a==null)T=new ck(null);else if(o[R])T=new ck(a[_++]);else try{T=a[_++]}catch(I){T=I}else try{T=u[y++]}catch(I){T=I}f.push(T),h.push(w.name||null)}),Pu.fromItems(f,h)}parseTransaction(t){const e=we(t.data,"tx.data"),r=Ct(t.value!=null?t.value:0,"tx.value"),i=this.getFunction(Tt(e.slice(0,4)));if(!i)return null;const s=S(this,or).decode(i.inputs,e.slice(4));return new _G(i,i.selector,s,r)}parseCallResult(t){throw new Error("@TODO")}parseLog(t){const e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new bG(e,e.topicHash,this.decodeEventLog(e,t.data,t.topics))}parseError(t){const e=Tt(t),r=this.getError(ln(e,0,4));if(!r)return null;const i=S(this,or).decode(r.inputs,ln(e,4));return new AG(r,r.selector,i)}static from(t){return t instanceof bc?t:typeof t=="string"?new bc(JSON.parse(t)):typeof t.formatJson=="function"?new bc(t.formatJson()):typeof t.format=="function"?new bc(t.format("json")):new bc(t)}};as=new WeakMap,cs=new WeakMap,us=new WeakMap,or=new WeakMap,ls=new WeakSet,lg=function(t,e,r){if(Ge(t)){const s=t.toLowerCase();for(const o of S(this,us).values())if(s===o.selector)return o;return null}if(t.indexOf("(")===-1){const s=[];for(const[o,a]of S(this,us))o.split("(")[0]===t&&s.push(a);if(e){const o=e.length>0?e[e.length-1]:null;let a=e.length,u=!0;sr.isTyped(o)&&o.type==="overrides"&&(u=!1,a--);for(let f=s.length-1;f>=0;f--){const h=s[f].inputs.length;h!==a&&(!u||h!==a-1)&&s.splice(f,1)}for(let f=s.length-1;f>=0;f--){const h=s[f].inputs;for(let y=0;y<e.length;y++)if(sr.isTyped(e[y])){if(y>=h.length){if(e[y].type==="overrides")continue;s.splice(f,1);break}if(e[y].type!==h[y].baseType){s.splice(f,1);break}}}}if(s.length===1&&e&&e.length!==s[0].inputs.length){const o=e[e.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&s.splice(0,1)}if(s.length===0)return null;if(s.length>1&&r){const o=s.map(a=>JSON.stringify(a.format())).join(", ");K(!1,`ambiguous function description (i.e. matches ${o})`,"key",t)}return s[0]}const i=S(this,us).get(rs.from(t).format());return i||null},fg=function(t,e,r){if(Ge(t)){const s=t.toLowerCase();for(const o of S(this,cs).values())if(s===o.topicHash)return o;return null}if(t.indexOf("(")===-1){const s=[];for(const[o,a]of S(this,cs))o.split("(")[0]===t&&s.push(a);if(e){for(let o=s.length-1;o>=0;o--)s[o].inputs.length<e.length&&s.splice(o,1);for(let o=s.length-1;o>=0;o--){const a=s[o].inputs;for(let u=0;u<e.length;u++)if(sr.isTyped(e[u])&&e[u].type!==a[u].baseType){s.splice(o,1);break}}}if(s.length===0)return null;if(s.length>1&&r){const o=s.map(a=>JSON.stringify(a.format())).join(", ");K(!1,`ambiguous event description (i.e. matches ${o})`,"key",t)}return s[0]}const i=S(this,cs).get(ns.from(t).format());return i||null};let Uw=bc;const fk=BigInt(0);function Ku(n){return n??null}function Sn(n){return n==null?null:n.toString()}class hk{constructor(t,e,r){Z(this,"gasPrice");Z(this,"maxFeePerGas");Z(this,"maxPriorityFeePerGas");$t(this,{gasPrice:Ku(t),maxFeePerGas:Ku(e),maxPriorityFeePerGas:Ku(r)})}toJSON(){const{gasPrice:t,maxFeePerGas:e,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:Sn(t),maxFeePerGas:Sn(e),maxPriorityFeePerGas:Sn(r)}}}function vp(n){const t={};n.to&&(t.to=n.to),n.from&&(t.from=n.from),n.data&&(t.data=Tt(n.data));const e="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const i of e)!(i in n)||n[i]==null||(t[i]=Ct(n[i],`request.${i}`));const r="type,nonce".split(/,/);for(const i of r)!(i in n)||n[i]==null||(t[i]=ie(n[i],`request.${i}`));return n.accessList&&(t.accessList=Xa(n.accessList)),"blockTag"in n&&(t.blockTag=n.blockTag),"enableCcipRead"in n&&(t.enableCcipRead=!!n.enableCcipRead),"customData"in n&&(t.customData=n.customData),"blobVersionedHashes"in n&&n.blobVersionedHashes&&(t.blobVersionedHashes=n.blobVersionedHashes.slice()),"kzg"in n&&(t.kzg=n.kzg),"blobs"in n&&n.blobs&&(t.blobs=n.blobs.map(i=>Wm(i)?Tt(i):Object.assign({},i))),t}class EG{constructor(t,e){Z(this,"provider");Z(this,"number");Z(this,"hash");Z(this,"timestamp");Z(this,"parentHash");Z(this,"parentBeaconBlockRoot");Z(this,"nonce");Z(this,"difficulty");Z(this,"gasLimit");Z(this,"gasUsed");Z(this,"stateRoot");Z(this,"receiptsRoot");Z(this,"blobGasUsed");Z(this,"excessBlobGas");Z(this,"miner");Z(this,"prevRandao");Z(this,"extraData");Z(this,"baseFeePerGas");Y(this,Xs);F(this,Xs,t.transactions.map(r=>typeof r!="string"?new xh(r,e):r)),$t(this,{provider:e,hash:Ku(t.hash),number:t.number,timestamp:t.timestamp,parentHash:t.parentHash,parentBeaconBlockRoot:t.parentBeaconBlockRoot,nonce:t.nonce,difficulty:t.difficulty,gasLimit:t.gasLimit,gasUsed:t.gasUsed,blobGasUsed:t.blobGasUsed,excessBlobGas:t.excessBlobGas,miner:t.miner,prevRandao:Ku(t.prevRandao),extraData:t.extraData,baseFeePerGas:Ku(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return S(this,Xs).map(t=>typeof t=="string"?t:t.hash)}get prefetchedTransactions(){const t=S(this,Xs).slice();return t.length===0?[]:(ht(typeof t[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),t)}toJSON(){const{baseFeePerGas:t,difficulty:e,extraData:r,gasLimit:i,gasUsed:s,hash:o,miner:a,prevRandao:u,nonce:f,number:h,parentHash:y,parentBeaconBlockRoot:_,stateRoot:w,receiptsRoot:R,timestamp:T,transactions:I}=this;return{_type:"Block",baseFeePerGas:Sn(t),difficulty:Sn(e),extraData:r,gasLimit:Sn(i),gasUsed:Sn(s),blobGasUsed:Sn(this.blobGasUsed),excessBlobGas:Sn(this.excessBlobGas),hash:o,miner:a,prevRandao:u,nonce:f,number:h,parentHash:y,timestamp:T,parentBeaconBlockRoot:_,stateRoot:w,receiptsRoot:R,transactions:I}}[Symbol.iterator](){let t=0;const e=this.transactions;return{next:()=>t<this.length?{value:e[t++],done:!1}:{value:void 0,done:!0}}}get length(){return S(this,Xs).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(t){let e;if(typeof t=="number")e=S(this,Xs)[t];else{const r=t.toLowerCase();for(const i of S(this,Xs))if(typeof i=="string"){if(i!==r)continue;e=i;break}else{if(i.hash!==r)continue;e=i;break}}if(e==null)throw new Error("no such tx");return typeof e=="string"?await this.provider.getTransaction(e):e}getPrefetchedTransaction(t){const e=this.prefetchedTransactions;if(typeof t=="number")return e[t];t=t.toLowerCase();for(const r of e)if(r.hash===t)return r;K(!1,"no matching transaction","indexOrHash",t)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return vG(this)}}Xs=new WeakMap;class vh{constructor(t,e){Z(this,"provider");Z(this,"transactionHash");Z(this,"blockHash");Z(this,"blockNumber");Z(this,"removed");Z(this,"address");Z(this,"data");Z(this,"topics");Z(this,"index");Z(this,"transactionIndex");this.provider=e;const r=Object.freeze(t.topics.slice());$t(this,{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,removed:t.removed,address:t.address,data:t.data,topics:r,index:t.index,transactionIndex:t.transactionIndex})}toJSON(){const{address:t,blockHash:e,blockNumber:r,data:i,index:s,removed:o,topics:a,transactionHash:u,transactionIndex:f}=this;return{_type:"log",address:t,blockHash:e,blockNumber:r,data:i,index:s,removed:o,topics:a,transactionHash:u,transactionIndex:f}}async getBlock(){const t=await this.provider.getBlock(this.blockHash);return ht(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransaction(){const t=await this.provider.getTransaction(this.transactionHash);return ht(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransactionReceipt(){const t=await this.provider.getTransactionReceipt(this.transactionHash);return ht(!!t,"failed to find transaction receipt","UNKNOWN_ERROR",{}),t}removedEvent(){return xG(this)}}class dk{constructor(t,e){Z(this,"provider");Z(this,"to");Z(this,"from");Z(this,"contractAddress");Z(this,"hash");Z(this,"index");Z(this,"blockHash");Z(this,"blockNumber");Z(this,"logsBloom");Z(this,"gasUsed");Z(this,"blobGasUsed");Z(this,"cumulativeGasUsed");Z(this,"gasPrice");Z(this,"blobGasPrice");Z(this,"type");Z(this,"status");Z(this,"root");Y(this,Uh);F(this,Uh,Object.freeze(t.logs.map(i=>new vh(i,e))));let r=fk;t.effectiveGasPrice!=null?r=t.effectiveGasPrice:t.gasPrice!=null&&(r=t.gasPrice),$t(this,{provider:e,to:t.to,from:t.from,contractAddress:t.contractAddress,hash:t.hash,index:t.index,blockHash:t.blockHash,blockNumber:t.blockNumber,logsBloom:t.logsBloom,gasUsed:t.gasUsed,cumulativeGasUsed:t.cumulativeGasUsed,blobGasUsed:t.blobGasUsed,gasPrice:r,blobGasPrice:t.blobGasPrice,type:t.type,status:t.status,root:t.root})}get logs(){return S(this,Uh)}toJSON(){const{to:t,from:e,contractAddress:r,hash:i,index:s,blockHash:o,blockNumber:a,logsBloom:u,logs:f,status:h,root:y}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:r,cumulativeGasUsed:Sn(this.cumulativeGasUsed),from:e,gasPrice:Sn(this.gasPrice),blobGasUsed:Sn(this.blobGasUsed),blobGasPrice:Sn(this.blobGasPrice),gasUsed:Sn(this.gasUsed),hash:i,index:s,logs:f,logsBloom:u,root:y,status:h,to:t}}get length(){return this.logs.length}[Symbol.iterator](){let t=0;return{next:()=>t<this.length?{value:this.logs[t++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const t=await this.provider.getBlock(this.blockHash);if(t==null)throw new Error("TODO");return t}async getTransaction(){const t=await this.provider.getTransaction(this.hash);if(t==null)throw new Error("TODO");return t}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return gk(this)}reorderedEvent(t){return ht(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),pk(this,t)}}Uh=new WeakMap;const o1=class o1{constructor(t,e){Z(this,"provider");Z(this,"blockNumber");Z(this,"blockHash");Z(this,"index");Z(this,"hash");Z(this,"type");Z(this,"to");Z(this,"from");Z(this,"nonce");Z(this,"gasLimit");Z(this,"gasPrice");Z(this,"maxPriorityFeePerGas");Z(this,"maxFeePerGas");Z(this,"maxFeePerBlobGas");Z(this,"data");Z(this,"value");Z(this,"chainId");Z(this,"signature");Z(this,"accessList");Z(this,"blobVersionedHashes");Y(this,Zo);this.provider=e,this.blockNumber=t.blockNumber!=null?t.blockNumber:null,this.blockHash=t.blockHash!=null?t.blockHash:null,this.hash=t.hash,this.index=t.index,this.type=t.type,this.from=t.from,this.to=t.to||null,this.gasLimit=t.gasLimit,this.nonce=t.nonce,this.data=t.data,this.value=t.value,this.gasPrice=t.gasPrice,this.maxPriorityFeePerGas=t.maxPriorityFeePerGas!=null?t.maxPriorityFeePerGas:null,this.maxFeePerGas=t.maxFeePerGas!=null?t.maxFeePerGas:null,this.maxFeePerBlobGas=t.maxFeePerBlobGas!=null?t.maxFeePerBlobGas:null,this.chainId=t.chainId,this.signature=t.signature,this.accessList=t.accessList!=null?t.accessList:null,this.blobVersionedHashes=t.blobVersionedHashes!=null?t.blobVersionedHashes:null,F(this,Zo,-1)}toJSON(){const{blockNumber:t,blockHash:e,index:r,hash:i,type:s,to:o,from:a,nonce:u,data:f,signature:h,accessList:y,blobVersionedHashes:_}=this;return{_type:"TransactionResponse",accessList:y,blockNumber:t,blockHash:e,blobVersionedHashes:_,chainId:Sn(this.chainId),data:f,from:a,gasLimit:Sn(this.gasLimit),gasPrice:Sn(this.gasPrice),hash:i,maxFeePerGas:Sn(this.maxFeePerGas),maxPriorityFeePerGas:Sn(this.maxPriorityFeePerGas),maxFeePerBlobGas:Sn(this.maxFeePerBlobGas),nonce:u,signature:h,to:o,index:r,type:s,value:Sn(this.value)}}async getBlock(){let t=this.blockNumber;if(t==null){const r=await this.getTransaction();r&&(t=r.blockNumber)}if(t==null)return null;const e=this.provider.getBlock(t);if(e==null)throw new Error("TODO");return e}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){const{tx:e,blockNumber:r}=await gr({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return e==null||e.blockNumber==null?0:r-e.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(t,e){const r=t??1,i=e??0;let s=S(this,Zo),o=-1,a=s===-1;const u=async()=>{if(a)return null;const{blockNumber:_,nonce:w}=await gr({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(w<this.nonce){s=_;return}if(a)return null;const R=await this.getTransaction();if(!(R&&R.blockNumber!=null))for(o===-1&&(o=s-3,o<S(this,Zo)&&(o=S(this,Zo)));o<=_;){if(a)return null;const T=await this.provider.getBlock(o,!0);if(T==null)return;for(const I of T)if(I===this.hash)return;for(let I=0;I<T.length;I++){const B=await T.getTransaction(I);if(B.from===this.from&&B.nonce===this.nonce){if(a)return null;const H=await this.provider.getTransactionReceipt(B.hash);if(H==null||_-H.blockNumber+1<r)return;let U="replaced";B.data===this.data&&B.to===this.to&&B.value===this.value?U="repriced":B.data==="0x"&&B.from===B.to&&B.value===fk&&(U="cancelled"),ht(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:U==="replaced"||U==="cancelled",reason:U,replacement:B.replaceableTransaction(s),hash:B.hash,receipt:H})}}o++}},f=_=>{if(_==null||_.status!==0)return _;ht(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:_.to,from:_.from,data:""},receipt:_})},h=await this.provider.getTransactionReceipt(this.hash);if(r===0)return f(h);if(h){if(await h.confirmations()>=r)return f(h)}else if(await u(),r===0)return null;return await new Promise((_,w)=>{const R=[],T=()=>{R.forEach(B=>B())};if(R.push(()=>{a=!0}),i>0){const B=setTimeout(()=>{T(),w(Ye("wait for transaction timeout","TIMEOUT"))},i);R.push(()=>{clearTimeout(B)})}const I=async B=>{if(await B.confirmations()>=r){T();try{_(f(B))}catch(H){w(H)}}};if(R.push(()=>{this.provider.off(this.hash,I)}),this.provider.on(this.hash,I),s>=0){const B=async()=>{try{await u()}catch(H){if(qn(H,"TRANSACTION_REPLACED")){T(),w(H);return}}a||this.provider.once("block",B)};R.push(()=>{this.provider.off("block",B)}),this.provider.once("block",B)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return ht(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),gk(this)}reorderedEvent(t){return ht(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),ht(!t||t.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),pk(this,t)}replaceableTransaction(t){K(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);const e=new o1(this,this.provider);return F(e,Zo,t),e}};Zo=new WeakMap;let xh=o1;function vG(n){return{orphan:"drop-block",hash:n.hash,number:n.number}}function pk(n,t){return{orphan:"reorder-transaction",tx:n,other:t}}function gk(n){return{orphan:"drop-transaction",tx:n}}function xG(n){return{orphan:"drop-log",log:{transactionHash:n.transactionHash,blockHash:n.blockHash,blockNumber:n.blockNumber,address:n.address,data:n.data,topics:Object.freeze(n.topics.slice()),index:n.index}}}class Dw extends vh{constructor(e,r,i){super(e,e.provider);Z(this,"interface");Z(this,"fragment");Z(this,"args");const s=r.decodeEventLog(i,e.data,e.topics);$t(this,{args:s,fragment:i,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class yk extends vh{constructor(e,r){super(e,e.provider);Z(this,"error");$t(this,{error:r})}}class RG extends dk{constructor(e,r,i){super(i,r);Y(this,Sl);F(this,Sl,e)}get logs(){return super.logs.map(e=>{const r=e.topics.length?S(this,Sl).getEvent(e.topics[0]):null;if(r)try{return new Dw(e,S(this,Sl),r)}catch(i){return new yk(e,i)}return e})}}Sl=new WeakMap;class Fw extends xh{constructor(e,r,i){super(i,r);Y(this,Dh);F(this,Dh,e)}async wait(e,r){const i=await super.wait(e,r);return i==null?null:new RG(S(this,Dh),this.provider,i)}}Dh=new WeakMap;class mk extends qR{constructor(e,r,i,s){super(e,r,i);Z(this,"log");$t(this,{log:s})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class IG extends mk{constructor(t,e,r,i,s){super(t,e,r,new Dw(s,t.interface,i));const o=t.interface.decodeEventLog(i,this.log.data,this.log.topics);$t(this,{args:o,fragment:i})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const wk=BigInt(0);function bk(n){return n&&typeof n.call=="function"}function _k(n){return n&&typeof n.estimateGas=="function"}function xp(n){return n&&typeof n.resolveName=="function"}function Ak(n){return n&&typeof n.sendTransaction=="function"}function Ek(n){if(n!=null){if(xp(n))return n;if(n.provider)return n.provider}}class SG{constructor(t,e,r){Y(this,Fh);Z(this,"fragment");if($t(this,{fragment:e}),e.inputs.length<r.length)throw new Error("too many arguments");const i=rc(t.runner,"resolveName"),s=xp(i)?i:null;F(this,Fh,async function(){const o=await Promise.all(e.inputs.map((a,u)=>r[u]==null?null:a.walkAsync(r[u],(h,y)=>h==="address"?Array.isArray(y)?Promise.all(y.map(_=>br(_,s))):br(y,s):y)));return t.interface.encodeFilterTopics(e,o)}())}getTopicFilter(){return S(this,Fh)}}Fh=new WeakMap;function rc(n,t){return n==null?null:typeof n[t]=="function"?n:n.provider&&typeof n.provider[t]=="function"?n.provider:null}function ic(n){return n==null?null:n.provider||null}async function vk(n,t){const e=sr.dereference(n,"overrides");K(typeof e=="object","invalid overrides parameter","overrides",n);const r=vp(e);return K(r.to==null||(t||[]).indexOf("to")>=0,"cannot override to","overrides.to",r.to),K(r.data==null||(t||[]).indexOf("data")>=0,"cannot override data","overrides.data",r.data),r.from&&(r.from=r.from),r}async function kG(n,t,e){const r=rc(n,"resolveName"),i=xp(r)?r:null;return await Promise.all(t.map((s,o)=>s.walkAsync(e[o],(a,u)=>(u=sr.dereference(u,a),a==="address"?br(u,i):u))))}function TG(n){const t=async function(o){const a=await vk(o,["data"]);a.to=await n.getAddress(),a.from&&(a.from=await br(a.from,Ek(n.runner)));const u=n.interface,f=Ct(a.value||wk,"overrides.value")===wk,h=(a.data||"0x")==="0x";u.fallback&&!u.fallback.payable&&u.receive&&!h&&!f&&K(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),K(u.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data);const y=u.receive||u.fallback&&u.fallback.payable;return K(y||f,"cannot send value to non-payable fallback","overrides.value",a.value),K(u.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data),a},e=async function(o){const a=rc(n.runner,"call");ht(bk(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const u=await t(o);try{return await a.call(u)}catch(f){throw jm(f)&&f.data?n.interface.makeError(f.data,u):f}},r=async function(o){const a=n.runner;ht(Ak(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const u=await a.sendTransaction(await t(o)),f=ic(n.runner);return new Fw(n.interface,f,u)},i=async function(o){const a=rc(n.runner,"estimateGas");return ht(_k(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await t(o))},s=async o=>await r(o);return $t(s,{_contract:n,estimateGas:i,populateTransaction:t,send:r,staticCall:e}),s}function OG(n,t){const e=function(...f){const h=n.interface.getFunction(t,f);return ht(h,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t,args:f}}),h},r=async function(...f){const h=e(...f);let y={};if(h.inputs.length+1===f.length&&(y=await vk(f.pop()),y.from&&(y.from=await br(y.from,Ek(n.runner)))),h.inputs.length!==f.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const _=await kG(n.runner,h.inputs,f);return Object.assign({},y,await gr({to:n.getAddress(),data:n.interface.encodeFunctionData(h,_)}))},i=async function(...f){const h=await a(...f);return h.length===1?h[0]:h},s=async function(...f){const h=n.runner;ht(Ak(h),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const y=await h.sendTransaction(await r(...f)),_=ic(n.runner);return new Fw(n.interface,_,y)},o=async function(...f){const h=rc(n.runner,"estimateGas");return ht(_k(h),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await h.estimateGas(await r(...f))},a=async function(...f){const h=rc(n.runner,"call");ht(bk(h),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const y=await r(...f);let _="0x";try{_=await h.call(y)}catch(R){throw jm(R)&&R.data?n.interface.makeError(R.data,y):R}const w=e(...f);return n.interface.decodeFunctionResult(w,_)},u=async(...f)=>e(...f).constant?await i(...f):await s(...f);return $t(u,{name:n.interface.getFunctionName(t),_contract:n,_key:t,getFragment:e,estimateGas:o,populateTransaction:r,send:s,staticCall:i,staticCallResult:a}),Object.defineProperty(u,"fragment",{configurable:!1,enumerable:!0,get:()=>{const f=n.interface.getFunction(t);return ht(f,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t}}),f}}),u}function NG(n,t){const e=function(...i){const s=n.interface.getEvent(t,i);return ht(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t,args:i}}),s},r=function(...i){return new SG(n,e(...i),i)};return $t(r,{name:n.interface.getEventName(t),_contract:n,_key:t,getFragment:e}),Object.defineProperty(r,"fragment",{configurable:!1,enumerable:!0,get:()=>{const i=n.interface.getEvent(t);return ht(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t}}),i}}),r}const Rp=Symbol.for("_ethersInternal_contract"),xk=new WeakMap;function CG(n,t){xk.set(n[Rp],t)}function Kr(n){return xk.get(n[Rp])}function BG(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function $w(n,t){let e,r=null;if(Array.isArray(t)){const s=function(o){if(Ge(o,32))return o;const a=n.interface.getEvent(o);return K(a,"unknown fragment","name",o),a.topicHash};e=t.map(o=>o==null?null:Array.isArray(o)?o.map(s):s(o))}else t==="*"?e=[null]:typeof t=="string"?Ge(t,32)?e=[t]:(r=n.interface.getEvent(t),K(r,"unknown fragment","event",t),e=[r.topicHash]):BG(t)?e=await t.getTopicFilter():"fragment"in t?(r=t.fragment,e=[r.topicHash]):K(!1,"unknown event name","event",t);e=e.map(s=>{if(s==null)return null;if(Array.isArray(s)){const o=Array.from(new Set(s.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return s.toLowerCase()});const i=e.map(s=>s==null?"null":Array.isArray(s)?s.join("|"):s).join("&");return{fragment:r,tag:i,topics:e}}async function Rh(n,t){const{subs:e}=Kr(n);return e.get((await $w(n,t)).tag)||null}async function Rk(n,t,e){const r=ic(n.runner);ht(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:t});const{fragment:i,tag:s,topics:o}=await $w(n,e),{addr:a,subs:u}=Kr(n);let f=u.get(s);if(!f){const y={address:a||n,topics:o},_=I=>{let B=i;if(B==null)try{B=n.interface.getEvent(I.topics[0])}catch{}if(B){const H=B,U=i?n.interface.decodeEventLog(i,I.data,I.topics):[];zw(n,e,U,G=>new IG(n,G,e,H,I))}else zw(n,e,[],H=>new mk(n,H,e,I))};let w=[];f={tag:s,listeners:[],start:()=>{w.length||w.push(r.on(y,_))},stop:async()=>{if(w.length==0)return;let I=w;w=[],await Promise.all(I),r.off(y,_)}},u.set(s,f)}return f}let Hw=Promise.resolve();async function PG(n,t,e,r){await Hw;const i=await Rh(n,t);if(!i)return!1;const s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:o,once:a})=>{const u=Array.from(e);r&&u.push(r(a?null:o));try{o.call(n,...u)}catch{}return!a}),i.listeners.length===0&&(i.stop(),Kr(n).subs.delete(i.tag)),s>0}async function zw(n,t,e,r){try{await Hw}catch{}const i=PG(n,t,e,r);return Hw=i,await i}const Ip=["then"];Vk=Rp;const $h=class $h{constructor(t,e,r,i){Z(this,"target");Z(this,"interface");Z(this,"runner");Z(this,"filters");Z(this,Vk);Z(this,"fallback");K(typeof t=="string"||sS(t),"invalid value for Contract target","target",t),r==null&&(r=null);const s=Uw.from(e);$t(this,{target:t,runner:r,interface:s}),Object.defineProperty(this,Rp,{value:{}});let o,a=null,u=null;if(i){const y=ic(r);u=new Fw(this.interface,y,i)}let f=new Map;if(typeof t=="string")if(Ge(t))a=t,o=Promise.resolve(t);else{const y=rc(r,"resolveName");if(!xp(y))throw Ye("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=y.resolveName(t).then(_=>{if(_==null)throw Ye("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return Kr(this).addr=_,_})}else o=t.getAddress().then(y=>{if(y==null)throw new Error("TODO");return Kr(this).addr=y,y});CG(this,{addrPromise:o,addr:a,deployTx:u,subs:f});const h=new Proxy({},{get:(y,_,w)=>{if(typeof _=="symbol"||Ip.indexOf(_)>=0)return Reflect.get(y,_,w);try{return this.getEvent(_)}catch(R){if(!qn(R,"INVALID_ARGUMENT")||R.argument!=="key")throw R}},has:(y,_)=>Ip.indexOf(_)>=0?Reflect.has(y,_):Reflect.has(y,_)||this.interface.hasEvent(String(_))});return $t(this,{filters:h}),$t(this,{fallback:s.receive||s.fallback?TG(this):null}),new Proxy(this,{get:(y,_,w)=>{if(typeof _=="symbol"||_ in y||Ip.indexOf(_)>=0)return Reflect.get(y,_,w);try{return y.getFunction(_)}catch(R){if(!qn(R,"INVALID_ARGUMENT")||R.argument!=="key")throw R}},has:(y,_)=>typeof _=="symbol"||_ in y||Ip.indexOf(_)>=0?Reflect.has(y,_):y.interface.hasFunction(_)})}connect(t){return new $h(this.target,this.interface,t)}attach(t){return new $h(t,this.interface,this.runner)}async getAddress(){return await Kr(this).addrPromise}async getDeployedCode(){const t=ic(this.runner);ht(t,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const e=await t.getCode(await this.getAddress());return e==="0x"?null:e}async waitForDeployment(){const t=this.deploymentTransaction();if(t)return await t.wait(),this;if(await this.getDeployedCode()!=null)return this;const r=ic(this.runner);return ht(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((i,s)=>{const o=async()=>{try{if(await this.getDeployedCode()!=null)return i(this);r.once("block",o)}catch(a){s(a)}};o()})}deploymentTransaction(){return Kr(this).deployTx}getFunction(t){return typeof t!="string"&&(t=t.format()),OG(this,t)}getEvent(t){return typeof t!="string"&&(t=t.format()),NG(this,t)}async queryTransaction(t){throw new Error("@TODO")}async queryFilter(t,e,r){e==null&&(e=0),r==null&&(r="latest");const{addr:i,addrPromise:s}=Kr(this),o=i||await s,{fragment:a,topics:u}=await $w(this,t),f={address:o,topics:u,fromBlock:e,toBlock:r},h=ic(this.runner);return ht(h,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await h.getLogs(f)).map(y=>{let _=a;if(_==null)try{_=this.interface.getEvent(y.topics[0])}catch{}if(_)try{return new Dw(y,this.interface,_)}catch(w){return new yk(y,w)}return new vh(y,h)})}async on(t,e){const r=await Rk(this,"on",t);return r.listeners.push({listener:e,once:!1}),r.start(),this}async once(t,e){const r=await Rk(this,"once",t);return r.listeners.push({listener:e,once:!0}),r.start(),this}async emit(t,...e){return await zw(this,t,e,null)}async listenerCount(t){if(t){const i=await Rh(this,t);return i?i.listeners.length:0}const{subs:e}=Kr(this);let r=0;for(const{listeners:i}of e.values())r+=i.length;return r}async listeners(t){if(t){const i=await Rh(this,t);return i?i.listeners.map(({listener:s})=>s):[]}const{subs:e}=Kr(this);let r=[];for(const{listeners:i}of e.values())r=r.concat(i.map(({listener:s})=>s));return r}async off(t,e){const r=await Rh(this,t);if(!r)return this;if(e){const i=r.listeners.map(({listener:s})=>s).indexOf(e);i>=0&&r.listeners.splice(i,1)}return(e==null||r.listeners.length===0)&&(r.stop(),Kr(this).subs.delete(r.tag)),this}async removeAllListeners(t){if(t){const e=await Rh(this,t);if(!e)return this;e.stop(),Kr(this).subs.delete(e.tag)}else{const{subs:e}=Kr(this);for(const{tag:r,stop:i}of e.values())i(),e.delete(r)}return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return await this.off(t,e)}static buildClass(t){class e extends $h{constructor(i,s=null){super(i,t,s)}}return e}static from(t,e,r){return r==null&&(r=null),new this(t,e,r)}};let Gw=$h;function MG(){return Gw}class ju extends MG(){}function Vw(n){return n.match(/^ipfs:\/\/ipfs\//i)?n=n.substring(12):n.match(/^ipfs:\/\//i)?n=n.substring(7):K(!1,"unsupported IPFS format","link",n),`https://gateway.ipfs.io/ipfs/${n}`}class LG{constructor(t){Z(this,"name");$t(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,e){throw new Error("unsupported coin")}async decodeAddress(t,e){throw new Error("unsupported coin")}}const Ik=new RegExp("^(ipfs)://(.*)$","i"),Sk=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Ik,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],kl=class kl{constructor(t,e,r){Y(this,Qo);Z(this,"provider");Z(this,"address");Z(this,"name");Y(this,qo);Y(this,_c);$t(this,{provider:t,address:e,name:r}),F(this,qo,null),F(this,_c,new ju(e,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],t))}async supportsWildcard(){return S(this,qo)==null&&F(this,qo,(async()=>{try{return await S(this,_c).supportsInterface("0x9061b923")}catch(t){if(qn(t,"CALL_EXCEPTION"))return!1;throw F(this,qo,null),t}})()),await S(this,qo)}async getAddress(t){if(t==null&&(t=60),t===60)try{const s=await yt(this,Qo,Xl).call(this,"addr(bytes32)");return s==null||s===hh?null:s}catch(s){if(qn(s,"CALL_EXCEPTION"))return null;throw s}if(t>=0&&t<2147483648){let s=t+2147483648;const o=await yt(this,Qo,Xl).call(this,"addr(bytes32,uint)",[s]);if(Ge(o,20))return Le(o)}let e=null;for(const s of this.provider.plugins)if(s instanceof LG&&s.supportsCoinType(t)){e=s;break}if(e==null)return null;const r=await yt(this,Qo,Xl).call(this,"addr(bytes32,uint)",[t]);if(r==null||r==="0x")return null;const i=await e.decodeAddress(t,r);if(i!=null)return i;ht(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:r}})}async getText(t){const e=await yt(this,Qo,Xl).call(this,"text(bytes32,string)",[t]);return e==null||e==="0x"?null:e}async getContentHash(){const t=await yt(this,Qo,Xl).call(this,"contenthash(bytes32)");if(t==null||t==="0x")return null;const e=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){const i=e[1]==="e3010170"?"ipfs":"ipns",s=parseInt(e[4],16);if(e[5].length===s*2)return`${i}://${s$("0x"+e[2])}`}const r=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&r[1].length===64)return`bzz://${r[1]}`;ht(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const t=[{type:"name",value:this.name}];try{const e=await this.getText("avatar");if(e==null)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:e});for(let r=0;r<Sk.length;r++){const i=e.match(Sk[r]);if(i==null)continue;const s=i[1].toLowerCase();switch(s){case"https":case"data":return t.push({type:"url",value:e}),{linkage:t,url:e};case"ipfs":{const o=Vw(e);return t.push({type:"ipfs",value:e}),t.push({type:"url",value:o}),{linkage:t,url:o}}case"erc721":case"erc1155":{const o=s==="erc721"?"tokenURI(uint256)":"uri(uint256)";t.push({type:s,value:e});const a=await this.getAddress();if(a==null)return t.push({type:"!owner",value:""}),{url:null,linkage:t};const u=(i[2]||"").split("/");if(u.length!==2)return t.push({type:`!${s}caip`,value:i[2]||""}),{url:null,linkage:t};const f=u[1],h=new ju(u[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if(s==="erc721"){const T=await h.ownerOf(f);if(a!==T)return t.push({type:"!owner",value:T}),{url:null,linkage:t};t.push({type:"owner",value:T})}else if(s==="erc1155"){const T=await h.balanceOf(a,f);if(!T)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:T.toString()})}let y=await h[o](f);if(y==null||y==="0x")return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:y}),s==="erc1155"&&(y=y.replace("{id}",Bo(f,32).substring(2)),t.push({type:"metadata-url-expanded",value:y})),y.match(/^ipfs:/i)&&(y=Vw(y)),t.push({type:"metadata-url",value:y});let _={};const w=await new Ls(y).send();w.assertOk();try{_=w.bodyJson}catch{try{t.push({type:"!metadata",value:w.bodyText})}catch{const B=w.body;return B&&t.push({type:"!metadata",value:Tt(B)}),{url:null,linkage:t}}return{url:null,linkage:t}}if(!_)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(_)});let R=_.image;if(typeof R!="string")return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(!R.match(/^(https:\/\/|data:)/i)){if(R.match(Ik)==null)return t.push({type:"!imageUrl-ipfs",value:R}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:R}),R=Vw(R)}return t.push({type:"url",value:R}),{linkage:t,url:R}}}}}catch{}return{linkage:t,url:null}}static async getEnsAddress(t){const e=await t.getNetwork(),r=e.getPlugin("org.ethers.plugins.network.Ens");return ht(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:e}}),r.address}static async fromName(t,e){var i;let r=e;for(;;){if(r===""||r==="."||e!=="eth"&&r==="eth")return null;const s=await yt(i=kl,$p,uO).call(i,t,r);if(s!=null){const o=new kl(t,s,e);return r!==e&&!await o.supportsWildcard()?null:o}r=r.split(".").slice(1).join(".")}}};qo=new WeakMap,_c=new WeakMap,Qo=new WeakSet,Xl=async function(t,e){e=(e||[]).slice();const r=S(this,_c).interface;e.unshift(kw(this.name));let i=null;await this.supportsWildcard()&&(i=r.getFunction(t),ht(i,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[Uz(this.name,255),r.encodeFunctionData(i,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{const s=await S(this,_c)[t](...e);return i?r.decodeFunctionResult(i,s)[0]:s}catch(s){if(!qn(s,"CALL_EXCEPTION"))throw s}return null},$p=new WeakSet,uO=async function(t,e){const r=await kl.getEnsAddress(t);try{const s=await new ju(r,["function resolver(bytes32) view returns (address)"],t).resolver(kw(e),{enableCcipRead:!0});return s===hh?null:s}catch(i){throw i}return null},Y(kl,$p);let Sp=kl;const kk=BigInt(0);function ye(n,t){return function(e){return e==null?t:n(e)}}function kp(n,t){return e=>{if(t&&e==null)return null;if(!Array.isArray(e))throw new Error("not an array");return e.map(r=>n(r))}}function Ih(n,t){return e=>{const r={};for(const i in n){let s=i;if(t&&i in t&&!(s in e)){for(const o of t[i])if(o in e){s=o;break}}try{const o=n[i](e[s]);o!==void 0&&(r[i]=o)}catch(o){const a=o instanceof Error?o.message:"not-an-error";ht(!1,`invalid value for value.${i} (${a})`,"BAD_DATA",{value:e})}}return r}}function UG(n){switch(n){case!0:case"true":return!0;case!1:case"false":return!1}K(!1,`invalid boolean; ${JSON.stringify(n)}`,"value",n)}function Wu(n){return K(Ge(n,!0),"invalid data","value",n),n}function Yn(n){return K(Ge(n,32),"invalid hash","value",n),n}const DG=Ih({address:Le,blockHash:Yn,blockNumber:ie,data:Wu,index:ie,removed:ye(UG,!1),topics:kp(Yn),transactionHash:Yn,transactionIndex:ie},{index:["logIndex"]});function FG(n){return DG(n)}const $G=Ih({hash:ye(Yn),parentHash:Yn,parentBeaconBlockRoot:ye(Yn,null),number:ie,timestamp:ie,nonce:ye(Wu),difficulty:Ct,gasLimit:Ct,gasUsed:Ct,stateRoot:ye(Yn,null),receiptsRoot:ye(Yn,null),blobGasUsed:ye(Ct,null),excessBlobGas:ye(Ct,null),miner:ye(Le),prevRandao:ye(Yn,null),extraData:Wu,baseFeePerGas:ye(Ct)},{prevRandao:["mixHash"]});function HG(n){const t=$G(n);return t.transactions=n.transactions.map(e=>typeof e=="string"?e:Tk(e)),t}const zG=Ih({transactionIndex:ie,blockNumber:ie,transactionHash:Yn,address:Le,topics:kp(Yn),data:Wu,index:ie,blockHash:Yn},{index:["logIndex"]});function GG(n){return zG(n)}const VG=Ih({to:ye(Le,null),from:ye(Le,null),contractAddress:ye(Le,null),index:ie,root:ye(Tt),gasUsed:Ct,blobGasUsed:ye(Ct,null),logsBloom:ye(Wu),blockHash:Yn,hash:Yn,logs:kp(GG),blockNumber:ie,cumulativeGasUsed:Ct,effectiveGasPrice:ye(Ct),blobGasPrice:ye(Ct,null),status:ye(ie),type:ye(ie,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function KG(n){return VG(n)}function Tk(n){n.to&&Ct(n.to)===kk&&(n.to="0x0000000000000000000000000000000000000000");const t=Ih({hash:Yn,index:ye(ie,void 0),type:e=>e==="0x"||e==null?0:ie(e),accessList:ye(Xa,null),blobVersionedHashes:ye(kp(Yn,!0),null),blockHash:ye(Yn,null),blockNumber:ye(ie,null),transactionIndex:ye(ie,null),from:Le,gasPrice:ye(Ct),maxPriorityFeePerGas:ye(Ct),maxFeePerGas:ye(Ct),maxFeePerBlobGas:ye(Ct,null),gasLimit:Ct,to:ye(Le,null),value:Ct,nonce:ie,data:Wu,creates:ye(Le,null),chainId:ye(Ct,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(n);if(t.to==null&&t.creates==null&&(t.creates=$H(t)),(n.type===1||n.type===2)&&n.accessList==null&&(t.accessList=[]),n.signature?t.signature=Ri.from(n.signature):t.signature=Ri.from(n),t.chainId==null){const e=t.signature.legacyChainId;e!=null&&(t.chainId=e)}return t.blockHash&&Ct(t.blockHash)===kk&&(t.blockHash=null),t}const jG="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class Sh{constructor(t){Z(this,"name");$t(this,{name:t})}clone(){return new Sh(this.name)}}class Tp extends Sh{constructor(e,r){e==null&&(e=0);super(`org.ethers.network.plugins.GasCost#${e||0}`);Z(this,"effectiveBlock");Z(this,"txBase");Z(this,"txCreate");Z(this,"txDataZero");Z(this,"txDataNonzero");Z(this,"txAccessListStorageKey");Z(this,"txAccessListAddress");const i={effectiveBlock:e};function s(o,a){let u=(r||{})[o];u==null&&(u=a),K(typeof u=="number",`invalud value for ${o}`,"costs",r),i[o]=u}s("txBase",21e3),s("txCreate",32e3),s("txDataZero",4),s("txDataNonzero",16),s("txAccessListStorageKey",1900),s("txAccessListAddress",2400),$t(this,i)}clone(){return new Tp(this.effectiveBlock,this)}}class Op extends Sh{constructor(e,r){super("org.ethers.plugins.network.Ens");Z(this,"address");Z(this,"targetNetwork");$t(this,{address:e||jG,targetNetwork:r??1})}clone(){return new Op(this.address,this.targetNetwork)}}class WG extends Sh{constructor(e,r){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");Y(this,Hh);Y(this,zh);F(this,Hh,e),F(this,zh,r)}get url(){return S(this,Hh)}get processFunc(){return S(this,zh)}clone(){return this}}Hh=new WeakMap,zh=new WeakMap;const Kw=new Map,Nl=class Nl{constructor(t,e){Y(this,Tl);Y(this,Ol);Y(this,Yo);F(this,Tl,t),F(this,Ol,Ct(e)),F(this,Yo,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return S(this,Tl)}set name(t){F(this,Tl,t)}get chainId(){return S(this,Ol)}set chainId(t){F(this,Ol,Ct(t,"chainId"))}matches(t){if(t==null)return!1;if(typeof t=="string"){try{return this.chainId===Ct(t)}catch{}return this.name===t}if(typeof t=="number"||typeof t=="bigint"){try{return this.chainId===Ct(t)}catch{}return!1}if(typeof t=="object"){if(t.chainId!=null){try{return this.chainId===Ct(t.chainId)}catch{}return!1}return t.name!=null?this.name===t.name:!1}return!1}get plugins(){return Array.from(S(this,Yo).values())}attachPlugin(t){if(S(this,Yo).get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return S(this,Yo).set(t.name,t.clone()),this}getPlugin(t){return S(this,Yo).get(t)||null}getPlugins(t){return this.plugins.filter(e=>e.name.split("#")[0]===t)}clone(){const t=new Nl(this.name,this.chainId);return this.plugins.forEach(e=>{t.attachPlugin(e.clone())}),t}computeIntrinsicGas(t){const e=this.getPlugin("org.ethers.plugins.network.GasCost")||new Tp;let r=e.txBase;if(t.to==null&&(r+=e.txCreate),t.data)for(let i=2;i<t.data.length;i+=2)t.data.substring(i,i+2)==="00"?r+=e.txDataZero:r+=e.txDataNonzero;if(t.accessList){const i=Xa(t.accessList);for(const s in i)r+=e.txAccessListAddress+e.txAccessListStorageKey*i[s].storageKeys.length}return r}static from(t){if(ZG(),t==null)return Nl.from("mainnet");if(typeof t=="number"&&(t=BigInt(t)),typeof t=="string"||typeof t=="bigint"){const e=Kw.get(t);if(e)return e();if(typeof t=="bigint")return new Nl("unknown",t);K(!1,"unknown network","network",t)}if(typeof t.clone=="function")return t.clone();if(typeof t=="object"){K(typeof t.name=="string"&&typeof t.chainId=="number","invalid network object name or chainId","network",t);const e=new Nl(t.name,t.chainId);return(t.ensAddress||t.ensNetwork!=null)&&e.attachPlugin(new Op(t.ensAddress,t.ensNetwork)),e}K(!1,"invalid network","network",t)}static register(t,e){typeof t=="number"&&(t=BigInt(t));const r=Kw.get(t);r&&K(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",t),Kw.set(t,e)}};Tl=new WeakMap,Ol=new WeakMap,Yo=new WeakMap;let is=Nl;function Ok(n,t){const e=String(n);if(!e.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${n}`);const r=e.split(".");if(r.length===1&&r.push(""),r.length!==2)throw new Error(`invalid gwei value: ${n}`);for(;r[1].length<t;)r[1]+="0";if(r[1].length>9){let i=BigInt(r[1].substring(0,9));r[1].substring(9).match(/^0+$/)||i++,r[1]=i.toString()}return BigInt(r[0]+r[1])}function Nk(n){return new WG(n,async(t,e,r)=>{r.setHeader("User-Agent","ethers");let i;try{const[s,o]=await Promise.all([r.send(),t()]);i=s;const a=i.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:Ok(a.maxFee,9),maxPriorityFeePerGas:Ok(a.maxPriorityFee,9)}}catch(s){ht(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:i,error:s})}})}let Ck=!1;function ZG(){if(Ck)return;Ck=!0;function n(t,e,r){const i=function(){const s=new is(t,e);return r.ensNetwork!=null&&s.attachPlugin(new Op(null,r.ensNetwork)),s.attachPlugin(new Tp),(r.plugins||[]).forEach(o=>{s.attachPlugin(o)}),s};is.register(t,i),is.register(e,i),r.altNames&&r.altNames.forEach(s=>{is.register(s,i)})}n("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),n("ropsten",3,{ensNetwork:3}),n("rinkeby",4,{ensNetwork:4}),n("goerli",5,{ensNetwork:5}),n("kovan",42,{ensNetwork:42}),n("sepolia",11155111,{ensNetwork:11155111}),n("holesky",17e3,{ensNetwork:17e3}),n("classic",61,{}),n("classicKotti",6,{}),n("arbitrum",42161,{ensNetwork:1}),n("arbitrum-goerli",421613,{}),n("arbitrum-sepolia",421614,{}),n("base",8453,{ensNetwork:1}),n("base-goerli",84531,{}),n("base-sepolia",84532,{}),n("bnb",56,{ensNetwork:1}),n("bnbt",97,{}),n("linea",59144,{ensNetwork:1}),n("linea-goerli",59140,{}),n("linea-sepolia",59141,{}),n("matic",137,{ensNetwork:1,plugins:[Nk("https://gasstation.polygon.technology/v2")]}),n("matic-amoy",80002,{}),n("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Nk("https://gasstation-testnet.polygon.technology/v2")]}),n("optimism",10,{ensNetwork:1,plugins:[]}),n("optimism-goerli",420,{}),n("optimism-sepolia",11155420,{}),n("xdai",100,{ensNetwork:1})}function jw(n){return JSON.parse(JSON.stringify(n))}class qG{constructor(t){Y(this,Cl);Y(this,to);Y(this,fi);Y(this,Jo);Y(this,fs);F(this,to,t),F(this,fi,null),F(this,Jo,4e3),F(this,fs,-2)}get pollingInterval(){return S(this,Jo)}set pollingInterval(t){F(this,Jo,t)}start(){S(this,fi)||(F(this,fi,S(this,to)._setTimeout(yt(this,Cl,hg).bind(this),S(this,Jo))),yt(this,Cl,hg).call(this))}stop(){S(this,fi)&&(S(this,to)._clearTimeout(S(this,fi)),F(this,fi,null))}pause(t){this.stop(),t&&F(this,fs,-2)}resume(){this.start()}}to=new WeakMap,fi=new WeakMap,Jo=new WeakMap,fs=new WeakMap,Cl=new WeakSet,hg=async function(){try{const t=await S(this,to).getBlockNumber();if(S(this,fs)===-2){F(this,fs,t);return}if(t!==S(this,fs)){for(let e=S(this,fs)+1;e<=t;e++){if(S(this,fi)==null)return;await S(this,to).emit("block",e)}F(this,fs,t)}}catch{}S(this,fi)!=null&&F(this,fi,S(this,to)._setTimeout(yt(this,Cl,hg).bind(this),S(this,Jo)))};class Ww{constructor(t){Y(this,Ac);Y(this,Ec);Y(this,Xo);F(this,Ac,t),F(this,Xo,!1),F(this,Ec,e=>{this._poll(e,S(this,Ac))})}async _poll(t,e){throw new Error("sub-classes must override this")}start(){S(this,Xo)||(F(this,Xo,!0),S(this,Ec).call(this,-2),S(this,Ac).on("block",S(this,Ec)))}stop(){S(this,Xo)&&(F(this,Xo,!1),S(this,Ac).off("block",S(this,Ec)))}pause(t){this.stop()}resume(){this.start()}}Ac=new WeakMap,Ec=new WeakMap,Xo=new WeakMap;class QG extends Ww{constructor(e,r){super(e);Y(this,Bl);Y(this,eo);F(this,Bl,r),F(this,eo,-2)}pause(e){e&&F(this,eo,-2),super.pause(e)}async _poll(e,r){const i=await r.getBlock(S(this,Bl));i!=null&&(S(this,eo)===-2?F(this,eo,i.number):i.number>S(this,eo)&&(r.emit(S(this,Bl),i.number),F(this,eo,i.number)))}}Bl=new WeakMap,eo=new WeakMap;class YG extends Ww{constructor(e,r){super(e);Y(this,Hp);F(this,Hp,jw(r))}async _poll(e,r){throw new Error("@TODO")}}Hp=new WeakMap;class JG extends Ww{constructor(e,r){super(e);Y(this,Pl);F(this,Pl,r)}async _poll(e,r){const i=await r.getTransactionReceipt(S(this,Pl));i&&r.emit(S(this,Pl),i)}}Pl=new WeakMap;class Zw{constructor(t,e){Y(this,zp);Y(this,no);Y(this,Ml);Y(this,Ll);Y(this,ta);Y(this,hi);F(this,no,t),F(this,Ml,jw(e)),F(this,Ll,yt(this,zp,lO).bind(this)),F(this,ta,!1),F(this,hi,-2)}start(){S(this,ta)||(F(this,ta,!0),S(this,hi)===-2&&S(this,no).getBlockNumber().then(t=>{F(this,hi,t)}),S(this,no).on("block",S(this,Ll)))}stop(){S(this,ta)&&(F(this,ta,!1),S(this,no).off("block",S(this,Ll)))}pause(t){this.stop(),t&&F(this,hi,-2)}resume(){this.start()}}no=new WeakMap,Ml=new WeakMap,Ll=new WeakMap,ta=new WeakMap,hi=new WeakMap,zp=new WeakSet,lO=async function(t){if(S(this,hi)===-2)return;const e=jw(S(this,Ml));e.fromBlock=S(this,hi)+1,e.toBlock=t;const r=await S(this,no).getLogs(e);if(r.length===0){S(this,hi)<t-60&&F(this,hi,t-60);return}for(const i of r)S(this,no).emit(S(this,Ml),i),F(this,hi,i.blockNumber)};const XG=BigInt(2),tV=10;function Np(n){return n&&typeof n.then=="function"}function Cp(n,t){return n+":"+JSON.stringify(t,(e,r)=>{if(r==null)return"null";if(typeof r=="bigint")return`bigint:${r.toString()}`;if(typeof r=="string")return r.toLowerCase();if(typeof r=="object"&&!Array.isArray(r)){const i=Object.keys(r);return i.sort(),i.reduce((s,o)=>(s[o]=r[o],s),{})}return r})}class Bp{constructor(t){Z(this,"name");$t(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}function eV(n){return JSON.parse(JSON.stringify(n))}function qw(n){return n=Array.from(new Set(n).values()),n.sort(),n}async function Qw(n,t){if(n==null)throw new Error("invalid event");if(Array.isArray(n)&&(n={topics:n}),typeof n=="string")switch(n){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:n,tag:n}}if(Ge(n,32)){const e=n.toLowerCase();return{type:"transaction",tag:Cp("tx",{hash:e}),hash:e}}if(n.orphan){const e=n;return{type:"orphan",tag:Cp("orphan",e),filter:eV(e)}}if(n.address||n.topics){const e=n,r={topics:(e.topics||[]).map(i=>i==null?null:Array.isArray(i)?qw(i.map(s=>s.toLowerCase())):i.toLowerCase())};if(e.address){const i=[],s=[],o=a=>{Ge(a)?i.push(a):s.push((async()=>{i.push(await br(a,t))})())};Array.isArray(e.address)?e.address.forEach(o):o(e.address),s.length&&await Promise.all(s),r.address=qw(i.map(a=>a.toLowerCase()))}return{filter:r,tag:Cp("event",r),type:"event"}}K(!1,"unknown ProviderEvent","event",n)}function Yw(){return new Date().getTime()}const nV={cacheTimeout:250,pollingInterval:4e3};class rV{constructor(t,e){Y(this,se);Y(this,ar);Y(this,ea);Y(this,cr);Y(this,Ul);Y(this,qr);Y(this,vc);Y(this,na);Y(this,ro);Y(this,Gh);Y(this,di);Y(this,Dl);Y(this,Fl);if(F(this,Fl,Object.assign({},nV,e||{})),t==="any")F(this,vc,!0),F(this,qr,null);else if(t){const r=is.from(t);F(this,vc,!1),F(this,qr,Promise.resolve(r)),setTimeout(()=>{this.emit("network",r,null)},0)}else F(this,vc,!1),F(this,qr,null);F(this,ro,-1),F(this,na,new Map),F(this,ar,new Map),F(this,ea,new Map),F(this,cr,null),F(this,Ul,!1),F(this,Gh,1),F(this,di,new Map),F(this,Dl,!1)}get pollingInterval(){return S(this,Fl).pollingInterval}get provider(){return this}get plugins(){return Array.from(S(this,ea).values())}attachPlugin(t){if(S(this,ea).get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return S(this,ea).set(t.name,t.connect(this)),this}getPlugin(t){return S(this,ea).get(t)||null}get disableCcipRead(){return S(this,Dl)}set disableCcipRead(t){F(this,Dl,!!t)}async ccipReadFetch(t,e,r){if(this.disableCcipRead||r.length===0||t.to==null)return null;const i=t.to.toLowerCase(),s=e.toLowerCase(),o=[];for(let a=0;a<r.length;a++){const u=r[a],f=u.replace("{sender}",i).replace("{data}",s),h=new Ls(f);u.indexOf("{data}")===-1&&(h.body={data:s,sender:i}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:h,index:a,urls:r});let y="unknown error",_;try{_=await h.send()}catch(w){o.push(w.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:h,result:{error:w}});continue}try{const w=_.bodyJson;if(w.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:h,result:w}),w.data;w.message&&(y=w.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:h,result:w})}catch{}ht(_.statusCode<400||_.statusCode>=500,`response not found during CCIP fetch: ${y}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:u,errorMessage:y}}),o.push(y)}ht(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:r,errorMessages:o}})}_wrapBlock(t,e){return new EG(HG(t),this)}_wrapLog(t,e){return new vh(FG(t),this)}_wrapTransactionReceipt(t,e){return new dk(KG(t),this)}_wrapTransactionResponse(t,e){return new xh(Tk(t),this)}_detectNetwork(){ht(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){ht(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){const t=ie(await yt(this,se,Qr).call(this,{method:"getBlockNumber"}),"%response");return S(this,ro)>=0&&F(this,ro,t),t}_getAddress(t){return br(t,this)}_getBlockTag(t){if(t==null)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}if(Ge(t))return Ge(t,32)?t:Bu(t);if(typeof t=="bigint"&&(t=ie(t,"blockTag")),typeof t=="number")return t>=0?Bu(t):S(this,ro)>=0?Bu(S(this,ro)+t):this.getBlockNumber().then(e=>Bu(e+t));K(!1,"invalid blockTag","blockTag",t)}_getFilter(t){const e=(t.topics||[]).map(u=>u==null?null:Array.isArray(u)?qw(u.map(f=>f.toLowerCase())):u.toLowerCase()),r="blockHash"in t?t.blockHash:void 0,i=(u,f,h)=>{let y;switch(u.length){case 0:break;case 1:y=u[0];break;default:u.sort(),y=u}if(r&&(f!=null||h!=null))throw new Error("invalid filter");const _={};return y&&(_.address=y),e.length&&(_.topics=e),f&&(_.fromBlock=f),h&&(_.toBlock=h),r&&(_.blockHash=r),_};let s=[];if(t.address)if(Array.isArray(t.address))for(const u of t.address)s.push(this._getAddress(u));else s.push(this._getAddress(t.address));let o;"fromBlock"in t&&(o=this._getBlockTag(t.fromBlock));let a;return"toBlock"in t&&(a=this._getBlockTag(t.toBlock)),s.filter(u=>typeof u!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(s),o,a]).then(u=>i(u[0],u[1],u[2])):i(s,o,a)}_getTransactionRequest(t){const e=vp(t),r=[];if(["to","from"].forEach(i=>{if(e[i]==null)return;const s=br(e[i],this);Np(s)?r.push(async function(){e[i]=await s}()):e[i]=s}),e.blockTag!=null){const i=this._getBlockTag(e.blockTag);Np(i)?r.push(async function(){e.blockTag=await i}()):e.blockTag=i}return r.length?async function(){return await Promise.all(r),e}():e}async getNetwork(){if(S(this,qr)==null){const i=(async()=>{try{const s=await this._detectNetwork();return this.emit("network",s,null),s}catch(s){throw S(this,qr)===i&&F(this,qr,null),s}})();return F(this,qr,i),(await i).clone()}const t=S(this,qr),[e,r]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==r.chainId&&(S(this,vc)?(this.emit("network",r,e),S(this,qr)===t&&F(this,qr,Promise.resolve(r))):ht(!1,`network changed: ${e.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),e.clone()}async getFeeData(){const t=await this.getNetwork(),e=async()=>{const{_block:i,gasPrice:s,priorityFee:o}=await gr({_block:yt(this,se,Cb).call(this,"latest",!1),gasPrice:(async()=>{try{const h=await yt(this,se,Qr).call(this,{method:"getGasPrice"});return Ct(h,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const h=await yt(this,se,Qr).call(this,{method:"getPriorityFee"});return Ct(h,"%response")}catch{}return null})()});let a=null,u=null;const f=this._wrapBlock(i,t);return f&&f.baseFeePerGas&&(u=o??BigInt("1000000000"),a=f.baseFeePerGas*XG+u),new hk(s,a,u)},r=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){const i=new Ls(r.url),s=await r.processFunc(e,this,i);return new hk(s.gasPrice,s.maxFeePerGas,s.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return Np(e)&&(e=await e),Ct(await yt(this,se,Qr).call(this,{method:"estimateGas",transaction:e}),"%response")}async call(t){const{tx:e,blockTag:r}=await gr({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await yt(this,se,Nb).call(this,yt(this,se,Ob).call(this,e,r,t.enableCcipRead?0:-1))}async getBalance(t,e){return Ct(await yt(this,se,Ad).call(this,{method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return ie(await yt(this,se,Ad).call(this,{method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return Tt(await yt(this,se,Ad).call(this,{method:"getCode"},t,e))}async getStorage(t,e,r){const i=Ct(e,"position");return Tt(await yt(this,se,Ad).call(this,{method:"getStorage",position:i},t,r))}async broadcastTransaction(t){const{blockNumber:e,hash:r,network:i}=await gr({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),s=wp.from(t);if(s.hash!==r)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(s,i).replaceableTransaction(e)}async getBlock(t,e){const{network:r,params:i}=await gr({network:this.getNetwork(),params:yt(this,se,Cb).call(this,t,!!e)});return i==null?null:this._wrapBlock(i,r)}async getTransaction(t){const{network:e,params:r}=await gr({network:this.getNetwork(),params:yt(this,se,Qr).call(this,{method:"getTransaction",hash:t})});return r==null?null:this._wrapTransactionResponse(r,e)}async getTransactionReceipt(t){const{network:e,params:r}=await gr({network:this.getNetwork(),params:yt(this,se,Qr).call(this,{method:"getTransactionReceipt",hash:t})});if(r==null)return null;if(r.gasPrice==null&&r.effectiveGasPrice==null){const i=await yt(this,se,Qr).call(this,{method:"getTransaction",hash:t});if(i==null)throw new Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=i.gasPrice}return this._wrapTransactionReceipt(r,e)}async getTransactionResult(t){const{result:e}=await gr({network:this.getNetwork(),result:yt(this,se,Qr).call(this,{method:"getTransactionResult",hash:t})});return e==null?null:Tt(e)}async getLogs(t){let e=this._getFilter(t);Np(e)&&(e=await e);const{network:r,params:i}=await gr({network:this.getNetwork(),params:yt(this,se,Qr).call(this,{method:"getLogs",filter:e})});return i.map(s=>this._wrapLog(s,r))}_getProvider(t){ht(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(t){return await Sp.fromName(this,t)}async getAvatar(t){const e=await this.getResolver(t);return e?await e.getAvatar():null}async resolveName(t){const e=await this.getResolver(t);return e?await e.getAddress():null}async lookupAddress(t){t=Le(t);const e=kw(t.substring(2).toLowerCase()+".addr.reverse");try{const r=await Sp.getEnsAddress(this),s=await new ju(r,["function resolver(bytes32) view returns (address)"],this).resolver(e);if(s==null||s===hh)return null;const a=await new ju(s,["function name(bytes32) view returns (string)"],this).name(e);return await this.resolveName(a)!==t?null:a}catch(r){if(qn(r,"BAD_DATA")&&r.value==="0x"||qn(r,"CALL_EXCEPTION"))return null;throw r}return null}async waitForTransaction(t,e,r){const i=e??1;return i===0?this.getTransactionReceipt(t):new Promise(async(s,o)=>{let a=null;const u=async f=>{try{const h=await this.getTransactionReceipt(t);if(h!=null&&f-h.blockNumber+1>=i){s(h),a&&(clearTimeout(a),a=null);return}}catch(h){console.log("EEE",h)}this.once("block",u)};r!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",u),o(Ye("timeout","TIMEOUT",{reason:"timeout"})))},r)),u(await this.getBlockNumber())})}async waitForBlock(t){ht(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(t){const e=S(this,di).get(t);e&&(e.timer&&clearTimeout(e.timer),S(this,di).delete(t))}_setTimeout(t,e){e==null&&(e=0);const r=ao(this,Gh)._++,i=()=>{S(this,di).delete(r),t()};if(this.paused)S(this,di).set(r,{timer:null,func:i,time:e});else{const s=setTimeout(i,e);S(this,di).set(r,{timer:s,func:i,time:Yw()})}return r}_forEachSubscriber(t){for(const e of S(this,ar).values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new Bp(t.type);case"block":{const e=new qG(this);return e.pollingInterval=this.pollingInterval,e}case"safe":case"finalized":return new QG(this,t.type);case"event":return new Zw(this,t.filter);case"transaction":return new JG(this,t.hash);case"orphan":return new YG(this,t.filter)}throw new Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(const r of S(this,ar).values())if(r.subscriber===t){r.started&&r.subscriber.stop(),r.subscriber=e,r.started&&e.start(),S(this,cr)!=null&&e.pause(S(this,cr));break}}async on(t,e){const r=await yt(this,se,dg).call(this,t);return r.listeners.push({listener:e,once:!1}),r.started||(r.subscriber.start(),r.started=!0,S(this,cr)!=null&&r.subscriber.pause(S(this,cr))),this}async once(t,e){const r=await yt(this,se,dg).call(this,t);return r.listeners.push({listener:e,once:!0}),r.started||(r.subscriber.start(),r.started=!0,S(this,cr)!=null&&r.subscriber.pause(S(this,cr))),this}async emit(t,...e){const r=await yt(this,se,Ed).call(this,t,e);if(!r||r.listeners.length===0)return!1;const i=r.listeners.length;return r.listeners=r.listeners.filter(({listener:s,once:o})=>{const a=new qR(this,o?null:s,t);try{s.call(this,...e,a)}catch{}return!o}),r.listeners.length===0&&(r.started&&r.subscriber.stop(),S(this,ar).delete(r.tag)),i>0}async listenerCount(t){if(t){const r=await yt(this,se,Ed).call(this,t);return r?r.listeners.length:0}let e=0;for(const{listeners:r}of S(this,ar).values())e+=r.length;return e}async listeners(t){if(t){const r=await yt(this,se,Ed).call(this,t);return r?r.listeners.map(({listener:i})=>i):[]}let e=[];for(const{listeners:r}of S(this,ar).values())e=e.concat(r.map(({listener:i})=>i));return e}async off(t,e){const r=await yt(this,se,Ed).call(this,t);if(!r)return this;if(e){const i=r.listeners.map(({listener:s})=>s).indexOf(e);i>=0&&r.listeners.splice(i,1)}return(!e||r.listeners.length===0)&&(r.started&&r.subscriber.stop(),S(this,ar).delete(r.tag)),this}async removeAllListeners(t){if(t){const{tag:e,started:r,subscriber:i}=await yt(this,se,dg).call(this,t);r&&i.stop(),S(this,ar).delete(e)}else for(const[e,{started:r,subscriber:i}]of S(this,ar))r&&i.stop(),S(this,ar).delete(e);return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return this.off(t,e)}get destroyed(){return S(this,Ul)}destroy(){this.removeAllListeners();for(const t of S(this,di).keys())this._clearTimeout(t);F(this,Ul,!0)}get paused(){return S(this,cr)!=null}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(F(this,ro,-1),S(this,cr)!=null){if(S(this,cr)==!!t)return;ht(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(e=>e.pause(t)),F(this,cr,!!t);for(const e of S(this,di).values())e.timer&&clearTimeout(e.timer),e.time=Yw()-e.time}resume(){if(S(this,cr)!=null){this._forEachSubscriber(t=>t.resume()),F(this,cr,null);for(const t of S(this,di).values()){let e=t.time;e<0&&(e=0),t.time=Yw(),setTimeout(t.func,e)}}}}ar=new WeakMap,ea=new WeakMap,cr=new WeakMap,Ul=new WeakMap,qr=new WeakMap,vc=new WeakMap,na=new WeakMap,ro=new WeakMap,Gh=new WeakMap,di=new WeakMap,Dl=new WeakMap,Fl=new WeakMap,se=new WeakSet,Qr=async function(t){const e=S(this,Fl).cacheTimeout;if(e<0)return await this._perform(t);const r=Cp(t.method,t);let i=S(this,na).get(r);return i||(i=this._perform(t),S(this,na).set(r,i),setTimeout(()=>{S(this,na).get(r)===i&&S(this,na).delete(r)},e)),await i},Ob=async function(t,e,r){ht(r<tV,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});const i=vp(t);try{return Tt(await this._perform({method:"call",transaction:i,blockTag:e}))}catch(s){if(!this.disableCcipRead&&jm(s)&&s.data&&r>=0&&e==="latest"&&i.to!=null&&ln(s.data,0,4)==="0x556f1830"){const o=s.data,a=await br(i.to,this);let u;try{u=cV(ln(s.data,4))}catch(y){ht(!1,y.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:i,info:{data:o}})}ht(u.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:i,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:u.errorArgs}});const f=await this.ccipReadFetch(i,u.calldata,u.urls);ht(f!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:i,info:{data:s.data,errorArgs:u.errorArgs}});const h={to:a,data:xn([u.selector,aV([f,u.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:h});try{const y=await yt(this,se,Ob).call(this,h,e,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},h),result:y}),y}catch(y){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},h),error:y}),y}}throw s}},Nb=async function(t){const{value:e}=await gr({network:this.getNetwork(),value:t});return e},Ad=async function(t,e,r){let i=this._getAddress(e),s=this._getBlockTag(r);return(typeof i!="string"||typeof s!="string")&&([i,s]=await Promise.all([i,s])),await yt(this,se,Nb).call(this,yt(this,se,Qr).call(this,Object.assign(t,{address:i,blockTag:s})))},Cb=async function(t,e){if(Ge(t,32))return await yt(this,se,Qr).call(this,{method:"getBlock",blockHash:t,includeTransactions:e});let r=this._getBlockTag(t);return typeof r!="string"&&(r=await r),await yt(this,se,Qr).call(this,{method:"getBlock",blockTag:r,includeTransactions:e})},Ed=async function(t,e){let r=await Qw(t,this);return r.type==="event"&&e&&e.length>0&&e[0].removed===!0&&(r=await Qw({orphan:"drop-log",log:e[0]},this)),S(this,ar).get(r.tag)||null},dg=async function(t){const e=await Qw(t,this),r=e.tag;let i=S(this,ar).get(r);return i||(i={subscriber:this._getSubscriber(e),tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},S(this,ar).set(r,i)),i};function iV(n,t){try{const e=Jw(n,t);if(e)return J0(e)}catch{}return null}function Jw(n,t){if(n==="0x")return null;try{const e=ie(ln(n,t,t+32)),r=ie(ln(n,e,e+32));return ln(n,e+32,e+32+r)}catch{}return null}function Bk(n){const t=mr(n);if(t.length>32)throw new Error("internal; should not happen");const e=new Uint8Array(32);return e.set(t,32-t.length),e}function sV(n){if(n.length%32===0)return n;const t=new Uint8Array(Math.ceil(n.length/32)*32);return t.set(n),t}const oV=new Uint8Array([]);function aV(n){const t=[];let e=0;for(let r=0;r<n.length;r++)t.push(oV),e+=32;for(let r=0;r<n.length;r++){const i=we(n[r]);t[r]=Bk(e),t.push(Bk(i.length)),t.push(sV(i)),e+=32+Math.ceil(i.length/32)*32}return xn(t)}const Pk="0x0000000000000000000000000000000000000000000000000000000000000000";function cV(n){const t={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};ht(Nu(n)>=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const e=ln(n,0,32);ht(ln(e,0,12)===ln(Pk,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),t.sender=ln(e,12);try{const r=[],i=ie(ln(n,32,64)),s=ie(ln(n,i,i+32)),o=ln(n,i+32);for(let a=0;a<s;a++){const u=iV(o,a*32);if(u==null)throw new Error("abort");r.push(u)}t.urls=r}catch{ht(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{const r=Jw(n,64);if(r==null)throw new Error("abort");t.calldata=r}catch{ht(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}ht(ln(n,100,128)===ln(Pk,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),t.selector=ln(n,96,100);try{const r=Jw(n,128);if(r==null)throw new Error("abort");t.extraData=r}catch{ht(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return t.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(r=>t[r]),t}function Zu(n,t){if(n.provider)return n.provider;ht(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:t})}async function Mk(n,t){let e=vp(t);if(e.to!=null&&(e.to=br(e.to,n)),e.from!=null){const r=e.from;e.from=Promise.all([n.getAddress(),br(r,n)]).then(([i,s])=>(K(i.toLowerCase()===s.toLowerCase(),"transaction from mismatch","tx.from",s),i))}else e.from=n.getAddress();return await gr(e)}class uV{constructor(t){Z(this,"provider");$t(this,{provider:t||null})}async getNonce(t){return Zu(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}async populateCall(t){return await Mk(this,t)}async populateTransaction(t){const e=Zu(this,"populateTransaction"),r=await Mk(this,t);r.nonce==null&&(r.nonce=await this.getNonce("pending")),r.gasLimit==null&&(r.gasLimit=await this.estimateGas(r));const i=await this.provider.getNetwork();if(r.chainId!=null){const o=Ct(r.chainId);K(o===i.chainId,"transaction chainId mismatch","tx.chainId",t.chainId)}else r.chainId=i.chainId;const s=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||s)?K(!1,"eip-1559 transaction do not support gasPrice","tx",t):(r.type===0||r.type===1)&&s&&K(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1){const o=await e.getFeeData();ht(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),r.gasPrice==null&&(r.gasPrice=o.gasPrice)}else{const o=await e.getFeeData();if(r.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){const a=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=a,r.maxPriorityFeePerGas=a}else r.maxFeePerGas==null&&(r.maxFeePerGas=o.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(ht(!s,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=o.gasPrice),r.type=0):ht(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(r.type===2||r.type===3)&&(r.maxFeePerGas==null&&(r.maxFeePerGas=o.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await gr(r)}async estimateGas(t){return Zu(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return Zu(this,"call").call(await this.populateCall(t))}async resolveName(t){return await Zu(this,"resolveName").resolveName(t)}async sendTransaction(t){const e=Zu(this,"sendTransaction"),r=await this.populateTransaction(t);delete r.from;const i=wp.from(r);return await e.broadcastTransaction(await this.signTransaction(i))}}function lV(n){return JSON.parse(JSON.stringify(n))}class Lk{constructor(t){Y(this,ia);Y(this,Er);Y(this,hs);Y(this,xc);Y(this,ra);Y(this,Rc);Y(this,$l);F(this,Er,t),F(this,hs,null),F(this,xc,yt(this,ia,Bb).bind(this)),F(this,ra,!1),F(this,Rc,null),F(this,$l,!1)}_subscribe(t){throw new Error("subclasses must override this")}_emitResults(t,e){throw new Error("subclasses must override this")}_recover(t){throw new Error("subclasses must override this")}start(){S(this,ra)||(F(this,ra,!0),yt(this,ia,Bb).call(this,-2))}stop(){S(this,ra)&&(F(this,ra,!1),F(this,$l,!0),yt(this,ia,Pb).call(this),S(this,Er).off("block",S(this,xc)))}pause(t){t&&yt(this,ia,Pb).call(this),S(this,Er).off("block",S(this,xc))}resume(){this.start()}}Er=new WeakMap,hs=new WeakMap,xc=new WeakMap,ra=new WeakMap,Rc=new WeakMap,$l=new WeakMap,ia=new WeakSet,Bb=async function(t){try{S(this,hs)==null&&F(this,hs,this._subscribe(S(this,Er)));let e=null;try{e=await S(this,hs)}catch(s){if(!qn(s,"UNSUPPORTED_OPERATION")||s.operation!=="eth_newFilter")throw s}if(e==null){F(this,hs,null),S(this,Er)._recoverSubscriber(this,this._recover(S(this,Er)));return}const r=await S(this,Er).getNetwork();if(S(this,Rc)||F(this,Rc,r),S(this,Rc).chainId!==r.chainId)throw new Error("chaid changed");if(S(this,$l))return;const i=await S(this,Er).send("eth_getFilterChanges",[e]);await this._emitResults(S(this,Er),i)}catch(e){console.log("@TODO",e)}S(this,Er).once("block",S(this,xc))},Pb=function(){const t=S(this,hs);t&&(F(this,hs,null),t.then(e=>{S(this,Er).destroyed||S(this,Er).send("eth_uninstallFilter",[e])}))};class fV extends Lk{constructor(e,r){super(e);Y(this,Ic);F(this,Ic,lV(r))}_recover(e){return new Zw(e,S(this,Ic))}async _subscribe(e){return await e.send("eth_newFilter",[S(this,Ic)])}async _emitResults(e,r){for(const i of r)e.emit(S(this,Ic),e._wrapLog(i,e._network))}}Ic=new WeakMap;class hV extends Lk{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(const r of e)t.emit("pending",r)}}const dV="bigint,boolean,function,number,string,symbol".split(/,/g);function Pp(n){if(n==null||dV.indexOf(typeof n)>=0||typeof n.getAddress=="function")return n;if(Array.isArray(n))return n.map(Pp);if(typeof n=="object")return Object.keys(n).reduce((t,e)=>(t[e]=n[e],t),{});throw new Error(`should not happen: ${n} (${typeof n})`)}function pV(n){return new Promise(t=>{setTimeout(t,n)})}function qu(n){return n&&n.toLowerCase()}function Uk(n){return n&&typeof n.pollingInterval=="number"}const Dk={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class Xw extends uV{constructor(e,r){super(e);Z(this,"address");r=Le(r),$t(this,{address:r})}connect(e){ht(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(e){return await this.populateCall(e)}async sendUncheckedTransaction(e){const r=Pp(e),i=[];if(r.from){const o=r.from;i.push((async()=>{const a=await br(o,this.provider);K(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=a})())}else r.from=this.address;if(r.gasLimit==null&&i.push((async()=>{r.gasLimit=await this.provider.estimateGas({...r,from:this.address})})()),r.to!=null){const o=r.to;i.push((async()=>{r.to=await br(o,this.provider)})())}i.length&&await Promise.all(i);const s=this.provider.getRpcTransaction(r);return this.provider.send("eth_sendTransaction",[s])}async sendTransaction(e){const r=await this.provider.getBlockNumber(),i=await this.sendUncheckedTransaction(e);return await new Promise((s,o)=>{const a=[1e3,100];let u=0;const f=async()=>{try{const h=await this.provider.getTransaction(i);if(h!=null){s(h.replaceableTransaction(r));return}}catch(h){if(qn(h,"CANCELLED")||qn(h,"BAD_DATA")||qn(h,"NETWORK_ERROR")||qn(h,"UNSUPPORTED_OPERATION")){h.info==null&&(h.info={}),h.info.sendTransactionHash=i,o(h);return}if(qn(h,"INVALID_ARGUMENT")&&(u++,h.info==null&&(h.info={}),h.info.sendTransactionHash=i,u>10)){o(h);return}this.provider.emit("error",Ye("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:h}))}this.provider._setTimeout(()=>{f()},a.pop()||4e3)};f()})}async signTransaction(e){const r=Pp(e);if(r.from){const s=await br(r.from,this.provider);K(s!=null&&s.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=s}else r.from=this.address;const i=this.provider.getRpcTransaction(r);return await this.provider.send("eth_signTransaction",[i])}async signMessage(e){const r=typeof e=="string"?Ms(e):e;return await this.provider.send("personal_sign",[Tt(r),this.address.toLowerCase()])}async signTypedData(e,r,i){const s=Pp(i),o=await _p.resolveNames(e,r,s,async a=>{const u=await br(a);return K(u!=null,"TypedData does not support null address","value",a),u});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(_p.getPayload(o.domain,r,o.value))])}async unlock(e){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),e,null])}async _legacySignMessage(e){const r=typeof e=="string"?Ms(e):e;return await this.provider.send("eth_sign",[this.address.toLowerCase(),Tt(r)])}}class Fk extends rV{constructor(e,r){super(e,r);Y(this,Vh);Y(this,Sc);Y(this,Hl);Y(this,io);Y(this,ds);Y(this,Ci);Y(this,pi);Y(this,Pr);F(this,Hl,1),F(this,Sc,Object.assign({},Dk,r||{})),F(this,io,[]),F(this,ds,null),F(this,pi,null),F(this,Pr,null);{let s=null;const o=new Promise(a=>{s=a});F(this,Ci,{promise:o,resolve:s})}const i=this._getOption("staticNetwork");typeof i=="boolean"?(K(!i||e!=="any","staticNetwork cannot be used on special network 'any'","options",r),i&&e!=null&&F(this,pi,is.from(e))):i&&(K(e==null||i.matches(e),"staticNetwork MUST match network object","options",r),F(this,pi,i))}_getOption(e){return S(this,Sc)[e]}get _network(){return ht(S(this,pi),"network is not available yet","NETWORK_ERROR"),S(this,pi)}async _perform(e){if(e.method==="call"||e.method==="estimateGas"){let i=e.transaction;if(i&&i.type!=null&&Ct(i.type)&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){const s=await this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(e=Object.assign({},e,{transaction:Object.assign({},i,{type:void 0})}))}}const r=this.getRpcRequest(e);return r!=null?await this.send(r.method,r.args):super._perform(e)}async _detectNetwork(){const e=this._getOption("staticNetwork");if(e)if(e===!0){if(S(this,pi))return S(this,pi)}else return e;return S(this,Pr)?await S(this,Pr):this.ready?(F(this,Pr,(async()=>{try{const r=is.from(Ct(await this.send("eth_chainId",[])));return F(this,Pr,null),r}catch(r){throw F(this,Pr,null),r}})()),await S(this,Pr)):(F(this,Pr,(async()=>{const r={id:ao(this,Hl)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:r});let i;try{i=(await this._send(r))[0],F(this,Pr,null)}catch(s){throw F(this,Pr,null),this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:i}),"result"in i)return is.from(Ct(i.result));throw this.getRpcError(r,i)})()),await S(this,Pr))}_start(){S(this,Ci)==null||S(this,Ci).resolve==null||(S(this,Ci).resolve(),F(this,Ci,null),(async()=>{for(;S(this,pi)==null&&!this.destroyed;)try{F(this,pi,await this._detectNetwork())}catch(e){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",Ye("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:e}})),await pV(1e3)}yt(this,Vh,Mb).call(this)})())}async _waitUntilReady(){if(S(this,Ci)!=null)return await S(this,Ci).promise}_getSubscriber(e){return e.type==="pending"?new hV(this):e.type==="event"?this._getOption("polling")?new Zw(this,e.filter):new fV(this,e.filter):e.type==="orphan"&&e.filter.orphan==="drop-log"?new Bp("orphan"):super._getSubscriber(e)}get ready(){return S(this,Ci)==null}getRpcTransaction(e){const r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(i=>{if(e[i]==null)return;let s=i;i==="gasLimit"&&(s="gas"),r[s]=Bu(Ct(e[i],`tx.${i}`))}),["from","to","data"].forEach(i=>{e[i]!=null&&(r[i]=Tt(e[i]))}),e.accessList&&(r.accessList=Xa(e.accessList)),e.blobVersionedHashes&&(r.blobVersionedHashes=e.blobVersionedHashes.map(i=>i.toLowerCase())),r}getRpcRequest(e){switch(e.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[qu(e.address),e.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[qu(e.address),e.blockTag]};case"getCode":return{method:"eth_getCode",args:[qu(e.address),e.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[qu(e.address),"0x"+e.position.toString(16),e.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[e.signedTransaction]};case"getBlock":if("blockTag"in e)return{method:"eth_getBlockByNumber",args:[e.blockTag,!!e.includeTransactions]};if("blockHash"in e)return{method:"eth_getBlockByHash",args:[e.blockHash,!!e.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[e.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[e.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(e.transaction),e.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(e.transaction)]};case"getLogs":return e.filter&&e.filter.address!=null&&(Array.isArray(e.filter.address)?e.filter.address=e.filter.address.map(qu):e.filter.address=qu(e.filter.address)),{method:"eth_getLogs",args:[e.filter]}}return null}getRpcError(e,r){const{method:i}=e,{error:s}=r;if(i==="eth_estimateGas"&&s.message){const u=s.message;if(!u.match(/revert/i)&&u.match(/insufficient funds/i))return Ye("insufficient funds","INSUFFICIENT_FUNDS",{transaction:e.params[0],info:{payload:e,error:s}})}if(i==="eth_call"||i==="eth_estimateGas"){const u=t1(s),f=Eh.getBuiltinCallException(i==="eth_call"?"call":"estimateGas",e.params[0],u?u.data:null);return f.info={error:s,payload:e},f}const o=JSON.stringify(mV(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Ye("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[i]||"unknown",reason:"rejected",info:{payload:e,error:s}});if(i==="eth_sendRawTransaction"||i==="eth_sendTransaction"){const u=e.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return Ye("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:u,info:{error:s}});if(o.match(/nonce/i)&&o.match(/too low/i))return Ye("nonce has already been used","NONCE_EXPIRED",{transaction:u,info:{error:s}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Ye("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:u,info:{error:s}});if(o.match(/only replay-protected/i))return Ye("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:i,info:{transaction:u,info:{error:s}}})}let a=!!o.match(/the method .* does not exist/i);return a||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(a=!0),a?Ye("unsupported operation","UNSUPPORTED_OPERATION",{operation:e.method,info:{error:s,payload:e}}):Ye("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:e})}send(e,r){if(this.destroyed)return Promise.reject(Ye("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e}));const i=ao(this,Hl)._++,s=new Promise((o,a)=>{S(this,io).push({resolve:o,reject:a,payload:{method:e,params:r,id:i,jsonrpc:"2.0"}})});return yt(this,Vh,Mb).call(this),s}async getSigner(e){e==null&&(e=0);const r=this.send("eth_accounts",[]);if(typeof e=="number"){const s=await r;if(e>=s.length)throw new Error("no such account");return new Xw(this,s[e])}const{accounts:i}=await gr({network:this.getNetwork(),accounts:r});e=Le(e);for(const s of i)if(Le(s)===e)return new Xw(this,e);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(r=>new Xw(this,r))}destroy(){S(this,ds)&&(clearTimeout(S(this,ds)),F(this,ds,null));for(const{payload:e,reject:r}of S(this,io))r(Ye("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e.method}));F(this,io,[]),super.destroy()}}Sc=new WeakMap,Hl=new WeakMap,io=new WeakMap,ds=new WeakMap,Ci=new WeakMap,pi=new WeakMap,Pr=new WeakMap,Vh=new WeakSet,Mb=function(){if(S(this,ds))return;const e=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");F(this,ds,setTimeout(()=>{F(this,ds,null);const r=S(this,io);for(F(this,io,[]);r.length;){const i=[r.shift()];for(;r.length&&i.length!==S(this,Sc).batchMaxCount;)if(i.push(r.shift()),JSON.stringify(i.map(o=>o.payload)).length>S(this,Sc).batchMaxSize){r.unshift(i.pop());break}(async()=>{const s=i.length===1?i[0].payload:i.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:s});try{const o=await this._send(s);this.emit("debug",{action:"receiveRpcResult",result:o});for(const{resolve:a,reject:u,payload:f}of i){if(this.destroyed){u(Ye("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:f.method}));continue}const h=o.filter(y=>y.id===f.id)[0];if(h==null){const y=Ye("missing response for request","BAD_DATA",{value:o,info:{payload:f}});this.emit("error",y),u(y);continue}if("error"in h){u(this.getRpcError(f,h));continue}a(h.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(const{reject:a}of i)a(o)}})()}},e))};class gV extends Fk{constructor(e,r){super(e,r);Y(this,sa);let i=this._getOption("pollingInterval");i==null&&(i=Dk.pollingInterval),F(this,sa,i)}_getSubscriber(e){const r=super._getSubscriber(e);return Uk(r)&&(r.pollingInterval=S(this,sa)),r}get pollingInterval(){return S(this,sa)}set pollingInterval(e){if(!Number.isInteger(e)||e<0)throw new Error("invalid interval");F(this,sa,e),this._forEachSubscriber(r=>{Uk(r)&&(r.pollingInterval=S(this,sa))})}}sa=new WeakMap;class yV extends gV{constructor(e,r,i){e==null&&(e="http://localhost:8545");super(r,i);Y(this,zl);typeof e=="string"?F(this,zl,new Ls(e)):F(this,zl,e.clone())}_getConnection(){return S(this,zl).clone()}async send(e,r){return await this._start(),await super.send(e,r)}async _send(e){const r=this._getConnection();r.body=JSON.stringify(e),r.setHeader("content-type","application/json");const i=await r.send();i.assertOk();let s=i.bodyJson;return Array.isArray(s)||(s=[s]),s}}zl=new WeakMap;function t1(n){if(n==null)return null;if(typeof n.message=="string"&&n.message.match(/revert/i)&&Ge(n.data))return{message:n.message,data:n.data};if(typeof n=="object"){for(const t in n){const e=t1(n[t]);if(e)return e}return null}if(typeof n=="string")try{return t1(JSON.parse(n))}catch{}return null}function e1(n,t){if(n!=null){if(typeof n.message=="string"&&t.push(n.message),typeof n=="object")for(const e in n)e1(n[e],t);if(typeof n=="string")try{return e1(JSON.parse(n),t)}catch{}}}function mV(n){const t=[];return e1(n,t),t}function wV(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof qc<"u")return qc;throw new Error("unable to locate global object")}const bV=wV().WebSocket;class n1{constructor(t,e){Y(this,ps);Y(this,Kh);Y(this,oa);Y(this,kc);Y(this,aa);F(this,ps,t),F(this,Kh,JSON.stringify(e)),F(this,oa,null),F(this,kc,null),F(this,aa,null)}get filter(){return JSON.parse(S(this,Kh))}start(){F(this,oa,S(this,ps).send("eth_subscribe",this.filter).then(t=>(S(this,ps)._register(t,this),t)))}stop(){S(this,oa).then(t=>{S(this,ps).destroyed||S(this,ps).send("eth_unsubscribe",[t])}),F(this,oa,null)}pause(t){ht(t,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),F(this,kc,!!t)}resume(){F(this,kc,null)}_handleMessage(t){if(S(this,oa)!=null&&S(this,kc)===null){let e=S(this,aa);e==null?e=this._emit(S(this,ps),t):e=e.then(async()=>{await this._emit(S(this,ps),t)}),F(this,aa,e.then(()=>{S(this,aa)===e&&F(this,aa,null)}))}}async _emit(t,e){throw new Error("sub-classes must implemente this; _emit")}}ps=new WeakMap,Kh=new WeakMap,oa=new WeakMap,kc=new WeakMap,aa=new WeakMap;class _V extends n1{constructor(t){super(t,["newHeads"])}async _emit(t,e){t.emit("block",parseInt(e.number))}}class AV extends n1{constructor(t){super(t,["newPendingTransactions"])}async _emit(t,e){t.emit("pending",e)}}class EV extends n1{constructor(e,r){super(e,["logs",r]);Y(this,jh);F(this,jh,JSON.stringify(r))}get logFilter(){return JSON.parse(S(this,jh))}async _emit(e,r){e.emit(this.logFilter,e._wrapLog(r,e._network))}}jh=new WeakMap;class vV extends Fk{constructor(e,r){const i=Object.assign({},r??{});K(i.batchMaxCount==null||i.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",r),i.batchMaxCount=1,i.staticNetwork==null&&(i.staticNetwork=!0);super(e,i);Y(this,Tc);Y(this,Gl);Y(this,ca);F(this,Tc,new Map),F(this,Gl,new Map),F(this,ca,new Map)}_getSubscriber(e){switch(e.type){case"close":return new Bp("close");case"block":return new _V(this);case"pending":return new AV(this);case"event":return new EV(this,e.filter);case"orphan":if(e.filter.orphan==="drop-log")return new Bp("drop-log")}return super._getSubscriber(e)}_register(e,r){S(this,Gl).set(e,r);const i=S(this,ca).get(e);if(i){for(const s of i)r._handleMessage(s);S(this,ca).delete(e)}}async _send(e){K(!Array.isArray(e),"WebSocket does not support batch send","payload",e);const r=new Promise((i,s)=>{S(this,Tc).set(e.id,{payload:e,resolve:i,reject:s})});return await this._waitUntilReady(),await this._write(JSON.stringify(e)),[await r]}async _processMessage(e){const r=JSON.parse(e);if(r&&typeof r=="object"&&"id"in r){const i=S(this,Tc).get(r.id);if(i==null){this.emit("error",Ye("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:r}));return}S(this,Tc).delete(r.id),i.resolve(r)}else if(r&&r.method==="eth_subscription"){const i=r.params.subscription,s=S(this,Gl).get(i);if(s)s._handleMessage(r.params.result);else{let o=S(this,ca).get(i);o==null&&(o=[],S(this,ca).set(i,o)),o.push(r.params.result)}}else{this.emit("error",Ye("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:r}));return}}async _write(e){throw new Error("sub-classes must override this")}}Tc=new WeakMap,Gl=new WeakMap,ca=new WeakMap;class xV extends vV{constructor(e,r,i){super(r,i);Y(this,Oc);Y(this,Bi);typeof e=="string"?(F(this,Oc,()=>new bV(e)),F(this,Bi,S(this,Oc).call(this))):typeof e=="function"?(F(this,Oc,e),F(this,Bi,e())):(F(this,Oc,null),F(this,Bi,e)),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(s){console.log("failed to start WebsocketProvider",s)}},this.websocket.onmessage=s=>{this._processMessage(s.data)}}get websocket(){if(S(this,Bi)==null)throw new Error("websocket closed");return S(this,Bi)}async _write(e){this.websocket.send(e)}async destroy(){S(this,Bi)!=null&&(S(this,Bi).close(),F(this,Bi,null)),super.destroy()}}Oc=new WeakMap,Bi=new WeakMap;const RV={_format:"hh-sol-artifact-1",contractName:"SwarmEventEmitter",sourceName:"contracts/SwarmEventEmitter.sol",abi:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"string",name:"message",type:"string"}],name:"MessageLogged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"RemovedFromWhitelist",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"Whitelisted",type:"event"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"addToWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"message",type:"string"}],name:"emitMessage",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"removeFromWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"whitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],bytecode:"0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a26107b08061013b6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632ac0df261461005c5780638ab1d68114610078578063d936547e14610094578063e43252d7146100c4578063f851a440146100e0575b600080fd5b610076600480360381019061007191906104e8565b6100fe565b005b610092600480360381019061008d9190610593565b6101de565b005b6100ae60048036038101906100a99190610593565b61030a565b6040516100bb91906105db565b60405180910390f35b6100de60048036038101906100d99190610593565b61032a565b005b6100e8610455565b6040516100f59190610605565b60405180910390f35b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101819061067d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fda502b164eb5cfccfa9f947e0fdc1a0bd060adfef2947810b256321c1a74ca4183836040516101d29291906106ea565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102639061075a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df75760405160405180910390a250565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061075a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126104a8576104a7610483565b5b8235905067ffffffffffffffff8111156104c5576104c4610488565b5b6020830191508360018202830111156104e1576104e061048d565b5b9250929050565b600080602083850312156104ff576104fe610479565b5b600083013567ffffffffffffffff81111561051d5761051c61047e565b5b61052985828601610492565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061056082610535565b9050919050565b61057081610555565b811461057b57600080fd5b50565b60008135905061058d81610567565b92915050565b6000602082840312156105a9576105a8610479565b5b60006105b78482850161057e565b91505092915050565b60008115159050919050565b6105d5816105c0565b82525050565b60006020820190506105f060008301846105cc565b92915050565b6105ff81610555565b82525050565b600060208201905061061a60008301846105f6565b92915050565b600082825260208201905092915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000610667600f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006106c98385610620565b93506106d683858461069d565b6106df836106ac565b840190509392505050565b600060208201905081810360008301526107058184866106bd565b90509392505050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000610744600983610620565b915061074f8261070e565b602082019050919050565b6000602082019050818103600083015261077381610737565b905091905056fea26469706673582212202ad433ea9240cc561f6b9168c7880800e372f26e322166cedd6ce135222e699764736f6c634300081c0033",deployedBytecode:"0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632ac0df261461005c5780638ab1d68114610078578063d936547e14610094578063e43252d7146100c4578063f851a440146100e0575b600080fd5b610076600480360381019061007191906104e8565b6100fe565b005b610092600480360381019061008d9190610593565b6101de565b005b6100ae60048036038101906100a99190610593565b61030a565b6040516100bb91906105db565b60405180910390f35b6100de60048036038101906100d99190610593565b61032a565b005b6100e8610455565b6040516100f59190610605565b60405180910390f35b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101819061067d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fda502b164eb5cfccfa9f947e0fdc1a0bd060adfef2947810b256321c1a74ca4183836040516101d29291906106ea565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102639061075a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df75760405160405180910390a250565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061075a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126104a8576104a7610483565b5b8235905067ffffffffffffffff8111156104c5576104c4610488565b5b6020830191508360018202830111156104e1576104e061048d565b5b9250929050565b600080602083850312156104ff576104fe610479565b5b600083013567ffffffffffffffff81111561051d5761051c61047e565b5b61052985828601610492565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061056082610535565b9050919050565b61057081610555565b811461057b57600080fd5b50565b60008135905061058d81610567565b92915050565b6000602082840312156105a9576105a8610479565b5b60006105b78482850161057e565b91505092915050565b60008115159050919050565b6105d5816105c0565b82525050565b60006020820190506105f060008301846105cc565b92915050565b6105ff81610555565b82525050565b600060208201905061061a60008301846105f6565b92915050565b600082825260208201905092915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000610667600f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006106c98385610620565b93506106d683858461069d565b6106df836106ac565b840190509392505050565b600060208201905081810360008301526107058184866106bd565b90509392505050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000610744600983610620565b915061074f8261070e565b602082019050919050565b6000602082019050818103600083015261077381610737565b905091905056fea26469706673582212202ad433ea9240cc561f6b9168c7880800e372f26e322166cedd6ce135222e699764736f6c634300081c0033",linkReferences:{},deployedLinkReferences:{}},IV={address:"Eai8D93JKad51sYmft1r74fzLkBSwRGPQVAmwZoLoWDf",metadata:{name:"swarm_event_emitter",version:"0.1.0",spec:"0.1.0",description:"Created with Anchor"},instructions:[{name:"add_to_whitelist",discriminator:[157,211,52,54,144,81,5,55],accounts:[{name:"state",writable:!0},{name:"admin",signer:!0}],args:[{name:"user",type:"pubkey"}]},{name:"emit_message",discriminator:[118,99,20,87,25,132,207,62],accounts:[{name:"state",writable:!0},{name:"user",signer:!0}],args:[{name:"message",type:"string"}]},{name:"initialize",discriminator:[175,175,109,31,13,152,155,237],accounts:[{name:"state",writable:!0,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"}],args:[]},{name:"remove_from_whitelist",discriminator:[7,144,216,239,243,236,193,235],accounts:[{name:"state",writable:!0},{name:"admin",signer:!0}],args:[{name:"user",type:"pubkey"}]}],accounts:[{name:"State",discriminator:[216,146,107,94,104,75,182,177]}],events:[{name:"MessageLogged",discriminator:[24,236,247,207,227,70,101,210]},{name:"RemovedFromWhitelist",discriminator:[107,247,94,185,182,200,82,172]},{name:"Whitelisted",discriminator:[235,202,86,232,226,75,139,182]}],errors:[{code:6e3,name:"NotAdmin",msg:"Only the admin can perform this action."},{code:6001,name:"NotWhitelisted",msg:"You are not whitelisted."}],types:[{name:"MessageLogged",type:{kind:"struct",fields:[{name:"sender",type:"pubkey"},{name:"message",type:"string"}]}},{name:"RemovedFromWhitelist",type:{kind:"struct",fields:[{name:"account",type:"pubkey"}]}},{name:"State",type:{kind:"struct",fields:[{name:"admin",type:"pubkey"},{name:"whitelisted",type:{vec:"pubkey"}}]}},{name:"Whitelisted",type:{kind:"struct",fields:[{name:"account",type:"pubkey"}]}}]};class SV{constructor(t){this.settings=t,this.evm=null,this.svm=null,this.init()}init(){this.settings.chainType==="EVM"?this.initEvm():this.settings.chainType==="SVM"&&this.initSvm()}initEvm(){const{rpcUrl:t,contractAddress:e}=this.settings;if(!e)throw new Error("Contract address is required for EVM chain type");const r=t.startsWith("ws")?new xV(t):new yV(t),i=new ju(e,RV.abi,r);this.evm={provider:r,contract:i}}initSvm(){const t=new zE(this.settings.rpcUrl,"confirmed"),e=Ba.generate(),r={signTransaction:async o=>o,signAllTransactions:async o=>o,publicKey:e.publicKey},i=new nh(t,r,{}),s=new Tu(IV,i);this.svm={provider:t,program:s}}async onMessageFrom(t,e){this.settings.chainType==="EVM"?this.listenToEvm(t,e):this.settings.chainType==="SVM"&&await this.listenToSvm(t,e)}listenToEvm(t,e){var r;(r=this.evm)==null||r.contract.on("MessageLogged",(i,s)=>{const[o,a]=s.split("_");ef(i.toLowerCase())===ef(this.settings.swarmEmitterAddress.toLowerCase())&&o===t&&e(i,s)})}async listenToSvm(t,e){var i;const r=(i=this.svm)==null?void 0:i.program.addEventListener("messageLogged",s=>{const{sender:o,message:a}=s,[u,f]=a.split("_");o.toBase58()===this.settings.swarmEmitterAddress&&u===t&&e(o.toBase58(),a)});this.svm&&r!==void 0&&(this.svm.listenerId=r)}async removeAllListeners(){var t,e;this.settings.chainType==="EVM"&&((t=this.evm)==null||t.contract.removeAllListeners("MessageLogged")),this.settings.chainType==="SVM"&&((e=this.svm)==null?void 0:e.listenerId)!==void 0&&(await this.svm.program.removeEventListener(this.svm.listenerId),this.svm.listenerId=void 0)}}const kV=new TextEncoder,$k=1,Hk=4096,r1=4096,TV=32;function OV(n,t){return t=typeof t=="number"?xt.FeedIndex.fromBigInt(BigInt(t)):t,new xt.Identifier(Xn.keccak256(Xn.concatBytes(n.toUint8Array(),t.toUint8Array())))}function NV(n){const t=n.slice(0,xt.Span.LENGTH),e=n.slice(xt.Span.LENGTH),r=CV(e),i=Xn.keccak256(Xn.concatBytes(t,r));return new xt.Reference(i)}function CV(n){if(n.length>r1)throw new xt.BeeArgumentError(`payload size ${n.length} exceeds maximum chunk payload size ${r1}`,n);const t=new Uint8Array(r1);return t.set(n),Xn.log2Reduce(Xn.partition(t,TV),(e,r)=>Xn.keccak256(Xn.concatBytes(e,r)))}function zk(n){if(n instanceof Uint8Array||(n=kV.encode(n)),n.length<$k||n.length>Hk)throw new RangeError(`payload size ${n.length} exceeds limits [${$k}, ${Hk}]`);const t=xt.Span.fromBigInt(BigInt(n.length)),e=Xn.concatBytes(t.toUint8Array(),n);return{data:e,span:t,payload:xt.Bytes.fromSlice(e,xt.Span.LENGTH),address:NV(e)}}function BV(n,t){return new xt.Reference(Xn.keccak256(Xn.concatBytes(n.toUint8Array(),t.toUint8Array())))}function Gk(n,t,e){t=new xt.Identifier(t),e=new xt.PrivateKey(e);const r=BV(t,e.publicKey().address()),i=e.sign(Xn.concatBytes(t.toUint8Array(),n.address.toUint8Array())),s=Xn.concatBytes(t.toUint8Array(),i.toUint8Array(),n.data),o=xt.Span.fromSlice(n.data,0),a=xt.Bytes.fromSlice(n.data,xt.Span.LENGTH);return{data:s,identifier:t,signature:i,span:o,payload:a,address:r,owner:e.publicKey().address()}}class PV{constructor(t,e){this.userDetails=t,this.swarmSettings=e,this.depth=24,this.logger=Mi.getInstance(),this.errorHandler=new Sg,this.UPLOAD_GSOC_TIMEOUT=2e3}async writeOwnFeedDataByIndex(t,e){const{enveloped:r,stamp:i}=this.swarmSettings;if(!r)await this.writeOwnFeedDataByIndexOwned(t,e);else if(i)await this.writeOwnFeedDataByIndexEnvelope(t,e);else throw new Error("Enveloped mode is enabled, but stamp is not provided")}async writeOwnFeedDataByIndexOwned(t,e){const{bee:r,stamp:i,chatTopic:s}=this.swarmSettings,{privateKey:o,ownAddress:a}=this.userDetails,u=this.generateUserOwnedFeedId(s,a),f=xt.Topic.fromString(u);console.log("DEBUG: feedID write",f.toString(),a,t,u),await r.makeFeedWriter(f,new xt.PrivateKey(o)).uploadPayload(i,JSON.stringify(e),{index:t})}async writeOwnFeedDataByIndexEnvelope(t,e){const{bee:r,stamp:i,chatTopic:s}=this.swarmSettings,{privateKey:o,ownAddress:a}=this.userDetails,u=new xt.PrivateKey(o),f=xt.Stamper.fromBlank(o,i,this.depth),h=this.generateUserOwnedFeedId(s,a),y=xt.Topic.fromString(h),_=OV(y,t),w=zk(e),R=Gk(w,_,u),T={hash:()=>R.address.toUint8Array()},I=f.stamp(T),{upload:B}=r.makeSOCWriter(u),H=xt.Bytes.fromUtf8(e);return(await B(I,_,H.toUint8Array())).reference.toHex()}async fetchUserFeedDataByIndex(t,e,r){const{bee:i,chatTopic:s}=this.swarmSettings,o=(r==null?void 0:r.timeout)??1500,a=this.generateUserOwnedFeedId(s,t),u=xt.Topic.fromString(a);return console.log("DEBUG: feedID read",u.toString(),t,e,a),(await i.makeFeedReader(u,t,{timeout:o}).downloadPayload({index:e})).payload.toJSON()}orderMessages(t){return t.sort((e,r)=>e.timestamp-r.timestamp)}async retryAwaitableAsync(t,e=3,r=250){return new Promise((i,s)=>{t().then(i).catch(o=>{e>0?(this.logger.info(`Retrying... Attempts left: ${e}. Error: ${o.message}`),setTimeout(()=>{this.retryAwaitableAsync(t,e-1,r).then(i).catch(s)},r)):(this.errorHandler.handleError(o,"Utils.retryAwaitableAsync"),s(o))})})}async uploadObjectToBee(t){const{enveloped:e,stamp:r}=this.swarmSettings;if(e){if(r)return this.uploadObjectToBeeEnvelope(t);throw new Error("Enveloped mode is enabled, but stamp is not provided")}else return this.uploadObjectToBeeOwn(t)}async uploadObjectToBeeOwn(t){try{const{bee:e,stamp:r}=this.swarmSettings,i=await e.uploadData(r,JSON.stringify(t),{redundancyLevel:4});return console.log("DEBUG: result",i.reference.toString()),i.reference.toString()}catch(e){return this.errorHandler.handleError(e,"Utils.uploadObjectToBee"),null}}async uploadObjectToBeeEnvelope(t){try{const{bee:e,stamp:r}=this.swarmSettings,{privateKey:i}=this.userDetails,s=xt.Stamper.fromBlank(i,r,this.depth),o=xt.Bytes.fromUtf8(JSON.stringify(t)),a=new q8(async f=>{await e.uploadChunk(s.stamp(f),f.build())});await a.append(o.toUint8Array());const u=await a.finalize();return Xn.uint8ArrayToHex(u.hash())}catch(e){return this.errorHandler.handleError(e,"Utils.uploadObjectToBee"),null}}async downloadObjectFromBee(t){try{const{bee:e}=this.swarmSettings;return(await e.downloadData(t)).toJSON()}catch(e){return this.errorHandler.handleError(e,"Utils.beeDownloadObject"),null}}async getOwnLatestFeedIndex(){try{const{bee:t,chatTopic:e}=this.swarmSettings,{ownAddress:r}=this.userDetails,i=this.generateUserOwnedFeedId(e,r),s=xt.Topic.fromString(i),a=await t.makeFeedReader(s,r).downloadPayload(),u=Number(a.feedIndex.toBigInt()),f=u+1;return console.log("DEBUG: getLatestFeedIndex",u,f),{latestIndex:u,nextIndex:f}}catch(t){if(this.isNotFoundError(t))return{latestIndex:-1,nextIndex:0};throw t}}async fetchLatestChatMessage(){const{bee:t,chatTopic:e,chatAddress:r}=this.swarmSettings,s=await t.makeFeedReader(xt.Topic.fromString(e),ef(r)).downloadPayload();return{message:s.payload.toJSON(),index:s.feedIndex}}async fetchChatMessage(t){const{bee:e,chatTopic:r,chatAddress:i}=this.swarmSettings;return(await e.makeFeedReader(xt.Topic.fromString(r),ef(i)).downloadPayload({index:t})).payload.toJSON()}async sendMessageToGsoc(t){const{enveloped:e,stamp:r}=this.swarmSettings;if(!e)await this.sendMessageToGsocOwn(t);else if(r)await this.sendMessageToGsocEnvelope(t);else throw new Error("Enveloped mode is enabled, but stamp is not provided")}async sendMessageToGsocOwn(t){this.logger.debug("sendMessageToGsoc entry CALLED");const{bee:e,stamp:r,gsocTopic:i,gsocResourceId:s}=this.swarmSettings,o=new xt.PrivateKey(s),a=xt.Identifier.fromString(i),u=xt.Bytes.fromUtf8(t),{upload:f}=e.makeSOCWriter(o,{timeout:this.UPLOAD_GSOC_TIMEOUT});await f(r,a,u.toUint8Array()),this.logger.debug("sendMessageToGsoc end CALLED")}async sendMessageToGsocEnvelope(t){this.logger.debug("sendMessageToGsoc entry CALLED");const{bee:e,stamp:r,gsocTopic:i,gsocResourceId:s}=this.swarmSettings,{privateKey:o}=this.userDetails,a=xt.Stamper.fromBlank(o,r,this.depth),u=new xt.PrivateKey(s),f=xt.Identifier.fromString(i),h=xt.Bytes.fromUtf8(t),y=zk(h.toUint8Array()),_=Gk(y,f,u),w={hash:()=>_.address.toUint8Array()},R=a.stamp(w),{upload:T}=e.makeSOCWriter(u,{timeout:this.UPLOAD_GSOC_TIMEOUT});await T(R,f,h.toUint8Array()),this.logger.debug("sendMessageToGsoc end CALLED")}generateUserOwnedFeedId(t,e){return`${t}_EthercastChat_${e}`}isNotFoundError(t){return t.stack.includes("404")||t.message.includes("Not Found")||t.message.includes("404")}}class MV{constructor(t){var r,i,s;this.logger=Mi.getInstance(),this.errorHandler=new Sg,this.messagesQueue=new I_({concurrency:1}),this.gsocListenerQueue=new I_({concurrency:1}),this.activeUsers={},this.latestMessage=null,this.userIndexCache={};const e=new xt.PrivateKey(ef(t.user.privateKey));this.userDetails={privateKey:t.user.privateKey,ownAddress:e.publicKey().address().toString(),nickname:t.user.nickname,ownIndex:-1},this.swarmSettings={bee:new xt.Bee(t.infra.swarm.beeUrl),stamp:t.infra.swarm.stamp||"0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",enveloped:t.infra.swarm.enveloped,customGsocCallback:t.infra.swarm.customGsocCallback,gsocTopic:t.infra.swarm.gsocTopic,gsocResourceId:t.infra.swarm.gsocResourceId,chatTopic:t.infra.swarm.chatTopic,chatAddress:t.infra.swarm.chatAddress},this.options={fetchMessageTimer:null,idleUserCleanupInterval:null,FETCH_MESSAGE_INTERVAL_TIME:((r=t.options)==null?void 0:r.fetchMessageIntervalTime)||1e3,IDLE_USER_CLEANUP_INTERVAL_TIME:((i=t.options)==null?void 0:i.idleUserCleanupIntervalTime)||5e3,READ_MESSAGE_TIMEOUT:((s=t.options)==null?void 0:s.readMessageTimeout)||1500},this.emitter=new Z8,this.utils=new PV(this.userDetails,this.swarmSettings),this.history=new sP(this.utils,this.emitter),!this.swarmSettings.customGsocCallback&&t.infra.chain&&(this.swarmEventEmitterReader=new SV(t.infra.chain))}start(){this.init(),this.startMessagesFetchProcess(),this.startIdleUserCleanup(),this.swarmSettings.customGsocCallback||this.subscribeToGSOCEvent()}stop(){this.stopMessagesFetchProcess(),this.stopIdleUserCleanup(),this.emitter.cleanAll(),this.swarmSettings.customGsocCallback||this.unsubFromGSOCEvent()}getEmitter(){return this.emitter}orderMessages(t){return this.utils.orderMessages(t)}async sendMessage(t,e){const r=this.userDetails.ownIndex===-1?0:this.userDetails.ownIndex+1,i={id:e||W8(),username:this.userDetails.nickname,address:this.userDetails.ownAddress,timestamp:Date.now(),index:r,message:t};try{this.emitter.emit(Ur.MESSAGE_REQUEST_INITIATED,i),await this.utils.writeOwnFeedDataByIndex(r,JSON.stringify(i)),this.userDetails.ownIndex=r,this.emitter.emit(Ur.MESSAGE_REQUEST_UPLOADED,i),await this.broadcastUserMessage()}catch(s){this.emitter.emit(Ur.MESSAGE_REQUEST_ERROR,i),this.errorHandler.handleError(s,"Chat.sendMessage")}}async fetchPreviousMessages(){try{return this.emitter.emit(Ur.LOADING_PREVIOUS_MESSAGES,!0),await this.history.fetchPreviousMessages()}finally{this.emitter.emit(Ur.LOADING_PREVIOUS_MESSAGES,!1)}}async retrySendMessage(t){this.sendMessage(t.message,t.id)}async retryBroadcastUserMessage(t){this.broadcastUserMessage()}async init(){try{this.emitter.emit(Ur.LOADING_INIT,!0);const[t,e]=await Promise.allSettled([this.initOwnIndex(),this.history.init()]);if(t.status==="rejected")throw t.reason;e.status==="rejected"&&this.logger.warn(`historyInitResult failed: ${e.reason}`),this.emitter.emit(Ur.LOADING_INIT,!1)}catch(t){this.errorHandler.handleError(t,"Chat.initSelfState"),this.emitter.emit(Ur.CRITICAL_ERROR,t)}}async initOwnIndex(){const{latestIndex:r}=await this.utils.retryAwaitableAsync(()=>this.utils.getOwnLatestFeedIndex(),10,1e3);this.userDetails.ownIndex=r}subscribeToGSOCEvent(){try{this.swarmEventEmitterReader.onMessageFrom(this.swarmSettings.chatTopic,(t,e)=>this.gsocListenerQueue.add(()=>this.processGsocEvent(e)))}catch(t){this.errorHandler.handleError(t,"Chat.subscribeToGSOCEvent"),this.emitter.emit(Ur.CRITICAL_ERROR,t)}}callbackProcessGsocEvent(t){try{this.gsocListenerQueue.add(()=>this.processGsocEvent(t))}catch(e){this.errorHandler.handleError(e,"Chat.callbackProcessGsocEvent"),this.emitter.emit(Ur.CRITICAL_ERROR,e)}}async processGsocEvent(t){try{console.log("processGsocMessage CALLED",t);const[e,r]=t.split("_"),i=xt.FeedIndex.fromBigInt(BigInt(`0x${r}`)),s=await this.utils.fetchChatMessage(i);if(console.log("DEBUG processGsocMessage",s),!tP(s)){this.logger.warn("Invalid GSOC message during processing");return}if(this.logger.debug("New GSOC message:",s),D8(this.latestMessage,s))return;this.updateActiveUsers(s.messageSender),this.latestMessage=s}catch(e){this.errorHandler.handleError(e,"Chat.processGsocMessage")}}async waitForMessageBroadcast(t){return rP({condition:()=>Object.values(this.activeUsers).some(e=>e.index===t),broadcast:()=>this.broadcastUserMessage()})}async broadcastUserMessage(){try{this.logger.debug("broadcastUserMessage entry CALLED");const t=await this.makeMessageSender();console.log("DEBUG broadcastUserMessage",t),await this.utils.retryAwaitableAsync(()=>this.utils.sendMessageToGsoc(JSON.stringify({topic:this.swarmSettings.chatTopic,messageSender:t})))}catch(t){this.errorHandler.handleError(t,"Chat.broadcastUserMessage")}}async makeMessageSender(){const{ownAddress:t,privateKey:e,nickname:r}=this.userDetails,i=new xt.EthAddress(t).toString(),s=new xt.PrivateKey(e);if(s.publicKey().address().toString()!==i)throw new Error("The provided address does not match the address derived from the private key");const a=Date.now(),u=s.sign(JSON.stringify({username:r,address:i,timestamp:a}));return{address:i,timestamp:a,signature:u.toHex(),index:this.getOwnIndex(),username:r}}async readAllActiveUserMessage(){if(!(this.messagesQueue.size>0||this.messagesQueue.pending>0))for(const e of Object.values(this.activeUsers))this.messagesQueue.add(()=>this.readMessage(e))}async readMessage(t){try{let e;const r=this.isUserIndexRead(t.address,t.index);if(r.isIndexRead)return;e=r.cachedIndex?r.cachedIndex+1:t.index;const i=await this.utils.fetchUserFeedDataByIndex(t.address,e);this.setUserIndexCache(t.address,e),this.emitter.emit(Ur.MESSAGE_RECEIVED,JSON.parse(i))}catch(e){this.errorHandler.handleError(e,"readMessage")}}unsubFromGSOCEvent(){this.swarmEventEmitterReader.removeAllListeners()}startMessagesFetchProcess(){const{fetchMessageTimer:t,FETCH_MESSAGE_INTERVAL_TIME:e}=this.options;if(t){this.logger.warn("Messages fetch process is already running.");return}this.options.fetchMessageTimer=setInterval(this.readAllActiveUserMessage.bind(this),e)}stopMessagesFetchProcess(){const{fetchMessageTimer:t}=this.options;t&&(clearInterval(t),this.options.fetchMessageTimer=null)}startIdleUserCleanup(){const{idleUserCleanupInterval:t,IDLE_USER_CLEANUP_INTERVAL_TIME:e}=this.options;if(t){this.logger.warn("Idle user cleanup is already running.");return}this.options.idleUserCleanupInterval=setInterval(this.removeIdleUsers.bind(this),e)}stopIdleUserCleanup(){const{idleUserCleanupInterval:t}=this.options;t&&(clearInterval(t),this.options.idleUserCleanupInterval=null)}isUserIndexRead(t,e){const r=this.userIndexCache[t];return{cachedIndex:r,isIndexRead:r===e}}setUserIndexCache(t,e){this.userIndexCache[t]=e}getOwnIndex(){return this.userDetails.ownIndex}removeIdleUsers(){const t=Date.now();for(const e of Object.values(this.activeUsers))t-e.timestamp>300*iP&&delete this.activeUsers[e.address]}updateActiveUsers(t){this.activeUsers[t.address]=t}}ue.EVENTS=Ur,ue.SwarmChat=MV,Object.defineProperty(ue,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(ce,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("@ethersphere/bee-js")):typeof define=="function"&&define.amd?define(["exports","@ethersphere/bee-js"],S):(ce=typeof globalThis<"u"?globalThis:ce||self,S(ce.SwarmChatJs={},ce.BeeJs))})(this,function(ce,S){"use strict";const P=[];for(let a=0;a<256;++a)P.push((a+256).toString(16).slice(1));function pi(a,n=0){return(P[a[n+0]]+P[a[n+1]]+P[a[n+2]]+P[a[n+3]]+"-"+P[a[n+4]]+P[a[n+5]]+"-"+P[a[n+6]]+P[a[n+7]]+"-"+P[a[n+8]]+P[a[n+9]]+"-"+P[a[n+10]]+P[a[n+11]]+P[a[n+12]]+P[a[n+13]]+P[a[n+14]]+P[a[n+15]]).toLowerCase()}let Vt;const gi=new Uint8Array(16);function yi(){if(!Vt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Vt=crypto.getRandomValues.bind(crypto)}return Vt(gi)}const Sn={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function vi(a,n,i){if(Sn.randomUUID&&!n&&!a)return Sn.randomUUID();a=a||{};const c=a.random||(a.rng||yi)();return c[6]=c[6]&15|64,c[8]=c[8]&63|128,pi(c)}function wi(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var On={};(function(a){var n;Object.defineProperty(a,"__esModule",{value:!0}),a.Vector=a.Cache=a.Assertions=a.Strings=a.Types=a.Objects=a.Dates=a.Promises=a.Numbers=a.System=a.Arrays=a.Random=a.Elliptic=a.Binary=a.AsyncQueue=a.PubSubChannel=a.FixedPointNumber=a.MerkleTree=a.Chunk=a.Uint8ArrayWriter=a.Uint8ArrayReader=a.AsyncLazy=a.Lazy=a.Optional=void 0;async function i(e){return new Promise((t,r)=>e.then(r,t))}async function c(e){return i(Promise.all(e.map(i)))}async function u(e,t=1){const r=Bs(e,t),s=[],o=r.map(async d=>{for(const f of d)s.push(await f())});return await Promise.all(o),s}async function l(e){return new Promise(t=>setTimeout(()=>{t(!0)},e))}function h(e,t=Math.random){for(let r=e.length-1;r>0;r--){const s=Math.floor(t()*(r+1)),o=e[r];e[r]=e[s],e[s]=o}return e}function m(e){if(e.length===1)return e[0];throw Error(`Expected exactly one element, actual: ${e.length}`)}function w(e){return e.length===1?e[0]:null}function v(e){return e.length>0?e[0]:null}function E(e){if(!e.length)throw Error("Received empty array");return e[0]}function D(e,t){const r=[];for(let s=0;s<e;s++)r.push(t(s));return r}function ie(e){const t=[];for(let r=0;r<e[0].length;r++){t.push([]);for(let s=0;s<e.length;s++)t[r].push(e[s][r])}return t}function ae(e,t,r){const s=[];for(let o=0;o<e;o++){s.push([]);for(let d=0;d<t;d++)s[o].push(r)}return s}function nt(e,t,r,s){if(r<0||s<0||s+t[0].length>e[0].length||r+t.length>e.length)return!1;for(let o=0;o<t.length;o++)for(let d=0;d<t[o].length;d++)if(t[o][d]!==void 0&&e[r+o][s+d]!==t[o][d])return!1;return!0}function Ne(e,t,r=Math.random){return h(cs(0,e.length-1),r).slice(0,t)}function er(e,t){return e.map(r=>r[t])}function tr(e){let t=e,r=3405648695,s=3735928559;return function(){return t+=r,r^=t<<7,t*=s,s^=t<<13,t^=r^s,(t>>>0)/4294967296}}function st(e,t,r=Math.random){return Math.floor(r()*(t-e+1))+e}function qn(e,t,r=Math.random){return r()*(t-e)+e}function ja(){return Math.random()*2-1}function Ua(e,t,r){return t>=e.x&&t<e.x+e.width&&r>=e.y&&r<e.y+e.height}function Pa(e,t,r,s=Math.random){let o,d;do o=st(0,e-1,s),d=st(0,t-1,s);while(r&&Ua(r,o,d));return[o,d]}function Za(e,t=Math.random){const r=Math.floor(e),s=e-r;return Gn(s,t)?r+1:r}function Gn(e,t=Math.random){return t()<e}function rr(e,t=Math.random){return e[Math.floor(e.length*t())]}function Ba(e,t,r=Math.random){if(t>e.length)throw new Error(`Count (${t}) is greater than array length (${e.length})`);return Ne(e,t,r).map(s=>e[s])}function La(e,t,r,s=Math.random){if(t>e.length)throw new Error(`Count (${t}) is greater than array length (${e.length})`);const o=[];for(;o.length<t;){const d=rr(e,s);o.some(f=>r(f,d))||o.push(d)}return o}function za(e,t,r,s,o,d=Math.random){const f=e.filter(p=>p!==t&&p!==r),g=[];for(t!==null&&g.push(t);f.length&&g.length<s;){const p=a.Random.intBetween(0,f.length-1,d);o(f[p],g)&&g.push(f[p]),f.splice(p,1)}return h(g,d),{values:g,indexOfGuaranteed:t!==null?g.indexOf(t):-1}}function it(e){if(!e.length)throw Error("Received empty array");return e[e.length-1]}function Kn(e,t,r){return r(t.reduce((s,o)=>o(s),e))}function Fa(e,t){return r=>Kn(r,e,t)}function Va(e,t,r){if(r===void 0&&(r=Math.random()),e.length!==t.length)throw new Error("Array length mismatch");let s=t.reduce((d,f)=>d+f,0);const o=r*s;for(let d=0;d<e.length-1;d++)if(s-=t[d],o>=s)return e[d];return it(e)}function Wa(e,t,r=Math.random){const s=t.map(d=>r()*d),o=[];for(let d=0;d<e.length;d++)o.push([e[d],s[d]]);return o.sort((d,f)=>f[1]-d[1]).map(d=>d[0])}function be(e,t){if(e==null)return null;const r=t.split(".");let s=e;for(const o of r){if(s[o]===null||s[o]===void 0)return null;s=s[o]}return s}function xe(e,t,r){const s=t.split(/\.|\[/);let o=e;for(let d=0;d<s.length;d++){const f=s[d],g=d<s.length-1&&s[d+1].includes("]"),p=f.includes("]")?f.replace(/\[|\]/g,""):f;if(d===s.length-1)return o[p]=r,r;he(o[p])||(g?o[p]=[]:o[p]={}),o=o[p]}return r}function Ha(e,t,r=1){const s=be(e,t)||0;return xe(e,t,s+r),s}function qa(e,t,r){return be(e,t)||xe(e,t,r)}function Ga(e,t){const r=dr(t,"."),s=ls(t,".");if(!r||!s)return;const o=be(e,r);delete o[s]}function Ka(e,t,r){const s=be(e,t);if(!s)throw new Error("Key '"+t+"' does not exist.");return xe(e,t,r),s}function Ya(e,t,r){for(const s of t){const o=be(e,s);if(o)return o}if(r){const s=Object.values(e);if(s.length)return s[0]}return null}async function Qa(e,t,r){for(;;){try{await e()}catch(s){r&&r("Error in forever",s)}await l(t)}}function Xa(e,t){e();const r=setInterval(()=>{e()},t);return()=>clearInterval(r)}function Ja(e){return e/1024/1024}function eo(e){return e>=1024*1024*1024*1024?(e/1024/1024/1024/1024).toFixed(3)+" TB":e>=1024*1024*1024?(e/1024/1024/1024).toFixed(3)+" GB":e>=1024*1024?(e/1024/1024).toFixed(3)+" MB":e>=1024?(e/1024).toFixed(3)+" KB":e+" B"}function to(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e.toLowerCase());if(!t)throw new Error("Invalid hex color: "+e);return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}function ro(e){return"#"+e.map(t=>t.toString(16).padStart(2,"0")).join("")}function no(e,t,r,s){const o=e*Math.PI/180,d=r*Math.PI/180,f=(r-e)*Math.PI/180,g=(s-t)*Math.PI/180,p=Math.sin(f/2)*Math.sin(f/2)+Math.cos(o)*Math.cos(d)*Math.sin(g/2)*Math.sin(g/2);return 6371e3*(2*Math.atan2(Math.sqrt(p),Math.sqrt(1-p)))}function It(e,t){return Math.round(e/t)*t}function so(e){return e>1e3?(e/1e3).toFixed(0)+" km":e>=500?It(e,100)+" m":e>=100?It(e,50)+" m":It(e,10)+" m"}function io(e){return e*(e+1)/2}function ao(e){const t=e.match(/-?\d+(\.\d+)?/);if(!t)throw Error("No float found in "+e);return parseFloat(t[0])}function he(e,t=!0){return!e||t&&!nr(e._readableState)||t&&e.constructor&&(e.constructor.isBuffer||e.constructor.name=="Uint8Array"||e.constructor.name==="ArrayBuffer"||e.constructor.name==="ReadableStream")?!1:typeof e=="object"}function Re(e){return he(e)&&!Array.isArray(e)}function Yn(e){return Array.isArray(e)&&e.length===0}function oo(e){return Re(e)&&Object.keys(e).length===0}function nr(e){return e===void 0}function sr(e){return Object.prototype.toString.call(e)==="[object Function]"||Object.prototype.toString.call(e)==="[object AsyncFunction]"}function V(e){return Object.prototype.toString.call(e)==="[object String]"}function me(e){return typeof e=="number"&&isFinite(e)}function Qn(e){return e===!0||e===!1}function De(e){return Object.prototype.toString.call(e)==="[object Date]"}function Mt(e){return!V(e)||e.trim().length===0}function ir(e){return me(e)&&Number.isInteger(e)&&e>=1}function Xn(e){return V(e)&&e.match(/^-?\d+$/)!==null}function Jn(e){return V(e)&&e.match(/^(0x)?[0-9a-f]+$/i)!==null}const co="!@#$%^&*()_+-=[]{}|;:<>?,./",uo="!@#$%^&*()_+-=[]{}|;:<>?,./".split(""),ar="abcdefghijklmnopqrstuvwxyz",lo="ABCDEFGHIJKLMNOPQRSTUVWXYZ",fo="1234567890",or=ar+lo+fo,es=or+co,ts=["—","\\","東","京","都","𝖆","𝖇","𝖈","👾","🙇","💁","🙅","ᚠ","ᛇ","ᚻ","ᛦ"],rs="0123456789abcdef";function ho(e,t=Math.random){let r="";for(let s=0;s<e;s++)r+=ar[Math.floor(t()*ar.length)];return r}function mo(e,t=Math.random){let r="";for(let s=0;s<e;s++)r+=or[Math.floor(t()*or.length)];return r}function po(e,t=Math.random){let r="";for(let s=0;s<e;s++)r+=es[Math.floor(t()*es.length)];return r}function go(e,t=Math.random){let r="";for(let s=0;s<e;s++)r+=ts[Math.floor(t()*ts.length)];return r}function yo(e,t){const r=new RegExp(`[0-9a-f]{${t}}`,"i"),s=e.match(r);return s?s[0]:null}function vo(e,t,r=uo){const s=ds(e,r);for(const o of s)if(t(o))return o;return null}function wo(e,t=Math.random){let r="";for(let s=0;s<e;s++)r+=rs[Math.floor(t()*rs.length)];return r}function _o(e,t){if(!Xn(e))throw new TypeError(`Expected integer string${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);const r=BigInt(e);if(t&&(t.min&&r<t.min||t.max&&r>t.max))throw RangeError(`Expected integer string${t!=null&&t.name?` for ${t.name}`:""} in range: ${t.min??"-inf"}..${t.max??"inf"}; got: `+r);return e}function ns(e,t){if(Mt(e))throw new TypeError(`Expected string${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);if(t&&(t.min!==void 0&&e.length<t.min||t.max!==void 0&&e.length>t.max))throw RangeError(`Expected string${t!=null&&t.name?` for ${t.name}`:""} length in range: ${t.min??"-inf"}..${t.max??"inf"}; got: ${e.length}`);return e}function bo(e,t){if(!Jn(e))throw new TypeError(`Expected hex string${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);const r=e.replace(/^0x/,"");if(t&&t.byteLength&&r.length!==t.byteLength*2)throw RangeError(`Expected hex string${t!=null&&t.name?` for ${t.name}`:""} of byte length ${t.byteLength}; got: `+r);return r}function xo(e,t){if(!ns(e,t).split("").every(r=>r==="_"||ct(r)))throw new TypeError(`Expected safe string${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function ss(e,t){if(t.min!==void 0&&e<t.min||t.max!==void 0&&e>t.max)throw RangeError(`Expected value${t!=null&&t.name?` for ${t.name}`:""} in range: ${t.min??"-inf"}..${t.max??"inf"}; got: ${e}`)}function ko(e,t){if(!sr(e))throw new TypeError(`Expected function${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function $t(e,t){if(me(e))return t&&ss(e,t),e;if(!V(e)||!e.match(/^-?\d+(\.\d+)?$/))throw new TypeError(`Expected number${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);const r=parseFloat(e);return t&&ss(r,t),r}function cr(e,t){return $t(e,t)|0}function Eo(e,t){if(e==="true")return!0;if(e==="false")return!1;if(!Qn(e))throw new TypeError(`Expected boolean${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function To(e,t){if(!De(e))throw new TypeError(`Expected date${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function Ao(e){return Mt(e)?null:e}function So(e,t){if(!V(e))throw new TypeError(`Expected string${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function Oo(e,t){if(ir(e))return e;const r=parseInt(e,10);if(!ir(r))throw new TypeError(`Expected id${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return r}function Io(e,t){if(!V(e))throw new TypeError(`Expected time${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);const r=e.split(":");if(r.length!==2)throw new TypeError(`Expected time${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);const s=parseInt(r[0],10),o=parseInt(r[1],10);if(!me(s)||!me(o)||s<0||s>23||o<0||o>59)throw new TypeError(`Expected time, got${t!=null&&t.name?` for ${t.name}`:""}: `+e);return`${String(s).padStart(2,"0")}:${String(o).padStart(2,"0")}`}function Mo(e,t){if(!Array.isArray(e))throw new TypeError(`Expected array${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function Ct(e,t){if(!Re(e))throw new TypeError(`Expected object${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function $o(e,t){return e===null?null:Ct(e,t)}function Co(e,t){const r=Ct(e,t);for(const s of Object.keys(r))if(!V(r[s]))throw new TypeError(`Expected string map${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return r}function No(e,t){const r=Ct(e),s=Object.keys(r),o=Object.values(r);if(!s.every(V)||!o.every(me))throw new TypeError(`Expected numeric dictionary${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return r}function is(e){return V(e)&&e.match(/^https?:\/\/.+/)!==null}function Ro(e,t){if(!is(e))throw new TypeError(`Expected url${t!=null&&t.name?` for ${t.name}`:""}, got: `+e);return e}function Do(e,t){return t==null?!0:e(t)}function jo(e,t){return t==null?null:e(t)}function Uo(e,t){return t==null?void 0:e(t)}function as(e,t){for(const[r,s]of Object.entries(t))if(!s(e[r]))throw TypeError(`${r} in value does not exist or match shape`);for(const r of Object.keys(e))if(!t[r])throw TypeError(`${r} exists in value but not in shape`);return!0}function Po(e,t){return e.every(r=>as(r,t))}function at(e,t="json",r=0){if(he(e,!1)){if(r>1)return"[object Object]";if(t==="json"){if(Array.isArray(e)){const o=e.map(d=>at(d,"json",r+1));return r===0?JSON.stringify(o):o}const s={};e.message&&(s.message=at(e.message,"json",r+1));for(const[o,d]of Object.entries(e))s[o]=at(d,"json",r+1);return r===0?JSON.stringify(s):s}else if(t==="key-value"){const s=Object.keys(e);return e.message&&!s.includes("message")&&s.unshift("message"),s.map(o=>`${o}=${JSON.stringify(at(e[o],"json",r+1))}`).join(" ")}}return nr(e)&&(e="undefined"),r===0?JSON.stringify(e):e}function Zo(e,t){if(V(e))return e;const r=Object.keys(e);e.message&&!r.includes("message")&&r.push("message");const s=r.map(o=>`${o}: ${e[o]}`).join("; ");return t&&e.stack?s+`
|
|
2
|
+
`+e.stack:s}function ke(e,t){if(Re(e)&&Re(t))for(const r in t)Re(t[r])?(e[r]||(e[r]={}),ke(e[r],t[r])):Array.isArray(t[r])?e[r]=[...t[r]]:(t[r]!==null&&t[r]!==void 0||e[r]===null||e[r]===void 0)&&(e[r]=t[r]);return e}function Bo(e,t){const r={};return ke(r,e),ke(r,t),r}function Lo(e,t,r){const s={};return ke(s,e),ke(s,t),ke(s,r),s}function os(e,t){const r={};for(const s of e)for(const o of Object.keys(s))r[o]?r[o]=t(r[o],s[o]):r[o]=s[o];return r}function zo(e){return os(e,(t,r)=>t+r)}function Fo(e,t,r){e[t]||(e[t]=[]),e[t].push(r)}function Vo(e,t,r){for(e.unshift(t);e.length>r;)e.pop()}function Wo(e,t){let r=t%e.length;return r<0&&(r+=e.length),e[r]}function Nt(e,t){Array.prototype.push.apply(e,t)}function Ho(e,t){Array.prototype.unshift.apply(e,t)}async function qo(e,t){const r=[];for(const s of e)r.push(await t(s));return r}function Go(e,t){const r=[];for(let s=0;s<e.length;s++)r.push(e[s]),s<e.length-1&&(sr(t)?r.push(t()):r.push(t));return r}function Ko(e,t){if(e!==t)throw Error(`Expected [${e}] to equal [${t}]`);return[e,t]}function Yo(e){if(e!==!0)throw Error(`Expected [true], got: [${e}]`);return e}function Qo(e){if(!e)throw Error(`Expected truthy value, got: [${e}]`);return e}function Xo(e){if(e!==!1)throw Error(`Expected [false], got: [${e}]`);return e}function Jo(e){if(e)throw Error(`Expected falsy value, got: [${e}]`);return e}function ec(e,t){if(!t.includes(e))throw Error(`Expected any of [${t.join(", ")}], got: [${e}]`);return e}function tc(e,t){for(let r=0;r<e.length;r++){const s=e[r],o=t[r],d=Math.max(0,o.getTime()-Date.now());setTimeout(s,d)}}function rc(e,t,r){return e+(t-e)*r}function nc(e){return e.reduce((t,r)=>t+r,0)}function sc(e){return e.reduce((t,r)=>t+r,0)/e.length}function ic(e){const t=[...e].sort((s,o)=>s-o),r=Math.floor(t.length/2);return t.length%2===0?(t[r]+t[r-1])/2:t[r]}function ac(e,t){return e-(t-1)/2}function cs(e,t){const r=[];for(let s=e;s<=t;s++)r.push(s);return r}function oc(e,t){return t.some(r=>e.includes(r))}function cc(e){return/^[\u4E00-\u9FA5]+$/.test(e)}function ur(e,t=()=>!1){return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").split("").map(r=>/[a-z0-9]/.test(r)||t(r)?r:"-").join("").replace(/-+/g,"-").replace(/^-|-$/g,"")}function uc(e){return ur(e).replaceAll("-","")}function lc(e){return Dt(e.replace(/([A-Z])/g," $1"))}function dc(e){return e.split("-").map(Dt).join(" ")}function fc(e){return hs(e.split("-").map(Dt).join(""))}function hc(e,t=", ",r=" and "){return!e||!e.length?"":e.length===1?e[0]:e.length===2?`${e[0]}${r}${e[1]}`:`${e.slice(0,e.length-1).join(t)}${r}${e[e.length-1]}`}function mc(e,t){return t+e.split("").join(t)+t}function pc(e){return ur(e).replace(/-/g,"_").toUpperCase()}function Rt(e,t){if(t.length===0)return 0;const r=e.toLowerCase(),s=t.toLowerCase();return e===t?1e4:r.startsWith(s)?1e4-e.length:r.includes(s)?5e3-e.length:new RegExp(".*"+s.split("").join(".*")+".*").test(r)?1e3-e.length:0}function gc(e,t){return e.filter(r=>Rt(r,t)).sort((r,s)=>Rt(s,t)-Rt(r,t))}function yc(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}const vc={"&":"&",""":'"',"'":"'",">":">","<":"<"};function wc(e){let t=e.replace(/&#(\d+);/g,(r,s)=>String.fromCharCode(s)).replace(/&#x(\d+);/g,(r,s)=>String.fromCharCode(parseInt(s,16)));for(const[r,s]of Object.entries(vc))t=t.replaceAll(r,s);return t}function us(e,t){const r=e.indexOf(t);return r===-1?null:e.slice(0,r)}function lr(e,t){const r=e.indexOf(t);return r===-1?null:e.slice(r+t.length)}function dr(e,t){const r=e.lastIndexOf(t);return r===-1?null:e.slice(0,r)}function ls(e,t){const r=e.lastIndexOf(t);return r===-1?null:e.slice(r+t.length)}function _c(e,t,r){const s=dr(e,r);return s?lr(s,t):null}function bc(e,t,r){const s=lr(e,t);return s?us(s,r):null}function fr(e,t,r=!1){const s=r?e.lastIndexOf(t):e.indexOf(t);return s===-1?r?[null,e]:[e,null]:[e.slice(0,s),e.slice(s+t.length)]}function ds(e,t){let r=[e];for(const s of t)r=r.flatMap(o=>o.split(s));return r.filter(s=>s)}function hr(e){const t=it(e.split(/\\|\//g)),r=t.lastIndexOf(".",t.length-1);return r<=0?"":t.slice(r+1)}function mr(e){const t=it(e.split(/\\|\//g)),r=t.lastIndexOf(".",t.length-1);return r<=0?t:t.slice(0,r)}function xc(e){let[t,r]=e.split("@");t=ot(t.replaceAll(".","").toLowerCase()).replaceAll(" ","");const[s]=t.split("+");if(!s||!r||r.indexOf(".")===-1||r.indexOf(".")===r.length-1)throw new Error("Invalid email");return r=ot(r.toLowerCase()).replaceAll(" ",""),`${s}@${r}`}function kc(e){const t=mr(e),r=hr(e);return r?`${t}.${r}`:t}function Ec(e){const t=mr(e),r=hr(e);return{basename:t,extension:r,filename:r?`${t}.${r}`:t}}function Tc(e,t=Math.random){return e.replace(/\{(.+?)\}/g,(r,s)=>rr(s.split("|"),t))}function fs(e){const t=/\{(.+?)\}/,r=e.match(t);if(!r||!r.index)return[e];const s=r[1].split(","),o=e.slice(0,r.index),d=e.slice(r.index+r[0].length);let f=[];for(const g of s){const p=fs(o+g+d);f=f.concat(p)}return f}function ot(e){return e.split(`
|
|
3
|
+
`).map(t=>t.trim().replace(/\s+/g," ")).filter(t=>t.length>0).join(`
|
|
4
|
+
`)}function Dt(e){return e.charAt(0).toUpperCase()+e.slice(1)}function hs(e){return e.charAt(0).toLowerCase()+e.slice(1)}function ms(e){if(!e)return!1;const t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function ps(e){if(!e)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}function ct(e){return ms(e)||ps(e)}const Ac=`
|
|
5
|
+
\r.,?!:;"'\`(){}[]~@#$%^&*-+=|<>/\\`.split("");function Sc(e){return Ac.includes(e)}function Oc(e){return ct(e)||e==="."||e==="["||e==="]"||e==="_"}function Ic(e,t,r,s,o){return e.slice(0,t)+s+e.slice(t,t+r)+o+e.slice(t+r)}function gs(e,t,r=0){const s=t.exec(e.slice(r));return s?{index:s.index,match:s[0]}:null}function ys(e,t,r=!0){if(!r)return t.every(o=>o instanceof RegExp?o.test(e):e.indexOf(o,0)!==-1);let s=0;for(const o of t)if(o instanceof RegExp){const d=gs(e,o,s);if(!d)return!1;s=d.index+d.match.length}else{const d=e.indexOf(o,s);if(d===-1)return!1;s=d+o.length}return!0}function Mc(e,t,r=!0){let s=0;for(const o of t){let d=!1;for(;!d&&s<e.length;)ys(e[s],o,r)&&(d=!0),s++;if(!d)return!1}return!0}function $c(e){return e.match(/"|,/)?`"${e.replace(/"/g,'""')}"`:e}function je(e,t,r=0){let s=-1;for(const o of t){const d=e.indexOf(o,r);d!==-1&&(s===-1||d<s)&&(s=d)}return s}function Cc(e,t=0){for(let r=t;r<e.length;r++)if(Sc(e[r]))return r;return-1}function Nc(e,t=0){for(let r=t;r<e.length;r++)if(e[r]==="#"&&ct(e[r+1]))return r;return-1}function vs(e,t,r=0){return e.slice(0,r).lastIndexOf(t)}function ws(e,t=0,r="{",s="}"){let o=1;for(let d=t;d<e.length;d++)if(e.slice(d,d+s.length)===s){if(--o===0)return d}else e.slice(d,d+r.length)===r&&o++;return-1}function _s(e,t){const r=t.wordBoundary?je(e,[`${t.opening} `,`${t.opening}
|
|
6
|
+
`],t.start||0):e.indexOf(t.opening,t.start||0);if(r===-1)return null;const s=ws(e,r+t.opening.length,t.opening,t.closing);return s===-1?null:t.exclusive?e.slice(r+t.opening.length,s):e.slice(r,s+t.closing.length)}function Rc(e,t){const r=[];let s=t.wordBoundary?je(e,[`${t.opening} `,`${t.opening}
|
|
7
|
+
`],t.start||0):e.indexOf(t.opening,t.start||0);for(;;){if(s===-1)return r;const o=_s(e,{...t,start:s});if(!o)return r;r.push(o),s=t.wordBoundary?je(e,[`${t.opening} `,`${t.opening}
|
|
8
|
+
`],s+o.length):e.indexOf(t.opening,s+o.length)}}function Dc(e,t,r){let s=0;for(;;){const o=a.Strings.extractBlock(e,{...r,start:s});if(!o)return e;const d=t(o);s=e.indexOf(o,s)+d.length,e=e.replace(o,d)}}function jc(e,t){const r=[];let s=0;for(;s<e.length;){const o=e.indexOf(t,s);if(o===-1){r.push({string:e.slice(s),symbol:null});break}const d=e.indexOf(t,o+t.length);if(o>s&&d!==-1&&r.push({string:e.slice(s,o),symbol:null}),d===-1){r.push({string:e.slice(s),symbol:null});break}r.push({string:e.slice(o+t.length,d),symbol:t}),s=d+t.length}return r}function Uc(e){const t=[];let r=0;for(;r<e.length;){const s=Nc(e,r);if(s===-1){t.push({string:e.slice(r),symbol:null});break}const o=Cc(e,s+1);if(o===-1){t.push({string:e.slice(r,s),symbol:null}),t.push({string:e.slice(s+1),symbol:"#"});break}s>r&&t.push({string:e.slice(r,s),symbol:null}),t.push({string:e.slice(s+1,o),symbol:"#"}),r=o}return t}function Pc(e){const t=[];let r=0;for(;r<e.length;){const s=je(e,["http://","https://"],r);if(s===-1){t.push({string:e.slice(r),symbol:null});break}const o=je(e,[" ",`
|
|
9
|
+
`],s);if(o===-1){s>r&&t.push({string:e.slice(r,s),symbol:null}),t.push({string:e.slice(s),symbol:"http"});break}s>r&&t.push({string:e.slice(r,s),symbol:null}),t.push({string:e.slice(s,o),symbol:"http"}),r=o}return t}const bs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xs="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";function Zc(e){return ks(e,bs)}function Bc(e){return Es(e,bs)}function Lc(e){return ks(e,xs)}function zc(e){return Es(e,xs)}function ks(e,t){const r="=",s=t.length;let o=0,d=0;const f=[];for(let g=0;g<e.length;g++){const p=e[g];if(p===r)break;const k=t.indexOf(p);if(k===-1)throw new Error(`Invalid character: ${p}`);d=d<<Math.log2(s)|k,o+=Math.log2(s),o>=8&&(o-=8,f.push(d>>o&255))}return new Uint8Array(f)}function Es(e,t){const r=t.length;let s=0,o=0,d="";for(let f=0;f<e.length;f++)for(o=o<<8|e[f],s+=8;s>=Math.log2(r);)s-=Math.log2(r),d+=t[o>>s&r-1];return s>0&&(d+=t[o<<Math.log2(r)-s&r-1]),d.length%4!==0&&(d+="=".repeat(4-d.length%4)),d}function Fc(e){e.startsWith("0x")&&(e=e.slice(2));const t=e.length/2,r=new Uint8Array(t);for(let s=0;s<t;s++){const o=parseInt(e.slice(s*2,s*2+2),16);r[s]=o}return r}function Vc(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function Wc(e,t){const r=e.split("/").filter(d=>d),s=t.split("/").filter(d=>d);if(r.length!==s.length)return null;const o={};for(let d=0;d<r.length;d++){const f=r[d];if(f.startsWith(":"))o[f.slice(1)]=s[d];else if(f!==s[d])return null}return o}function pr(e,t,r){const s=[];for(const o of r)o!==t&&s.push(e.replace(t,o));return s}function Hc(e,t,r,s=Math.random){const o=a.Arrays.shuffle(t.map(f=>({variants:a.Arrays.shuffle(f.variants.map(g=>g),s),avoid:f.avoid})),s),d=[];for(const f of o){const g=f.variants.filter(k=>k!==f.avoid),p=g.find(k=>e.includes(k));if(p&&(Nt(d,pr(e,p,g)),d.length>=r))break}if(d.length<r)for(const f of o){const g=f.variants.find(p=>e.includes(p));if(g&&(Nt(d,pr(e,g,f.variants)),d.length>=r))break}return d.slice(0,r)}function qc(e,t,r,s=!1){const o=new RegExp(s?`(?<=\\s|^)${t}(?=\\s|$)`:`\\b${t}\\b`,"g");return e.replace(o,r)}function Gc(e,t){const r=/\b[A-Z][a-zA-Z0-9]*\b/g;return e.replace(r,s=>s.toUpperCase()===s?s:t(s))}function Kc(e){return e.replace(/<[^>]*>/g,"")}function Ts(e){const t=e.lastIndexOf(" ");if(t===-1)return{line:e,rest:""};const r=e.slice(0,t),s=e.slice(t+1);return{line:r,rest:s}}function Yc(e,t={}){return[...e].reduce((r,s)=>r+(t[s]||1),0)}function Qc(e,t,r={}){const s=[];let o="",d=0;for(let f=0;f<e.length;f++){const g=e[f],p=r[g]||1;if(o+=g,d+=p,d>t){const{line:k,rest:$}=Ts(o);s.push(k),o=$,d=$.split("").map(U=>r[U]||1).reduce((U,Be)=>U+Be,0)}}return o&&s.push(o),s}function Xc(e,t){const r=[];for(let s=0;s<=e.length;s++)r[s]=[s];for(let s=0;s<=t.length;s++)r[0][s]=s;for(let s=1;s<=e.length;s++)for(let o=1;o<=t.length;o++){const d=e[s-1]===t[o-1]?0:1;r[s][o]=Math.min(r[s-1][o]+1,r[s][o-1]+1,r[s-1][o-1]+d)}return r[e.length][t.length]}function gr(e,t){return new RegExp(`\\b${t}\\b`).test(e)}function Jc(e,t,r){return r==="any"?t.some(s=>gr(e,s)):t.every(s=>gr(e,s))}function eu(e){const t={},r=e.match(/([a-z\-]+)="([^"]+)"/g);if(r)for(const s of r){const[o,d]=fr(s,"=");t[o]=d.slice(1,d.length-1)}return t}function jt(e,t,r=[]){let s="";for(;t<e.length&&(ct(e[t])||r.includes(e[t]));)s+=e[t++];return s}function tu(e,t,r="$",s=":"){for(const o in t)e=As(e,o,t[o],r,s);return e=Ss(e),e}function As(e,t,r,s="$",o=":"){if(r==="")return e;let d=e.indexOf(`${s}${t}`);for(;d!==-1;){if(e[d+t.length+1]===o)if(e[d+t.length+2]===o)e=e.replace(`${s}${t}${o}${o}`,r);else{const f=jt(e,d+t.length+2,["_"]);e=e.replace(`${s}${t}${o}${f}`,r)}else e=e.replace(`${s}${t}`,r);d=e.indexOf(`${s}${t}`,d+r.length)}return e}function Ss(e,t="$",r=":"){let s=e.indexOf(t);for(;s!==-1;){const o=jt(e,s+1);if(e[s+o.length+1]===r)if(e[s+o.length+2]===r)e=e.replace(`${t}${o}${r}${r}`,"");else{const d=jt(e,s+o.length+2);e=e.replace(`${t}${o}${r}${d}`,d)}s=e.indexOf(t,s+1)}return e}function ru(e,t){let r=e.indexOf("](");for(;r!==-1;){const s=vs(e,"[",r),o=e.indexOf(")",r);if(s!==-1&&o!==-1){const[d,f]=e.slice(s+1,o).split("]("),g=t(d,f);e=e.slice(0,s)+g+e.slice(o+1)}r=e.indexOf("](",r+1)}return e}function Os(e,t=!0){const r=Object.entries(e).filter(([s,o])=>o!=null).map(([s,o])=>`${s}=${encodeURIComponent(o)}`).join("&");return r?(t?"?":"")+r:""}function nu(e){const t={},r=e.split("&");for(const s of r){const[o,d]=s.split("=");o&&d&&(t[o]=decodeURIComponent(d))}return t}function su(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function iu(e,t){let r=null,s=-1/0;for(const[o,d]of Object.entries(e)){const f=t(d);f>s&&(s=f,r=o)}return r?[r,e[r]]:null}function au(e,t,r,s){const o=e.find(f=>f[t]===r),d=e.find(f=>f[t]===r+s);o&&d?(o[t]=r+s,d[t]=r):o&&(o[t]=r+s),e.sort((f,g)=>$t(f[t])-$t(g[t])),e.forEach((f,g)=>f[t]=g+1)}function ou(e){const t=Object.keys(e);if(t.length===1)return e[t[0]];throw new Error("Expected object to have a single key")}function cu(e,t=":"){return Object.fromEntries(e.map(r=>fr(r,t)).map(r=>r[0]&&r[1]?[ot(r[0]),ot(r[1])]:null).filter(r=>r))}function uu(e,t,r){return Cs(e,t)+Os(r||{})}function lu(e,t=",",r='"'){const s=[];let o="",d=!1;const f=e.split("");for(const g of f)g===t&&!d?(s.push(o),o=""):g===r&&(!o&&!d||d)?d=!d:o+=g;return s.push(o),s}function du(e){return`[${Math.floor(e.progress*100)}%] ${Ut(e.deltaMs)} out of ${Ut(e.totalTimeMs)} (${Ut(e.remainingTimeMs)} left) [${Math.round(e.baseTimeMs)} ms each]`}async function fu(e,t,r){for(let s=0;s<r;s++){try{if(await e())return!0}catch{}s<r-1&&await l(t)}return!1}function hu(e,t){const r=[];for(let s=e.length-1;s>=0;s--)t(e[s])&&r.push(e.splice(s,1)[0]);return r}function mu(e){return JSON.parse(JSON.stringify(e))}function pu(e){return Math.ceil((e||Date.now())/1e3)}function gu(e){return(e||new Date).toISOString().slice(0,10)}function yu(e){return(e||new Date).toISOString().slice(0,19).replace(/T|:/g,"-")}function vu(e){const t=new Date(e);return new Date(t.getTime()-t.getTimezoneOffset()*6e4)}function wu(e){return new Date(e)}function ee(e){return String(Math.floor(e)).padStart(2,"0")}function _u(e){let[t,r]=e.split(":");me(parseInt(t,10))||(t="0"),me(parseInt(r,10))||(r="0");let s=br(cr(t),0,23),o=br(cr(r),0,59);return`${ee(s)}:${ee(o)}`}function Ut(e){const t=Math.floor(e/36e5);e=e%36e5;const r=Math.floor(e/6e4);e=e%6e4;const s=Math.floor(e/1e3);return t?`${ee(t)}:${ee(r)}:${ee(s)}`:`${ee(r)}:${ee(s)}`}function Ee(e){return Math.floor((De(e)?e.getTime():e)/864e5)}const bu={today:(e,t)=>ee(e)+":"+ee(t),yesterday:()=>"Yesterday",monday:()=>"Mon",tuesday:()=>"Tue",wednesday:()=>"Wed",thursday:()=>"Thu",friday:()=>"Fri",saturday:()=>"Sat",sunday:()=>"Sun",weeks:e=>`${e}w`};function xu(e,t){const r=new Date((t==null?void 0:t.now)||Date.now()),s=(t==null?void 0:t.labels)||bu,o=De(e)?e:new Date(e);if(Ee(r)===Ee(o))return s.today(o.getUTCHours(),o.getUTCMinutes(),o.getUTCHours()>12);if(Ee(r)-Ee(o)===1)return s.yesterday();const d=vr(o);return Ee(r)-Ee(o)<7?s[d.day]():s.weeks(Math.round((r.getTime()-o.getTime())/6048e5))}const Is={now:()=>"A few seconds",seconds:e=>`${e} seconds`,minutes:e=>`${e} minutes`,hours:e=>`${e} hours`,days:e=>`${e} days`,weeks:e=>`${e} weeks`};function Ms(e,t){const r=(t==null?void 0:t.now)??Date.now(),s=(t==null?void 0:t.labels)||Is,o=a.Types.isDate(e)?e.getTime():e;let d=(r-o)/1e3;return d<10?s.now():d<120?s.seconds(Math.floor(d)):(d/=60,d<120?s.minutes(Math.floor(d)):(d/=60,d<48?s.hours(Math.floor(d)):(d/=24,d<14?s.days(Math.floor(d)):(d/=7,s.weeks(Math.floor(d))))))}function ku(e,t=Is){return Ms(0,{now:e*1e3,labels:t})}function Eu(e,t,r){const s=((r==null?void 0:r.now)??Date.now())-e,o=Math.floor(s/t),d=t/((r==null?void 0:r.precision)??1)-Math.ceil(s%t/((r==null?void 0:r.precision)??1));return{cycles:o,remaining:d}}const yr={};function Tu(e,t){return!yr[e]||Date.now()>yr[e]?(yr[e]=Date.now()+t,!0):!1}const Au={s:1e3,m:6e4,h:36e5,d:864e5};function Su(e,t,r){return t=De(t)?t.getTime():t,r=r?De(r)?r.getTime():r:Date.now(),(r-t)/Au[e]}function Ou(e,t,r,s){s||(s=Date.now());const o=t/r,d=s-e,f=d/t,g=f*r,p=g-d;return{deltaMs:d,progress:o,baseTimeMs:f,totalTimeMs:g,remainingTimeMs:p}}const Iu={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"};function $s(e){return{zeroBasedIndex:e,day:Iu[e]}}function vr(e){return $s(e.getDay())}function Mu(e){return vr(new Date(e))}function $u(e){return e*1e3}function Cu(e){return e*6e4}function Nu(e){return e*36e5}function Ru(e){return e*864e5}const Du={ms:1,milli:1,millis:1,millisecond:1,milliseconds:1,s:1e3,sec:1e3,second:1e3,seconds:1e3,m:6e4,min:6e4,minute:6e4,minutes:6e4,h:36e5,hour:36e5,hours:36e5,d:864e5,day:864e5,days:864e5,w:6048e5,week:6048e5,weeks:6048e5,month:2592e6,months:2592e6,y:31536e6,year:31536e6,years:31536e6};function ju(e){const t=parseFloat(e);if(isNaN(t))throw Error("makeDate got NaN for input");const r=e.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),s=Du[r];if(!s)throw Error(`Unknown unit: "${r}"`);return t*s}const Uu={b:1,byte:1,bytes:1,kb:1024,kilobyte:1024,kilobytes:1024,mb:1024**2,megabyte:1024**2,megabytes:1024**2,gb:1024**3,gigabyte:1024**3,gigabytes:1024**3,tb:1024**4,terabyte:1024**4,terabytes:1024**4};function Pu(e){const t=parseFloat(e);if(isNaN(t))throw Error("makeDate got NaN for input");const r=e.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),s=Uu[r];if(!s)throw Error(`Unknown unit: "${r}"`);return t*s}function Zu(e){return e.replace(/ +/g," ").replace(/^ /gm,"")}const wr={};async function Bu(e,t,r){const s=Date.now(),o=wr[e];if(o&&o.validUntil>s)return o.value;const d=await r(),f=s+t;return wr[e]={value:d,validUntil:f},d}function Lu(e){delete wr[e]}function Cs(...e){return e.filter(t=>t).join("/").replace(new RegExp("(?<!:)\\/+","g"),"/")}function zu(e,t,r,s,o=!0){const d=e.indexOf(t),f=e.indexOf(r,d+t.length);if(d===-1||f===-1)throw Error("Start or end not found");return o?e.substring(0,d+t.length)+s+e.substring(f):e.substring(0,d)+s+e.substring(f+r.length)}function Fu(e){let t="p";e.startsWith("#")?(t="h1",e=e.slice(1).trim()):e.startsWith("-")&&(t="li",e=e.slice(1).trim());const r=e[0]===e[0].toUpperCase(),s=/[.?!]$/.test(e),o=/:$/.test(e);return{type:t,isCapitalized:r,hasPunctuation:s,endsWithColon:o}}function Vu(e,t="(",r=")"){let s=0,o=0;for(;o<e.length;)if(e.startsWith(t,o)?(s++,o+=t.length):e.startsWith(r,o)?(s--,o+=r.length):o++,s<0)return!1;return t===r?s%2===0:s===0}function Wu(e){e=e.normalize("NFD").replace(/[\u0300-\u036f]/g,"");let t=e.length;for(;e=e.replace(/(\w+)[\s,']+\w+/g,"$1"),e.length!==t;)t=e.length;return e=e.replaceAll(/[A-Z][a-zA-Z0-9]*/g,"A"),e=e.replaceAll(/[a-z][a-zA-Z0-9]*/g,"a"),e=e.replaceAll(/[\u4E00-\u9FA5]+/g,"Z"),e}function Ns(e){const t=Object.keys(e).sort((s,o)=>s.localeCompare(o)),r={};for(const s of t)r[s]=Te(e[s]);return r}function Rs(e){const t=[];return e.sort((r,s)=>JSON.stringify(Te(r)).localeCompare(JSON.stringify(Te(s)))).forEach(r=>t.push(Te(r))),t}function Te(e){return Array.isArray(e)?Rs(e):he(e)?Ns(e):e}function Ds(e,t){return JSON.stringify(Te(e))===JSON.stringify(Te(t))}function Hu(...e){for(let t=1;t<e.length;t++)if(!Ds(e[t-1],e[t]))return!1;return!0}function qu(e){try{return JSON.parse(e)}catch{return null}}function Gu(){let e=0;return{next:()=>e++}}function Ku(e){let t=0;return{next:()=>e[t++%e.length]}}function Yu(e){let t;return r=>{const s=r===e&&t!==e;return t=r,s}}function Qu(e,t,r,s,o){const d={};for(const f of Object.keys(t))d[f]=[];d[s]=[],o&&(e=e.sort(o));for(const f of e){const g=f[r],p=t[g]?g:s;d[p].length>=t[p]?d[s].push(f):d[p].push(f)}return d}function Xu(e,t){const r=Object.keys(e),s=Object.keys(t);return{uniqueToA:r.filter(o=>!s.includes(o)),uniqueToB:s.filter(o=>!r.includes(o))}}function js(e){const t=Object.keys(e);return t[Math.floor(Math.random()*t.length)]}function Ju(e,t){const r=js(e);return e[r]=t(e[r]),r}function el(e){return e=e.replace(/\r\n/g,`
|
|
10
|
+
`),e=e.replace(/(\w+)\((.+)\)/g,(t,r,s)=>`${r}(${s.replaceAll(",",",")})`),e=e.replace(/(,)(\s+})/g,"$2"),e=e.replace(/\.\.\..+?,/g,""),e=e.replace(/({\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),e=e.replace(/(,\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),e=e.replace(/:(.+)\?(.+):/g,(t,r,s)=>`: (${r.trim()} && ${s.trim()}) ||`),e=e.replace(/([a-zA-Z0-9]+)( ?: ?{)/g,'"$1"$2'),e=e.replace(/([a-zA-Z0-9]+) ?: ?(.+?)(,|\n|})/g,(t,r,s,o)=>`"${r}":"${s.trim()}"${o}`),e=e.replace(/("'|'")/g,'"'),e=e.replaceAll(",",","),JSON.parse(e)}const pe=[1e3,1e6,1e9,1e12,1e15,1e18,1e21,1e24,1e27,1e30,1e9,1e16,1e18,1e18,1e18,1e33],tl=["thousand","million","billion","trillion","quadrillion","quintillion","sextillion","septillion","octillion","nonillion","gwei","bzz","btc","eth","dai","decillion"],Us=["K","M","B","T","Qa","Qi","Sx","Sp","O","N","gwei","bzz","eth","btc","dai","D"];function rl(e,t,r){let s=e.length-t;if(s<=0)return"0."+"0".repeat(-s)+e+(r?" "+r:"");let o=e.substring(0,s),d=e.substring(s);return o===""&&(o="0"),o+"."+d+(r?" "+r:"")}function nl(e,t){const r=(t==null?void 0:t.longForm)??!1,s=t!=null&&t.unit?` ${t.unit}`:"",o=r?tl:Us,d=(t==null?void 0:t.precision)??1;if(e<pe[0])return`${e}${s}`;for(let f=0;f<pe.length-1;f++)if(e<pe[f+1])return`${(e/pe[f]).toFixed(d)}${r?" ":""}${o[f]}${s}`;return`${(e/pe[pe.length-1]).toFixed(d)}${r?" ":""}${o[pe.length-1]}${s}`}function _r(e){const t=parseFloat(e);if(isNaN(t))throw Error("makeNumber got NaN for input");const r=e.replace(/^-?[0-9.]+/,"").trim(),s=Us.findIndex(o=>o.toLowerCase()===r.toLowerCase());return s===-1?t:t*pe[s]}function br(e,t,r){return e<t?t:e>r?r:e}function sl(e,t,r){const s=e+t;return s>r?r:s}function il(e,t,r){const s=e-t;return s<r?r:s}function al(e,t){return t(e),e}function ol(e,t){e&&t(e)}function cl(e,t){const r=Object.keys(t);for(const s of r)Array.isArray(t[s])&&Array.isArray(e[s])&&Nt(e[s],t[s])}function ul(e){return e.splice(0,e.length),e}function ll(e){for(const t of Object.keys(e))(Yn(e[t])||Array.isArray(e[t])&&e[t].every(r=>r==null))&&delete e[t];return e}function dl(e){for(const t of Object.entries(e))(t[1]===null||t[1]===void 0||V(t[1])&&Mt(t[1]))&&delete e[t[0]];return e}function fl(e,t){const r={};for(const[s,o]of Object.entries(e))t(s)&&(r[s]=o);return r}function hl(e,t){const r={};for(const[s,o]of Object.entries(e))t(o)&&(r[s]=o);return r}function ml(e,t){const r={};for(const s of Object.entries(e))r[s[0]]=t(s[1]);return r}function pl(e,t){const r=[];let s=0;for(const o of e)r.push(t(o,s++));return r}async function gl(e,t){try{return await e()}catch{throw t}}function yl(e,t,r){r!=null&&(e[t]=r)}function vl(e,t,r,s){const o=be(r,s);o!=null&&xe(e,t,o)}function wl(e){const t={};for(const[r,s]of Object.entries(e))t[s]=r;return t}function _l(e){const t=Object.keys(e),r=t.map(g=>e[g].length),s=r.reduce((g,p)=>g*=p);let o=1;const d=[1];for(let g=0;g<r.length-1;g++)o*=r[g],d.push(o);const f=[];for(let g=0;g<s;g++){const p={};for(let k=0;k<t.length;k++){const $=e[t[k]],U=Math.floor(g/d[k])%$.length;p[t[k]]=$[U]}f.push(p)}return f}function bl(e){return Object.values(e).filter(t=>t).length}function xl(e,t,r){return e+(r?"["+t+"]":(e.length?".":"")+t)}function Pt(e,t,r,s,o){if(!he(t))return t;for(const[d,f]of Object.entries(t)){const g=xl(r,d,s);Array.isArray(f)?o?Pt(e,f,g,!0,o):e[g]=f.map(p=>Pt(Array.isArray(p)?[]:{},p,"",!1,o)):he(f)?Pt(e,f,g,!1,o):e[g]=f}return e}function kl(e,t=!1,r){return Pt({},e,r||"",!1,t)}function Ps(e){if(!he(e))return e;const t=Array.isArray(e)?[]:{};for(const[r,s]of Object.entries(e))Array.isArray(s)?xe(t,r,s.map(o=>Ps(o))):xe(t,r,s);return t}function El(e,t,r){return t[e]?t[e]:r}function Zs(e,t){const r={};for(const s of e){const o=t(s);r[o]=s}return r}function Tl(e,t){const r={};for(const s of e){const o=t(s);r[o]||(r[o]=[]),r[o].push(s)}return r}function Al(e,t){const r=[];for(let s=0;s<e.length;s+=t)r.push(e.slice(s,s+t));return r}function Bs(e,t){const r=Math.ceil(e.length/t),s=[];for(let o=0;o<e.length;o+=r)s.push(e.slice(o,o+r));return s}function Ls(e,t){const r=[],s=Math.ceil(e.length/t);for(let o=0;o<s;o++)r.push(e.slice(o*t,o*t+t));return r}function Sl(e,t){const r=Math.ceil(e.length/t);return Ls(e,r)}function Ol(e,t){return Object.values(Zs(e,t))}function Il(e,t,r,s,o){const d=t?e.map(t):e,f={};for(const p of d)f[p]=(f[p]||0)+1;const g=s?zs(f,o?(p,k)=>p[1]-k[1]:(p,k)=>k[1]-p[1]):f;return r?Object.keys(g):g}function zs(e,t){return Object.fromEntries(Object.entries(e).sort(t))}function Ml(e){const t=[],r=Object.keys(e),s=e[r[0]].length;for(let o=0;o<s;o++){const d={};for(const f of r)d[f]=e[f][o];t.push(d)}return t}function $l(e,t,r=1){for(const s of e)s[t]+=r}function Cl(e,t,r){for(const s of e)s[t]=r}function xr(e,t){const r=[];let s=[];return e.forEach((o,d)=>{(d===0||!t(o,e[d-1]))&&(s=[],r.push(s)),s.push(o)}),r}function Nl(){return{map:new Map,keys:[]}}function Rl(){return{map:new Map,keys:[]}}function Fs(e,t,r,s=100){if(e.map.has(t)){const o=e.keys.indexOf(t);e.keys.splice(o,1)}if(e.map.set(t,r),e.keys.push(t),e.keys.length>s){const o=e.keys.shift();o&&e.map.delete(o)}}function Dl(e,t,r,s=100){if(e.map.has(t)){const o=e.keys.indexOf(t);e.keys.splice(o,1)}if(e.map.set(t,r),e.keys.unshift(t),e.keys.length>s){const o=e.keys.shift();o&&e.map.delete(o)}}function jl(e,t,r,s,o=100){Fs(e,t,{validUntil:Date.now()+s,data:r},o)}function Ul(e,t){const r=e.map.get(t);return r&&r.validUntil>Date.now()?r.data:null}class ge{constructor(t){this.value=t}static of(t){return new ge(t)}static empty(){return new ge(null)}map(t){return new ge(this.value!==null&&this.value!==void 0?t(this.value):null)}mapAsync(t){return this.value!==null&&this.value!==void 0?t(this.value).then(r=>ge.of(r)):Promise.resolve(ge.empty())}ifPresent(t){return this.value!==null&&this.value!==void 0&&t(this.value),this}ifPresentAsync(t){return this.value!==null&&this.value!==void 0?t(this.value).then(()=>this):Promise.resolve(this)}ifAbsent(t){return(this.value===null||this.value===void 0)&&t(),this}ifAbsentAsync(t){return this.value===null||this.value===void 0?t().then(()=>this):Promise.resolve(this)}getOrFallback(t){return this.value??t()}getOrFallbackAsync(t){return this.value!==null&&this.value!==void 0?Promise.resolve(this.value):t()}getOrThrow(){if(this.value===null||this.value===void 0)throw Error("Optional.value is empty");return this.value}}a.Optional=ge;class Pl{constructor(t){this.supplier=t,this.value=null}get(){return this.value||(this.value=this.supplier()),this.value}}a.Lazy=Pl;class Zl{constructor(t){this.supplier=t,this.value=null}async get(){return this.value||(this.value=await this.supplier()),this.value}}a.AsyncLazy=Zl;function Bl(e){return()=>e.forEach(t=>t())}function Ll(e,t){return e.reduce((r,s)=>t(r)>t(s)?r:s)}function zl(e,t){const r=e.find(s=>s instanceof t);return ge.of(r)}function Fl(e,t){return e.filter(r=>r instanceof t)}function Vl(e,t){const r=[],s=Math.max(e.length,t.length);for(let o=0;o<s;o++)e[o]&&r.push(e[o]),t[o]&&r.push(t[o]);return r}function Wl(e,t){return e.includes(t)?e.filter(r=>r!==t):[...e,t]}class Hl{constructor(t){this.value=t,this.children=[]}}function ql(e,t,r,s,o=!1){const d=new Map,f=[];e.forEach(p=>{const k=new Hl(p);d.set(p[t],k)}),e.forEach(p=>{const k=d.get(p[t]);if(!k)return;const $=p[r];if($){const U=d.get($);U&&U.children.push(k)}else f.push(k)});const g=p=>{p.children.sort((k,$)=>{const U=k.value[s],Be=$.value[s];return o?Be-U:U-Be}),p.children.forEach(g)};return f.forEach(g),f}function Vs(e,t){if(Math.log2(e.length)%1!==0)throw new Error("Array length must be a power of 2");let r=[...e];for(;r.length>1;){const s=[];for(let o=0;o<r.length;o+=2){const d=r[o+1];s.push(t(r[o],d))}r=s}return r[0]}function Ue(...e){const t=e.reduce((o,d)=>o+d.length,0),r=new Uint8Array(t);let s=0;return e.forEach(o=>{r.set(o,s),s+=o.length}),r}function Ws(e){return e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71}function Hs(e){return e[0]===255&&e[1]===216}function qs(e){return e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80}function Gl(e){return Ws(e)||Hs(e)||qs(e)}function Kl(e){return new Uint8Array([e])}function Yl(e){return e[0]}function Ql(e,t){const r=new ArrayBuffer(2);return new DataView(r).setUint16(0,e,t==="LE"),new Uint8Array(r)}function Xl(e,t){return new DataView(e.buffer).getUint16(e.byteOffset,t==="LE")}function Jl(e,t){const r=new ArrayBuffer(4);return new DataView(r).setUint32(0,e,t==="LE"),new Uint8Array(r)}function ed(e,t){return new DataView(e.buffer).getUint32(e.byteOffset,t==="LE")}function kr(e,t){const r=new ArrayBuffer(8);return new DataView(r).setBigUint64(0,BigInt(e),t==="LE"),new Uint8Array(r)}function td(e,t){return new DataView(e.buffer).getBigUint64(e.byteOffset,t==="LE")}function Pe(e,t){const r=new Uint8Array(32);let s=e;if(t==="LE"){for(let o=0;o<32;o++)r[o]=Number(s&0xffn),s>>=8n;return r}for(let o=31;o>=0;o--)r[o]=Number(s&0xffn),s>>=8n;return r}function Ze(e,t){let r=0n;if(t==="LE"){for(let s=31;s>=0;s--)r=r<<8n|BigInt(e[s]);return r}for(let s=0;s<32;s++)r=r<<8n|BigInt(e[s]);return r}function rd(e,t){const r=[];let s=0;for(const o of t)r.push(e.subarray(s,s+o)),s+=o;return r}function Er(e,t){const r=[];for(let s=0;s<e.length;s+=t)r.push(e.subarray(s,s+t));return r}const Gs=[0,1,0,32898,2147483648,32906,2147483648,2147516416,0,32907,0,2147483649,2147483648,2147516545,2147483648,32777,0,138,0,136,0,2147516425,0,2147483658,0,2147516555,2147483648,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,0,32778,2147483648,2147483658,2147483648,2147516545,2147483648,32896,0,2147483649,2147483648,2147516424];function nd(e){for(let t=0;t<24;t++){const r=e[0]^e[10]^e[20]^e[30]^e[40],s=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],d=e[3]^e[13]^e[23]^e[33]^e[43],f=e[4]^e[14]^e[24]^e[34]^e[44],g=e[5]^e[15]^e[25]^e[35]^e[45],p=e[6]^e[16]^e[26]^e[36]^e[46],k=e[7]^e[17]^e[27]^e[37]^e[47],$=e[8]^e[18]^e[28]^e[38]^e[48],U=e[9]^e[19]^e[29]^e[39]^e[49],Be=o<<1|d>>>31,Zd=d<<1|o>>>31,dt=$^Be,ft=U^Zd,Bd=f<<1|g>>>31,Ld=g<<1|f>>>31,ht=r^Bd,mt=s^Ld,zd=p<<1|k>>>31,Fd=k<<1|p>>>31,pt=o^zd,gt=d^Fd,Vd=$<<1|U>>>31,Wd=U<<1|$>>>31,yt=f^Vd,vt=g^Wd,Hd=r<<1|s>>>31,qd=s<<1|r>>>31,wt=p^Hd,_t=k^qd;e[0]^=dt,e[1]^=ft,e[2]^=ht,e[3]^=mt,e[4]^=pt,e[5]^=gt,e[6]^=yt,e[7]^=vt,e[8]^=wt,e[9]^=_t,e[10]^=dt,e[11]^=ft,e[12]^=ht,e[13]^=mt,e[14]^=pt,e[15]^=gt,e[16]^=yt,e[17]^=vt,e[18]^=wt,e[19]^=_t,e[20]^=dt,e[21]^=ft,e[22]^=ht,e[23]^=mt,e[24]^=pt,e[25]^=gt,e[26]^=yt,e[27]^=vt,e[28]^=wt,e[29]^=_t,e[30]^=dt,e[31]^=ft,e[32]^=ht,e[33]^=mt,e[34]^=pt,e[35]^=gt,e[36]^=yt,e[37]^=vt,e[38]^=wt,e[39]^=_t,e[40]^=dt,e[41]^=ft,e[42]^=ht,e[43]^=mt,e[44]^=pt,e[45]^=gt,e[46]^=yt,e[47]^=vt,e[48]^=wt,e[49]^=_t;const Mr=e[0],$r=e[1],Cr=e[2]<<1|e[3]>>>31,Nr=e[3]<<1|e[2]>>>31,Rr=e[5]<<30|e[4]>>>2,Dr=e[4]<<30|e[5]>>>2,jr=e[6]<<28|e[7]>>>4,Ur=e[7]<<28|e[6]>>>4,Pr=e[8]<<27|e[9]>>>5,Zr=e[9]<<27|e[8]>>>5,Br=e[11]<<4|e[10]>>>28,Lr=e[10]<<4|e[11]>>>28,zr=e[13]<<12|e[12]>>>20,Fr=e[12]<<12|e[13]>>>20,Vr=e[14]<<6|e[15]>>>26,Wr=e[15]<<6|e[14]>>>26,Hr=e[17]<<23|e[16]>>>9,qr=e[16]<<23|e[17]>>>9,Gr=e[18]<<20|e[19]>>>12,Kr=e[19]<<20|e[18]>>>12,Yr=e[20]<<3|e[21]>>>29,Qr=e[21]<<3|e[20]>>>29,Xr=e[22]<<10|e[23]>>>22,Jr=e[23]<<10|e[22]>>>22,en=e[25]<<11|e[24]>>>21,tn=e[24]<<11|e[25]>>>21,rn=e[26]<<25|e[27]>>>7,nn=e[27]<<25|e[26]>>>7,sn=e[29]<<7|e[28]>>>25,an=e[28]<<7|e[29]>>>25,on=e[31]<<9|e[30]>>>23,cn=e[30]<<9|e[31]>>>23,un=e[33]<<13|e[32]>>>19,ln=e[32]<<13|e[33]>>>19,dn=e[34]<<15|e[35]>>>17,fn=e[35]<<15|e[34]>>>17,hn=e[36]<<21|e[37]>>>11,mn=e[37]<<21|e[36]>>>11,pn=e[38]<<8|e[39]>>>24,gn=e[39]<<8|e[38]>>>24,yn=e[40]<<18|e[41]>>>14,vn=e[41]<<18|e[40]>>>14,wn=e[42]<<2|e[43]>>>30,_n=e[43]<<2|e[42]>>>30,bn=e[45]<<29|e[44]>>>3,xn=e[44]<<29|e[45]>>>3,kn=e[47]<<24|e[46]>>>8,En=e[46]<<24|e[47]>>>8,Tn=e[48]<<14|e[49]>>>18,An=e[49]<<14|e[48]>>>18;e[0]=Mr^~zr&en,e[1]=$r^~Fr&tn,e[2]=zr^~en&hn,e[3]=Fr^~tn&mn,e[4]=en^~hn&Tn,e[5]=tn^~mn&An,e[6]=hn^~Tn&Mr,e[7]=mn^~An&$r,e[8]=Tn^~Mr&zr,e[9]=An^~$r&Fr,e[10]=jr^~Gr&Yr,e[11]=Ur^~Kr&Qr,e[12]=Gr^~Yr&un,e[13]=Kr^~Qr&ln,e[14]=Yr^~un&bn,e[15]=Qr^~ln&xn,e[16]=un^~bn&jr,e[17]=ln^~xn&Ur,e[18]=bn^~jr&Gr,e[19]=xn^~Ur&Kr,e[20]=Cr^~Vr&rn,e[21]=Nr^~Wr&nn,e[22]=Vr^~rn&pn,e[23]=Wr^~nn&gn,e[24]=rn^~pn&yn,e[25]=nn^~gn&vn,e[26]=pn^~yn&Cr,e[27]=gn^~vn&Nr,e[28]=yn^~Cr&Vr,e[29]=vn^~Nr&Wr,e[30]=Pr^~Br&Xr,e[31]=Zr^~Lr&Jr,e[32]=Br^~Xr&dn,e[33]=Lr^~Jr&fn,e[34]=Xr^~dn&kn,e[35]=Jr^~fn&En,e[36]=dn^~kn&Pr,e[37]=fn^~En&Zr,e[38]=kn^~Pr&Br,e[39]=En^~Zr&Lr,e[40]=Rr^~Hr&sn,e[41]=Dr^~qr&an,e[42]=Hr^~sn&on,e[43]=qr^~an&cn,e[44]=sn^~on&wn,e[45]=an^~cn&_n,e[46]=on^~wn&Rr,e[47]=cn^~_n&Dr,e[48]=wn^~Rr&Hr,e[49]=_n^~Dr&qr,e[0]^=Gs[t*2],e[1]^=Gs[t*2+1]}}function Ks(e){const t=[];for(let r=0;r<e.length;r+=4)t.push(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24);return t}function Ys(e,t){if(!e.length){const o=new Uint8Array(136);return o[0]=t,o[135]=128,[Ks(o)]}const r=Er(e,136),s=r[r.length-1];if(s.length<136){const o=new Uint8Array(136);o.set(s),o[s.length]=t,o[135]|=128,r[r.length-1]=o}if(s.length===136){const o=new Uint8Array(136);o[0]=t,o[135]=128,r.push(o)}return r.map(Ks)}function Qs(e,t){for(const r of t){for(let s=0;s<34;s+=2)e[s]^=r[s+1],e[s+1]^=r[s];nd(e)}return e}function Xs(e){return new Uint8Array([e[1],e[1]>>-24,e[1]>>-16,e[1]>>-8,e[0],e[0]>>8,e[0]>>16,e[0]>>24,e[3],e[3]>>-24,e[3]>>-16,e[3]>>-8,e[2],e[2]>>8,e[2]>>16,e[2]>>24,e[5],e[5]>>-24,e[5]>>-16,e[5]>>-8,e[4],e[4]>>8,e[4]>>16,e[4]>>24,e[7],e[7]>>-24,e[7]>>-16,e[7]>>-8,e[6],e[6]>>8,e[6]>>16,e[6]>>24])}function oe(e){return Xs(Qs(new Array(50).fill(0),Ys(e,1)))}function sd(e){return Xs(Qs(new Array(50).fill(0),Ys(e,6)))}function id(e,t,r){const s=Math.min(e.length,t.length,r/8+1);for(let o=0;o<s;o++){const d=e[o]^t[o];for(let f=0;f<8;f++)if(d>>7-f&1)return o*8+f}return r}function ad(e,t){const r=Math.min(e.length,t.length);for(let s=0;s<r;s++)if(e[s]!==t[s])return e.subarray(0,s);return e.subarray(0,r)}function od(e,t,r,s){const o=Math.floor(t/8),d=t%8;r===1?e[o]|=1<<(s==="BE"?7-d:d):e[o]&=~(1<<(s==="BE"?7-d:d))}function cd(e,t,r){const s=Math.floor(t/8),o=t%8;return e[s]>>(r==="BE"?7-o:o)&1}function ud(e,t,r=0){for(let s=r;s<e.length;s++)for(let o=0;o<t.length&&e[s+o]===t[o];o++)if(o===t.length-1)return s;return-1}function Js(e,t,r=0){if(e.length>=t)return e;const s=new Uint8Array(t);return s.fill(r),s.set(e,t-e.length),s}function ld(e,t,r=0){const s=e.length%t;return s===0?e:Js(e,e.length+t-s,r)}function ei(e,t,r=0){if(e.length>=t)return e;const s=new Uint8Array(t);return s.fill(r),s.set(e,0),s}function dd(e,t,r=0){const s=e.length%t;return s===0?e:ei(e,e.length+t-s,r)}function fd(e,t){const r=new Uint8Array(e.length);for(let s=0;s<e.length;s++)r[s]=e[s]^t[s%t.length];return r}function hd(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function C(e,t){return(e%t+t)%t}function ut(e,t){e=C(e,t);let[r,s]=[0n,1n],[o,d]=[t,e];for(;d!==0n;){const f=o/d;[r,s]=[s,r-f*s],[o,d]=[d,o-f*d]}if(o>1n)throw new Error("a is not invertible");return r<0n&&(r+=t),r}function md(e,t,r){let s=1n;for(e=C(e,r);t>0;)t%2n===1n&&(s=C(s*e,r)),e=C(e*e,r),t=t/2n;return s}function ti(e,t){return C(e,t)===0n?0n:t%4n===3n?md(e,(t+1n)/4n,t):null}const L=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,j=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,Zt=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Bt=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;function Tr(e,t,r){if(t===0n)return[0n,0n];const s=C(3n*e*e*ut(2n*t,r),r),o=C(s*s-2n*e,r),d=C(s*(e-o)-t,r);return[o,d]}function Lt(e,t,r,s,o){if(e===0n&&t===0n)return[r,s];if(r===0n&&s===0n)return[e,t];if(e===r&&t===C(-s,o))return[0n,0n];if(e===r&&t===s)return Tr(e,t,o);const d=C((s-t)*ut(r-e,o),o),f=C(d*d-e-r,o),g=C(d*(e-f)-t,o);return[f,g]}function pd(e){if(e<=0n||e>=j)throw new Error("Invalid private key");return Ae(Zt,Bt,e,L)}function gd(e){const t=e[1]%2n===0n?2:3;return new Uint8Array([t,...Pe(e[0],"BE")])}function yd(e){if(e.length!==33||e[0]!==2&&e[0]!==3)throw new Error("Invalid compressed public key");const t=Ze(e.slice(1),"BE"),r=ti(C(t**3n+7n,L),L);if(!r)throw Error("Invalid x: does not correspond to a valid curve point");const s=C(-r,L),o=r%2n===0n;return[t,e[0]===2?o?r:s:o?s:r]}function vd(e){const t=new Uint8Array(20),r=oe(Ue(Pe(e[0],"BE"),Pe(e[1],"BE")));return t.set(r.subarray(12)),t}function wd(e){const t=a.Binary.uint8ArrayToHex(e),r=a.Binary.uint8ArrayToHex(a.Binary.keccak256(new Uint8Array([...t].map(o=>o.charCodeAt(0)))));let s="0x";for(let o=0;o<t.length;o++)parseInt(r[o],16)>7?s+=t[o].toUpperCase():s+=t[o];return s}function Ae(e,t,r,s){let o=[0n,0n],d=[e,t];const f=r.toString(2);for(const g of f)g==="0"?(d=Lt(o[0],o[1],d[0],d[1],s),o=Tr(o[0],o[1],s)):(o=Lt(o[0],o[1],d[0],d[1],s),d=Tr(d[0],d[1],s));return o}function _d(e,t,r){return ri(Ze(oe(e),"BE"),t,r)}function ri(e,t,r){if(t<=0n||t>=j)throw new Error("Invalid private key");if(r||(r=C(Ze(oe(Ue(oe(Pe(t,"BE")),Pe(e,"BE"))),"BE"),j)),r<=0n||r>=j)throw new Error("Invalid nonce");const s=C(e,j),o=Ae(Zt,Bt,r,L),d=C(o[0],j);let f=C((s+C(d,j)*t)*ut(r,j),j);if(d===0n||f===0n)throw new Error("Invalid r or s value");let g=o[1]%2n===0n?27n:28n;return f>j/2n&&(f=j-f,g=g===27n?28n:27n),[d,f,g]}function bd(e,t,r,s){const o=ti(C(t**3n+7n,L),L);if(!o)throw new Error("Invalid r: does not correspond to a valid curve point");const d=s===27n?0n:1n,f=o%2n===d?o:L-o,g=C(Ze(oe(e),"BE"),j),p=Ae(t,f,r,L),k=Ae(Zt,Bt,g,L),$=Lt(p[0],p[1],k[0],C(-k[1],L),L);return Ae($[0],$[1],ut(t,j),L)}function xd(e,t,r,s){const o=C(Ze(oe(e),"BE"),j),d=ut(s,j),f=C(o*d,j),g=C(r*d,j),p=Ae(Zt,Bt,f,L),k=Ae(t[0],t[1],g,L),$=Lt(p[0],p[1],k[0],k[1],L);return r===C($[0],j)}class ni{constructor(t){this.cursor=0,this.buffer=t}read(t){const r=this.buffer.subarray(this.cursor,this.cursor+t);return this.cursor+=t,r}max(){return this.buffer.length-this.cursor}}a.Uint8ArrayReader=ni;class si{constructor(t){this.buffer=t,this.cursor=0}write(t){const r=Math.min(this.max(),t.max());return this.buffer.set(t.read(r),this.cursor),this.cursor+=r,r}max(){return this.buffer.length-this.cursor}}a.Uint8ArrayWriter=si;class zt{constructor(t,r=0n){this.span=r,this.writer=new si(new Uint8Array(t))}build(){return Ue(kr(this.span,"LE"),this.writer.buffer)}hash(){const t=Vs(Er(this.writer.buffer,32),(r,s)=>oe(Ue(r,s)));return oe(Ue(kr(this.span,"LE"),t))}}a.Chunk=zt;class Ar{constructor(t,r=4096){this.counters=[1],this.capacity=r,this.chunks=[new zt(r)],this.onChunk=t}static async root(t,r=4096){const s=new n(n.NOOP,r);return await s.append(t),s.finalize()}async append(t,r=0,s=0n){const o=new ni(t);for(;o.max()>0;){this.chunks[r].writer.max()===0&&await this.elevate(r);const d=this.chunks[r].writer.write(o);s?this.chunks[r].span+=s:this.chunks[0].span+=BigInt(d)}}async elevate(t){this.counters[t]=++this.counters[t]%(this.capacity/32),this.chunks[t+1]||(this.chunks.push(new zt(this.capacity)),this.counters.push(1)),await this.append(this.chunks[t].hash(),t+1,this.chunks[t].span),await this.onChunk(this.chunks[t]),this.chunks[t]=new zt(this.capacity)}async finalize(t=0){return this.chunks[t+1]?this.counters[t]===1?(await this.elevate(t+1),this.chunks[t+1]=this.chunks[t],this.finalize(t+1)):(await this.elevate(t),this.finalize(t+1)):(await this.onChunk(this.chunks[t]),this.chunks[t])}}a.MerkleTree=Ar,n=Ar,Ar.NOOP=async e=>{};class te{constructor(t,r){if(r<0)throw Error("Scale must be non-negative");this.value=BigInt(t),this.scale=r}static fromDecimalString(t,r){let[s,o]=t.split(".");return o=(o||"").padEnd(r,"0").slice(0,r),new te(BigInt(s+o),r)}add(t){return this.assertSameScale(t),new te(this.value+t.value,this.scale)}subtract(t){return this.assertSameScale(t),new te(this.value-t.value,this.scale)}multiply(t){return new te(this.value*t,this.scale)}divmod(t){if(t===0n)throw new Error("Division by zero is not allowed");const r=this.value/t,s=this.value%t;return[new te(r,this.scale),new te(s,this.scale)]}exchange(t,r,s){if(t==="*"){const d=this.value*r.value/10n**BigInt(this.scale);return new te(d,s)}this.assertSameScale(r);const o=this.value*10n**BigInt(s)/r.value;return new te(o,s)}compare(t){return this.assertSameScale(t),this.value>t.value?1:this.value<t.value?-1:0}toDecimalString(){if(this.scale===0)return this.value.toString();const t=this.value.toString(),r=t.slice(0,-this.scale)||"0",s=t.slice(-this.scale).padStart(this.scale,"0");return`${r}.${s}`}toString(){return this.value.toString()}toJSON(){return this.toString()}assertSameScale(t){if(this.scale!==t.scale)throw new Error(`Scale mismatch: expected ${this.scale}, but got ${t.scale}`)}}a.FixedPointNumber=te;function kd(e){if(e.length===0)return null;const t=e[0];return t.ttlMax?--t.ttl<=0&&e.shift():t.ttlMax=t.ttl,{progress:(t.ttlMax-t.ttl)/t.ttlMax,data:t.data}}function Ft(e,t,r,s){const o=e.findIndex(g=>g===`--${t}`||g.startsWith(`--${t}=`)),d=e[o];if(!d)return(r||{})[s||t||""]||null;if(d.includes("="))return d.split("=")[1];const f=e[o+1];return f&&!f.startsWith("-")?f:(r||{})[s||t||""]||null}function Ed(e,t,r,s){const o=Ft(e,t,r,s);if(!o)return null;try{return _r(o)}catch{throw new Error(`Invalid number argument ${t}: ${o}`)}}function Td(e,t,r,s){const o=e.some(p=>p.endsWith("-"+t)),d=Ft(e,t,r,s);if(!d&&o)return!0;if(!d&&!o)return null;const f=["true","1","yes","y","on"],g=["false","0","no","n","off"];if(f.includes(d.toLowerCase()))return!0;if(g.includes(d.toLowerCase()))return!1;throw Error(`Invalid boolean argument ${t}: ${d}`)}function ii(e,t,r,s){const o=Ft(e,t,r,s);if(!o)throw new Error(`Missing argument ${t}`);return o}function Ad(e,t,r,s){const o=ii(e,t,r,s);try{return _r(o)}catch{throw new Error(`Invalid argument ${t}: ${o}`)}}function ai(e,t){const r=e[t];e.splice(t,1),e.unshift(r)}function Sd(e,t){const r=[...e];return ai(r,t),r}function oi(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Od(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Sr(e,t){return{x:e.x*t,y:e.y*t}}function Id(e){const t=Math.sqrt(e.x*e.x+e.y*e.y);return{x:e.x/t,y:e.y/t}}function ci(e,t,r){return{x:e.x+Math.cos(t)*r,y:e.y+Math.sin(t)*r}}function ui(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function lt(e,t,r="row-first"){const s=[];if(r==="column-first")for(let o=0;o<e.length;o++)for(let d=0;d<e[0].length;d++)t(o,d)&&s.push({x:o,y:d});else for(let o=0;o<e[0].length;o++)for(let d=0;d<e.length;d++)t(d,o)&&s.push({x:d,y:o});return s}function Md(e,t,r){var s,o;return((s=e[t+1])==null?void 0:s[r])&&((o=e[t-1])==null?void 0:o[r])&&!e[t][r-1]&&!e[t][r+1]}function $d(e,t,r){var s,o;return e[t][r+1]&&e[t][r-1]&&!((s=e[t-1])!=null&&s[r])&&!((o=e[t+1])!=null&&o[r])}function li(e,t,r){var s;return!((s=e[t-1])!=null&&s[r])}function di(e,t,r){var s;return!((s=e[t+1])!=null&&s[r])}function fi(e,t,r){return!e[t][r-1]}function hi(e,t,r){return!e[t][r+1]}function Cd(e,t,r){var o,d,f,g,p,k,$,U;const s=[];return e[t][r]?Md(e,t,r)||$d(e,t,r)?[]:(!((o=e[t-1])!=null&&o[r-1])&&li(e,t,r)&&fi(e,t,r)&&s.push({x:t,y:r}),!((d=e[t+1])!=null&&d[r-1])&&di(e,t,r)&&fi(e,t,r)&&s.push({x:t+1,y:r}),!((f=e[t-1])!=null&&f[r+1])&&li(e,t,r)&&hi(e,t,r)&&s.push({x:t,y:r+1}),!((g=e[t+1])!=null&&g[r+1])&&di(e,t,r)&&hi(e,t,r)&&s.push({x:t+1,y:r+1}),s):((p=e[t-1])!=null&&p[r]&&e[t][r-1]&&s.push({x:t,y:r}),(k=e[t+1])!=null&&k[r]&&e[t][r-1]&&s.push({x:t+1,y:r}),($=e[t-1])!=null&&$[r]&&e[t][r+1]&&s.push({x:t,y:r+1}),(U=e[t+1])!=null&&U[r]&&e[t][r+1]&&s.push({x:t+1,y:r+1}),s)}function Nd(e,t,r,s){const o=[{x:0,y:0},{x:r,y:0},{x:0,y:s},{x:r,y:s}];for(let d=0;d<e.length;d++)for(let f=0;f<e[0].length;f++){const g=Cd(e,d,f);for(const p of g)o.some(k=>k.x===p.x&&k.y===p.y)||o.push(p)}return o.map(d=>({x:d.x*t,y:d.y*t}))}function Rd(e,t){const r=lt(e,(p,k)=>e[p][k]===0&&e[p][k+1]!==0,"row-first").map(p=>({...p,dx:1,dy:0})),s=lt(e,(p,k)=>e[p][k]===0&&e[p][k-1]!==0,"row-first").map(p=>({...p,dx:1,dy:0})),o=lt(e,(p,k)=>{var $;return e[p][k]===0&&(($=e[p-1])==null?void 0:$[k])!==0},"column-first").map(p=>({...p,dx:0,dy:1})),d=lt(e,(p,k)=>{var $;return e[p][k]===0&&(($=e[p+1])==null?void 0:$[k])!==0},"column-first").map(p=>({...p,dx:0,dy:1}));r.forEach(p=>p.y++),d.forEach(p=>p.x++);const f=xr([...o,...d],(p,k)=>p.x===k.x&&p.y-1===k.y),g=xr([...s,...r],(p,k)=>p.y===k.y&&p.x-1===k.x);return[...f,...g].map(p=>({start:p[0],end:it(p)})).map(p=>({start:Sr(p.start,t),end:Sr(oi(p.end,{x:p.start.dx,y:p.start.dy}),t)}))}function Dd(e,t){return Math.atan2(t.y-e.y,t.x-e.x)}function jd(e,t){return t.map(r=>Dd(e,r)).sort((r,s)=>r-s)}function mi(e,t,r,s){const o=(s.y-r.y)*(t.x-e.x)-(s.x-r.x)*(t.y-e.y);if(o===0)return null;let d=e.y-r.y,f=e.x-r.x;const g=(s.x-r.x)*d-(s.y-r.y)*f,p=(t.x-e.x)*d-(t.y-e.y)*f;return d=g/o,f=p/o,d>0&&d<1&&f>0&&f<1?{x:e.x+d*(t.x-e.x),y:e.y+d*(t.y-e.y)}:null}function Or(e,t,r){const s=[],o=ci(e,r,1e4);for(const d of t){const f=mi(e,o,d.start,d.end);f&&s.push(f)}return s.length?s.reduce((d,f)=>{const g=ui(e,f),p=ui(e,d);return g<p?f:d}):null}function Ud(e,t,r){const s=jd(e,r),o=[];for(const d of s){const f=Or(e,t,d-.001),g=Or(e,t,d+.001);f&&o.push(f),g&&o.push(g)}return o}class Ir{constructor(){this.subscribers=[]}subscribe(t){return this.subscribers.push(t),()=>{this.subscribers=this.subscribers.filter(r=>r!==t)}}publish(t){this.subscribers.forEach(r=>r(t))}clear(){this.subscribers=[]}getSubscriberCount(){return this.subscribers.length}}a.PubSubChannel=Ir;class Pd{constructor(t,r){this.queue=[],this.running=0,this.onProcessed=new Ir,this.onDrained=new Ir,this.concurrency=t,this.capacity=r}process(){if(this.running>=this.concurrency)return;const t=this.queue.shift();t&&(this.running++,t().finally(()=>{this.running--,this.process(),this.onProcessed.publish(),this.running===0&&this.onDrained.publish()}))}enqueue(t){if(this.queue.length<this.capacity)return this.queue.push(t),this.process(),Promise.resolve();if(this.onProcessed.getSubscriberCount())throw Error("Queue capacity is full");return new Promise(r=>{this.onProcessed.subscribe(()=>{this.queue.length<this.capacity&&(this.queue.push(t),this.process(),this.onProcessed.clear(),r())})})}drain(){if(this.running===0)return Promise.resolve();if(this.onDrained.getSubscriberCount())throw Error("Already draining");return new Promise(t=>{this.onDrained.subscribe(()=>{this.onDrained.clear(),t()})})}}a.AsyncQueue=Pd,a.Binary={hexToUint8Array:Fc,uint8ArrayToHex:Vc,base64ToUint8Array:Zc,uint8ArrayToBase64:Bc,base32ToUint8Array:Lc,uint8ArrayToBase32:zc,log2Reduce:Vs,partition:Er,concatBytes:Ue,numberToUint8:Kl,uint8ToNumber:Yl,numberToUint16:Ql,uint16ToNumber:Xl,numberToUint32:Jl,uint32ToNumber:ed,numberToUint64:kr,uint64ToNumber:td,numberToUint256:Pe,uint256ToNumber:Ze,sliceBytes:rd,keccak256:oe,sha3_256:sd,proximity:id,commonPrefix:ad,setBit:od,getBit:cd,indexOf:ud,equals:hd,padStart:Js,padStartToMultiple:ld,padEnd:ei,padEndToMultiple:dd,xorCypher:fd},a.Elliptic={privateKeyToPublicKey:pd,compressPublicKey:gd,publicKeyFromCompressed:yd,publicKeyToAddress:vd,signMessage:_d,signHash:ri,verifySignature:xd,recoverPublicKey:bd,checksumEncode:wd},a.Random={intBetween:st,floatBetween:qn,chance:Gn,signed:ja,makeSeededRng:tr,point:Pa,procs:Za},a.Arrays={countUnique:Il,makeUnique:Ol,splitBySize:Al,splitByCount:Bs,index:Zs,indexCollection:Tl,onlyOrThrow:m,onlyOrNull:w,firstOrThrow:E,firstOrNull:v,shuffle:h,initialize:D,initialize2D:ae,rotate2D:ie,containsShape:nt,glue:Go,pluck:er,pick:rr,pickMany:Ba,pickManyUnique:La,pickWeighted:Va,pickRandomIndices:Ne,pickGuaranteed:za,last:it,pipe:Kn,makePipe:Fa,sortWeighted:Wa,pushAll:Nt,unshiftAll:Ho,filterAndRemove:hu,merge:cl,empty:ul,pushToBucket:Fo,unshiftAndLimit:Vo,atRolling:Wo,group:xr,createOscillator:Ku,organiseWithLimits:Qu,tickPlaybook:kd,getArgument:Ft,getBooleanArgument:Td,getNumberArgument:Ed,requireStringArgument:ii,requireNumberArgument:Ad,bringToFront:Sd,bringToFrontInPlace:ai,findInstance:zl,filterInstances:Fl,interleave:Vl,toggle:Wl,createHierarchy:ql,multicall:Bl,maxBy:Ll},a.System={sleepMillis:l,forever:Qa,scheduleMany:tc,waitFor:fu,expandError:Zo,runAndSetInterval:Xa},a.Numbers={make:_r,sum:nc,average:sc,median:ic,getDistanceFromMidpoint:ac,clamp:br,range:cs,interpolate:rc,createSequence:Gu,increment:sl,decrement:il,format:nl,fromDecimals:rl,makeStorage:Pu,asMegabytes:Ja,convertBytes:eo,hexToRgb:to,rgbToHex:ro,haversineDistanceToMeters:no,roundToNearest:It,formatDistance:so,triangularNumber:io,searchFloat:ao},a.Promises={raceFulfilled:c,invert:i,runInParallelBatches:u},a.Dates={getTimestamp:xu,getTimeDelta:Ms,secondsToHumanTime:ku,countCycles:Eu,isoDate:gu,throttle:Tu,timeSince:Su,dateTimeSlug:yu,unixTimestamp:pu,fromUtcString:vu,fromMillis:wu,getProgress:Ou,humanizeTime:Ut,humanizeProgress:du,createTimeDigits:ee,mapDayNumber:$s,getDayInfoFromDate:vr,getDayInfoFromDateTimeString:Mu,seconds:$u,minutes:Cu,hours:Nu,days:Ru,make:ju,normalizeTime:_u,absoluteDays:Ee},a.Objects={safeParse:qu,deleteDeep:Ga,getDeep:be,setDeep:xe,incrementDeep:Ha,ensureDeep:qa,replaceDeep:Ka,getFirstDeep:Ya,deepMergeInPlace:ke,deepMerge2:Bo,deepMerge3:Lo,mapAllAsync:qo,cloneWithJson:mu,sortObject:Ns,sortArray:Rs,sortAny:Te,deepEquals:Ds,deepEqualsEvery:Hu,runOn:al,ifPresent:ol,zip:os,zipSum:zo,removeEmptyArrays:ll,removeEmptyValues:dl,flatten:kl,unflatten:Ps,match:El,sort:zs,map:ml,mapIterable:pl,filterKeys:fl,filterValues:hl,rethrow:gl,setSomeOnObject:yl,setSomeDeep:vl,flip:wl,getAllPermutations:_l,countTruthyValues:bl,transformToArray:Ml,setMulti:Cl,incrementMulti:$l,createBidirectionalMap:Nl,createTemporalBidirectionalMap:Rl,pushToBidirectionalMap:Fs,unshiftToBidirectionalMap:Dl,addToTemporalBidirectionalMap:jl,getFromTemporalBidirectionalMap:Ul,createStatefulToggle:Yu,diffKeys:Xu,pickRandomKey:js,mapRandomKey:Ju,fromObjectString:el,toQueryString:Os,parseQueryString:nu,hasKey:su,selectMax:iu,reposition:au,unwrapSingleKey:ou,parseKeyValues:cu},a.Types={isFunction:sr,isObject:he,isStrictlyObject:Re,isEmptyArray:Yn,isEmptyObject:oo,isUndefined:nr,isString:V,isNumber:me,isBoolean:Qn,isDate:De,isBlank:Mt,isId:ir,isIntegerString:Xn,isHexString:Jn,isUrl:is,isNullable:Do,asString:ns,asHexString:bo,asSafeString:xo,asIntegerString:_o,asNumber:$t,asFunction:ko,asInteger:cr,asBoolean:Eo,asDate:To,asNullableString:Ao,asEmptiableString:So,asId:Oo,asTime:Io,asArray:Mo,asObject:Ct,asNullableObject:$o,asStringMap:Co,asNumericDictionary:No,asUrl:Ro,asNullable:jo,asOptional:Uo,enforceObjectShape:as,enforceArrayShape:Po,isPng:Ws,isJpg:Hs,isWebp:qs,isImage:Gl},a.Strings={tokenizeByCount:Sl,tokenizeByLength:Ls,searchHex:yo,searchSubstring:vo,randomHex:wo,randomLetter:ho,randomAlphanumeric:mo,randomRichAscii:po,randomUnicode:go,includesAny:oc,slugify:ur,normalForm:uc,enumify:pc,escapeHtml:yc,decodeHtmlEntities:wc,after:lr,afterLast:ls,before:us,beforeLast:dr,betweenWide:_c,betweenNarrow:bc,getPreLine:Zu,containsWord:gr,containsWords:Jc,joinUrl:Cs,getFuzzyMatchScore:Rt,sortByFuzzyScore:gc,splitOnce:fr,splitAll:ds,randomize:Tc,expand:fs,shrinkTrim:ot,capitalize:Dt,decapitalize:hs,csvEscape:$c,parseCsv:lu,surroundInOut:mc,getExtension:hr,getBasename:mr,normalizeEmail:xc,normalizeFilename:kc,parseFilename:Ec,camelToTitle:lc,slugToTitle:dc,slugToCamel:fc,joinHumanly:hc,findWeightedPair:ws,extractBlock:_s,extractAllBlocks:Rc,replaceBlocks:Dc,indexOfEarliest:je,lastIndexOfBefore:vs,parseHtmlAttributes:eu,readNextWord:jt,resolveVariables:tu,resolveVariableWithDefaultSyntax:As,resolveRemainingVariablesWithDefaults:Ss,isLetter:ms,isDigit:ps,isLetterOrDigit:ct,isValidObjectPathCharacter:Oc,insert:Ic,indexOfRegex:gs,lineMatches:ys,linesMatchInOrder:Mc,represent:at,resolveMarkdownLinks:ru,buildUrl:uu,isChinese:cc,replaceBetweenStrings:zu,describeMarkdown:Fu,isBalanced:Vu,textToFormat:Wu,splitFormatting:jc,splitHashtags:Uc,splitUrls:Pc,route:Wc,explodeReplace:pr,generateVariants:Hc,replaceWord:qc,replacePascalCaseWords:Gc,stripHtml:Kc,breakLine:Ts,measureTextWidth:Yc,toLines:Qc,levenshteinDistance:Xc},a.Assertions={asEqual:Ko,asTrue:Yo,asTruthy:Qo,asFalse:Xo,asFalsy:Jo,asEither:ec},a.Cache={get:Bu,invalidate:Lu},a.Vector={addPoint:oi,subtractPoint:Od,multiplyPoint:Sr,normalizePoint:Id,pushPoint:ci,filterCoordinates:lt,findCorners:Nd,findLines:Rd,raycast:Or,raycastCircle:Ud,getLineIntersectionPoint:mi}})(On);const N=wi(On);N.Arrays,N.Assertions;const Z=N.Binary;N.Cache,N.Dates,N.Elliptic,N.Numbers,N.Objects,N.Pagination,N.Promises,N.Random,N.Strings,N.System,N.Types,N.Optional,N.Vector,N.PubSubChannel,N.Chunk;const _i=N.MerkleTree;N.FixedPointNumber,N.Lazy,N.AsyncLazy,N.AsyncQueue,N.Uint8ArrayReader,N.Uint8ArrayWriter;const bi=new TextEncoder,In=1,Mn=4096,Wt=4096,xi=32;function $n(a,n){return n=typeof n=="number"?S.FeedIndex.fromBigInt(BigInt(n)):n,new S.Identifier(Z.keccak256(Z.concatBytes(a.toUint8Array(),n.toUint8Array())))}function ki(a){const n=a.slice(0,S.Span.LENGTH),i=a.slice(S.Span.LENGTH),c=Ei(i),u=Z.keccak256(Z.concatBytes(n,c));return new S.Reference(u)}function Ei(a){if(a.length>Wt)throw new S.BeeArgumentError(`payload size ${a.length} exceeds maximum chunk payload size ${Wt}`,a);const n=new Uint8Array(Wt);return n.set(a),Z.log2Reduce(Z.partition(n,xi),(i,c)=>Z.keccak256(Z.concatBytes(i,c)))}function Cn(a){if(a instanceof Uint8Array||(a=bi.encode(a)),a.length<In||a.length>Mn)throw new RangeError(`payload size ${a.length} exceeds limits [${In}, ${Mn}]`);const n=S.Span.fromBigInt(BigInt(a.length)),i=Z.concatBytes(n.toUint8Array(),a);return{data:i,span:n,payload:S.Bytes.fromSlice(i,S.Span.LENGTH),address:ki(i)}}function Ti(a,n){return new S.Reference(Z.keccak256(Z.concatBytes(a.toUint8Array(),n.toUint8Array())))}function Nn(a,n,i){n=new S.Identifier(n),i=new S.PrivateKey(i);const c=Ti(n,i.publicKey().address()),u=i.sign(Z.concatBytes(n.toUint8Array(),a.address.toUint8Array())),l=Z.concatBytes(n.toUint8Array(),u.toUint8Array(),a.data),h=S.Span.fromSlice(a.data,0),m=S.Bytes.fromSlice(a.data,S.Span.LENGTH);return{data:l,identifier:n,signature:u,span:h,payload:m,address:c,owner:i.publicKey().address()}}function Ht(a){return(a.startsWith("0x")?a.slice(2):a).toLowerCase()}class K{constructor(){}static getInstance(){return K.instance||(K.instance=new K),K.instance}formatMessage(n,...i){return`[${new Date().toISOString()}] [${n.toUpperCase()}] - ${i.map(u=>typeof u=="object"?JSON.stringify(u):u).join(" ")}`}log(...n){console.log(this.formatMessage("log",...n))}info(...n){console.info(this.formatMessage("info",...n))}warn(...n){console.warn(this.formatMessage("warn",...n))}error(...n){console.error(this.formatMessage("error",...n))}debug(...n){console.debug(this.formatMessage("debug",...n))}}class qt{constructor(){this.logger=K.getInstance()}handleError(n,i){const c=n instanceof Error?n.message:"Unknown error occurred",u=n instanceof Error?n.stack:null;this.logger.error(`Error in ${i||"unknown context"}: ${c}`,{stack:u})}}class Ai{constructor(){this.events={},this.on=this.on.bind(this),this.off=this.off.bind(this),this.cleanAll=this.cleanAll.bind(this),this.emit=this.emit.bind(this)}on(n,i){this.events[n]||(this.events[n]=[]),this.events[n].push(i)}off(n,i){if(!this.events[n])return;const c=this.events[n].indexOf(i);c>-1&&this.events[n].splice(c,1)}cleanAll(){this.events={}}emit(n,i){this.events[n]&&this.events[n].forEach(c=>c(i))}}var M;(function(a){a.assertEqual=u=>u;function n(u){}a.assertIs=n;function i(u){throw new Error}a.assertNever=i,a.arrayToEnum=u=>{const l={};for(const h of u)l[h]=h;return l},a.getValidEnumValues=u=>{const l=a.objectKeys(u).filter(m=>typeof u[u[m]]!="number"),h={};for(const m of l)h[m]=u[m];return a.objectValues(h)},a.objectValues=u=>a.objectKeys(u).map(function(l){return u[l]}),a.objectKeys=typeof Object.keys=="function"?u=>Object.keys(u):u=>{const l=[];for(const h in u)Object.prototype.hasOwnProperty.call(u,h)&&l.push(h);return l},a.find=(u,l)=>{for(const h of u)if(l(h))return h},a.isInteger=typeof Number.isInteger=="function"?u=>Number.isInteger(u):u=>typeof u=="number"&&isFinite(u)&&Math.floor(u)===u;function c(u,l=" | "){return u.map(h=>typeof h=="string"?`'${h}'`:h).join(l)}a.joinValues=c,a.jsonStringifyReplacer=(u,l)=>typeof l=="bigint"?l.toString():l})(M||(M={}));var Gt;(function(a){a.mergeShapes=(n,i)=>({...n,...i})})(Gt||(Gt={}));const b=M.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),re=a=>{switch(typeof a){case"undefined":return b.undefined;case"string":return b.string;case"number":return isNaN(a)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":return Array.isArray(a)?b.array:a===null?b.null:a.then&&typeof a.then=="function"&&a.catch&&typeof a.catch=="function"?b.promise:typeof Map<"u"&&a instanceof Map?b.map:typeof Set<"u"&&a instanceof Set?b.set:typeof Date<"u"&&a instanceof Date?b.date:b.object;default:return b.unknown}},y=M.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Si=a=>JSON.stringify(a,null,2).replace(/"([^"]+)":/g,"$1:");class F extends Error{get errors(){return this.issues}constructor(n){super(),this.issues=[],this.addIssue=c=>{this.issues=[...this.issues,c]},this.addIssues=(c=[])=>{this.issues=[...this.issues,...c]};const i=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,i):this.__proto__=i,this.name="ZodError",this.issues=n}format(n){const i=n||function(l){return l.message},c={_errors:[]},u=l=>{for(const h of l.issues)if(h.code==="invalid_union")h.unionErrors.map(u);else if(h.code==="invalid_return_type")u(h.returnTypeError);else if(h.code==="invalid_arguments")u(h.argumentsError);else if(h.path.length===0)c._errors.push(i(h));else{let m=c,w=0;for(;w<h.path.length;){const v=h.path[w];w===h.path.length-1?(m[v]=m[v]||{_errors:[]},m[v]._errors.push(i(h))):m[v]=m[v]||{_errors:[]},m=m[v],w++}}};return u(this),c}static assert(n){if(!(n instanceof F))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=i=>i.message){const i={},c=[];for(const u of this.issues)u.path.length>0?(i[u.path[0]]=i[u.path[0]]||[],i[u.path[0]].push(n(u))):c.push(n(u));return{formErrors:c,fieldErrors:i}}get formErrors(){return this.flatten()}}F.create=a=>new F(a);const Se=(a,n)=>{let i;switch(a.code){case y.invalid_type:a.received===b.undefined?i="Required":i=`Expected ${a.expected}, received ${a.received}`;break;case y.invalid_literal:i=`Invalid literal value, expected ${JSON.stringify(a.expected,M.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:i=`Unrecognized key(s) in object: ${M.joinValues(a.keys,", ")}`;break;case y.invalid_union:i="Invalid input";break;case y.invalid_union_discriminator:i=`Invalid discriminator value. Expected ${M.joinValues(a.options)}`;break;case y.invalid_enum_value:i=`Invalid enum value. Expected ${M.joinValues(a.options)}, received '${a.received}'`;break;case y.invalid_arguments:i="Invalid function arguments";break;case y.invalid_return_type:i="Invalid function return type";break;case y.invalid_date:i="Invalid date";break;case y.invalid_string:typeof a.validation=="object"?"includes"in a.validation?(i=`Invalid input: must include "${a.validation.includes}"`,typeof a.validation.position=="number"&&(i=`${i} at one or more positions greater than or equal to ${a.validation.position}`)):"startsWith"in a.validation?i=`Invalid input: must start with "${a.validation.startsWith}"`:"endsWith"in a.validation?i=`Invalid input: must end with "${a.validation.endsWith}"`:M.assertNever(a.validation):a.validation!=="regex"?i=`Invalid ${a.validation}`:i="Invalid";break;case y.too_small:a.type==="array"?i=`Array must contain ${a.exact?"exactly":a.inclusive?"at least":"more than"} ${a.minimum} element(s)`:a.type==="string"?i=`String must contain ${a.exact?"exactly":a.inclusive?"at least":"over"} ${a.minimum} character(s)`:a.type==="number"?i=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="date"?i=`Date must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(a.minimum))}`:i="Invalid input";break;case y.too_big:a.type==="array"?i=`Array must contain ${a.exact?"exactly":a.inclusive?"at most":"less than"} ${a.maximum} element(s)`:a.type==="string"?i=`String must contain ${a.exact?"exactly":a.inclusive?"at most":"under"} ${a.maximum} character(s)`:a.type==="number"?i=`Number must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="bigint"?i=`BigInt must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="date"?i=`Date must be ${a.exact?"exactly":a.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(a.maximum))}`:i="Invalid input";break;case y.custom:i="Invalid input";break;case y.invalid_intersection_types:i="Intersection results could not be merged";break;case y.not_multiple_of:i=`Number must be a multiple of ${a.multipleOf}`;break;case y.not_finite:i="Number must be finite";break;default:i=n.defaultError,M.assertNever(a)}return{message:i}};let Rn=Se;function Oi(a){Rn=a}function bt(){return Rn}const xt=a=>{const{data:n,path:i,errorMaps:c,issueData:u}=a,l=[...i,...u.path||[]],h={...u,path:l};if(u.message!==void 0)return{...u,path:l,message:u.message};let m="";const w=c.filter(v=>!!v).slice().reverse();for(const v of w)m=v(h,{data:n,defaultError:m}).message;return{...u,path:l,message:m}},Ii=[];function _(a,n){const i=bt(),c=xt({issueData:n,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,i,i===Se?void 0:Se].filter(u=>!!u)});a.common.issues.push(c)}class B{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(n,i){const c=[];for(const u of i){if(u.status==="aborted")return A;u.status==="dirty"&&n.dirty(),c.push(u.value)}return{status:n.value,value:c}}static async mergeObjectAsync(n,i){const c=[];for(const u of i){const l=await u.key,h=await u.value;c.push({key:l,value:h})}return B.mergeObjectSync(n,c)}static mergeObjectSync(n,i){const c={};for(const u of i){const{key:l,value:h}=u;if(l.status==="aborted"||h.status==="aborted")return A;l.status==="dirty"&&n.dirty(),h.status==="dirty"&&n.dirty(),l.value!=="__proto__"&&(typeof h.value<"u"||u.alwaysSet)&&(c[l.value]=h.value)}return{status:n.value,value:c}}}const A=Object.freeze({status:"aborted"}),Oe=a=>({status:"dirty",value:a}),z=a=>({status:"valid",value:a}),Kt=a=>a.status==="aborted",Yt=a=>a.status==="dirty",ye=a=>a.status==="valid",Le=a=>typeof Promise<"u"&&a instanceof Promise;function kt(a,n,i,c){if(typeof n=="function"?a!==n||!c:!n.has(a))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n.get(a)}function Dn(a,n,i,c,u){if(typeof n=="function"?a!==n||!u:!n.has(a))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n.set(a,i),i}typeof SuppressedError=="function"&&SuppressedError;var x;(function(a){a.errToObj=n=>typeof n=="string"?{message:n}:n||{},a.toString=n=>typeof n=="string"?n:n==null?void 0:n.message})(x||(x={}));var ze,Fe;class Y{constructor(n,i,c,u){this._cachedPath=[],this.parent=n,this.data=i,this._path=c,this._key=u}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const jn=(a,n)=>{if(ye(n))return{success:!0,data:n.value};if(!a.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const i=new F(a.common.issues);return this._error=i,this._error}}};function O(a){if(!a)return{};const{errorMap:n,invalid_type_error:i,required_error:c,description:u}=a;if(n&&(i||c))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return n?{errorMap:n,description:u}:{errorMap:(h,m)=>{var w,v;const{message:E}=a;return h.code==="invalid_enum_value"?{message:E??m.defaultError}:typeof m.data>"u"?{message:(w=E??c)!==null&&w!==void 0?w:m.defaultError}:h.code!=="invalid_type"?{message:m.defaultError}:{message:(v=E??i)!==null&&v!==void 0?v:m.defaultError}},description:u}}class I{get description(){return this._def.description}_getType(n){return re(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:re(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new B,ctx:{common:n.parent.common,data:n.data,parsedType:re(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Le(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){const i=this._parse(n);return Promise.resolve(i)}parse(n,i){const c=this.safeParse(n,i);if(c.success)return c.data;throw c.error}safeParse(n,i){var c;const u={common:{issues:[],async:(c=i==null?void 0:i.async)!==null&&c!==void 0?c:!1,contextualErrorMap:i==null?void 0:i.errorMap},path:(i==null?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:re(n)},l=this._parseSync({data:n,path:u.path,parent:u});return jn(u,l)}"~validate"(n){var i,c;const u={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:re(n)};if(!this["~standard"].async)try{const l=this._parseSync({data:n,path:[],parent:u});return ye(l)?{value:l.value}:{issues:u.common.issues}}catch(l){!((c=(i=l==null?void 0:l.message)===null||i===void 0?void 0:i.toLowerCase())===null||c===void 0)&&c.includes("encountered")&&(this["~standard"].async=!0),u.common={issues:[],async:!0}}return this._parseAsync({data:n,path:[],parent:u}).then(l=>ye(l)?{value:l.value}:{issues:u.common.issues})}async parseAsync(n,i){const c=await this.safeParseAsync(n,i);if(c.success)return c.data;throw c.error}async safeParseAsync(n,i){const c={common:{issues:[],contextualErrorMap:i==null?void 0:i.errorMap,async:!0},path:(i==null?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:re(n)},u=this._parse({data:n,path:c.path,parent:c}),l=await(Le(u)?u:Promise.resolve(u));return jn(c,l)}refine(n,i){const c=u=>typeof i=="string"||typeof i>"u"?{message:i}:typeof i=="function"?i(u):i;return this._refinement((u,l)=>{const h=n(u),m=()=>l.addIssue({code:y.custom,...c(u)});return typeof Promise<"u"&&h instanceof Promise?h.then(w=>w?!0:(m(),!1)):h?!0:(m(),!1)})}refinement(n,i){return this._refinement((c,u)=>n(c)?!0:(u.addIssue(typeof i=="function"?i(c,u):i),!1))}_refinement(n){return new q({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}constructor(n){this.spa=this.safeParseAsync,this._def=n,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:i=>this["~validate"](i)}}optional(){return X.create(this,this._def)}nullable(){return fe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return H.create(this)}promise(){return Ce.create(this,this._def)}or(n){return qe.create([this,n],this._def)}and(n){return Ge.create(this,n,this._def)}transform(n){return new q({...O(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n=="function"?n:()=>n;return new Je({...O(this._def),innerType:this,defaultValue:i,typeName:T.ZodDefault})}brand(){return new Jt({typeName:T.ZodBranded,type:this,...O(this._def)})}catch(n){const i=typeof n=="function"?n:()=>n;return new et({...O(this._def),innerType:this,catchValue:i,typeName:T.ZodCatch})}describe(n){const i=this.constructor;return new i({...this._def,description:n})}pipe(n){return tt.create(this,n)}readonly(){return rt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Mi=/^c[^\s-]{8,}$/i,$i=/^[0-9a-z]+$/,Ci=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ni=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ri=/^[a-z0-9_-]{21}$/i,Di=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ji=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ui=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Pi="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Qt;const Zi=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Bi=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Li=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,zi=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Fi=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vi=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Un="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Wi=new RegExp(`^${Un}$`);function Pn(a){let n="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return a.precision?n=`${n}\\.\\d{${a.precision}}`:a.precision==null&&(n=`${n}(\\.\\d+)?`),n}function Hi(a){return new RegExp(`^${Pn(a)}$`)}function Zn(a){let n=`${Un}T${Pn(a)}`;const i=[];return i.push(a.local?"Z?":"Z"),a.offset&&i.push("([+-]\\d{2}:?\\d{2})"),n=`${n}(${i.join("|")})`,new RegExp(`^${n}$`)}function qi(a,n){return!!((n==="v4"||!n)&&Zi.test(a)||(n==="v6"||!n)&&Li.test(a))}function Gi(a,n){if(!Di.test(a))return!1;try{const[i]=a.split("."),c=i.replace(/-/g,"+").replace(/_/g,"/").padEnd(i.length+(4-i.length%4)%4,"="),u=JSON.parse(atob(c));return!(typeof u!="object"||u===null||!u.typ||!u.alg||n&&u.alg!==n)}catch{return!1}}function Ki(a,n){return!!((n==="v4"||!n)&&Bi.test(a)||(n==="v6"||!n)&&zi.test(a))}class W extends I{_parse(n){if(this._def.coerce&&(n.data=String(n.data)),this._getType(n)!==b.string){const l=this._getOrReturnCtx(n);return _(l,{code:y.invalid_type,expected:b.string,received:l.parsedType}),A}const c=new B;let u;for(const l of this._def.checks)if(l.kind==="min")n.data.length<l.value&&(u=this._getOrReturnCtx(n,u),_(u,{code:y.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),c.dirty());else if(l.kind==="max")n.data.length>l.value&&(u=this._getOrReturnCtx(n,u),_(u,{code:y.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),c.dirty());else if(l.kind==="length"){const h=n.data.length>l.value,m=n.data.length<l.value;(h||m)&&(u=this._getOrReturnCtx(n,u),h?_(u,{code:y.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message}):m&&_(u,{code:y.too_small,minimum:l.value,type:"string",inclusive:!0,exact:!0,message:l.message}),c.dirty())}else if(l.kind==="email")Ui.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"email",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="emoji")Qt||(Qt=new RegExp(Pi,"u")),Qt.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"emoji",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="uuid")Ni.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"uuid",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="nanoid")Ri.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"nanoid",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="cuid")Mi.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"cuid",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="cuid2")$i.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"cuid2",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="ulid")Ci.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"ulid",code:y.invalid_string,message:l.message}),c.dirty());else if(l.kind==="url")try{new URL(n.data)}catch{u=this._getOrReturnCtx(n,u),_(u,{validation:"url",code:y.invalid_string,message:l.message}),c.dirty()}else l.kind==="regex"?(l.regex.lastIndex=0,l.regex.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"regex",code:y.invalid_string,message:l.message}),c.dirty())):l.kind==="trim"?n.data=n.data.trim():l.kind==="includes"?n.data.includes(l.value,l.position)||(u=this._getOrReturnCtx(n,u),_(u,{code:y.invalid_string,validation:{includes:l.value,position:l.position},message:l.message}),c.dirty()):l.kind==="toLowerCase"?n.data=n.data.toLowerCase():l.kind==="toUpperCase"?n.data=n.data.toUpperCase():l.kind==="startsWith"?n.data.startsWith(l.value)||(u=this._getOrReturnCtx(n,u),_(u,{code:y.invalid_string,validation:{startsWith:l.value},message:l.message}),c.dirty()):l.kind==="endsWith"?n.data.endsWith(l.value)||(u=this._getOrReturnCtx(n,u),_(u,{code:y.invalid_string,validation:{endsWith:l.value},message:l.message}),c.dirty()):l.kind==="datetime"?Zn(l).test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{code:y.invalid_string,validation:"datetime",message:l.message}),c.dirty()):l.kind==="date"?Wi.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{code:y.invalid_string,validation:"date",message:l.message}),c.dirty()):l.kind==="time"?Hi(l).test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{code:y.invalid_string,validation:"time",message:l.message}),c.dirty()):l.kind==="duration"?ji.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"duration",code:y.invalid_string,message:l.message}),c.dirty()):l.kind==="ip"?qi(n.data,l.version)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"ip",code:y.invalid_string,message:l.message}),c.dirty()):l.kind==="jwt"?Gi(n.data,l.alg)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"jwt",code:y.invalid_string,message:l.message}),c.dirty()):l.kind==="cidr"?Ki(n.data,l.version)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"cidr",code:y.invalid_string,message:l.message}),c.dirty()):l.kind==="base64"?Fi.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"base64",code:y.invalid_string,message:l.message}),c.dirty()):l.kind==="base64url"?Vi.test(n.data)||(u=this._getOrReturnCtx(n,u),_(u,{validation:"base64url",code:y.invalid_string,message:l.message}),c.dirty()):M.assertNever(l);return{status:c.value,value:n.data}}_regex(n,i,c){return this.refinement(u=>n.test(u),{validation:i,code:y.invalid_string,...x.errToObj(c)})}_addCheck(n){return new W({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...x.errToObj(n)})}url(n){return this._addCheck({kind:"url",...x.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...x.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...x.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...x.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...x.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...x.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...x.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...x.errToObj(n)})}base64url(n){return this._addCheck({kind:"base64url",...x.errToObj(n)})}jwt(n){return this._addCheck({kind:"jwt",...x.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...x.errToObj(n)})}cidr(n){return this._addCheck({kind:"cidr",...x.errToObj(n)})}datetime(n){var i,c;return typeof n=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:n}):this._addCheck({kind:"datetime",precision:typeof(n==null?void 0:n.precision)>"u"?null:n==null?void 0:n.precision,offset:(i=n==null?void 0:n.offset)!==null&&i!==void 0?i:!1,local:(c=n==null?void 0:n.local)!==null&&c!==void 0?c:!1,...x.errToObj(n==null?void 0:n.message)})}date(n){return this._addCheck({kind:"date",message:n})}time(n){return typeof n=="string"?this._addCheck({kind:"time",precision:null,message:n}):this._addCheck({kind:"time",precision:typeof(n==null?void 0:n.precision)>"u"?null:n==null?void 0:n.precision,...x.errToObj(n==null?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...x.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...x.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i==null?void 0:i.position,...x.errToObj(i==null?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...x.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...x.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...x.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...x.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...x.errToObj(i)})}nonempty(n){return this.min(1,x.errToObj(n))}trim(){return new W({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new W({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new W({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(n=>n.kind==="datetime")}get isDate(){return!!this._def.checks.find(n=>n.kind==="date")}get isTime(){return!!this._def.checks.find(n=>n.kind==="time")}get isDuration(){return!!this._def.checks.find(n=>n.kind==="duration")}get isEmail(){return!!this._def.checks.find(n=>n.kind==="email")}get isURL(){return!!this._def.checks.find(n=>n.kind==="url")}get isEmoji(){return!!this._def.checks.find(n=>n.kind==="emoji")}get isUUID(){return!!this._def.checks.find(n=>n.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(n=>n.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(n=>n.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(n=>n.kind==="cuid2")}get isULID(){return!!this._def.checks.find(n=>n.kind==="ulid")}get isIP(){return!!this._def.checks.find(n=>n.kind==="ip")}get isCIDR(){return!!this._def.checks.find(n=>n.kind==="cidr")}get isBase64(){return!!this._def.checks.find(n=>n.kind==="base64")}get isBase64url(){return!!this._def.checks.find(n=>n.kind==="base64url")}get minLength(){let n=null;for(const i of this._def.checks)i.kind==="min"&&(n===null||i.value>n)&&(n=i.value);return n}get maxLength(){let n=null;for(const i of this._def.checks)i.kind==="max"&&(n===null||i.value<n)&&(n=i.value);return n}}W.create=a=>{var n;return new W({checks:[],typeName:T.ZodString,coerce:(n=a==null?void 0:a.coerce)!==null&&n!==void 0?n:!1,...O(a)})};function Yi(a,n){const i=(a.toString().split(".")[1]||"").length,c=(n.toString().split(".")[1]||"").length,u=i>c?i:c,l=parseInt(a.toFixed(u).replace(".","")),h=parseInt(n.toFixed(u).replace(".",""));return l%h/Math.pow(10,u)}class ue extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(n){if(this._def.coerce&&(n.data=Number(n.data)),this._getType(n)!==b.number){const l=this._getOrReturnCtx(n);return _(l,{code:y.invalid_type,expected:b.number,received:l.parsedType}),A}let c;const u=new B;for(const l of this._def.checks)l.kind==="int"?M.isInteger(n.data)||(c=this._getOrReturnCtx(n,c),_(c,{code:y.invalid_type,expected:"integer",received:"float",message:l.message}),u.dirty()):l.kind==="min"?(l.inclusive?n.data<l.value:n.data<=l.value)&&(c=this._getOrReturnCtx(n,c),_(c,{code:y.too_small,minimum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),u.dirty()):l.kind==="max"?(l.inclusive?n.data>l.value:n.data>=l.value)&&(c=this._getOrReturnCtx(n,c),_(c,{code:y.too_big,maximum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),u.dirty()):l.kind==="multipleOf"?Yi(n.data,l.value)!==0&&(c=this._getOrReturnCtx(n,c),_(c,{code:y.not_multiple_of,multipleOf:l.value,message:l.message}),u.dirty()):l.kind==="finite"?Number.isFinite(n.data)||(c=this._getOrReturnCtx(n,c),_(c,{code:y.not_finite,message:l.message}),u.dirty()):M.assertNever(l);return{status:u.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,x.toString(i))}gt(n,i){return this.setLimit("min",n,!1,x.toString(i))}lte(n,i){return this.setLimit("max",n,!0,x.toString(i))}lt(n,i){return this.setLimit("max",n,!1,x.toString(i))}setLimit(n,i,c,u){return new ue({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:c,message:x.toString(u)}]})}_addCheck(n){return new ue({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:x.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:x.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:x.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.toString(n)})}get minValue(){let n=null;for(const i of this._def.checks)i.kind==="min"&&(n===null||i.value>n)&&(n=i.value);return n}get maxValue(){let n=null;for(const i of this._def.checks)i.kind==="max"&&(n===null||i.value<n)&&(n=i.value);return n}get isInt(){return!!this._def.checks.find(n=>n.kind==="int"||n.kind==="multipleOf"&&M.isInteger(n.value))}get isFinite(){let n=null,i=null;for(const c of this._def.checks){if(c.kind==="finite"||c.kind==="int"||c.kind==="multipleOf")return!0;c.kind==="min"?(i===null||c.value>i)&&(i=c.value):c.kind==="max"&&(n===null||c.value<n)&&(n=c.value)}return Number.isFinite(i)&&Number.isFinite(n)}}ue.create=a=>new ue({checks:[],typeName:T.ZodNumber,coerce:(a==null?void 0:a.coerce)||!1,...O(a)});class le extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)try{n.data=BigInt(n.data)}catch{return this._getInvalidInput(n)}if(this._getType(n)!==b.bigint)return this._getInvalidInput(n);let c;const u=new B;for(const l of this._def.checks)l.kind==="min"?(l.inclusive?n.data<l.value:n.data<=l.value)&&(c=this._getOrReturnCtx(n,c),_(c,{code:y.too_small,type:"bigint",minimum:l.value,inclusive:l.inclusive,message:l.message}),u.dirty()):l.kind==="max"?(l.inclusive?n.data>l.value:n.data>=l.value)&&(c=this._getOrReturnCtx(n,c),_(c,{code:y.too_big,type:"bigint",maximum:l.value,inclusive:l.inclusive,message:l.message}),u.dirty()):l.kind==="multipleOf"?n.data%l.value!==BigInt(0)&&(c=this._getOrReturnCtx(n,c),_(c,{code:y.not_multiple_of,multipleOf:l.value,message:l.message}),u.dirty()):M.assertNever(l);return{status:u.value,value:n.data}}_getInvalidInput(n){const i=this._getOrReturnCtx(n);return _(i,{code:y.invalid_type,expected:b.bigint,received:i.parsedType}),A}gte(n,i){return this.setLimit("min",n,!0,x.toString(i))}gt(n,i){return this.setLimit("min",n,!1,x.toString(i))}lte(n,i){return this.setLimit("max",n,!0,x.toString(i))}lt(n,i){return this.setLimit("max",n,!1,x.toString(i))}setLimit(n,i,c,u){return new le({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:c,message:x.toString(u)}]})}_addCheck(n){return new le({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:x.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:x.toString(i)})}get minValue(){let n=null;for(const i of this._def.checks)i.kind==="min"&&(n===null||i.value>n)&&(n=i.value);return n}get maxValue(){let n=null;for(const i of this._def.checks)i.kind==="max"&&(n===null||i.value<n)&&(n=i.value);return n}}le.create=a=>{var n;return new le({checks:[],typeName:T.ZodBigInt,coerce:(n=a==null?void 0:a.coerce)!==null&&n!==void 0?n:!1,...O(a)})};class Ve extends I{_parse(n){if(this._def.coerce&&(n.data=!!n.data),this._getType(n)!==b.boolean){const c=this._getOrReturnCtx(n);return _(c,{code:y.invalid_type,expected:b.boolean,received:c.parsedType}),A}return z(n.data)}}Ve.create=a=>new Ve({typeName:T.ZodBoolean,coerce:(a==null?void 0:a.coerce)||!1,...O(a)});class ve extends I{_parse(n){if(this._def.coerce&&(n.data=new Date(n.data)),this._getType(n)!==b.date){const l=this._getOrReturnCtx(n);return _(l,{code:y.invalid_type,expected:b.date,received:l.parsedType}),A}if(isNaN(n.data.getTime())){const l=this._getOrReturnCtx(n);return _(l,{code:y.invalid_date}),A}const c=new B;let u;for(const l of this._def.checks)l.kind==="min"?n.data.getTime()<l.value&&(u=this._getOrReturnCtx(n,u),_(u,{code:y.too_small,message:l.message,inclusive:!0,exact:!1,minimum:l.value,type:"date"}),c.dirty()):l.kind==="max"?n.data.getTime()>l.value&&(u=this._getOrReturnCtx(n,u),_(u,{code:y.too_big,message:l.message,inclusive:!0,exact:!1,maximum:l.value,type:"date"}),c.dirty()):M.assertNever(l);return{status:c.value,value:new Date(n.data.getTime())}}_addCheck(n){return new ve({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:x.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:x.toString(i)})}get minDate(){let n=null;for(const i of this._def.checks)i.kind==="min"&&(n===null||i.value>n)&&(n=i.value);return n!=null?new Date(n):null}get maxDate(){let n=null;for(const i of this._def.checks)i.kind==="max"&&(n===null||i.value<n)&&(n=i.value);return n!=null?new Date(n):null}}ve.create=a=>new ve({checks:[],coerce:(a==null?void 0:a.coerce)||!1,typeName:T.ZodDate,...O(a)});class Et extends I{_parse(n){if(this._getType(n)!==b.symbol){const c=this._getOrReturnCtx(n);return _(c,{code:y.invalid_type,expected:b.symbol,received:c.parsedType}),A}return z(n.data)}}Et.create=a=>new Et({typeName:T.ZodSymbol,...O(a)});class We extends I{_parse(n){if(this._getType(n)!==b.undefined){const c=this._getOrReturnCtx(n);return _(c,{code:y.invalid_type,expected:b.undefined,received:c.parsedType}),A}return z(n.data)}}We.create=a=>new We({typeName:T.ZodUndefined,...O(a)});class He extends I{_parse(n){if(this._getType(n)!==b.null){const c=this._getOrReturnCtx(n);return _(c,{code:y.invalid_type,expected:b.null,received:c.parsedType}),A}return z(n.data)}}He.create=a=>new He({typeName:T.ZodNull,...O(a)});class Ie extends I{constructor(){super(...arguments),this._any=!0}_parse(n){return z(n.data)}}Ie.create=a=>new Ie({typeName:T.ZodAny,...O(a)});class we extends I{constructor(){super(...arguments),this._unknown=!0}_parse(n){return z(n.data)}}we.create=a=>new we({typeName:T.ZodUnknown,...O(a)});class ne extends I{_parse(n){const i=this._getOrReturnCtx(n);return _(i,{code:y.invalid_type,expected:b.never,received:i.parsedType}),A}}ne.create=a=>new ne({typeName:T.ZodNever,...O(a)});class Tt extends I{_parse(n){if(this._getType(n)!==b.undefined){const c=this._getOrReturnCtx(n);return _(c,{code:y.invalid_type,expected:b.void,received:c.parsedType}),A}return z(n.data)}}Tt.create=a=>new Tt({typeName:T.ZodVoid,...O(a)});class H extends I{_parse(n){const{ctx:i,status:c}=this._processInputParams(n),u=this._def;if(i.parsedType!==b.array)return _(i,{code:y.invalid_type,expected:b.array,received:i.parsedType}),A;if(u.exactLength!==null){const h=i.data.length>u.exactLength.value,m=i.data.length<u.exactLength.value;(h||m)&&(_(i,{code:h?y.too_big:y.too_small,minimum:m?u.exactLength.value:void 0,maximum:h?u.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:u.exactLength.message}),c.dirty())}if(u.minLength!==null&&i.data.length<u.minLength.value&&(_(i,{code:y.too_small,minimum:u.minLength.value,type:"array",inclusive:!0,exact:!1,message:u.minLength.message}),c.dirty()),u.maxLength!==null&&i.data.length>u.maxLength.value&&(_(i,{code:y.too_big,maximum:u.maxLength.value,type:"array",inclusive:!0,exact:!1,message:u.maxLength.message}),c.dirty()),i.common.async)return Promise.all([...i.data].map((h,m)=>u.type._parseAsync(new Y(i,h,i.path,m)))).then(h=>B.mergeArray(c,h));const l=[...i.data].map((h,m)=>u.type._parseSync(new Y(i,h,i.path,m)));return B.mergeArray(c,l)}get element(){return this._def.type}min(n,i){return new H({...this._def,minLength:{value:n,message:x.toString(i)}})}max(n,i){return new H({...this._def,maxLength:{value:n,message:x.toString(i)}})}length(n,i){return new H({...this._def,exactLength:{value:n,message:x.toString(i)}})}nonempty(n){return this.min(1,n)}}H.create=(a,n)=>new H({type:a,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...O(n)});function Me(a){if(a instanceof R){const n={};for(const i in a.shape){const c=a.shape[i];n[i]=X.create(Me(c))}return new R({...a._def,shape:()=>n})}else return a instanceof H?new H({...a._def,type:Me(a.element)}):a instanceof X?X.create(Me(a.unwrap())):a instanceof fe?fe.create(Me(a.unwrap())):a instanceof Q?Q.create(a.items.map(n=>Me(n))):a}class R extends I{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const n=this._def.shape(),i=M.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==b.object){const v=this._getOrReturnCtx(n);return _(v,{code:y.invalid_type,expected:b.object,received:v.parsedType}),A}const{status:c,ctx:u}=this._processInputParams(n),{shape:l,keys:h}=this._getCached(),m=[];if(!(this._def.catchall instanceof ne&&this._def.unknownKeys==="strip"))for(const v in u.data)h.includes(v)||m.push(v);const w=[];for(const v of h){const E=l[v],D=u.data[v];w.push({key:{status:"valid",value:v},value:E._parse(new Y(u,D,u.path,v)),alwaysSet:v in u.data})}if(this._def.catchall instanceof ne){const v=this._def.unknownKeys;if(v==="passthrough")for(const E of m)w.push({key:{status:"valid",value:E},value:{status:"valid",value:u.data[E]}});else if(v==="strict")m.length>0&&(_(u,{code:y.unrecognized_keys,keys:m}),c.dirty());else if(v!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const v=this._def.catchall;for(const E of m){const D=u.data[E];w.push({key:{status:"valid",value:E},value:v._parse(new Y(u,D,u.path,E)),alwaysSet:E in u.data})}}return u.common.async?Promise.resolve().then(async()=>{const v=[];for(const E of w){const D=await E.key,ie=await E.value;v.push({key:D,value:ie,alwaysSet:E.alwaysSet})}return v}).then(v=>B.mergeObjectSync(c,v)):B.mergeObjectSync(c,w)}get shape(){return this._def.shape()}strict(n){return x.errToObj,new R({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,c)=>{var u,l,h,m;const w=(h=(l=(u=this._def).errorMap)===null||l===void 0?void 0:l.call(u,i,c).message)!==null&&h!==void 0?h:c.defaultError;return i.code==="unrecognized_keys"?{message:(m=x.errToObj(n).message)!==null&&m!==void 0?m:w}:{message:w}}}:{}})}strip(){return new R({...this._def,unknownKeys:"strip"})}passthrough(){return new R({...this._def,unknownKeys:"passthrough"})}extend(n){return new R({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new R({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:T.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new R({...this._def,catchall:n})}pick(n){const i={};return M.objectKeys(n).forEach(c=>{n[c]&&this.shape[c]&&(i[c]=this.shape[c])}),new R({...this._def,shape:()=>i})}omit(n){const i={};return M.objectKeys(this.shape).forEach(c=>{n[c]||(i[c]=this.shape[c])}),new R({...this._def,shape:()=>i})}deepPartial(){return Me(this)}partial(n){const i={};return M.objectKeys(this.shape).forEach(c=>{const u=this.shape[c];n&&!n[c]?i[c]=u:i[c]=u.optional()}),new R({...this._def,shape:()=>i})}required(n){const i={};return M.objectKeys(this.shape).forEach(c=>{if(n&&!n[c])i[c]=this.shape[c];else{let l=this.shape[c];for(;l instanceof X;)l=l._def.innerType;i[c]=l}}),new R({...this._def,shape:()=>i})}keyof(){return Bn(M.objectKeys(this.shape))}}R.create=(a,n)=>new R({shape:()=>a,unknownKeys:"strip",catchall:ne.create(),typeName:T.ZodObject,...O(n)}),R.strictCreate=(a,n)=>new R({shape:()=>a,unknownKeys:"strict",catchall:ne.create(),typeName:T.ZodObject,...O(n)}),R.lazycreate=(a,n)=>new R({shape:a,unknownKeys:"strip",catchall:ne.create(),typeName:T.ZodObject,...O(n)});class qe extends I{_parse(n){const{ctx:i}=this._processInputParams(n),c=this._def.options;function u(l){for(const m of l)if(m.result.status==="valid")return m.result;for(const m of l)if(m.result.status==="dirty")return i.common.issues.push(...m.ctx.common.issues),m.result;const h=l.map(m=>new F(m.ctx.common.issues));return _(i,{code:y.invalid_union,unionErrors:h}),A}if(i.common.async)return Promise.all(c.map(async l=>{const h={...i,common:{...i.common,issues:[]},parent:null};return{result:await l._parseAsync({data:i.data,path:i.path,parent:h}),ctx:h}})).then(u);{let l;const h=[];for(const w of c){const v={...i,common:{...i.common,issues:[]},parent:null},E=w._parseSync({data:i.data,path:i.path,parent:v});if(E.status==="valid")return E;E.status==="dirty"&&!l&&(l={result:E,ctx:v}),v.common.issues.length&&h.push(v.common.issues)}if(l)return i.common.issues.push(...l.ctx.common.issues),l.result;const m=h.map(w=>new F(w));return _(i,{code:y.invalid_union,unionErrors:m}),A}}get options(){return this._def.options}}qe.create=(a,n)=>new qe({options:a,typeName:T.ZodUnion,...O(n)});const se=a=>a instanceof Ye?se(a.schema):a instanceof q?se(a.innerType()):a instanceof Qe?[a.value]:a instanceof de?a.options:a instanceof Xe?M.objectValues(a.enum):a instanceof Je?se(a._def.innerType):a instanceof We?[void 0]:a instanceof He?[null]:a instanceof X?[void 0,...se(a.unwrap())]:a instanceof fe?[null,...se(a.unwrap())]:a instanceof Jt||a instanceof rt?se(a.unwrap()):a instanceof et?se(a._def.innerType):[];class At extends I{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==b.object)return _(i,{code:y.invalid_type,expected:b.object,received:i.parsedType}),A;const c=this.discriminator,u=i.data[c],l=this.optionsMap.get(u);return l?i.common.async?l._parseAsync({data:i.data,path:i.path,parent:i}):l._parseSync({data:i.data,path:i.path,parent:i}):(_(i,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[c]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(n,i,c){const u=new Map;for(const l of i){const h=se(l.shape[n]);if(!h.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(const m of h){if(u.has(m))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(m)}`);u.set(m,l)}}return new At({typeName:T.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:u,...O(c)})}}function Xt(a,n){const i=re(a),c=re(n);if(a===n)return{valid:!0,data:a};if(i===b.object&&c===b.object){const u=M.objectKeys(n),l=M.objectKeys(a).filter(m=>u.indexOf(m)!==-1),h={...a,...n};for(const m of l){const w=Xt(a[m],n[m]);if(!w.valid)return{valid:!1};h[m]=w.data}return{valid:!0,data:h}}else if(i===b.array&&c===b.array){if(a.length!==n.length)return{valid:!1};const u=[];for(let l=0;l<a.length;l++){const h=a[l],m=n[l],w=Xt(h,m);if(!w.valid)return{valid:!1};u.push(w.data)}return{valid:!0,data:u}}else return i===b.date&&c===b.date&&+a==+n?{valid:!0,data:a}:{valid:!1}}class Ge extends I{_parse(n){const{status:i,ctx:c}=this._processInputParams(n),u=(l,h)=>{if(Kt(l)||Kt(h))return A;const m=Xt(l.value,h.value);return m.valid?((Yt(l)||Yt(h))&&i.dirty(),{status:i.value,value:m.data}):(_(c,{code:y.invalid_intersection_types}),A)};return c.common.async?Promise.all([this._def.left._parseAsync({data:c.data,path:c.path,parent:c}),this._def.right._parseAsync({data:c.data,path:c.path,parent:c})]).then(([l,h])=>u(l,h)):u(this._def.left._parseSync({data:c.data,path:c.path,parent:c}),this._def.right._parseSync({data:c.data,path:c.path,parent:c}))}}Ge.create=(a,n,i)=>new Ge({left:a,right:n,typeName:T.ZodIntersection,...O(i)});class Q extends I{_parse(n){const{status:i,ctx:c}=this._processInputParams(n);if(c.parsedType!==b.array)return _(c,{code:y.invalid_type,expected:b.array,received:c.parsedType}),A;if(c.data.length<this._def.items.length)return _(c,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&c.data.length>this._def.items.length&&(_(c,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty());const l=[...c.data].map((h,m)=>{const w=this._def.items[m]||this._def.rest;return w?w._parse(new Y(c,h,c.path,m)):null}).filter(h=>!!h);return c.common.async?Promise.all(l).then(h=>B.mergeArray(i,h)):B.mergeArray(i,l)}get items(){return this._def.items}rest(n){return new Q({...this._def,rest:n})}}Q.create=(a,n)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Q({items:a,typeName:T.ZodTuple,rest:null,...O(n)})};class Ke extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:c}=this._processInputParams(n);if(c.parsedType!==b.object)return _(c,{code:y.invalid_type,expected:b.object,received:c.parsedType}),A;const u=[],l=this._def.keyType,h=this._def.valueType;for(const m in c.data)u.push({key:l._parse(new Y(c,m,c.path,m)),value:h._parse(new Y(c,c.data[m],c.path,m)),alwaysSet:m in c.data});return c.common.async?B.mergeObjectAsync(i,u):B.mergeObjectSync(i,u)}get element(){return this._def.valueType}static create(n,i,c){return i instanceof I?new Ke({keyType:n,valueType:i,typeName:T.ZodRecord,...O(c)}):new Ke({keyType:W.create(),valueType:n,typeName:T.ZodRecord,...O(i)})}}class St extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:c}=this._processInputParams(n);if(c.parsedType!==b.map)return _(c,{code:y.invalid_type,expected:b.map,received:c.parsedType}),A;const u=this._def.keyType,l=this._def.valueType,h=[...c.data.entries()].map(([m,w],v)=>({key:u._parse(new Y(c,m,c.path,[v,"key"])),value:l._parse(new Y(c,w,c.path,[v,"value"]))}));if(c.common.async){const m=new Map;return Promise.resolve().then(async()=>{for(const w of h){const v=await w.key,E=await w.value;if(v.status==="aborted"||E.status==="aborted")return A;(v.status==="dirty"||E.status==="dirty")&&i.dirty(),m.set(v.value,E.value)}return{status:i.value,value:m}})}else{const m=new Map;for(const w of h){const v=w.key,E=w.value;if(v.status==="aborted"||E.status==="aborted")return A;(v.status==="dirty"||E.status==="dirty")&&i.dirty(),m.set(v.value,E.value)}return{status:i.value,value:m}}}}St.create=(a,n,i)=>new St({valueType:n,keyType:a,typeName:T.ZodMap,...O(i)});class _e extends I{_parse(n){const{status:i,ctx:c}=this._processInputParams(n);if(c.parsedType!==b.set)return _(c,{code:y.invalid_type,expected:b.set,received:c.parsedType}),A;const u=this._def;u.minSize!==null&&c.data.size<u.minSize.value&&(_(c,{code:y.too_small,minimum:u.minSize.value,type:"set",inclusive:!0,exact:!1,message:u.minSize.message}),i.dirty()),u.maxSize!==null&&c.data.size>u.maxSize.value&&(_(c,{code:y.too_big,maximum:u.maxSize.value,type:"set",inclusive:!0,exact:!1,message:u.maxSize.message}),i.dirty());const l=this._def.valueType;function h(w){const v=new Set;for(const E of w){if(E.status==="aborted")return A;E.status==="dirty"&&i.dirty(),v.add(E.value)}return{status:i.value,value:v}}const m=[...c.data.values()].map((w,v)=>l._parse(new Y(c,w,c.path,v)));return c.common.async?Promise.all(m).then(w=>h(w)):h(m)}min(n,i){return new _e({...this._def,minSize:{value:n,message:x.toString(i)}})}max(n,i){return new _e({...this._def,maxSize:{value:n,message:x.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}_e.create=(a,n)=>new _e({valueType:a,minSize:null,maxSize:null,typeName:T.ZodSet,...O(n)});class $e extends I{constructor(){super(...arguments),this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==b.function)return _(i,{code:y.invalid_type,expected:b.function,received:i.parsedType}),A;function c(m,w){return xt({data:m,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,bt(),Se].filter(v=>!!v),issueData:{code:y.invalid_arguments,argumentsError:w}})}function u(m,w){return xt({data:m,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,bt(),Se].filter(v=>!!v),issueData:{code:y.invalid_return_type,returnTypeError:w}})}const l={errorMap:i.common.contextualErrorMap},h=i.data;if(this._def.returns instanceof Ce){const m=this;return z(async function(...w){const v=new F([]),E=await m._def.args.parseAsync(w,l).catch(ae=>{throw v.addIssue(c(w,ae)),v}),D=await Reflect.apply(h,this,E);return await m._def.returns._def.type.parseAsync(D,l).catch(ae=>{throw v.addIssue(u(D,ae)),v})})}else{const m=this;return z(function(...w){const v=m._def.args.safeParse(w,l);if(!v.success)throw new F([c(w,v.error)]);const E=Reflect.apply(h,this,v.data),D=m._def.returns.safeParse(E,l);if(!D.success)throw new F([u(E,D.error)]);return D.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new $e({...this._def,args:Q.create(n).rest(we.create())})}returns(n){return new $e({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,c){return new $e({args:n||Q.create([]).rest(we.create()),returns:i||we.create(),typeName:T.ZodFunction,...O(c)})}}class Ye extends I{get schema(){return this._def.getter()}_parse(n){const{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}Ye.create=(a,n)=>new Ye({getter:a,typeName:T.ZodLazy,...O(n)});class Qe extends I{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return _(i,{received:i.data,code:y.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:n.data}}get value(){return this._def.value}}Qe.create=(a,n)=>new Qe({value:a,typeName:T.ZodLiteral,...O(n)});function Bn(a,n){return new de({values:a,typeName:T.ZodEnum,...O(n)})}class de extends I{constructor(){super(...arguments),ze.set(this,void 0)}_parse(n){if(typeof n.data!="string"){const i=this._getOrReturnCtx(n),c=this._def.values;return _(i,{expected:M.joinValues(c),received:i.parsedType,code:y.invalid_type}),A}if(kt(this,ze)||Dn(this,ze,new Set(this._def.values)),!kt(this,ze).has(n.data)){const i=this._getOrReturnCtx(n),c=this._def.values;return _(i,{received:i.data,code:y.invalid_enum_value,options:c}),A}return z(n.data)}get options(){return this._def.values}get enum(){const n={};for(const i of this._def.values)n[i]=i;return n}get Values(){const n={};for(const i of this._def.values)n[i]=i;return n}get Enum(){const n={};for(const i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return de.create(n,{...this._def,...i})}exclude(n,i=this._def){return de.create(this.options.filter(c=>!n.includes(c)),{...this._def,...i})}}ze=new WeakMap,de.create=Bn;class Xe extends I{constructor(){super(...arguments),Fe.set(this,void 0)}_parse(n){const i=M.getValidEnumValues(this._def.values),c=this._getOrReturnCtx(n);if(c.parsedType!==b.string&&c.parsedType!==b.number){const u=M.objectValues(i);return _(c,{expected:M.joinValues(u),received:c.parsedType,code:y.invalid_type}),A}if(kt(this,Fe)||Dn(this,Fe,new Set(M.getValidEnumValues(this._def.values))),!kt(this,Fe).has(n.data)){const u=M.objectValues(i);return _(c,{received:c.data,code:y.invalid_enum_value,options:u}),A}return z(n.data)}get enum(){return this._def.values}}Fe=new WeakMap,Xe.create=(a,n)=>new Xe({values:a,typeName:T.ZodNativeEnum,...O(n)});class Ce extends I{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==b.promise&&i.common.async===!1)return _(i,{code:y.invalid_type,expected:b.promise,received:i.parsedType}),A;const c=i.parsedType===b.promise?i.data:Promise.resolve(i.data);return z(c.then(u=>this._def.type.parseAsync(u,{path:i.path,errorMap:i.common.contextualErrorMap})))}}Ce.create=(a,n)=>new Ce({type:a,typeName:T.ZodPromise,...O(n)});class q extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){const{status:i,ctx:c}=this._processInputParams(n),u=this._def.effect||null,l={addIssue:h=>{_(c,h),h.fatal?i.abort():i.dirty()},get path(){return c.path}};if(l.addIssue=l.addIssue.bind(l),u.type==="preprocess"){const h=u.transform(c.data,l);if(c.common.async)return Promise.resolve(h).then(async m=>{if(i.value==="aborted")return A;const w=await this._def.schema._parseAsync({data:m,path:c.path,parent:c});return w.status==="aborted"?A:w.status==="dirty"||i.value==="dirty"?Oe(w.value):w});{if(i.value==="aborted")return A;const m=this._def.schema._parseSync({data:h,path:c.path,parent:c});return m.status==="aborted"?A:m.status==="dirty"||i.value==="dirty"?Oe(m.value):m}}if(u.type==="refinement"){const h=m=>{const w=u.refinement(m,l);if(c.common.async)return Promise.resolve(w);if(w instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return m};if(c.common.async===!1){const m=this._def.schema._parseSync({data:c.data,path:c.path,parent:c});return m.status==="aborted"?A:(m.status==="dirty"&&i.dirty(),h(m.value),{status:i.value,value:m.value})}else return this._def.schema._parseAsync({data:c.data,path:c.path,parent:c}).then(m=>m.status==="aborted"?A:(m.status==="dirty"&&i.dirty(),h(m.value).then(()=>({status:i.value,value:m.value}))))}if(u.type==="transform")if(c.common.async===!1){const h=this._def.schema._parseSync({data:c.data,path:c.path,parent:c});if(!ye(h))return h;const m=u.transform(h.value,l);if(m instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:m}}else return this._def.schema._parseAsync({data:c.data,path:c.path,parent:c}).then(h=>ye(h)?Promise.resolve(u.transform(h.value,l)).then(m=>({status:i.value,value:m})):h);M.assertNever(u)}}q.create=(a,n,i)=>new q({schema:a,typeName:T.ZodEffects,effect:n,...O(i)}),q.createWithPreprocess=(a,n,i)=>new q({schema:n,effect:{type:"preprocess",transform:a},typeName:T.ZodEffects,...O(i)});class X extends I{_parse(n){return this._getType(n)===b.undefined?z(void 0):this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}X.create=(a,n)=>new X({innerType:a,typeName:T.ZodOptional,...O(n)});class fe extends I{_parse(n){return this._getType(n)===b.null?z(null):this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}fe.create=(a,n)=>new fe({innerType:a,typeName:T.ZodNullable,...O(n)});class Je extends I{_parse(n){const{ctx:i}=this._processInputParams(n);let c=i.data;return i.parsedType===b.undefined&&(c=this._def.defaultValue()),this._def.innerType._parse({data:c,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}Je.create=(a,n)=>new Je({innerType:a,typeName:T.ZodDefault,defaultValue:typeof n.default=="function"?n.default:()=>n.default,...O(n)});class et extends I{_parse(n){const{ctx:i}=this._processInputParams(n),c={...i,common:{...i.common,issues:[]}},u=this._def.innerType._parse({data:c.data,path:c.path,parent:{...c}});return Le(u)?u.then(l=>({status:"valid",value:l.status==="valid"?l.value:this._def.catchValue({get error(){return new F(c.common.issues)},input:c.data})})):{status:"valid",value:u.status==="valid"?u.value:this._def.catchValue({get error(){return new F(c.common.issues)},input:c.data})}}removeCatch(){return this._def.innerType}}et.create=(a,n)=>new et({innerType:a,typeName:T.ZodCatch,catchValue:typeof n.catch=="function"?n.catch:()=>n.catch,...O(n)});class Ot extends I{_parse(n){if(this._getType(n)!==b.nan){const c=this._getOrReturnCtx(n);return _(c,{code:y.invalid_type,expected:b.nan,received:c.parsedType}),A}return{status:"valid",value:n.data}}}Ot.create=a=>new Ot({typeName:T.ZodNaN,...O(a)});const Qi=Symbol("zod_brand");class Jt extends I{_parse(n){const{ctx:i}=this._processInputParams(n),c=i.data;return this._def.type._parse({data:c,path:i.path,parent:i})}unwrap(){return this._def.type}}class tt extends I{_parse(n){const{status:i,ctx:c}=this._processInputParams(n);if(c.common.async)return(async()=>{const l=await this._def.in._parseAsync({data:c.data,path:c.path,parent:c});return l.status==="aborted"?A:l.status==="dirty"?(i.dirty(),Oe(l.value)):this._def.out._parseAsync({data:l.value,path:c.path,parent:c})})();{const u=this._def.in._parseSync({data:c.data,path:c.path,parent:c});return u.status==="aborted"?A:u.status==="dirty"?(i.dirty(),{status:"dirty",value:u.value}):this._def.out._parseSync({data:u.value,path:c.path,parent:c})}}static create(n,i){return new tt({in:n,out:i,typeName:T.ZodPipeline})}}class rt extends I{_parse(n){const i=this._def.innerType._parse(n),c=u=>(ye(u)&&(u.value=Object.freeze(u.value)),u);return Le(i)?i.then(u=>c(u)):c(i)}unwrap(){return this._def.innerType}}rt.create=(a,n)=>new rt({innerType:a,typeName:T.ZodReadonly,...O(n)});function Ln(a,n={},i){return a?Ie.create().superRefine((c,u)=>{var l,h;if(!a(c)){const m=typeof n=="function"?n(c):typeof n=="string"?{message:n}:n,w=(h=(l=m.fatal)!==null&&l!==void 0?l:i)!==null&&h!==void 0?h:!0,v=typeof m=="string"?{message:m}:m;u.addIssue({code:"custom",...v,fatal:w})}}):Ie.create()}const Xi={object:R.lazycreate};var T;(function(a){a.ZodString="ZodString",a.ZodNumber="ZodNumber",a.ZodNaN="ZodNaN",a.ZodBigInt="ZodBigInt",a.ZodBoolean="ZodBoolean",a.ZodDate="ZodDate",a.ZodSymbol="ZodSymbol",a.ZodUndefined="ZodUndefined",a.ZodNull="ZodNull",a.ZodAny="ZodAny",a.ZodUnknown="ZodUnknown",a.ZodNever="ZodNever",a.ZodVoid="ZodVoid",a.ZodArray="ZodArray",a.ZodObject="ZodObject",a.ZodUnion="ZodUnion",a.ZodDiscriminatedUnion="ZodDiscriminatedUnion",a.ZodIntersection="ZodIntersection",a.ZodTuple="ZodTuple",a.ZodRecord="ZodRecord",a.ZodMap="ZodMap",a.ZodSet="ZodSet",a.ZodFunction="ZodFunction",a.ZodLazy="ZodLazy",a.ZodLiteral="ZodLiteral",a.ZodEnum="ZodEnum",a.ZodEffects="ZodEffects",a.ZodNativeEnum="ZodNativeEnum",a.ZodOptional="ZodOptional",a.ZodNullable="ZodNullable",a.ZodDefault="ZodDefault",a.ZodCatch="ZodCatch",a.ZodPromise="ZodPromise",a.ZodBranded="ZodBranded",a.ZodPipeline="ZodPipeline",a.ZodReadonly="ZodReadonly"})(T||(T={}));const Ji=(a,n={message:`Input not instance of ${a.name}`})=>Ln(i=>i instanceof a,n),zn=W.create,Fn=ue.create,ea=Ot.create,ta=le.create,Vn=Ve.create,ra=ve.create,na=Et.create,sa=We.create,ia=He.create,aa=Ie.create,oa=we.create,ca=ne.create,ua=Tt.create,la=H.create,da=R.create,fa=R.strictCreate,ha=qe.create,ma=At.create,pa=Ge.create,ga=Q.create,ya=Ke.create,va=St.create,wa=_e.create,_a=$e.create,ba=Ye.create,xa=Qe.create,ka=de.create,Ea=Xe.create,Ta=Ce.create,Wn=q.create,Aa=X.create,Sa=fe.create,Oa=q.createWithPreprocess,Ia=tt.create;var J=Object.freeze({__proto__:null,defaultErrorMap:Se,setErrorMap:Oi,getErrorMap:bt,makeIssue:xt,EMPTY_PATH:Ii,addIssueToContext:_,ParseStatus:B,INVALID:A,DIRTY:Oe,OK:z,isAborted:Kt,isDirty:Yt,isValid:ye,isAsync:Le,get util(){return M},get objectUtil(){return Gt},ZodParsedType:b,getParsedType:re,ZodType:I,datetimeRegex:Zn,ZodString:W,ZodNumber:ue,ZodBigInt:le,ZodBoolean:Ve,ZodDate:ve,ZodSymbol:Et,ZodUndefined:We,ZodNull:He,ZodAny:Ie,ZodUnknown:we,ZodNever:ne,ZodVoid:Tt,ZodArray:H,ZodObject:R,ZodUnion:qe,ZodDiscriminatedUnion:At,ZodIntersection:Ge,ZodTuple:Q,ZodRecord:Ke,ZodMap:St,ZodSet:_e,ZodFunction:$e,ZodLazy:Ye,ZodLiteral:Qe,ZodEnum:de,ZodNativeEnum:Xe,ZodPromise:Ce,ZodEffects:q,ZodTransformer:q,ZodOptional:X,ZodNullable:fe,ZodDefault:Je,ZodCatch:et,ZodNaN:Ot,BRAND:Qi,ZodBranded:Jt,ZodPipeline:tt,ZodReadonly:rt,custom:Ln,Schema:I,ZodSchema:I,late:Xi,get ZodFirstPartyTypeKind(){return T},coerce:{string:a=>W.create({...a,coerce:!0}),number:a=>ue.create({...a,coerce:!0}),boolean:a=>Ve.create({...a,coerce:!0}),bigint:a=>le.create({...a,coerce:!0}),date:a=>ve.create({...a,coerce:!0})},any:aa,array:la,bigint:ta,boolean:Vn,date:ra,discriminatedUnion:ma,effect:Wn,enum:ka,function:_a,instanceof:Ji,intersection:pa,lazy:ba,literal:xa,map:va,nan:ea,nativeEnum:Ea,never:ca,null:ia,nullable:Sa,number:Fn,object:da,oboolean:()=>Vn().optional(),onumber:()=>Fn().optional(),optional:Aa,ostring:()=>zn().optional(),pipeline:Ia,preprocess:Oa,promise:Ta,record:ya,set:wa,strictObject:fa,string:zn,symbol:na,transformer:Wn,tuple:ga,undefined:sa,union:ha,unknown:oa,void:ua,NEVER:A,ZodIssueCode:y,quotelessJson:Si,ZodError:F});const Hn=K.getInstance(),Ma=J.object({id:J.string(),message:J.string(),username:J.string(),address:J.string(),timestamp:J.number(),signature:J.string(),index:J.number(),chatTopic:J.string(),userTopic:J.string()});function $a(a){const n=Ma.safeParse(a);return n.success?Ca({usnermame:a.username,address:a.address,timestamp:a.timestamp})?!0:(console.warn("Invalid messageSender"),!1):(Hn.warn(n.error.format()),!1)}function Ca(a){try{const n={username:a.username,address:a.address,timestamp:a.timestamp},i=new TextEncoder,c=Z.concatBytes(i.encode(`Ethereum Signed Message:
|
|
11
|
+
32`),Z.keccak256(i.encode(JSON.stringify(n))));if(new S.Signature(a.signature).isValid(c,a.address))throw new Error("Signature verification failed!");return!0}catch(n){return Hn.warn("Error in validateUserSignature",n),!1}}const G={LOADING_INIT:"loadingInit",LOADING_PREVIOUS_MESSAGES:"loadingPreviousMessages",MESSAGE_RECEIVED:"messageReceived",MESSAGE_REQUEST_INITIATED:"messageRequestInitiated",MESSAGE_REQUEST_UPLOADED:"messageRequestUploaded",MESSAGE_REQUEST_ERROR:"messageRequestError",CRITICAL_ERROR:"criticalError"};class Na{constructor(n,i){this.utils=n,this.emitter=i,this.logger=K.getInstance(),this.errorHandler=new qt,this.historyIndex=null}async init(){try{const n=await this.utils.fetchLatestChatMessage();return this.historyIndex=n.index,await this.fetchPreviousMessages(),this.historyIndex}catch(n){return this.errorHandler.handleError(n,"SwarmHistory.init"),S.FeedIndex.fromBigInt(0n)}}async fetchPreviousMessages(n=10){try{if(!this.historyIndex){this.logger.warn("History index is not set. Cannot fetch previous messages.");return}if(this.historyIndex.toBigInt()===0n){this.logger.warn("No previous messages to fetch.");return}const i=this.historyIndex.toBigInt(),c=i>BigInt(n)?i-BigInt(n):0n;for(let u=i-1n;u>=c;u--){const l=await this.utils.fetchChatMessage(S.FeedIndex.fromBigInt(u));if(this.emitter.emit(G.MESSAGE_RECEIVED,l),this.historyIndex=S.FeedIndex.fromBigInt(u),u===0n)break}}catch(i){this.errorHandler.handleError(i,"SwarmHistory.fetchPreviousMessages")}}}class Ra{constructor(n,i){this.userDetails=n,this.swarmSettings=i,this.depth=24,this.logger=K.getInstance(),this.errorHandler=new qt,this.UPLOAD_GSOC_TIMEOUT=2e3}async writeOwnFeedDataByIndex(n,i){const{enveloped:c,stamp:u}=this.swarmSettings;if(!c)await this.writeOwnFeedDataByIndexOwned(n,i);else if(u)await this.writeOwnFeedDataByIndexEnvelope(n,i);else throw new Error("Enveloped mode is enabled, but stamp is not provided")}async writeOwnFeedDataByIndexOwned(n,i){const{bee:c,stamp:u,chatTopic:l}=this.swarmSettings,{privateKey:h,ownAddress:m}=this.userDetails,w=this.generateUserOwnedFeedId(l,m),v=S.Topic.fromString(w);console.log("DEBUG: feedID write",v.toString(),m,n,w),await c.makeFeedWriter(v,new S.PrivateKey(h)).uploadPayload(u,JSON.stringify(i),{index:n})}async writeOwnFeedDataByIndexEnvelope(n,i){const{bee:c,stamp:u,chatTopic:l}=this.swarmSettings,{privateKey:h,ownAddress:m}=this.userDetails,w=new S.PrivateKey(h),v=S.Stamper.fromBlank(h,u,this.depth),E=this.generateUserOwnedFeedId(l,m),D=S.Topic.fromString(E),ie=$n(D,n),ae=Cn(i),nt=Nn(ae,ie,w),Ne={hash:()=>nt.address.toUint8Array()},er=v.stamp(Ne),{upload:tr}=c.makeSOCWriter(w),st=S.Bytes.fromUtf8(i);return(await tr(er,ie,st.toUint8Array())).reference.toHex()}orderMessages(n){return n.sort((i,c)=>i.timestamp-c.timestamp)}async retryAwaitableAsync(n,i=3,c=250){return new Promise((u,l)=>{n().then(u).catch(h=>{i>0?(this.logger.info(`Retrying... Attempts left: ${i}. Error: ${h.message}`),setTimeout(()=>{this.retryAwaitableAsync(n,i-1,c).then(u).catch(l)},c)):(this.errorHandler.handleError(h,"Utils.retryAwaitableAsync"),l(h))})})}async uploadObjectToBee(n){const{enveloped:i,stamp:c}=this.swarmSettings;if(i){if(c)return this.uploadObjectToBeeEnvelope(n);throw new Error("Enveloped mode is enabled, but stamp is not provided")}else return this.uploadObjectToBeeOwn(n)}async uploadObjectToBeeOwn(n){try{const{bee:i,stamp:c}=this.swarmSettings,u=await i.uploadData(c,JSON.stringify(n),{redundancyLevel:4});return console.log("DEBUG: result",u.reference.toString()),u.reference.toString()}catch(i){return this.errorHandler.handleError(i,"Utils.uploadObjectToBee"),null}}async uploadObjectToBeeEnvelope(n){try{const{bee:i,stamp:c}=this.swarmSettings,{privateKey:u}=this.userDetails,l=S.Stamper.fromBlank(u,c,this.depth),h=S.Bytes.fromUtf8(JSON.stringify(n)),m=new _i(async v=>{await i.uploadChunk(l.stamp(v),v.build())});await m.append(h.toUint8Array());const w=await m.finalize();return Z.uint8ArrayToHex(w.hash())}catch(i){return this.errorHandler.handleError(i,"Utils.uploadObjectToBee"),null}}async getOwnLatestFeedIndex(){try{const{bee:n,chatTopic:i}=this.swarmSettings,{ownAddress:c}=this.userDetails,u=this.generateUserOwnedFeedId(i,c),l=S.Topic.fromString(u),m=await n.makeFeedReader(l,c).downloadPayload(),w=Number(m.feedIndex.toBigInt()),v=w+1;return console.log("DEBUG: getLatestFeedIndex",w,v),{latestIndex:w,nextIndex:v}}catch(n){if(this.isNotFoundError(n))return{latestIndex:-1,nextIndex:0};throw n}}async fetchLatestChatMessage(){const{bee:n,chatTopic:i,chatAddress:c}=this.swarmSettings,l=await n.makeFeedReader(S.Topic.fromString(i),Ht(c)).downloadPayload();return{message:l.payload.toJSON(),index:l.feedIndex}}async fetchChatMessage(n){const{bee:i,chatTopic:c,chatAddress:u}=this.swarmSettings;return(await i.makeFeedReader(S.Topic.fromString(c),Ht(u)).downloadPayload({index:n})).payload.toJSON()}async sendMessageToGsoc(n){const{enveloped:i,stamp:c}=this.swarmSettings;if(!i)await this.sendMessageToGsocOwn(n);else if(c)await this.sendMessageToGsocEnvelope(n);else throw new Error("Enveloped mode is enabled, but stamp is not provided")}async rawSocDownload(n,i){const{beeUrl:c}=this.swarmSettings,u=await fetch(`${c}/soc/${n}/${i}`,{headers:{"swarm-chunk-retrieval-timeout":"2000ms"}});if(!u.ok)throw new Error(`Failed to fetch: ${n}/${i}`);return u}async sendMessageToGsocOwn(n){this.logger.debug("sendMessageToGsoc entry CALLED");const{bee:i,stamp:c,gsocTopic:u,gsocResourceId:l}=this.swarmSettings,h=new S.PrivateKey(l),m=S.Identifier.fromString(u),w=S.Bytes.fromUtf8(n),{upload:v}=i.makeSOCWriter(h,{timeout:this.UPLOAD_GSOC_TIMEOUT});await v(c,m,w.toUint8Array()),this.logger.debug("sendMessageToGsoc end CALLED")}async sendMessageToGsocEnvelope(n){this.logger.debug("sendMessageToGsoc entry CALLED");const{bee:i,stamp:c,gsocTopic:u,gsocResourceId:l}=this.swarmSettings,{privateKey:h}=this.userDetails,m=S.Stamper.fromBlank(h,c,this.depth),w=new S.PrivateKey(l),v=S.Identifier.fromString(u),E=S.Bytes.fromUtf8(n),D=Cn(E.toUint8Array()),ie=Nn(D,v,w),ae={hash:()=>ie.address.toUint8Array()},nt=m.stamp(ae),{upload:Ne}=i.makeSOCWriter(w,{timeout:this.UPLOAD_GSOC_TIMEOUT});await Ne(nt,v,E.toUint8Array()),this.logger.debug("sendMessageToGsoc end CALLED")}generateUserOwnedFeedId(n,i){return`${n}_EthercastChat_${i}`}isNotFoundError(n){return n.stack.includes("404")||n.message.includes("Not Found")||n.message.includes("404")}}class Da{constructor(n){this.logger=K.getInstance(),this.errorHandler=new qt,this.gsocIndex=null,this.fetchMessageTimer=null;const i=new S.PrivateKey(Ht(n.user.privateKey));this.userDetails={privateKey:n.user.privateKey,ownAddress:i.publicKey().address().toString(),nickname:n.user.nickname,ownIndex:-1},this.swarmSettings={bee:new S.Bee(n.infra.beeUrl),beeUrl:n.infra.beeUrl,stamp:n.infra.stamp||"0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",enveloped:n.infra.enveloped,gsocTopic:n.infra.gsocTopic,gsocResourceId:n.infra.gsocResourceId,chatTopic:n.infra.chatTopic,chatAddress:n.infra.chatAddress,messageFetchInterval:n.infra.messageFetchInterval||1500},this.emitter=new Ai,this.utils=new Ra(this.userDetails,this.swarmSettings),this.history=new Na(this.utils,this.emitter)}start(){this.init(),this.startMessagesFetchProcess()}stop(){this.emitter.cleanAll(),this.stopMessagesFetchProcess()}getEmitter(){return this.emitter}orderMessages(n){return this.utils.orderMessages(n)}async sendMessage(n,i){const c=this.userDetails.ownIndex===-1?0:this.userDetails.ownIndex+1,u={id:i||vi(),username:this.userDetails.nickname,address:this.userDetails.ownAddress,chatTopic:this.swarmSettings.chatTopic,userTopic:this.utils.generateUserOwnedFeedId(this.swarmSettings.chatTopic,this.userDetails.ownAddress),signature:this.getSignature(),timestamp:Date.now(),index:c,message:n};try{this.emitter.emit(G.MESSAGE_REQUEST_INITIATED,u),await this.utils.writeOwnFeedDataByIndex(c,JSON.stringify(u)),this.userDetails.ownIndex=c,this.emitter.emit(G.MESSAGE_REQUEST_UPLOADED,u),await this.broadcastUserMessage(u)}catch(l){this.emitter.emit(G.MESSAGE_REQUEST_ERROR,u),this.errorHandler.handleError(l,"Chat.sendMessage")}}async fetchPreviousMessages(){try{return this.emitter.emit(G.LOADING_PREVIOUS_MESSAGES,!0),await this.history.fetchPreviousMessages()}finally{this.emitter.emit(G.LOADING_PREVIOUS_MESSAGES,!1)}}async retrySendMessage(n){this.sendMessage(n.message,n.id)}async retryBroadcastUserMessage(n){this.broadcastUserMessage(n)}async init(){try{this.emitter.emit(G.LOADING_INIT,!0);const[n,i]=await Promise.allSettled([this.initOwnIndex(),this.history.init()]);if(n.status==="rejected")throw n.reason;i.status==="fulfilled"&&(this.gsocIndex=i.value),this.emitter.emit(G.LOADING_INIT,!1)}catch(n){this.errorHandler.handleError(n,"Chat.initSelfState"),this.emitter.emit(G.CRITICAL_ERROR,n)}}async initOwnIndex(){const{latestIndex:c}=await this.utils.retryAwaitableAsync(()=>this.utils.getOwnLatestFeedIndex(),10,1e3);this.userDetails.ownIndex=c}async fetchLatestMessage(){var n;try{const i=(n=this.gsocIndex)==null?void 0:n.next();if(!i){this.logger.error("No next index available for fetching the latest message.");return}const c=S.Topic.fromString(this.swarmSettings.chatTopic),u=$n(c,i),l=await this.utils.rawSocDownload(this.swarmSettings.chatAddress,u.toString());if(this.logger.debug("fetchLatestMessage entry CALLED",l),!$a(l)){this.logger.warn("Invalid GSOC message during fetching");return}this.emitter.emit(G.MESSAGE_RECEIVED,JSON.parse(l)),this.gsocIndex=i}catch(i){this.errorHandler.handleError(i,"Chat.fetchLatestMessage")}}async broadcastUserMessage(n){try{return this.logger.debug("broadcastUserMessage entry CALLED"),console.log("DEBUG broadcastUserMessage",n),this.utils.retryAwaitableAsync(()=>this.utils.sendMessageToGsoc(JSON.stringify(n)))}catch(i){this.errorHandler.handleError(i,"Chat.broadcastUserMessage")}}getSignature(){const{ownAddress:n,privateKey:i,nickname:c}=this.userDetails,u=new S.EthAddress(n).toString(),l=new S.PrivateKey(i);if(l.publicKey().address().toString()!==u)throw new Error("The provided address does not match the address derived from the private key");const m=Date.now();return l.sign(JSON.stringify({username:c,address:u,timestamp:m})).toHex()}startMessagesFetchProcess(){const{messageFetchInterval:n}=this.swarmSettings;if(this.fetchMessageTimer){this.logger.warn("Messages fetch process is already running.");return}this.fetchMessageTimer=setInterval(this.fetchLatestMessage.bind(this),n)}stopMessagesFetchProcess(){this.fetchMessageTimer&&(clearInterval(this.fetchMessageTimer),this.fetchMessageTimer=null)}}ce.EVENTS=G,ce.SwarmChat=Da,Object.defineProperty(ce,Symbol.toStringTag,{value:"Module"})});
|