@solarpunkltd/swarm-chat-js 2.1.2 → 3.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.js CHANGED
@@ -1,27 +1,25 @@
1
- "use strict";var Q8=Object.defineProperty;var $A=r=>{throw TypeError(r)};var J8=(r,e,t)=>e in r?Q8(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Q=(r,e,t)=>J8(r,typeof e!="symbol"?e+"":e,t),Fy=(r,e,t)=>e.has(r)||$A("Cannot "+t);var T=(r,e,t)=>(Fy(r,e,"read from private field"),t?t.call(r):e.get(r)),se=(r,e,t)=>e.has(r)?$A("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),F=(r,e,t,n)=>(Fy(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),Ee=(r,e,t)=>(Fy(r,e,"access private method"),t);var Af=(r,e,t,n)=>({set _(i){F(r,e,i,t)},get _(){return T(r,e,n)}});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const nt=require("@ethersphere/bee-js");var Qr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function no(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function yp(r){if(r.__esModule)return r;var e=r.default;if(typeof e=="function"){var t=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}function Y8(){this.__data__=[],this.size=0}var X8=Y8;function eP(r,e){return r===e||r!==r&&e!==e}var jh=eP,tP=jh;function rP(r,e){for(var t=r.length;t--;)if(tP(r[t][0],e))return t;return-1}var mp=rP,nP=mp,iP=Array.prototype,sP=iP.splice;function oP(r){var e=this.__data__,t=nP(e,r);if(t<0)return!1;var n=e.length-1;return t==n?e.pop():sP.call(e,t,1),--this.size,!0}var aP=oP,cP=mp;function uP(r){var e=this.__data__,t=cP(e,r);return t<0?void 0:e[t][1]}var lP=uP,fP=mp;function hP(r){return fP(this.__data__,r)>-1}var dP=hP,pP=mp;function gP(r,e){var t=this.__data__,n=pP(t,r);return n<0?(++this.size,t.push([r,e])):t[n][1]=e,this}var yP=gP,mP=X8,wP=aP,bP=lP,_P=dP,AP=yP;function Tl(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}Tl.prototype.clear=mP;Tl.prototype.delete=wP;Tl.prototype.get=bP;Tl.prototype.has=_P;Tl.prototype.set=AP;var wp=Tl,vP=wp;function EP(){this.__data__=new vP,this.size=0}var xP=EP;function RP(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}var IP=RP;function SP(r){return this.__data__.get(r)}var kP=SP;function TP(r){return this.__data__.has(r)}var OP=TP,NP=typeof Qr=="object"&&Qr&&Qr.Object===Object&&Qr,gR=NP,CP=gR,BP=typeof self=="object"&&self&&self.Object===Object&&self,PP=CP||BP||Function("return this")(),Mn=PP,MP=Mn,LP=MP.Symbol,Ol=LP,FA=Ol,yR=Object.prototype,UP=yR.hasOwnProperty,DP=yR.toString,vf=FA?FA.toStringTag:void 0;function $P(r){var e=UP.call(r,vf),t=r[vf];try{r[vf]=void 0;var n=!0}catch{}var i=DP.call(r);return n&&(e?r[vf]=t:delete r[vf]),i}var FP=$P,HP=Object.prototype,zP=HP.toString;function GP(r){return zP.call(r)}var KP=GP,HA=Ol,WP=FP,jP=KP,VP="[object Null]",qP="[object Undefined]",zA=HA?HA.toStringTag:void 0;function ZP(r){return r==null?r===void 0?qP:VP:zA&&zA in Object(r)?WP(r):jP(r)}var Ic=ZP;function QP(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}var Bi=QP,JP=Ic,YP=Bi,XP="[object AsyncFunction]",e5="[object Function]",t5="[object GeneratorFunction]",r5="[object Proxy]";function n5(r){if(!YP(r))return!1;var e=JP(r);return e==e5||e==t5||e==XP||e==r5}var bp=n5,i5=Mn,s5=i5["__core-js_shared__"],o5=s5,Hy=o5,GA=function(){var r=/[^.]+$/.exec(Hy&&Hy.keys&&Hy.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function a5(r){return!!GA&&GA in r}var c5=a5,u5=Function.prototype,l5=u5.toString;function f5(r){if(r!=null){try{return l5.call(r)}catch{}try{return r+""}catch{}}return""}var mR=f5,h5=bp,d5=c5,p5=Bi,g5=mR,y5=/[\\^$.*+?()[\]{}|]/g,m5=/^\[object .+?Constructor\]$/,w5=Function.prototype,b5=Object.prototype,_5=w5.toString,A5=b5.hasOwnProperty,v5=RegExp("^"+_5.call(A5).replace(y5,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function E5(r){if(!p5(r)||d5(r))return!1;var e=h5(r)?v5:m5;return e.test(g5(r))}var x5=E5;function R5(r,e){return r==null?void 0:r[e]}var I5=R5,S5=x5,k5=I5;function T5(r,e){var t=k5(r,e);return S5(t)?t:void 0}var Sc=T5,O5=Sc,N5=Mn,C5=O5(N5,"Map"),Lw=C5,B5=Sc,P5=B5(Object,"create"),_p=P5,KA=_p;function M5(){this.__data__=KA?KA(null):{},this.size=0}var L5=M5;function U5(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}var D5=U5,$5=_p,F5="__lodash_hash_undefined__",H5=Object.prototype,z5=H5.hasOwnProperty;function G5(r){var e=this.__data__;if($5){var t=e[r];return t===F5?void 0:t}return z5.call(e,r)?e[r]:void 0}var K5=G5,W5=_p,j5=Object.prototype,V5=j5.hasOwnProperty;function q5(r){var e=this.__data__;return W5?e[r]!==void 0:V5.call(e,r)}var Z5=q5,Q5=_p,J5="__lodash_hash_undefined__";function Y5(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=Q5&&e===void 0?J5:e,this}var X5=Y5,e4=L5,t4=D5,r4=K5,n4=Z5,i4=X5;function Nl(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}Nl.prototype.clear=e4;Nl.prototype.delete=t4;Nl.prototype.get=r4;Nl.prototype.has=n4;Nl.prototype.set=i4;var s4=Nl,WA=s4,o4=wp,a4=Lw;function c4(){this.size=0,this.__data__={hash:new WA,map:new(a4||o4),string:new WA}}var u4=c4;function l4(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}var f4=l4,h4=f4;function d4(r,e){var t=r.__data__;return h4(e)?t[typeof e=="string"?"string":"hash"]:t.map}var Ap=d4,p4=Ap;function g4(r){var e=p4(this,r).delete(r);return this.size-=e?1:0,e}var y4=g4,m4=Ap;function w4(r){return m4(this,r).get(r)}var b4=w4,_4=Ap;function A4(r){return _4(this,r).has(r)}var v4=A4,E4=Ap;function x4(r,e){var t=E4(this,r),n=t.size;return t.set(r,e),this.size+=t.size==n?0:1,this}var R4=x4,I4=u4,S4=y4,k4=b4,T4=v4,O4=R4;function Cl(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var n=r[e];this.set(n[0],n[1])}}Cl.prototype.clear=I4;Cl.prototype.delete=S4;Cl.prototype.get=k4;Cl.prototype.has=T4;Cl.prototype.set=O4;var Uw=Cl,N4=wp,C4=Lw,B4=Uw,P4=200;function M4(r,e){var t=this.__data__;if(t instanceof N4){var n=t.__data__;if(!C4||n.length<P4-1)return n.push([r,e]),this.size=++t.size,this;t=this.__data__=new B4(n)}return t.set(r,e),this.size=t.size,this}var L4=M4,U4=wp,D4=xP,$4=IP,F4=kP,H4=OP,z4=L4;function Bl(r){var e=this.__data__=new U4(r);this.size=e.size}Bl.prototype.clear=D4;Bl.prototype.delete=$4;Bl.prototype.get=F4;Bl.prototype.has=H4;Bl.prototype.set=z4;var vp=Bl,G4="__lodash_hash_undefined__";function K4(r){return this.__data__.set(r,G4),this}var W4=K4;function j4(r){return this.__data__.has(r)}var V4=j4,q4=Uw,Z4=W4,Q4=V4;function A0(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new q4;++e<t;)this.add(r[e])}A0.prototype.add=A0.prototype.push=Z4;A0.prototype.has=Q4;var J4=A0;function Y4(r,e){for(var t=-1,n=r==null?0:r.length;++t<n;)if(e(r[t],t,r))return!0;return!1}var X4=Y4;function eM(r,e){return r.has(e)}var tM=eM,rM=J4,nM=X4,iM=tM,sM=1,oM=2;function aM(r,e,t,n,i,s){var o=t&sM,a=r.length,u=e.length;if(a!=u&&!(o&&u>a))return!1;var l=s.get(r),h=s.get(e);if(l&&h)return l==e&&h==r;var g=-1,b=!0,w=t&oM?new rM:void 0;for(s.set(r,e),s.set(e,r);++g<a;){var I=r[g],S=e[g];if(n)var x=o?n(S,I,g,e,r,s):n(I,S,g,r,e,s);if(x!==void 0){if(x)continue;b=!1;break}if(w){if(!nM(e,function(C,H){if(!iM(w,H)&&(I===C||i(I,C,t,n,s)))return w.push(H)})){b=!1;break}}else if(!(I===S||i(I,S,t,n,s))){b=!1;break}}return s.delete(r),s.delete(e),b}var wR=aM,cM=Mn,uM=cM.Uint8Array,bR=uM;function lM(r){var e=-1,t=Array(r.size);return r.forEach(function(n,i){t[++e]=[i,n]}),t}var fM=lM;function hM(r){var e=-1,t=Array(r.size);return r.forEach(function(n){t[++e]=n}),t}var dM=hM,jA=Ol,VA=bR,pM=jh,gM=wR,yM=fM,mM=dM,wM=1,bM=2,_M="[object Boolean]",AM="[object Date]",vM="[object Error]",EM="[object Map]",xM="[object Number]",RM="[object RegExp]",IM="[object Set]",SM="[object String]",kM="[object Symbol]",TM="[object ArrayBuffer]",OM="[object DataView]",qA=jA?jA.prototype:void 0,zy=qA?qA.valueOf:void 0;function NM(r,e,t,n,i,s,o){switch(t){case OM:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case TM:return!(r.byteLength!=e.byteLength||!s(new VA(r),new VA(e)));case _M:case AM:case xM:return pM(+r,+e);case vM:return r.name==e.name&&r.message==e.message;case RM:case SM:return r==e+"";case EM:var a=yM;case IM:var u=n&wM;if(a||(a=mM),r.size!=e.size&&!u)return!1;var l=o.get(r);if(l)return l==e;n|=bM,o.set(r,e);var h=gM(a(r),a(e),n,i,s,o);return o.delete(r),h;case kM:if(zy)return zy.call(r)==zy.call(e)}return!1}var CM=NM;function BM(r,e){for(var t=-1,n=e.length,i=r.length;++t<n;)r[i+t]=e[t];return r}var Dw=BM,PM=Array.isArray,Ln=PM,MM=Dw,LM=Ln;function UM(r,e,t){var n=e(r);return LM(r)?n:MM(n,t(r))}var _R=UM;function DM(r,e){for(var t=-1,n=r==null?0:r.length,i=0,s=[];++t<n;){var o=r[t];e(o,t,r)&&(s[i++]=o)}return s}var $M=DM;function FM(){return[]}var AR=FM,HM=$M,zM=AR,GM=Object.prototype,KM=GM.propertyIsEnumerable,ZA=Object.getOwnPropertySymbols,WM=ZA?function(r){return r==null?[]:(r=Object(r),HM(ZA(r),function(e){return KM.call(r,e)}))}:zM,$w=WM;function jM(r,e){for(var t=-1,n=Array(r);++t<r;)n[t]=e(t);return n}var VM=jM;function qM(r){return r!=null&&typeof r=="object"}var di=qM,ZM=Ic,QM=di,JM="[object Arguments]";function YM(r){return QM(r)&&ZM(r)==JM}var XM=YM,QA=XM,eL=di,vR=Object.prototype,tL=vR.hasOwnProperty,rL=vR.propertyIsEnumerable,nL=QA(function(){return arguments}())?QA:function(r){return eL(r)&&tL.call(r,"callee")&&!rL.call(r,"callee")},Ep=nL,v0={exports:{}};function iL(){return!1}var sL=iL;v0.exports;(function(r,e){var t=Mn,n=sL,i=e&&!e.nodeType&&e,s=i&&!0&&r&&!r.nodeType&&r,o=s&&s.exports===i,a=o?t.Buffer:void 0,u=a?a.isBuffer:void 0,l=u||n;r.exports=l})(v0,v0.exports);var xp=v0.exports,oL=9007199254740991,aL=/^(?:0|[1-9]\d*)$/;function cL(r,e){var t=typeof r;return e=e??oL,!!e&&(t=="number"||t!="symbol"&&aL.test(r))&&r>-1&&r%1==0&&r<e}var Rp=cL,uL=9007199254740991;function lL(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=uL}var Fw=lL,fL=Ic,hL=Fw,dL=di,pL="[object Arguments]",gL="[object Array]",yL="[object Boolean]",mL="[object Date]",wL="[object Error]",bL="[object Function]",_L="[object Map]",AL="[object Number]",vL="[object Object]",EL="[object RegExp]",xL="[object Set]",RL="[object String]",IL="[object WeakMap]",SL="[object ArrayBuffer]",kL="[object DataView]",TL="[object Float32Array]",OL="[object Float64Array]",NL="[object Int8Array]",CL="[object Int16Array]",BL="[object Int32Array]",PL="[object Uint8Array]",ML="[object Uint8ClampedArray]",LL="[object Uint16Array]",UL="[object Uint32Array]",Gt={};Gt[TL]=Gt[OL]=Gt[NL]=Gt[CL]=Gt[BL]=Gt[PL]=Gt[ML]=Gt[LL]=Gt[UL]=!0;Gt[pL]=Gt[gL]=Gt[SL]=Gt[yL]=Gt[kL]=Gt[mL]=Gt[wL]=Gt[bL]=Gt[_L]=Gt[AL]=Gt[vL]=Gt[EL]=Gt[xL]=Gt[RL]=Gt[IL]=!1;function DL(r){return dL(r)&&hL(r.length)&&!!Gt[fL(r)]}var $L=DL;function FL(r){return function(e){return r(e)}}var Hw=FL,E0={exports:{}};E0.exports;(function(r,e){var t=gR,n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,s=i&&i.exports===n,o=s&&t.process,a=function(){try{var u=i&&i.require&&i.require("util").types;return u||o&&o.binding&&o.binding("util")}catch{}}();r.exports=a})(E0,E0.exports);var zw=E0.exports,HL=$L,zL=Hw,JA=zw,YA=JA&&JA.isTypedArray,GL=YA?zL(YA):HL,Gw=GL,KL=VM,WL=Ep,jL=Ln,VL=xp,qL=Rp,ZL=Gw,QL=Object.prototype,JL=QL.hasOwnProperty;function YL(r,e){var t=jL(r),n=!t&&WL(r),i=!t&&!n&&VL(r),s=!t&&!n&&!i&&ZL(r),o=t||n||i||s,a=o?KL(r.length,String):[],u=a.length;for(var l in r)(e||JL.call(r,l))&&!(o&&(l=="length"||i&&(l=="offset"||l=="parent")||s&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||qL(l,u)))&&a.push(l);return a}var ER=YL,XL=Object.prototype;function eU(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||XL;return r===t}var Kw=eU;function tU(r,e){return function(t){return r(e(t))}}var xR=tU,rU=xR,nU=rU(Object.keys,Object),iU=nU,sU=Kw,oU=iU,aU=Object.prototype,cU=aU.hasOwnProperty;function uU(r){if(!sU(r))return oU(r);var e=[];for(var t in Object(r))cU.call(r,t)&&t!="constructor"&&e.push(t);return e}var RR=uU,lU=bp,fU=Fw;function hU(r){return r!=null&&fU(r.length)&&!lU(r)}var Ip=hU,dU=ER,pU=RR,gU=Ip;function yU(r){return gU(r)?dU(r):pU(r)}var Sp=yU,mU=_R,wU=$w,bU=Sp;function _U(r){return mU(r,bU,wU)}var IR=_U,XA=IR,AU=1,vU=Object.prototype,EU=vU.hasOwnProperty;function xU(r,e,t,n,i,s){var o=t&AU,a=XA(r),u=a.length,l=XA(e),h=l.length;if(u!=h&&!o)return!1;for(var g=u;g--;){var b=a[g];if(!(o?b in e:EU.call(e,b)))return!1}var w=s.get(r),I=s.get(e);if(w&&I)return w==e&&I==r;var S=!0;s.set(r,e),s.set(e,r);for(var x=o;++g<u;){b=a[g];var C=r[b],H=e[b];if(n)var D=o?n(H,C,b,e,r,s):n(C,H,b,r,e,s);if(!(D===void 0?C===H||i(C,H,t,n,s):D)){S=!1;break}x||(x=b=="constructor")}if(S&&!x){var z=r.constructor,V=e.constructor;z!=V&&"constructor"in r&&"constructor"in e&&!(typeof z=="function"&&z instanceof z&&typeof V=="function"&&V instanceof V)&&(S=!1)}return s.delete(r),s.delete(e),S}var RU=xU,IU=Sc,SU=Mn,kU=IU(SU,"DataView"),TU=kU,OU=Sc,NU=Mn,CU=OU(NU,"Promise"),BU=CU,PU=Sc,MU=Mn,LU=PU(MU,"Set"),UU=LU,DU=Sc,$U=Mn,FU=DU($U,"WeakMap"),SR=FU,m1=TU,w1=Lw,b1=BU,_1=UU,A1=SR,kR=Ic,Pl=mR,ev="[object Map]",HU="[object Object]",tv="[object Promise]",rv="[object Set]",nv="[object WeakMap]",iv="[object DataView]",zU=Pl(m1),GU=Pl(w1),KU=Pl(b1),WU=Pl(_1),jU=Pl(A1),ga=kR;(m1&&ga(new m1(new ArrayBuffer(1)))!=iv||w1&&ga(new w1)!=ev||b1&&ga(b1.resolve())!=tv||_1&&ga(new _1)!=rv||A1&&ga(new A1)!=nv)&&(ga=function(r){var e=kR(r),t=e==HU?r.constructor:void 0,n=t?Pl(t):"";if(n)switch(n){case zU:return iv;case GU:return ev;case KU:return tv;case WU:return rv;case jU:return nv}return e});var Vh=ga,Gy=vp,VU=wR,qU=CM,ZU=RU,sv=Vh,ov=Ln,av=xp,QU=Gw,JU=1,cv="[object Arguments]",uv="[object Array]",Ld="[object Object]",YU=Object.prototype,lv=YU.hasOwnProperty;function XU(r,e,t,n,i,s){var o=ov(r),a=ov(e),u=o?uv:sv(r),l=a?uv:sv(e);u=u==cv?Ld:u,l=l==cv?Ld:l;var h=u==Ld,g=l==Ld,b=u==l;if(b&&av(r)){if(!av(e))return!1;o=!0,h=!1}if(b&&!h)return s||(s=new Gy),o||QU(r)?VU(r,e,t,n,i,s):qU(r,e,u,t,n,i,s);if(!(t&JU)){var w=h&&lv.call(r,"__wrapped__"),I=g&&lv.call(e,"__wrapped__");if(w||I){var S=w?r.value():r,x=I?e.value():e;return s||(s=new Gy),i(S,x,t,n,s)}}return b?(s||(s=new Gy),ZU(r,e,t,n,i,s)):!1}var eD=XU,tD=eD,fv=di;function TR(r,e,t,n,i){return r===e?!0:r==null||e==null||!fv(r)&&!fv(e)?r!==r&&e!==e:tD(r,e,t,n,TR,i)}var Ww=TR,rD=Ww;function nD(r,e){return rD(r,e)}var iD=nD;const sD=no(iD),zr=[];for(let r=0;r<256;++r)zr.push((r+256).toString(16).slice(1));function oD(r,e=0){return(zr[r[e+0]]+zr[r[e+1]]+zr[r[e+2]]+zr[r[e+3]]+"-"+zr[r[e+4]]+zr[r[e+5]]+"-"+zr[r[e+6]]+zr[r[e+7]]+"-"+zr[r[e+8]]+zr[r[e+9]]+"-"+zr[r[e+10]]+zr[r[e+11]]+zr[r[e+12]]+zr[r[e+13]]+zr[r[e+14]]+zr[r[e+15]]).toLowerCase()}let Ky;const aD=new Uint8Array(16);function cD(){if(!Ky){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ky=crypto.getRandomValues.bind(crypto)}return Ky(aD)}const uD=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),hv={randomUUID:uD};function lD(r,e,t){if(hv.randomUUID&&!e&&!r)return hv.randomUUID();r=r||{};const n=r.random||(r.rng||cD)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,oD(n)}function v1(r){return new Promise(e=>{setTimeout(e,r)})}function dv(r,e,t,n){const i=new Map;return r.forEach(s=>{i.set(t(s),s)}),e.forEach(s=>{i.set(t(s),s)}),Array.from(i.values()).sort(n)}function cc(r){return(r.startsWith("0x")?r.slice(2):r).toLowerCase()}class ns{constructor(){}static getInstance(){return ns.instance||(ns.instance=new ns),ns.instance}formatMessage(e,...t){return`[${new Date().toISOString()}] [${e.toUpperCase()}] - ${t.map(i=>typeof i=="object"?JSON.stringify(i):i).join(" ")}`}log(...e){console.log(this.formatMessage("log",...e))}info(...e){console.info(this.formatMessage("info",...e))}warn(...e){console.warn(this.formatMessage("warn",...e))}error(...e){console.error(this.formatMessage("error",...e))}debug(...e){console.debug(this.formatMessage("debug",...e))}}class kp{constructor(){this.logger=ns.getInstance()}handleError(e,t){const n=e instanceof Error?e.message:"Unknown error occurred",i=e instanceof Error?e.stack:null;this.logger.error(`Error in ${t||"unknown context"}: ${n}`,{stack:i})}}let fD=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(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){if(!this.events[e])return;const n=this.events[e].indexOf(t);n>-1&&this.events[e].splice(n,1)}cleanAll(){this.events={}}emit(e,t){this.events[e]&&this.events[e].forEach(n=>n(t))}};class E1{constructor(e={}){this.tasks=[],this.isProcessing=!1,this.isWaiting=!1,this.errorHandler=new kp,this.clearWaitTime=e.clearWaitTime||500}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.tasks.length>0;){const e=this.tasks.shift();if(e)try{const t=e();t instanceof Promise&&await t}catch(t){this.errorHandler.handleError(t,"Queue.processQueue")}}this.isProcessing=!1}}enqueue(e){this.tasks.push(e),this.processQueue()}async waitForProcessing(){if(this.isWaiting)return!0;for(this.isWaiting=!0;this.isProcessing;)await v1(this.clearWaitTime);return this.isWaiting=!1,!1}}var OR={};(function(r){var e;Object.defineProperty(r,"__esModule",{value:!0}),r.Vector=r.Cache=r.Assertions=r.Strings=r.Types=r.Objects=r.Dates=r.Promises=r.Numbers=r.System=r.Arrays=r.Random=r.Elliptic=r.Binary=r.AsyncQueue=r.PubSubChannel=r.FixedPointNumber=r.MerkleTree=r.Chunk=r.Uint8ArrayWriter=r.Uint8ArrayReader=r.AsyncLazy=r.Lazy=r.Optional=void 0;async function t(c){return new Promise((f,d)=>c.then(d,f))}async function n(c){return t(Promise.all(c.map(t)))}async function i(c,f=1){const d=lA(c,f),y=[],R=d.map(async L=>{for(const Y of L)y.push(await Y())});return await Promise.all(R),y}async function s(c){return new Promise(f=>setTimeout(()=>{f(!0)},c))}function o(c,f=Math.random){for(let d=c.length-1;d>0;d--){const y=Math.floor(f()*(d+1)),R=c[d];c[d]=c[y],c[y]=R}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 l(c){return c.length>0?c[0]:null}function h(c){if(!c.length)throw Error("Received empty array");return c[0]}function g(c,f){const d=[];for(let y=0;y<c;y++)d.push(f(y));return d}function b(c){const f=[];for(let d=0;d<c[0].length;d++){f.push([]);for(let y=0;y<c.length;y++)f[d].push(c[y][d])}return f}function w(c,f,d){const y=[];for(let R=0;R<c;R++){y.push([]);for(let L=0;L<f;L++)y[R].push(d)}return y}function I(c,f,d,y){if(d<0||y<0||y+f[0].length>c[0].length||d+f.length>c.length)return!1;for(let R=0;R<f.length;R++)for(let L=0;L<f[R].length;L++)if(f[R][L]!==void 0&&c[d+R][y+L]!==f[R][L])return!1;return!0}function S(c,f,d=Math.random){return o(C_(0,c.length-1),d).slice(0,f)}function x(c,f){return c.map(d=>d[f])}function C(c){let f=c,d=3405648695,y=3735928559;return function(){return f+=d,d^=f<<7,f*=y,y^=f<<13,f^=d^y,(f>>>0)/4294967296}}function H(c,f,d=Math.random){return Math.floor(d()*(f-c+1))+c}function D(c,f,d=Math.random){return d()*(f-c)+c}function z(){return Math.random()*2-1}function V(c,f,d){return f>=c.x&&f<c.x+c.width&&d>=c.y&&d<c.y+c.height}function Z(c,f,d,y=Math.random){let R,L;do R=H(0,c-1,y),L=H(0,f-1,y);while(d&&V(d,R,L));return[R,L]}function K(c,f=Math.random){const d=Math.floor(c),y=c-d;return j(y,f)?d+1:d}function j(c,f=Math.random){return f()<c}function oe(c,f=Math.random){return c[Math.floor(c.length*f())]}function ce(c,f,d=Math.random){if(f>c.length)throw new Error(`Count (${f}) is greater than array length (${c.length})`);return S(c,f,d).map(y=>c[y])}function ne(c,f,d,y=Math.random){if(f>c.length)throw new Error(`Count (${f}) is greater than array length (${c.length})`);const R=[];for(;R.length<f;){const L=oe(c,y);R.some(Y=>d(Y,L))||R.push(L)}return R}function ue(c,f,d,y,R,L=Math.random){const Y=c.filter(fe=>fe!==f&&fe!==d),de=[];for(f!==null&&de.push(f);Y.length&&de.length<y;){const fe=r.Random.intBetween(0,Y.length-1,L);R(Y[fe],de)&&de.push(Y[fe]),Y.splice(fe,1)}return o(de,L),{values:de,indexOfGuaranteed:f!==null?de.indexOf(f):-1}}function B(c){if(!c.length)throw Error("Received empty array");return c[c.length-1]}function p(c,f,d){return d(f.reduce((y,R)=>R(y),c))}function m(c,f){return d=>p(d,c,f)}function E(c,f,d){if(d===void 0&&(d=Math.random()),c.length!==f.length)throw new Error("Array length mismatch");let y=f.reduce((L,Y)=>L+Y,0);const R=d*y;for(let L=0;L<c.length-1;L++)if(y-=f[L],R>=y)return c[L];return B(c)}function k(c,f,d=Math.random){const y=f.map(L=>d()*L),R=[];for(let L=0;L<c.length;L++)R.push([c[L],y[L]]);return R.sort((L,Y)=>Y[1]-L[1]).map(L=>L[0])}function O(c,f){if(c==null)return null;const d=f.split(".");let y=c;for(const R of d){if(y[R]===null||y[R]===void 0)return null;y=y[R]}return y}function M(c,f,d){const y=f.split(/\.|\[/);let R=c;for(let L=0;L<y.length;L++){const Y=y[L],de=L<y.length-1&&y[L+1].includes("]"),fe=Y.includes("]")?Y.replace(/\[|\]/g,""):Y;if(L===y.length-1)return R[fe]=d,d;Yt(R[fe])||(de?R[fe]=[]:R[fe]={}),R=R[fe]}return d}function G(c,f,d=1){const y=O(c,f)||0;return M(c,f,y+d),y}function P(c,f,d){return O(c,f)||M(c,f,d)}function A(c,f){const d=Rg(f,"."),y=P_(f,".");if(!d||!y)return;const R=O(c,d);delete R[y]}function U(c,f,d){const y=O(c,f);if(!y)throw new Error("Key '"+f+"' does not exist.");return M(c,f,d),y}function le(c,f,d){for(const y of f){const R=O(c,y);if(R)return R}if(d){const y=Object.values(c);if(y.length)return y[0]}return null}async function ee(c,f,d){for(;;){try{await c()}catch(y){d&&d("Error in forever",y)}await s(f)}}function re(c,f){c();const d=setInterval(()=>{c()},f);return()=>clearInterval(d)}function he(c){return c/1024/1024}function ye(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 be(c){const f=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c.toLowerCase());if(!f)throw new Error("Invalid hex color: "+c);return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]}function We(c){return"#"+c.map(f=>f.toString(16).padStart(2,"0")).join("")}function $e(c,f,d,y){const R=c*Math.PI/180,L=d*Math.PI/180,Y=(d-c)*Math.PI/180,de=(y-f)*Math.PI/180,fe=Math.sin(Y/2)*Math.sin(Y/2)+Math.cos(R)*Math.cos(L)*Math.sin(de/2)*Math.sin(de/2);return 6371e3*(2*Math.atan2(Math.sqrt(fe),Math.sqrt(1-fe)))}function Oe(c,f){return Math.round(c/f)*f}function Xe(c){return c>1e3?(c/1e3).toFixed(0)+" km":c>=500?Oe(c,100)+" m":c>=100?Oe(c,50)+" m":Oe(c,10)+" m"}function qe(c){return c*(c+1)/2}function et(c){const f=c.match(/-?\d+(\.\d+)?/);if(!f)throw Error("No float found in "+c);return parseFloat(f[0])}function Yt(c,f=!0){return!c||f&&!Et(c._readableState)||f&&c.constructor&&(c.constructor.isBuffer||c.constructor.name=="Uint8Array"||c.constructor.name==="ArrayBuffer"||c.constructor.name==="ReadableStream")?!1:typeof c=="object"}function lt(c){return Yt(c)&&!Array.isArray(c)}function Mt(c){return Array.isArray(c)&&c.length===0}function oo(c){return lt(c)&&Object.keys(c).length===0}function Et(c){return c===void 0}function St(c){return Object.prototype.toString.call(c)==="[object Function]"||Object.prototype.toString.call(c)==="[object AsyncFunction]"}function Ar(c){return Object.prototype.toString.call(c)==="[object String]"}function ft(c){return typeof c=="number"&&isFinite(c)}function xt(c){return c===!0||c===!1}function Xt(c){return Object.prototype.toString.call(c)==="[object Date]"}function bt(c){return!Ar(c)||c.trim().length===0}function kt(c){return ft(c)&&Number.isInteger(c)&&c>=1}function Xr(c){return Ar(c)&&c.match(/^-?\d+$/)!==null}function Lt(c){return Ar(c)&&c.match(/^(0x)?[0-9a-f]+$/i)!==null}const N="!@#$%^&*()_+-=[]{}|;:<>?,./",_="!@#$%^&*()_+-=[]{}|;:<>?,./".split(""),v="abcdefghijklmnopqrstuvwxyz",$="ABCDEFGHIJKLMNOPQRSTUVWXYZ",W="1234567890",J=v+$+W,ae=J+N,Ze=["—","\\","東","京","都","𝖆","𝖇","𝖈","👾","🙇","💁","🙅","ᚠ","ᛇ","ᚻ","ᛦ"],Ve="0123456789abcdef";function je(c,f=Math.random){let d="";for(let y=0;y<c;y++)d+=v[Math.floor(f()*v.length)];return d}function Ut(c,f=Math.random){let d="";for(let y=0;y<c;y++)d+=J[Math.floor(f()*J.length)];return d}function He(c,f=Math.random){let d="";for(let y=0;y<c;y++)d+=ae[Math.floor(f()*ae.length)];return d}function ar(c,f=Math.random){let d="";for(let y=0;y<c;y++)d+=Ze[Math.floor(f()*Ze.length)];return d}function Ad(c,f){const d=new RegExp(`[0-9a-f]{${f}}`,"i"),y=c.match(d);return y?y[0]:null}function cr(c,f,d=_){const y=M_(c,d);for(const R of y)if(f(R))return R;return null}function ur(c,f=Math.random){let d="";for(let y=0;y<c;y++)d+=Ve[Math.floor(f()*Ve.length)];return d}function vd(c,f){if(!Xr(c))throw new TypeError(`Expected integer string${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);const d=BigInt(c);if(f&&(f.min&&d<f.min||f.max&&d>f.max))throw RangeError(`Expected integer string${f!=null&&f.name?` for ${f.name}`:""} in range: ${f.min??"-inf"}..${f.max??"inf"}; got: `+d);return c}function er(c,f){if(bt(c))throw new TypeError(`Expected string${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);if(f&&(f.min!==void 0&&c.length<f.min||f.max!==void 0&&c.length>f.max))throw RangeError(`Expected string${f!=null&&f.name?` for ${f.name}`:""} length in range: ${f.min??"-inf"}..${f.max??"inf"}; got: ${c.length}`);return c}function lr(c,f){if(!Lt(c))throw new TypeError(`Expected hex string${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);const d=c.replace(/^0x/,"");if(f&&f.byteLength&&d.length!==f.byteLength*2)throw RangeError(`Expected hex string${f!=null&&f.name?` for ${f.name}`:""} of byte length ${f.byteLength}; got: `+d);return d}function Ed(c,f){if(!er(c,f).split("").every(d=>d==="_"||cf(d)))throw new TypeError(`Expected safe string${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function tr(c,f){if(f.min!==void 0&&c<f.min||f.max!==void 0&&c>f.max)throw RangeError(`Expected value${f!=null&&f.name?` for ${f.name}`:""} in range: ${f.min??"-inf"}..${f.max??"inf"}; got: ${c}`)}function fr(c,f){if(!St(c))throw new TypeError(`Expected function${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function ua(c,f){if(ft(c))return f&&tr(c,f),c;if(!Ar(c)||!c.match(/^-?\d+(\.\d+)?$/))throw new TypeError(`Expected number${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);const d=parseFloat(c);return f&&tr(d,f),d}function Vt(c,f){return ua(c,f)|0}function hr(c,f){if(c==="true")return!0;if(c==="false")return!1;if(!xt(c))throw new TypeError(`Expected boolean${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function xd(c,f){if(!Xt(c))throw new TypeError(`Expected date${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function dr(c){return bt(c)?null:c}function pr(c,f){if(!Ar(c))throw new TypeError(`Expected string${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function Rd(c,f){if(kt(c))return c;const d=parseInt(c,10);if(!kt(d))throw new TypeError(`Expected id${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return d}function gr(c,f){if(!Ar(c))throw new TypeError(`Expected time${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);const d=c.split(":");if(d.length!==2)throw new TypeError(`Expected time${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);const y=parseInt(d[0],10),R=parseInt(d[1],10);if(!ft(y)||!ft(R)||y<0||y>23||R<0||R>59)throw new TypeError(`Expected time, got${f!=null&&f.name?` for ${f.name}`:""}: `+c);return`${String(y).padStart(2,"0")}:${String(R).padStart(2,"0")}`}function yr(c,f){if(!Array.isArray(c))throw new TypeError(`Expected array${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function la(c,f){if(!lt(c))throw new TypeError(`Expected object${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function mr(c,f){return c===null?null:la(c,f)}function wr(c,f){const d=la(c,f);for(const y of Object.keys(d))if(!Ar(d[y]))throw new TypeError(`Expected string map${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return d}function Vl(c,f){const d=la(c),y=Object.keys(d),R=Object.values(d);if(!y.every(Ar)||!R.every(ft))throw new TypeError(`Expected numeric dictionary${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return d}function Mc(c){return Ar(c)&&c.match(/^https?:\/\/.+/)!==null}function ql(c,f){if(!Mc(c))throw new TypeError(`Expected url${f!=null&&f.name?` for ${f.name}`:""}, got: `+c);return c}function Zl(c,f){return f==null?!0:c(f)}function Ql(c,f){return f==null?null:c(f)}function Jl(c,f){return f==null?void 0:c(f)}function Lc(c,f){for(const[d,y]of Object.entries(f))if(!y(c[d]))throw TypeError(`${d} in value does not exist or match shape`);for(const d of Object.keys(c))if(!f[d])throw TypeError(`${d} exists in value but not in shape`);return!0}function Yl(c,f){return c.every(d=>Lc(d,f))}function ms(c,f="json",d=0){if(Yt(c,!1)){if(d>1)return"[object Object]";if(f==="json"){if(Array.isArray(c)){const R=c.map(L=>ms(L,"json",d+1));return d===0?JSON.stringify(R):R}const y={};c.message&&(y.message=ms(c.message,"json",d+1));for(const[R,L]of Object.entries(c))y[R]=ms(L,"json",d+1);return d===0?JSON.stringify(y):y}else if(f==="key-value"){const y=Object.keys(c);return c.message&&!y.includes("message")&&y.unshift("message"),y.map(R=>`${R}=${JSON.stringify(ms(c[R],"json",d+1))}`).join(" ")}}return Et(c)&&(c="undefined"),d===0?JSON.stringify(c):c}function Xl(c,f){if(Ar(c))return c;const d=Object.keys(c);c.message&&!d.includes("message")&&d.push("message");const y=d.map(R=>`${R}: ${c[R]}`).join("; ");return f&&c.stack?y+`
2
- `+c.stack:y}function pi(c,f){if(lt(c)&&lt(f))for(const d in f)lt(f[d])?(c[d]||(c[d]={}),pi(c[d],f[d])):Array.isArray(f[d])?c[d]=[...f[d]]:(f[d]!==null&&f[d]!==void 0||c[d]===null||c[d]===void 0)&&(c[d]=f[d]);return c}function ef(c,f){const d={};return pi(d,c),pi(d,f),d}function tf(c,f,d){const y={};return pi(y,c),pi(y,f),pi(y,d),y}function Uc(c,f){const d={};for(const y of c)for(const R of Object.keys(y))d[R]?d[R]=f(d[R],y[R]):d[R]=y[R];return d}function rf(c){return Uc(c,(f,d)=>f+d)}function nf(c,f,d){c[f]||(c[f]=[]),c[f].push(d)}function sf(c,f,d){for(c.unshift(f);c.length>d;)c.pop()}function of(c,f){let d=f%c.length;return d<0&&(d+=c.length),c[d]}function ao(c,f){Array.prototype.push.apply(c,f)}function qC(c,f){Array.prototype.unshift.apply(c,f)}async function ZC(c,f){const d=[];for(const y of c)d.push(await f(y));return d}function QC(c,f){const d=[];for(let y=0;y<c.length;y++)d.push(c[y]),y<c.length-1&&(St(f)?d.push(f()):d.push(f));return d}function JC(c,f){if(c!==f)throw Error(`Expected [${c}] to equal [${f}]`);return[c,f]}function YC(c){if(c!==!0)throw Error(`Expected [true], got: [${c}]`);return c}function XC(c){if(!c)throw Error(`Expected truthy value, got: [${c}]`);return c}function e6(c){if(c!==!1)throw Error(`Expected [false], got: [${c}]`);return c}function t6(c){if(c)throw Error(`Expected falsy value, got: [${c}]`);return c}function r6(c,f){if(!f.includes(c))throw Error(`Expected any of [${f.join(", ")}], got: [${c}]`);return c}function n6(c,f){for(let d=0;d<c.length;d++){const y=c[d],R=f[d],L=Math.max(0,R.getTime()-Date.now());setTimeout(y,L)}}function i6(c,f,d){return c+(f-c)*d}function s6(c){return c.reduce((f,d)=>f+d,0)}function o6(c){return c.reduce((f,d)=>f+d,0)/c.length}function a6(c){const f=[...c].sort((y,R)=>y-R),d=Math.floor(f.length/2);return f.length%2===0?(f[d]+f[d-1])/2:f[d]}function c6(c,f){return c-(f-1)/2}function C_(c,f){const d=[];for(let y=c;y<=f;y++)d.push(y);return d}function u6(c,f){return f.some(d=>c.includes(d))}function l6(c){return/^[\u4E00-\u9FA5]+$/.test(c)}function Eg(c,f=()=>!1){return c.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").split("").map(d=>/[a-z0-9]/.test(d)||f(d)?d:"-").join("").replace(/-+/g,"-").replace(/^-|-$/g,"")}function f6(c){return Eg(c).replaceAll("-","")}function h6(c){return Sd(c.replace(/([A-Z])/g," $1"))}function d6(c){return c.split("-").map(Sd).join(" ")}function p6(c){return U_(c.split("-").map(Sd).join(""))}function g6(c,f=", ",d=" and "){return!c||!c.length?"":c.length===1?c[0]:c.length===2?`${c[0]}${d}${c[1]}`:`${c.slice(0,c.length-1).join(f)}${d}${c[c.length-1]}`}function y6(c,f){return f+c.split("").join(f)+f}function m6(c){return Eg(c).replace(/-/g,"_").toUpperCase()}function Id(c,f){if(f.length===0)return 0;const d=c.toLowerCase(),y=f.toLowerCase();return c===f?1e4:d.startsWith(y)?1e4-c.length:d.includes(y)?5e3-c.length:new RegExp(".*"+y.split("").join(".*")+".*").test(d)?1e3-c.length:0}function w6(c,f){return c.filter(d=>Id(d,f)).sort((d,y)=>Id(y,f)-Id(d,f))}function b6(c){return c.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}const _6={"&amp;":"&","&quot;":'"',"&apos;":"'","&gt;":">","&lt;":"<"};function A6(c){let f=c.replace(/&#(\d+);/g,(d,y)=>String.fromCharCode(y)).replace(/&#x(\d+);/g,(d,y)=>String.fromCharCode(parseInt(y,16)));for(const[d,y]of Object.entries(_6))f=f.replaceAll(d,y);return f}function B_(c,f){const d=c.indexOf(f);return d===-1?null:c.slice(0,d)}function xg(c,f){const d=c.indexOf(f);return d===-1?null:c.slice(d+f.length)}function Rg(c,f){const d=c.lastIndexOf(f);return d===-1?null:c.slice(0,d)}function P_(c,f){const d=c.lastIndexOf(f);return d===-1?null:c.slice(d+f.length)}function v6(c,f,d){const y=Rg(c,d);return y?xg(y,f):null}function E6(c,f,d){const y=xg(c,f);return y?B_(y,d):null}function Ig(c,f,d=!1){const y=d?c.lastIndexOf(f):c.indexOf(f);return y===-1?d?[null,c]:[c,null]:[c.slice(0,y),c.slice(y+f.length)]}function M_(c,f){let d=[c];for(const y of f)d=d.flatMap(R=>R.split(y));return d.filter(y=>y)}function Sg(c){const f=B(c.split(/\\|\//g)),d=f.lastIndexOf(".",f.length-1);return d<=0?"":f.slice(d+1)}function kg(c){const f=B(c.split(/\\|\//g)),d=f.lastIndexOf(".",f.length-1);return d<=0?f:f.slice(0,d)}function x6(c){let[f,d]=c.split("@");f=af(f.replaceAll(".","").toLowerCase()).replaceAll(" ","");const[y]=f.split("+");if(!y||!d||d.indexOf(".")===-1||d.indexOf(".")===d.length-1)throw new Error("Invalid email");return d=af(d.toLowerCase()).replaceAll(" ",""),`${y}@${d}`}function R6(c){const f=kg(c),d=Sg(c);return d?`${f}.${d}`:f}function I6(c){const f=kg(c),d=Sg(c);return{basename:f,extension:d,filename:d?`${f}.${d}`:f}}function S6(c,f=Math.random){return c.replace(/\{(.+?)\}/g,(d,y)=>oe(y.split("|"),f))}function L_(c){const f=/\{(.+?)\}/,d=c.match(f);if(!d||!d.index)return[c];const y=d[1].split(","),R=c.slice(0,d.index),L=c.slice(d.index+d[0].length);let Y=[];for(const de of y){const fe=L_(R+de+L);Y=Y.concat(fe)}return Y}function af(c){return c.split(`
3
- `).map(f=>f.trim().replace(/\s+/g," ")).filter(f=>f.length>0).join(`
4
- `)}function Sd(c){return c.charAt(0).toUpperCase()+c.slice(1)}function U_(c){return c.charAt(0).toLowerCase()+c.slice(1)}function D_(c){if(!c)return!1;const f=c.charCodeAt(0);return f>=65&&f<=90||f>=97&&f<=122}function $_(c){if(!c)return!1;const f=c.charCodeAt(0);return f>=48&&f<=57}function cf(c){return D_(c)||$_(c)}const k6=`
5
- \r.,?!:;"'\`(){}[]~@#$%^&*-+=|<>/\\`.split("");function T6(c){return k6.includes(c)}function O6(c){return cf(c)||c==="."||c==="["||c==="]"||c==="_"}function N6(c,f,d,y,R){return c.slice(0,f)+y+c.slice(f,f+d)+R+c.slice(f+d)}function F_(c,f,d=0){const y=f.exec(c.slice(d));return y?{index:y.index,match:y[0]}:null}function H_(c,f,d=!0){if(!d)return f.every(R=>R instanceof RegExp?R.test(c):c.indexOf(R,0)!==-1);let y=0;for(const R of f)if(R instanceof RegExp){const L=F_(c,R,y);if(!L)return!1;y=L.index+L.match.length}else{const L=c.indexOf(R,y);if(L===-1)return!1;y=L+R.length}return!0}function C6(c,f,d=!0){let y=0;for(const R of f){let L=!1;for(;!L&&y<c.length;)H_(c[y],R,d)&&(L=!0),y++;if(!L)return!1}return!0}function B6(c){return c.match(/"|,/)?`"${c.replace(/"/g,'""')}"`:c}function Dc(c,f,d=0){let y=-1;for(const R of f){const L=c.indexOf(R,d);L!==-1&&(y===-1||L<y)&&(y=L)}return y}function P6(c,f=0){for(let d=f;d<c.length;d++)if(T6(c[d]))return d;return-1}function M6(c,f=0){for(let d=f;d<c.length;d++)if(c[d]==="#"&&cf(c[d+1]))return d;return-1}function z_(c,f,d=0){return c.slice(0,d).lastIndexOf(f)}function G_(c,f=0,d="{",y="}"){let R=1;for(let L=f;L<c.length;L++)if(c.slice(L,L+y.length)===y){if(--R===0)return L}else c.slice(L,L+d.length)===d&&R++;return-1}function K_(c,f){const d=f.wordBoundary?Dc(c,[`${f.opening} `,`${f.opening}
6
- `],f.start||0):c.indexOf(f.opening,f.start||0);if(d===-1)return null;const y=G_(c,d+f.opening.length,f.opening,f.closing);return y===-1?null:f.exclusive?c.slice(d+f.opening.length,y):c.slice(d,y+f.closing.length)}function L6(c,f){const d=[];let y=f.wordBoundary?Dc(c,[`${f.opening} `,`${f.opening}
7
- `],f.start||0):c.indexOf(f.opening,f.start||0);for(;;){if(y===-1)return d;const R=K_(c,{...f,start:y});if(!R)return d;d.push(R),y=f.wordBoundary?Dc(c,[`${f.opening} `,`${f.opening}
8
- `],y+R.length):c.indexOf(f.opening,y+R.length)}}function U6(c,f,d){let y=0;for(;;){const R=r.Strings.extractBlock(c,{...d,start:y});if(!R)return c;const L=f(R);y=c.indexOf(R,y)+L.length,c=c.replace(R,L)}}function D6(c,f){const d=[];let y=0;for(;y<c.length;){const R=c.indexOf(f,y);if(R===-1){d.push({string:c.slice(y),symbol:null});break}const L=c.indexOf(f,R+f.length);if(R>y&&L!==-1&&d.push({string:c.slice(y,R),symbol:null}),L===-1){d.push({string:c.slice(y),symbol:null});break}d.push({string:c.slice(R+f.length,L),symbol:f}),y=L+f.length}return d}function $6(c){const f=[];let d=0;for(;d<c.length;){const y=M6(c,d);if(y===-1){f.push({string:c.slice(d),symbol:null});break}const R=P6(c,y+1);if(R===-1){f.push({string:c.slice(d,y),symbol:null}),f.push({string:c.slice(y+1),symbol:"#"});break}y>d&&f.push({string:c.slice(d,y),symbol:null}),f.push({string:c.slice(y+1,R),symbol:"#"}),d=R}return f}function F6(c){const f=[];let d=0;for(;d<c.length;){const y=Dc(c,["http://","https://"],d);if(y===-1){f.push({string:c.slice(d),symbol:null});break}const R=Dc(c,[" ",`
9
- `],y);if(R===-1){y>d&&f.push({string:c.slice(d,y),symbol:null}),f.push({string:c.slice(y),symbol:"http"});break}y>d&&f.push({string:c.slice(d,y),symbol:null}),f.push({string:c.slice(y,R),symbol:"http"}),d=R}return f}const W_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j_="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";function H6(c){return V_(c,W_)}function z6(c){return q_(c,W_)}function G6(c){return V_(c,j_)}function K6(c){return q_(c,j_)}function V_(c,f){const d="=",y=f.length;let R=0,L=0;const Y=[];for(let de=0;de<c.length;de++){const fe=c[de];if(fe===d)break;const Le=f.indexOf(fe);if(Le===-1)throw new Error(`Invalid character: ${fe}`);L=L<<Math.log2(y)|Le,R+=Math.log2(y),R>=8&&(R-=8,Y.push(L>>R&255))}return new Uint8Array(Y)}function q_(c,f){const d=f.length;let y=0,R=0,L="";for(let Y=0;Y<c.length;Y++)for(R=R<<8|c[Y],y+=8;y>=Math.log2(d);)y-=Math.log2(d),L+=f[R>>y&d-1];return y>0&&(L+=f[R<<Math.log2(d)-y&d-1]),L.length%4!==0&&(L+="=".repeat(4-L.length%4)),L}function W6(c){c.startsWith("0x")&&(c=c.slice(2));const f=c.length/2,d=new Uint8Array(f);for(let y=0;y<f;y++){const R=parseInt(c.slice(y*2,y*2+2),16);d[y]=R}return d}function j6(c){return Array.from(c).map(f=>f.toString(16).padStart(2,"0")).join("")}function V6(c,f){const d=c.split("/").filter(L=>L),y=f.split("/").filter(L=>L);if(d.length!==y.length)return null;const R={};for(let L=0;L<d.length;L++){const Y=d[L];if(Y.startsWith(":"))R[Y.slice(1)]=y[L];else if(Y!==y[L])return null}return R}function Tg(c,f,d){const y=[];for(const R of d)R!==f&&y.push(c.replace(f,R));return y}function q6(c,f,d,y=Math.random){const R=r.Arrays.shuffle(f.map(Y=>({variants:r.Arrays.shuffle(Y.variants.map(de=>de),y),avoid:Y.avoid})),y),L=[];for(const Y of R){const de=Y.variants.filter(Le=>Le!==Y.avoid),fe=de.find(Le=>c.includes(Le));if(fe&&(ao(L,Tg(c,fe,de)),L.length>=d))break}if(L.length<d)for(const Y of R){const de=Y.variants.find(fe=>c.includes(fe));if(de&&(ao(L,Tg(c,de,Y.variants)),L.length>=d))break}return L.slice(0,d)}function Z6(c,f,d,y=!1){const R=new RegExp(y?`(?<=\\s|^)${f}(?=\\s|$)`:`\\b${f}\\b`,"g");return c.replace(R,d)}function Q6(c,f){const d=/\b[A-Z][a-zA-Z0-9]*\b/g;return c.replace(d,y=>y.toUpperCase()===y?y:f(y))}function J6(c){return c.replace(/<[^>]*>/g,"")}function Z_(c){const f=c.lastIndexOf(" ");if(f===-1)return{line:c,rest:""};const d=c.slice(0,f),y=c.slice(f+1);return{line:d,rest:y}}function Y6(c,f={}){return[...c].reduce((d,y)=>d+(f[y]||1),0)}function X6(c,f,d={}){const y=[];let R="",L=0;for(let Y=0;Y<c.length;Y++){const de=c[Y],fe=d[de]||1;if(R+=de,L+=fe,L>f){const{line:Le,rest:Ct}=Z_(R);y.push(Le),R=Ct,L=Ct.split("").map(Pr=>d[Pr]||1).reduce((Pr,zc)=>Pr+zc,0)}}return R&&y.push(R),y}function e3(c,f){const d=[];for(let y=0;y<=c.length;y++)d[y]=[y];for(let y=0;y<=f.length;y++)d[0][y]=y;for(let y=1;y<=c.length;y++)for(let R=1;R<=f.length;R++){const L=c[y-1]===f[R-1]?0:1;d[y][R]=Math.min(d[y-1][R]+1,d[y][R-1]+1,d[y-1][R-1]+L)}return d[c.length][f.length]}function Og(c,f){return new RegExp(`\\b${f}\\b`).test(c)}function t3(c,f,d){return d==="any"?f.some(y=>Og(c,y)):f.every(y=>Og(c,y))}function r3(c){const f={},d=c.match(/([a-z\-]+)="([^"]+)"/g);if(d)for(const y of d){const[R,L]=Ig(y,"=");f[R]=L.slice(1,L.length-1)}return f}function kd(c,f,d=[]){let y="";for(;f<c.length&&(cf(c[f])||d.includes(c[f]));)y+=c[f++];return y}function n3(c,f,d="$",y=":"){for(const R in f)c=Q_(c,R,f[R],d,y);return c=J_(c),c}function Q_(c,f,d,y="$",R=":"){if(d==="")return c;let L=c.indexOf(`${y}${f}`);for(;L!==-1;){if(c[L+f.length+1]===R)if(c[L+f.length+2]===R)c=c.replace(`${y}${f}${R}${R}`,d);else{const Y=kd(c,L+f.length+2,["_"]);c=c.replace(`${y}${f}${R}${Y}`,d)}else c=c.replace(`${y}${f}`,d);L=c.indexOf(`${y}${f}`,L+d.length)}return c}function J_(c,f="$",d=":"){let y=c.indexOf(f);for(;y!==-1;){const R=kd(c,y+1);if(c[y+R.length+1]===d)if(c[y+R.length+2]===d)c=c.replace(`${f}${R}${d}${d}`,"");else{const L=kd(c,y+R.length+2);c=c.replace(`${f}${R}${d}${L}`,L)}y=c.indexOf(f,y+1)}return c}function i3(c,f){let d=c.indexOf("](");for(;d!==-1;){const y=z_(c,"[",d),R=c.indexOf(")",d);if(y!==-1&&R!==-1){const[L,Y]=c.slice(y+1,R).split("]("),de=f(L,Y);c=c.slice(0,y)+de+c.slice(R+1)}d=c.indexOf("](",d+1)}return c}function Y_(c,f=!0){const d=Object.entries(c).filter(([y,R])=>R!=null).map(([y,R])=>`${y}=${encodeURIComponent(R)}`).join("&");return d?(f?"?":"")+d:""}function s3(c){const f={},d=c.split("&");for(const y of d){const[R,L]=y.split("=");R&&L&&(f[R]=decodeURIComponent(L))}return f}function o3(c,f){return Object.prototype.hasOwnProperty.call(c,f)}function a3(c,f){let d=null,y=-1/0;for(const[R,L]of Object.entries(c)){const Y=f(L);Y>y&&(y=Y,d=R)}return d?[d,c[d]]:null}function c3(c,f,d,y){const R=c.find(Y=>Y[f]===d),L=c.find(Y=>Y[f]===d+y);R&&L?(R[f]=d+y,L[f]=d):R&&(R[f]=d+y),c.sort((Y,de)=>ua(Y[f])-ua(de[f])),c.forEach((Y,de)=>Y[f]=de+1)}function u3(c){const f=Object.keys(c);if(f.length===1)return c[f[0]];throw new Error("Expected object to have a single key")}function l3(c,f=":"){return Object.fromEntries(c.map(d=>Ig(d,f)).map(d=>d[0]&&d[1]?[af(d[0]),af(d[1])]:null).filter(d=>d))}function f3(c,f,d){return rA(c,f)+Y_(d||{})}function h3(c,f=",",d='"'){const y=[];let R="",L=!1;const Y=c.split("");for(const de of Y)de===f&&!L?(y.push(R),R=""):de===d&&(!R&&!L||L)?L=!L:R+=de;return y.push(R),y}function d3(c){return`[${Math.floor(c.progress*100)}%] ${Td(c.deltaMs)} out of ${Td(c.totalTimeMs)} (${Td(c.remainingTimeMs)} left) [${Math.round(c.baseTimeMs)} ms each]`}async function p3(c,f,d){for(let y=0;y<d;y++){try{if(await c())return!0}catch{}y<d-1&&await s(f)}return!1}function g3(c,f){const d=[];for(let y=c.length-1;y>=0;y--)f(c[y])&&d.push(c.splice(y,1)[0]);return d}function y3(c){return JSON.parse(JSON.stringify(c))}function m3(c){return Math.ceil((c||Date.now())/1e3)}function w3(c){return(c||new Date).toISOString().slice(0,10)}function b3(c){return(c||new Date).toISOString().slice(0,19).replace(/T|:/g,"-")}function _3(c){const f=new Date(c);return new Date(f.getTime()-f.getTimezoneOffset()*6e4)}function A3(c){return new Date(c)}function Mi(c){return String(Math.floor(c)).padStart(2,"0")}function v3(c){let[f,d]=c.split(":");ft(parseInt(f,10))||(f="0"),ft(parseInt(d,10))||(d="0");let y=Mg(Vt(f),0,23),R=Mg(Vt(d),0,59);return`${Mi(y)}:${Mi(R)}`}function Td(c){const f=Math.floor(c/36e5);c=c%36e5;const d=Math.floor(c/6e4);c=c%6e4;const y=Math.floor(c/1e3);return f?`${Mi(f)}:${Mi(d)}:${Mi(y)}`:`${Mi(d)}:${Mi(y)}`}function fa(c){return Math.floor((Xt(c)?c.getTime():c)/864e5)}const E3={today:(c,f)=>Mi(c)+":"+Mi(f),yesterday:()=>"Yesterday",monday:()=>"Mon",tuesday:()=>"Tue",wednesday:()=>"Wed",thursday:()=>"Thu",friday:()=>"Fri",saturday:()=>"Sat",sunday:()=>"Sun",weeks:c=>`${c}w`};function x3(c,f){const d=new Date((f==null?void 0:f.now)||Date.now()),y=(f==null?void 0:f.labels)||E3,R=Xt(c)?c:new Date(c);if(fa(d)===fa(R))return y.today(R.getUTCHours(),R.getUTCMinutes(),R.getUTCHours()>12);if(fa(d)-fa(R)===1)return y.yesterday();const L=Cg(R);return fa(d)-fa(R)<7?y[L.day]():y.weeks(Math.round((d.getTime()-R.getTime())/6048e5))}const X_={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 eA(c,f){const d=(f==null?void 0:f.now)??Date.now(),y=(f==null?void 0:f.labels)||X_,R=r.Types.isDate(c)?c.getTime():c;let L=(d-R)/1e3;return L<10?y.now():L<120?y.seconds(Math.floor(L)):(L/=60,L<120?y.minutes(Math.floor(L)):(L/=60,L<48?y.hours(Math.floor(L)):(L/=24,L<14?y.days(Math.floor(L)):(L/=7,y.weeks(Math.floor(L))))))}function R3(c,f=X_){return eA(0,{now:c*1e3,labels:f})}function I3(c,f,d){const y=((d==null?void 0:d.now)??Date.now())-c,R=Math.floor(y/f),L=f/((d==null?void 0:d.precision)??1)-Math.ceil(y%f/((d==null?void 0:d.precision)??1));return{cycles:R,remaining:L}}const Ng={};function S3(c,f){return!Ng[c]||Date.now()>Ng[c]?(Ng[c]=Date.now()+f,!0):!1}const k3={s:1e3,m:6e4,h:36e5,d:864e5};function T3(c,f,d){return f=Xt(f)?f.getTime():f,d=d?Xt(d)?d.getTime():d:Date.now(),(d-f)/k3[c]}function O3(c,f,d,y){y||(y=Date.now());const R=f/d,L=y-c,Y=L/f,de=Y*d,fe=de-L;return{deltaMs:L,progress:R,baseTimeMs:Y,totalTimeMs:de,remainingTimeMs:fe}}const N3={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"};function tA(c){return{zeroBasedIndex:c,day:N3[c]}}function Cg(c){return tA(c.getDay())}function C3(c){return Cg(new Date(c))}function B3(c){return c*1e3}function P3(c){return c*6e4}function M3(c){return c*36e5}function L3(c){return c*864e5}const U3={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 D3(c){const f=parseFloat(c);if(isNaN(f))throw Error("makeDate got NaN for input");const d=c.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),y=U3[d];if(!y)throw Error(`Unknown unit: "${d}"`);return f*y}const $3={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 F3(c){const f=parseFloat(c);if(isNaN(f))throw Error("makeDate got NaN for input");const d=c.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),y=$3[d];if(!y)throw Error(`Unknown unit: "${d}"`);return f*y}function H3(c){return c.replace(/ +/g," ").replace(/^ /gm,"")}const Bg={};async function z3(c,f,d){const y=Date.now(),R=Bg[c];if(R&&R.validUntil>y)return R.value;const L=await d(),Y=y+f;return Bg[c]={value:L,validUntil:Y},L}function G3(c){delete Bg[c]}function rA(...c){return c.filter(f=>f).join("/").replace(new RegExp("(?<!:)\\/+","g"),"/")}function K3(c,f,d,y,R=!0){const L=c.indexOf(f),Y=c.indexOf(d,L+f.length);if(L===-1||Y===-1)throw Error("Start or end not found");return R?c.substring(0,L+f.length)+y+c.substring(Y):c.substring(0,L)+y+c.substring(Y+d.length)}function W3(c){let f="p";c.startsWith("#")?(f="h1",c=c.slice(1).trim()):c.startsWith("-")&&(f="li",c=c.slice(1).trim());const d=c[0]===c[0].toUpperCase(),y=/[.?!]$/.test(c),R=/:$/.test(c);return{type:f,isCapitalized:d,hasPunctuation:y,endsWithColon:R}}function j3(c,f="(",d=")"){let y=0,R=0;for(;R<c.length;)if(c.startsWith(f,R)?(y++,R+=f.length):c.startsWith(d,R)?(y--,R+=d.length):R++,y<0)return!1;return f===d?y%2===0:y===0}function V3(c){c=c.normalize("NFD").replace(/[\u0300-\u036f]/g,"");let f=c.length;for(;c=c.replace(/(\w+)[\s,']+\w+/g,"$1"),c.length!==f;)f=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 nA(c){const f=Object.keys(c).sort((y,R)=>y.localeCompare(R)),d={};for(const y of f)d[y]=ha(c[y]);return d}function iA(c){const f=[];return c.sort((d,y)=>JSON.stringify(ha(d)).localeCompare(JSON.stringify(ha(y)))).forEach(d=>f.push(ha(d))),f}function ha(c){return Array.isArray(c)?iA(c):Yt(c)?nA(c):c}function sA(c,f){return JSON.stringify(ha(c))===JSON.stringify(ha(f))}function q3(...c){for(let f=1;f<c.length;f++)if(!sA(c[f-1],c[f]))return!1;return!0}function Z3(c){try{return JSON.parse(c)}catch{return null}}function Q3(){let c=0;return{next:()=>c++}}function J3(c){let f=0;return{next:()=>c[f++%c.length]}}function Y3(c){let f;return d=>{const y=d===c&&f!==c;return f=d,y}}function X3(c,f,d,y,R){const L={};for(const Y of Object.keys(f))L[Y]=[];L[y]=[],R&&(c=c.sort(R));for(const Y of c){const de=Y[d],fe=f[de]?de:y;L[fe].length>=f[fe]?L[y].push(Y):L[fe].push(Y)}return L}function eB(c,f){const d=Object.keys(c),y=Object.keys(f);return{uniqueToA:d.filter(R=>!y.includes(R)),uniqueToB:y.filter(R=>!d.includes(R))}}function oA(c){const f=Object.keys(c);return f[Math.floor(Math.random()*f.length)]}function tB(c,f){const d=oA(c);return c[d]=f(c[d]),d}function rB(c){return c=c.replace(/\r\n/g,`
10
- `),c=c.replace(/(\w+)\((.+)\)/g,(f,d,y)=>`${d}(${y.replaceAll(",","&comma;")})`),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,(f,d,y)=>`: (${d.trim()} && ${y.trim()}) ||`),c=c.replace(/([a-zA-Z0-9]+)( ?: ?{)/g,'"$1"$2'),c=c.replace(/([a-zA-Z0-9]+) ?: ?(.+?)(,|\n|})/g,(f,d,y,R)=>`"${d}":"${y.trim()}"${R}`),c=c.replace(/("'|'")/g,'"'),c=c.replaceAll("&comma;",","),JSON.parse(c)}const co=[1e3,1e6,1e9,1e12,1e15,1e18,1e21,1e24,1e27,1e30,1e9,1e16,1e18,1e18,1e18,1e33],nB=["thousand","million","billion","trillion","quadrillion","quintillion","sextillion","septillion","octillion","nonillion","gwei","bzz","btc","eth","dai","decillion"],aA=["K","M","B","T","Qa","Qi","Sx","Sp","O","N","gwei","bzz","eth","btc","dai","D"];function iB(c,f,d){let y=c.length-f;if(y<=0)return"0."+"0".repeat(-y)+c+(d?" "+d:"");let R=c.substring(0,y),L=c.substring(y);return R===""&&(R="0"),R+"."+L+(d?" "+d:"")}function sB(c,f){const d=(f==null?void 0:f.longForm)??!1,y=f!=null&&f.unit?` ${f.unit}`:"",R=d?nB:aA,L=(f==null?void 0:f.precision)??1;if(c<co[0])return`${c}${y}`;for(let Y=0;Y<co.length-1;Y++)if(c<co[Y+1])return`${(c/co[Y]).toFixed(L)}${d?" ":""}${R[Y]}${y}`;return`${(c/co[co.length-1]).toFixed(L)}${d?" ":""}${R[co.length-1]}${y}`}function Pg(c){const f=parseFloat(c);if(isNaN(f))throw Error("makeNumber got NaN for input");const d=c.replace(/^-?[0-9.]+/,"").trim(),y=aA.findIndex(R=>R.toLowerCase()===d.toLowerCase());return y===-1?f:f*co[y]}function Mg(c,f,d){return c<f?f:c>d?d:c}function oB(c,f,d){const y=c+f;return y>d?d:y}function aB(c,f,d){const y=c-f;return y<d?d:y}function cB(c,f){return f(c),c}function uB(c,f){c&&f(c)}function lB(c,f){const d=Object.keys(f);for(const y of d)Array.isArray(f[y])&&Array.isArray(c[y])&&ao(c[y],f[y])}function fB(c){return c.splice(0,c.length),c}function hB(c){for(const f of Object.keys(c))(Mt(c[f])||Array.isArray(c[f])&&c[f].every(d=>d==null))&&delete c[f];return c}function dB(c){for(const f of Object.entries(c))(f[1]===null||f[1]===void 0||Ar(f[1])&&bt(f[1]))&&delete c[f[0]];return c}function pB(c,f){const d={};for(const[y,R]of Object.entries(c))f(y)&&(d[y]=R);return d}function gB(c,f){const d={};for(const[y,R]of Object.entries(c))f(R)&&(d[y]=R);return d}function yB(c,f){const d={};for(const y of Object.entries(c))d[y[0]]=f(y[1]);return d}function mB(c,f){const d=[];let y=0;for(const R of c)d.push(f(R,y++));return d}async function wB(c,f){try{return await c()}catch{throw f}}function bB(c,f,d){d!=null&&(c[f]=d)}function _B(c,f,d,y){const R=O(d,y);R!=null&&M(c,f,R)}function AB(c){const f={};for(const[d,y]of Object.entries(c))f[y]=d;return f}function vB(c){const f=Object.keys(c),d=f.map(de=>c[de].length),y=d.reduce((de,fe)=>de*=fe);let R=1;const L=[1];for(let de=0;de<d.length-1;de++)R*=d[de],L.push(R);const Y=[];for(let de=0;de<y;de++){const fe={};for(let Le=0;Le<f.length;Le++){const Ct=c[f[Le]],Pr=Math.floor(de/L[Le])%Ct.length;fe[f[Le]]=Ct[Pr]}Y.push(fe)}return Y}function EB(c){return Object.values(c).filter(f=>f).length}function xB(c,f,d){return c+(d?"["+f+"]":(c.length?".":"")+f)}function Od(c,f,d,y,R){if(!Yt(f))return f;for(const[L,Y]of Object.entries(f)){const de=xB(d,L,y);Array.isArray(Y)?R?Od(c,Y,de,!0,R):c[de]=Y.map(fe=>Od(Array.isArray(fe)?[]:{},fe,"",!1,R)):Yt(Y)?Od(c,Y,de,!1,R):c[de]=Y}return c}function RB(c,f=!1,d){return Od({},c,d||"",!1,f)}function cA(c){if(!Yt(c))return c;const f=Array.isArray(c)?[]:{};for(const[d,y]of Object.entries(c))Array.isArray(y)?M(f,d,y.map(R=>cA(R))):M(f,d,y);return f}function IB(c,f,d){return f[c]?f[c]:d}function uA(c,f){const d={};for(const y of c){const R=f(y);d[R]=y}return d}function SB(c,f){const d={};for(const y of c){const R=f(y);d[R]||(d[R]=[]),d[R].push(y)}return d}function kB(c,f){const d=[];for(let y=0;y<c.length;y+=f)d.push(c.slice(y,y+f));return d}function lA(c,f){const d=Math.ceil(c.length/f),y=[];for(let R=0;R<c.length;R+=d)y.push(c.slice(R,R+d));return y}function fA(c,f){const d=[],y=Math.ceil(c.length/f);for(let R=0;R<y;R++)d.push(c.slice(R*f,R*f+f));return d}function TB(c,f){const d=Math.ceil(c.length/f);return fA(c,d)}function OB(c,f){return Object.values(uA(c,f))}function NB(c,f,d,y,R){const L=f?c.map(f):c,Y={};for(const fe of L)Y[fe]=(Y[fe]||0)+1;const de=y?hA(Y,R?(fe,Le)=>fe[1]-Le[1]:(fe,Le)=>Le[1]-fe[1]):Y;return d?Object.keys(de):de}function hA(c,f){return Object.fromEntries(Object.entries(c).sort(f))}function CB(c){const f=[],d=Object.keys(c),y=c[d[0]].length;for(let R=0;R<y;R++){const L={};for(const Y of d)L[Y]=c[Y][R];f.push(L)}return f}function BB(c,f,d=1){for(const y of c)y[f]+=d}function PB(c,f,d){for(const y of c)y[f]=d}function Lg(c,f){const d=[];let y=[];return c.forEach((R,L)=>{(L===0||!f(R,c[L-1]))&&(y=[],d.push(y)),y.push(R)}),d}function MB(){return{map:new Map,keys:[]}}function LB(){return{map:new Map,keys:[]}}function dA(c,f,d,y=100){if(c.map.has(f)){const R=c.keys.indexOf(f);c.keys.splice(R,1)}if(c.map.set(f,d),c.keys.push(f),c.keys.length>y){const R=c.keys.shift();R&&c.map.delete(R)}}function UB(c,f,d,y=100){if(c.map.has(f)){const R=c.keys.indexOf(f);c.keys.splice(R,1)}if(c.map.set(f,d),c.keys.unshift(f),c.keys.length>y){const R=c.keys.shift();R&&c.map.delete(R)}}function DB(c,f,d,y,R=100){dA(c,f,{validUntil:Date.now()+y,data:d},R)}function $B(c,f){const d=c.map.get(f);return d&&d.validUntil>Date.now()?d.data:null}class uo{constructor(f){this.value=f}static of(f){return new uo(f)}static empty(){return new uo(null)}map(f){return new uo(this.value!==null&&this.value!==void 0?f(this.value):null)}mapAsync(f){return this.value!==null&&this.value!==void 0?f(this.value).then(d=>uo.of(d)):Promise.resolve(uo.empty())}ifPresent(f){return this.value!==null&&this.value!==void 0&&f(this.value),this}ifPresentAsync(f){return this.value!==null&&this.value!==void 0?f(this.value).then(()=>this):Promise.resolve(this)}ifAbsent(f){return(this.value===null||this.value===void 0)&&f(),this}ifAbsentAsync(f){return this.value===null||this.value===void 0?f().then(()=>this):Promise.resolve(this)}getOrFallback(f){return this.value??f()}getOrFallbackAsync(f){return this.value!==null&&this.value!==void 0?Promise.resolve(this.value):f()}getOrThrow(){if(this.value===null||this.value===void 0)throw Error("Optional.value is empty");return this.value}}r.Optional=uo;class FB{constructor(f){this.supplier=f,this.value=null}get(){return this.value||(this.value=this.supplier()),this.value}}r.Lazy=FB;class HB{constructor(f){this.supplier=f,this.value=null}async get(){return this.value||(this.value=await this.supplier()),this.value}}r.AsyncLazy=HB;function zB(c){return()=>c.forEach(f=>f())}function GB(c,f){return c.reduce((d,y)=>f(d)>f(y)?d:y)}function KB(c,f){const d=c.find(y=>y instanceof f);return uo.of(d)}function WB(c,f){return c.filter(d=>d instanceof f)}function jB(c,f){const d=[],y=Math.max(c.length,f.length);for(let R=0;R<y;R++)c[R]&&d.push(c[R]),f[R]&&d.push(f[R]);return d}function VB(c,f){return c.includes(f)?c.filter(d=>d!==f):[...c,f]}class qB{constructor(f){this.value=f,this.children=[]}}function ZB(c,f,d,y,R=!1){const L=new Map,Y=[];c.forEach(fe=>{const Le=new qB(fe);L.set(fe[f],Le)}),c.forEach(fe=>{const Le=L.get(fe[f]);if(!Le)return;const Ct=fe[d];if(Ct){const Pr=L.get(Ct);Pr&&Pr.children.push(Le)}else Y.push(Le)});const de=fe=>{fe.children.sort((Le,Ct)=>{const Pr=Le.value[y],zc=Ct.value[y];return R?zc-Pr:Pr-zc}),fe.children.forEach(de)};return Y.forEach(de),Y}function pA(c,f){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 y=[];for(let R=0;R<d.length;R+=2){const L=d[R+1];y.push(f(d[R],L))}d=y}return d[0]}function $c(...c){const f=c.reduce((R,L)=>R+L.length,0),d=new Uint8Array(f);let y=0;return c.forEach(R=>{d.set(R,y),y+=R.length}),d}function gA(c){return c[0]===137&&c[1]===80&&c[2]===78&&c[3]===71}function yA(c){return c[0]===255&&c[1]===216}function mA(c){return c[8]===87&&c[9]===69&&c[10]===66&&c[11]===80}function QB(c){return gA(c)||yA(c)||mA(c)}function JB(c){return new Uint8Array([c])}function YB(c){return c[0]}function XB(c,f){const d=new ArrayBuffer(2);return new DataView(d).setUint16(0,c,f==="LE"),new Uint8Array(d)}function e8(c,f){return new DataView(c.buffer).getUint16(c.byteOffset,f==="LE")}function t8(c,f){const d=new ArrayBuffer(4);return new DataView(d).setUint32(0,c,f==="LE"),new Uint8Array(d)}function r8(c,f){return new DataView(c.buffer).getUint32(c.byteOffset,f==="LE")}function Ug(c,f){const d=new ArrayBuffer(8);return new DataView(d).setBigUint64(0,BigInt(c),f==="LE"),new Uint8Array(d)}function n8(c,f){return new DataView(c.buffer).getBigUint64(c.byteOffset,f==="LE")}function Fc(c,f){const d=new Uint8Array(32);let y=c;if(f==="LE"){for(let R=0;R<32;R++)d[R]=Number(y&0xffn),y>>=8n;return d}for(let R=31;R>=0;R--)d[R]=Number(y&0xffn),y>>=8n;return d}function Hc(c,f){let d=0n;if(f==="LE"){for(let y=31;y>=0;y--)d=d<<8n|BigInt(c[y]);return d}for(let y=0;y<32;y++)d=d<<8n|BigInt(c[y]);return d}function i8(c,f){const d=[];let y=0;for(const R of f)d.push(c.subarray(y,y+R)),y+=R;return d}function Dg(c,f){const d=[];for(let y=0;y<c.length;y+=f)d.push(c.subarray(y,y+f));return d}const wA=[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 s8(c){for(let f=0;f<24;f++){const d=c[0]^c[10]^c[20]^c[30]^c[40],y=c[1]^c[11]^c[21]^c[31]^c[41],R=c[2]^c[12]^c[22]^c[32]^c[42],L=c[3]^c[13]^c[23]^c[33]^c[43],Y=c[4]^c[14]^c[24]^c[34]^c[44],de=c[5]^c[15]^c[25]^c[35]^c[45],fe=c[6]^c[16]^c[26]^c[36]^c[46],Le=c[7]^c[17]^c[27]^c[37]^c[47],Ct=c[8]^c[18]^c[28]^c[38]^c[48],Pr=c[9]^c[19]^c[29]^c[39]^c[49],zc=R<<1|L>>>31,H8=L<<1|R>>>31,ff=Ct^zc,hf=Pr^H8,z8=Y<<1|de>>>31,G8=de<<1|Y>>>31,df=d^z8,pf=y^G8,K8=fe<<1|Le>>>31,W8=Le<<1|fe>>>31,gf=R^K8,yf=L^W8,j8=Ct<<1|Pr>>>31,V8=Pr<<1|Ct>>>31,mf=Y^j8,wf=de^V8,q8=d<<1|y>>>31,Z8=y<<1|d>>>31,bf=fe^q8,_f=Le^Z8;c[0]^=ff,c[1]^=hf,c[2]^=df,c[3]^=pf,c[4]^=gf,c[5]^=yf,c[6]^=mf,c[7]^=wf,c[8]^=bf,c[9]^=_f,c[10]^=ff,c[11]^=hf,c[12]^=df,c[13]^=pf,c[14]^=gf,c[15]^=yf,c[16]^=mf,c[17]^=wf,c[18]^=bf,c[19]^=_f,c[20]^=ff,c[21]^=hf,c[22]^=df,c[23]^=pf,c[24]^=gf,c[25]^=yf,c[26]^=mf,c[27]^=wf,c[28]^=bf,c[29]^=_f,c[30]^=ff,c[31]^=hf,c[32]^=df,c[33]^=pf,c[34]^=gf,c[35]^=yf,c[36]^=mf,c[37]^=wf,c[38]^=bf,c[39]^=_f,c[40]^=ff,c[41]^=hf,c[42]^=df,c[43]^=pf,c[44]^=gf,c[45]^=yf,c[46]^=mf,c[47]^=wf,c[48]^=bf,c[49]^=_f;const Kg=c[0],Wg=c[1],jg=c[2]<<1|c[3]>>>31,Vg=c[3]<<1|c[2]>>>31,qg=c[5]<<30|c[4]>>>2,Zg=c[4]<<30|c[5]>>>2,Qg=c[6]<<28|c[7]>>>4,Jg=c[7]<<28|c[6]>>>4,Yg=c[8]<<27|c[9]>>>5,Xg=c[9]<<27|c[8]>>>5,ey=c[11]<<4|c[10]>>>28,ty=c[10]<<4|c[11]>>>28,ry=c[13]<<12|c[12]>>>20,ny=c[12]<<12|c[13]>>>20,iy=c[14]<<6|c[15]>>>26,sy=c[15]<<6|c[14]>>>26,oy=c[17]<<23|c[16]>>>9,ay=c[16]<<23|c[17]>>>9,cy=c[18]<<20|c[19]>>>12,uy=c[19]<<20|c[18]>>>12,ly=c[20]<<3|c[21]>>>29,fy=c[21]<<3|c[20]>>>29,hy=c[22]<<10|c[23]>>>22,dy=c[23]<<10|c[22]>>>22,py=c[25]<<11|c[24]>>>21,gy=c[24]<<11|c[25]>>>21,yy=c[26]<<25|c[27]>>>7,my=c[27]<<25|c[26]>>>7,wy=c[29]<<7|c[28]>>>25,by=c[28]<<7|c[29]>>>25,_y=c[31]<<9|c[30]>>>23,Ay=c[30]<<9|c[31]>>>23,vy=c[33]<<13|c[32]>>>19,Ey=c[32]<<13|c[33]>>>19,xy=c[34]<<15|c[35]>>>17,Ry=c[35]<<15|c[34]>>>17,Iy=c[36]<<21|c[37]>>>11,Sy=c[37]<<21|c[36]>>>11,ky=c[38]<<8|c[39]>>>24,Ty=c[39]<<8|c[38]>>>24,Oy=c[40]<<18|c[41]>>>14,Ny=c[41]<<18|c[40]>>>14,Cy=c[42]<<2|c[43]>>>30,By=c[43]<<2|c[42]>>>30,Py=c[45]<<29|c[44]>>>3,My=c[44]<<29|c[45]>>>3,Ly=c[47]<<24|c[46]>>>8,Uy=c[46]<<24|c[47]>>>8,Dy=c[48]<<14|c[49]>>>18,$y=c[49]<<14|c[48]>>>18;c[0]=Kg^~ry&py,c[1]=Wg^~ny&gy,c[2]=ry^~py&Iy,c[3]=ny^~gy&Sy,c[4]=py^~Iy&Dy,c[5]=gy^~Sy&$y,c[6]=Iy^~Dy&Kg,c[7]=Sy^~$y&Wg,c[8]=Dy^~Kg&ry,c[9]=$y^~Wg&ny,c[10]=Qg^~cy&ly,c[11]=Jg^~uy&fy,c[12]=cy^~ly&vy,c[13]=uy^~fy&Ey,c[14]=ly^~vy&Py,c[15]=fy^~Ey&My,c[16]=vy^~Py&Qg,c[17]=Ey^~My&Jg,c[18]=Py^~Qg&cy,c[19]=My^~Jg&uy,c[20]=jg^~iy&yy,c[21]=Vg^~sy&my,c[22]=iy^~yy&ky,c[23]=sy^~my&Ty,c[24]=yy^~ky&Oy,c[25]=my^~Ty&Ny,c[26]=ky^~Oy&jg,c[27]=Ty^~Ny&Vg,c[28]=Oy^~jg&iy,c[29]=Ny^~Vg&sy,c[30]=Yg^~ey&hy,c[31]=Xg^~ty&dy,c[32]=ey^~hy&xy,c[33]=ty^~dy&Ry,c[34]=hy^~xy&Ly,c[35]=dy^~Ry&Uy,c[36]=xy^~Ly&Yg,c[37]=Ry^~Uy&Xg,c[38]=Ly^~Yg&ey,c[39]=Uy^~Xg&ty,c[40]=qg^~oy&wy,c[41]=Zg^~ay&by,c[42]=oy^~wy&_y,c[43]=ay^~by&Ay,c[44]=wy^~_y&Cy,c[45]=by^~Ay&By,c[46]=_y^~Cy&qg,c[47]=Ay^~By&Zg,c[48]=Cy^~qg&oy,c[49]=By^~Zg&ay,c[0]^=wA[f*2],c[1]^=wA[f*2+1]}}function bA(c){const f=[];for(let d=0;d<c.length;d+=4)f.push(c[d]|c[d+1]<<8|c[d+2]<<16|c[d+3]<<24);return f}function _A(c,f){if(!c.length){const R=new Uint8Array(136);return R[0]=f,R[135]=128,[bA(R)]}const d=Dg(c,136),y=d[d.length-1];if(y.length<136){const R=new Uint8Array(136);R.set(y),R[y.length]=f,R[135]|=128,d[d.length-1]=R}if(y.length===136){const R=new Uint8Array(136);R[0]=f,R[135]=128,d.push(R)}return d.map(bA)}function AA(c,f){for(const d of f){for(let y=0;y<34;y+=2)c[y]^=d[y+1],c[y+1]^=d[y];s8(c)}return c}function vA(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 ws(c){return vA(AA(new Array(50).fill(0),_A(c,1)))}function o8(c){return vA(AA(new Array(50).fill(0),_A(c,6)))}function a8(c,f,d){const y=Math.min(c.length,f.length,d/8+1);for(let R=0;R<y;R++){const L=c[R]^f[R];for(let Y=0;Y<8;Y++)if(L>>7-Y&1)return R*8+Y}return d}function c8(c,f){const d=Math.min(c.length,f.length);for(let y=0;y<d;y++)if(c[y]!==f[y])return c.subarray(0,y);return c.subarray(0,d)}function u8(c,f,d,y){const R=Math.floor(f/8),L=f%8;d===1?c[R]|=1<<(y==="BE"?7-L:L):c[R]&=~(1<<(y==="BE"?7-L:L))}function l8(c,f,d){const y=Math.floor(f/8),R=f%8;return c[y]>>(d==="BE"?7-R:R)&1}function f8(c,f,d=0){for(let y=d;y<c.length;y++)for(let R=0;R<f.length&&c[y+R]===f[R];R++)if(R===f.length-1)return y;return-1}function EA(c,f,d=0){if(c.length>=f)return c;const y=new Uint8Array(f);return y.fill(d),y.set(c,f-c.length),y}function h8(c,f,d=0){const y=c.length%f;return y===0?c:EA(c,c.length+f-y,d)}function xA(c,f,d=0){if(c.length>=f)return c;const y=new Uint8Array(f);return y.fill(d),y.set(c,0),y}function d8(c,f,d=0){const y=c.length%f;return y===0?c:xA(c,c.length+f-y,d)}function p8(c,f){const d=new Uint8Array(c.length);for(let y=0;y<c.length;y++)d[y]=c[y]^f[y%f.length];return d}function g8(c,f){if(c.length!==f.length)return!1;for(let d=0;d<c.length;d++)if(c[d]!==f[d])return!1;return!0}function Dt(c,f){return(c%f+f)%f}function uf(c,f){c=Dt(c,f);let[d,y]=[0n,1n],[R,L]=[f,c];for(;L!==0n;){const Y=R/L;[d,y]=[y,d-Y*y],[R,L]=[L,R-Y*L]}if(R>1n)throw new Error("a is not invertible");return d<0n&&(d+=f),d}function y8(c,f,d){let y=1n;for(c=Dt(c,d);f>0;)f%2n===1n&&(y=Dt(y*c,d)),c=Dt(c*c,d),f=f/2n;return y}function RA(c,f){return Dt(c,f)===0n?0n:f%4n===3n?y8(c,(f+1n)/4n,f):null}const en=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,Br=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,Nd=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Cd=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;function $g(c,f,d){if(f===0n)return[0n,0n];const y=Dt(3n*c*c*uf(2n*f,d),d),R=Dt(y*y-2n*c,d),L=Dt(y*(c-R)-f,d);return[R,L]}function Bd(c,f,d,y,R){if(c===0n&&f===0n)return[d,y];if(d===0n&&y===0n)return[c,f];if(c===d&&f===Dt(-y,R))return[0n,0n];if(c===d&&f===y)return $g(c,f,R);const L=Dt((y-f)*uf(d-c,R),R),Y=Dt(L*L-c-d,R),de=Dt(L*(c-Y)-f,R);return[Y,de]}function m8(c){if(c<=0n||c>=Br)throw new Error("Invalid private key");return da(Nd,Cd,c,en)}function w8(c){const f=c[1]%2n===0n?2:3;return new Uint8Array([f,...Fc(c[0],"BE")])}function b8(c){if(c.length!==33||c[0]!==2&&c[0]!==3)throw new Error("Invalid compressed public key");const f=Hc(c.slice(1),"BE"),d=RA(Dt(f**3n+7n,en),en);if(!d)throw Error("Invalid x: does not correspond to a valid curve point");const y=Dt(-d,en),R=d%2n===0n;return[f,c[0]===2?R?d:y:R?y:d]}function _8(c){const f=new Uint8Array(20),d=ws($c(Fc(c[0],"BE"),Fc(c[1],"BE")));return f.set(d.subarray(12)),f}function A8(c){const f=r.Binary.uint8ArrayToHex(c),d=r.Binary.uint8ArrayToHex(r.Binary.keccak256(new Uint8Array([...f].map(R=>R.charCodeAt(0)))));let y="0x";for(let R=0;R<f.length;R++)parseInt(d[R],16)>7?y+=f[R].toUpperCase():y+=f[R];return y}function da(c,f,d,y){let R=[0n,0n],L=[c,f];const Y=d.toString(2);for(const de of Y)de==="0"?(L=Bd(R[0],R[1],L[0],L[1],y),R=$g(R[0],R[1],y)):(R=Bd(R[0],R[1],L[0],L[1],y),L=$g(L[0],L[1],y));return R}function v8(c,f,d){return IA(Hc(ws(c),"BE"),f,d)}function IA(c,f,d){if(f<=0n||f>=Br)throw new Error("Invalid private key");if(d||(d=Dt(Hc(ws($c(ws(Fc(f,"BE")),Fc(c,"BE"))),"BE"),Br)),d<=0n||d>=Br)throw new Error("Invalid nonce");const y=Dt(c,Br),R=da(Nd,Cd,d,en),L=Dt(R[0],Br);let Y=Dt((y+Dt(L,Br)*f)*uf(d,Br),Br);if(L===0n||Y===0n)throw new Error("Invalid r or s value");let de=R[1]%2n===0n?27n:28n;return Y>Br/2n&&(Y=Br-Y,de=de===27n?28n:27n),[L,Y,de]}function E8(c,f,d,y){const R=RA(Dt(f**3n+7n,en),en);if(!R)throw new Error("Invalid r: does not correspond to a valid curve point");const L=y===27n?0n:1n,Y=R%2n===L?R:en-R,de=Dt(Hc(ws(c),"BE"),Br),fe=da(f,Y,d,en),Le=da(Nd,Cd,de,en),Ct=Bd(fe[0],fe[1],Le[0],Dt(-Le[1],en),en);return da(Ct[0],Ct[1],uf(f,Br),en)}function x8(c,f,d,y){const R=Dt(Hc(ws(c),"BE"),Br),L=uf(y,Br),Y=Dt(R*L,Br),de=Dt(d*L,Br),fe=da(Nd,Cd,Y,en),Le=da(f[0],f[1],de,en),Ct=Bd(fe[0],fe[1],Le[0],Le[1],en);return d===Dt(Ct[0],Br)}class SA{constructor(f){this.cursor=0,this.buffer=f}read(f){const d=this.buffer.subarray(this.cursor,this.cursor+f);return this.cursor+=f,d}max(){return this.buffer.length-this.cursor}}r.Uint8ArrayReader=SA;class kA{constructor(f){this.buffer=f,this.cursor=0}write(f){const d=Math.min(this.max(),f.max());return this.buffer.set(f.read(d),this.cursor),this.cursor+=d,d}max(){return this.buffer.length-this.cursor}}r.Uint8ArrayWriter=kA;class Pd{constructor(f,d=0n){this.span=d,this.writer=new kA(new Uint8Array(f))}build(){return $c(Ug(this.span,"LE"),this.writer.buffer)}hash(){const f=pA(Dg(this.writer.buffer,32),(d,y)=>ws($c(d,y)));return ws($c(Ug(this.span,"LE"),f))}}r.Chunk=Pd;class Fg{constructor(f,d=4096){this.counters=[1],this.capacity=d,this.chunks=[new Pd(d)],this.onChunk=f}static async root(f,d=4096){const y=new e(e.NOOP,d);return await y.append(f),y.finalize()}async append(f,d=0,y=0n){const R=new SA(f);for(;R.max()>0;){this.chunks[d].writer.max()===0&&await this.elevate(d);const L=this.chunks[d].writer.write(R);y?this.chunks[d].span+=y:this.chunks[0].span+=BigInt(L)}}async elevate(f){this.counters[f]=++this.counters[f]%(this.capacity/32),this.chunks[f+1]||(this.chunks.push(new Pd(this.capacity)),this.counters.push(1)),await this.append(this.chunks[f].hash(),f+1,this.chunks[f].span),await this.onChunk(this.chunks[f]),this.chunks[f]=new Pd(this.capacity)}async finalize(f=0){return this.chunks[f+1]?this.counters[f]===1?(await this.elevate(f+1),this.chunks[f+1]=this.chunks[f],this.finalize(f+1)):(await this.elevate(f),this.finalize(f+1)):(await this.onChunk(this.chunks[f]),this.chunks[f])}}r.MerkleTree=Fg,e=Fg,Fg.NOOP=async c=>{};class Li{constructor(f,d){if(d<0)throw Error("Scale must be non-negative");this.value=BigInt(f),this.scale=d}static fromDecimalString(f,d){let[y,R]=f.split(".");return R=(R||"").padEnd(d,"0").slice(0,d),new Li(BigInt(y+R),d)}add(f){return this.assertSameScale(f),new Li(this.value+f.value,this.scale)}subtract(f){return this.assertSameScale(f),new Li(this.value-f.value,this.scale)}multiply(f){return new Li(this.value*f,this.scale)}divmod(f){if(f===0n)throw new Error("Division by zero is not allowed");const d=this.value/f,y=this.value%f;return[new Li(d,this.scale),new Li(y,this.scale)]}exchange(f,d,y){if(f==="*"){const L=this.value*d.value/10n**BigInt(this.scale);return new Li(L,y)}this.assertSameScale(d);const R=this.value*10n**BigInt(y)/d.value;return new Li(R,y)}compare(f){return this.assertSameScale(f),this.value>f.value?1:this.value<f.value?-1:0}toDecimalString(){if(this.scale===0)return this.value.toString();const f=this.value.toString(),d=f.slice(0,-this.scale)||"0",y=f.slice(-this.scale).padStart(this.scale,"0");return`${d}.${y}`}toString(){return this.value.toString()}toJSON(){return this.toString()}assertSameScale(f){if(this.scale!==f.scale)throw new Error(`Scale mismatch: expected ${this.scale}, but got ${f.scale}`)}}r.FixedPointNumber=Li;function R8(c){if(c.length===0)return null;const f=c[0];return f.ttlMax?--f.ttl<=0&&c.shift():f.ttlMax=f.ttl,{progress:(f.ttlMax-f.ttl)/f.ttlMax,data:f.data}}function Md(c,f,d,y){const R=c.findIndex(de=>de===`--${f}`||de.startsWith(`--${f}=`)),L=c[R];if(!L)return(d||{})[y||f||""]||null;if(L.includes("="))return L.split("=")[1];const Y=c[R+1];return Y&&!Y.startsWith("-")?Y:(d||{})[y||f||""]||null}function I8(c,f,d,y){const R=Md(c,f,d,y);if(!R)return null;try{return Pg(R)}catch{throw new Error(`Invalid number argument ${f}: ${R}`)}}function S8(c,f,d,y){const R=c.some(fe=>fe.endsWith("-"+f)),L=Md(c,f,d,y);if(!L&&R)return!0;if(!L&&!R)return null;const Y=["true","1","yes","y","on"],de=["false","0","no","n","off"];if(Y.includes(L.toLowerCase()))return!0;if(de.includes(L.toLowerCase()))return!1;throw Error(`Invalid boolean argument ${f}: ${L}`)}function TA(c,f,d,y){const R=Md(c,f,d,y);if(!R)throw new Error(`Missing argument ${f}`);return R}function k8(c,f,d,y){const R=TA(c,f,d,y);try{return Pg(R)}catch{throw new Error(`Invalid argument ${f}: ${R}`)}}function OA(c,f){const d=c[f];c.splice(f,1),c.unshift(d)}function T8(c,f){const d=[...c];return OA(d,f),d}function NA(c,f){return{x:c.x+f.x,y:c.y+f.y}}function O8(c,f){return{x:c.x-f.x,y:c.y-f.y}}function Hg(c,f){return{x:c.x*f,y:c.y*f}}function N8(c){const f=Math.sqrt(c.x*c.x+c.y*c.y);return{x:c.x/f,y:c.y/f}}function CA(c,f,d){return{x:c.x+Math.cos(f)*d,y:c.y+Math.sin(f)*d}}function BA(c,f){return Math.sqrt((c.x-f.x)**2+(c.y-f.y)**2)}function lf(c,f,d="row-first"){const y=[];if(d==="column-first")for(let R=0;R<c.length;R++)for(let L=0;L<c[0].length;L++)f(R,L)&&y.push({x:R,y:L});else for(let R=0;R<c[0].length;R++)for(let L=0;L<c.length;L++)f(L,R)&&y.push({x:L,y:R});return y}function C8(c,f,d){var y,R;return((y=c[f+1])==null?void 0:y[d])&&((R=c[f-1])==null?void 0:R[d])&&!c[f][d-1]&&!c[f][d+1]}function B8(c,f,d){var y,R;return c[f][d+1]&&c[f][d-1]&&!((y=c[f-1])!=null&&y[d])&&!((R=c[f+1])!=null&&R[d])}function PA(c,f,d){var y;return!((y=c[f-1])!=null&&y[d])}function MA(c,f,d){var y;return!((y=c[f+1])!=null&&y[d])}function LA(c,f,d){return!c[f][d-1]}function UA(c,f,d){return!c[f][d+1]}function P8(c,f,d){var R,L,Y,de,fe,Le,Ct,Pr;const y=[];return c[f][d]?C8(c,f,d)||B8(c,f,d)?[]:(!((R=c[f-1])!=null&&R[d-1])&&PA(c,f,d)&&LA(c,f,d)&&y.push({x:f,y:d}),!((L=c[f+1])!=null&&L[d-1])&&MA(c,f,d)&&LA(c,f,d)&&y.push({x:f+1,y:d}),!((Y=c[f-1])!=null&&Y[d+1])&&PA(c,f,d)&&UA(c,f,d)&&y.push({x:f,y:d+1}),!((de=c[f+1])!=null&&de[d+1])&&MA(c,f,d)&&UA(c,f,d)&&y.push({x:f+1,y:d+1}),y):((fe=c[f-1])!=null&&fe[d]&&c[f][d-1]&&y.push({x:f,y:d}),(Le=c[f+1])!=null&&Le[d]&&c[f][d-1]&&y.push({x:f+1,y:d}),(Ct=c[f-1])!=null&&Ct[d]&&c[f][d+1]&&y.push({x:f,y:d+1}),(Pr=c[f+1])!=null&&Pr[d]&&c[f][d+1]&&y.push({x:f+1,y:d+1}),y)}function M8(c,f,d,y){const R=[{x:0,y:0},{x:d,y:0},{x:0,y},{x:d,y}];for(let L=0;L<c.length;L++)for(let Y=0;Y<c[0].length;Y++){const de=P8(c,L,Y);for(const fe of de)R.some(Le=>Le.x===fe.x&&Le.y===fe.y)||R.push(fe)}return R.map(L=>({x:L.x*f,y:L.y*f}))}function L8(c,f){const d=lf(c,(fe,Le)=>c[fe][Le]===0&&c[fe][Le+1]!==0,"row-first").map(fe=>({...fe,dx:1,dy:0})),y=lf(c,(fe,Le)=>c[fe][Le]===0&&c[fe][Le-1]!==0,"row-first").map(fe=>({...fe,dx:1,dy:0})),R=lf(c,(fe,Le)=>{var Ct;return c[fe][Le]===0&&((Ct=c[fe-1])==null?void 0:Ct[Le])!==0},"column-first").map(fe=>({...fe,dx:0,dy:1})),L=lf(c,(fe,Le)=>{var Ct;return c[fe][Le]===0&&((Ct=c[fe+1])==null?void 0:Ct[Le])!==0},"column-first").map(fe=>({...fe,dx:0,dy:1}));d.forEach(fe=>fe.y++),L.forEach(fe=>fe.x++);const Y=Lg([...R,...L],(fe,Le)=>fe.x===Le.x&&fe.y-1===Le.y),de=Lg([...y,...d],(fe,Le)=>fe.y===Le.y&&fe.x-1===Le.x);return[...Y,...de].map(fe=>({start:fe[0],end:B(fe)})).map(fe=>({start:Hg(fe.start,f),end:Hg(NA(fe.end,{x:fe.start.dx,y:fe.start.dy}),f)}))}function U8(c,f){return Math.atan2(f.y-c.y,f.x-c.x)}function D8(c,f){return f.map(d=>U8(c,d)).sort((d,y)=>d-y)}function DA(c,f,d,y){const R=(y.y-d.y)*(f.x-c.x)-(y.x-d.x)*(f.y-c.y);if(R===0)return null;let L=c.y-d.y,Y=c.x-d.x;const de=(y.x-d.x)*L-(y.y-d.y)*Y,fe=(f.x-c.x)*L-(f.y-c.y)*Y;return L=de/R,Y=fe/R,L>0&&L<1&&Y>0&&Y<1?{x:c.x+L*(f.x-c.x),y:c.y+L*(f.y-c.y)}:null}function zg(c,f,d){const y=[],R=CA(c,d,1e4);for(const L of f){const Y=DA(c,R,L.start,L.end);Y&&y.push(Y)}return y.length?y.reduce((L,Y)=>{const de=BA(c,Y),fe=BA(c,L);return de<fe?Y:L}):null}function $8(c,f,d){const y=D8(c,d),R=[];for(const L of y){const Y=zg(c,f,L-.001),de=zg(c,f,L+.001);Y&&R.push(Y),de&&R.push(de)}return R}class Gg{constructor(){this.subscribers=[]}subscribe(f){return this.subscribers.push(f),()=>{this.subscribers=this.subscribers.filter(d=>d!==f)}}publish(f){this.subscribers.forEach(d=>d(f))}clear(){this.subscribers=[]}getSubscriberCount(){return this.subscribers.length}}r.PubSubChannel=Gg;class F8{constructor(f,d){this.queue=[],this.running=0,this.onProcessed=new Gg,this.onDrained=new Gg,this.concurrency=f,this.capacity=d}process(){if(this.running>=this.concurrency)return;const f=this.queue.shift();f&&(this.running++,f().finally(()=>{this.running--,this.process(),this.onProcessed.publish(),this.running===0&&this.onDrained.publish()}))}enqueue(f){if(this.queue.length<this.capacity)return this.queue.push(f),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(f),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(f=>{this.onDrained.subscribe(()=>{this.onDrained.clear(),f()})})}}r.AsyncQueue=F8,r.Binary={hexToUint8Array:W6,uint8ArrayToHex:j6,base64ToUint8Array:H6,uint8ArrayToBase64:z6,base32ToUint8Array:G6,uint8ArrayToBase32:K6,log2Reduce:pA,partition:Dg,concatBytes:$c,numberToUint8:JB,uint8ToNumber:YB,numberToUint16:XB,uint16ToNumber:e8,numberToUint32:t8,uint32ToNumber:r8,numberToUint64:Ug,uint64ToNumber:n8,numberToUint256:Fc,uint256ToNumber:Hc,sliceBytes:i8,keccak256:ws,sha3_256:o8,proximity:a8,commonPrefix:c8,setBit:u8,getBit:l8,indexOf:f8,equals:g8,padStart:EA,padStartToMultiple:h8,padEnd:xA,padEndToMultiple:d8,xorCypher:p8},r.Elliptic={privateKeyToPublicKey:m8,compressPublicKey:w8,publicKeyFromCompressed:b8,publicKeyToAddress:_8,signMessage:v8,signHash:IA,verifySignature:x8,recoverPublicKey:E8,checksumEncode:A8},r.Random={intBetween:H,floatBetween:D,chance:j,signed:z,makeSeededRng:C,point:Z,procs:K},r.Arrays={countUnique:NB,makeUnique:OB,splitBySize:kB,splitByCount:lA,index:uA,indexCollection:SB,onlyOrThrow:a,onlyOrNull:u,firstOrThrow:h,firstOrNull:l,shuffle:o,initialize:g,initialize2D:w,rotate2D:b,containsShape:I,glue:QC,pluck:x,pick:oe,pickMany:ce,pickManyUnique:ne,pickWeighted:E,pickRandomIndices:S,pickGuaranteed:ue,last:B,pipe:p,makePipe:m,sortWeighted:k,pushAll:ao,unshiftAll:qC,filterAndRemove:g3,merge:lB,empty:fB,pushToBucket:nf,unshiftAndLimit:sf,atRolling:of,group:Lg,createOscillator:J3,organiseWithLimits:X3,tickPlaybook:R8,getArgument:Md,getBooleanArgument:S8,getNumberArgument:I8,requireStringArgument:TA,requireNumberArgument:k8,bringToFront:T8,bringToFrontInPlace:OA,findInstance:KB,filterInstances:WB,interleave:jB,toggle:VB,createHierarchy:ZB,multicall:zB,maxBy:GB},r.System={sleepMillis:s,forever:ee,scheduleMany:n6,waitFor:p3,expandError:Xl,runAndSetInterval:re},r.Numbers={make:Pg,sum:s6,average:o6,median:a6,getDistanceFromMidpoint:c6,clamp:Mg,range:C_,interpolate:i6,createSequence:Q3,increment:oB,decrement:aB,format:sB,fromDecimals:iB,makeStorage:F3,asMegabytes:he,convertBytes:ye,hexToRgb:be,rgbToHex:We,haversineDistanceToMeters:$e,roundToNearest:Oe,formatDistance:Xe,triangularNumber:qe,searchFloat:et},r.Promises={raceFulfilled:n,invert:t,runInParallelBatches:i},r.Dates={getTimestamp:x3,getTimeDelta:eA,secondsToHumanTime:R3,countCycles:I3,isoDate:w3,throttle:S3,timeSince:T3,dateTimeSlug:b3,unixTimestamp:m3,fromUtcString:_3,fromMillis:A3,getProgress:O3,humanizeTime:Td,humanizeProgress:d3,createTimeDigits:Mi,mapDayNumber:tA,getDayInfoFromDate:Cg,getDayInfoFromDateTimeString:C3,seconds:B3,minutes:P3,hours:M3,days:L3,make:D3,normalizeTime:v3,absoluteDays:fa},r.Objects={safeParse:Z3,deleteDeep:A,getDeep:O,setDeep:M,incrementDeep:G,ensureDeep:P,replaceDeep:U,getFirstDeep:le,deepMergeInPlace:pi,deepMerge2:ef,deepMerge3:tf,mapAllAsync:ZC,cloneWithJson:y3,sortObject:nA,sortArray:iA,sortAny:ha,deepEquals:sA,deepEqualsEvery:q3,runOn:cB,ifPresent:uB,zip:Uc,zipSum:rf,removeEmptyArrays:hB,removeEmptyValues:dB,flatten:RB,unflatten:cA,match:IB,sort:hA,map:yB,mapIterable:mB,filterKeys:pB,filterValues:gB,rethrow:wB,setSomeOnObject:bB,setSomeDeep:_B,flip:AB,getAllPermutations:vB,countTruthyValues:EB,transformToArray:CB,setMulti:PB,incrementMulti:BB,createBidirectionalMap:MB,createTemporalBidirectionalMap:LB,pushToBidirectionalMap:dA,unshiftToBidirectionalMap:UB,addToTemporalBidirectionalMap:DB,getFromTemporalBidirectionalMap:$B,createStatefulToggle:Y3,diffKeys:eB,pickRandomKey:oA,mapRandomKey:tB,fromObjectString:rB,toQueryString:Y_,parseQueryString:s3,hasKey:o3,selectMax:a3,reposition:c3,unwrapSingleKey:u3,parseKeyValues:l3},r.Types={isFunction:St,isObject:Yt,isStrictlyObject:lt,isEmptyArray:Mt,isEmptyObject:oo,isUndefined:Et,isString:Ar,isNumber:ft,isBoolean:xt,isDate:Xt,isBlank:bt,isId:kt,isIntegerString:Xr,isHexString:Lt,isUrl:Mc,isNullable:Zl,asString:er,asHexString:lr,asSafeString:Ed,asIntegerString:vd,asNumber:ua,asFunction:fr,asInteger:Vt,asBoolean:hr,asDate:xd,asNullableString:dr,asEmptiableString:pr,asId:Rd,asTime:gr,asArray:yr,asObject:la,asNullableObject:mr,asStringMap:wr,asNumericDictionary:Vl,asUrl:ql,asNullable:Ql,asOptional:Jl,enforceObjectShape:Lc,enforceArrayShape:Yl,isPng:gA,isJpg:yA,isWebp:mA,isImage:QB},r.Strings={tokenizeByCount:TB,tokenizeByLength:fA,searchHex:Ad,searchSubstring:cr,randomHex:ur,randomLetter:je,randomAlphanumeric:Ut,randomRichAscii:He,randomUnicode:ar,includesAny:u6,slugify:Eg,normalForm:f6,enumify:m6,escapeHtml:b6,decodeHtmlEntities:A6,after:xg,afterLast:P_,before:B_,beforeLast:Rg,betweenWide:v6,betweenNarrow:E6,getPreLine:H3,containsWord:Og,containsWords:t3,joinUrl:rA,getFuzzyMatchScore:Id,sortByFuzzyScore:w6,splitOnce:Ig,splitAll:M_,randomize:S6,expand:L_,shrinkTrim:af,capitalize:Sd,decapitalize:U_,csvEscape:B6,parseCsv:h3,surroundInOut:y6,getExtension:Sg,getBasename:kg,normalizeEmail:x6,normalizeFilename:R6,parseFilename:I6,camelToTitle:h6,slugToTitle:d6,slugToCamel:p6,joinHumanly:g6,findWeightedPair:G_,extractBlock:K_,extractAllBlocks:L6,replaceBlocks:U6,indexOfEarliest:Dc,lastIndexOfBefore:z_,parseHtmlAttributes:r3,readNextWord:kd,resolveVariables:n3,resolveVariableWithDefaultSyntax:Q_,resolveRemainingVariablesWithDefaults:J_,isLetter:D_,isDigit:$_,isLetterOrDigit:cf,isValidObjectPathCharacter:O6,insert:N6,indexOfRegex:F_,lineMatches:H_,linesMatchInOrder:C6,represent:ms,resolveMarkdownLinks:i3,buildUrl:f3,isChinese:l6,replaceBetweenStrings:K3,describeMarkdown:W3,isBalanced:j3,textToFormat:V3,splitFormatting:D6,splitHashtags:$6,splitUrls:F6,route:V6,explodeReplace:Tg,generateVariants:q6,replaceWord:Z6,replacePascalCaseWords:Q6,stripHtml:J6,breakLine:Z_,measureTextWidth:Y6,toLines:X6,levenshteinDistance:e3},r.Assertions={asEqual:JC,asTrue:YC,asTruthy:XC,asFalse:e6,asFalsy:t6,asEither:r6},r.Cache={get:z3,invalidate:G3},r.Vector={addPoint:NA,subtractPoint:O8,multiplyPoint:Hg,normalizePoint:N8,pushPoint:CA,filterCoordinates:lf,findCorners:M8,findLines:L8,raycast:zg,raycastCircle:$8,getLineIntersectionPoint:DA}})(OR);const jt=no(OR);jt.Arrays;jt.Assertions;const un=jt.Binary;jt.Cache;jt.Dates;jt.Elliptic;jt.Numbers;jt.Objects;jt.Pagination;jt.Promises;jt.Random;jt.Strings;jt.System;jt.Types;jt.Optional;jt.Vector;jt.PubSubChannel;jt.Chunk;const hD=jt.MerkleTree;jt.FixedPointNumber;jt.Lazy;jt.AsyncLazy;jt.AsyncQueue;jt.Uint8ArrayReader;jt.Uint8ArrayWriter;var yt;(function(r){r.assertEqual=i=>i;function e(i){}r.assertIs=e;function t(i){throw new Error}r.assertNever=t,r.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},r.getValidEnumValues=i=>{const s=r.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return r.objectValues(o)},r.objectValues=i=>r.objectKeys(i).map(function(s){return i[s]}),r.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},r.find=(i,s)=>{for(const o of i)if(s(o))return o},r.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function n(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(yt||(yt={}));var x1;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(x1||(x1={}));const ke=yt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Is=r=>{switch(typeof r){case"undefined":return ke.undefined;case"string":return ke.string;case"number":return isNaN(r)?ke.nan:ke.number;case"boolean":return ke.boolean;case"function":return ke.function;case"bigint":return ke.bigint;case"symbol":return ke.symbol;case"object":return Array.isArray(r)?ke.array:r===null?ke.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?ke.promise:typeof Map<"u"&&r instanceof Map?ke.map:typeof Set<"u"&&r instanceof Set?ke.set:typeof Date<"u"&&r instanceof Date?ke.date:ke.object;default:return ke.unknown}},we=yt.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"]),dD=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class qn extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(s){return s.message},n={_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)n._errors.push(t(o));else{let a=n,u=0;for(;u<o.path.length;){const l=o.path[u];u===o.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(t(o))):a[l]=a[l]||{_errors:[]},a=a[l],u++}}};return i(this),n}static assert(e){if(!(e instanceof qn))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,yt.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},n=[];for(const i of this.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}qn.create=r=>new qn(r);const al=(r,e)=>{let t;switch(r.code){case we.invalid_type:r.received===ke.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case we.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,yt.jsonStringifyReplacer)}`;break;case we.unrecognized_keys:t=`Unrecognized key(s) in object: ${yt.joinValues(r.keys,", ")}`;break;case we.invalid_union:t="Invalid input";break;case we.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${yt.joinValues(r.options)}`;break;case we.invalid_enum_value:t=`Invalid enum value. Expected ${yt.joinValues(r.options)}, received '${r.received}'`;break;case we.invalid_arguments:t="Invalid function arguments";break;case we.invalid_return_type:t="Invalid function return type";break;case we.invalid_date:t="Invalid date";break;case we.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:yt.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case we.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case we.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case we.custom:t="Invalid input";break;case we.invalid_intersection_types:t="Intersection results could not be merged";break;case we.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case we.not_finite:t="Number must be finite";break;default:t=e.defaultError,yt.assertNever(r)}return{message:t}};let NR=al;function pD(r){NR=r}function x0(){return NR}const R0=r=>{const{data:e,path:t,errorMaps:n,issueData:i}=r,s=[...t,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="";const u=n.filter(l=>!!l).slice().reverse();for(const l of u)a=l(o,{data:e,defaultError:a}).message;return{...i,path:s,message:a}},gD=[];function xe(r,e){const t=x0(),n=R0({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===al?void 0:al].filter(i=>!!i)});r.common.issues.push(n)}class fn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const i of t){if(i.status==="aborted")return Ke;i.status==="dirty"&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const i of t){const s=await i.key,o=await i.value;n.push({key:s,value:o})}return fn.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const i of t){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return Ke;s.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[s.value]=o.value)}return{status:e.value,value:n}}}const Ke=Object.freeze({status:"aborted"}),ru=r=>({status:"dirty",value:r}),An=r=>({status:"valid",value:r}),R1=r=>r.status==="aborted",I1=r=>r.status==="dirty",uc=r=>r.status==="valid",qf=r=>typeof Promise<"u"&&r instanceof Promise;function I0(r,e,t,n){if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(r)}function CR(r,e,t,n,i){if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(r,t),t}var Ue;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(Ue||(Ue={}));var Of,Nf;class ls{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,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 pv=(r,e)=>{if(uc(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new qn(r.common.issues);return this._error=t,this._error}}};function Ye(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:i}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,a)=>{var u,l;const{message:h}=r;return o.code==="invalid_enum_value"?{message:h??a.defaultError}:typeof a.data>"u"?{message:(u=h??n)!==null&&u!==void 0?u:a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:(l=h??t)!==null&&l!==void 0?l:a.defaultError}},description:i}}class ot{get description(){return this._def.description}_getType(e){return Is(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Is(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new fn,ctx:{common:e.parent.common,data:e.data,parsedType:Is(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(qf(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const i={common:{issues:[],async:(n=t==null?void 0:t.async)!==null&&n!==void 0?n:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Is(e)},s=this._parseSync({data:e,path:i.path,parent:i});return pv(i,s)}"~validate"(e){var t,n;const i={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Is(e)};if(!this["~standard"].async)try{const s=this._parseSync({data:e,path:[],parent:i});return uc(s)?{value:s.value}:{issues:i.common.issues}}catch(s){!((n=(t=s==null?void 0:s.message)===null||t===void 0?void 0:t.toLowerCase())===null||n===void 0)&&n.includes("encountered")&&(this["~standard"].async=!0),i.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:i}).then(s=>uc(s)?{value:s.value}:{issues:i.common.issues})}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Is(e)},i=this._parse({data:e,path:n.path,parent:n}),s=await(qf(i)?i:Promise.resolve(i));return pv(n,s)}refine(e,t){const n=i=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(i):t;return this._refinement((i,s)=>{const o=e(i),a=()=>s.addIssue({code:we.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(u=>u?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,i)=>e(n)?!0:(i.addIssue(typeof t=="function"?t(n,i):t),!1))}_refinement(e){return new ki({schema:this,typeName:Ge.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:t=>this["~validate"](t)}}optional(){return ss.create(this,this._def)}nullable(){return ra.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ii.create(this)}promise(){return ul.create(this,this._def)}or(e){return Yf.create([this,e],this._def)}and(e){return Xf.create(this,e,this._def)}transform(e){return new ki({...Ye(this._def),schema:this,typeName:Ge.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new ih({...Ye(this._def),innerType:this,defaultValue:t,typeName:Ge.ZodDefault})}brand(){return new jw({typeName:Ge.ZodBranded,type:this,...Ye(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new sh({...Ye(this._def),innerType:this,catchValue:t,typeName:Ge.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return qh.create(this,e)}readonly(){return oh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const yD=/^c[^\s-]{8,}$/i,mD=/^[0-9a-z]+$/,wD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bD=/^[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,_D=/^[a-z0-9_-]{21}$/i,AD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,vD=/^[-+]?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)?)??$/,ED=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,xD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Wy;const RD=/^(?:(?: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])$/,ID=/^(?:(?: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])$/,SD=/^(([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]))$/,kD=/^(([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])$/,TD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,OD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,BR="((\\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])))",ND=new RegExp(`^${BR}$`);function PR(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function CD(r){return new RegExp(`^${PR(r)}$`)}function MR(r){let e=`${BR}T${PR(r)}`;const t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function BD(r,e){return!!((e==="v4"||!e)&&RD.test(r)||(e==="v6"||!e)&&SD.test(r))}function PD(r,e){if(!AD.test(r))return!1;try{const[t]=r.split("."),n=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||!i.typ||!i.alg||e&&i.alg!==e)}catch{return!1}}function MD(r,e){return!!((e==="v4"||!e)&&ID.test(r)||(e==="v6"||!e)&&kD.test(r))}class xi extends ot{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ke.string){const s=this._getOrReturnCtx(e);return xe(s,{code:we.invalid_type,expected:ke.string,received:s.parsedType}),Ke}const n=new fn;let i;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(i=this._getOrReturnCtx(e,i),xe(i,{code:we.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(i=this._getOrReturnCtx(e,i),xe(i,{code:we.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){const o=e.data.length>s.value,a=e.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(e,i),o?xe(i,{code:we.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&xe(i,{code:we.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")ED.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"email",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Wy||(Wy=new RegExp(xD,"u")),Wy.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"emoji",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")bD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"uuid",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")_D.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"nanoid",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")yD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"cuid",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")mD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"cuid2",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")wD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"ulid",code:we.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{i=this._getOrReturnCtx(e,i),xe(i,{validation:"url",code:we.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"regex",code:we.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(e,i),xe(i,{code:we.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(i=this._getOrReturnCtx(e,i),xe(i,{code:we.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(i=this._getOrReturnCtx(e,i),xe(i,{code:we.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?MR(s).test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{code:we.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?ND.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{code:we.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?CD(s).test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{code:we.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?vD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"duration",code:we.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?BD(e.data,s.version)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"ip",code:we.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?PD(e.data,s.alg)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"jwt",code:we.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?MD(e.data,s.version)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"cidr",code:we.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?TD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"base64",code:we.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?OD.test(e.data)||(i=this._getOrReturnCtx(e,i),xe(i,{validation:"base64url",code:we.invalid_string,message:s.message}),n.dirty()):yt.assertNever(s);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(i=>e.test(i),{validation:t,code:we.invalid_string,...Ue.errToObj(n)})}_addCheck(e){return new xi({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ue.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ue.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ue.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ue.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ue.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ue.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ue.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ue.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ue.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...Ue.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...Ue.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ue.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...Ue.errToObj(e)})}datetime(e){var t,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(n=e==null?void 0:e.local)!==null&&n!==void 0?n:!1,...Ue.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...Ue.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ue.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ue.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...Ue.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ue.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ue.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ue.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ue.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ue.errToObj(t)})}nonempty(e){return this.min(1,Ue.errToObj(e))}trim(){return new xi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new xi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new xi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}xi.create=r=>{var e;return new xi({checks:[],typeName:Ge.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...Ye(r)})};function LD(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,i=t>n?t:n,s=parseInt(r.toFixed(i).replace(".","")),o=parseInt(e.toFixed(i).replace(".",""));return s%o/Math.pow(10,i)}class Xo extends ot{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==ke.number){const s=this._getOrReturnCtx(e);return xe(s,{code:we.invalid_type,expected:ke.number,received:s.parsedType}),Ke}let n;const i=new fn;for(const s of this._def.checks)s.kind==="int"?yt.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),xe(n,{code:we.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),xe(n,{code:we.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),xe(n,{code:we.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?LD(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),xe(n,{code:we.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),xe(n,{code:we.not_finite,message:s.message}),i.dirty()):yt.assertNever(s);return{status:i.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ue.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ue.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ue.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ue.toString(t))}setLimit(e,t,n,i){return new Xo({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ue.toString(i)}]})}_addCheck(e){return new Xo({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ue.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ue.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ue.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ue.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ue.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ue.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&yt.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Xo.create=r=>new Xo({checks:[],typeName:Ge.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...Ye(r)});class ea extends ot{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==ke.bigint)return this._getInvalidInput(e);let n;const i=new fn;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),xe(n,{code:we.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),xe(n,{code:we.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),xe(n,{code:we.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):yt.assertNever(s);return{status:i.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return xe(t,{code:we.invalid_type,expected:ke.bigint,received:t.parsedType}),Ke}gte(e,t){return this.setLimit("min",e,!0,Ue.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ue.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ue.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ue.toString(t))}setLimit(e,t,n,i){return new ea({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ue.toString(i)}]})}_addCheck(e){return new ea({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ue.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ue.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ue.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ue.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ue.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}ea.create=r=>{var e;return new ea({checks:[],typeName:Ge.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...Ye(r)})};class Zf extends ot{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ke.boolean){const n=this._getOrReturnCtx(e);return xe(n,{code:we.invalid_type,expected:ke.boolean,received:n.parsedType}),Ke}return An(e.data)}}Zf.create=r=>new Zf({typeName:Ge.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...Ye(r)});class lc extends ot{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ke.date){const s=this._getOrReturnCtx(e);return xe(s,{code:we.invalid_type,expected:ke.date,received:s.parsedType}),Ke}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return xe(s,{code:we.invalid_date}),Ke}const n=new fn;let i;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(i=this._getOrReturnCtx(e,i),xe(i,{code:we.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(i=this._getOrReturnCtx(e,i),xe(i,{code:we.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):yt.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new lc({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ue.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ue.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}lc.create=r=>new lc({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:Ge.ZodDate,...Ye(r)});class S0 extends ot{_parse(e){if(this._getType(e)!==ke.symbol){const n=this._getOrReturnCtx(e);return xe(n,{code:we.invalid_type,expected:ke.symbol,received:n.parsedType}),Ke}return An(e.data)}}S0.create=r=>new S0({typeName:Ge.ZodSymbol,...Ye(r)});class Qf extends ot{_parse(e){if(this._getType(e)!==ke.undefined){const n=this._getOrReturnCtx(e);return xe(n,{code:we.invalid_type,expected:ke.undefined,received:n.parsedType}),Ke}return An(e.data)}}Qf.create=r=>new Qf({typeName:Ge.ZodUndefined,...Ye(r)});class Jf extends ot{_parse(e){if(this._getType(e)!==ke.null){const n=this._getOrReturnCtx(e);return xe(n,{code:we.invalid_type,expected:ke.null,received:n.parsedType}),Ke}return An(e.data)}}Jf.create=r=>new Jf({typeName:Ge.ZodNull,...Ye(r)});class cl extends ot{constructor(){super(...arguments),this._any=!0}_parse(e){return An(e.data)}}cl.create=r=>new cl({typeName:Ge.ZodAny,...Ye(r)});class nc extends ot{constructor(){super(...arguments),this._unknown=!0}_parse(e){return An(e.data)}}nc.create=r=>new nc({typeName:Ge.ZodUnknown,...Ye(r)});class Xs extends ot{_parse(e){const t=this._getOrReturnCtx(e);return xe(t,{code:we.invalid_type,expected:ke.never,received:t.parsedType}),Ke}}Xs.create=r=>new Xs({typeName:Ge.ZodNever,...Ye(r)});class k0 extends ot{_parse(e){if(this._getType(e)!==ke.undefined){const n=this._getOrReturnCtx(e);return xe(n,{code:we.invalid_type,expected:ke.void,received:n.parsedType}),Ke}return An(e.data)}}k0.create=r=>new k0({typeName:Ge.ZodVoid,...Ye(r)});class Ii extends ot{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==ke.array)return xe(t,{code:we.invalid_type,expected:ke.array,received:t.parsedType}),Ke;if(i.exactLength!==null){const o=t.data.length>i.exactLength.value,a=t.data.length<i.exactLength.value;(o||a)&&(xe(t,{code:o?we.too_big:we.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}),n.dirty())}if(i.minLength!==null&&t.data.length<i.minLength.value&&(xe(t,{code:we.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),n.dirty()),i.maxLength!==null&&t.data.length>i.maxLength.value&&(xe(t,{code:we.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((o,a)=>i.type._parseAsync(new ls(t,o,t.path,a)))).then(o=>fn.mergeArray(n,o));const s=[...t.data].map((o,a)=>i.type._parseSync(new ls(t,o,t.path,a)));return fn.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new Ii({...this._def,minLength:{value:e,message:Ue.toString(t)}})}max(e,t){return new Ii({...this._def,maxLength:{value:e,message:Ue.toString(t)}})}length(e,t){return new Ii({...this._def,exactLength:{value:e,message:Ue.toString(t)}})}nonempty(e){return this.min(1,e)}}Ii.create=(r,e)=>new Ii({type:r,minLength:null,maxLength:null,exactLength:null,typeName:Ge.ZodArray,...Ye(e)});function Qc(r){if(r instanceof rr){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=ss.create(Qc(n))}return new rr({...r._def,shape:()=>e})}else return r instanceof Ii?new Ii({...r._def,type:Qc(r.element)}):r instanceof ss?ss.create(Qc(r.unwrap())):r instanceof ra?ra.create(Qc(r.unwrap())):r instanceof fs?fs.create(r.items.map(e=>Qc(e))):r}class rr extends ot{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=yt.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==ke.object){const l=this._getOrReturnCtx(e);return xe(l,{code:we.invalid_type,expected:ke.object,received:l.parsedType}),Ke}const{status:n,ctx:i}=this._processInputParams(e),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Xs&&this._def.unknownKeys==="strip"))for(const l in i.data)o.includes(l)||a.push(l);const u=[];for(const l of o){const h=s[l],g=i.data[l];u.push({key:{status:"valid",value:l},value:h._parse(new ls(i,g,i.path,l)),alwaysSet:l in i.data})}if(this._def.catchall instanceof Xs){const l=this._def.unknownKeys;if(l==="passthrough")for(const h of a)u.push({key:{status:"valid",value:h},value:{status:"valid",value:i.data[h]}});else if(l==="strict")a.length>0&&(xe(i,{code:we.unrecognized_keys,keys:a}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const h of a){const g=i.data[h];u.push({key:{status:"valid",value:h},value:l._parse(new ls(i,g,i.path,h)),alwaysSet:h in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const l=[];for(const h of u){const g=await h.key,b=await h.value;l.push({key:g,value:b,alwaysSet:h.alwaysSet})}return l}).then(l=>fn.mergeObjectSync(n,l)):fn.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(e){return Ue.errToObj,new rr({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var i,s,o,a;const u=(o=(s=(i=this._def).errorMap)===null||s===void 0?void 0:s.call(i,t,n).message)!==null&&o!==void 0?o:n.defaultError;return t.code==="unrecognized_keys"?{message:(a=Ue.errToObj(e).message)!==null&&a!==void 0?a:u}:{message:u}}}:{}})}strip(){return new rr({...this._def,unknownKeys:"strip"})}passthrough(){return new rr({...this._def,unknownKeys:"passthrough"})}extend(e){return new rr({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new rr({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ge.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new rr({...this._def,catchall:e})}pick(e){const t={};return yt.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new rr({...this._def,shape:()=>t})}omit(e){const t={};return yt.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new rr({...this._def,shape:()=>t})}deepPartial(){return Qc(this)}partial(e){const t={};return yt.objectKeys(this.shape).forEach(n=>{const i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()}),new rr({...this._def,shape:()=>t})}required(e){const t={};return yt.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof ss;)s=s._def.innerType;t[n]=s}}),new rr({...this._def,shape:()=>t})}keyof(){return LR(yt.objectKeys(this.shape))}}rr.create=(r,e)=>new rr({shape:()=>r,unknownKeys:"strip",catchall:Xs.create(),typeName:Ge.ZodObject,...Ye(e)});rr.strictCreate=(r,e)=>new rr({shape:()=>r,unknownKeys:"strict",catchall:Xs.create(),typeName:Ge.ZodObject,...Ye(e)});rr.lazycreate=(r,e)=>new rr({shape:r,unknownKeys:"strip",catchall:Xs.create(),typeName:Ge.ZodObject,...Ye(e)});class Yf extends ot{_parse(e){const{ctx:t}=this._processInputParams(e),n=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 t.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new qn(a.ctx.common.issues));return xe(t,{code:we.invalid_union,unionErrors:o}),Ke}if(t.common.async)return Promise.all(n.map(async s=>{const o={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const u of n){const l={...t,common:{...t.common,issues:[]},parent:null},h=u._parseSync({data:t.data,path:t.path,parent:l});if(h.status==="valid")return h;h.status==="dirty"&&!s&&(s={result:h,ctx:l}),l.common.issues.length&&o.push(l.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(u=>new qn(u));return xe(t,{code:we.invalid_union,unionErrors:a}),Ke}}get options(){return this._def.options}}Yf.create=(r,e)=>new Yf({options:r,typeName:Ge.ZodUnion,...Ye(e)});const As=r=>r instanceof th?As(r.schema):r instanceof ki?As(r.innerType()):r instanceof rh?[r.value]:r instanceof ta?r.options:r instanceof nh?yt.objectValues(r.enum):r instanceof ih?As(r._def.innerType):r instanceof Qf?[void 0]:r instanceof Jf?[null]:r instanceof ss?[void 0,...As(r.unwrap())]:r instanceof ra?[null,...As(r.unwrap())]:r instanceof jw||r instanceof oh?As(r.unwrap()):r instanceof sh?As(r._def.innerType):[];class Tp extends ot{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ke.object)return xe(t,{code:we.invalid_type,expected:ke.object,received:t.parsedType}),Ke;const n=this.discriminator,i=t.data[n],s=this.optionsMap.get(i);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(xe(t,{code:we.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Ke)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const i=new Map;for(const s of t){const o=As(s.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of o){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,s)}}return new Tp({typeName:Ge.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...Ye(n)})}}function S1(r,e){const t=Is(r),n=Is(e);if(r===e)return{valid:!0,data:r};if(t===ke.object&&n===ke.object){const i=yt.objectKeys(e),s=yt.objectKeys(r).filter(a=>i.indexOf(a)!==-1),o={...r,...e};for(const a of s){const u=S1(r[a],e[a]);if(!u.valid)return{valid:!1};o[a]=u.data}return{valid:!0,data:o}}else if(t===ke.array&&n===ke.array){if(r.length!==e.length)return{valid:!1};const i=[];for(let s=0;s<r.length;s++){const o=r[s],a=e[s],u=S1(o,a);if(!u.valid)return{valid:!1};i.push(u.data)}return{valid:!0,data:i}}else return t===ke.date&&n===ke.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class Xf extends ot{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),i=(s,o)=>{if(R1(s)||R1(o))return Ke;const a=S1(s.value,o.value);return a.valid?((I1(s)||I1(o))&&t.dirty(),{status:t.value,value:a.data}):(xe(n,{code:we.invalid_intersection_types}),Ke)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}Xf.create=(r,e,t)=>new Xf({left:r,right:e,typeName:Ge.ZodIntersection,...Ye(t)});class fs extends ot{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ke.array)return xe(n,{code:we.invalid_type,expected:ke.array,received:n.parsedType}),Ke;if(n.data.length<this._def.items.length)return xe(n,{code:we.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Ke;!this._def.rest&&n.data.length>this._def.items.length&&(xe(n,{code:we.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...n.data].map((o,a)=>{const u=this._def.items[a]||this._def.rest;return u?u._parse(new ls(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(s).then(o=>fn.mergeArray(t,o)):fn.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new fs({...this._def,rest:e})}}fs.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new fs({items:r,typeName:Ge.ZodTuple,rest:null,...Ye(e)})};class eh extends ot{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ke.object)return xe(n,{code:we.invalid_type,expected:ke.object,received:n.parsedType}),Ke;const i=[],s=this._def.keyType,o=this._def.valueType;for(const a in n.data)i.push({key:s._parse(new ls(n,a,n.path,a)),value:o._parse(new ls(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?fn.mergeObjectAsync(t,i):fn.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof ot?new eh({keyType:e,valueType:t,typeName:Ge.ZodRecord,...Ye(n)}):new eh({keyType:xi.create(),valueType:e,typeName:Ge.ZodRecord,...Ye(t)})}}class T0 extends ot{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ke.map)return xe(n,{code:we.invalid_type,expected:ke.map,received:n.parsedType}),Ke;const i=this._def.keyType,s=this._def.valueType,o=[...n.data.entries()].map(([a,u],l)=>({key:i._parse(new ls(n,a,n.path,[l,"key"])),value:s._parse(new ls(n,u,n.path,[l,"value"]))}));if(n.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const u of o){const l=await u.key,h=await u.value;if(l.status==="aborted"||h.status==="aborted")return Ke;(l.status==="dirty"||h.status==="dirty")&&t.dirty(),a.set(l.value,h.value)}return{status:t.value,value:a}})}else{const a=new Map;for(const u of o){const l=u.key,h=u.value;if(l.status==="aborted"||h.status==="aborted")return Ke;(l.status==="dirty"||h.status==="dirty")&&t.dirty(),a.set(l.value,h.value)}return{status:t.value,value:a}}}}T0.create=(r,e,t)=>new T0({valueType:e,keyType:r,typeName:Ge.ZodMap,...Ye(t)});class fc extends ot{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==ke.set)return xe(n,{code:we.invalid_type,expected:ke.set,received:n.parsedType}),Ke;const i=this._def;i.minSize!==null&&n.data.size<i.minSize.value&&(xe(n,{code:we.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),i.maxSize!==null&&n.data.size>i.maxSize.value&&(xe(n,{code:we.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());const s=this._def.valueType;function o(u){const l=new Set;for(const h of u){if(h.status==="aborted")return Ke;h.status==="dirty"&&t.dirty(),l.add(h.value)}return{status:t.value,value:l}}const a=[...n.data.values()].map((u,l)=>s._parse(new ls(n,u,n.path,l)));return n.common.async?Promise.all(a).then(u=>o(u)):o(a)}min(e,t){return new fc({...this._def,minSize:{value:e,message:Ue.toString(t)}})}max(e,t){return new fc({...this._def,maxSize:{value:e,message:Ue.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}fc.create=(r,e)=>new fc({valueType:r,minSize:null,maxSize:null,typeName:Ge.ZodSet,...Ye(e)});class hu extends ot{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ke.function)return xe(t,{code:we.invalid_type,expected:ke.function,received:t.parsedType}),Ke;function n(a,u){return R0({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,x0(),al].filter(l=>!!l),issueData:{code:we.invalid_arguments,argumentsError:u}})}function i(a,u){return R0({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,x0(),al].filter(l=>!!l),issueData:{code:we.invalid_return_type,returnTypeError:u}})}const s={errorMap:t.common.contextualErrorMap},o=t.data;if(this._def.returns instanceof ul){const a=this;return An(async function(...u){const l=new qn([]),h=await a._def.args.parseAsync(u,s).catch(w=>{throw l.addIssue(n(u,w)),l}),g=await Reflect.apply(o,this,h);return await a._def.returns._def.type.parseAsync(g,s).catch(w=>{throw l.addIssue(i(g,w)),l})})}else{const a=this;return An(function(...u){const l=a._def.args.safeParse(u,s);if(!l.success)throw new qn([n(u,l.error)]);const h=Reflect.apply(o,this,l.data),g=a._def.returns.safeParse(h,s);if(!g.success)throw new qn([i(h,g.error)]);return g.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new hu({...this._def,args:fs.create(e).rest(nc.create())})}returns(e){return new hu({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new hu({args:e||fs.create([]).rest(nc.create()),returns:t||nc.create(),typeName:Ge.ZodFunction,...Ye(n)})}}class th extends ot{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}th.create=(r,e)=>new th({getter:r,typeName:Ge.ZodLazy,...Ye(e)});class rh extends ot{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return xe(t,{received:t.data,code:we.invalid_literal,expected:this._def.value}),Ke}return{status:"valid",value:e.data}}get value(){return this._def.value}}rh.create=(r,e)=>new rh({value:r,typeName:Ge.ZodLiteral,...Ye(e)});function LR(r,e){return new ta({values:r,typeName:Ge.ZodEnum,...Ye(e)})}class ta extends ot{constructor(){super(...arguments),Of.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return xe(t,{expected:yt.joinValues(n),received:t.parsedType,code:we.invalid_type}),Ke}if(I0(this,Of)||CR(this,Of,new Set(this._def.values)),!I0(this,Of).has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return xe(t,{received:t.data,code:we.invalid_enum_value,options:n}),Ke}return An(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return ta.create(e,{...this._def,...t})}exclude(e,t=this._def){return ta.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}Of=new WeakMap;ta.create=LR;class nh extends ot{constructor(){super(...arguments),Nf.set(this,void 0)}_parse(e){const t=yt.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==ke.string&&n.parsedType!==ke.number){const i=yt.objectValues(t);return xe(n,{expected:yt.joinValues(i),received:n.parsedType,code:we.invalid_type}),Ke}if(I0(this,Nf)||CR(this,Nf,new Set(yt.getValidEnumValues(this._def.values))),!I0(this,Nf).has(e.data)){const i=yt.objectValues(t);return xe(n,{received:n.data,code:we.invalid_enum_value,options:i}),Ke}return An(e.data)}get enum(){return this._def.values}}Nf=new WeakMap;nh.create=(r,e)=>new nh({values:r,typeName:Ge.ZodNativeEnum,...Ye(e)});class ul extends ot{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==ke.promise&&t.common.async===!1)return xe(t,{code:we.invalid_type,expected:ke.promise,received:t.parsedType}),Ke;const n=t.parsedType===ke.promise?t.data:Promise.resolve(t.data);return An(n.then(i=>this._def.type.parseAsync(i,{path:t.path,errorMap:t.common.contextualErrorMap})))}}ul.create=(r,e)=>new ul({type:r,typeName:Ge.ZodPromise,...Ye(e)});class ki extends ot{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ge.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,s={addIssue:o=>{xe(n,o),o.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(n.data,s);if(n.common.async)return Promise.resolve(o).then(async a=>{if(t.value==="aborted")return Ke;const u=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return u.status==="aborted"?Ke:u.status==="dirty"||t.value==="dirty"?ru(u.value):u});{if(t.value==="aborted")return Ke;const a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?Ke:a.status==="dirty"||t.value==="dirty"?ru(a.value):a}}if(i.type==="refinement"){const o=a=>{const u=i.refinement(a,s);if(n.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(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?Ke:(a.status==="dirty"&&t.dirty(),o(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?Ke:(a.status==="dirty"&&t.dirty(),o(a.value).then(()=>({status:t.value,value:a.value}))))}if(i.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!uc(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:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>uc(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:t.value,value:a})):o);yt.assertNever(i)}}ki.create=(r,e,t)=>new ki({schema:r,typeName:Ge.ZodEffects,effect:e,...Ye(t)});ki.createWithPreprocess=(r,e,t)=>new ki({schema:e,effect:{type:"preprocess",transform:r},typeName:Ge.ZodEffects,...Ye(t)});class ss extends ot{_parse(e){return this._getType(e)===ke.undefined?An(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ss.create=(r,e)=>new ss({innerType:r,typeName:Ge.ZodOptional,...Ye(e)});class ra extends ot{_parse(e){return this._getType(e)===ke.null?An(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ra.create=(r,e)=>new ra({innerType:r,typeName:Ge.ZodNullable,...Ye(e)});class ih extends ot{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===ke.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ih.create=(r,e)=>new ih({innerType:r,typeName:Ge.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Ye(e)});class sh extends ot{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return qf(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new qn(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new qn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}sh.create=(r,e)=>new sh({innerType:r,typeName:Ge.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Ye(e)});class O0 extends ot{_parse(e){if(this._getType(e)!==ke.nan){const n=this._getOrReturnCtx(e);return xe(n,{code:we.invalid_type,expected:ke.nan,received:n.parsedType}),Ke}return{status:"valid",value:e.data}}}O0.create=r=>new O0({typeName:Ge.ZodNaN,...Ye(r)});const UD=Symbol("zod_brand");class jw extends ot{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class qh extends ot{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Ke:s.status==="dirty"?(t.dirty(),ru(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{const i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Ke:i.status==="dirty"?(t.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(e,t){return new qh({in:e,out:t,typeName:Ge.ZodPipeline})}}class oh extends ot{_parse(e){const t=this._def.innerType._parse(e),n=i=>(uc(i)&&(i.value=Object.freeze(i.value)),i);return qf(t)?t.then(i=>n(i)):n(t)}unwrap(){return this._def.innerType}}oh.create=(r,e)=>new oh({innerType:r,typeName:Ge.ZodReadonly,...Ye(e)});function UR(r,e={},t){return r?cl.create().superRefine((n,i)=>{var s,o;if(!r(n)){const a=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,u=(o=(s=a.fatal)!==null&&s!==void 0?s:t)!==null&&o!==void 0?o:!0,l=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...l,fatal:u})}}):cl.create()}const DD={object:rr.lazycreate};var Ge;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(Ge||(Ge={}));const $D=(r,e={message:`Input not instance of ${r.name}`})=>UR(t=>t instanceof r,e),DR=xi.create,$R=Xo.create,FD=O0.create,HD=ea.create,FR=Zf.create,zD=lc.create,GD=S0.create,KD=Qf.create,WD=Jf.create,jD=cl.create,VD=nc.create,qD=Xs.create,ZD=k0.create,QD=Ii.create,JD=rr.create,YD=rr.strictCreate,XD=Yf.create,e$=Tp.create,t$=Xf.create,r$=fs.create,n$=eh.create,i$=T0.create,s$=fc.create,o$=hu.create,a$=th.create,c$=rh.create,u$=ta.create,l$=nh.create,f$=ul.create,gv=ki.create,h$=ss.create,d$=ra.create,p$=ki.createWithPreprocess,g$=qh.create,y$=()=>DR().optional(),m$=()=>$R().optional(),w$=()=>FR().optional(),b$={string:r=>xi.create({...r,coerce:!0}),number:r=>Xo.create({...r,coerce:!0}),boolean:r=>Zf.create({...r,coerce:!0}),bigint:r=>ea.create({...r,coerce:!0}),date:r=>lc.create({...r,coerce:!0})},_$=Ke;var Qt=Object.freeze({__proto__:null,defaultErrorMap:al,setErrorMap:pD,getErrorMap:x0,makeIssue:R0,EMPTY_PATH:gD,addIssueToContext:xe,ParseStatus:fn,INVALID:Ke,DIRTY:ru,OK:An,isAborted:R1,isDirty:I1,isValid:uc,isAsync:qf,get util(){return yt},get objectUtil(){return x1},ZodParsedType:ke,getParsedType:Is,ZodType:ot,datetimeRegex:MR,ZodString:xi,ZodNumber:Xo,ZodBigInt:ea,ZodBoolean:Zf,ZodDate:lc,ZodSymbol:S0,ZodUndefined:Qf,ZodNull:Jf,ZodAny:cl,ZodUnknown:nc,ZodNever:Xs,ZodVoid:k0,ZodArray:Ii,ZodObject:rr,ZodUnion:Yf,ZodDiscriminatedUnion:Tp,ZodIntersection:Xf,ZodTuple:fs,ZodRecord:eh,ZodMap:T0,ZodSet:fc,ZodFunction:hu,ZodLazy:th,ZodLiteral:rh,ZodEnum:ta,ZodNativeEnum:nh,ZodPromise:ul,ZodEffects:ki,ZodTransformer:ki,ZodOptional:ss,ZodNullable:ra,ZodDefault:ih,ZodCatch:sh,ZodNaN:O0,BRAND:UD,ZodBranded:jw,ZodPipeline:qh,ZodReadonly:oh,custom:UR,Schema:ot,ZodSchema:ot,late:DD,get ZodFirstPartyTypeKind(){return Ge},coerce:b$,any:jD,array:QD,bigint:HD,boolean:FR,date:zD,discriminatedUnion:e$,effect:gv,enum:u$,function:o$,instanceof:$D,intersection:t$,lazy:a$,literal:c$,map:i$,nan:FD,nativeEnum:l$,never:qD,null:WD,nullable:d$,number:$R,object:JD,oboolean:w$,onumber:m$,optional:h$,ostring:y$,pipeline:g$,preprocess:p$,promise:f$,record:n$,set:s$,strictObject:YD,string:DR,symbol:GD,transformer:gv,tuple:r$,undefined:KD,union:XD,unknown:VD,void:ZD,NEVER:_$,ZodIssueCode:we,quotelessJson:dD,ZodError:qn});const Zh=ns.getInstance(),HR=Qt.object({username:Qt.string(),address:Qt.string(),timestamp:Qt.number(),index:Qt.number(),signature:Qt.string()}),zR=Qt.object({id:Qt.number(),ref:Qt.string(),updater:Qt.string(),timestamp:Qt.number()}),A$=Qt.object({topic:Qt.string(),messageSender:HR.optional(),historyEntry:zR}),v$=Qt.object({events:Qt.array(Qt.object({type:Qt.string(),timestamp:Qt.number()})),messageEntries:Qt.array(Qt.object({index:Qt.number(),timestamp:Qt.number()}))}),E$=Qt.object({allTimeUsers:Qt.record(v$)});function GR(r){const e=A$.safeParse(r);return e.success?r.messageSender&&!I$(r.messageSender)?(console.warn("Invalid messageSender"),!1):x$(r.historyEntry)?!0:(console.warn("Invalid historyEntry"),!1):(Zh.warn(e.error.format()),!1)}function x$(r){const e=zR.safeParse(r);return e.success?!0:(Zh.warn(e.error.format()),!1)}function R$(r){const e=E$.safeParse(r);return e.success?!0:(Zh.warn(e.error.format()),!1)}function I$(r){const e=HR.safeParse(r);return e.success?S$(r):(Zh.warn(e.error.format()),!1)}function S$(r){try{const e={username:r.username,address:r.address,timestamp:r.timestamp},t=new TextEncoder,n=un.concatBytes(t.encode(`Ethereum Signed Message:
11
- 32`),un.keccak256(t.encode(JSON.stringify(e))));if(new nt.Signature(r.signature).isValid(n,r.address))throw new Error("Signature verification failed!");return!0}catch(e){return Zh.warn("Error in validateUserSignature",e),!1}}async function KR(r){const{condition:e,broadcast:t,maxRetries:n=2,initialDelayMs:i=2e3,checkIntervalMs:s=1e3,checkCount:o=10}=r;return new Promise((a,u)=>{let l=0;const h=async()=>{await v1(i);for(let g=0;g<o;g++){if(await Promise.resolve(e()))return a();await v1(s)}if(++l>=n)return u(new Error("Broadcast wait timeout"));console.warn(`Retrying broadcast... Attempt ${l} of ${n}`),await t(),h()};console.log("Starting broadcast..."),t().then(()=>h()).catch(u)})}const Yn={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"},k$=1e3,T$=new Error("request for lock canceled");var O$=function(r,e,t,n){function i(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{l(n.next(h))}catch(g){o(g)}}function u(h){try{l(n.throw(h))}catch(g){o(g)}}function l(h){h.done?s(h.value):i(h.value).then(a,u)}l((n=n.apply(r,e||[])).next())})};class N${constructor(e,t=T$){this._value=e,this._cancelError=t,this._queue=[],this._weightedWaiters=[]}acquire(e=1,t=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((n,i)=>{const s={resolve:n,reject:i,weight:e,priority:t},o=WR(this._queue,a=>t<=a.priority);o===-1&&e<=this._value?this._dispatchItem(s):this._queue.splice(o+1,0,s)})}runExclusive(e){return O$(this,arguments,void 0,function*(t,n=1,i=0){const[s,o]=yield this.acquire(n,i);try{return yield t(s)}finally{o()}})}waitForUnlock(e=1,t=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,t)?Promise.resolve():new Promise(n=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),C$(this._weightedWaiters[e-1],{resolve:n,priority:t})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){const t=this._value;this._value-=e.weight,e.resolve([t,this._newReleaser(e.weight)])}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){if(this._queue.length===0)for(let e=this._value;e>0;e--){const t=this._weightedWaiters[e-1];t&&(t.forEach(n=>n.resolve()),this._weightedWaiters[e-1]=[])}else{const e=this._queue[0].priority;for(let t=this._value;t>0;t--){const n=this._weightedWaiters[t-1];if(!n)continue;const i=n.findIndex(s=>s.priority<=e);(i===-1?n:n.splice(0,i)).forEach(s=>s.resolve())}}}_couldLockImmediately(e,t){return(this._queue.length===0||this._queue[0].priority<t)&&e<=this._value}}function C$(r,e){const t=WR(r,n=>e.priority<=n.priority);r.splice(t+1,0,e)}function WR(r,e){for(let t=r.length-1;t>=0;t--)if(e(r[t]))return t;return-1}var B$=function(r,e,t,n){function i(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{l(n.next(h))}catch(g){o(g)}}function u(h){try{l(n.throw(h))}catch(g){o(g)}}function l(h){h.done?s(h.value):i(h.value).then(a,u)}l((n=n.apply(r,e||[])).next())})};class P${constructor(e){this._semaphore=new N$(1,e)}acquire(){return B$(this,arguments,void 0,function*(e=0){const[,t]=yield this._semaphore.acquire(1,e);return t})}runExclusive(e,t=0){return this._semaphore.runExclusive(()=>e(),1,t)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}var jR={};(function(r){r.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},r.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},r.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},r.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},r.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},r.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},r.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},r.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},r.realToAlias=function(){var e=Object.prototype.hasOwnProperty,t=r.aliasToReal,n={};for(var i in t){var s=t[i];e.call(n,s)?n[s].push(i):n[s]=[i]}return n}(),r.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},r.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},r.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}})(jR);var jy,yv;function VR(){return yv||(yv=1,jy={}),jy}var Or=jR,M$=VR(),mv=Array.prototype.push;function L$(r,e){return e==2?function(t,n){return r.apply(void 0,arguments)}:function(t){return r.apply(void 0,arguments)}}function Vy(r,e){return e==2?function(t,n){return r(t,n)}:function(t){return r(t)}}function wv(r){for(var e=r?r.length:0,t=Array(e);e--;)t[e]=r[e];return t}function U$(r){return function(e){return r({},e)}}function D$(r,e){return function(){for(var t=arguments.length,n=t-1,i=Array(t);t--;)i[t]=arguments[t];var s=i[e],o=i.slice(0,e);return s&&mv.apply(o,s),e!=n&&mv.apply(o,i.slice(e+1)),r.apply(this,o)}}function qy(r,e){return function(){var t=arguments.length;if(t){for(var n=Array(t);t--;)n[t]=arguments[t];var i=n[0]=e.apply(void 0,n);return r.apply(void 0,n),i}}}function k1(r,e,t,n){var i=typeof e=="function",s=e===Object(e);if(s&&(n=t,t=e,e=void 0),t==null)throw new TypeError;n||(n={});var o={cap:"cap"in n?n.cap:!0,curry:"curry"in n?n.curry:!0,fixed:"fixed"in n?n.fixed:!0,immutable:"immutable"in n?n.immutable:!0,rearg:"rearg"in n?n.rearg:!0},a=i?t:M$,u="curry"in n&&n.curry,l="fixed"in n&&n.fixed,h="rearg"in n&&n.rearg,g=i?t.runInContext():void 0,b=i?t:{ary:r.ary,assign:r.assign,clone:r.clone,curry:r.curry,forEach:r.forEach,isArray:r.isArray,isError:r.isError,isFunction:r.isFunction,isWeakMap:r.isWeakMap,iteratee:r.iteratee,keys:r.keys,rearg:r.rearg,toInteger:r.toInteger,toPath:r.toPath},w=b.ary,I=b.assign,S=b.clone,x=b.curry,C=b.forEach,H=b.isArray,D=b.isError,z=b.isFunction,V=b.isWeakMap,Z=b.keys,K=b.rearg,j=b.toInteger,oe=b.toPath,ce=Z(Or.aryMethod),ne={castArray:function(ee){return function(){var re=arguments[0];return H(re)?ee(wv(re)):ee.apply(void 0,arguments)}},iteratee:function(ee){return function(){var re=arguments[0],he=arguments[1],ye=ee(re,he),be=ye.length;return o.cap&&typeof he=="number"?(he=he>2?he-2:1,be&&be<=he?ye:Vy(ye,he)):ye}},mixin:function(ee){return function(re){var he=this;if(!z(he))return ee(he,Object(re));var ye=[];return C(Z(re),function(be){z(re[be])&&ye.push([be,he.prototype[be]])}),ee(he,Object(re)),C(ye,function(be){var We=be[1];z(We)?he.prototype[be[0]]=We:delete he.prototype[be[0]]}),he}},nthArg:function(ee){return function(re){var he=re<0?1:j(re)+1;return x(ee(re),he)}},rearg:function(ee){return function(re,he){var ye=he?he.length:0;return x(ee(re,he),ye)}},runInContext:function(ee){return function(re){return k1(r,ee(re),n)}}};function ue(ee,re){if(o.cap){var he=Or.iterateeRearg[ee];if(he)return G(re,he);var ye=!i&&Or.iterateeAry[ee];if(ye)return M(re,ye)}return re}function B(ee,re,he){return u||o.curry&&he>1?x(re,he):re}function p(ee,re,he){if(o.fixed&&(l||!Or.skipFixed[ee])){var ye=Or.methodSpread[ee],be=ye&&ye.start;return be===void 0?w(re,he):D$(re,be)}return re}function m(ee,re,he){return o.rearg&&he>1&&(h||!Or.skipRearg[ee])?K(re,Or.methodRearg[ee]||Or.aryRearg[he]):re}function E(ee,re){re=oe(re);for(var he=-1,ye=re.length,be=ye-1,We=S(Object(ee)),$e=We;$e!=null&&++he<ye;){var Oe=re[he],Xe=$e[Oe];Xe!=null&&!(z(Xe)||D(Xe)||V(Xe))&&($e[Oe]=S(he==be?Xe:Object(Xe))),$e=$e[Oe]}return We}function k(ee){return U.runInContext.convert(ee)(void 0)}function O(ee,re){var he=Or.aliasToReal[ee]||ee,ye=Or.remap[he]||he,be=n;return function(We){var $e=i?g:b,Oe=i?g[ye]:re,Xe=I(I({},be),We);return k1($e,he,Oe,Xe)}}function M(ee,re){return P(ee,function(he){return typeof he=="function"?Vy(he,re):he})}function G(ee,re){return P(ee,function(he){var ye=re.length;return L$(K(Vy(he,ye),re),ye)})}function P(ee,re){return function(){var he=arguments.length;if(!he)return ee();for(var ye=Array(he);he--;)ye[he]=arguments[he];var be=o.rearg?0:he-1;return ye[be]=re(ye[be]),ee.apply(void 0,ye)}}function A(ee,re,he){var ye,be=Or.aliasToReal[ee]||ee,We=re,$e=ne[be];return $e?We=$e(re):o.immutable&&(Or.mutate.array[be]?We=qy(re,wv):Or.mutate.object[be]?We=qy(re,U$(re)):Or.mutate.set[be]&&(We=qy(re,E))),C(ce,function(Oe){return C(Or.aryMethod[Oe],function(Xe){if(be==Xe){var qe=Or.methodSpread[be],et=qe&&qe.afterRearg;return ye=et?p(be,m(be,We,Oe),Oe):m(be,p(be,We,Oe),Oe),ye=ue(be,ye),ye=B(be,ye,Oe),!1}}),!ye}),ye||(ye=We),ye==re&&(ye=u?x(ye,1):function(){return re.apply(this,arguments)}),ye.convert=O(be,re),ye.placeholder=re.placeholder=he,ye}if(!s)return A(e,t,a);var U=t,le=[];return C(ce,function(ee){C(Or.aryMethod[ee],function(re){var he=U[Or.remap[re]||re];he&&le.push([re,A(re,he,U)])})}),C(Z(U),function(ee){var re=U[ee];if(typeof re=="function"){for(var he=le.length;he--;)if(le[he][0]==ee)return;re.convert=O(ee,re),le.push([ee,re])}}),C(le,function(ee){U[ee[0]]=ee[1]}),U.convert=k,U.placeholder=U,C(Z(U),function(ee){C(Or.realToAlias[ee]||[],function(re){U[re]=U[ee]})}),U}var $$=k1;function F$(r){return r}var Op=F$,bv=SR,H$=bv&&new bv,qR=H$,z$=Op,_v=qR,G$=_v?function(r,e){return _v.set(r,e),r}:z$,ZR=G$,K$=Bi,Av=Object.create,W$=function(){function r(){}return function(e){if(!K$(e))return{};if(Av)return Av(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}(),Np=W$,j$=Np,V$=Bi;function q$(r){return function(){var e=arguments;switch(e.length){case 0:return new r;case 1:return new r(e[0]);case 2:return new r(e[0],e[1]);case 3:return new r(e[0],e[1],e[2]);case 4:return new r(e[0],e[1],e[2],e[3]);case 5:return new r(e[0],e[1],e[2],e[3],e[4]);case 6:return new r(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new r(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var t=j$(r.prototype),n=r.apply(t,e);return V$(n)?n:t}}var Cp=q$,Z$=Cp,Q$=Mn,J$=1;function Y$(r,e,t){var n=e&J$,i=Z$(r);function s(){var o=this&&this!==Q$&&this instanceof s?i:r;return o.apply(n?t:this,arguments)}return s}var X$=Y$;function eF(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}var Vw=eF,tF=Math.max;function rF(r,e,t,n){for(var i=-1,s=r.length,o=t.length,a=-1,u=e.length,l=tF(s-o,0),h=Array(u+l),g=!n;++a<u;)h[a]=e[a];for(;++i<o;)(g||i<s)&&(h[t[i]]=r[i]);for(;l--;)h[a++]=r[i++];return h}var QR=rF,nF=Math.max;function iF(r,e,t,n){for(var i=-1,s=r.length,o=-1,a=t.length,u=-1,l=e.length,h=nF(s-a,0),g=Array(h+l),b=!n;++i<h;)g[i]=r[i];for(var w=i;++u<l;)g[w+u]=e[u];for(;++o<a;)(b||i<s)&&(g[w+t[o]]=r[i++]);return g}var JR=iF;function sF(r,e){for(var t=r.length,n=0;t--;)r[t]===e&&++n;return n}var oF=sF;function aF(){}var qw=aF,cF=Np,uF=qw,lF=4294967295;function N0(r){this.__wrapped__=r,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=lF,this.__views__=[]}N0.prototype=cF(uF.prototype);N0.prototype.constructor=N0;var Zw=N0;function fF(){}var hF=fF,vv=qR,dF=hF,pF=vv?function(r){return vv.get(r)}:dF,YR=pF,gF={},yF=gF,Ev=yF,mF=Object.prototype,wF=mF.hasOwnProperty;function bF(r){for(var e=r.name+"",t=Ev[e],n=wF.call(Ev,e)?t.length:0;n--;){var i=t[n],s=i.func;if(s==null||s==r)return i.name}return e}var _F=bF,AF=Np,vF=qw;function C0(r,e){this.__wrapped__=r,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}C0.prototype=AF(vF.prototype);C0.prototype.constructor=C0;var XR=C0;function EF(r,e){var t=-1,n=r.length;for(e||(e=Array(n));++t<n;)e[t]=r[t];return e}var Qh=EF,xF=Zw,RF=XR,IF=Qh;function SF(r){if(r instanceof xF)return r.clone();var e=new RF(r.__wrapped__,r.__chain__);return e.__actions__=IF(r.__actions__),e.__index__=r.__index__,e.__values__=r.__values__,e}var kF=SF,TF=Zw,xv=XR,OF=qw,NF=Ln,CF=di,BF=kF,PF=Object.prototype,MF=PF.hasOwnProperty;function B0(r){if(CF(r)&&!NF(r)&&!(r instanceof TF)){if(r instanceof xv)return r;if(MF.call(r,"__wrapped__"))return BF(r)}return new xv(r)}B0.prototype=OF.prototype;B0.prototype.constructor=B0;var LF=B0,UF=Zw,DF=YR,$F=_F,FF=LF;function HF(r){var e=$F(r),t=FF[e];if(typeof t!="function"||!(e in UF.prototype))return!1;if(r===t)return!0;var n=DF(t);return!!n&&r===n[0]}var zF=HF,GF=800,KF=16,WF=Date.now;function jF(r){var e=0,t=0;return function(){var n=WF(),i=KF-(n-t);if(t=n,i>0){if(++e>=GF)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}var eI=jF,VF=ZR,qF=eI,ZF=qF(VF),tI=ZF,QF=/\{\n\/\* \[wrapped with (.+)\] \*/,JF=/,? & /;function YF(r){var e=r.match(QF);return e?e[1].split(JF):[]}var XF=YF,e9=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function t9(r,e){var t=e.length;if(!t)return r;var n=t-1;return e[n]=(t>1?"& ":"")+e[n],e=e.join(t>2?", ":" "),r.replace(e9,`{
12
- /* [wrapped with `+e+`] */
13
- `)}var r9=t9;function n9(r){return function(){return r}}var i9=n9,s9=Sc,o9=function(){try{var r=s9(Object,"defineProperty");return r({},"",{}),r}catch{}}(),rI=o9,a9=i9,Rv=rI,c9=Op,u9=Rv?function(r,e){return Rv(r,"toString",{configurable:!0,enumerable:!1,value:a9(e),writable:!0})}:c9,l9=u9,f9=l9,h9=eI,d9=h9(f9),Qw=d9;function p9(r,e){for(var t=-1,n=r==null?0:r.length;++t<n&&e(r[t],t,r)!==!1;);return r}var Jw=p9;function g9(r,e,t,n){for(var i=r.length,s=t+(n?1:-1);n?s--:++s<i;)if(e(r[s],s,r))return s;return-1}var y9=g9;function m9(r){return r!==r}var w9=m9;function b9(r,e,t){for(var n=t-1,i=r.length;++n<i;)if(r[n]===e)return n;return-1}var _9=b9,A9=y9,v9=w9,E9=_9;function x9(r,e,t){return e===e?E9(r,e,t):A9(r,v9,t)}var R9=x9,I9=R9;function S9(r,e){var t=r==null?0:r.length;return!!t&&I9(r,e,0)>-1}var k9=S9,T9=Jw,O9=k9,N9=1,C9=2,B9=8,P9=16,M9=32,L9=64,U9=128,D9=256,$9=512,F9=[["ary",U9],["bind",N9],["bindKey",C9],["curry",B9],["curryRight",P9],["flip",$9],["partial",M9],["partialRight",L9],["rearg",D9]];function H9(r,e){return T9(F9,function(t){var n="_."+t[0];e&t[1]&&!O9(r,n)&&r.push(n)}),r.sort()}var z9=H9,G9=XF,K9=r9,W9=Qw,j9=z9;function V9(r,e,t){var n=e+"";return W9(r,K9(n,j9(G9(n),t)))}var nI=V9,q9=zF,Z9=tI,Q9=nI,J9=1,Y9=2,X9=4,eH=8,Iv=32,Sv=64;function tH(r,e,t,n,i,s,o,a,u,l){var h=e&eH,g=h?o:void 0,b=h?void 0:o,w=h?s:void 0,I=h?void 0:s;e|=h?Iv:Sv,e&=~(h?Sv:Iv),e&X9||(e&=~(J9|Y9));var S=[r,e,i,w,g,I,b,a,u,l],x=t.apply(void 0,S);return q9(r)&&Z9(x,S),x.placeholder=n,Q9(x,r,e)}var iI=tH;function rH(r){var e=r;return e.placeholder}var sI=rH,nH=Qh,iH=Rp,sH=Math.min;function oH(r,e){for(var t=r.length,n=sH(e.length,t),i=nH(r);n--;){var s=e[n];r[n]=iH(s,t)?i[s]:void 0}return r}var aH=oH,kv="__lodash_placeholder__";function cH(r,e){for(var t=-1,n=r.length,i=0,s=[];++t<n;){var o=r[t];(o===e||o===kv)&&(r[t]=kv,s[i++]=t)}return s}var Yw=cH,uH=QR,lH=JR,fH=oF,Tv=Cp,hH=iI,dH=sI,pH=aH,gH=Yw,yH=Mn,mH=1,wH=2,bH=8,_H=16,AH=128,vH=512;function oI(r,e,t,n,i,s,o,a,u,l){var h=e&AH,g=e&mH,b=e&wH,w=e&(bH|_H),I=e&vH,S=b?void 0:Tv(r);function x(){for(var C=arguments.length,H=Array(C),D=C;D--;)H[D]=arguments[D];if(w)var z=dH(x),V=fH(H,z);if(n&&(H=uH(H,n,i,w)),s&&(H=lH(H,s,o,w)),C-=V,w&&C<l){var Z=gH(H,z);return hH(r,e,oI,x.placeholder,t,H,Z,a,u,l-C)}var K=g?t:this,j=b?K[r]:r;return C=H.length,a?H=pH(H,a):I&&C>1&&H.reverse(),h&&u<C&&(H.length=u),this&&this!==yH&&this instanceof x&&(j=S||Tv(j)),j.apply(K,H)}return x}var aI=oI,EH=Vw,xH=Cp,RH=aI,IH=iI,SH=sI,kH=Yw,TH=Mn;function OH(r,e,t){var n=xH(r);function i(){for(var s=arguments.length,o=Array(s),a=s,u=SH(i);a--;)o[a]=arguments[a];var l=s<3&&o[0]!==u&&o[s-1]!==u?[]:kH(o,u);if(s-=l.length,s<t)return IH(r,e,RH,i.placeholder,void 0,o,l,void 0,void 0,t-s);var h=this&&this!==TH&&this instanceof i?n:r;return EH(h,this,o)}return i}var NH=OH,CH=Vw,BH=Cp,PH=Mn,MH=1;function LH(r,e,t,n){var i=e&MH,s=BH(r);function o(){for(var a=-1,u=arguments.length,l=-1,h=n.length,g=Array(h+u),b=this&&this!==PH&&this instanceof o?s:r;++l<h;)g[l]=n[l];for(;u--;)g[l++]=arguments[++a];return CH(b,i?t:this,g)}return o}var UH=LH,DH=QR,$H=JR,Ov=Yw,Nv="__lodash_placeholder__",Zy=1,FH=2,HH=4,Cv=8,Ef=128,Bv=256,zH=Math.min;function GH(r,e){var t=r[1],n=e[1],i=t|n,s=i<(Zy|FH|Ef),o=n==Ef&&t==Cv||n==Ef&&t==Bv&&r[7].length<=e[8]||n==(Ef|Bv)&&e[7].length<=e[8]&&t==Cv;if(!(s||o))return r;n&Zy&&(r[2]=e[2],i|=t&Zy?0:HH);var a=e[3];if(a){var u=r[3];r[3]=u?DH(u,a,e[4]):a,r[4]=u?Ov(r[3],Nv):e[4]}return a=e[5],a&&(u=r[5],r[5]=u?$H(u,a,e[6]):a,r[6]=u?Ov(r[5],Nv):e[6]),a=e[7],a&&(r[7]=a),n&Ef&&(r[8]=r[8]==null?e[8]:zH(r[8],e[8])),r[9]==null&&(r[9]=e[9]),r[0]=e[0],r[1]=i,r}var KH=GH,WH=/\s/;function jH(r){for(var e=r.length;e--&&WH.test(r.charAt(e)););return e}var VH=jH,qH=VH,ZH=/^\s+/;function QH(r){return r&&r.slice(0,qH(r)+1).replace(ZH,"")}var JH=QH,YH=Ic,XH=di,e7="[object Symbol]";function t7(r){return typeof r=="symbol"||XH(r)&&YH(r)==e7}var Jh=t7,r7=JH,Pv=Bi,n7=Jh,Mv=NaN,i7=/^[-+]0x[0-9a-f]+$/i,s7=/^0b[01]+$/i,o7=/^0o[0-7]+$/i,a7=parseInt;function c7(r){if(typeof r=="number")return r;if(n7(r))return Mv;if(Pv(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=Pv(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=r7(r);var t=s7.test(r);return t||o7.test(r)?a7(r.slice(2),t?2:8):i7.test(r)?Mv:+r}var u7=c7,l7=u7,Lv=1/0,f7=17976931348623157e292;function h7(r){if(!r)return r===0?r:0;if(r=l7(r),r===Lv||r===-Lv){var e=r<0?-1:1;return e*f7}return r===r?r:0}var d7=h7,p7=d7;function g7(r){var e=p7(r),t=e%1;return e===e?t?e-t:e:0}var cI=g7,y7=ZR,m7=X$,w7=NH,b7=aI,_7=UH,A7=YR,v7=KH,E7=tI,x7=nI,Uv=cI,R7="Expected a function",Dv=1,I7=2,Qy=8,Jy=16,Yy=32,$v=64,Fv=Math.max;function S7(r,e,t,n,i,s,o,a){var u=e&I7;if(!u&&typeof r!="function")throw new TypeError(R7);var l=n?n.length:0;if(l||(e&=~(Yy|$v),n=i=void 0),o=o===void 0?o:Fv(Uv(o),0),a=a===void 0?a:Uv(a),l-=i?i.length:0,e&$v){var h=n,g=i;n=i=void 0}var b=u?void 0:A7(r),w=[r,e,t,n,i,h,g,s,o,a];if(b&&v7(w,b),r=w[0],e=w[1],t=w[2],n=w[3],i=w[4],a=w[9]=w[9]===void 0?u?0:r.length:Fv(w[9]-l,0),!a&&e&(Qy|Jy)&&(e&=~(Qy|Jy)),!e||e==Dv)var I=m7(r,e,t);else e==Qy||e==Jy?I=w7(r,e,a):(e==Yy||e==(Dv|Yy))&&!i.length?I=_7(r,e,t,n):I=b7.apply(void 0,w);var S=b?y7:E7;return x7(S(I,w),r,e)}var Xw=S7,k7=Xw,T7=128;function O7(r,e,t){return e=t?void 0:e,e=r&&e==null?r.length:e,k7(r,T7,void 0,void 0,void 0,void 0,e)}var N7=O7,Hv=rI;function C7(r,e,t){e=="__proto__"&&Hv?Hv(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}var eb=C7,B7=eb,P7=jh,M7=Object.prototype,L7=M7.hasOwnProperty;function U7(r,e,t){var n=r[e];(!(L7.call(r,e)&&P7(n,t))||t===void 0&&!(e in r))&&B7(r,e,t)}var uI=U7,D7=uI,$7=eb;function F7(r,e,t,n){var i=!t;t||(t={});for(var s=-1,o=e.length;++s<o;){var a=e[s],u=n?n(t[a],r[a],a,t,r):void 0;u===void 0&&(u=r[a]),i?$7(t,a,u):D7(t,a,u)}return t}var Yh=F7,H7=Yh,z7=Sp;function G7(r,e){return r&&H7(e,z7(e),r)}var lI=G7,Xy,zv;function K7(){if(zv)return Xy;zv=1;function r(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}return Xy=r,Xy}var em,Gv;function W7(){if(Gv)return em;Gv=1;var r=Bi,e=Kw,t=K7(),n=Object.prototype,i=n.hasOwnProperty;function s(o){if(!r(o))return t(o);var a=e(o),u=[];for(var l in o)l=="constructor"&&(a||!i.call(o,l))||u.push(l);return u}return em=s,em}var tm,Kv;function Xh(){if(Kv)return tm;Kv=1;var r=ER,e=W7(),t=Ip;function n(i){return t(i)?r(i,!0):e(i)}return tm=n,tm}var j7=Yh,V7=Xh();function q7(r,e){return r&&j7(e,V7(e),r)}var Z7=q7,P0={exports:{}};P0.exports;(function(r,e){var t=Mn,n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,s=i&&i.exports===n,o=s?t.Buffer:void 0,a=o?o.allocUnsafe:void 0;function u(l,h){if(h)return l.slice();var g=l.length,b=a?a(g):new l.constructor(g);return l.copy(b),b}r.exports=u})(P0,P0.exports);var fI=P0.exports,Q7=Yh,J7=$w;function Y7(r,e){return Q7(r,J7(r),e)}var X7=Y7,ez=xR,tz=ez(Object.getPrototypeOf,Object),tb=tz,rz=Dw,nz=tb,iz=$w,sz=AR,oz=Object.getOwnPropertySymbols,az=oz?function(r){for(var e=[];r;)rz(e,iz(r)),r=nz(r);return e}:sz,hI=az,cz=Yh,uz=hI;function lz(r,e){return cz(r,uz(r),e)}var fz=lz,hz=_R,dz=hI,pz=Xh();function gz(r){return hz(r,pz,dz)}var yz=gz,mz=Object.prototype,wz=mz.hasOwnProperty;function bz(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&wz.call(r,"index")&&(t.index=r.index,t.input=r.input),t}var _z=bz,Wv=bR;function Az(r){var e=new r.constructor(r.byteLength);return new Wv(e).set(new Wv(r)),e}var rb=Az,vz=rb;function Ez(r,e){var t=e?vz(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}var xz=Ez,Rz=/\w*$/;function Iz(r){var e=new r.constructor(r.source,Rz.exec(r));return e.lastIndex=r.lastIndex,e}var Sz=Iz,jv=Ol,Vv=jv?jv.prototype:void 0,qv=Vv?Vv.valueOf:void 0;function kz(r){return qv?Object(qv.call(r)):{}}var Tz=kz,rm,Zv;function dI(){if(Zv)return rm;Zv=1;var r=rb;function e(t,n){var i=n?r(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}return rm=e,rm}var Oz=rb,Nz=xz,Cz=Sz,Bz=Tz,Pz=dI(),Mz="[object Boolean]",Lz="[object Date]",Uz="[object Map]",Dz="[object Number]",$z="[object RegExp]",Fz="[object Set]",Hz="[object String]",zz="[object Symbol]",Gz="[object ArrayBuffer]",Kz="[object DataView]",Wz="[object Float32Array]",jz="[object Float64Array]",Vz="[object Int8Array]",qz="[object Int16Array]",Zz="[object Int32Array]",Qz="[object Uint8Array]",Jz="[object Uint8ClampedArray]",Yz="[object Uint16Array]",Xz="[object Uint32Array]";function eG(r,e,t){var n=r.constructor;switch(e){case Gz:return Oz(r);case Mz:case Lz:return new n(+r);case Kz:return Nz(r,t);case Wz:case jz:case Vz:case qz:case Zz:case Qz:case Jz:case Yz:case Xz:return Pz(r,t);case Uz:return new n;case Dz:case Hz:return new n(r);case $z:return Cz(r);case Fz:return new n;case zz:return Bz(r)}}var tG=eG,rG=Np,nG=tb,iG=Kw;function sG(r){return typeof r.constructor=="function"&&!iG(r)?rG(nG(r)):{}}var pI=sG,oG=Vh,aG=di,cG="[object Map]";function uG(r){return aG(r)&&oG(r)==cG}var lG=uG,fG=lG,hG=Hw,Qv=zw,Jv=Qv&&Qv.isMap,dG=Jv?hG(Jv):fG,pG=dG,gG=Vh,yG=di,mG="[object Set]";function wG(r){return yG(r)&&gG(r)==mG}var bG=wG,_G=bG,AG=Hw,Yv=zw,Xv=Yv&&Yv.isSet,vG=Xv?AG(Xv):_G,EG=vG,xG=vp,RG=Jw,IG=uI,SG=lI,kG=Z7,TG=fI,OG=Qh,NG=X7,CG=fz,BG=IR,PG=yz,MG=Vh,LG=_z,UG=tG,DG=pI,$G=Ln,FG=xp,HG=pG,zG=Bi,GG=EG,KG=Sp,WG=Xh(),jG=1,VG=2,qG=4,gI="[object Arguments]",ZG="[object Array]",QG="[object Boolean]",JG="[object Date]",YG="[object Error]",yI="[object Function]",XG="[object GeneratorFunction]",eK="[object Map]",tK="[object Number]",mI="[object Object]",rK="[object RegExp]",nK="[object Set]",iK="[object String]",sK="[object Symbol]",oK="[object WeakMap]",aK="[object ArrayBuffer]",cK="[object DataView]",uK="[object Float32Array]",lK="[object Float64Array]",fK="[object Int8Array]",hK="[object Int16Array]",dK="[object Int32Array]",pK="[object Uint8Array]",gK="[object Uint8ClampedArray]",yK="[object Uint16Array]",mK="[object Uint32Array]",Ft={};Ft[gI]=Ft[ZG]=Ft[aK]=Ft[cK]=Ft[QG]=Ft[JG]=Ft[uK]=Ft[lK]=Ft[fK]=Ft[hK]=Ft[dK]=Ft[eK]=Ft[tK]=Ft[mI]=Ft[rK]=Ft[nK]=Ft[iK]=Ft[sK]=Ft[pK]=Ft[gK]=Ft[yK]=Ft[mK]=!0;Ft[YG]=Ft[yI]=Ft[oK]=!1;function s0(r,e,t,n,i,s){var o,a=e&jG,u=e&VG,l=e&qG;if(t&&(o=i?t(r,n,i,s):t(r)),o!==void 0)return o;if(!zG(r))return r;var h=$G(r);if(h){if(o=LG(r),!a)return OG(r,o)}else{var g=MG(r),b=g==yI||g==XG;if(FG(r))return TG(r,a);if(g==mI||g==gI||b&&!i){if(o=u||b?{}:DG(r),!a)return u?CG(r,kG(o,r)):NG(r,SG(o,r))}else{if(!Ft[g])return i?r:{};o=UG(r,g,a)}}s||(s=new xG);var w=s.get(r);if(w)return w;s.set(r,o),GG(r)?r.forEach(function(x){o.add(s0(x,e,t,x,r,s))}):HG(r)&&r.forEach(function(x,C){o.set(C,s0(x,e,t,C,r,s))});var I=l?u?PG:BG:u?WG:KG,S=h?void 0:I(r);return RG(S||r,function(x,C){S&&(C=x,x=r[C]),IG(o,C,s0(x,e,t,C,r,s))}),o}var wI=s0,wK=wI,bK=4;function _K(r){return wK(r,bK)}var AK=_K,vK=Xw,EK=8;function nb(r,e,t){e=t?void 0:e;var n=vK(r,EK,void 0,void 0,void 0,void 0,void 0,e);return n.placeholder=nb.placeholder,n}nb.placeholder={};var xK=nb,RK=Ic,IK=tb,SK=di,kK="[object Object]",TK=Function.prototype,OK=Object.prototype,bI=TK.toString,NK=OK.hasOwnProperty,CK=bI.call(Object);function BK(r){if(!SK(r)||RK(r)!=kK)return!1;var e=IK(r);if(e===null)return!0;var t=NK.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&bI.call(t)==CK}var _I=BK,PK=Ic,MK=di,LK=_I,UK="[object DOMException]",DK="[object Error]";function $K(r){if(!MK(r))return!1;var e=PK(r);return e==DK||e==UK||typeof r.message=="string"&&typeof r.name=="string"&&!LK(r)}var FK=$K,HK=Vh,zK=di,GK="[object WeakMap]";function KK(r){return zK(r)&&HK(r)==GK}var WK=KK,jK=vp,VK=Ww,qK=1,ZK=2;function QK(r,e,t,n){var i=t.length,s=i,o=!n;if(r==null)return!s;for(r=Object(r);i--;){var a=t[i];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++i<s;){a=t[i];var u=a[0],l=r[u],h=a[1];if(o&&a[2]){if(l===void 0&&!(u in r))return!1}else{var g=new jK;if(n)var b=n(l,h,u,r,e,g);if(!(b===void 0?VK(h,l,qK|ZK,n,g):b))return!1}}return!0}var JK=QK,YK=Bi;function XK(r){return r===r&&!YK(r)}var AI=XK,eW=AI,tW=Sp;function rW(r){for(var e=tW(r),t=e.length;t--;){var n=e[t],i=r[n];e[t]=[n,i,eW(i)]}return e}var nW=rW;function iW(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}var vI=iW,sW=JK,oW=nW,aW=vI;function cW(r){var e=oW(r);return e.length==1&&e[0][2]?aW(e[0][0],e[0][1]):function(t){return t===r||sW(t,r,e)}}var uW=cW,lW=Ln,fW=Jh,hW=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dW=/^\w*$/;function pW(r,e){if(lW(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||fW(r)?!0:dW.test(r)||!hW.test(r)||e!=null&&r in Object(e)}var ib=pW,EI=Uw,gW="Expected a function";function sb(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(gW);var t=function(){var n=arguments,i=e?e.apply(this,n):n[0],s=t.cache;if(s.has(i))return s.get(i);var o=r.apply(this,n);return t.cache=s.set(i,o)||s,o};return t.cache=new(sb.Cache||EI),t}sb.Cache=EI;var yW=sb,mW=yW,wW=500;function bW(r){var e=mW(r,function(n){return t.size===wW&&t.clear(),n}),t=e.cache;return e}var _W=bW,AW=_W,vW=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,EW=/\\(\\)?/g,xW=AW(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(vW,function(t,n,i,s){e.push(i?s.replace(EW,"$1"):n||t)}),e}),xI=xW;function RW(r,e){for(var t=-1,n=r==null?0:r.length,i=Array(n);++t<n;)i[t]=e(r[t],t,r);return i}var RI=RW,eE=Ol,IW=RI,SW=Ln,kW=Jh,TW=1/0,tE=eE?eE.prototype:void 0,rE=tE?tE.toString:void 0;function II(r){if(typeof r=="string")return r;if(SW(r))return IW(r,II)+"";if(kW(r))return rE?rE.call(r):"";var e=r+"";return e=="0"&&1/r==-TW?"-0":e}var OW=II,NW=OW;function CW(r){return r==null?"":NW(r)}var SI=CW,BW=Ln,PW=ib,MW=xI,LW=SI;function UW(r,e){return BW(r)?r:PW(r,e)?[r]:MW(LW(r))}var kI=UW,DW=Jh,$W=1/0;function FW(r){if(typeof r=="string"||DW(r))return r;var e=r+"";return e=="0"&&1/r==-$W?"-0":e}var ed=FW,HW=kI,zW=ed;function GW(r,e){e=HW(e,r);for(var t=0,n=e.length;r!=null&&t<n;)r=r[zW(e[t++])];return t&&t==n?r:void 0}var TI=GW,KW=TI;function WW(r,e,t){var n=r==null?void 0:KW(r,e);return n===void 0?t:n}var jW=WW;function VW(r,e){return r!=null&&e in Object(r)}var qW=VW,ZW=kI,QW=Ep,JW=Ln,YW=Rp,XW=Fw,ej=ed;function tj(r,e,t){e=ZW(e,r);for(var n=-1,i=e.length,s=!1;++n<i;){var o=ej(e[n]);if(!(s=r!=null&&t(r,o)))break;r=r[o]}return s||++n!=i?s:(i=r==null?0:r.length,!!i&&XW(i)&&YW(o,i)&&(JW(r)||QW(r)))}var rj=tj,nj=qW,ij=rj;function sj(r,e){return r!=null&&ij(r,e,nj)}var oj=sj,aj=Ww,cj=jW,uj=oj,lj=ib,fj=AI,hj=vI,dj=ed,pj=1,gj=2;function yj(r,e){return lj(r)&&fj(e)?hj(dj(r),e):function(t){var n=cj(t,r);return n===void 0&&n===e?uj(t,r):aj(e,n,pj|gj)}}var mj=yj;function wj(r){return function(e){return e==null?void 0:e[r]}}var bj=wj,_j=TI;function Aj(r){return function(e){return _j(e,r)}}var vj=Aj,Ej=bj,xj=vj,Rj=ib,Ij=ed;function Sj(r){return Rj(r)?Ej(Ij(r)):xj(r)}var kj=Sj,Tj=uW,Oj=mj,Nj=Op,Cj=Ln,Bj=kj;function Pj(r){return typeof r=="function"?r:r==null?Nj:typeof r=="object"?Cj(r)?Oj(r[0],r[1]):Tj(r):Bj(r)}var Mj=Pj,Lj=wI,Uj=Mj,Dj=1;function $j(r){return Uj(typeof r=="function"?r:Lj(r,Dj))}var Fj=$j,nE=Ol,Hj=Ep,zj=Ln,iE=nE?nE.isConcatSpreadable:void 0;function Gj(r){return zj(r)||Hj(r)||!!(iE&&r&&r[iE])}var Kj=Gj,Wj=Dw,jj=Kj;function OI(r,e,t,n,i){var s=-1,o=r.length;for(t||(t=jj),i||(i=[]);++s<o;){var a=r[s];e>0&&t(a)?e>1?OI(a,e-1,t,n,i):Wj(i,a):n||(i[i.length]=a)}return i}var Vj=OI,qj=Vj;function Zj(r){var e=r==null?0:r.length;return e?qj(r,1):[]}var Qj=Zj,Jj=Vw,sE=Math.max;function Yj(r,e,t){return e=sE(e===void 0?r.length-1:e,0),function(){for(var n=arguments,i=-1,s=sE(n.length-e,0),o=Array(s);++i<s;)o[i]=n[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=n[i];return a[e]=t(o),Jj(r,this,a)}}var NI=Yj,Xj=Qj,eV=NI,tV=Qw;function rV(r){return tV(eV(r,void 0,Xj),r+"")}var nV=rV,iV=Xw,sV=nV,oV=256,aV=sV(function(r,e){return iV(r,oV,void 0,void 0,void 0,e)}),cV=aV,uV=RI,lV=Qh,fV=Ln,hV=Jh,dV=xI,pV=ed,gV=SI;function yV(r){return fV(r)?uV(r,pV):hV(r)?[r]:lV(dV(gV(r)))}var mV=yV,wV={ary:N7,assign:lI,clone:AK,curry:xK,forEach:Jw,isArray:Ln,isError:FK,isFunction:bp,isWeakMap:WK,iteratee:Fj,keys:RR,rearg:cV,toInteger:cI,toPath:mV},bV=$$,_V=wV;function AV(r,e,t){return bV(_V,r,e,t)}var vV=AV,nm,oE;function CI(){if(oE)return nm;oE=1;var r=eb,e=jh;function t(n,i,s){(s!==void 0&&!e(n[i],s)||s===void 0&&!(i in n))&&r(n,i,s)}return nm=t,nm}var im,aE;function EV(){if(aE)return im;aE=1;function r(e){return function(t,n,i){for(var s=-1,o=Object(t),a=i(t),u=a.length;u--;){var l=a[e?u:++s];if(n(o[l],l,o)===!1)break}return t}}return im=r,im}var sm,cE;function xV(){if(cE)return sm;cE=1;var r=EV(),e=r();return sm=e,sm}var om,uE;function RV(){if(uE)return om;uE=1;var r=Ip,e=di;function t(n){return e(n)&&r(n)}return om=t,om}var am,lE;function BI(){if(lE)return am;lE=1;function r(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}return am=r,am}var cm,fE;function IV(){if(fE)return cm;fE=1;var r=Yh,e=Xh();function t(n){return r(n,e(n))}return cm=t,cm}var um,hE;function SV(){if(hE)return um;hE=1;var r=CI(),e=fI,t=dI(),n=Qh,i=pI,s=Ep,o=Ln,a=RV(),u=xp,l=bp,h=Bi,g=_I,b=Gw,w=BI(),I=IV();function S(x,C,H,D,z,V,Z){var K=w(x,H),j=w(C,H),oe=Z.get(j);if(oe){r(x,H,oe);return}var ce=V?V(K,j,H+"",x,C,Z):void 0,ne=ce===void 0;if(ne){var ue=o(j),B=!ue&&u(j),p=!ue&&!B&&b(j);ce=j,ue||B||p?o(K)?ce=K:a(K)?ce=n(K):B?(ne=!1,ce=e(j,!0)):p?(ne=!1,ce=t(j,!0)):ce=[]:g(j)||s(j)?(ce=K,s(K)?ce=I(K):(!h(K)||l(K))&&(ce=i(j))):ne=!1}ne&&(Z.set(j,ce),z(ce,j,D,V,Z),Z.delete(j)),r(x,H,ce)}return um=S,um}var lm,dE;function kV(){if(dE)return lm;dE=1;var r=vp,e=CI(),t=xV(),n=SV(),i=Bi,s=Xh(),o=BI();function a(u,l,h,g,b){u!==l&&t(l,function(w,I){if(b||(b=new r),i(w))n(u,l,I,h,a,g,b);else{var S=g?g(o(u,I),w,I+"",u,l,b):void 0;S===void 0&&(S=w),e(u,I,S)}},s)}return lm=a,lm}var fm,pE;function TV(){if(pE)return fm;pE=1;var r=Op,e=NI,t=Qw;function n(i,s){return t(e(i,s,r),i+"")}return fm=n,fm}var hm,gE;function OV(){if(gE)return hm;gE=1;var r=jh,e=Ip,t=Rp,n=Bi;function i(s,o,a){if(!n(a))return!1;var u=typeof o;return(u=="number"?e(a)&&t(o,a.length):u=="string"&&o in a)?r(a[o],s):!1}return hm=i,hm}var dm,yE;function NV(){if(yE)return dm;yE=1;var r=TV(),e=OV();function t(n){return r(function(i,s){var o=-1,a=s.length,u=a>1?s[a-1]:void 0,l=a>2?s[2]:void 0;for(u=n.length>3&&typeof u=="function"?(a--,u):void 0,l&&e(s[0],s[1],l)&&(u=a<3?void 0:u,a=1),i=Object(i);++o<a;){var h=s[o];h&&n(i,h,o,u)}return i})}return dm=t,dm}var pm,mE;function CV(){if(mE)return pm;mE=1;var r=kV(),e=NV(),t=e(function(n,i,s,o){r(n,i,s,o)});return pm=t,pm}var BV=vV,PI=BV("mergeWith",CV());PI.placeholder=VR();var PV=PI;const MV=no(PV);class LV{constructor(e,t,n,i){this.userDetails=e,this.utils=t,this.chatSettings=n,this.emitter=i,this.mutex=new P$,this.logger=ns.getInstance(),this.errorHandler=new kp,this.messagesQueue=new E1({clearWaitTime:200}),this.history={allTimeUsers:{}},this.processedUpdaterRefs=new Set,this.loadedMessagesCache=new Set,this.updaterEntryBuffer=[],this.historyUpdateTimer=null,this.HISTORY_UPDATE_INTERVAL_TIME=5e3,this.MAX_LOADED_MESSAGES_CACHE_SIZE=10}async init(){const e=await this.fetchLatestHistoryEntry();if(!this.historyEntry&&!e||!(e!=null&&e.ref)){this.initializeDefaultEntry();return}if(e!=null&&e.ref){this.setHistoryEntry(e);const t=await this.fetchHistory(e);this.history=t||this.history,this.trimHistory(),await this.fetchPreviousMessages({preDownloadHistory:!1})}}startHistoryUpdateProcess(){if(this.historyUpdateTimer){this.logger.warn("History update process is already running.");return}this.historyUpdateTimer=setInterval(this.createHistoryEntry.bind(this),this.HISTORY_UPDATE_INTERVAL_TIME)}stopHistoryUpdateProcess(){this.historyUpdateTimer&&(clearInterval(this.historyUpdateTimer),this.historyUpdateTimer=null)}getHistoryEntryWithNewUpdater(e){return{...this.historyEntry,updater:this.chooseNewUpdater(e)}}setHistoryEntry(e){this.historyEntry=e}async processHistoryUpdaterEntry(e,t){const n=await this.mutex.acquire();try{this.updateLocalHistory(e),cc(t.updater.toLowerCase())===cc(this.userDetails.ownAddress.toLowerCase())&&this.updaterEntryBuffer.push(t)}catch(i){this.errorHandler.handleError(i,"Chat.processHistoryUpdaterEntry")}finally{n()}}async fetchPreviousMessages(e){const t=await this.mutex.acquire();try{const n=e.preDownloadHistory?await this.fetchHistory(this.historyEntry):null,{allTimeUsers:i}=n?this.mergeChatHistory(n,this.history):this.history,s=this.selectLatestMessages(i);s.length>0&&await this.readAllMessageEntry(s)}finally{t()}}async createHistoryEntry(){const e=await this.mutex.acquire();try{const t=this.selectBestEntryForUpdate([...this.updaterEntryBuffer]);if(!t||this.processedUpdaterRefs.has(t.ref)){this.cleanupUpdaterEntryBuffer(t==null?void 0:t.id);return}const n=t.ref?await this.fetchHistory(this.historyEntry):null,i=n?this.mergeChatHistory(n,this.history):this.history,s=await this.uploadHistory(i),o=this.createNewHistoryEntry(s);await this.waitForHistoryEntryBroadcast(o),this.cleanupUpdaterEntryBuffer(t.id),this.processedUpdaterRefs.add(t.ref)}catch(t){this.errorHandler.handleError(t,"Chat.updateHistory")}finally{e()}}async waitForHistoryEntryBroadcast(e){return KR({condition:()=>this.historyEntry.ref===e.ref,broadcast:()=>this.broadcastHistoryEntry(e)})}async broadcastHistoryEntry(e){try{await this.utils.retryAwaitableAsync(()=>this.utils.sendMessageToGsoc(JSON.stringify({topic:this.chatSettings.chatTopic,historyEntry:e}))),this.logger.debug("NEW history entry broadcast CALLED")}catch(t){this.errorHandler.handleError(t,"Chat.broadcastNewAppState")}}async uploadHistory(e){const t=await this.utils.uploadObjectToBee(e);if(!t)throw new Error("History reference is null");return t}async fetchHistory(e){const t=e||await this.fetchLatestHistoryEntry();if(!t)return null;const n=await this.utils.downloadObjectFromBee(t.ref);return R$(n)?n:(this.logger.warn("Could not fetch remote history: invalid history data"),null)}async fetchLatestHistoryEntry(){try{const e=await this.utils.fetchLatestChatMessage();return this.logger.debug("Init GSOC message:",e),GR(e)?e.historyEntry:(this.logger.warn("Invalid GSOC message during latest history entry fetch"),null)}catch(e){return this.errorHandler.handleError(e,"Chat.fetchLatestHistoryEntry"),null}}async readAllMessageEntry(e){e.forEach(t=>{this.messagesQueue.enqueue(()=>this.readMessage(t))}),await this.messagesQueue.waitForProcessing()}async readMessage(e){try{const t=await this.utils.fetchUserFeedDataByIndex(e.address,e.entry.index);this.emitter.emit(Yn.MESSAGE_RECEIVED,t)}catch(t){this.errorHandler.handleError(t,"SwarmHistory.readMessage")}}updateLocalHistory(e){const t={};Object.entries(e).forEach(([n,i])=>{t[n]={events:[],messageEntries:[{index:i.index,timestamp:i.timestamp}]}}),this.history={allTimeUsers:this.mergeUserHistory(t,this.history.allTimeUsers)}}mergeChatHistory(e,t){return{allTimeUsers:this.mergeUserHistory(e.allTimeUsers,t.allTimeUsers)}}mergeUserHistory(e,t){return MV((n,i)=>{if(!n)return i;if(!i)return n;const s=dv(n.events,i.events,a=>`${a.type}-${a.timestamp}`,(a,u)=>a.timestamp-u.timestamp),o=dv(n.messageEntries,i.messageEntries,a=>a.index,(a,u)=>a.timestamp-u.timestamp);return{events:s,messageEntries:o}},e,t)}trimHistory(e=2,t=1e4){try{const n=JSON.stringify(this.history);if(new Blob([n]).size/(1024*1024)<=e)return;const o=[];for(const l in this.history.allTimeUsers)this.history.allTimeUsers[l].messageEntries.forEach(g=>{o.push({address:l,entry:g})});o.sort((l,h)=>l.entry.timestamp-h.entry.timestamp);const a=o.slice(t),u={allTimeUsers:{}};for(const{address:l,entry:h}of a)u.allTimeUsers[l]||(u.allTimeUsers[l]={events:[],messageEntries:[]}),u.allTimeUsers[l].messageEntries.push(h);this.history=u}catch(n){this.errorHandler.handleError(n,"SwarmHistory.trimHistory")}}chooseNewUpdater(e){const t=Object.values(e);if(t.length===0)return this.userDetails.ownAddress;let n;if(window.crypto&&window.crypto.getRandomValues){const i=new Uint32Array(1);window.crypto.getRandomValues(i),n=i[0]%t.length}else n=Math.floor(Math.random()*t.length);return t[n].address}selectLatestMessages(e){const t=[];for(const[i,s]of Object.entries(e))for(const o of s.messageEntries)t.push({address:i,entry:o});t.sort((i,s)=>s.entry.timestamp-i.entry.timestamp);const n=[];for(const{address:i,entry:s}of t){const o=`${i}:${s.index}`;if(!this.loadedMessagesCache.has(o)&&(n.push({address:i,entry:s}),this.loadedMessagesCache.add(o),n.length===this.MAX_LOADED_MESSAGES_CACHE_SIZE))break}return n}selectBestEntryForUpdate(e){return e.filter(t=>t.updater===this.userDetails.ownAddress).reduce((t,n)=>!t||n.id>t.id||n.id===t.id&&n.timestamp>t.timestamp?n:t,null)}cleanupUpdaterEntryBuffer(e){e!==void 0&&(this.updaterEntryBuffer=this.updaterEntryBuffer.filter(t=>t.id!==e))}createNewHistoryEntry(e){return{id:this.historyEntry.id+1,ref:e,updater:this.userDetails.ownAddress,timestamp:Date.now()}}initializeDefaultEntry(){this.historyEntry={id:0,ref:"",updater:this.userDetails.ownAddress,timestamp:Date.now()}}}const ll=globalThis||void 0||self;var ob={},Bp={};Bp.byteLength=$V;Bp.toByteArray=HV;Bp.fromByteArray=KV;var Qi=[],ti=[],UV=typeof Uint8Array<"u"?Uint8Array:Array,gm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Gc=0,DV=gm.length;Gc<DV;++Gc)Qi[Gc]=gm[Gc],ti[gm.charCodeAt(Gc)]=Gc;ti[45]=62;ti[95]=63;function MI(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function $V(r){var e=MI(r),t=e[0],n=e[1];return(t+n)*3/4-n}function FV(r,e,t){return(e+t)*3/4-t}function HV(r){var e,t=MI(r),n=t[0],i=t[1],s=new UV(FV(r,n,i)),o=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)e=ti[r.charCodeAt(u)]<<18|ti[r.charCodeAt(u+1)]<<12|ti[r.charCodeAt(u+2)]<<6|ti[r.charCodeAt(u+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=ti[r.charCodeAt(u)]<<2|ti[r.charCodeAt(u+1)]>>4,s[o++]=e&255),i===1&&(e=ti[r.charCodeAt(u)]<<10|ti[r.charCodeAt(u+1)]<<4|ti[r.charCodeAt(u+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function zV(r){return Qi[r>>18&63]+Qi[r>>12&63]+Qi[r>>6&63]+Qi[r&63]}function GV(r,e,t){for(var n,i=[],s=e;s<t;s+=3)n=(r[s]<<16&16711680)+(r[s+1]<<8&65280)+(r[s+2]&255),i.push(zV(n));return i.join("")}function KV(r){for(var e,t=r.length,n=t%3,i=[],s=16383,o=0,a=t-n;o<a;o+=s)i.push(GV(r,o,o+s>a?a:o+s));return n===1?(e=r[t-1],i.push(Qi[e>>2]+Qi[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],i.push(Qi[e>>10]+Qi[e>>4&63]+Qi[e<<2&63]+"=")),i.join("")}var ab={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ab.read=function(r,e,t,n,i){var s,o,a=i*8-n-1,u=(1<<a)-1,l=u>>1,h=-7,g=t?i-1:0,b=t?-1:1,w=r[e+g];for(g+=b,s=w&(1<<-h)-1,w>>=-h,h+=a;h>0;s=s*256+r[e+g],g+=b,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=n;h>0;o=o*256+r[e+g],g+=b,h-=8);if(s===0)s=1-l;else{if(s===u)return o?NaN:(w?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-l}return(w?-1:1)*o*Math.pow(2,s-n)};ab.write=function(r,e,t,n,i,s){var o,a,u,l=s*8-i-1,h=(1<<l)-1,g=h>>1,b=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=n?0:s-1,I=n?1:-1,S=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+g>=1?e+=b/u:e+=b*Math.pow(2,1-g),e*u>=2&&(o++,u/=2),o+g>=h?(a=0,o=h):o+g>=1?(a=(e*u-1)*Math.pow(2,i),o=o+g):(a=e*Math.pow(2,g-1)*Math.pow(2,i),o=0));i>=8;r[t+w]=a&255,w+=I,a/=256,i-=8);for(o=o<<i|a,l+=i;l>0;r[t+w]=o&255,w+=I,o/=256,l-=8);r[t+w-I]|=S*128};/*!
1
+ "use strict";var MC=Object.defineProperty;var __=n=>{throw TypeError(n)};var LC=(n,t,e)=>t in n?MC(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var Z=(n,t,e)=>LC(n,typeof t!="symbol"?t+"":t,e),fy=(n,t,e)=>t.has(n)||__("Cannot "+e);var T=(n,t,e)=>(fy(n,t,"read from private field"),e?e.call(n):t.get(n)),nt=(n,t,e)=>t.has(n)?__("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),$=(n,t,e,r)=>(fy(n,t,"write to private field"),r?r.call(n,e):t.set(n,e),e),_t=(n,t,e)=>(fy(n,t,"access private method"),e);var df=(n,t,e,r)=>({set _(i){$(n,t,i,e)},get _(){return T(n,t,r)}});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Qt=require("@ethersphere/bee-js");var Zn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ea(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function q0(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 UC(){this.__data__=[],this.size=0}var DC=UC;function FC(n,t){return n===t||n!==n&&t!==t}var Zv=FC,$C=Zv;function HC(n,t){for(var e=n.length;e--;)if($C(n[e][0],t))return e;return-1}var Q0=HC,zC=Q0,GC=Array.prototype,VC=GC.splice;function KC(n){var t=this.__data__,e=zC(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():VC.call(t,e,1),--this.size,!0}var jC=KC,WC=Q0;function ZC(n){var t=this.__data__,e=WC(t,n);return e<0?void 0:t[e][1]}var qC=ZC,QC=Q0;function JC(n){return QC(this.__data__,n)>-1}var YC=JC,XC=Q0;function t3(n,t){var e=this.__data__,r=XC(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}var e3=t3,n3=DC,r3=jC,i3=qC,s3=YC,o3=e3;function Al(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])}}Al.prototype.clear=n3;Al.prototype.delete=r3;Al.prototype.get=i3;Al.prototype.has=s3;Al.prototype.set=o3;var J0=Al,a3=J0;function c3(){this.__data__=new a3,this.size=0}var u3=c3;function l3(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}var f3=l3;function h3(n){return this.__data__.get(n)}var d3=h3;function p3(n){return this.__data__.has(n)}var g3=p3,y3=typeof Zn=="object"&&Zn&&Zn.Object===Object&&Zn,qv=y3,m3=qv,w3=typeof self=="object"&&self&&self.Object===Object&&self,b3=m3||w3||Function("return this")(),Qs=b3,_3=Qs,A3=_3.Symbol,Lw=A3,A_=Lw,Qv=Object.prototype,E3=Qv.hasOwnProperty,v3=Qv.toString,pf=A_?A_.toStringTag:void 0;function x3(n){var t=E3.call(n,pf),e=n[pf];try{n[pf]=void 0;var r=!0}catch{}var i=v3.call(n);return r&&(t?n[pf]=e:delete n[pf]),i}var R3=x3,S3=Object.prototype,I3=S3.toString;function k3(n){return I3.call(n)}var T3=k3,E_=Lw,O3=R3,N3=T3,C3="[object Null]",B3="[object Undefined]",v_=E_?E_.toStringTag:void 0;function P3(n){return n==null?n===void 0?B3:C3:v_&&v_ in Object(n)?O3(n):N3(n)}var Y0=P3;function M3(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}var Jv=M3,L3=Y0,U3=Jv,D3="[object AsyncFunction]",F3="[object Function]",$3="[object GeneratorFunction]",H3="[object Proxy]";function z3(n){if(!U3(n))return!1;var t=L3(n);return t==F3||t==$3||t==D3||t==H3}var Yv=z3,G3=Qs,V3=G3["__core-js_shared__"],K3=V3,hy=K3,x_=function(){var n=/[^.]+$/.exec(hy&&hy.keys&&hy.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function j3(n){return!!x_&&x_ in n}var W3=j3,Z3=Function.prototype,q3=Z3.toString;function Q3(n){if(n!=null){try{return q3.call(n)}catch{}try{return n+""}catch{}}return""}var Xv=Q3,J3=Yv,Y3=W3,X3=Jv,tB=Xv,eB=/[\\^$.*+?()[\]{}|]/g,nB=/^\[object .+?Constructor\]$/,rB=Function.prototype,iB=Object.prototype,sB=rB.toString,oB=iB.hasOwnProperty,aB=RegExp("^"+sB.call(oB).replace(eB,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function cB(n){if(!X3(n)||Y3(n))return!1;var t=J3(n)?aB:nB;return t.test(tB(n))}var uB=cB;function lB(n,t){return n==null?void 0:n[t]}var fB=lB,hB=uB,dB=fB;function pB(n,t){var e=dB(n,t);return hB(e)?e:void 0}var El=pB,gB=El,yB=Qs,mB=gB(yB,"Map"),Uw=mB,wB=El,bB=wB(Object,"create"),X0=bB,R_=X0;function _B(){this.__data__=R_?R_(null):{},this.size=0}var AB=_B;function EB(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}var vB=EB,xB=X0,RB="__lodash_hash_undefined__",SB=Object.prototype,IB=SB.hasOwnProperty;function kB(n){var t=this.__data__;if(xB){var e=t[n];return e===RB?void 0:e}return IB.call(t,n)?t[n]:void 0}var TB=kB,OB=X0,NB=Object.prototype,CB=NB.hasOwnProperty;function BB(n){var t=this.__data__;return OB?t[n]!==void 0:CB.call(t,n)}var PB=BB,MB=X0,LB="__lodash_hash_undefined__";function UB(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=MB&&t===void 0?LB:t,this}var DB=UB,FB=AB,$B=vB,HB=TB,zB=PB,GB=DB;function vl(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])}}vl.prototype.clear=FB;vl.prototype.delete=$B;vl.prototype.get=HB;vl.prototype.has=zB;vl.prototype.set=GB;var VB=vl,S_=VB,KB=J0,jB=Uw;function WB(){this.size=0,this.__data__={hash:new S_,map:new(jB||KB),string:new S_}}var ZB=WB;function qB(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}var QB=qB,JB=QB;function YB(n,t){var e=n.__data__;return JB(t)?e[typeof t=="string"?"string":"hash"]:e.map}var tp=YB,XB=tp;function t8(n){var t=XB(this,n).delete(n);return this.size-=t?1:0,t}var e8=t8,n8=tp;function r8(n){return n8(this,n).get(n)}var i8=r8,s8=tp;function o8(n){return s8(this,n).has(n)}var a8=o8,c8=tp;function u8(n,t){var e=c8(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}var l8=u8,f8=ZB,h8=e8,d8=i8,p8=a8,g8=l8;function xl(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])}}xl.prototype.clear=f8;xl.prototype.delete=h8;xl.prototype.get=d8;xl.prototype.has=p8;xl.prototype.set=g8;var tx=xl,y8=J0,m8=Uw,w8=tx,b8=200;function _8(n,t){var e=this.__data__;if(e instanceof y8){var r=e.__data__;if(!m8||r.length<b8-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new w8(r)}return e.set(n,t),this.size=e.size,this}var A8=_8,E8=J0,v8=u3,x8=f3,R8=d3,S8=g3,I8=A8;function Rl(n){var t=this.__data__=new E8(n);this.size=t.size}Rl.prototype.clear=v8;Rl.prototype.delete=x8;Rl.prototype.get=R8;Rl.prototype.has=S8;Rl.prototype.set=I8;var k8=Rl,T8="__lodash_hash_undefined__";function O8(n){return this.__data__.set(n,T8),this}var N8=O8;function C8(n){return this.__data__.has(n)}var B8=C8,P8=tx,M8=N8,L8=B8;function i0(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new P8;++t<e;)this.add(n[t])}i0.prototype.add=i0.prototype.push=M8;i0.prototype.has=L8;var U8=i0;function D8(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 F8=D8;function $8(n,t){return n.has(t)}var H8=$8,z8=U8,G8=F8,V8=H8,K8=1,j8=2;function W8(n,t,e,r,i,s){var o=e&K8,c=n.length,u=t.length;if(c!=u&&!(o&&u>c))return!1;var f=s.get(n),h=s.get(t);if(f&&h)return f==t&&h==n;var y=-1,A=!0,b=e&j8?new z8:void 0;for(s.set(n,t),s.set(t,n);++y<c;){var R=n[y],k=t[y];if(r)var S=o?r(k,R,y,t,n,s):r(R,k,y,n,t,s);if(S!==void 0){if(S)continue;A=!1;break}if(b){if(!G8(t,function(B,H){if(!V8(b,H)&&(R===B||i(R,B,e,r,s)))return b.push(H)})){A=!1;break}}else if(!(R===k||i(R,k,e,r,s))){A=!1;break}}return s.delete(n),s.delete(t),A}var ex=W8,Z8=Qs,q8=Z8.Uint8Array,Q8=q8;function J8(n){var t=-1,e=Array(n.size);return n.forEach(function(r,i){e[++t]=[i,r]}),e}var Y8=J8;function X8(n){var t=-1,e=Array(n.size);return n.forEach(function(r){e[++t]=r}),e}var t5=X8,I_=Lw,k_=Q8,e5=Zv,n5=ex,r5=Y8,i5=t5,s5=1,o5=2,a5="[object Boolean]",c5="[object Date]",u5="[object Error]",l5="[object Map]",f5="[object Number]",h5="[object RegExp]",d5="[object Set]",p5="[object String]",g5="[object Symbol]",y5="[object ArrayBuffer]",m5="[object DataView]",T_=I_?I_.prototype:void 0,dy=T_?T_.valueOf:void 0;function w5(n,t,e,r,i,s,o){switch(e){case m5:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case y5:return!(n.byteLength!=t.byteLength||!s(new k_(n),new k_(t)));case a5:case c5:case f5:return e5(+n,+t);case u5:return n.name==t.name&&n.message==t.message;case h5:case p5:return n==t+"";case l5:var c=r5;case d5:var u=r&s5;if(c||(c=i5),n.size!=t.size&&!u)return!1;var f=o.get(n);if(f)return f==t;r|=o5,o.set(n,t);var h=n5(c(n),c(t),r,i,s,o);return o.delete(n),h;case g5:if(dy)return dy.call(n)==dy.call(t)}return!1}var b5=w5;function _5(n,t){for(var e=-1,r=t.length,i=n.length;++e<r;)n[i+e]=t[e];return n}var A5=_5,E5=Array.isArray,Dw=E5,v5=A5,x5=Dw;function R5(n,t,e){var r=t(n);return x5(n)?r:v5(r,e(n))}var S5=R5;function I5(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 k5=I5;function T5(){return[]}var O5=T5,N5=k5,C5=O5,B5=Object.prototype,P5=B5.propertyIsEnumerable,O_=Object.getOwnPropertySymbols,M5=O_?function(n){return n==null?[]:(n=Object(n),N5(O_(n),function(t){return P5.call(n,t)}))}:C5,L5=M5;function U5(n,t){for(var e=-1,r=Array(n);++e<n;)r[e]=t(e);return r}var D5=U5;function F5(n){return n!=null&&typeof n=="object"}var ep=F5,$5=Y0,H5=ep,z5="[object Arguments]";function G5(n){return H5(n)&&$5(n)==z5}var V5=G5,N_=V5,K5=ep,nx=Object.prototype,j5=nx.hasOwnProperty,W5=nx.propertyIsEnumerable,Z5=N_(function(){return arguments}())?N_:function(n){return K5(n)&&j5.call(n,"callee")&&!W5.call(n,"callee")},q5=Z5,s0={exports:{}};function Q5(){return!1}var J5=Q5;s0.exports;(function(n,t){var e=Qs,r=J5,i=t&&!t.nodeType&&t,s=i&&!0&&n&&!n.nodeType&&n,o=s&&s.exports===i,c=o?e.Buffer:void 0,u=c?c.isBuffer:void 0,f=u||r;n.exports=f})(s0,s0.exports);var rx=s0.exports,Y5=9007199254740991,X5=/^(?:0|[1-9]\d*)$/;function t4(n,t){var e=typeof n;return t=t??Y5,!!t&&(e=="number"||e!="symbol"&&X5.test(n))&&n>-1&&n%1==0&&n<t}var e4=t4,n4=9007199254740991;function r4(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=n4}var ix=r4,i4=Y0,s4=ix,o4=ep,a4="[object Arguments]",c4="[object Array]",u4="[object Boolean]",l4="[object Date]",f4="[object Error]",h4="[object Function]",d4="[object Map]",p4="[object Number]",g4="[object Object]",y4="[object RegExp]",m4="[object Set]",w4="[object String]",b4="[object WeakMap]",_4="[object ArrayBuffer]",A4="[object DataView]",E4="[object Float32Array]",v4="[object Float64Array]",x4="[object Int8Array]",R4="[object Int16Array]",S4="[object Int32Array]",I4="[object Uint8Array]",k4="[object Uint8ClampedArray]",T4="[object Uint16Array]",O4="[object Uint32Array]",ze={};ze[E4]=ze[v4]=ze[x4]=ze[R4]=ze[S4]=ze[I4]=ze[k4]=ze[T4]=ze[O4]=!0;ze[a4]=ze[c4]=ze[_4]=ze[u4]=ze[A4]=ze[l4]=ze[f4]=ze[h4]=ze[d4]=ze[p4]=ze[g4]=ze[y4]=ze[m4]=ze[w4]=ze[b4]=!1;function N4(n){return o4(n)&&s4(n.length)&&!!ze[i4(n)]}var C4=N4;function B4(n){return function(t){return n(t)}}var P4=B4,o0={exports:{}};o0.exports;(function(n,t){var e=qv,r=t&&!t.nodeType&&t,i=r&&!0&&n&&!n.nodeType&&n,s=i&&i.exports===r,o=s&&e.process,c=function(){try{var u=i&&i.require&&i.require("util").types;return u||o&&o.binding&&o.binding("util")}catch{}}();n.exports=c})(o0,o0.exports);var M4=o0.exports,L4=C4,U4=P4,C_=M4,B_=C_&&C_.isTypedArray,D4=B_?U4(B_):L4,sx=D4,F4=D5,$4=q5,H4=Dw,z4=rx,G4=e4,V4=sx,K4=Object.prototype,j4=K4.hasOwnProperty;function W4(n,t){var e=H4(n),r=!e&&$4(n),i=!e&&!r&&z4(n),s=!e&&!r&&!i&&V4(n),o=e||r||i||s,c=o?F4(n.length,String):[],u=c.length;for(var f in n)(t||j4.call(n,f))&&!(o&&(f=="length"||i&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||G4(f,u)))&&c.push(f);return c}var Z4=W4,q4=Object.prototype;function Q4(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||q4;return n===e}var J4=Q4;function Y4(n,t){return function(e){return n(t(e))}}var X4=Y4,tP=X4,eP=tP(Object.keys,Object),nP=eP,rP=J4,iP=nP,sP=Object.prototype,oP=sP.hasOwnProperty;function aP(n){if(!rP(n))return iP(n);var t=[];for(var e in Object(n))oP.call(n,e)&&e!="constructor"&&t.push(e);return t}var cP=aP,uP=Yv,lP=ix;function fP(n){return n!=null&&lP(n.length)&&!uP(n)}var hP=fP,dP=Z4,pP=cP,gP=hP;function yP(n){return gP(n)?dP(n):pP(n)}var mP=yP,wP=S5,bP=L5,_P=mP;function AP(n){return wP(n,_P,bP)}var EP=AP,P_=EP,vP=1,xP=Object.prototype,RP=xP.hasOwnProperty;function SP(n,t,e,r,i,s){var o=e&vP,c=P_(n),u=c.length,f=P_(t),h=f.length;if(u!=h&&!o)return!1;for(var y=u;y--;){var A=c[y];if(!(o?A in t:RP.call(t,A)))return!1}var b=s.get(n),R=s.get(t);if(b&&R)return b==t&&R==n;var k=!0;s.set(n,t),s.set(t,n);for(var S=o;++y<u;){A=c[y];var B=n[A],H=t[A];if(r)var U=o?r(H,B,A,t,n,s):r(B,H,A,n,t,s);if(!(U===void 0?B===H||i(B,H,e,r,s):U)){k=!1;break}S||(S=A=="constructor")}if(k&&!S){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)&&(k=!1)}return s.delete(n),s.delete(t),k}var IP=SP,kP=El,TP=Qs,OP=kP(TP,"DataView"),NP=OP,CP=El,BP=Qs,PP=CP(BP,"Promise"),MP=PP,LP=El,UP=Qs,DP=LP(UP,"Set"),FP=DP,$P=El,HP=Qs,zP=$P(HP,"WeakMap"),GP=zP,bm=NP,_m=Uw,Am=MP,Em=FP,vm=GP,ox=Y0,Sl=Xv,M_="[object Map]",VP="[object Object]",L_="[object Promise]",U_="[object Set]",D_="[object WeakMap]",F_="[object DataView]",KP=Sl(bm),jP=Sl(_m),WP=Sl(Am),ZP=Sl(Em),qP=Sl(vm),la=ox;(bm&&la(new bm(new ArrayBuffer(1)))!=F_||_m&&la(new _m)!=M_||Am&&la(Am.resolve())!=L_||Em&&la(new Em)!=U_||vm&&la(new vm)!=D_)&&(la=function(n){var t=ox(n),e=t==VP?n.constructor:void 0,r=e?Sl(e):"";if(r)switch(r){case KP:return F_;case jP:return M_;case WP:return L_;case ZP:return U_;case qP:return D_}return t});var QP=la,py=k8,JP=ex,YP=b5,XP=IP,$_=QP,H_=Dw,z_=rx,tM=sx,eM=1,G_="[object Arguments]",V_="[object Array]",_d="[object Object]",nM=Object.prototype,K_=nM.hasOwnProperty;function rM(n,t,e,r,i,s){var o=H_(n),c=H_(t),u=o?V_:$_(n),f=c?V_:$_(t);u=u==G_?_d:u,f=f==G_?_d:f;var h=u==_d,y=f==_d,A=u==f;if(A&&z_(n)){if(!z_(t))return!1;o=!0,h=!1}if(A&&!h)return s||(s=new py),o||tM(n)?JP(n,t,e,r,i,s):YP(n,t,u,e,r,i,s);if(!(e&eM)){var b=h&&K_.call(n,"__wrapped__"),R=y&&K_.call(t,"__wrapped__");if(b||R){var k=b?n.value():n,S=R?t.value():t;return s||(s=new py),i(k,S,e,r,s)}}return A?(s||(s=new py),XP(n,t,e,r,i,s)):!1}var iM=rM,sM=iM,j_=ep;function ax(n,t,e,r,i){return n===t?!0:n==null||t==null||!j_(n)&&!j_(t)?n!==n&&t!==t:sM(n,t,e,r,ax,i)}var oM=ax,aM=oM;function cM(n,t){return aM(n,t)}var uM=cM;const lM=ea(uM),$n=[];for(let n=0;n<256;++n)$n.push((n+256).toString(16).slice(1));function fM(n,t=0){return($n[n[t+0]]+$n[n[t+1]]+$n[n[t+2]]+$n[n[t+3]]+"-"+$n[n[t+4]]+$n[n[t+5]]+"-"+$n[n[t+6]]+$n[n[t+7]]+"-"+$n[n[t+8]]+$n[n[t+9]]+"-"+$n[n[t+10]]+$n[n[t+11]]+$n[n[t+12]]+$n[n[t+13]]+$n[n[t+14]]+$n[n[t+15]]).toLowerCase()}let gy;const hM=new Uint8Array(16);function dM(){if(!gy){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");gy=crypto.getRandomValues.bind(crypto)}return gy(hM)}const pM=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),W_={randomUUID:pM};function gM(n,t,e){if(W_.randomUUID&&!t&&!n)return W_.randomUUID();n=n||{};const r=n.random||(n.rng||dM)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,fM(r)}function xm(n){return new Promise(t=>{setTimeout(t,n)})}function Ff(n){return(n.startsWith("0x")?n.slice(2):n).toLowerCase()}class Qi{constructor(){}static getInstance(){return Qi.instance||(Qi.instance=new Qi),Qi.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 np{constructor(){this.logger=Qi.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 yM=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))}};class Z_{constructor(t={}){this.tasks=[],this.isProcessing=!1,this.isWaiting=!1,this.errorHandler=new np,this.clearWaitTime=t.clearWaitTime||500}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.tasks.length>0;){const t=this.tasks.shift();if(t)try{const e=t();e instanceof Promise&&await e}catch(e){this.errorHandler.handleError(e,"Queue.processQueue")}}this.isProcessing=!1}}enqueue(t){this.tasks.push(t),this.processQueue()}async waitForProcessing(){if(this.isWaiting)return!0;for(this.isWaiting=!0;this.isProcessing;)await xm(this.clearWaitTime);return this.isWaiting=!1,!1}}var cx={};(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(a){return new Promise((l,d)=>a.then(d,l))}async function r(a){return e(Promise.all(a.map(e)))}async function i(a,l=1){const d=Kb(a,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(a){return new Promise(l=>setTimeout(()=>{l(!0)},a))}function o(a,l=Math.random){for(let d=a.length-1;d>0;d--){const g=Math.floor(l()*(d+1)),x=a[d];a[d]=a[g],a[g]=x}return a}function c(a){if(a.length===1)return a[0];throw Error(`Expected exactly one element, actual: ${a.length}`)}function u(a){return a.length===1?a[0]:null}function f(a){return a.length>0?a[0]:null}function h(a){if(!a.length)throw Error("Received empty array");return a[0]}function y(a,l){const d=[];for(let g=0;g<a;g++)d.push(l(g));return d}function A(a){const l=[];for(let d=0;d<a[0].length;d++){l.push([]);for(let g=0;g<a.length;g++)l[d].push(a[g][d])}return l}function b(a,l,d){const g=[];for(let x=0;x<a;x++){g.push([]);for(let L=0;L<l;L++)g[x].push(d)}return g}function R(a,l,d,g){if(d<0||g<0||g+l[0].length>a[0].length||d+l.length>a.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&&a[d+x][g+L]!==l[x][L])return!1;return!0}function k(a,l,d=Math.random){return o(db(0,a.length-1),d).slice(0,l)}function S(a,l){return a.map(d=>d[l])}function B(a){let l=a,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(a,l,d=Math.random){return Math.floor(d()*(l-a+1))+a}function U(a,l,d=Math.random){return d()*(l-a)+a}function G(){return Math.random()*2-1}function W(a,l,d){return l>=a.x&&l<a.x+a.width&&d>=a.y&&d<a.y+a.height}function Y(a,l,d,g=Math.random){let x,L;do x=H(0,a-1,g),L=H(0,l-1,g);while(d&&W(d,x,L));return[x,L]}function j(a,l=Math.random){const d=Math.floor(a),g=a-d;return J(g,l)?d+1:d}function J(a,l=Math.random){return l()<a}function it(a,l=Math.random){return a[Math.floor(a.length*l())]}function ut(a,l,d=Math.random){if(l>a.length)throw new Error(`Count (${l}) is greater than array length (${a.length})`);return k(a,l,d).map(g=>a[g])}function rt(a,l,d,g=Math.random){if(l>a.length)throw new Error(`Count (${l}) is greater than array length (${a.length})`);const x=[];for(;x.length<l;){const L=it(a,g);x.some(Q=>d(Q,L))||x.push(L)}return x}function ot(a,l,d,g,x,L=Math.random){const Q=a.filter(at=>at!==l&&at!==d),lt=[];for(l!==null&&lt.push(l);Q.length&&lt.length<g;){const at=n.Random.intBetween(0,Q.length-1,L);x(Q[at],lt)&&lt.push(Q[at]),Q.splice(at,1)}return o(lt,L),{values:lt,indexOfGuaranteed:l!==null?lt.indexOf(l):-1}}function C(a){if(!a.length)throw Error("Received empty array");return a[a.length-1]}function p(a,l,d){return d(l.reduce((g,x)=>x(g),a))}function m(a,l){return d=>p(d,a,l)}function v(a,l,d){if(d===void 0&&(d=Math.random()),a.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<a.length-1;L++)if(g-=l[L],x>=g)return a[L];return C(a)}function I(a,l,d=Math.random){const g=l.map(L=>d()*L),x=[];for(let L=0;L<a.length;L++)x.push([a[L],g[L]]);return x.sort((L,Q)=>Q[1]-L[1]).map(L=>L[0])}function N(a,l){if(a==null)return null;const d=l.split(".");let g=a;for(const x of d){if(g[x]===null||g[x]===void 0)return null;g=g[x]}return g}function M(a,l,d){const g=l.split(/\.|\[/);let x=a;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;Qe(x[at])||(lt?x[at]=[]:x[at]={}),x=x[at]}return d}function z(a,l,d=1){const g=N(a,l)||0;return M(a,l,g+d),g}function P(a,l,d){return N(a,l)||M(a,l,d)}function _(a,l){const d=Qp(l,"."),g=gb(l,".");if(!d||!g)return;const x=N(a,d);delete x[g]}function F(a,l,d){const g=N(a,l);if(!g)throw new Error("Key '"+l+"' does not exist.");return M(a,l,d),g}function ct(a,l,d){for(const g of l){const x=N(a,g);if(x)return x}if(d){const g=Object.values(a);if(g.length)return g[0]}return null}async function ft(a,l,d){for(;;){try{await a()}catch(g){d&&d("Error in forever",g)}await s(l)}}function mt(a,l){a();const d=setInterval(()=>{a()},l);return()=>clearInterval(d)}function Ht(a){return a/1024/1024}function Lt(a){return a>=1024*1024*1024*1024?(a/1024/1024/1024/1024).toFixed(3)+" TB":a>=1024*1024*1024?(a/1024/1024/1024).toFixed(3)+" GB":a>=1024*1024?(a/1024/1024).toFixed(3)+" MB":a>=1024?(a/1024).toFixed(3)+" KB":a+" B"}function Mt(a){const l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a.toLowerCase());if(!l)throw new Error("Invalid hex color: "+a);return[parseInt(l[1],16),parseInt(l[2],16),parseInt(l[3],16)]}function Ae(a){return"#"+a.map(l=>l.toString(16).padStart(2,"0")).join("")}function Vt(a,l,d,g){const x=a*Math.PI/180,L=d*Math.PI/180,Q=(d-a)*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 Ut(a,l){return Math.round(a/l)*l}function Re(a){return a>1e3?(a/1e3).toFixed(0)+" km":a>=500?Ut(a,100)+" m":a>=100?Ut(a,50)+" m":Ut(a,10)+" m"}function Yt(a){return a*(a+1)/2}function ie(a){const l=a.match(/-?\d+(\.\d+)?/);if(!l)throw Error("No float found in "+a);return parseFloat(l[0])}function Qe(a,l=!0){return!a||l&&!Ee(a._readableState)||l&&a.constructor&&(a.constructor.isBuffer||a.constructor.name=="Uint8Array"||a.constructor.name==="ArrayBuffer"||a.constructor.name==="ReadableStream")?!1:typeof a=="object"}function ce(a){return Qe(a)&&!Array.isArray(a)}function Me(a){return Array.isArray(a)&&a.length===0}function Xs(a){return ce(a)&&Object.keys(a).length===0}function Ee(a){return a===void 0}function Ie(a){return Object.prototype.toString.call(a)==="[object Function]"||Object.prototype.toString.call(a)==="[object AsyncFunction]"}function _n(a){return Object.prototype.toString.call(a)==="[object String]"}function ue(a){return typeof a=="number"&&isFinite(a)}function ve(a){return a===!0||a===!1}function Je(a){return Object.prototype.toString.call(a)==="[object Date]"}function me(a){return!_n(a)||a.trim().length===0}function ke(a){return ue(a)&&Number.isInteger(a)&&a>=1}function Jn(a){return _n(a)&&a.match(/^-?\d+$/)!==null}function Le(a){return _n(a)&&a.match(/^(0x)?[0-9a-f]+$/i)!==null}const O="!@#$%^&*()_+-=[]{}|;:<>?,./",w="!@#$%^&*()_+-=[]{}|;:<>?,./".split(""),E="abcdefghijklmnopqrstuvwxyz",D="ABCDEFGHIJKLMNOPQRSTUVWXYZ",V="1234567890",q=E+D+V,st=q+O,Wt=["—","\\","東","京","都","𝖆","𝖇","𝖈","👾","🙇","💁","🙅","ᚠ","ᛇ","ᚻ","ᛦ"],jt="0123456789abcdef";function Kt(a,l=Math.random){let d="";for(let g=0;g<a;g++)d+=E[Math.floor(l()*E.length)];return d}function Ue(a,l=Math.random){let d="";for(let g=0;g<a;g++)d+=q[Math.floor(l()*q.length)];return d}function Ft(a,l=Math.random){let d="";for(let g=0;g<a;g++)d+=st[Math.floor(l()*st.length)];return d}function on(a,l=Math.random){let d="";for(let g=0;g<a;g++)d+=Wt[Math.floor(l()*Wt.length)];return d}function sd(a,l){const d=new RegExp(`[0-9a-f]{${l}}`,"i"),g=a.match(d);return g?g[0]:null}function an(a,l,d=w){const g=yb(a,d);for(const x of g)if(l(x))return x;return null}function cn(a,l=Math.random){let d="";for(let g=0;g<a;g++)d+=jt[Math.floor(l()*jt.length)];return d}function od(a,l){if(!Jn(a))throw new TypeError(`Expected integer string${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);const d=BigInt(a);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 a}function Ye(a,l){if(me(a))throw new TypeError(`Expected string${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);if(l&&(l.min!==void 0&&a.length<l.min||l.max!==void 0&&a.length>l.max))throw RangeError(`Expected string${l!=null&&l.name?` for ${l.name}`:""} length in range: ${l.min??"-inf"}..${l.max??"inf"}; got: ${a.length}`);return a}function un(a,l){if(!Le(a))throw new TypeError(`Expected hex string${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);const d=a.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 ad(a,l){if(!Ye(a,l).split("").every(d=>d==="_"||Xl(d)))throw new TypeError(`Expected safe string${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function Xe(a,l){if(l.min!==void 0&&a<l.min||l.max!==void 0&&a>l.max)throw RangeError(`Expected value${l!=null&&l.name?` for ${l.name}`:""} in range: ${l.min??"-inf"}..${l.max??"inf"}; got: ${a}`)}function ln(a,l){if(!Ie(a))throw new TypeError(`Expected function${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function ia(a,l){if(ue(a))return l&&Xe(a,l),a;if(!_n(a)||!a.match(/^-?\d+(\.\d+)?$/))throw new TypeError(`Expected number${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);const d=parseFloat(a);return l&&Xe(d,l),d}function je(a,l){return ia(a,l)|0}function fn(a,l){if(a==="true")return!0;if(a==="false")return!1;if(!ve(a))throw new TypeError(`Expected boolean${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function cd(a,l){if(!Je(a))throw new TypeError(`Expected date${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function hn(a){return me(a)?null:a}function dn(a,l){if(!_n(a))throw new TypeError(`Expected string${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function ud(a,l){if(ke(a))return a;const d=parseInt(a,10);if(!ke(d))throw new TypeError(`Expected id${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return d}function pn(a,l){if(!_n(a))throw new TypeError(`Expected time${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);const d=a.split(":");if(d.length!==2)throw new TypeError(`Expected time${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);const g=parseInt(d[0],10),x=parseInt(d[1],10);if(!ue(g)||!ue(x)||g<0||g>23||x<0||x>59)throw new TypeError(`Expected time, got${l!=null&&l.name?` for ${l.name}`:""}: `+a);return`${String(g).padStart(2,"0")}:${String(x).padStart(2,"0")}`}function gn(a,l){if(!Array.isArray(a))throw new TypeError(`Expected array${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function sa(a,l){if(!ce(a))throw new TypeError(`Expected object${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function yn(a,l){return a===null?null:sa(a,l)}function mn(a,l){const d=sa(a,l);for(const g of Object.keys(d))if(!_n(d[g]))throw new TypeError(`Expected string map${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return d}function Fl(a,l){const d=sa(a),g=Object.keys(d),x=Object.values(d);if(!g.every(_n)||!x.every(ue))throw new TypeError(`Expected numeric dictionary${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return d}function Ic(a){return _n(a)&&a.match(/^https?:\/\/.+/)!==null}function $l(a,l){if(!Ic(a))throw new TypeError(`Expected url${l!=null&&l.name?` for ${l.name}`:""}, got: `+a);return a}function Hl(a,l){return l==null?!0:a(l)}function zl(a,l){return l==null?null:a(l)}function Gl(a,l){return l==null?void 0:a(l)}function kc(a,l){for(const[d,g]of Object.entries(l))if(!g(a[d]))throw TypeError(`${d} in value does not exist or match shape`);for(const d of Object.keys(a))if(!l[d])throw TypeError(`${d} exists in value but not in shape`);return!0}function Vl(a,l){return a.every(d=>kc(d,l))}function ls(a,l="json",d=0){if(Qe(a,!1)){if(d>1)return"[object Object]";if(l==="json"){if(Array.isArray(a)){const x=a.map(L=>ls(L,"json",d+1));return d===0?JSON.stringify(x):x}const g={};a.message&&(g.message=ls(a.message,"json",d+1));for(const[x,L]of Object.entries(a))g[x]=ls(L,"json",d+1);return d===0?JSON.stringify(g):g}else if(l==="key-value"){const g=Object.keys(a);return a.message&&!g.includes("message")&&g.unshift("message"),g.map(x=>`${x}=${JSON.stringify(ls(a[x],"json",d+1))}`).join(" ")}}return Ee(a)&&(a="undefined"),d===0?JSON.stringify(a):a}function Kl(a,l){if(_n(a))return a;const d=Object.keys(a);a.message&&!d.includes("message")&&d.push("message");const g=d.map(x=>`${x}: ${a[x]}`).join("; ");return l&&a.stack?g+`
2
+ `+a.stack:g}function ci(a,l){if(ce(a)&&ce(l))for(const d in l)ce(l[d])?(a[d]||(a[d]={}),ci(a[d],l[d])):Array.isArray(l[d])?a[d]=[...l[d]]:(l[d]!==null&&l[d]!==void 0||a[d]===null||a[d]===void 0)&&(a[d]=l[d]);return a}function jl(a,l){const d={};return ci(d,a),ci(d,l),d}function Wl(a,l,d){const g={};return ci(g,a),ci(g,l),ci(g,d),g}function Tc(a,l){const d={};for(const g of a)for(const x of Object.keys(g))d[x]?d[x]=l(d[x],g[x]):d[x]=g[x];return d}function Zl(a){return Tc(a,(l,d)=>l+d)}function ql(a,l,d){a[l]||(a[l]=[]),a[l].push(d)}function Ql(a,l,d){for(a.unshift(l);a.length>d;)a.pop()}function Jl(a,l){let d=l%a.length;return d<0&&(d+=a.length),a[d]}function to(a,l){Array.prototype.push.apply(a,l)}function BT(a,l){Array.prototype.unshift.apply(a,l)}async function PT(a,l){const d=[];for(const g of a)d.push(await l(g));return d}function MT(a,l){const d=[];for(let g=0;g<a.length;g++)d.push(a[g]),g<a.length-1&&(Ie(l)?d.push(l()):d.push(l));return d}function LT(a,l){if(a!==l)throw Error(`Expected [${a}] to equal [${l}]`);return[a,l]}function UT(a){if(a!==!0)throw Error(`Expected [true], got: [${a}]`);return a}function DT(a){if(!a)throw Error(`Expected truthy value, got: [${a}]`);return a}function FT(a){if(a!==!1)throw Error(`Expected [false], got: [${a}]`);return a}function $T(a){if(a)throw Error(`Expected falsy value, got: [${a}]`);return a}function HT(a,l){if(!l.includes(a))throw Error(`Expected any of [${l.join(", ")}], got: [${a}]`);return a}function zT(a,l){for(let d=0;d<a.length;d++){const g=a[d],x=l[d],L=Math.max(0,x.getTime()-Date.now());setTimeout(g,L)}}function GT(a,l,d){return a+(l-a)*d}function VT(a){return a.reduce((l,d)=>l+d,0)}function KT(a){return a.reduce((l,d)=>l+d,0)/a.length}function jT(a){const l=[...a].sort((g,x)=>g-x),d=Math.floor(l.length/2);return l.length%2===0?(l[d]+l[d-1])/2:l[d]}function WT(a,l){return a-(l-1)/2}function db(a,l){const d=[];for(let g=a;g<=l;g++)d.push(g);return d}function ZT(a,l){return l.some(d=>a.includes(d))}function qT(a){return/^[\u4E00-\u9FA5]+$/.test(a)}function Zp(a,l=()=>!1){return a.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").split("").map(d=>/[a-z0-9]/.test(d)||l(d)?d:"-").join("").replace(/-+/g,"-").replace(/^-|-$/g,"")}function QT(a){return Zp(a).replaceAll("-","")}function JT(a){return fd(a.replace(/([A-Z])/g," $1"))}function YT(a){return a.split("-").map(fd).join(" ")}function XT(a){return wb(a.split("-").map(fd).join(""))}function tO(a,l=", ",d=" and "){return!a||!a.length?"":a.length===1?a[0]:a.length===2?`${a[0]}${d}${a[1]}`:`${a.slice(0,a.length-1).join(l)}${d}${a[a.length-1]}`}function eO(a,l){return l+a.split("").join(l)+l}function nO(a){return Zp(a).replace(/-/g,"_").toUpperCase()}function ld(a,l){if(l.length===0)return 0;const d=a.toLowerCase(),g=l.toLowerCase();return a===l?1e4:d.startsWith(g)?1e4-a.length:d.includes(g)?5e3-a.length:new RegExp(".*"+g.split("").join(".*")+".*").test(d)?1e3-a.length:0}function rO(a,l){return a.filter(d=>ld(d,l)).sort((d,g)=>ld(g,l)-ld(d,l))}function iO(a){return a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}const sO={"&amp;":"&","&quot;":'"',"&apos;":"'","&gt;":">","&lt;":"<"};function oO(a){let l=a.replace(/&#(\d+);/g,(d,g)=>String.fromCharCode(g)).replace(/&#x(\d+);/g,(d,g)=>String.fromCharCode(parseInt(g,16)));for(const[d,g]of Object.entries(sO))l=l.replaceAll(d,g);return l}function pb(a,l){const d=a.indexOf(l);return d===-1?null:a.slice(0,d)}function qp(a,l){const d=a.indexOf(l);return d===-1?null:a.slice(d+l.length)}function Qp(a,l){const d=a.lastIndexOf(l);return d===-1?null:a.slice(0,d)}function gb(a,l){const d=a.lastIndexOf(l);return d===-1?null:a.slice(d+l.length)}function aO(a,l,d){const g=Qp(a,d);return g?qp(g,l):null}function cO(a,l,d){const g=qp(a,l);return g?pb(g,d):null}function Jp(a,l,d=!1){const g=d?a.lastIndexOf(l):a.indexOf(l);return g===-1?d?[null,a]:[a,null]:[a.slice(0,g),a.slice(g+l.length)]}function yb(a,l){let d=[a];for(const g of l)d=d.flatMap(x=>x.split(g));return d.filter(g=>g)}function Yp(a){const l=C(a.split(/\\|\//g)),d=l.lastIndexOf(".",l.length-1);return d<=0?"":l.slice(d+1)}function Xp(a){const l=C(a.split(/\\|\//g)),d=l.lastIndexOf(".",l.length-1);return d<=0?l:l.slice(0,d)}function uO(a){let[l,d]=a.split("@");l=Yl(l.replaceAll(".","").toLowerCase()).replaceAll(" ","");const[g]=l.split("+");if(!g||!d||d.indexOf(".")===-1||d.indexOf(".")===d.length-1)throw new Error("Invalid email");return d=Yl(d.toLowerCase()).replaceAll(" ",""),`${g}@${d}`}function lO(a){const l=Xp(a),d=Yp(a);return d?`${l}.${d}`:l}function fO(a){const l=Xp(a),d=Yp(a);return{basename:l,extension:d,filename:d?`${l}.${d}`:l}}function hO(a,l=Math.random){return a.replace(/\{(.+?)\}/g,(d,g)=>it(g.split("|"),l))}function mb(a){const l=/\{(.+?)\}/,d=a.match(l);if(!d||!d.index)return[a];const g=d[1].split(","),x=a.slice(0,d.index),L=a.slice(d.index+d[0].length);let Q=[];for(const lt of g){const at=mb(x+lt+L);Q=Q.concat(at)}return Q}function Yl(a){return a.split(`
3
+ `).map(l=>l.trim().replace(/\s+/g," ")).filter(l=>l.length>0).join(`
4
+ `)}function fd(a){return a.charAt(0).toUpperCase()+a.slice(1)}function wb(a){return a.charAt(0).toLowerCase()+a.slice(1)}function bb(a){if(!a)return!1;const l=a.charCodeAt(0);return l>=65&&l<=90||l>=97&&l<=122}function _b(a){if(!a)return!1;const l=a.charCodeAt(0);return l>=48&&l<=57}function Xl(a){return bb(a)||_b(a)}const dO=`
5
+ \r.,?!:;"'\`(){}[]~@#$%^&*-+=|<>/\\`.split("");function pO(a){return dO.includes(a)}function gO(a){return Xl(a)||a==="."||a==="["||a==="]"||a==="_"}function yO(a,l,d,g,x){return a.slice(0,l)+g+a.slice(l,l+d)+x+a.slice(l+d)}function Ab(a,l,d=0){const g=l.exec(a.slice(d));return g?{index:g.index,match:g[0]}:null}function Eb(a,l,d=!0){if(!d)return l.every(x=>x instanceof RegExp?x.test(a):a.indexOf(x,0)!==-1);let g=0;for(const x of l)if(x instanceof RegExp){const L=Ab(a,x,g);if(!L)return!1;g=L.index+L.match.length}else{const L=a.indexOf(x,g);if(L===-1)return!1;g=L+x.length}return!0}function mO(a,l,d=!0){let g=0;for(const x of l){let L=!1;for(;!L&&g<a.length;)Eb(a[g],x,d)&&(L=!0),g++;if(!L)return!1}return!0}function wO(a){return a.match(/"|,/)?`"${a.replace(/"/g,'""')}"`:a}function Oc(a,l,d=0){let g=-1;for(const x of l){const L=a.indexOf(x,d);L!==-1&&(g===-1||L<g)&&(g=L)}return g}function bO(a,l=0){for(let d=l;d<a.length;d++)if(pO(a[d]))return d;return-1}function _O(a,l=0){for(let d=l;d<a.length;d++)if(a[d]==="#"&&Xl(a[d+1]))return d;return-1}function vb(a,l,d=0){return a.slice(0,d).lastIndexOf(l)}function xb(a,l=0,d="{",g="}"){let x=1;for(let L=l;L<a.length;L++)if(a.slice(L,L+g.length)===g){if(--x===0)return L}else a.slice(L,L+d.length)===d&&x++;return-1}function Rb(a,l){const d=l.wordBoundary?Oc(a,[`${l.opening} `,`${l.opening}
6
+ `],l.start||0):a.indexOf(l.opening,l.start||0);if(d===-1)return null;const g=xb(a,d+l.opening.length,l.opening,l.closing);return g===-1?null:l.exclusive?a.slice(d+l.opening.length,g):a.slice(d,g+l.closing.length)}function AO(a,l){const d=[];let g=l.wordBoundary?Oc(a,[`${l.opening} `,`${l.opening}
7
+ `],l.start||0):a.indexOf(l.opening,l.start||0);for(;;){if(g===-1)return d;const x=Rb(a,{...l,start:g});if(!x)return d;d.push(x),g=l.wordBoundary?Oc(a,[`${l.opening} `,`${l.opening}
8
+ `],g+x.length):a.indexOf(l.opening,g+x.length)}}function EO(a,l,d){let g=0;for(;;){const x=n.Strings.extractBlock(a,{...d,start:g});if(!x)return a;const L=l(x);g=a.indexOf(x,g)+L.length,a=a.replace(x,L)}}function vO(a,l){const d=[];let g=0;for(;g<a.length;){const x=a.indexOf(l,g);if(x===-1){d.push({string:a.slice(g),symbol:null});break}const L=a.indexOf(l,x+l.length);if(x>g&&L!==-1&&d.push({string:a.slice(g,x),symbol:null}),L===-1){d.push({string:a.slice(g),symbol:null});break}d.push({string:a.slice(x+l.length,L),symbol:l}),g=L+l.length}return d}function xO(a){const l=[];let d=0;for(;d<a.length;){const g=_O(a,d);if(g===-1){l.push({string:a.slice(d),symbol:null});break}const x=bO(a,g+1);if(x===-1){l.push({string:a.slice(d,g),symbol:null}),l.push({string:a.slice(g+1),symbol:"#"});break}g>d&&l.push({string:a.slice(d,g),symbol:null}),l.push({string:a.slice(g+1,x),symbol:"#"}),d=x}return l}function RO(a){const l=[];let d=0;for(;d<a.length;){const g=Oc(a,["http://","https://"],d);if(g===-1){l.push({string:a.slice(d),symbol:null});break}const x=Oc(a,[" ",`
9
+ `],g);if(x===-1){g>d&&l.push({string:a.slice(d,g),symbol:null}),l.push({string:a.slice(g),symbol:"http"});break}g>d&&l.push({string:a.slice(d,g),symbol:null}),l.push({string:a.slice(g,x),symbol:"http"}),d=x}return l}const Sb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ib="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";function SO(a){return kb(a,Sb)}function IO(a){return Tb(a,Sb)}function kO(a){return kb(a,Ib)}function TO(a){return Tb(a,Ib)}function kb(a,l){const d="=",g=l.length;let x=0,L=0;const Q=[];for(let lt=0;lt<a.length;lt++){const at=a[lt];if(at===d)break;const Ct=l.indexOf(at);if(Ct===-1)throw new Error(`Invalid character: ${at}`);L=L<<Math.log2(g)|Ct,x+=Math.log2(g),x>=8&&(x-=8,Q.push(L>>x&255))}return new Uint8Array(Q)}function Tb(a,l){const d=l.length;let g=0,x=0,L="";for(let Q=0;Q<a.length;Q++)for(x=x<<8|a[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 OO(a){a.startsWith("0x")&&(a=a.slice(2));const l=a.length/2,d=new Uint8Array(l);for(let g=0;g<l;g++){const x=parseInt(a.slice(g*2,g*2+2),16);d[g]=x}return d}function NO(a){return Array.from(a).map(l=>l.toString(16).padStart(2,"0")).join("")}function CO(a,l){const d=a.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 tg(a,l,d){const g=[];for(const x of d)x!==l&&g.push(a.replace(l,x));return g}function BO(a,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(Ct=>Ct!==Q.avoid),at=lt.find(Ct=>a.includes(Ct));if(at&&(to(L,tg(a,at,lt)),L.length>=d))break}if(L.length<d)for(const Q of x){const lt=Q.variants.find(at=>a.includes(at));if(lt&&(to(L,tg(a,lt,Q.variants)),L.length>=d))break}return L.slice(0,d)}function PO(a,l,d,g=!1){const x=new RegExp(g?`(?<=\\s|^)${l}(?=\\s|$)`:`\\b${l}\\b`,"g");return a.replace(x,d)}function MO(a,l){const d=/\b[A-Z][a-zA-Z0-9]*\b/g;return a.replace(d,g=>g.toUpperCase()===g?g:l(g))}function LO(a){return a.replace(/<[^>]*>/g,"")}function Ob(a){const l=a.lastIndexOf(" ");if(l===-1)return{line:a,rest:""};const d=a.slice(0,l),g=a.slice(l+1);return{line:d,rest:g}}function UO(a,l={}){return[...a].reduce((d,g)=>d+(l[g]||1),0)}function DO(a,l,d={}){const g=[];let x="",L=0;for(let Q=0;Q<a.length;Q++){const lt=a[Q],at=d[lt]||1;if(x+=lt,L+=at,L>l){const{line:Ct,rest:Ce}=Ob(x);g.push(Ct),x=Ce,L=Ce.split("").map(Cn=>d[Cn]||1).reduce((Cn,Pc)=>Cn+Pc,0)}}return x&&g.push(x),g}function FO(a,l){const d=[];for(let g=0;g<=a.length;g++)d[g]=[g];for(let g=0;g<=l.length;g++)d[0][g]=g;for(let g=1;g<=a.length;g++)for(let x=1;x<=l.length;x++){const L=a[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[a.length][l.length]}function eg(a,l){return new RegExp(`\\b${l}\\b`).test(a)}function $O(a,l,d){return d==="any"?l.some(g=>eg(a,g)):l.every(g=>eg(a,g))}function HO(a){const l={},d=a.match(/([a-z\-]+)="([^"]+)"/g);if(d)for(const g of d){const[x,L]=Jp(g,"=");l[x]=L.slice(1,L.length-1)}return l}function hd(a,l,d=[]){let g="";for(;l<a.length&&(Xl(a[l])||d.includes(a[l]));)g+=a[l++];return g}function zO(a,l,d="$",g=":"){for(const x in l)a=Nb(a,x,l[x],d,g);return a=Cb(a),a}function Nb(a,l,d,g="$",x=":"){if(d==="")return a;let L=a.indexOf(`${g}${l}`);for(;L!==-1;){if(a[L+l.length+1]===x)if(a[L+l.length+2]===x)a=a.replace(`${g}${l}${x}${x}`,d);else{const Q=hd(a,L+l.length+2,["_"]);a=a.replace(`${g}${l}${x}${Q}`,d)}else a=a.replace(`${g}${l}`,d);L=a.indexOf(`${g}${l}`,L+d.length)}return a}function Cb(a,l="$",d=":"){let g=a.indexOf(l);for(;g!==-1;){const x=hd(a,g+1);if(a[g+x.length+1]===d)if(a[g+x.length+2]===d)a=a.replace(`${l}${x}${d}${d}`,"");else{const L=hd(a,g+x.length+2);a=a.replace(`${l}${x}${d}${L}`,L)}g=a.indexOf(l,g+1)}return a}function GO(a,l){let d=a.indexOf("](");for(;d!==-1;){const g=vb(a,"[",d),x=a.indexOf(")",d);if(g!==-1&&x!==-1){const[L,Q]=a.slice(g+1,x).split("]("),lt=l(L,Q);a=a.slice(0,g)+lt+a.slice(x+1)}d=a.indexOf("](",d+1)}return a}function Bb(a,l=!0){const d=Object.entries(a).filter(([g,x])=>x!=null).map(([g,x])=>`${g}=${encodeURIComponent(x)}`).join("&");return d?(l?"?":"")+d:""}function VO(a){const l={},d=a.split("&");for(const g of d){const[x,L]=g.split("=");x&&L&&(l[x]=decodeURIComponent(L))}return l}function KO(a,l){return Object.prototype.hasOwnProperty.call(a,l)}function jO(a,l){let d=null,g=-1/0;for(const[x,L]of Object.entries(a)){const Q=l(L);Q>g&&(g=Q,d=x)}return d?[d,a[d]]:null}function WO(a,l,d,g){const x=a.find(Q=>Q[l]===d),L=a.find(Q=>Q[l]===d+g);x&&L?(x[l]=d+g,L[l]=d):x&&(x[l]=d+g),a.sort((Q,lt)=>ia(Q[l])-ia(lt[l])),a.forEach((Q,lt)=>Q[l]=lt+1)}function ZO(a){const l=Object.keys(a);if(l.length===1)return a[l[0]];throw new Error("Expected object to have a single key")}function qO(a,l=":"){return Object.fromEntries(a.map(d=>Jp(d,l)).map(d=>d[0]&&d[1]?[Yl(d[0]),Yl(d[1])]:null).filter(d=>d))}function QO(a,l,d){return Ub(a,l)+Bb(d||{})}function JO(a,l=",",d='"'){const g=[];let x="",L=!1;const Q=a.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 YO(a){return`[${Math.floor(a.progress*100)}%] ${dd(a.deltaMs)} out of ${dd(a.totalTimeMs)} (${dd(a.remainingTimeMs)} left) [${Math.round(a.baseTimeMs)} ms each]`}async function XO(a,l,d){for(let g=0;g<d;g++){try{if(await a())return!0}catch{}g<d-1&&await s(l)}return!1}function tN(a,l){const d=[];for(let g=a.length-1;g>=0;g--)l(a[g])&&d.push(a.splice(g,1)[0]);return d}function eN(a){return JSON.parse(JSON.stringify(a))}function nN(a){return Math.ceil((a||Date.now())/1e3)}function rN(a){return(a||new Date).toISOString().slice(0,10)}function iN(a){return(a||new Date).toISOString().slice(0,19).replace(/T|:/g,"-")}function sN(a){const l=new Date(a);return new Date(l.getTime()-l.getTimezoneOffset()*6e4)}function oN(a){return new Date(a)}function ki(a){return String(Math.floor(a)).padStart(2,"0")}function aN(a){let[l,d]=a.split(":");ue(parseInt(l,10))||(l="0"),ue(parseInt(d,10))||(d="0");let g=og(je(l),0,23),x=og(je(d),0,59);return`${ki(g)}:${ki(x)}`}function dd(a){const l=Math.floor(a/36e5);a=a%36e5;const d=Math.floor(a/6e4);a=a%6e4;const g=Math.floor(a/1e3);return l?`${ki(l)}:${ki(d)}:${ki(g)}`:`${ki(d)}:${ki(g)}`}function oa(a){return Math.floor((Je(a)?a.getTime():a)/864e5)}const cN={today:(a,l)=>ki(a)+":"+ki(l),yesterday:()=>"Yesterday",monday:()=>"Mon",tuesday:()=>"Tue",wednesday:()=>"Wed",thursday:()=>"Thu",friday:()=>"Fri",saturday:()=>"Sat",sunday:()=>"Sun",weeks:a=>`${a}w`};function uN(a,l){const d=new Date((l==null?void 0:l.now)||Date.now()),g=(l==null?void 0:l.labels)||cN,x=Je(a)?a:new Date(a);if(oa(d)===oa(x))return g.today(x.getUTCHours(),x.getUTCMinutes(),x.getUTCHours()>12);if(oa(d)-oa(x)===1)return g.yesterday();const L=rg(x);return oa(d)-oa(x)<7?g[L.day]():g.weeks(Math.round((d.getTime()-x.getTime())/6048e5))}const Pb={now:()=>"A few seconds",seconds:a=>`${a} seconds`,minutes:a=>`${a} minutes`,hours:a=>`${a} hours`,days:a=>`${a} days`,weeks:a=>`${a} weeks`};function Mb(a,l){const d=(l==null?void 0:l.now)??Date.now(),g=(l==null?void 0:l.labels)||Pb,x=n.Types.isDate(a)?a.getTime():a;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 lN(a,l=Pb){return Mb(0,{now:a*1e3,labels:l})}function fN(a,l,d){const g=((d==null?void 0:d.now)??Date.now())-a,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 ng={};function hN(a,l){return!ng[a]||Date.now()>ng[a]?(ng[a]=Date.now()+l,!0):!1}const dN={s:1e3,m:6e4,h:36e5,d:864e5};function pN(a,l,d){return l=Je(l)?l.getTime():l,d=d?Je(d)?d.getTime():d:Date.now(),(d-l)/dN[a]}function gN(a,l,d,g){g||(g=Date.now());const x=l/d,L=g-a,Q=L/l,lt=Q*d,at=lt-L;return{deltaMs:L,progress:x,baseTimeMs:Q,totalTimeMs:lt,remainingTimeMs:at}}const yN={0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"};function Lb(a){return{zeroBasedIndex:a,day:yN[a]}}function rg(a){return Lb(a.getDay())}function mN(a){return rg(new Date(a))}function wN(a){return a*1e3}function bN(a){return a*6e4}function _N(a){return a*36e5}function AN(a){return a*864e5}const EN={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 vN(a){const l=parseFloat(a);if(isNaN(l))throw Error("makeDate got NaN for input");const d=a.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),g=EN[d];if(!g)throw Error(`Unknown unit: "${d}"`);return l*g}const xN={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 RN(a){const l=parseFloat(a);if(isNaN(l))throw Error("makeDate got NaN for input");const d=a.replace(/^-?[0-9.]+/,"").trim().toLowerCase(),g=xN[d];if(!g)throw Error(`Unknown unit: "${d}"`);return l*g}function SN(a){return a.replace(/ +/g," ").replace(/^ /gm,"")}const ig={};async function IN(a,l,d){const g=Date.now(),x=ig[a];if(x&&x.validUntil>g)return x.value;const L=await d(),Q=g+l;return ig[a]={value:L,validUntil:Q},L}function kN(a){delete ig[a]}function Ub(...a){return a.filter(l=>l).join("/").replace(new RegExp("(?<!:)\\/+","g"),"/")}function TN(a,l,d,g,x=!0){const L=a.indexOf(l),Q=a.indexOf(d,L+l.length);if(L===-1||Q===-1)throw Error("Start or end not found");return x?a.substring(0,L+l.length)+g+a.substring(Q):a.substring(0,L)+g+a.substring(Q+d.length)}function ON(a){let l="p";a.startsWith("#")?(l="h1",a=a.slice(1).trim()):a.startsWith("-")&&(l="li",a=a.slice(1).trim());const d=a[0]===a[0].toUpperCase(),g=/[.?!]$/.test(a),x=/:$/.test(a);return{type:l,isCapitalized:d,hasPunctuation:g,endsWithColon:x}}function NN(a,l="(",d=")"){let g=0,x=0;for(;x<a.length;)if(a.startsWith(l,x)?(g++,x+=l.length):a.startsWith(d,x)?(g--,x+=d.length):x++,g<0)return!1;return l===d?g%2===0:g===0}function CN(a){a=a.normalize("NFD").replace(/[\u0300-\u036f]/g,"");let l=a.length;for(;a=a.replace(/(\w+)[\s,']+\w+/g,"$1"),a.length!==l;)l=a.length;return a=a.replaceAll(/[A-Z][a-zA-Z0-9]*/g,"A"),a=a.replaceAll(/[a-z][a-zA-Z0-9]*/g,"a"),a=a.replaceAll(/[\u4E00-\u9FA5]+/g,"Z"),a}function Db(a){const l=Object.keys(a).sort((g,x)=>g.localeCompare(x)),d={};for(const g of l)d[g]=aa(a[g]);return d}function Fb(a){const l=[];return a.sort((d,g)=>JSON.stringify(aa(d)).localeCompare(JSON.stringify(aa(g)))).forEach(d=>l.push(aa(d))),l}function aa(a){return Array.isArray(a)?Fb(a):Qe(a)?Db(a):a}function $b(a,l){return JSON.stringify(aa(a))===JSON.stringify(aa(l))}function BN(...a){for(let l=1;l<a.length;l++)if(!$b(a[l-1],a[l]))return!1;return!0}function PN(a){try{return JSON.parse(a)}catch{return null}}function MN(){let a=0;return{next:()=>a++}}function LN(a){let l=0;return{next:()=>a[l++%a.length]}}function UN(a){let l;return d=>{const g=d===a&&l!==a;return l=d,g}}function DN(a,l,d,g,x){const L={};for(const Q of Object.keys(l))L[Q]=[];L[g]=[],x&&(a=a.sort(x));for(const Q of a){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 FN(a,l){const d=Object.keys(a),g=Object.keys(l);return{uniqueToA:d.filter(x=>!g.includes(x)),uniqueToB:g.filter(x=>!d.includes(x))}}function Hb(a){const l=Object.keys(a);return l[Math.floor(Math.random()*l.length)]}function $N(a,l){const d=Hb(a);return a[d]=l(a[d]),d}function HN(a){return a=a.replace(/\r\n/g,`
10
+ `),a=a.replace(/(\w+)\((.+)\)/g,(l,d,g)=>`${d}(${g.replaceAll(",","&comma;")})`),a=a.replace(/(,)(\s+})/g,"$2"),a=a.replace(/\.\.\..+?,/g,""),a=a.replace(/({\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),a=a.replace(/(,\s+)([a-zA-Z]\w+),/g,"$1$2: '$2',"),a=a.replace(/:(.+)\?(.+):/g,(l,d,g)=>`: (${d.trim()} && ${g.trim()}) ||`),a=a.replace(/([a-zA-Z0-9]+)( ?: ?{)/g,'"$1"$2'),a=a.replace(/([a-zA-Z0-9]+) ?: ?(.+?)(,|\n|})/g,(l,d,g,x)=>`"${d}":"${g.trim()}"${x}`),a=a.replace(/("'|'")/g,'"'),a=a.replaceAll("&comma;",","),JSON.parse(a)}const eo=[1e3,1e6,1e9,1e12,1e15,1e18,1e21,1e24,1e27,1e30,1e9,1e16,1e18,1e18,1e18,1e33],zN=["thousand","million","billion","trillion","quadrillion","quintillion","sextillion","septillion","octillion","nonillion","gwei","bzz","btc","eth","dai","decillion"],zb=["K","M","B","T","Qa","Qi","Sx","Sp","O","N","gwei","bzz","eth","btc","dai","D"];function GN(a,l,d){let g=a.length-l;if(g<=0)return"0."+"0".repeat(-g)+a+(d?" "+d:"");let x=a.substring(0,g),L=a.substring(g);return x===""&&(x="0"),x+"."+L+(d?" "+d:"")}function VN(a,l){const d=(l==null?void 0:l.longForm)??!1,g=l!=null&&l.unit?` ${l.unit}`:"",x=d?zN:zb,L=(l==null?void 0:l.precision)??1;if(a<eo[0])return`${a}${g}`;for(let Q=0;Q<eo.length-1;Q++)if(a<eo[Q+1])return`${(a/eo[Q]).toFixed(L)}${d?" ":""}${x[Q]}${g}`;return`${(a/eo[eo.length-1]).toFixed(L)}${d?" ":""}${x[eo.length-1]}${g}`}function sg(a){const l=parseFloat(a);if(isNaN(l))throw Error("makeNumber got NaN for input");const d=a.replace(/^-?[0-9.]+/,"").trim(),g=zb.findIndex(x=>x.toLowerCase()===d.toLowerCase());return g===-1?l:l*eo[g]}function og(a,l,d){return a<l?l:a>d?d:a}function KN(a,l,d){const g=a+l;return g>d?d:g}function jN(a,l,d){const g=a-l;return g<d?d:g}function WN(a,l){return l(a),a}function ZN(a,l){a&&l(a)}function qN(a,l){const d=Object.keys(l);for(const g of d)Array.isArray(l[g])&&Array.isArray(a[g])&&to(a[g],l[g])}function QN(a){return a.splice(0,a.length),a}function JN(a){for(const l of Object.keys(a))(Me(a[l])||Array.isArray(a[l])&&a[l].every(d=>d==null))&&delete a[l];return a}function YN(a){for(const l of Object.entries(a))(l[1]===null||l[1]===void 0||_n(l[1])&&me(l[1]))&&delete a[l[0]];return a}function XN(a,l){const d={};for(const[g,x]of Object.entries(a))l(g)&&(d[g]=x);return d}function t6(a,l){const d={};for(const[g,x]of Object.entries(a))l(x)&&(d[g]=x);return d}function e6(a,l){const d={};for(const g of Object.entries(a))d[g[0]]=l(g[1]);return d}function n6(a,l){const d=[];let g=0;for(const x of a)d.push(l(x,g++));return d}async function r6(a,l){try{return await a()}catch{throw l}}function i6(a,l,d){d!=null&&(a[l]=d)}function s6(a,l,d,g){const x=N(d,g);x!=null&&M(a,l,x)}function o6(a){const l={};for(const[d,g]of Object.entries(a))l[g]=d;return l}function a6(a){const l=Object.keys(a),d=l.map(lt=>a[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 Ct=0;Ct<l.length;Ct++){const Ce=a[l[Ct]],Cn=Math.floor(lt/L[Ct])%Ce.length;at[l[Ct]]=Ce[Cn]}Q.push(at)}return Q}function c6(a){return Object.values(a).filter(l=>l).length}function u6(a,l,d){return a+(d?"["+l+"]":(a.length?".":"")+l)}function pd(a,l,d,g,x){if(!Qe(l))return l;for(const[L,Q]of Object.entries(l)){const lt=u6(d,L,g);Array.isArray(Q)?x?pd(a,Q,lt,!0,x):a[lt]=Q.map(at=>pd(Array.isArray(at)?[]:{},at,"",!1,x)):Qe(Q)?pd(a,Q,lt,!1,x):a[lt]=Q}return a}function l6(a,l=!1,d){return pd({},a,d||"",!1,l)}function Gb(a){if(!Qe(a))return a;const l=Array.isArray(a)?[]:{};for(const[d,g]of Object.entries(a))Array.isArray(g)?M(l,d,g.map(x=>Gb(x))):M(l,d,g);return l}function f6(a,l,d){return l[a]?l[a]:d}function Vb(a,l){const d={};for(const g of a){const x=l(g);d[x]=g}return d}function h6(a,l){const d={};for(const g of a){const x=l(g);d[x]||(d[x]=[]),d[x].push(g)}return d}function d6(a,l){const d=[];for(let g=0;g<a.length;g+=l)d.push(a.slice(g,g+l));return d}function Kb(a,l){const d=Math.ceil(a.length/l),g=[];for(let x=0;x<a.length;x+=d)g.push(a.slice(x,x+d));return g}function jb(a,l){const d=[],g=Math.ceil(a.length/l);for(let x=0;x<g;x++)d.push(a.slice(x*l,x*l+l));return d}function p6(a,l){const d=Math.ceil(a.length/l);return jb(a,d)}function g6(a,l){return Object.values(Vb(a,l))}function y6(a,l,d,g,x){const L=l?a.map(l):a,Q={};for(const at of L)Q[at]=(Q[at]||0)+1;const lt=g?Wb(Q,x?(at,Ct)=>at[1]-Ct[1]:(at,Ct)=>Ct[1]-at[1]):Q;return d?Object.keys(lt):lt}function Wb(a,l){return Object.fromEntries(Object.entries(a).sort(l))}function m6(a){const l=[],d=Object.keys(a),g=a[d[0]].length;for(let x=0;x<g;x++){const L={};for(const Q of d)L[Q]=a[Q][x];l.push(L)}return l}function w6(a,l,d=1){for(const g of a)g[l]+=d}function b6(a,l,d){for(const g of a)g[l]=d}function ag(a,l){const d=[];let g=[];return a.forEach((x,L)=>{(L===0||!l(x,a[L-1]))&&(g=[],d.push(g)),g.push(x)}),d}function _6(){return{map:new Map,keys:[]}}function A6(){return{map:new Map,keys:[]}}function Zb(a,l,d,g=100){if(a.map.has(l)){const x=a.keys.indexOf(l);a.keys.splice(x,1)}if(a.map.set(l,d),a.keys.push(l),a.keys.length>g){const x=a.keys.shift();x&&a.map.delete(x)}}function E6(a,l,d,g=100){if(a.map.has(l)){const x=a.keys.indexOf(l);a.keys.splice(x,1)}if(a.map.set(l,d),a.keys.unshift(l),a.keys.length>g){const x=a.keys.shift();x&&a.map.delete(x)}}function v6(a,l,d,g,x=100){Zb(a,l,{validUntil:Date.now()+g,data:d},x)}function x6(a,l){const d=a.map.get(l);return d&&d.validUntil>Date.now()?d.data:null}class no{constructor(l){this.value=l}static of(l){return new no(l)}static empty(){return new no(null)}map(l){return new no(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=>no.of(d)):Promise.resolve(no.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=no;class R6{constructor(l){this.supplier=l,this.value=null}get(){return this.value||(this.value=this.supplier()),this.value}}n.Lazy=R6;class S6{constructor(l){this.supplier=l,this.value=null}async get(){return this.value||(this.value=await this.supplier()),this.value}}n.AsyncLazy=S6;function I6(a){return()=>a.forEach(l=>l())}function k6(a,l){return a.reduce((d,g)=>l(d)>l(g)?d:g)}function T6(a,l){const d=a.find(g=>g instanceof l);return no.of(d)}function O6(a,l){return a.filter(d=>d instanceof l)}function N6(a,l){const d=[],g=Math.max(a.length,l.length);for(let x=0;x<g;x++)a[x]&&d.push(a[x]),l[x]&&d.push(l[x]);return d}function C6(a,l){return a.includes(l)?a.filter(d=>d!==l):[...a,l]}class B6{constructor(l){this.value=l,this.children=[]}}function P6(a,l,d,g,x=!1){const L=new Map,Q=[];a.forEach(at=>{const Ct=new B6(at);L.set(at[l],Ct)}),a.forEach(at=>{const Ct=L.get(at[l]);if(!Ct)return;const Ce=at[d];if(Ce){const Cn=L.get(Ce);Cn&&Cn.children.push(Ct)}else Q.push(Ct)});const lt=at=>{at.children.sort((Ct,Ce)=>{const Cn=Ct.value[g],Pc=Ce.value[g];return x?Pc-Cn:Cn-Pc}),at.children.forEach(lt)};return Q.forEach(lt),Q}function qb(a,l){if(Math.log2(a.length)%1!==0)throw new Error("Array length must be a power of 2");let d=[...a];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 Nc(...a){const l=a.reduce((x,L)=>x+L.length,0),d=new Uint8Array(l);let g=0;return a.forEach(x=>{d.set(x,g),g+=x.length}),d}function Qb(a){return a[0]===137&&a[1]===80&&a[2]===78&&a[3]===71}function Jb(a){return a[0]===255&&a[1]===216}function Yb(a){return a[8]===87&&a[9]===69&&a[10]===66&&a[11]===80}function M6(a){return Qb(a)||Jb(a)||Yb(a)}function L6(a){return new Uint8Array([a])}function U6(a){return a[0]}function D6(a,l){const d=new ArrayBuffer(2);return new DataView(d).setUint16(0,a,l==="LE"),new Uint8Array(d)}function F6(a,l){return new DataView(a.buffer).getUint16(a.byteOffset,l==="LE")}function $6(a,l){const d=new ArrayBuffer(4);return new DataView(d).setUint32(0,a,l==="LE"),new Uint8Array(d)}function H6(a,l){return new DataView(a.buffer).getUint32(a.byteOffset,l==="LE")}function cg(a,l){const d=new ArrayBuffer(8);return new DataView(d).setBigUint64(0,BigInt(a),l==="LE"),new Uint8Array(d)}function z6(a,l){return new DataView(a.buffer).getBigUint64(a.byteOffset,l==="LE")}function Cc(a,l){const d=new Uint8Array(32);let g=a;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 Bc(a,l){let d=0n;if(l==="LE"){for(let g=31;g>=0;g--)d=d<<8n|BigInt(a[g]);return d}for(let g=0;g<32;g++)d=d<<8n|BigInt(a[g]);return d}function G6(a,l){const d=[];let g=0;for(const x of l)d.push(a.subarray(g,g+x)),g+=x;return d}function ug(a,l){const d=[];for(let g=0;g<a.length;g+=l)d.push(a.subarray(g,g+l));return d}const Xb=[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 V6(a){for(let l=0;l<24;l++){const d=a[0]^a[10]^a[20]^a[30]^a[40],g=a[1]^a[11]^a[21]^a[31]^a[41],x=a[2]^a[12]^a[22]^a[32]^a[42],L=a[3]^a[13]^a[23]^a[33]^a[43],Q=a[4]^a[14]^a[24]^a[34]^a[44],lt=a[5]^a[15]^a[25]^a[35]^a[45],at=a[6]^a[16]^a[26]^a[36]^a[46],Ct=a[7]^a[17]^a[27]^a[37]^a[47],Ce=a[8]^a[18]^a[28]^a[38]^a[48],Cn=a[9]^a[19]^a[29]^a[39]^a[49],Pc=x<<1|L>>>31,SC=L<<1|x>>>31,nf=Ce^Pc,rf=Cn^SC,IC=Q<<1|lt>>>31,kC=lt<<1|Q>>>31,sf=d^IC,of=g^kC,TC=at<<1|Ct>>>31,OC=Ct<<1|at>>>31,af=x^TC,cf=L^OC,NC=Ce<<1|Cn>>>31,CC=Cn<<1|Ce>>>31,uf=Q^NC,lf=lt^CC,BC=d<<1|g>>>31,PC=g<<1|d>>>31,ff=at^BC,hf=Ct^PC;a[0]^=nf,a[1]^=rf,a[2]^=sf,a[3]^=of,a[4]^=af,a[5]^=cf,a[6]^=uf,a[7]^=lf,a[8]^=ff,a[9]^=hf,a[10]^=nf,a[11]^=rf,a[12]^=sf,a[13]^=of,a[14]^=af,a[15]^=cf,a[16]^=uf,a[17]^=lf,a[18]^=ff,a[19]^=hf,a[20]^=nf,a[21]^=rf,a[22]^=sf,a[23]^=of,a[24]^=af,a[25]^=cf,a[26]^=uf,a[27]^=lf,a[28]^=ff,a[29]^=hf,a[30]^=nf,a[31]^=rf,a[32]^=sf,a[33]^=of,a[34]^=af,a[35]^=cf,a[36]^=uf,a[37]^=lf,a[38]^=ff,a[39]^=hf,a[40]^=nf,a[41]^=rf,a[42]^=sf,a[43]^=of,a[44]^=af,a[45]^=cf,a[46]^=uf,a[47]^=lf,a[48]^=ff,a[49]^=hf;const gg=a[0],yg=a[1],mg=a[2]<<1|a[3]>>>31,wg=a[3]<<1|a[2]>>>31,bg=a[5]<<30|a[4]>>>2,_g=a[4]<<30|a[5]>>>2,Ag=a[6]<<28|a[7]>>>4,Eg=a[7]<<28|a[6]>>>4,vg=a[8]<<27|a[9]>>>5,xg=a[9]<<27|a[8]>>>5,Rg=a[11]<<4|a[10]>>>28,Sg=a[10]<<4|a[11]>>>28,Ig=a[13]<<12|a[12]>>>20,kg=a[12]<<12|a[13]>>>20,Tg=a[14]<<6|a[15]>>>26,Og=a[15]<<6|a[14]>>>26,Ng=a[17]<<23|a[16]>>>9,Cg=a[16]<<23|a[17]>>>9,Bg=a[18]<<20|a[19]>>>12,Pg=a[19]<<20|a[18]>>>12,Mg=a[20]<<3|a[21]>>>29,Lg=a[21]<<3|a[20]>>>29,Ug=a[22]<<10|a[23]>>>22,Dg=a[23]<<10|a[22]>>>22,Fg=a[25]<<11|a[24]>>>21,$g=a[24]<<11|a[25]>>>21,Hg=a[26]<<25|a[27]>>>7,zg=a[27]<<25|a[26]>>>7,Gg=a[29]<<7|a[28]>>>25,Vg=a[28]<<7|a[29]>>>25,Kg=a[31]<<9|a[30]>>>23,jg=a[30]<<9|a[31]>>>23,Wg=a[33]<<13|a[32]>>>19,Zg=a[32]<<13|a[33]>>>19,qg=a[34]<<15|a[35]>>>17,Qg=a[35]<<15|a[34]>>>17,Jg=a[36]<<21|a[37]>>>11,Yg=a[37]<<21|a[36]>>>11,Xg=a[38]<<8|a[39]>>>24,ty=a[39]<<8|a[38]>>>24,ey=a[40]<<18|a[41]>>>14,ny=a[41]<<18|a[40]>>>14,ry=a[42]<<2|a[43]>>>30,iy=a[43]<<2|a[42]>>>30,sy=a[45]<<29|a[44]>>>3,oy=a[44]<<29|a[45]>>>3,ay=a[47]<<24|a[46]>>>8,cy=a[46]<<24|a[47]>>>8,uy=a[48]<<14|a[49]>>>18,ly=a[49]<<14|a[48]>>>18;a[0]=gg^~Ig&Fg,a[1]=yg^~kg&$g,a[2]=Ig^~Fg&Jg,a[3]=kg^~$g&Yg,a[4]=Fg^~Jg&uy,a[5]=$g^~Yg&ly,a[6]=Jg^~uy&gg,a[7]=Yg^~ly&yg,a[8]=uy^~gg&Ig,a[9]=ly^~yg&kg,a[10]=Ag^~Bg&Mg,a[11]=Eg^~Pg&Lg,a[12]=Bg^~Mg&Wg,a[13]=Pg^~Lg&Zg,a[14]=Mg^~Wg&sy,a[15]=Lg^~Zg&oy,a[16]=Wg^~sy&Ag,a[17]=Zg^~oy&Eg,a[18]=sy^~Ag&Bg,a[19]=oy^~Eg&Pg,a[20]=mg^~Tg&Hg,a[21]=wg^~Og&zg,a[22]=Tg^~Hg&Xg,a[23]=Og^~zg&ty,a[24]=Hg^~Xg&ey,a[25]=zg^~ty&ny,a[26]=Xg^~ey&mg,a[27]=ty^~ny&wg,a[28]=ey^~mg&Tg,a[29]=ny^~wg&Og,a[30]=vg^~Rg&Ug,a[31]=xg^~Sg&Dg,a[32]=Rg^~Ug&qg,a[33]=Sg^~Dg&Qg,a[34]=Ug^~qg&ay,a[35]=Dg^~Qg&cy,a[36]=qg^~ay&vg,a[37]=Qg^~cy&xg,a[38]=ay^~vg&Rg,a[39]=cy^~xg&Sg,a[40]=bg^~Ng&Gg,a[41]=_g^~Cg&Vg,a[42]=Ng^~Gg&Kg,a[43]=Cg^~Vg&jg,a[44]=Gg^~Kg&ry,a[45]=Vg^~jg&iy,a[46]=Kg^~ry&bg,a[47]=jg^~iy&_g,a[48]=ry^~bg&Ng,a[49]=iy^~_g&Cg,a[0]^=Xb[l*2],a[1]^=Xb[l*2+1]}}function t_(a){const l=[];for(let d=0;d<a.length;d+=4)l.push(a[d]|a[d+1]<<8|a[d+2]<<16|a[d+3]<<24);return l}function e_(a,l){if(!a.length){const x=new Uint8Array(136);return x[0]=l,x[135]=128,[t_(x)]}const d=ug(a,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(t_)}function n_(a,l){for(const d of l){for(let g=0;g<34;g+=2)a[g]^=d[g+1],a[g+1]^=d[g];V6(a)}return a}function r_(a){return new Uint8Array([a[1],a[1]>>-24,a[1]>>-16,a[1]>>-8,a[0],a[0]>>8,a[0]>>16,a[0]>>24,a[3],a[3]>>-24,a[3]>>-16,a[3]>>-8,a[2],a[2]>>8,a[2]>>16,a[2]>>24,a[5],a[5]>>-24,a[5]>>-16,a[5]>>-8,a[4],a[4]>>8,a[4]>>16,a[4]>>24,a[7],a[7]>>-24,a[7]>>-16,a[7]>>-8,a[6],a[6]>>8,a[6]>>16,a[6]>>24])}function fs(a){return r_(n_(new Array(50).fill(0),e_(a,1)))}function K6(a){return r_(n_(new Array(50).fill(0),e_(a,6)))}function j6(a,l,d){const g=Math.min(a.length,l.length,d/8+1);for(let x=0;x<g;x++){const L=a[x]^l[x];for(let Q=0;Q<8;Q++)if(L>>7-Q&1)return x*8+Q}return d}function W6(a,l){const d=Math.min(a.length,l.length);for(let g=0;g<d;g++)if(a[g]!==l[g])return a.subarray(0,g);return a.subarray(0,d)}function Z6(a,l,d,g){const x=Math.floor(l/8),L=l%8;d===1?a[x]|=1<<(g==="BE"?7-L:L):a[x]&=~(1<<(g==="BE"?7-L:L))}function q6(a,l,d){const g=Math.floor(l/8),x=l%8;return a[g]>>(d==="BE"?7-x:x)&1}function Q6(a,l,d=0){for(let g=d;g<a.length;g++)for(let x=0;x<l.length&&a[g+x]===l[x];x++)if(x===l.length-1)return g;return-1}function i_(a,l,d=0){if(a.length>=l)return a;const g=new Uint8Array(l);return g.fill(d),g.set(a,l-a.length),g}function J6(a,l,d=0){const g=a.length%l;return g===0?a:i_(a,a.length+l-g,d)}function s_(a,l,d=0){if(a.length>=l)return a;const g=new Uint8Array(l);return g.fill(d),g.set(a,0),g}function Y6(a,l,d=0){const g=a.length%l;return g===0?a:s_(a,a.length+l-g,d)}function X6(a,l){const d=new Uint8Array(a.length);for(let g=0;g<a.length;g++)d[g]=a[g]^l[g%l.length];return d}function tC(a,l){if(a.length!==l.length)return!1;for(let d=0;d<a.length;d++)if(a[d]!==l[d])return!1;return!0}function De(a,l){return(a%l+l)%l}function tf(a,l){a=De(a,l);let[d,g]=[0n,1n],[x,L]=[l,a];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 eC(a,l,d){let g=1n;for(a=De(a,d);l>0;)l%2n===1n&&(g=De(g*a,d)),a=De(a*a,d),l=l/2n;return g}function o_(a,l){return De(a,l)===0n?0n:l%4n===3n?eC(a,(l+1n)/4n,l):null}const Yn=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,Nn=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,gd=0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,yd=0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n;function lg(a,l,d){if(l===0n)return[0n,0n];const g=De(3n*a*a*tf(2n*l,d),d),x=De(g*g-2n*a,d),L=De(g*(a-x)-l,d);return[x,L]}function md(a,l,d,g,x){if(a===0n&&l===0n)return[d,g];if(d===0n&&g===0n)return[a,l];if(a===d&&l===De(-g,x))return[0n,0n];if(a===d&&l===g)return lg(a,l,x);const L=De((g-l)*tf(d-a,x),x),Q=De(L*L-a-d,x),lt=De(L*(a-Q)-l,x);return[Q,lt]}function nC(a){if(a<=0n||a>=Nn)throw new Error("Invalid private key");return ca(gd,yd,a,Yn)}function rC(a){const l=a[1]%2n===0n?2:3;return new Uint8Array([l,...Cc(a[0],"BE")])}function iC(a){if(a.length!==33||a[0]!==2&&a[0]!==3)throw new Error("Invalid compressed public key");const l=Bc(a.slice(1),"BE"),d=o_(De(l**3n+7n,Yn),Yn);if(!d)throw Error("Invalid x: does not correspond to a valid curve point");const g=De(-d,Yn),x=d%2n===0n;return[l,a[0]===2?x?d:g:x?g:d]}function sC(a){const l=new Uint8Array(20),d=fs(Nc(Cc(a[0],"BE"),Cc(a[1],"BE")));return l.set(d.subarray(12)),l}function oC(a){const l=n.Binary.uint8ArrayToHex(a),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 ca(a,l,d,g){let x=[0n,0n],L=[a,l];const Q=d.toString(2);for(const lt of Q)lt==="0"?(L=md(x[0],x[1],L[0],L[1],g),x=lg(x[0],x[1],g)):(x=md(x[0],x[1],L[0],L[1],g),L=lg(L[0],L[1],g));return x}function aC(a,l,d){return a_(Bc(fs(a),"BE"),l,d)}function a_(a,l,d){if(l<=0n||l>=Nn)throw new Error("Invalid private key");if(d||(d=De(Bc(fs(Nc(fs(Cc(l,"BE")),Cc(a,"BE"))),"BE"),Nn)),d<=0n||d>=Nn)throw new Error("Invalid nonce");const g=De(a,Nn),x=ca(gd,yd,d,Yn),L=De(x[0],Nn);let Q=De((g+De(L,Nn)*l)*tf(d,Nn),Nn);if(L===0n||Q===0n)throw new Error("Invalid r or s value");let lt=x[1]%2n===0n?27n:28n;return Q>Nn/2n&&(Q=Nn-Q,lt=lt===27n?28n:27n),[L,Q,lt]}function cC(a,l,d,g){const x=o_(De(l**3n+7n,Yn),Yn);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:Yn-x,lt=De(Bc(fs(a),"BE"),Nn),at=ca(l,Q,d,Yn),Ct=ca(gd,yd,lt,Yn),Ce=md(at[0],at[1],Ct[0],De(-Ct[1],Yn),Yn);return ca(Ce[0],Ce[1],tf(l,Nn),Yn)}function uC(a,l,d,g){const x=De(Bc(fs(a),"BE"),Nn),L=tf(g,Nn),Q=De(x*L,Nn),lt=De(d*L,Nn),at=ca(gd,yd,Q,Yn),Ct=ca(l[0],l[1],lt,Yn),Ce=md(at[0],at[1],Ct[0],Ct[1],Yn);return d===De(Ce[0],Nn)}class c_{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=c_;class u_{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=u_;class wd{constructor(l,d=0n){this.span=d,this.writer=new u_(new Uint8Array(l))}build(){return Nc(cg(this.span,"LE"),this.writer.buffer)}hash(){const l=qb(ug(this.writer.buffer,32),(d,g)=>fs(Nc(d,g)));return fs(Nc(cg(this.span,"LE"),l))}}n.Chunk=wd;class fg{constructor(l,d=4096){this.counters=[1],this.capacity=d,this.chunks=[new wd(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 c_(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 wd(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 wd(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=fg,t=fg,fg.NOOP=async a=>{};class Ti{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 Ti(BigInt(g+x),d)}add(l){return this.assertSameScale(l),new Ti(this.value+l.value,this.scale)}subtract(l){return this.assertSameScale(l),new Ti(this.value-l.value,this.scale)}multiply(l){return new Ti(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 Ti(d,this.scale),new Ti(g,this.scale)]}exchange(l,d,g){if(l==="*"){const L=this.value*d.value/10n**BigInt(this.scale);return new Ti(L,g)}this.assertSameScale(d);const x=this.value*10n**BigInt(g)/d.value;return new Ti(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=Ti;function lC(a){if(a.length===0)return null;const l=a[0];return l.ttlMax?--l.ttl<=0&&a.shift():l.ttlMax=l.ttl,{progress:(l.ttlMax-l.ttl)/l.ttlMax,data:l.data}}function bd(a,l,d,g){const x=a.findIndex(lt=>lt===`--${l}`||lt.startsWith(`--${l}=`)),L=a[x];if(!L)return(d||{})[g||l||""]||null;if(L.includes("="))return L.split("=")[1];const Q=a[x+1];return Q&&!Q.startsWith("-")?Q:(d||{})[g||l||""]||null}function fC(a,l,d,g){const x=bd(a,l,d,g);if(!x)return null;try{return sg(x)}catch{throw new Error(`Invalid number argument ${l}: ${x}`)}}function hC(a,l,d,g){const x=a.some(at=>at.endsWith("-"+l)),L=bd(a,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 l_(a,l,d,g){const x=bd(a,l,d,g);if(!x)throw new Error(`Missing argument ${l}`);return x}function dC(a,l,d,g){const x=l_(a,l,d,g);try{return sg(x)}catch{throw new Error(`Invalid argument ${l}: ${x}`)}}function f_(a,l){const d=a[l];a.splice(l,1),a.unshift(d)}function pC(a,l){const d=[...a];return f_(d,l),d}function h_(a,l){return{x:a.x+l.x,y:a.y+l.y}}function gC(a,l){return{x:a.x-l.x,y:a.y-l.y}}function hg(a,l){return{x:a.x*l,y:a.y*l}}function yC(a){const l=Math.sqrt(a.x*a.x+a.y*a.y);return{x:a.x/l,y:a.y/l}}function d_(a,l,d){return{x:a.x+Math.cos(l)*d,y:a.y+Math.sin(l)*d}}function p_(a,l){return Math.sqrt((a.x-l.x)**2+(a.y-l.y)**2)}function ef(a,l,d="row-first"){const g=[];if(d==="column-first")for(let x=0;x<a.length;x++)for(let L=0;L<a[0].length;L++)l(x,L)&&g.push({x,y:L});else for(let x=0;x<a[0].length;x++)for(let L=0;L<a.length;L++)l(L,x)&&g.push({x:L,y:x});return g}function mC(a,l,d){var g,x;return((g=a[l+1])==null?void 0:g[d])&&((x=a[l-1])==null?void 0:x[d])&&!a[l][d-1]&&!a[l][d+1]}function wC(a,l,d){var g,x;return a[l][d+1]&&a[l][d-1]&&!((g=a[l-1])!=null&&g[d])&&!((x=a[l+1])!=null&&x[d])}function g_(a,l,d){var g;return!((g=a[l-1])!=null&&g[d])}function y_(a,l,d){var g;return!((g=a[l+1])!=null&&g[d])}function m_(a,l,d){return!a[l][d-1]}function w_(a,l,d){return!a[l][d+1]}function bC(a,l,d){var x,L,Q,lt,at,Ct,Ce,Cn;const g=[];return a[l][d]?mC(a,l,d)||wC(a,l,d)?[]:(!((x=a[l-1])!=null&&x[d-1])&&g_(a,l,d)&&m_(a,l,d)&&g.push({x:l,y:d}),!((L=a[l+1])!=null&&L[d-1])&&y_(a,l,d)&&m_(a,l,d)&&g.push({x:l+1,y:d}),!((Q=a[l-1])!=null&&Q[d+1])&&g_(a,l,d)&&w_(a,l,d)&&g.push({x:l,y:d+1}),!((lt=a[l+1])!=null&&lt[d+1])&&y_(a,l,d)&&w_(a,l,d)&&g.push({x:l+1,y:d+1}),g):((at=a[l-1])!=null&&at[d]&&a[l][d-1]&&g.push({x:l,y:d}),(Ct=a[l+1])!=null&&Ct[d]&&a[l][d-1]&&g.push({x:l+1,y:d}),(Ce=a[l-1])!=null&&Ce[d]&&a[l][d+1]&&g.push({x:l,y:d+1}),(Cn=a[l+1])!=null&&Cn[d]&&a[l][d+1]&&g.push({x:l+1,y:d+1}),g)}function _C(a,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<a.length;L++)for(let Q=0;Q<a[0].length;Q++){const lt=bC(a,L,Q);for(const at of lt)x.some(Ct=>Ct.x===at.x&&Ct.y===at.y)||x.push(at)}return x.map(L=>({x:L.x*l,y:L.y*l}))}function AC(a,l){const d=ef(a,(at,Ct)=>a[at][Ct]===0&&a[at][Ct+1]!==0,"row-first").map(at=>({...at,dx:1,dy:0})),g=ef(a,(at,Ct)=>a[at][Ct]===0&&a[at][Ct-1]!==0,"row-first").map(at=>({...at,dx:1,dy:0})),x=ef(a,(at,Ct)=>{var Ce;return a[at][Ct]===0&&((Ce=a[at-1])==null?void 0:Ce[Ct])!==0},"column-first").map(at=>({...at,dx:0,dy:1})),L=ef(a,(at,Ct)=>{var Ce;return a[at][Ct]===0&&((Ce=a[at+1])==null?void 0:Ce[Ct])!==0},"column-first").map(at=>({...at,dx:0,dy:1}));d.forEach(at=>at.y++),L.forEach(at=>at.x++);const Q=ag([...x,...L],(at,Ct)=>at.x===Ct.x&&at.y-1===Ct.y),lt=ag([...g,...d],(at,Ct)=>at.y===Ct.y&&at.x-1===Ct.x);return[...Q,...lt].map(at=>({start:at[0],end:C(at)})).map(at=>({start:hg(at.start,l),end:hg(h_(at.end,{x:at.start.dx,y:at.start.dy}),l)}))}function EC(a,l){return Math.atan2(l.y-a.y,l.x-a.x)}function vC(a,l){return l.map(d=>EC(a,d)).sort((d,g)=>d-g)}function b_(a,l,d,g){const x=(g.y-d.y)*(l.x-a.x)-(g.x-d.x)*(l.y-a.y);if(x===0)return null;let L=a.y-d.y,Q=a.x-d.x;const lt=(g.x-d.x)*L-(g.y-d.y)*Q,at=(l.x-a.x)*L-(l.y-a.y)*Q;return L=lt/x,Q=at/x,L>0&&L<1&&Q>0&&Q<1?{x:a.x+L*(l.x-a.x),y:a.y+L*(l.y-a.y)}:null}function dg(a,l,d){const g=[],x=d_(a,d,1e4);for(const L of l){const Q=b_(a,x,L.start,L.end);Q&&g.push(Q)}return g.length?g.reduce((L,Q)=>{const lt=p_(a,Q),at=p_(a,L);return lt<at?Q:L}):null}function xC(a,l,d){const g=vC(a,d),x=[];for(const L of g){const Q=dg(a,l,L-.001),lt=dg(a,l,L+.001);Q&&x.push(Q),lt&&x.push(lt)}return x}class pg{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=pg;class RC{constructor(l,d){this.queue=[],this.running=0,this.onProcessed=new pg,this.onDrained=new pg,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=RC,n.Binary={hexToUint8Array:OO,uint8ArrayToHex:NO,base64ToUint8Array:SO,uint8ArrayToBase64:IO,base32ToUint8Array:kO,uint8ArrayToBase32:TO,log2Reduce:qb,partition:ug,concatBytes:Nc,numberToUint8:L6,uint8ToNumber:U6,numberToUint16:D6,uint16ToNumber:F6,numberToUint32:$6,uint32ToNumber:H6,numberToUint64:cg,uint64ToNumber:z6,numberToUint256:Cc,uint256ToNumber:Bc,sliceBytes:G6,keccak256:fs,sha3_256:K6,proximity:j6,commonPrefix:W6,setBit:Z6,getBit:q6,indexOf:Q6,equals:tC,padStart:i_,padStartToMultiple:J6,padEnd:s_,padEndToMultiple:Y6,xorCypher:X6},n.Elliptic={privateKeyToPublicKey:nC,compressPublicKey:rC,publicKeyFromCompressed:iC,publicKeyToAddress:sC,signMessage:aC,signHash:a_,verifySignature:uC,recoverPublicKey:cC,checksumEncode:oC},n.Random={intBetween:H,floatBetween:U,chance:J,signed:G,makeSeededRng:B,point:Y,procs:j},n.Arrays={countUnique:y6,makeUnique:g6,splitBySize:d6,splitByCount:Kb,index:Vb,indexCollection:h6,onlyOrThrow:c,onlyOrNull:u,firstOrThrow:h,firstOrNull:f,shuffle:o,initialize:y,initialize2D:b,rotate2D:A,containsShape:R,glue:MT,pluck:S,pick:it,pickMany:ut,pickManyUnique:rt,pickWeighted:v,pickRandomIndices:k,pickGuaranteed:ot,last:C,pipe:p,makePipe:m,sortWeighted:I,pushAll:to,unshiftAll:BT,filterAndRemove:tN,merge:qN,empty:QN,pushToBucket:ql,unshiftAndLimit:Ql,atRolling:Jl,group:ag,createOscillator:LN,organiseWithLimits:DN,tickPlaybook:lC,getArgument:bd,getBooleanArgument:hC,getNumberArgument:fC,requireStringArgument:l_,requireNumberArgument:dC,bringToFront:pC,bringToFrontInPlace:f_,findInstance:T6,filterInstances:O6,interleave:N6,toggle:C6,createHierarchy:P6,multicall:I6,maxBy:k6},n.System={sleepMillis:s,forever:ft,scheduleMany:zT,waitFor:XO,expandError:Kl,runAndSetInterval:mt},n.Numbers={make:sg,sum:VT,average:KT,median:jT,getDistanceFromMidpoint:WT,clamp:og,range:db,interpolate:GT,createSequence:MN,increment:KN,decrement:jN,format:VN,fromDecimals:GN,makeStorage:RN,asMegabytes:Ht,convertBytes:Lt,hexToRgb:Mt,rgbToHex:Ae,haversineDistanceToMeters:Vt,roundToNearest:Ut,formatDistance:Re,triangularNumber:Yt,searchFloat:ie},n.Promises={raceFulfilled:r,invert:e,runInParallelBatches:i},n.Dates={getTimestamp:uN,getTimeDelta:Mb,secondsToHumanTime:lN,countCycles:fN,isoDate:rN,throttle:hN,timeSince:pN,dateTimeSlug:iN,unixTimestamp:nN,fromUtcString:sN,fromMillis:oN,getProgress:gN,humanizeTime:dd,humanizeProgress:YO,createTimeDigits:ki,mapDayNumber:Lb,getDayInfoFromDate:rg,getDayInfoFromDateTimeString:mN,seconds:wN,minutes:bN,hours:_N,days:AN,make:vN,normalizeTime:aN,absoluteDays:oa},n.Objects={safeParse:PN,deleteDeep:_,getDeep:N,setDeep:M,incrementDeep:z,ensureDeep:P,replaceDeep:F,getFirstDeep:ct,deepMergeInPlace:ci,deepMerge2:jl,deepMerge3:Wl,mapAllAsync:PT,cloneWithJson:eN,sortObject:Db,sortArray:Fb,sortAny:aa,deepEquals:$b,deepEqualsEvery:BN,runOn:WN,ifPresent:ZN,zip:Tc,zipSum:Zl,removeEmptyArrays:JN,removeEmptyValues:YN,flatten:l6,unflatten:Gb,match:f6,sort:Wb,map:e6,mapIterable:n6,filterKeys:XN,filterValues:t6,rethrow:r6,setSomeOnObject:i6,setSomeDeep:s6,flip:o6,getAllPermutations:a6,countTruthyValues:c6,transformToArray:m6,setMulti:b6,incrementMulti:w6,createBidirectionalMap:_6,createTemporalBidirectionalMap:A6,pushToBidirectionalMap:Zb,unshiftToBidirectionalMap:E6,addToTemporalBidirectionalMap:v6,getFromTemporalBidirectionalMap:x6,createStatefulToggle:UN,diffKeys:FN,pickRandomKey:Hb,mapRandomKey:$N,fromObjectString:HN,toQueryString:Bb,parseQueryString:VO,hasKey:KO,selectMax:jO,reposition:WO,unwrapSingleKey:ZO,parseKeyValues:qO},n.Types={isFunction:Ie,isObject:Qe,isStrictlyObject:ce,isEmptyArray:Me,isEmptyObject:Xs,isUndefined:Ee,isString:_n,isNumber:ue,isBoolean:ve,isDate:Je,isBlank:me,isId:ke,isIntegerString:Jn,isHexString:Le,isUrl:Ic,isNullable:Hl,asString:Ye,asHexString:un,asSafeString:ad,asIntegerString:od,asNumber:ia,asFunction:ln,asInteger:je,asBoolean:fn,asDate:cd,asNullableString:hn,asEmptiableString:dn,asId:ud,asTime:pn,asArray:gn,asObject:sa,asNullableObject:yn,asStringMap:mn,asNumericDictionary:Fl,asUrl:$l,asNullable:zl,asOptional:Gl,enforceObjectShape:kc,enforceArrayShape:Vl,isPng:Qb,isJpg:Jb,isWebp:Yb,isImage:M6},n.Strings={tokenizeByCount:p6,tokenizeByLength:jb,searchHex:sd,searchSubstring:an,randomHex:cn,randomLetter:Kt,randomAlphanumeric:Ue,randomRichAscii:Ft,randomUnicode:on,includesAny:ZT,slugify:Zp,normalForm:QT,enumify:nO,escapeHtml:iO,decodeHtmlEntities:oO,after:qp,afterLast:gb,before:pb,beforeLast:Qp,betweenWide:aO,betweenNarrow:cO,getPreLine:SN,containsWord:eg,containsWords:$O,joinUrl:Ub,getFuzzyMatchScore:ld,sortByFuzzyScore:rO,splitOnce:Jp,splitAll:yb,randomize:hO,expand:mb,shrinkTrim:Yl,capitalize:fd,decapitalize:wb,csvEscape:wO,parseCsv:JO,surroundInOut:eO,getExtension:Yp,getBasename:Xp,normalizeEmail:uO,normalizeFilename:lO,parseFilename:fO,camelToTitle:JT,slugToTitle:YT,slugToCamel:XT,joinHumanly:tO,findWeightedPair:xb,extractBlock:Rb,extractAllBlocks:AO,replaceBlocks:EO,indexOfEarliest:Oc,lastIndexOfBefore:vb,parseHtmlAttributes:HO,readNextWord:hd,resolveVariables:zO,resolveVariableWithDefaultSyntax:Nb,resolveRemainingVariablesWithDefaults:Cb,isLetter:bb,isDigit:_b,isLetterOrDigit:Xl,isValidObjectPathCharacter:gO,insert:yO,indexOfRegex:Ab,lineMatches:Eb,linesMatchInOrder:mO,represent:ls,resolveMarkdownLinks:GO,buildUrl:QO,isChinese:qT,replaceBetweenStrings:TN,describeMarkdown:ON,isBalanced:NN,textToFormat:CN,splitFormatting:vO,splitHashtags:xO,splitUrls:RO,route:CO,explodeReplace:tg,generateVariants:BO,replaceWord:PO,replacePascalCaseWords:MO,stripHtml:LO,breakLine:Ob,measureTextWidth:UO,toLines:DO,levenshteinDistance:FO},n.Assertions={asEqual:LT,asTrue:UT,asTruthy:DT,asFalse:FT,asFalsy:$T,asEither:HT},n.Cache={get:IN,invalidate:kN},n.Vector={addPoint:h_,subtractPoint:gC,multiplyPoint:hg,normalizePoint:yC,pushPoint:d_,filterCoordinates:ef,findCorners:_C,findLines:AC,raycast:dg,raycastCircle:xC,getLineIntersectionPoint:b_}})(cx);const Ke=ea(cx);Ke.Arrays;Ke.Assertions;const or=Ke.Binary;Ke.Cache;Ke.Dates;Ke.Elliptic;Ke.Numbers;Ke.Objects;Ke.Pagination;Ke.Promises;Ke.Random;Ke.Strings;Ke.System;Ke.Types;Ke.Optional;Ke.Vector;Ke.PubSubChannel;Ke.Chunk;const mM=Ke.MerkleTree;Ke.FixedPointNumber;Ke.Lazy;Ke.AsyncLazy;Ke.AsyncQueue;Ke.Uint8ArrayReader;Ke.Uint8ArrayWriter;var pe;(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(c=>typeof i[i[c]]!="number"),o={};for(const c of s)o[c]=i[c];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})(pe||(pe={}));var Rm;(function(n){n.mergeShapes=(t,e)=>({...t,...e})})(Rm||(Rm={}));const Rt=pe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),bs=n=>{switch(typeof n){case"undefined":return Rt.undefined;case"string":return Rt.string;case"number":return isNaN(n)?Rt.nan:Rt.number;case"boolean":return Rt.boolean;case"function":return Rt.function;case"bigint":return Rt.bigint;case"symbol":return Rt.symbol;case"object":return Array.isArray(n)?Rt.array:n===null?Rt.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?Rt.promise:typeof Map<"u"&&n instanceof Map?Rt.map:typeof Set<"u"&&n instanceof Set?Rt.set:typeof Date<"u"&&n instanceof Date?Rt.date:Rt.object;default:return Rt.unknown}},gt=pe.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"]),wM=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class Vr 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 c=r,u=0;for(;u<o.path.length;){const f=o.path[u];u===o.path.length-1?(c[f]=c[f]||{_errors:[]},c[f]._errors.push(e(o))):c[f]=c[f]||{_errors:[]},c=c[f],u++}}};return i(this),r}static assert(t){if(!(t instanceof Vr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,pe.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()}}Vr.create=n=>new Vr(n);const Xu=(n,t)=>{let e;switch(n.code){case gt.invalid_type:n.received===Rt.undefined?e="Required":e=`Expected ${n.expected}, received ${n.received}`;break;case gt.invalid_literal:e=`Invalid literal value, expected ${JSON.stringify(n.expected,pe.jsonStringifyReplacer)}`;break;case gt.unrecognized_keys:e=`Unrecognized key(s) in object: ${pe.joinValues(n.keys,", ")}`;break;case gt.invalid_union:e="Invalid input";break;case gt.invalid_union_discriminator:e=`Invalid discriminator value. Expected ${pe.joinValues(n.options)}`;break;case gt.invalid_enum_value:e=`Invalid enum value. Expected ${pe.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}"`:pe.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,pe.assertNever(n)}return{message:e}};let ux=Xu;function bM(n){ux=n}function a0(){return ux}const c0=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 c="";const u=r.filter(f=>!!f).slice().reverse();for(const f of u)c=f(o,{data:t,defaultError:c}).message;return{...i,path:s,message:c}},_M=[];function At(n,t){const e=a0(),r=c0({issueData:t,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,e,e===Xu?void 0:Xu].filter(i=>!!i)});n.common.issues.push(r)}class cr{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 Gt;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 cr.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 Gt;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 Gt=Object.freeze({status:"aborted"}),Zc=n=>({status:"dirty",value:n}),wr=n=>({status:"valid",value:n}),Sm=n=>n.status==="aborted",Im=n=>n.status==="dirty",rc=n=>n.status==="valid",$f=n=>typeof Promise<"u"&&n instanceof Promise;function u0(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 lx(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}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 Af,Ef;class rs{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 q_=(n,t)=>{if(rc(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 Vr(n.common.issues);return this._error=e,this._error}}};function Jt(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,c)=>{var u,f;const{message:h}=n;return o.code==="invalid_enum_value"?{message:h??c.defaultError}:typeof c.data>"u"?{message:(u=h??r)!==null&&u!==void 0?u:c.defaultError}:o.code!=="invalid_type"?{message:c.defaultError}:{message:(f=h??e)!==null&&f!==void 0?f:c.defaultError}},description:i}}class re{get description(){return this._def.description}_getType(t){return bs(t.data)}_getOrReturnCtx(t,e){return e||{common:t.parent.common,data:t.data,parsedType:bs(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new cr,ctx:{common:t.parent.common,data:t.data,parsedType:bs(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const e=this._parse(t);if($f(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:bs(t)},s=this._parseSync({data:t,path:i.path,parent:i});return q_(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:bs(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:i});return rc(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=>rc(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:bs(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await($f(i)?i:Promise.resolve(i));return q_(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),c=()=>s.addIssue({code:gt.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(u=>u?!0:(c(),!1)):o?!0:(c(),!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 Ei({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 Yi.create(this,this._def)}nullable(){return Qo.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return _i.create(this)}promise(){return el.create(this,this._def)}or(t){return Vf.create([this,t],this._def)}and(t){return Kf.create(this,t,this._def)}transform(t){return new Ei({...Jt(this._def),schema:this,typeName:zt.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const e=typeof t=="function"?t:()=>t;return new Qf({...Jt(this._def),innerType:this,defaultValue:e,typeName:zt.ZodDefault})}brand(){return new Fw({typeName:zt.ZodBranded,type:this,...Jt(this._def)})}catch(t){const e=typeof t=="function"?t:()=>t;return new Jf({...Jt(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 Dh.create(this,t)}readonly(){return Yf.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const AM=/^c[^\s-]{8,}$/i,EM=/^[0-9a-z]+$/,vM=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xM=/^[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,RM=/^[a-z0-9_-]{21}$/i,SM=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,IM=/^[-+]?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)?)??$/,kM=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,TM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let yy;const OM=/^(?:(?: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])$/,NM=/^(?:(?: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])$/,CM=/^(([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]))$/,BM=/^(([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])$/,PM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,MM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fx="((\\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])))",LM=new RegExp(`^${fx}$`);function hx(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 UM(n){return new RegExp(`^${hx(n)}$`)}function dx(n){let t=`${fx}T${hx(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 DM(n,t){return!!((t==="v4"||!t)&&OM.test(n)||(t==="v6"||!t)&&CM.test(n))}function FM(n,t){if(!SM.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 $M(n,t){return!!((t==="v4"||!t)&&NM.test(n)||(t==="v6"||!t)&&BM.test(n))}class wi extends re{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==Rt.string){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_type,expected:Rt.string,received:s.parsedType}),Gt}const r=new cr;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,c=t.data.length<s.value;(o||c)&&(i=this._getOrReturnCtx(t,i),o?At(i,{code:gt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):c&&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")kM.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")yy||(yy=new RegExp(TM,"u")),yy.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")xM.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")RM.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")AM.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")EM.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")vM.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"?dx(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"?LM.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{code:gt.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?UM(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"?IM.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"duration",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?DM(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"?FM(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"?$M(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"?PM.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"base64",code:gt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?MM.test(t.data)||(i=this._getOrReturnCtx(t,i),At(i,{validation:"base64url",code:gt.invalid_string,message:s.message}),r.dirty()):pe.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 wi({...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 wi({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new wi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new wi({...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}}wi.create=n=>{var t;return new wi({checks:[],typeName:zt.ZodString,coerce:(t=n==null?void 0:n.coerce)!==null&&t!==void 0?t:!1,...Jt(n)})};function HM(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 Wo extends re{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)!==Rt.number){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_type,expected:Rt.number,received:s.parsedType}),Gt}let r;const i=new cr;for(const s of this._def.checks)s.kind==="int"?pe.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"?HM(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()):pe.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 Wo({...this._def,checks:[...this._def.checks,{kind:t,value:e,inclusive:r,message:Bt.toString(i)}]})}_addCheck(t){return new Wo({...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"&&pe.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)}}Wo.create=n=>new Wo({checks:[],typeName:zt.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...Jt(n)});class Zo extends re{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)!==Rt.bigint)return this._getInvalidInput(t);let r;const i=new cr;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()):pe.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const e=this._getOrReturnCtx(t);return At(e,{code:gt.invalid_type,expected:Rt.bigint,received:e.parsedType}),Gt}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 Zo({...this._def,checks:[...this._def.checks,{kind:t,value:e,inclusive:r,message:Bt.toString(i)}]})}_addCheck(t){return new Zo({...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}}Zo.create=n=>{var t;return new Zo({checks:[],typeName:zt.ZodBigInt,coerce:(t=n==null?void 0:n.coerce)!==null&&t!==void 0?t:!1,...Jt(n)})};class Hf extends re{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==Rt.boolean){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:Rt.boolean,received:r.parsedType}),Gt}return wr(t.data)}}Hf.create=n=>new Hf({typeName:zt.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...Jt(n)});class ic extends re{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==Rt.date){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_type,expected:Rt.date,received:s.parsedType}),Gt}if(isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return At(s,{code:gt.invalid_date}),Gt}const r=new cr;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()):pe.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ic({...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}}ic.create=n=>new ic({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:zt.ZodDate,...Jt(n)});class l0 extends re{_parse(t){if(this._getType(t)!==Rt.symbol){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:Rt.symbol,received:r.parsedType}),Gt}return wr(t.data)}}l0.create=n=>new l0({typeName:zt.ZodSymbol,...Jt(n)});class zf extends re{_parse(t){if(this._getType(t)!==Rt.undefined){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:Rt.undefined,received:r.parsedType}),Gt}return wr(t.data)}}zf.create=n=>new zf({typeName:zt.ZodUndefined,...Jt(n)});class Gf extends re{_parse(t){if(this._getType(t)!==Rt.null){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:Rt.null,received:r.parsedType}),Gt}return wr(t.data)}}Gf.create=n=>new Gf({typeName:zt.ZodNull,...Jt(n)});class tl extends re{constructor(){super(...arguments),this._any=!0}_parse(t){return wr(t.data)}}tl.create=n=>new tl({typeName:zt.ZodAny,...Jt(n)});class Ya extends re{constructor(){super(...arguments),this._unknown=!0}_parse(t){return wr(t.data)}}Ya.create=n=>new Ya({typeName:zt.ZodUnknown,...Jt(n)});class js extends re{_parse(t){const e=this._getOrReturnCtx(t);return At(e,{code:gt.invalid_type,expected:Rt.never,received:e.parsedType}),Gt}}js.create=n=>new js({typeName:zt.ZodNever,...Jt(n)});class f0 extends re{_parse(t){if(this._getType(t)!==Rt.undefined){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:Rt.void,received:r.parsedType}),Gt}return wr(t.data)}}f0.create=n=>new f0({typeName:zt.ZodVoid,...Jt(n)});class _i extends re{_parse(t){const{ctx:e,status:r}=this._processInputParams(t),i=this._def;if(e.parsedType!==Rt.array)return At(e,{code:gt.invalid_type,expected:Rt.array,received:e.parsedType}),Gt;if(i.exactLength!==null){const o=e.data.length>i.exactLength.value,c=e.data.length<i.exactLength.value;(o||c)&&(At(e,{code:o?gt.too_big:gt.too_small,minimum:c?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,c)=>i.type._parseAsync(new rs(e,o,e.path,c)))).then(o=>cr.mergeArray(r,o));const s=[...e.data].map((o,c)=>i.type._parseSync(new rs(e,o,e.path,c)));return cr.mergeArray(r,s)}get element(){return this._def.type}min(t,e){return new _i({...this._def,minLength:{value:t,message:Bt.toString(e)}})}max(t,e){return new _i({...this._def,maxLength:{value:t,message:Bt.toString(e)}})}length(t,e){return new _i({...this._def,exactLength:{value:t,message:Bt.toString(e)}})}nonempty(t){return this.min(1,t)}}_i.create=(n,t)=>new _i({type:n,minLength:null,maxLength:null,exactLength:null,typeName:zt.ZodArray,...Jt(t)});function zc(n){if(n instanceof tn){const t={};for(const e in n.shape){const r=n.shape[e];t[e]=Yi.create(zc(r))}return new tn({...n._def,shape:()=>t})}else return n instanceof _i?new _i({...n._def,type:zc(n.element)}):n instanceof Yi?Yi.create(zc(n.unwrap())):n instanceof Qo?Qo.create(zc(n.unwrap())):n instanceof is?is.create(n.items.map(t=>zc(t))):n}class tn extends re{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=pe.objectKeys(t);return this._cached={shape:t,keys:e}}_parse(t){if(this._getType(t)!==Rt.object){const f=this._getOrReturnCtx(t);return At(f,{code:gt.invalid_type,expected:Rt.object,received:f.parsedType}),Gt}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),c=[];if(!(this._def.catchall instanceof js&&this._def.unknownKeys==="strip"))for(const f in i.data)o.includes(f)||c.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 rs(i,y,i.path,f)),alwaysSet:f in i.data})}if(this._def.catchall instanceof js){const f=this._def.unknownKeys;if(f==="passthrough")for(const h of c)u.push({key:{status:"valid",value:h},value:{status:"valid",value:i.data[h]}});else if(f==="strict")c.length>0&&(At(i,{code:gt.unrecognized_keys,keys:c}),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 c){const y=i.data[h];u.push({key:{status:"valid",value:h},value:f._parse(new rs(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,A=await h.value;f.push({key:y,value:A,alwaysSet:h.alwaysSet})}return f}).then(f=>cr.mergeObjectSync(r,f)):cr.mergeObjectSync(r,u)}get shape(){return this._def.shape()}strict(t){return Bt.errToObj,new tn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(e,r)=>{var i,s,o,c;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:(c=Bt.errToObj(t).message)!==null&&c!==void 0?c:u}:{message:u}}}:{}})}strip(){return new tn({...this._def,unknownKeys:"strip"})}passthrough(){return new tn({...this._def,unknownKeys:"passthrough"})}extend(t){return new tn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new tn({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 tn({...this._def,catchall:t})}pick(t){const e={};return pe.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(e[r]=this.shape[r])}),new tn({...this._def,shape:()=>e})}omit(t){const e={};return pe.objectKeys(this.shape).forEach(r=>{t[r]||(e[r]=this.shape[r])}),new tn({...this._def,shape:()=>e})}deepPartial(){return zc(this)}partial(t){const e={};return pe.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?e[r]=i:e[r]=i.optional()}),new tn({...this._def,shape:()=>e})}required(t){const e={};return pe.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])e[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Yi;)s=s._def.innerType;e[r]=s}}),new tn({...this._def,shape:()=>e})}keyof(){return px(pe.objectKeys(this.shape))}}tn.create=(n,t)=>new tn({shape:()=>n,unknownKeys:"strip",catchall:js.create(),typeName:zt.ZodObject,...Jt(t)});tn.strictCreate=(n,t)=>new tn({shape:()=>n,unknownKeys:"strict",catchall:js.create(),typeName:zt.ZodObject,...Jt(t)});tn.lazycreate=(n,t)=>new tn({shape:n,unknownKeys:"strip",catchall:js.create(),typeName:zt.ZodObject,...Jt(t)});class Vf extends re{_parse(t){const{ctx:e}=this._processInputParams(t),r=this._def.options;function i(s){for(const c of s)if(c.result.status==="valid")return c.result;for(const c of s)if(c.result.status==="dirty")return e.common.issues.push(...c.ctx.common.issues),c.result;const o=s.map(c=>new Vr(c.ctx.common.issues));return At(e,{code:gt.invalid_union,unionErrors:o}),Gt}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 c=o.map(u=>new Vr(u));return At(e,{code:gt.invalid_union,unionErrors:c}),Gt}}get options(){return this._def.options}}Vf.create=(n,t)=>new Vf({options:n,typeName:zt.ZodUnion,...Jt(t)});const ps=n=>n instanceof Wf?ps(n.schema):n instanceof Ei?ps(n.innerType()):n instanceof Zf?[n.value]:n instanceof qo?n.options:n instanceof qf?pe.objectValues(n.enum):n instanceof Qf?ps(n._def.innerType):n instanceof zf?[void 0]:n instanceof Gf?[null]:n instanceof Yi?[void 0,...ps(n.unwrap())]:n instanceof Qo?[null,...ps(n.unwrap())]:n instanceof Fw||n instanceof Yf?ps(n.unwrap()):n instanceof Jf?ps(n._def.innerType):[];class rp extends re{_parse(t){const{ctx:e}=this._processInputParams(t);if(e.parsedType!==Rt.object)return At(e,{code:gt.invalid_type,expected:Rt.object,received:e.parsedType}),Gt;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]}),Gt)}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=ps(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 c of o){if(i.has(c))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(c)}`);i.set(c,s)}}return new rp({typeName:zt.ZodDiscriminatedUnion,discriminator:t,options:e,optionsMap:i,...Jt(r)})}}function km(n,t){const e=bs(n),r=bs(t);if(n===t)return{valid:!0,data:n};if(e===Rt.object&&r===Rt.object){const i=pe.objectKeys(t),s=pe.objectKeys(n).filter(c=>i.indexOf(c)!==-1),o={...n,...t};for(const c of s){const u=km(n[c],t[c]);if(!u.valid)return{valid:!1};o[c]=u.data}return{valid:!0,data:o}}else if(e===Rt.array&&r===Rt.array){if(n.length!==t.length)return{valid:!1};const i=[];for(let s=0;s<n.length;s++){const o=n[s],c=t[s],u=km(o,c);if(!u.valid)return{valid:!1};i.push(u.data)}return{valid:!0,data:i}}else return e===Rt.date&&r===Rt.date&&+n==+t?{valid:!0,data:n}:{valid:!1}}class Kf extends re{_parse(t){const{status:e,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(Sm(s)||Sm(o))return Gt;const c=km(s.value,o.value);return c.valid?((Im(s)||Im(o))&&e.dirty(),{status:e.value,value:c.data}):(At(r,{code:gt.invalid_intersection_types}),Gt)};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}))}}Kf.create=(n,t,e)=>new Kf({left:n,right:t,typeName:zt.ZodIntersection,...Jt(e)});class is extends re{_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.parsedType!==Rt.array)return At(r,{code:gt.invalid_type,expected:Rt.array,received:r.parsedType}),Gt;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"}),Gt;!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,c)=>{const u=this._def.items[c]||this._def.rest;return u?u._parse(new rs(r,o,r.path,c)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>cr.mergeArray(e,o)):cr.mergeArray(e,s)}get items(){return this._def.items}rest(t){return new is({...this._def,rest:t})}}is.create=(n,t)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new is({items:n,typeName:zt.ZodTuple,rest:null,...Jt(t)})};class jf extends re{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!==Rt.object)return At(r,{code:gt.invalid_type,expected:Rt.object,received:r.parsedType}),Gt;const i=[],s=this._def.keyType,o=this._def.valueType;for(const c in r.data)i.push({key:s._parse(new rs(r,c,r.path,c)),value:o._parse(new rs(r,r.data[c],r.path,c)),alwaysSet:c in r.data});return r.common.async?cr.mergeObjectAsync(e,i):cr.mergeObjectSync(e,i)}get element(){return this._def.valueType}static create(t,e,r){return e instanceof re?new jf({keyType:t,valueType:e,typeName:zt.ZodRecord,...Jt(r)}):new jf({keyType:wi.create(),valueType:t,typeName:zt.ZodRecord,...Jt(e)})}}class h0 extends re{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!==Rt.map)return At(r,{code:gt.invalid_type,expected:Rt.map,received:r.parsedType}),Gt;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([c,u],f)=>({key:i._parse(new rs(r,c,r.path,[f,"key"])),value:s._parse(new rs(r,u,r.path,[f,"value"]))}));if(r.common.async){const c=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 Gt;(f.status==="dirty"||h.status==="dirty")&&e.dirty(),c.set(f.value,h.value)}return{status:e.value,value:c}})}else{const c=new Map;for(const u of o){const f=u.key,h=u.value;if(f.status==="aborted"||h.status==="aborted")return Gt;(f.status==="dirty"||h.status==="dirty")&&e.dirty(),c.set(f.value,h.value)}return{status:e.value,value:c}}}}h0.create=(n,t,e)=>new h0({valueType:t,keyType:n,typeName:zt.ZodMap,...Jt(e)});class sc extends re{_parse(t){const{status:e,ctx:r}=this._processInputParams(t);if(r.parsedType!==Rt.set)return At(r,{code:gt.invalid_type,expected:Rt.set,received:r.parsedType}),Gt;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 Gt;h.status==="dirty"&&e.dirty(),f.add(h.value)}return{status:e.value,value:f}}const c=[...r.data.values()].map((u,f)=>s._parse(new rs(r,u,r.path,f)));return r.common.async?Promise.all(c).then(u=>o(u)):o(c)}min(t,e){return new sc({...this._def,minSize:{value:t,message:Bt.toString(e)}})}max(t,e){return new sc({...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)}}sc.create=(n,t)=>new sc({valueType:n,minSize:null,maxSize:null,typeName:zt.ZodSet,...Jt(t)});class iu extends re{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:e}=this._processInputParams(t);if(e.parsedType!==Rt.function)return At(e,{code:gt.invalid_type,expected:Rt.function,received:e.parsedType}),Gt;function r(c,u){return c0({data:c,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,a0(),Xu].filter(f=>!!f),issueData:{code:gt.invalid_arguments,argumentsError:u}})}function i(c,u){return c0({data:c,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,a0(),Xu].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 el){const c=this;return wr(async function(...u){const f=new Vr([]),h=await c._def.args.parseAsync(u,s).catch(b=>{throw f.addIssue(r(u,b)),f}),y=await Reflect.apply(o,this,h);return await c._def.returns._def.type.parseAsync(y,s).catch(b=>{throw f.addIssue(i(y,b)),f})})}else{const c=this;return wr(function(...u){const f=c._def.args.safeParse(u,s);if(!f.success)throw new Vr([r(u,f.error)]);const h=Reflect.apply(o,this,f.data),y=c._def.returns.safeParse(h,s);if(!y.success)throw new Vr([i(h,y.error)]);return y.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new iu({...this._def,args:is.create(t).rest(Ya.create())})}returns(t){return new iu({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,e,r){return new iu({args:t||is.create([]).rest(Ya.create()),returns:e||Ya.create(),typeName:zt.ZodFunction,...Jt(r)})}}class Wf extends re{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})}}Wf.create=(n,t)=>new Wf({getter:n,typeName:zt.ZodLazy,...Jt(t)});class Zf extends re{_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}),Gt}return{status:"valid",value:t.data}}get value(){return this._def.value}}Zf.create=(n,t)=>new Zf({value:n,typeName:zt.ZodLiteral,...Jt(t)});function px(n,t){return new qo({values:n,typeName:zt.ZodEnum,...Jt(t)})}class qo extends re{constructor(){super(...arguments),Af.set(this,void 0)}_parse(t){if(typeof t.data!="string"){const e=this._getOrReturnCtx(t),r=this._def.values;return At(e,{expected:pe.joinValues(r),received:e.parsedType,code:gt.invalid_type}),Gt}if(u0(this,Af)||lx(this,Af,new Set(this._def.values)),!u0(this,Af).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}),Gt}return wr(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 qo.create(t,{...this._def,...e})}exclude(t,e=this._def){return qo.create(this.options.filter(r=>!t.includes(r)),{...this._def,...e})}}Af=new WeakMap;qo.create=px;class qf extends re{constructor(){super(...arguments),Ef.set(this,void 0)}_parse(t){const e=pe.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==Rt.string&&r.parsedType!==Rt.number){const i=pe.objectValues(e);return At(r,{expected:pe.joinValues(i),received:r.parsedType,code:gt.invalid_type}),Gt}if(u0(this,Ef)||lx(this,Ef,new Set(pe.getValidEnumValues(this._def.values))),!u0(this,Ef).has(t.data)){const i=pe.objectValues(e);return At(r,{received:r.data,code:gt.invalid_enum_value,options:i}),Gt}return wr(t.data)}get enum(){return this._def.values}}Ef=new WeakMap;qf.create=(n,t)=>new qf({values:n,typeName:zt.ZodNativeEnum,...Jt(t)});class el extends re{unwrap(){return this._def.type}_parse(t){const{ctx:e}=this._processInputParams(t);if(e.parsedType!==Rt.promise&&e.common.async===!1)return At(e,{code:gt.invalid_type,expected:Rt.promise,received:e.parsedType}),Gt;const r=e.parsedType===Rt.promise?e.data:Promise.resolve(e.data);return wr(r.then(i=>this._def.type.parseAsync(i,{path:e.path,errorMap:e.common.contextualErrorMap})))}}el.create=(n,t)=>new el({type:n,typeName:zt.ZodPromise,...Jt(t)});class Ei extends re{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 c=>{if(e.value==="aborted")return Gt;const u=await this._def.schema._parseAsync({data:c,path:r.path,parent:r});return u.status==="aborted"?Gt:u.status==="dirty"||e.value==="dirty"?Zc(u.value):u});{if(e.value==="aborted")return Gt;const c=this._def.schema._parseSync({data:o,path:r.path,parent:r});return c.status==="aborted"?Gt:c.status==="dirty"||e.value==="dirty"?Zc(c.value):c}}if(i.type==="refinement"){const o=c=>{const u=i.refinement(c,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 c};if(r.common.async===!1){const c=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return c.status==="aborted"?Gt:(c.status==="dirty"&&e.dirty(),o(c.value),{status:e.value,value:c.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(c=>c.status==="aborted"?Gt:(c.status==="dirty"&&e.dirty(),o(c.value).then(()=>({status:e.value,value:c.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(!rc(o))return o;const c=i.transform(o.value,s);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:e.value,value:c}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>rc(o)?Promise.resolve(i.transform(o.value,s)).then(c=>({status:e.value,value:c})):o);pe.assertNever(i)}}Ei.create=(n,t,e)=>new Ei({schema:n,typeName:zt.ZodEffects,effect:t,...Jt(e)});Ei.createWithPreprocess=(n,t,e)=>new Ei({schema:t,effect:{type:"preprocess",transform:n},typeName:zt.ZodEffects,...Jt(e)});class Yi extends re{_parse(t){return this._getType(t)===Rt.undefined?wr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Yi.create=(n,t)=>new Yi({innerType:n,typeName:zt.ZodOptional,...Jt(t)});class Qo extends re{_parse(t){return this._getType(t)===Rt.null?wr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Qo.create=(n,t)=>new Qo({innerType:n,typeName:zt.ZodNullable,...Jt(t)});class Qf extends re{_parse(t){const{ctx:e}=this._processInputParams(t);let r=e.data;return e.parsedType===Rt.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:e.path,parent:e})}removeDefault(){return this._def.innerType}}Qf.create=(n,t)=>new Qf({innerType:n,typeName:zt.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Jt(t)});class Jf extends re{_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 $f(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Vr(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Vr(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Jf.create=(n,t)=>new Jf({innerType:n,typeName:zt.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Jt(t)});class d0 extends re{_parse(t){if(this._getType(t)!==Rt.nan){const r=this._getOrReturnCtx(t);return At(r,{code:gt.invalid_type,expected:Rt.nan,received:r.parsedType}),Gt}return{status:"valid",value:t.data}}}d0.create=n=>new d0({typeName:zt.ZodNaN,...Jt(n)});const zM=Symbol("zod_brand");class Fw extends re{_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 Dh extends re{_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"?Gt:s.status==="dirty"?(e.dirty(),Zc(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"?Gt: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 Dh({in:t,out:e,typeName:zt.ZodPipeline})}}class Yf extends re{_parse(t){const e=this._def.innerType._parse(t),r=i=>(rc(i)&&(i.value=Object.freeze(i.value)),i);return $f(e)?e.then(i=>r(i)):r(e)}unwrap(){return this._def.innerType}}Yf.create=(n,t)=>new Yf({innerType:n,typeName:zt.ZodReadonly,...Jt(t)});function gx(n,t={},e){return n?tl.create().superRefine((r,i)=>{var s,o;if(!n(r)){const c=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,u=(o=(s=c.fatal)!==null&&s!==void 0?s:e)!==null&&o!==void 0?o:!0,f=typeof c=="string"?{message:c}:c;i.addIssue({code:"custom",...f,fatal:u})}}):tl.create()}const GM={object:tn.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 VM=(n,t={message:`Input not instance of ${n.name}`})=>gx(e=>e instanceof n,t),yx=wi.create,mx=Wo.create,KM=d0.create,jM=Zo.create,wx=Hf.create,WM=ic.create,ZM=l0.create,qM=zf.create,QM=Gf.create,JM=tl.create,YM=Ya.create,XM=js.create,tL=f0.create,eL=_i.create,nL=tn.create,rL=tn.strictCreate,iL=Vf.create,sL=rp.create,oL=Kf.create,aL=is.create,cL=jf.create,uL=h0.create,lL=sc.create,fL=iu.create,hL=Wf.create,dL=Zf.create,pL=qo.create,gL=qf.create,yL=el.create,Q_=Ei.create,mL=Yi.create,wL=Qo.create,bL=Ei.createWithPreprocess,_L=Dh.create,AL=()=>yx().optional(),EL=()=>mx().optional(),vL=()=>wx().optional(),xL={string:n=>wi.create({...n,coerce:!0}),number:n=>Wo.create({...n,coerce:!0}),boolean:n=>Hf.create({...n,coerce:!0}),bigint:n=>Zo.create({...n,coerce:!0}),date:n=>ic.create({...n,coerce:!0})},RL=Gt;var po=Object.freeze({__proto__:null,defaultErrorMap:Xu,setErrorMap:bM,getErrorMap:a0,makeIssue:c0,EMPTY_PATH:_M,addIssueToContext:At,ParseStatus:cr,INVALID:Gt,DIRTY:Zc,OK:wr,isAborted:Sm,isDirty:Im,isValid:rc,isAsync:$f,get util(){return pe},get objectUtil(){return Rm},ZodParsedType:Rt,getParsedType:bs,ZodType:re,datetimeRegex:dx,ZodString:wi,ZodNumber:Wo,ZodBigInt:Zo,ZodBoolean:Hf,ZodDate:ic,ZodSymbol:l0,ZodUndefined:zf,ZodNull:Gf,ZodAny:tl,ZodUnknown:Ya,ZodNever:js,ZodVoid:f0,ZodArray:_i,ZodObject:tn,ZodUnion:Vf,ZodDiscriminatedUnion:rp,ZodIntersection:Kf,ZodTuple:is,ZodRecord:jf,ZodMap:h0,ZodSet:sc,ZodFunction:iu,ZodLazy:Wf,ZodLiteral:Zf,ZodEnum:qo,ZodNativeEnum:qf,ZodPromise:el,ZodEffects:Ei,ZodTransformer:Ei,ZodOptional:Yi,ZodNullable:Qo,ZodDefault:Qf,ZodCatch:Jf,ZodNaN:d0,BRAND:zM,ZodBranded:Fw,ZodPipeline:Dh,ZodReadonly:Yf,custom:gx,Schema:re,ZodSchema:re,late:GM,get ZodFirstPartyTypeKind(){return zt},coerce:xL,any:JM,array:eL,bigint:jM,boolean:wx,date:WM,discriminatedUnion:sL,effect:Q_,enum:pL,function:fL,instanceof:VM,intersection:oL,lazy:hL,literal:dL,map:uL,nan:KM,nativeEnum:gL,never:XM,null:QM,nullable:wL,number:mx,object:nL,oboolean:vL,onumber:EL,optional:mL,ostring:AL,pipeline:_L,preprocess:bL,promise:yL,record:cL,set:lL,strictObject:rL,string:yx,symbol:ZM,transformer:Q_,tuple:aL,undefined:qM,union:iL,unknown:YM,void:tL,NEVER:RL,ZodIssueCode:gt,quotelessJson:wM,ZodError:Vr});const $w=Qi.getInstance(),bx=po.object({username:po.string(),address:po.string(),timestamp:po.number(),index:po.number(),signature:po.string()}),SL=po.object({topic:po.string(),messageSender:bx});function IL(n){const t=SL.safeParse(n);return t.success?n.messageSender&&!kL(n.messageSender)?(console.warn("Invalid messageSender"),!1):!0:($w.warn(t.error.format()),!1)}function kL(n){const t=bx.safeParse(n);return t.success?TL(n):($w.warn(t.error.format()),!1)}function TL(n){try{const t={username:n.username,address:n.address,timestamp:n.timestamp},e=new TextEncoder,r=or.concatBytes(e.encode(`Ethereum Signed Message:
11
+ 32`),or.keccak256(e.encode(JSON.stringify(t))));if(new Qt.Signature(n.signature).isValid(r,n.address))throw new Error("Signature verification failed!");return!0}catch(t){return $w.warn("Error in validateUserSignature",t),!1}}async function OL(n){const{condition:t,broadcast:e,maxRetries:r=2,initialDelayMs:i=2e3,checkIntervalMs:s=1e3,checkCount:o=10}=n;return new Promise((c,u)=>{let f=0;const h=async()=>{await xm(i);for(let y=0;y<o;y++){if(await Promise.resolve(t()))return c();await xm(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 Br={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"},NL=1e3;class CL{constructor(t,e){this.utils=t,this.emitter=e,this.logger=Qi.getInstance(),this.errorHandler=new np,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(Qt.FeedIndex.fromBigInt(i));if(this.emitter.emit(Br.MESSAGE_RECEIVED,s),this.historyIndex=Qt.FeedIndex.fromBigInt(i),i===0n)break}}catch(e){this.errorHandler.handleError(e,"SwarmHistory.fetchPreviousMessages")}}}const nl=globalThis||void 0||self;var Hw={},ip={};ip.byteLength=ML;ip.toByteArray=UL;ip.fromByteArray=$L;var Gi=[],Qr=[],BL=typeof Uint8Array<"u"?Uint8Array:Array,my="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Mc=0,PL=my.length;Mc<PL;++Mc)Gi[Mc]=my[Mc],Qr[my.charCodeAt(Mc)]=Mc;Qr[45]=62;Qr[95]=63;function _x(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 ML(n){var t=_x(n),e=t[0],r=t[1];return(e+r)*3/4-r}function LL(n,t,e){return(t+e)*3/4-e}function UL(n){var t,e=_x(n),r=e[0],i=e[1],s=new BL(LL(n,r,i)),o=0,c=i>0?r-4:r,u;for(u=0;u<c;u+=4)t=Qr[n.charCodeAt(u)]<<18|Qr[n.charCodeAt(u+1)]<<12|Qr[n.charCodeAt(u+2)]<<6|Qr[n.charCodeAt(u+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=Qr[n.charCodeAt(u)]<<2|Qr[n.charCodeAt(u+1)]>>4,s[o++]=t&255),i===1&&(t=Qr[n.charCodeAt(u)]<<10|Qr[n.charCodeAt(u+1)]<<4|Qr[n.charCodeAt(u+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function DL(n){return Gi[n>>18&63]+Gi[n>>12&63]+Gi[n>>6&63]+Gi[n&63]}function FL(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(DL(r));return i.join("")}function $L(n){for(var t,e=n.length,r=e%3,i=[],s=16383,o=0,c=e-r;o<c;o+=s)i.push(FL(n,o,o+s>c?c:o+s));return r===1?(t=n[e-1],i.push(Gi[t>>2]+Gi[t<<4&63]+"==")):r===2&&(t=(n[e-2]<<8)+n[e-1],i.push(Gi[t>>10]+Gi[t>>4&63]+Gi[t<<2&63]+"=")),i.join("")}var zw={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */zw.read=function(n,t,e,r,i){var s,o,c=i*8-r-1,u=(1<<c)-1,f=u>>1,h=-7,y=e?i-1:0,A=e?-1:1,b=n[t+y];for(y+=A,s=b&(1<<-h)-1,b>>=-h,h+=c;h>0;s=s*256+n[t+y],y+=A,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=r;h>0;o=o*256+n[t+y],y+=A,h-=8);if(s===0)s=1-f;else{if(s===u)return o?NaN:(b?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-f}return(b?-1:1)*o*Math.pow(2,s-r)};zw.write=function(n,t,e,r,i,s){var o,c,u,f=s*8-i-1,h=(1<<f)-1,y=h>>1,A=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,b=r?0:s-1,R=r?1:-1,k=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=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+=A/u:t+=A*Math.pow(2,1-y),t*u>=2&&(o++,u/=2),o+y>=h?(c=0,o=h):o+y>=1?(c=(t*u-1)*Math.pow(2,i),o=o+y):(c=t*Math.pow(2,y-1)*Math.pow(2,i),o=0));i>=8;n[e+b]=c&255,b+=R,c/=256,i-=8);for(o=o<<i|c,f+=i;f>0;n[e+b]=o&255,b+=R,o/=256,f-=8);n[e+b-R]|=k*128};/*!
14
12
  * The buffer module from node.js, for the browser.
15
13
  *
16
14
  * @author Feross Aboukhadijeh <https://feross.org>
17
15
  * @license MIT
18
- */(function(r){const e=Bp,t=ab,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=h,r.SlowBuffer=V,r.INSPECT_MAX_BYTES=50;const i=2147483647;r.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 N=new s(1),_={foo:function(){return 42}};return Object.setPrototypeOf(_,s.prototype),Object.setPrototypeOf(N,_),N.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 l(N){if(N>i)throw new RangeError('The value "'+N+'" is invalid for option "size"');const _=new s(N);return Object.setPrototypeOf(_,h.prototype),_}function h(N,_,v){if(typeof N=="number"){if(typeof _=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return I(N)}return g(N,_,v)}h.poolSize=8192;function g(N,_,v){if(typeof N=="string")return S(N,_);if(o.isView(N))return C(N);if(N==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof N);if(Xt(N,o)||N&&Xt(N.buffer,o)||typeof a<"u"&&(Xt(N,a)||N&&Xt(N.buffer,a)))return H(N,_,v);if(typeof N=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const $=N.valueOf&&N.valueOf();if($!=null&&$!==N)return h.from($,_,v);const W=D(N);if(W)return W;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof N[Symbol.toPrimitive]=="function")return h.from(N[Symbol.toPrimitive]("string"),_,v);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof N)}h.from=function(N,_,v){return g(N,_,v)},Object.setPrototypeOf(h.prototype,s.prototype),Object.setPrototypeOf(h,s);function b(N){if(typeof N!="number")throw new TypeError('"size" argument must be of type number');if(N<0)throw new RangeError('The value "'+N+'" is invalid for option "size"')}function w(N,_,v){return b(N),N<=0?l(N):_!==void 0?typeof v=="string"?l(N).fill(_,v):l(N).fill(_):l(N)}h.alloc=function(N,_,v){return w(N,_,v)};function I(N){return b(N),l(N<0?0:z(N)|0)}h.allocUnsafe=function(N){return I(N)},h.allocUnsafeSlow=function(N){return I(N)};function S(N,_){if((typeof _!="string"||_==="")&&(_="utf8"),!h.isEncoding(_))throw new TypeError("Unknown encoding: "+_);const v=Z(N,_)|0;let $=l(v);const W=$.write(N,_);return W!==v&&($=$.slice(0,W)),$}function x(N){const _=N.length<0?0:z(N.length)|0,v=l(_);for(let $=0;$<_;$+=1)v[$]=N[$]&255;return v}function C(N){if(Xt(N,s)){const _=new s(N);return H(_.buffer,_.byteOffset,_.byteLength)}return x(N)}function H(N,_,v){if(_<0||N.byteLength<_)throw new RangeError('"offset" is outside of buffer bounds');if(N.byteLength<_+(v||0))throw new RangeError('"length" is outside of buffer bounds');let $;return _===void 0&&v===void 0?$=new s(N):v===void 0?$=new s(N,_):$=new s(N,_,v),Object.setPrototypeOf($,h.prototype),$}function D(N){if(h.isBuffer(N)){const _=z(N.length)|0,v=l(_);return v.length===0||N.copy(v,0,0,_),v}if(N.length!==void 0)return typeof N.length!="number"||bt(N.length)?l(0):x(N);if(N.type==="Buffer"&&Array.isArray(N.data))return x(N.data)}function z(N){if(N>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return N|0}function V(N){return+N!=N&&(N=0),h.alloc(+N)}h.isBuffer=function(_){return _!=null&&_._isBuffer===!0&&_!==h.prototype},h.compare=function(_,v){if(Xt(_,s)&&(_=h.from(_,_.offset,_.byteLength)),Xt(v,s)&&(v=h.from(v,v.offset,v.byteLength)),!h.isBuffer(_)||!h.isBuffer(v))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(_===v)return 0;let $=_.length,W=v.length;for(let J=0,ae=Math.min($,W);J<ae;++J)if(_[J]!==v[J]){$=_[J],W=v[J];break}return $<W?-1:W<$?1:0},h.isEncoding=function(_){switch(String(_).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(_,v){if(!Array.isArray(_))throw new TypeError('"list" argument must be an Array of Buffers');if(_.length===0)return h.alloc(0);let $;if(v===void 0)for(v=0,$=0;$<_.length;++$)v+=_[$].length;const W=h.allocUnsafe(v);let J=0;for($=0;$<_.length;++$){let ae=_[$];if(Xt(ae,s))J+ae.length>W.length?(h.isBuffer(ae)||(ae=h.from(ae)),ae.copy(W,J)):s.prototype.set.call(W,ae,J);else if(h.isBuffer(ae))ae.copy(W,J);else throw new TypeError('"list" argument must be an Array of Buffers');J+=ae.length}return W};function Z(N,_){if(h.isBuffer(N))return N.length;if(o.isView(N)||Xt(N,o))return N.byteLength;if(typeof N!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof N);const v=N.length,$=arguments.length>2&&arguments[2]===!0;if(!$&&v===0)return 0;let W=!1;for(;;)switch(_){case"ascii":case"latin1":case"binary":return v;case"utf8":case"utf-8":return Et(N).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v*2;case"hex":return v>>>1;case"base64":return ft(N).length;default:if(W)return $?-1:Et(N).length;_=(""+_).toLowerCase(),W=!0}}h.byteLength=Z;function K(N,_,v){let $=!1;if((_===void 0||_<0)&&(_=0),_>this.length||((v===void 0||v>this.length)&&(v=this.length),v<=0)||(v>>>=0,_>>>=0,v<=_))return"";for(N||(N="utf8");;)switch(N){case"hex":return A(this,_,v);case"utf8":case"utf-8":return k(this,_,v);case"ascii":return G(this,_,v);case"latin1":case"binary":return P(this,_,v);case"base64":return E(this,_,v);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,_,v);default:if($)throw new TypeError("Unknown encoding: "+N);N=(N+"").toLowerCase(),$=!0}}h.prototype._isBuffer=!0;function j(N,_,v){const $=N[_];N[_]=N[v],N[v]=$}h.prototype.swap16=function(){const _=this.length;if(_%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let v=0;v<_;v+=2)j(this,v,v+1);return this},h.prototype.swap32=function(){const _=this.length;if(_%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let v=0;v<_;v+=4)j(this,v,v+3),j(this,v+1,v+2);return this},h.prototype.swap64=function(){const _=this.length;if(_%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let v=0;v<_;v+=8)j(this,v,v+7),j(this,v+1,v+6),j(this,v+2,v+5),j(this,v+3,v+4);return this},h.prototype.toString=function(){const _=this.length;return _===0?"":arguments.length===0?k(this,0,_):K.apply(this,arguments)},h.prototype.toLocaleString=h.prototype.toString,h.prototype.equals=function(_){if(!h.isBuffer(_))throw new TypeError("Argument must be a Buffer");return this===_?!0:h.compare(this,_)===0},h.prototype.inspect=function(){let _="";const v=r.INSPECT_MAX_BYTES;return _=this.toString("hex",0,v).replace(/(.{2})/g,"$1 ").trim(),this.length>v&&(_+=" ... "),"<Buffer "+_+">"},n&&(h.prototype[n]=h.prototype.inspect),h.prototype.compare=function(_,v,$,W,J){if(Xt(_,s)&&(_=h.from(_,_.offset,_.byteLength)),!h.isBuffer(_))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof _);if(v===void 0&&(v=0),$===void 0&&($=_?_.length:0),W===void 0&&(W=0),J===void 0&&(J=this.length),v<0||$>_.length||W<0||J>this.length)throw new RangeError("out of range index");if(W>=J&&v>=$)return 0;if(W>=J)return-1;if(v>=$)return 1;if(v>>>=0,$>>>=0,W>>>=0,J>>>=0,this===_)return 0;let ae=J-W,Ze=$-v;const Ve=Math.min(ae,Ze),je=this.slice(W,J),Ut=_.slice(v,$);for(let He=0;He<Ve;++He)if(je[He]!==Ut[He]){ae=je[He],Ze=Ut[He];break}return ae<Ze?-1:Ze<ae?1:0};function oe(N,_,v,$,W){if(N.length===0)return-1;if(typeof v=="string"?($=v,v=0):v>2147483647?v=2147483647:v<-2147483648&&(v=-2147483648),v=+v,bt(v)&&(v=W?0:N.length-1),v<0&&(v=N.length+v),v>=N.length){if(W)return-1;v=N.length-1}else if(v<0)if(W)v=0;else return-1;if(typeof _=="string"&&(_=h.from(_,$)),h.isBuffer(_))return _.length===0?-1:ce(N,_,v,$,W);if(typeof _=="number")return _=_&255,typeof s.prototype.indexOf=="function"?W?s.prototype.indexOf.call(N,_,v):s.prototype.lastIndexOf.call(N,_,v):ce(N,[_],v,$,W);throw new TypeError("val must be string, number or Buffer")}function ce(N,_,v,$,W){let J=1,ae=N.length,Ze=_.length;if($!==void 0&&($=String($).toLowerCase(),$==="ucs2"||$==="ucs-2"||$==="utf16le"||$==="utf-16le")){if(N.length<2||_.length<2)return-1;J=2,ae/=2,Ze/=2,v/=2}function Ve(Ut,He){return J===1?Ut[He]:Ut.readUInt16BE(He*J)}let je;if(W){let Ut=-1;for(je=v;je<ae;je++)if(Ve(N,je)===Ve(_,Ut===-1?0:je-Ut)){if(Ut===-1&&(Ut=je),je-Ut+1===Ze)return Ut*J}else Ut!==-1&&(je-=je-Ut),Ut=-1}else for(v+Ze>ae&&(v=ae-Ze),je=v;je>=0;je--){let Ut=!0;for(let He=0;He<Ze;He++)if(Ve(N,je+He)!==Ve(_,He)){Ut=!1;break}if(Ut)return je}return-1}h.prototype.includes=function(_,v,$){return this.indexOf(_,v,$)!==-1},h.prototype.indexOf=function(_,v,$){return oe(this,_,v,$,!0)},h.prototype.lastIndexOf=function(_,v,$){return oe(this,_,v,$,!1)};function ne(N,_,v,$){v=Number(v)||0;const W=N.length-v;$?($=Number($),$>W&&($=W)):$=W;const J=_.length;$>J/2&&($=J/2);let ae;for(ae=0;ae<$;++ae){const Ze=parseInt(_.substr(ae*2,2),16);if(bt(Ze))return ae;N[v+ae]=Ze}return ae}function ue(N,_,v,$){return xt(Et(_,N.length-v),N,v,$)}function B(N,_,v,$){return xt(St(_),N,v,$)}function p(N,_,v,$){return xt(ft(_),N,v,$)}function m(N,_,v,$){return xt(Ar(_,N.length-v),N,v,$)}h.prototype.write=function(_,v,$,W){if(v===void 0)W="utf8",$=this.length,v=0;else if($===void 0&&typeof v=="string")W=v,$=this.length,v=0;else if(isFinite(v))v=v>>>0,isFinite($)?($=$>>>0,W===void 0&&(W="utf8")):(W=$,$=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const J=this.length-v;if(($===void 0||$>J)&&($=J),_.length>0&&($<0||v<0)||v>this.length)throw new RangeError("Attempt to write outside buffer bounds");W||(W="utf8");let ae=!1;for(;;)switch(W){case"hex":return ne(this,_,v,$);case"utf8":case"utf-8":return ue(this,_,v,$);case"ascii":case"latin1":case"binary":return B(this,_,v,$);case"base64":return p(this,_,v,$);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,_,v,$);default:if(ae)throw new TypeError("Unknown encoding: "+W);W=(""+W).toLowerCase(),ae=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function E(N,_,v){return _===0&&v===N.length?e.fromByteArray(N):e.fromByteArray(N.slice(_,v))}function k(N,_,v){v=Math.min(N.length,v);const $=[];let W=_;for(;W<v;){const J=N[W];let ae=null,Ze=J>239?4:J>223?3:J>191?2:1;if(W+Ze<=v){let Ve,je,Ut,He;switch(Ze){case 1:J<128&&(ae=J);break;case 2:Ve=N[W+1],(Ve&192)===128&&(He=(J&31)<<6|Ve&63,He>127&&(ae=He));break;case 3:Ve=N[W+1],je=N[W+2],(Ve&192)===128&&(je&192)===128&&(He=(J&15)<<12|(Ve&63)<<6|je&63,He>2047&&(He<55296||He>57343)&&(ae=He));break;case 4:Ve=N[W+1],je=N[W+2],Ut=N[W+3],(Ve&192)===128&&(je&192)===128&&(Ut&192)===128&&(He=(J&15)<<18|(Ve&63)<<12|(je&63)<<6|Ut&63,He>65535&&He<1114112&&(ae=He))}}ae===null?(ae=65533,Ze=1):ae>65535&&(ae-=65536,$.push(ae>>>10&1023|55296),ae=56320|ae&1023),$.push(ae),W+=Ze}return M($)}const O=4096;function M(N){const _=N.length;if(_<=O)return String.fromCharCode.apply(String,N);let v="",$=0;for(;$<_;)v+=String.fromCharCode.apply(String,N.slice($,$+=O));return v}function G(N,_,v){let $="";v=Math.min(N.length,v);for(let W=_;W<v;++W)$+=String.fromCharCode(N[W]&127);return $}function P(N,_,v){let $="";v=Math.min(N.length,v);for(let W=_;W<v;++W)$+=String.fromCharCode(N[W]);return $}function A(N,_,v){const $=N.length;(!_||_<0)&&(_=0),(!v||v<0||v>$)&&(v=$);let W="";for(let J=_;J<v;++J)W+=kt[N[J]];return W}function U(N,_,v){const $=N.slice(_,v);let W="";for(let J=0;J<$.length-1;J+=2)W+=String.fromCharCode($[J]+$[J+1]*256);return W}h.prototype.slice=function(_,v){const $=this.length;_=~~_,v=v===void 0?$:~~v,_<0?(_+=$,_<0&&(_=0)):_>$&&(_=$),v<0?(v+=$,v<0&&(v=0)):v>$&&(v=$),v<_&&(v=_);const W=this.subarray(_,v);return Object.setPrototypeOf(W,h.prototype),W};function le(N,_,v){if(N%1!==0||N<0)throw new RangeError("offset is not uint");if(N+_>v)throw new RangeError("Trying to access beyond buffer length")}h.prototype.readUintLE=h.prototype.readUIntLE=function(_,v,$){_=_>>>0,v=v>>>0,$||le(_,v,this.length);let W=this[_],J=1,ae=0;for(;++ae<v&&(J*=256);)W+=this[_+ae]*J;return W},h.prototype.readUintBE=h.prototype.readUIntBE=function(_,v,$){_=_>>>0,v=v>>>0,$||le(_,v,this.length);let W=this[_+--v],J=1;for(;v>0&&(J*=256);)W+=this[_+--v]*J;return W},h.prototype.readUint8=h.prototype.readUInt8=function(_,v){return _=_>>>0,v||le(_,1,this.length),this[_]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(_,v){return _=_>>>0,v||le(_,2,this.length),this[_]|this[_+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(_,v){return _=_>>>0,v||le(_,2,this.length),this[_]<<8|this[_+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(_,v){return _=_>>>0,v||le(_,4,this.length),(this[_]|this[_+1]<<8|this[_+2]<<16)+this[_+3]*16777216},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(_,v){return _=_>>>0,v||le(_,4,this.length),this[_]*16777216+(this[_+1]<<16|this[_+2]<<8|this[_+3])},h.prototype.readBigUInt64LE=Xr(function(_){_=_>>>0,Yt(_,"offset");const v=this[_],$=this[_+7];(v===void 0||$===void 0)&&lt(_,this.length-8);const W=v+this[++_]*2**8+this[++_]*2**16+this[++_]*2**24,J=this[++_]+this[++_]*2**8+this[++_]*2**16+$*2**24;return BigInt(W)+(BigInt(J)<<BigInt(32))}),h.prototype.readBigUInt64BE=Xr(function(_){_=_>>>0,Yt(_,"offset");const v=this[_],$=this[_+7];(v===void 0||$===void 0)&&lt(_,this.length-8);const W=v*2**24+this[++_]*2**16+this[++_]*2**8+this[++_],J=this[++_]*2**24+this[++_]*2**16+this[++_]*2**8+$;return(BigInt(W)<<BigInt(32))+BigInt(J)}),h.prototype.readIntLE=function(_,v,$){_=_>>>0,v=v>>>0,$||le(_,v,this.length);let W=this[_],J=1,ae=0;for(;++ae<v&&(J*=256);)W+=this[_+ae]*J;return J*=128,W>=J&&(W-=Math.pow(2,8*v)),W},h.prototype.readIntBE=function(_,v,$){_=_>>>0,v=v>>>0,$||le(_,v,this.length);let W=v,J=1,ae=this[_+--W];for(;W>0&&(J*=256);)ae+=this[_+--W]*J;return J*=128,ae>=J&&(ae-=Math.pow(2,8*v)),ae},h.prototype.readInt8=function(_,v){return _=_>>>0,v||le(_,1,this.length),this[_]&128?(255-this[_]+1)*-1:this[_]},h.prototype.readInt16LE=function(_,v){_=_>>>0,v||le(_,2,this.length);const $=this[_]|this[_+1]<<8;return $&32768?$|4294901760:$},h.prototype.readInt16BE=function(_,v){_=_>>>0,v||le(_,2,this.length);const $=this[_+1]|this[_]<<8;return $&32768?$|4294901760:$},h.prototype.readInt32LE=function(_,v){return _=_>>>0,v||le(_,4,this.length),this[_]|this[_+1]<<8|this[_+2]<<16|this[_+3]<<24},h.prototype.readInt32BE=function(_,v){return _=_>>>0,v||le(_,4,this.length),this[_]<<24|this[_+1]<<16|this[_+2]<<8|this[_+3]},h.prototype.readBigInt64LE=Xr(function(_){_=_>>>0,Yt(_,"offset");const v=this[_],$=this[_+7];(v===void 0||$===void 0)&&lt(_,this.length-8);const W=this[_+4]+this[_+5]*2**8+this[_+6]*2**16+($<<24);return(BigInt(W)<<BigInt(32))+BigInt(v+this[++_]*2**8+this[++_]*2**16+this[++_]*2**24)}),h.prototype.readBigInt64BE=Xr(function(_){_=_>>>0,Yt(_,"offset");const v=this[_],$=this[_+7];(v===void 0||$===void 0)&&lt(_,this.length-8);const W=(v<<24)+this[++_]*2**16+this[++_]*2**8+this[++_];return(BigInt(W)<<BigInt(32))+BigInt(this[++_]*2**24+this[++_]*2**16+this[++_]*2**8+$)}),h.prototype.readFloatLE=function(_,v){return _=_>>>0,v||le(_,4,this.length),t.read(this,_,!0,23,4)},h.prototype.readFloatBE=function(_,v){return _=_>>>0,v||le(_,4,this.length),t.read(this,_,!1,23,4)},h.prototype.readDoubleLE=function(_,v){return _=_>>>0,v||le(_,8,this.length),t.read(this,_,!0,52,8)},h.prototype.readDoubleBE=function(_,v){return _=_>>>0,v||le(_,8,this.length),t.read(this,_,!1,52,8)};function ee(N,_,v,$,W,J){if(!h.isBuffer(N))throw new TypeError('"buffer" argument must be a Buffer instance');if(_>W||_<J)throw new RangeError('"value" argument is out of bounds');if(v+$>N.length)throw new RangeError("Index out of range")}h.prototype.writeUintLE=h.prototype.writeUIntLE=function(_,v,$,W){if(_=+_,v=v>>>0,$=$>>>0,!W){const Ze=Math.pow(2,8*$)-1;ee(this,_,v,$,Ze,0)}let J=1,ae=0;for(this[v]=_&255;++ae<$&&(J*=256);)this[v+ae]=_/J&255;return v+$},h.prototype.writeUintBE=h.prototype.writeUIntBE=function(_,v,$,W){if(_=+_,v=v>>>0,$=$>>>0,!W){const Ze=Math.pow(2,8*$)-1;ee(this,_,v,$,Ze,0)}let J=$-1,ae=1;for(this[v+J]=_&255;--J>=0&&(ae*=256);)this[v+J]=_/ae&255;return v+$},h.prototype.writeUint8=h.prototype.writeUInt8=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,1,255,0),this[v]=_&255,v+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,2,65535,0),this[v]=_&255,this[v+1]=_>>>8,v+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,2,65535,0),this[v]=_>>>8,this[v+1]=_&255,v+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,4,4294967295,0),this[v+3]=_>>>24,this[v+2]=_>>>16,this[v+1]=_>>>8,this[v]=_&255,v+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,4,4294967295,0),this[v]=_>>>24,this[v+1]=_>>>16,this[v+2]=_>>>8,this[v+3]=_&255,v+4};function re(N,_,v,$,W){et(_,$,W,N,v,7);let J=Number(_&BigInt(4294967295));N[v++]=J,J=J>>8,N[v++]=J,J=J>>8,N[v++]=J,J=J>>8,N[v++]=J;let ae=Number(_>>BigInt(32)&BigInt(4294967295));return N[v++]=ae,ae=ae>>8,N[v++]=ae,ae=ae>>8,N[v++]=ae,ae=ae>>8,N[v++]=ae,v}function he(N,_,v,$,W){et(_,$,W,N,v,7);let J=Number(_&BigInt(4294967295));N[v+7]=J,J=J>>8,N[v+6]=J,J=J>>8,N[v+5]=J,J=J>>8,N[v+4]=J;let ae=Number(_>>BigInt(32)&BigInt(4294967295));return N[v+3]=ae,ae=ae>>8,N[v+2]=ae,ae=ae>>8,N[v+1]=ae,ae=ae>>8,N[v]=ae,v+8}h.prototype.writeBigUInt64LE=Xr(function(_,v=0){return re(this,_,v,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeBigUInt64BE=Xr(function(_,v=0){return he(this,_,v,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeIntLE=function(_,v,$,W){if(_=+_,v=v>>>0,!W){const Ve=Math.pow(2,8*$-1);ee(this,_,v,$,Ve-1,-Ve)}let J=0,ae=1,Ze=0;for(this[v]=_&255;++J<$&&(ae*=256);)_<0&&Ze===0&&this[v+J-1]!==0&&(Ze=1),this[v+J]=(_/ae>>0)-Ze&255;return v+$},h.prototype.writeIntBE=function(_,v,$,W){if(_=+_,v=v>>>0,!W){const Ve=Math.pow(2,8*$-1);ee(this,_,v,$,Ve-1,-Ve)}let J=$-1,ae=1,Ze=0;for(this[v+J]=_&255;--J>=0&&(ae*=256);)_<0&&Ze===0&&this[v+J+1]!==0&&(Ze=1),this[v+J]=(_/ae>>0)-Ze&255;return v+$},h.prototype.writeInt8=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,1,127,-128),_<0&&(_=255+_+1),this[v]=_&255,v+1},h.prototype.writeInt16LE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,2,32767,-32768),this[v]=_&255,this[v+1]=_>>>8,v+2},h.prototype.writeInt16BE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,2,32767,-32768),this[v]=_>>>8,this[v+1]=_&255,v+2},h.prototype.writeInt32LE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,4,2147483647,-2147483648),this[v]=_&255,this[v+1]=_>>>8,this[v+2]=_>>>16,this[v+3]=_>>>24,v+4},h.prototype.writeInt32BE=function(_,v,$){return _=+_,v=v>>>0,$||ee(this,_,v,4,2147483647,-2147483648),_<0&&(_=4294967295+_+1),this[v]=_>>>24,this[v+1]=_>>>16,this[v+2]=_>>>8,this[v+3]=_&255,v+4},h.prototype.writeBigInt64LE=Xr(function(_,v=0){return re(this,_,v,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),h.prototype.writeBigInt64BE=Xr(function(_,v=0){return he(this,_,v,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ye(N,_,v,$,W,J){if(v+$>N.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("Index out of range")}function be(N,_,v,$,W){return _=+_,v=v>>>0,W||ye(N,_,v,4),t.write(N,_,v,$,23,4),v+4}h.prototype.writeFloatLE=function(_,v,$){return be(this,_,v,!0,$)},h.prototype.writeFloatBE=function(_,v,$){return be(this,_,v,!1,$)};function We(N,_,v,$,W){return _=+_,v=v>>>0,W||ye(N,_,v,8),t.write(N,_,v,$,52,8),v+8}h.prototype.writeDoubleLE=function(_,v,$){return We(this,_,v,!0,$)},h.prototype.writeDoubleBE=function(_,v,$){return We(this,_,v,!1,$)},h.prototype.copy=function(_,v,$,W){if(!h.isBuffer(_))throw new TypeError("argument should be a Buffer");if($||($=0),!W&&W!==0&&(W=this.length),v>=_.length&&(v=_.length),v||(v=0),W>0&&W<$&&(W=$),W===$||_.length===0||this.length===0)return 0;if(v<0)throw new RangeError("targetStart out of bounds");if($<0||$>=this.length)throw new RangeError("Index out of range");if(W<0)throw new RangeError("sourceEnd out of bounds");W>this.length&&(W=this.length),_.length-v<W-$&&(W=_.length-v+$);const J=W-$;return this===_&&typeof s.prototype.copyWithin=="function"?this.copyWithin(v,$,W):s.prototype.set.call(_,this.subarray($,W),v),J},h.prototype.fill=function(_,v,$,W){if(typeof _=="string"){if(typeof v=="string"?(W=v,v=0,$=this.length):typeof $=="string"&&(W=$,$=this.length),W!==void 0&&typeof W!="string")throw new TypeError("encoding must be a string");if(typeof W=="string"&&!h.isEncoding(W))throw new TypeError("Unknown encoding: "+W);if(_.length===1){const ae=_.charCodeAt(0);(W==="utf8"&&ae<128||W==="latin1")&&(_=ae)}}else typeof _=="number"?_=_&255:typeof _=="boolean"&&(_=Number(_));if(v<0||this.length<v||this.length<$)throw new RangeError("Out of range index");if($<=v)return this;v=v>>>0,$=$===void 0?this.length:$>>>0,_||(_=0);let J;if(typeof _=="number")for(J=v;J<$;++J)this[J]=_;else{const ae=h.isBuffer(_)?_:h.from(_,W),Ze=ae.length;if(Ze===0)throw new TypeError('The value "'+_+'" is invalid for argument "value"');for(J=0;J<$-v;++J)this[J+v]=ae[J%Ze]}return this};const $e={};function Oe(N,_,v){$e[N]=class extends v{constructor(){super(),Object.defineProperty(this,"message",{value:_.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${N}]`,this.stack,delete this.name}get code(){return N}set code(W){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:W,writable:!0})}toString(){return`${this.name} [${N}]: ${this.message}`}}}Oe("ERR_BUFFER_OUT_OF_BOUNDS",function(N){return N?`${N} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Oe("ERR_INVALID_ARG_TYPE",function(N,_){return`The "${N}" argument must be of type number. Received type ${typeof _}`},TypeError),Oe("ERR_OUT_OF_RANGE",function(N,_,v){let $=`The value of "${N}" is out of range.`,W=v;return Number.isInteger(v)&&Math.abs(v)>2**32?W=Xe(String(v)):typeof v=="bigint"&&(W=String(v),(v>BigInt(2)**BigInt(32)||v<-(BigInt(2)**BigInt(32)))&&(W=Xe(W)),W+="n"),$+=` It must be ${_}. Received ${W}`,$},RangeError);function Xe(N){let _="",v=N.length;const $=N[0]==="-"?1:0;for(;v>=$+4;v-=3)_=`_${N.slice(v-3,v)}${_}`;return`${N.slice(0,v)}${_}`}function qe(N,_,v){Yt(_,"offset"),(N[_]===void 0||N[_+v]===void 0)&&lt(_,N.length-(v+1))}function et(N,_,v,$,W,J){if(N>v||N<_){const ae=typeof _=="bigint"?"n":"";let Ze;throw _===0||_===BigInt(0)?Ze=`>= 0${ae} and < 2${ae} ** ${(J+1)*8}${ae}`:Ze=`>= -(2${ae} ** ${(J+1)*8-1}${ae}) and < 2 ** ${(J+1)*8-1}${ae}`,new $e.ERR_OUT_OF_RANGE("value",Ze,N)}qe($,W,J)}function Yt(N,_){if(typeof N!="number")throw new $e.ERR_INVALID_ARG_TYPE(_,"number",N)}function lt(N,_,v){throw Math.floor(N)!==N?(Yt(N,v),new $e.ERR_OUT_OF_RANGE("offset","an integer",N)):_<0?new $e.ERR_BUFFER_OUT_OF_BOUNDS:new $e.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${_}`,N)}const Mt=/[^+/0-9A-Za-z-_]/g;function oo(N){if(N=N.split("=")[0],N=N.trim().replace(Mt,""),N.length<2)return"";for(;N.length%4!==0;)N=N+"=";return N}function Et(N,_){_=_||1/0;let v;const $=N.length;let W=null;const J=[];for(let ae=0;ae<$;++ae){if(v=N.charCodeAt(ae),v>55295&&v<57344){if(!W){if(v>56319){(_-=3)>-1&&J.push(239,191,189);continue}else if(ae+1===$){(_-=3)>-1&&J.push(239,191,189);continue}W=v;continue}if(v<56320){(_-=3)>-1&&J.push(239,191,189),W=v;continue}v=(W-55296<<10|v-56320)+65536}else W&&(_-=3)>-1&&J.push(239,191,189);if(W=null,v<128){if((_-=1)<0)break;J.push(v)}else if(v<2048){if((_-=2)<0)break;J.push(v>>6|192,v&63|128)}else if(v<65536){if((_-=3)<0)break;J.push(v>>12|224,v>>6&63|128,v&63|128)}else if(v<1114112){if((_-=4)<0)break;J.push(v>>18|240,v>>12&63|128,v>>6&63|128,v&63|128)}else throw new Error("Invalid code point")}return J}function St(N){const _=[];for(let v=0;v<N.length;++v)_.push(N.charCodeAt(v)&255);return _}function Ar(N,_){let v,$,W;const J=[];for(let ae=0;ae<N.length&&!((_-=2)<0);++ae)v=N.charCodeAt(ae),$=v>>8,W=v%256,J.push(W),J.push($);return J}function ft(N){return e.toByteArray(oo(N))}function xt(N,_,v,$){let W;for(W=0;W<$&&!(W+v>=_.length||W>=N.length);++W)_[W+v]=N[W];return W}function Xt(N,_){return N instanceof _||N!=null&&N.constructor!=null&&N.constructor.name!=null&&N.constructor.name===_.name}function bt(N){return N!==N}const kt=function(){const N="0123456789abcdef",_=new Array(256);for(let v=0;v<16;++v){const $=v*16;for(let W=0;W<16;++W)_[$+W]=N[v]+N[W]}return _}();function Xr(N){return typeof BigInt>"u"?Lt:N}function Lt(){throw new Error("BigInt not supported")}})(ob);const Qe=ob.Buffer,Ne=ob.Buffer,WV=Object.freeze(Object.defineProperty({__proto__:null,Buffer:Ne,default:Qe},Symbol.toStringTag,{value:"Module"}));var cb={exports:{}};const ub=yp(WV);cb.exports;(function(r){(function(e,t){function n(B,p){if(!B)throw new Error(p||"Assertion failed")}function i(B,p){B.super_=p;var m=function(){};m.prototype=p.prototype,B.prototype=new m,B.prototype.constructor=B}function s(B,p,m){if(s.isBN(B))return B;this.negative=0,this.words=null,this.length=0,this.red=null,B!==null&&((p==="le"||p==="be")&&(m=p,p=10),this._init(B||0,p||10,m||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=ub.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,E){if(typeof p=="number")return this._initNumber(p,m,E);if(typeof p=="object")return this._initArray(p,m,E);m==="hex"&&(m=16),n(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,E):(this._parseBase(p,m,k),E==="le"&&this._initArray(this.toArray(),m,E)))},s.prototype._initNumber=function(p,m,E){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):(n(p<9007199254740992),this.words=[p&67108863,p/67108864&67108863,1],this.length=3),E==="le"&&this._initArray(this.toArray(),m,E)},s.prototype._initArray=function(p,m,E){if(n(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 O,M,G=0;if(E==="be")for(k=p.length-1,O=0;k>=0;k-=3)M=p[k]|p[k-1]<<8|p[k-2]<<16,this.words[O]|=M<<G&67108863,this.words[O+1]=M>>>26-G&67108863,G+=24,G>=26&&(G-=26,O++);else if(E==="le")for(k=0,O=0;k<p.length;k+=3)M=p[k]|p[k+1]<<8|p[k+2]<<16,this.words[O]|=M<<G&67108863,this.words[O+1]=M>>>26-G&67108863,G+=24,G>=26&&(G-=26,O++);return this._strip()};function a(B,p){var m=B.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;n(!1,"Invalid character in "+B)}function u(B,p,m){var E=a(B,m);return m-1>=p&&(E|=a(B,m-1)<<4),E}s.prototype._parseHex=function(p,m,E){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 O=0,M=0,G;if(E==="be")for(k=p.length-1;k>=m;k-=2)G=u(p,m,k)<<O,this.words[M]|=G&67108863,O>=18?(O-=18,M+=1,this.words[M]|=G>>>26):O+=8;else{var P=p.length-m;for(k=P%2===0?m+1:m;k<p.length;k+=2)G=u(p,m,k)<<O,this.words[M]|=G&67108863,O>=18?(O-=18,M+=1,this.words[M]|=G>>>26):O+=8}this._strip()};function l(B,p,m,E){for(var k=0,O=0,M=Math.min(B.length,m),G=p;G<M;G++){var P=B.charCodeAt(G)-48;k*=E,P>=49?O=P-49+10:P>=17?O=P-17+10:O=P,n(P>=0&&O<E,"Invalid character"),k+=O}return k}s.prototype._parseBase=function(p,m,E){this.words=[0],this.length=1;for(var k=0,O=1;O<=67108863;O*=m)k++;k--,O=O/m|0;for(var M=p.length-E,G=M%k,P=Math.min(M,M-G)+E,A=0,U=E;U<P;U+=k)A=l(p,U,U+k,m),this.imuln(O),this.words[0]+A<67108864?this.words[0]+=A:this._iaddn(A);if(G!==0){var le=1;for(A=l(p,U,p.length,m),U=0;U<G;U++)le*=m;this.imuln(le),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(B,p){B.words=p.words,B.length=p.length,B.negative=p.negative,B.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")]=g}catch{s.prototype.inspect=g}else s.prototype.inspect=g;function g(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var b=["","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],I=[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 E;if(p===16||p==="hex"){E="";for(var k=0,O=0,M=0;M<this.length;M++){var G=this.words[M],P=((G<<k|O)&16777215).toString(16);O=G>>>24-k&16777215,k+=2,k>=26&&(k-=26,M--),O!==0||M!==this.length-1?E=b[6-P.length]+P+E:E=P+E}for(O!==0&&(E=O.toString(16)+E);E.length%m!==0;)E="0"+E;return this.negative!==0&&(E="-"+E),E}if(p===(p|0)&&p>=2&&p<=36){var A=w[p],U=I[p];E="";var le=this.clone();for(le.negative=0;!le.isZero();){var ee=le.modrn(U).toString(p);le=le.idivn(U),le.isZero()?E=ee+E:E=b[A-ee.length]+ee+E}for(this.isZero()&&(E="0"+E);E.length%m!==0;)E="0"+E;return this.negative!==0&&(E="-"+E),E}n(!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&&n(!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 S=function(p,m){return p.allocUnsafe?p.allocUnsafe(m):new p(m)};s.prototype.toArrayLike=function(p,m,E){this._strip();var k=this.byteLength(),O=E||Math.max(1,k);n(k<=O,"byte array longer than desired length"),n(O>0,"Requested array length <= 0");var M=S(p,O),G=m==="le"?"LE":"BE";return this["_toArrayLike"+G](M,k),M},s.prototype._toArrayLikeLE=function(p,m){for(var E=0,k=0,O=0,M=0;O<this.length;O++){var G=this.words[O]<<M|k;p[E++]=G&255,E<p.length&&(p[E++]=G>>8&255),E<p.length&&(p[E++]=G>>16&255),M===6?(E<p.length&&(p[E++]=G>>24&255),k=0,M=0):(k=G>>>24,M+=2)}if(E<p.length)for(p[E++]=k;E<p.length;)p[E++]=0},s.prototype._toArrayLikeBE=function(p,m){for(var E=p.length-1,k=0,O=0,M=0;O<this.length;O++){var G=this.words[O]<<M|k;p[E--]=G&255,E>=0&&(p[E--]=G>>8&255),E>=0&&(p[E--]=G>>16&255),M===6?(E>=0&&(p[E--]=G>>24&255),k=0,M=0):(k=G>>>24,M+=2)}if(E>=0)for(p[E--]=k;E>=0;)p[E--]=0},Math.clz32?s.prototype._countBits=function(p){return 32-Math.clz32(p)}:s.prototype._countBits=function(p){var m=p,E=0;return m>=4096&&(E+=13,m>>>=13),m>=64&&(E+=7,m>>>=7),m>=8&&(E+=4,m>>>=4),m>=2&&(E+=2,m>>>=2),E+m},s.prototype._zeroBits=function(p){if(p===0)return 26;var m=p,E=0;return m&8191||(E+=13,m>>>=13),m&127||(E+=7,m>>>=7),m&15||(E+=4,m>>>=4),m&3||(E+=2,m>>>=2),m&1||E++,E},s.prototype.bitLength=function(){var p=this.words[this.length-1],m=this._countBits(p);return(this.length-1)*26+m};function x(B){for(var p=new Array(B.bitLength()),m=0;m<p.length;m++){var E=m/26|0,k=m%26;p[m]=B.words[E]>>>k&1}return p}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var p=0,m=0;m<this.length;m++){var E=this._zeroBits(this.words[m]);if(p+=E,E!==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 n((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 E=0;E<m.length;E++)this.words[E]=this.words[E]&p.words[E];return this.length=m.length,this._strip()},s.prototype.iand=function(p){return n((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,E;this.length>p.length?(m=this,E=p):(m=p,E=this);for(var k=0;k<E.length;k++)this.words[k]=m.words[k]^E.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 n((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){n(typeof p=="number"&&p>=0);var m=Math.ceil(p/26)|0,E=p%26;this._expand(m),E>0&&m--;for(var k=0;k<m;k++)this.words[k]=~this.words[k]&67108863;return E>0&&(this.words[k]=~this.words[k]&67108863>>26-E),this._strip()},s.prototype.notn=function(p){return this.clone().inotn(p)},s.prototype.setn=function(p,m){n(typeof p=="number"&&p>=0);var E=p/26|0,k=p%26;return this._expand(E+1),m?this.words[E]=this.words[E]|1<<k:this.words[E]=this.words[E]&~(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 E,k;this.length>p.length?(E=this,k=p):(E=p,k=this);for(var O=0,M=0;M<k.length;M++)m=(E.words[M]|0)+(k.words[M]|0)+O,this.words[M]=m&67108863,O=m>>>26;for(;O!==0&&M<E.length;M++)m=(E.words[M]|0)+O,this.words[M]=m&67108863,O=m>>>26;if(this.length=E.length,O!==0)this.words[this.length]=O,this.length++;else if(E!==this)for(;M<E.length;M++)this.words[M]=E.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 E=this.cmp(p);if(E===0)return this.negative=0,this.length=1,this.words[0]=0,this;var k,O;E>0?(k=this,O=p):(k=p,O=this);for(var M=0,G=0;G<O.length;G++)m=(k.words[G]|0)-(O.words[G]|0)+M,M=m>>26,this.words[G]=m&67108863;for(;M!==0&&G<k.length;G++)m=(k.words[G]|0)+M,M=m>>26,this.words[G]=m&67108863;if(M===0&&G<k.length&&k!==this)for(;G<k.length;G++)this.words[G]=k.words[G];return this.length=Math.max(this.length,G),k!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(p){return this.clone().isub(p)};function C(B,p,m){m.negative=p.negative^B.negative;var E=B.length+p.length|0;m.length=E,E=E-1|0;var k=B.words[0]|0,O=p.words[0]|0,M=k*O,G=M&67108863,P=M/67108864|0;m.words[0]=G;for(var A=1;A<E;A++){for(var U=P>>>26,le=P&67108863,ee=Math.min(A,p.length-1),re=Math.max(0,A-B.length+1);re<=ee;re++){var he=A-re|0;k=B.words[he]|0,O=p.words[re]|0,M=k*O+le,U+=M/67108864|0,le=M&67108863}m.words[A]=le|0,P=U|0}return P!==0?m.words[A]=P|0:m.length--,m._strip()}var H=function(p,m,E){var k=p.words,O=m.words,M=E.words,G=0,P,A,U,le=k[0]|0,ee=le&8191,re=le>>>13,he=k[1]|0,ye=he&8191,be=he>>>13,We=k[2]|0,$e=We&8191,Oe=We>>>13,Xe=k[3]|0,qe=Xe&8191,et=Xe>>>13,Yt=k[4]|0,lt=Yt&8191,Mt=Yt>>>13,oo=k[5]|0,Et=oo&8191,St=oo>>>13,Ar=k[6]|0,ft=Ar&8191,xt=Ar>>>13,Xt=k[7]|0,bt=Xt&8191,kt=Xt>>>13,Xr=k[8]|0,Lt=Xr&8191,N=Xr>>>13,_=k[9]|0,v=_&8191,$=_>>>13,W=O[0]|0,J=W&8191,ae=W>>>13,Ze=O[1]|0,Ve=Ze&8191,je=Ze>>>13,Ut=O[2]|0,He=Ut&8191,ar=Ut>>>13,Ad=O[3]|0,cr=Ad&8191,ur=Ad>>>13,vd=O[4]|0,er=vd&8191,lr=vd>>>13,Ed=O[5]|0,tr=Ed&8191,fr=Ed>>>13,ua=O[6]|0,Vt=ua&8191,hr=ua>>>13,xd=O[7]|0,dr=xd&8191,pr=xd>>>13,Rd=O[8]|0,gr=Rd&8191,yr=Rd>>>13,la=O[9]|0,mr=la&8191,wr=la>>>13;E.negative=p.negative^m.negative,E.length=19,P=Math.imul(ee,J),A=Math.imul(ee,ae),A=A+Math.imul(re,J)|0,U=Math.imul(re,ae);var Vl=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Vl>>>26)|0,Vl&=67108863,P=Math.imul(ye,J),A=Math.imul(ye,ae),A=A+Math.imul(be,J)|0,U=Math.imul(be,ae),P=P+Math.imul(ee,Ve)|0,A=A+Math.imul(ee,je)|0,A=A+Math.imul(re,Ve)|0,U=U+Math.imul(re,je)|0;var Mc=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Mc>>>26)|0,Mc&=67108863,P=Math.imul($e,J),A=Math.imul($e,ae),A=A+Math.imul(Oe,J)|0,U=Math.imul(Oe,ae),P=P+Math.imul(ye,Ve)|0,A=A+Math.imul(ye,je)|0,A=A+Math.imul(be,Ve)|0,U=U+Math.imul(be,je)|0,P=P+Math.imul(ee,He)|0,A=A+Math.imul(ee,ar)|0,A=A+Math.imul(re,He)|0,U=U+Math.imul(re,ar)|0;var ql=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(ql>>>26)|0,ql&=67108863,P=Math.imul(qe,J),A=Math.imul(qe,ae),A=A+Math.imul(et,J)|0,U=Math.imul(et,ae),P=P+Math.imul($e,Ve)|0,A=A+Math.imul($e,je)|0,A=A+Math.imul(Oe,Ve)|0,U=U+Math.imul(Oe,je)|0,P=P+Math.imul(ye,He)|0,A=A+Math.imul(ye,ar)|0,A=A+Math.imul(be,He)|0,U=U+Math.imul(be,ar)|0,P=P+Math.imul(ee,cr)|0,A=A+Math.imul(ee,ur)|0,A=A+Math.imul(re,cr)|0,U=U+Math.imul(re,ur)|0;var Zl=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Zl>>>26)|0,Zl&=67108863,P=Math.imul(lt,J),A=Math.imul(lt,ae),A=A+Math.imul(Mt,J)|0,U=Math.imul(Mt,ae),P=P+Math.imul(qe,Ve)|0,A=A+Math.imul(qe,je)|0,A=A+Math.imul(et,Ve)|0,U=U+Math.imul(et,je)|0,P=P+Math.imul($e,He)|0,A=A+Math.imul($e,ar)|0,A=A+Math.imul(Oe,He)|0,U=U+Math.imul(Oe,ar)|0,P=P+Math.imul(ye,cr)|0,A=A+Math.imul(ye,ur)|0,A=A+Math.imul(be,cr)|0,U=U+Math.imul(be,ur)|0,P=P+Math.imul(ee,er)|0,A=A+Math.imul(ee,lr)|0,A=A+Math.imul(re,er)|0,U=U+Math.imul(re,lr)|0;var Ql=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Ql>>>26)|0,Ql&=67108863,P=Math.imul(Et,J),A=Math.imul(Et,ae),A=A+Math.imul(St,J)|0,U=Math.imul(St,ae),P=P+Math.imul(lt,Ve)|0,A=A+Math.imul(lt,je)|0,A=A+Math.imul(Mt,Ve)|0,U=U+Math.imul(Mt,je)|0,P=P+Math.imul(qe,He)|0,A=A+Math.imul(qe,ar)|0,A=A+Math.imul(et,He)|0,U=U+Math.imul(et,ar)|0,P=P+Math.imul($e,cr)|0,A=A+Math.imul($e,ur)|0,A=A+Math.imul(Oe,cr)|0,U=U+Math.imul(Oe,ur)|0,P=P+Math.imul(ye,er)|0,A=A+Math.imul(ye,lr)|0,A=A+Math.imul(be,er)|0,U=U+Math.imul(be,lr)|0,P=P+Math.imul(ee,tr)|0,A=A+Math.imul(ee,fr)|0,A=A+Math.imul(re,tr)|0,U=U+Math.imul(re,fr)|0;var Jl=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Jl>>>26)|0,Jl&=67108863,P=Math.imul(ft,J),A=Math.imul(ft,ae),A=A+Math.imul(xt,J)|0,U=Math.imul(xt,ae),P=P+Math.imul(Et,Ve)|0,A=A+Math.imul(Et,je)|0,A=A+Math.imul(St,Ve)|0,U=U+Math.imul(St,je)|0,P=P+Math.imul(lt,He)|0,A=A+Math.imul(lt,ar)|0,A=A+Math.imul(Mt,He)|0,U=U+Math.imul(Mt,ar)|0,P=P+Math.imul(qe,cr)|0,A=A+Math.imul(qe,ur)|0,A=A+Math.imul(et,cr)|0,U=U+Math.imul(et,ur)|0,P=P+Math.imul($e,er)|0,A=A+Math.imul($e,lr)|0,A=A+Math.imul(Oe,er)|0,U=U+Math.imul(Oe,lr)|0,P=P+Math.imul(ye,tr)|0,A=A+Math.imul(ye,fr)|0,A=A+Math.imul(be,tr)|0,U=U+Math.imul(be,fr)|0,P=P+Math.imul(ee,Vt)|0,A=A+Math.imul(ee,hr)|0,A=A+Math.imul(re,Vt)|0,U=U+Math.imul(re,hr)|0;var Lc=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Lc>>>26)|0,Lc&=67108863,P=Math.imul(bt,J),A=Math.imul(bt,ae),A=A+Math.imul(kt,J)|0,U=Math.imul(kt,ae),P=P+Math.imul(ft,Ve)|0,A=A+Math.imul(ft,je)|0,A=A+Math.imul(xt,Ve)|0,U=U+Math.imul(xt,je)|0,P=P+Math.imul(Et,He)|0,A=A+Math.imul(Et,ar)|0,A=A+Math.imul(St,He)|0,U=U+Math.imul(St,ar)|0,P=P+Math.imul(lt,cr)|0,A=A+Math.imul(lt,ur)|0,A=A+Math.imul(Mt,cr)|0,U=U+Math.imul(Mt,ur)|0,P=P+Math.imul(qe,er)|0,A=A+Math.imul(qe,lr)|0,A=A+Math.imul(et,er)|0,U=U+Math.imul(et,lr)|0,P=P+Math.imul($e,tr)|0,A=A+Math.imul($e,fr)|0,A=A+Math.imul(Oe,tr)|0,U=U+Math.imul(Oe,fr)|0,P=P+Math.imul(ye,Vt)|0,A=A+Math.imul(ye,hr)|0,A=A+Math.imul(be,Vt)|0,U=U+Math.imul(be,hr)|0,P=P+Math.imul(ee,dr)|0,A=A+Math.imul(ee,pr)|0,A=A+Math.imul(re,dr)|0,U=U+Math.imul(re,pr)|0;var Yl=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Yl>>>26)|0,Yl&=67108863,P=Math.imul(Lt,J),A=Math.imul(Lt,ae),A=A+Math.imul(N,J)|0,U=Math.imul(N,ae),P=P+Math.imul(bt,Ve)|0,A=A+Math.imul(bt,je)|0,A=A+Math.imul(kt,Ve)|0,U=U+Math.imul(kt,je)|0,P=P+Math.imul(ft,He)|0,A=A+Math.imul(ft,ar)|0,A=A+Math.imul(xt,He)|0,U=U+Math.imul(xt,ar)|0,P=P+Math.imul(Et,cr)|0,A=A+Math.imul(Et,ur)|0,A=A+Math.imul(St,cr)|0,U=U+Math.imul(St,ur)|0,P=P+Math.imul(lt,er)|0,A=A+Math.imul(lt,lr)|0,A=A+Math.imul(Mt,er)|0,U=U+Math.imul(Mt,lr)|0,P=P+Math.imul(qe,tr)|0,A=A+Math.imul(qe,fr)|0,A=A+Math.imul(et,tr)|0,U=U+Math.imul(et,fr)|0,P=P+Math.imul($e,Vt)|0,A=A+Math.imul($e,hr)|0,A=A+Math.imul(Oe,Vt)|0,U=U+Math.imul(Oe,hr)|0,P=P+Math.imul(ye,dr)|0,A=A+Math.imul(ye,pr)|0,A=A+Math.imul(be,dr)|0,U=U+Math.imul(be,pr)|0,P=P+Math.imul(ee,gr)|0,A=A+Math.imul(ee,yr)|0,A=A+Math.imul(re,gr)|0,U=U+Math.imul(re,yr)|0;var ms=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(ms>>>26)|0,ms&=67108863,P=Math.imul(v,J),A=Math.imul(v,ae),A=A+Math.imul($,J)|0,U=Math.imul($,ae),P=P+Math.imul(Lt,Ve)|0,A=A+Math.imul(Lt,je)|0,A=A+Math.imul(N,Ve)|0,U=U+Math.imul(N,je)|0,P=P+Math.imul(bt,He)|0,A=A+Math.imul(bt,ar)|0,A=A+Math.imul(kt,He)|0,U=U+Math.imul(kt,ar)|0,P=P+Math.imul(ft,cr)|0,A=A+Math.imul(ft,ur)|0,A=A+Math.imul(xt,cr)|0,U=U+Math.imul(xt,ur)|0,P=P+Math.imul(Et,er)|0,A=A+Math.imul(Et,lr)|0,A=A+Math.imul(St,er)|0,U=U+Math.imul(St,lr)|0,P=P+Math.imul(lt,tr)|0,A=A+Math.imul(lt,fr)|0,A=A+Math.imul(Mt,tr)|0,U=U+Math.imul(Mt,fr)|0,P=P+Math.imul(qe,Vt)|0,A=A+Math.imul(qe,hr)|0,A=A+Math.imul(et,Vt)|0,U=U+Math.imul(et,hr)|0,P=P+Math.imul($e,dr)|0,A=A+Math.imul($e,pr)|0,A=A+Math.imul(Oe,dr)|0,U=U+Math.imul(Oe,pr)|0,P=P+Math.imul(ye,gr)|0,A=A+Math.imul(ye,yr)|0,A=A+Math.imul(be,gr)|0,U=U+Math.imul(be,yr)|0,P=P+Math.imul(ee,mr)|0,A=A+Math.imul(ee,wr)|0,A=A+Math.imul(re,mr)|0,U=U+Math.imul(re,wr)|0;var Xl=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Xl>>>26)|0,Xl&=67108863,P=Math.imul(v,Ve),A=Math.imul(v,je),A=A+Math.imul($,Ve)|0,U=Math.imul($,je),P=P+Math.imul(Lt,He)|0,A=A+Math.imul(Lt,ar)|0,A=A+Math.imul(N,He)|0,U=U+Math.imul(N,ar)|0,P=P+Math.imul(bt,cr)|0,A=A+Math.imul(bt,ur)|0,A=A+Math.imul(kt,cr)|0,U=U+Math.imul(kt,ur)|0,P=P+Math.imul(ft,er)|0,A=A+Math.imul(ft,lr)|0,A=A+Math.imul(xt,er)|0,U=U+Math.imul(xt,lr)|0,P=P+Math.imul(Et,tr)|0,A=A+Math.imul(Et,fr)|0,A=A+Math.imul(St,tr)|0,U=U+Math.imul(St,fr)|0,P=P+Math.imul(lt,Vt)|0,A=A+Math.imul(lt,hr)|0,A=A+Math.imul(Mt,Vt)|0,U=U+Math.imul(Mt,hr)|0,P=P+Math.imul(qe,dr)|0,A=A+Math.imul(qe,pr)|0,A=A+Math.imul(et,dr)|0,U=U+Math.imul(et,pr)|0,P=P+Math.imul($e,gr)|0,A=A+Math.imul($e,yr)|0,A=A+Math.imul(Oe,gr)|0,U=U+Math.imul(Oe,yr)|0,P=P+Math.imul(ye,mr)|0,A=A+Math.imul(ye,wr)|0,A=A+Math.imul(be,mr)|0,U=U+Math.imul(be,wr)|0;var pi=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(pi>>>26)|0,pi&=67108863,P=Math.imul(v,He),A=Math.imul(v,ar),A=A+Math.imul($,He)|0,U=Math.imul($,ar),P=P+Math.imul(Lt,cr)|0,A=A+Math.imul(Lt,ur)|0,A=A+Math.imul(N,cr)|0,U=U+Math.imul(N,ur)|0,P=P+Math.imul(bt,er)|0,A=A+Math.imul(bt,lr)|0,A=A+Math.imul(kt,er)|0,U=U+Math.imul(kt,lr)|0,P=P+Math.imul(ft,tr)|0,A=A+Math.imul(ft,fr)|0,A=A+Math.imul(xt,tr)|0,U=U+Math.imul(xt,fr)|0,P=P+Math.imul(Et,Vt)|0,A=A+Math.imul(Et,hr)|0,A=A+Math.imul(St,Vt)|0,U=U+Math.imul(St,hr)|0,P=P+Math.imul(lt,dr)|0,A=A+Math.imul(lt,pr)|0,A=A+Math.imul(Mt,dr)|0,U=U+Math.imul(Mt,pr)|0,P=P+Math.imul(qe,gr)|0,A=A+Math.imul(qe,yr)|0,A=A+Math.imul(et,gr)|0,U=U+Math.imul(et,yr)|0,P=P+Math.imul($e,mr)|0,A=A+Math.imul($e,wr)|0,A=A+Math.imul(Oe,mr)|0,U=U+Math.imul(Oe,wr)|0;var ef=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(ef>>>26)|0,ef&=67108863,P=Math.imul(v,cr),A=Math.imul(v,ur),A=A+Math.imul($,cr)|0,U=Math.imul($,ur),P=P+Math.imul(Lt,er)|0,A=A+Math.imul(Lt,lr)|0,A=A+Math.imul(N,er)|0,U=U+Math.imul(N,lr)|0,P=P+Math.imul(bt,tr)|0,A=A+Math.imul(bt,fr)|0,A=A+Math.imul(kt,tr)|0,U=U+Math.imul(kt,fr)|0,P=P+Math.imul(ft,Vt)|0,A=A+Math.imul(ft,hr)|0,A=A+Math.imul(xt,Vt)|0,U=U+Math.imul(xt,hr)|0,P=P+Math.imul(Et,dr)|0,A=A+Math.imul(Et,pr)|0,A=A+Math.imul(St,dr)|0,U=U+Math.imul(St,pr)|0,P=P+Math.imul(lt,gr)|0,A=A+Math.imul(lt,yr)|0,A=A+Math.imul(Mt,gr)|0,U=U+Math.imul(Mt,yr)|0,P=P+Math.imul(qe,mr)|0,A=A+Math.imul(qe,wr)|0,A=A+Math.imul(et,mr)|0,U=U+Math.imul(et,wr)|0;var tf=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(tf>>>26)|0,tf&=67108863,P=Math.imul(v,er),A=Math.imul(v,lr),A=A+Math.imul($,er)|0,U=Math.imul($,lr),P=P+Math.imul(Lt,tr)|0,A=A+Math.imul(Lt,fr)|0,A=A+Math.imul(N,tr)|0,U=U+Math.imul(N,fr)|0,P=P+Math.imul(bt,Vt)|0,A=A+Math.imul(bt,hr)|0,A=A+Math.imul(kt,Vt)|0,U=U+Math.imul(kt,hr)|0,P=P+Math.imul(ft,dr)|0,A=A+Math.imul(ft,pr)|0,A=A+Math.imul(xt,dr)|0,U=U+Math.imul(xt,pr)|0,P=P+Math.imul(Et,gr)|0,A=A+Math.imul(Et,yr)|0,A=A+Math.imul(St,gr)|0,U=U+Math.imul(St,yr)|0,P=P+Math.imul(lt,mr)|0,A=A+Math.imul(lt,wr)|0,A=A+Math.imul(Mt,mr)|0,U=U+Math.imul(Mt,wr)|0;var Uc=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(Uc>>>26)|0,Uc&=67108863,P=Math.imul(v,tr),A=Math.imul(v,fr),A=A+Math.imul($,tr)|0,U=Math.imul($,fr),P=P+Math.imul(Lt,Vt)|0,A=A+Math.imul(Lt,hr)|0,A=A+Math.imul(N,Vt)|0,U=U+Math.imul(N,hr)|0,P=P+Math.imul(bt,dr)|0,A=A+Math.imul(bt,pr)|0,A=A+Math.imul(kt,dr)|0,U=U+Math.imul(kt,pr)|0,P=P+Math.imul(ft,gr)|0,A=A+Math.imul(ft,yr)|0,A=A+Math.imul(xt,gr)|0,U=U+Math.imul(xt,yr)|0,P=P+Math.imul(Et,mr)|0,A=A+Math.imul(Et,wr)|0,A=A+Math.imul(St,mr)|0,U=U+Math.imul(St,wr)|0;var rf=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(rf>>>26)|0,rf&=67108863,P=Math.imul(v,Vt),A=Math.imul(v,hr),A=A+Math.imul($,Vt)|0,U=Math.imul($,hr),P=P+Math.imul(Lt,dr)|0,A=A+Math.imul(Lt,pr)|0,A=A+Math.imul(N,dr)|0,U=U+Math.imul(N,pr)|0,P=P+Math.imul(bt,gr)|0,A=A+Math.imul(bt,yr)|0,A=A+Math.imul(kt,gr)|0,U=U+Math.imul(kt,yr)|0,P=P+Math.imul(ft,mr)|0,A=A+Math.imul(ft,wr)|0,A=A+Math.imul(xt,mr)|0,U=U+Math.imul(xt,wr)|0;var nf=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(nf>>>26)|0,nf&=67108863,P=Math.imul(v,dr),A=Math.imul(v,pr),A=A+Math.imul($,dr)|0,U=Math.imul($,pr),P=P+Math.imul(Lt,gr)|0,A=A+Math.imul(Lt,yr)|0,A=A+Math.imul(N,gr)|0,U=U+Math.imul(N,yr)|0,P=P+Math.imul(bt,mr)|0,A=A+Math.imul(bt,wr)|0,A=A+Math.imul(kt,mr)|0,U=U+Math.imul(kt,wr)|0;var sf=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(sf>>>26)|0,sf&=67108863,P=Math.imul(v,gr),A=Math.imul(v,yr),A=A+Math.imul($,gr)|0,U=Math.imul($,yr),P=P+Math.imul(Lt,mr)|0,A=A+Math.imul(Lt,wr)|0,A=A+Math.imul(N,mr)|0,U=U+Math.imul(N,wr)|0;var of=(G+P|0)+((A&8191)<<13)|0;G=(U+(A>>>13)|0)+(of>>>26)|0,of&=67108863,P=Math.imul(v,mr),A=Math.imul(v,wr),A=A+Math.imul($,mr)|0,U=Math.imul($,wr);var ao=(G+P|0)+((A&8191)<<13)|0;return G=(U+(A>>>13)|0)+(ao>>>26)|0,ao&=67108863,M[0]=Vl,M[1]=Mc,M[2]=ql,M[3]=Zl,M[4]=Ql,M[5]=Jl,M[6]=Lc,M[7]=Yl,M[8]=ms,M[9]=Xl,M[10]=pi,M[11]=ef,M[12]=tf,M[13]=Uc,M[14]=rf,M[15]=nf,M[16]=sf,M[17]=of,M[18]=ao,G!==0&&(M[19]=G,E.length++),E};Math.imul||(H=C);function D(B,p,m){m.negative=p.negative^B.negative,m.length=B.length+p.length;for(var E=0,k=0,O=0;O<m.length-1;O++){var M=k;k=0;for(var G=E&67108863,P=Math.min(O,p.length-1),A=Math.max(0,O-B.length+1);A<=P;A++){var U=O-A,le=B.words[U]|0,ee=p.words[A]|0,re=le*ee,he=re&67108863;M=M+(re/67108864|0)|0,he=he+G|0,G=he&67108863,M=M+(he>>>26)|0,k+=M>>>26,M&=67108863}m.words[O]=G,E=M,M=k}return E!==0?m.words[O]=E:m.length--,m._strip()}function z(B,p,m){return D(B,p,m)}s.prototype.mulTo=function(p,m){var E,k=this.length+p.length;return this.length===10&&p.length===10?E=H(this,p,m):k<63?E=C(this,p,m):k<1024?E=D(this,p,m):E=z(this,p,m),E},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),z(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),n(typeof p=="number"),n(p<67108864);for(var E=0,k=0;k<this.length;k++){var O=(this.words[k]|0)*p,M=(O&67108863)+(E&67108863);E>>=26,E+=O/67108864|0,E+=M>>>26,this.words[k]=M&67108863}return E!==0&&(this.words[k]=E,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=x(p);if(m.length===0)return new s(1);for(var E=this,k=0;k<m.length&&m[k]===0;k++,E=E.sqr());if(++k<m.length)for(var O=E.sqr();k<m.length;k++,O=O.sqr())m[k]!==0&&(E=E.mul(O));return E},s.prototype.iushln=function(p){n(typeof p=="number"&&p>=0);var m=p%26,E=(p-m)/26,k=67108863>>>26-m<<26-m,O;if(m!==0){var M=0;for(O=0;O<this.length;O++){var G=this.words[O]&k,P=(this.words[O]|0)-G<<m;this.words[O]=P|M,M=G>>>26-m}M&&(this.words[O]=M,this.length++)}if(E!==0){for(O=this.length-1;O>=0;O--)this.words[O+E]=this.words[O];for(O=0;O<E;O++)this.words[O]=0;this.length+=E}return this._strip()},s.prototype.ishln=function(p){return n(this.negative===0),this.iushln(p)},s.prototype.iushrn=function(p,m,E){n(typeof p=="number"&&p>=0);var k;m?k=(m-m%26)/26:k=0;var O=p%26,M=Math.min((p-O)/26,this.length),G=67108863^67108863>>>O<<O,P=E;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 U=0;for(A=this.length-1;A>=0&&(U!==0||A>=k);A--){var le=this.words[A]|0;this.words[A]=U<<26-O|le>>>O,U=le&G}return P&&U!==0&&(P.words[P.length++]=U),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(p,m,E){return n(this.negative===0),this.iushrn(p,m,E)},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){n(typeof p=="number"&&p>=0);var m=p%26,E=(p-m)/26,k=1<<m;if(this.length<=E)return!1;var O=this.words[E];return!!(O&k)},s.prototype.imaskn=function(p){n(typeof p=="number"&&p>=0);var m=p%26,E=(p-m)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=E)return this;if(m!==0&&E++,this.length=Math.min(E,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 n(typeof p=="number"),n(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(n(typeof p=="number"),n(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,E){var k=p.length+E,O;this._expand(k);var M,G=0;for(O=0;O<p.length;O++){M=(this.words[O+E]|0)+G;var P=(p.words[O]|0)*m;M-=P&67108863,G=(M>>26)-(P/67108864|0),this.words[O+E]=M&67108863}for(;O<this.length-E;O++)M=(this.words[O+E]|0)+G,G=M>>26,this.words[O+E]=M&67108863;if(G===0)return this._strip();for(n(G===-1),G=0,O=0;O<this.length;O++)M=-(this.words[O]|0)+G,G=M>>26,this.words[O]=M&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(p,m){var E=this.length-p.length,k=this.clone(),O=p,M=O.words[O.length-1]|0,G=this._countBits(M);E=26-G,E!==0&&(O=O.ushln(E),k.iushln(E),M=O.words[O.length-1]|0);var P=k.length-O.length,A;if(m!=="mod"){A=new s(null),A.length=P+1,A.words=new Array(A.length);for(var U=0;U<A.length;U++)A.words[U]=0}var le=k.clone()._ishlnsubmul(O,1,P);le.negative===0&&(k=le,A&&(A.words[P]=1));for(var ee=P-1;ee>=0;ee--){var re=(k.words[O.length+ee]|0)*67108864+(k.words[O.length+ee-1]|0);for(re=Math.min(re/M|0,67108863),k._ishlnsubmul(O,re,ee);k.negative!==0;)re--,k.negative=0,k._ishlnsubmul(O,1,ee),k.isZero()||(k.negative^=1);A&&(A.words[ee]=re)}return A&&A._strip(),k._strip(),m!=="div"&&E!==0&&k.iushrn(E),{div:A||null,mod:k}},s.prototype.divmod=function(p,m,E){if(n(!p.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var k,O,M;return this.negative!==0&&p.negative===0?(M=this.neg().divmod(p,m),m!=="mod"&&(k=M.div.neg()),m!=="div"&&(O=M.mod.neg(),E&&O.negative!==0&&O.iadd(p)),{div:k,mod:O}):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"&&(O=M.mod.neg(),E&&O.negative!==0&&O.isub(p)),{div:M.div,mod:O}):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 E=m.div.negative!==0?m.mod.isub(p):m.mod,k=p.ushrn(1),O=p.andln(1),M=E.cmp(k);return M<0||O===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),n(p<=67108863);for(var E=(1<<26)%p,k=0,O=this.length-1;O>=0;O--)k=(E*k+(this.words[O]|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),n(p<=67108863);for(var E=0,k=this.length-1;k>=0;k--){var O=(this.words[k]|0)+E*67108864;this.words[k]=O/p|0,E=O%p}return this._strip(),m?this.ineg():this},s.prototype.divn=function(p){return this.clone().idivn(p)},s.prototype.egcd=function(p){n(p.negative===0),n(!p.isZero());var m=this,E=p.clone();m.negative!==0?m=m.umod(p):m=m.clone();for(var k=new s(1),O=new s(0),M=new s(0),G=new s(1),P=0;m.isEven()&&E.isEven();)m.iushrn(1),E.iushrn(1),++P;for(var A=E.clone(),U=m.clone();!m.isZero();){for(var le=0,ee=1;!(m.words[0]&ee)&&le<26;++le,ee<<=1);if(le>0)for(m.iushrn(le);le-- >0;)(k.isOdd()||O.isOdd())&&(k.iadd(A),O.isub(U)),k.iushrn(1),O.iushrn(1);for(var re=0,he=1;!(E.words[0]&he)&&re<26;++re,he<<=1);if(re>0)for(E.iushrn(re);re-- >0;)(M.isOdd()||G.isOdd())&&(M.iadd(A),G.isub(U)),M.iushrn(1),G.iushrn(1);m.cmp(E)>=0?(m.isub(E),k.isub(M),O.isub(G)):(E.isub(m),M.isub(k),G.isub(O))}return{a:M,b:G,gcd:E.iushln(P)}},s.prototype._invmp=function(p){n(p.negative===0),n(!p.isZero());var m=this,E=p.clone();m.negative!==0?m=m.umod(p):m=m.clone();for(var k=new s(1),O=new s(0),M=E.clone();m.cmpn(1)>0&&E.cmpn(1)>0;){for(var G=0,P=1;!(m.words[0]&P)&&G<26;++G,P<<=1);if(G>0)for(m.iushrn(G);G-- >0;)k.isOdd()&&k.iadd(M),k.iushrn(1);for(var A=0,U=1;!(E.words[0]&U)&&A<26;++A,U<<=1);if(A>0)for(E.iushrn(A);A-- >0;)O.isOdd()&&O.iadd(M),O.iushrn(1);m.cmp(E)>=0?(m.isub(E),k.isub(O)):(E.isub(m),O.isub(k))}var le;return m.cmpn(1)===0?le=k:le=O,le.cmpn(0)<0&&le.iadd(p),le},s.prototype.gcd=function(p){if(this.isZero())return p.abs();if(p.isZero())return this.abs();var m=this.clone(),E=p.clone();m.negative=0,E.negative=0;for(var k=0;m.isEven()&&E.isEven();k++)m.iushrn(1),E.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;E.isEven();)E.iushrn(1);var O=m.cmp(E);if(O<0){var M=m;m=E,E=M}else if(O===0||E.cmpn(1)===0)break;m.isub(E)}while(!0);return E.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){n(typeof p=="number");var m=p%26,E=(p-m)/26,k=1<<m;if(this.length<=E)return this._expand(E+1),this.words[E]|=k,this;for(var O=k,M=E;O!==0&&M<this.length;M++){var G=this.words[M]|0;G+=O,O=G>>>26,G&=67108863,this.words[M]=G}return O!==0&&(this.words[M]=O,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 E;if(this.length>1)E=1;else{m&&(p=-p),n(p<=67108863,"Number is too big");var k=this.words[0]|0;E=k===p?0:k<p?-1:1}return this.negative!==0?-E|0:E},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,E=this.length-1;E>=0;E--){var k=this.words[E]|0,O=p.words[E]|0;if(k!==O){k<O?m=-1:k>O&&(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 ne(p)},s.prototype.toRed=function(p){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),p.convertTo(this)._forceRed(p)},s.prototype.fromRed=function(){return n(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 n(!this.red,"Already a number in reduction context"),this._forceRed(p)},s.prototype.redAdd=function(p){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,p)},s.prototype.redIAdd=function(p){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,p)},s.prototype.redSub=function(p){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,p)},s.prototype.redISub=function(p){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,p)},s.prototype.redShl=function(p){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,p)},s.prototype.redMul=function(p){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,p),this.red.mul(this,p)},s.prototype.redIMul=function(p){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,p),this.red.imul(this,p)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(p){return n(this.red&&!p.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,p)};var V={k256:null,p224:null,p192:null,p25519:null};function Z(B,p){this.name=B,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()}Z.prototype._tmp=function(){var p=new s(null);return p.words=new Array(Math.ceil(this.n/13)),p},Z.prototype.ireduce=function(p){var m=p,E;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),E=m.bitLength();while(E>this.n);var k=E<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},Z.prototype.split=function(p,m){p.iushrn(this.n,0,m)},Z.prototype.imulK=function(p){return p.imul(this.k)};function K(){Z.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(K,Z),K.prototype.split=function(p,m){for(var E=4194303,k=Math.min(p.length,9),O=0;O<k;O++)m.words[O]=p.words[O];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&E,O=10;O<p.length;O++){var G=p.words[O]|0;p.words[O-10]=(G&E)<<4|M>>>22,M=G}M>>>=22,p.words[O-10]=M,M===0&&p.length>10?p.length-=10:p.length-=9},K.prototype.imulK=function(p){p.words[p.length]=0,p.words[p.length+1]=0,p.length+=2;for(var m=0,E=0;E<p.length;E++){var k=p.words[E]|0;m+=k*977,p.words[E]=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(){Z.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(j,Z);function oe(){Z.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(oe,Z);function ce(){Z.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ce,Z),ce.prototype.imulK=function(p){for(var m=0,E=0;E<p.length;E++){var k=(p.words[E]|0)*19+m,O=k&67108863;k>>>=26,p.words[E]=O,m=k}return m!==0&&(p.words[p.length++]=m),p},s._prime=function(p){if(V[p])return V[p];var m;if(p==="k256")m=new K;else if(p==="p224")m=new j;else if(p==="p192")m=new oe;else if(p==="p25519")m=new ce;else throw new Error("Unknown prime "+p);return V[p]=m,m};function ne(B){if(typeof B=="string"){var p=s._prime(B);this.m=p.p,this.prime=p}else n(B.gtn(1),"modulus must be greater than 1"),this.m=B,this.prime=null}ne.prototype._verify1=function(p){n(p.negative===0,"red works only with positives"),n(p.red,"red works only with red numbers")},ne.prototype._verify2=function(p,m){n((p.negative|m.negative)===0,"red works only with positives"),n(p.red&&p.red===m.red,"red works only with red numbers")},ne.prototype.imod=function(p){return this.prime?this.prime.ireduce(p)._forceRed(this):(h(p,p.umod(this.m)._forceRed(this)),p)},ne.prototype.neg=function(p){return p.isZero()?p.clone():this.m.sub(p)._forceRed(this)},ne.prototype.add=function(p,m){this._verify2(p,m);var E=p.add(m);return E.cmp(this.m)>=0&&E.isub(this.m),E._forceRed(this)},ne.prototype.iadd=function(p,m){this._verify2(p,m);var E=p.iadd(m);return E.cmp(this.m)>=0&&E.isub(this.m),E},ne.prototype.sub=function(p,m){this._verify2(p,m);var E=p.sub(m);return E.cmpn(0)<0&&E.iadd(this.m),E._forceRed(this)},ne.prototype.isub=function(p,m){this._verify2(p,m);var E=p.isub(m);return E.cmpn(0)<0&&E.iadd(this.m),E},ne.prototype.shl=function(p,m){return this._verify1(p),this.imod(p.ushln(m))},ne.prototype.imul=function(p,m){return this._verify2(p,m),this.imod(p.imul(m))},ne.prototype.mul=function(p,m){return this._verify2(p,m),this.imod(p.mul(m))},ne.prototype.isqr=function(p){return this.imul(p,p.clone())},ne.prototype.sqr=function(p){return this.mul(p,p)},ne.prototype.sqrt=function(p){if(p.isZero())return p.clone();var m=this.m.andln(3);if(n(m%2===1),m===3){var E=this.m.add(new s(1)).iushrn(2);return this.pow(p,E)}for(var k=this.m.subn(1),O=0;!k.isZero()&&k.andln(1)===0;)O++,k.iushrn(1);n(!k.isZero());var M=new s(1).toRed(this),G=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(G)!==0;)A.redIAdd(G);for(var U=this.pow(A,k),le=this.pow(p,k.addn(1).iushrn(1)),ee=this.pow(p,k),re=O;ee.cmp(M)!==0;){for(var he=ee,ye=0;he.cmp(M)!==0;ye++)he=he.redSqr();n(ye<re);var be=this.pow(U,new s(1).iushln(re-ye-1));le=le.redMul(be),U=be.redSqr(),ee=ee.redMul(U),re=ye}return le},ne.prototype.invm=function(p){var m=p._invmp(this.m);return m.negative!==0?(m.negative=0,this.imod(m).redNeg()):this.imod(m)},ne.prototype.pow=function(p,m){if(m.isZero())return new s(1).toRed(this);if(m.cmpn(1)===0)return p.clone();var E=4,k=new Array(1<<E);k[0]=new s(1).toRed(this),k[1]=p;for(var O=2;O<k.length;O++)k[O]=this.mul(k[O-1],p);var M=k[0],G=0,P=0,A=m.bitLength()%26;for(A===0&&(A=26),O=m.length-1;O>=0;O--){for(var U=m.words[O],le=A-1;le>=0;le--){var ee=U>>le&1;if(M!==k[0]&&(M=this.sqr(M)),ee===0&&G===0){P=0;continue}G<<=1,G|=ee,P++,!(P!==E&&(O!==0||le!==0))&&(M=this.mul(M,k[G]),P=0,G=0)}A=26}return M},ne.prototype.convertTo=function(p){var m=p.umod(this.m);return m===p?m.clone():m},ne.prototype.convertFrom=function(p){var m=p.clone();return m.red=null,m},s.mont=function(p){return new ue(p)};function ue(B){ne.call(this,B),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(ue,ne),ue.prototype.convertTo=function(p){return this.imod(p.ushln(this.shift))},ue.prototype.convertFrom=function(p){var m=this.imod(p.mul(this.rinv));return m.red=null,m},ue.prototype.imul=function(p,m){if(p.isZero()||m.isZero())return p.words[0]=0,p.length=1,p;var E=p.imul(m),k=E.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),O=E.isub(k).iushrn(this.shift),M=O;return O.cmp(this.m)>=0?M=O.isub(this.m):O.cmpn(0)<0&&(M=O.iadd(this.m)),M._forceRed(this)},ue.prototype.mul=function(p,m){if(p.isZero()||m.isZero())return new s(0)._forceRed(this);var E=p.mul(m),k=E.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),O=E.isub(k).iushrn(this.shift),M=O;return O.cmp(this.m)>=0?M=O.isub(this.m):O.cmpn(0)<0&&(M=O.iadd(this.m)),M._forceRed(this)},ue.prototype.invm=function(p){var m=this.imod(p._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(r,Qr)})(cb);var lb=cb.exports;const Gs=no(lb);function M0(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function jV(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function td(r,...e){if(!jV(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function VV(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");M0(r.outputLen),M0(r.blockLen)}function fl(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function LI(r,e){td(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Kc=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function qV(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function ym(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Ui(r,e){return r<<32-e|r>>>e}const wE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ZV(r){return r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255}function bE(r){for(let e=0;e<r.length;e++)r[e]=ZV(r[e])}function QV(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function Pp(r){return typeof r=="string"&&(r=QV(r)),td(r),r}function JV(...r){let e=0;for(let n=0;n<r.length;n++){const i=r[n];td(i),e+=i.length}const t=new Uint8Array(e);for(let n=0,i=0;n<r.length;n++){const s=r[n];t.set(s,i),i+=s.length}return t}let fb=class{clone(){return this._cloneInto()}};function hb(r){const e=n=>r().update(Pp(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function UI(r=32){if(Kc&&typeof Kc.getRandomValues=="function")return Kc.getRandomValues(new Uint8Array(r));if(Kc&&typeof Kc.randomBytes=="function")return Kc.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function YV(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(t>>i&s),a=Number(t&s),u=n?4:0,l=n?0:4;r.setUint32(e+u,o,n),r.setUint32(e+l,a,n)}function XV(r,e,t){return r&e^~r&t}function eq(r,e,t){return r&e^r&t^e&t}class DI extends fb{constructor(e,t,n,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ym(this.buffer)}update(e){fl(this);const{view:t,buffer:n,blockLen:i}=this;e=Pp(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const u=ym(e);for(;i<=s-o;o+=i)this.process(u,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){fl(this),LI(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let g=o;g<i;g++)t[g]=0;YV(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=ym(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=u/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let g=0;g<l;g++)a.setUint32(4*g,h[g],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%t&&e.buffer.set(n),e}}const Ud=BigInt(2**32-1),T1=BigInt(32);function $I(r,e=!1){return e?{h:Number(r&Ud),l:Number(r>>T1&Ud)}:{h:Number(r>>T1&Ud)|0,l:Number(r&Ud)|0}}function FI(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let i=0;i<r.length;i++){const{h:s,l:o}=$I(r[i],e);[t[i],n[i]]=[s,o]}return[t,n]}const tq=(r,e)=>BigInt(r>>>0)<<T1|BigInt(e>>>0),rq=(r,e,t)=>r>>>t,nq=(r,e,t)=>r<<32-t|e>>>t,iq=(r,e,t)=>r>>>t|e<<32-t,sq=(r,e,t)=>r<<32-t|e>>>t,oq=(r,e,t)=>r<<64-t|e>>>t-32,aq=(r,e,t)=>r>>>t-32|e<<64-t,cq=(r,e)=>e,uq=(r,e)=>r,HI=(r,e,t)=>r<<t|e>>>32-t,zI=(r,e,t)=>e<<t|r>>>32-t,GI=(r,e,t)=>e<<t-32|r>>>64-t,KI=(r,e,t)=>r<<t-32|e>>>64-t;function lq(r,e,t,n){const i=(e>>>0)+(n>>>0);return{h:r+t+(i/2**32|0)|0,l:i|0}}const fq=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),hq=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,dq=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),pq=(r,e,t,n,i)=>e+t+n+i+(r/2**32|0)|0,gq=(r,e,t,n,i)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(i>>>0),yq=(r,e,t,n,i,s)=>e+t+n+i+s+(r/2**32|0)|0,tt={fromBig:$I,split:FI,toBig:tq,shrSH:rq,shrSL:nq,rotrSH:iq,rotrSL:sq,rotrBH:oq,rotrBL:aq,rotr32H:cq,rotr32L:uq,rotlSH:HI,rotlSL:zI,rotlBH:GI,rotlBL:KI,add:lq,add3L:fq,add3H:hq,add4L:dq,add4H:pq,add5H:yq,add5L:gq},[mq,wq]=tt.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(r=>BigInt(r))),lo=new Uint32Array(80),fo=new Uint32Array(80);let bq=class extends DI{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:e,Al:t,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:u,Eh:l,El:h,Fh:g,Fl:b,Gh:w,Gl:I,Hh:S,Hl:x}=this;return[e,t,n,i,s,o,a,u,l,h,g,b,w,I,S,x]}set(e,t,n,i,s,o,a,u,l,h,g,b,w,I,S,x){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=u|0,this.Eh=l|0,this.El=h|0,this.Fh=g|0,this.Fl=b|0,this.Gh=w|0,this.Gl=I|0,this.Hh=S|0,this.Hl=x|0}process(e,t){for(let D=0;D<16;D++,t+=4)lo[D]=e.getUint32(t),fo[D]=e.getUint32(t+=4);for(let D=16;D<80;D++){const z=lo[D-15]|0,V=fo[D-15]|0,Z=tt.rotrSH(z,V,1)^tt.rotrSH(z,V,8)^tt.shrSH(z,V,7),K=tt.rotrSL(z,V,1)^tt.rotrSL(z,V,8)^tt.shrSL(z,V,7),j=lo[D-2]|0,oe=fo[D-2]|0,ce=tt.rotrSH(j,oe,19)^tt.rotrBH(j,oe,61)^tt.shrSH(j,oe,6),ne=tt.rotrSL(j,oe,19)^tt.rotrBL(j,oe,61)^tt.shrSL(j,oe,6),ue=tt.add4L(K,ne,fo[D-7],fo[D-16]),B=tt.add4H(ue,Z,ce,lo[D-7],lo[D-16]);lo[D]=B|0,fo[D]=ue|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:l,Dl:h,Eh:g,El:b,Fh:w,Fl:I,Gh:S,Gl:x,Hh:C,Hl:H}=this;for(let D=0;D<80;D++){const z=tt.rotrSH(g,b,14)^tt.rotrSH(g,b,18)^tt.rotrBH(g,b,41),V=tt.rotrSL(g,b,14)^tt.rotrSL(g,b,18)^tt.rotrBL(g,b,41),Z=g&w^~g&S,K=b&I^~b&x,j=tt.add5L(H,V,K,wq[D],fo[D]),oe=tt.add5H(j,C,z,Z,mq[D],lo[D]),ce=j|0,ne=tt.rotrSH(n,i,28)^tt.rotrBH(n,i,34)^tt.rotrBH(n,i,39),ue=tt.rotrSL(n,i,28)^tt.rotrBL(n,i,34)^tt.rotrBL(n,i,39),B=n&s^n&a^s&a,p=i&o^i&u^o&u;C=S|0,H=x|0,S=w|0,x=I|0,w=g|0,I=b|0,{h:g,l:b}=tt.add(l|0,h|0,oe|0,ce|0),l=a|0,h=u|0,a=s|0,u=o|0,s=n|0,o=i|0;const m=tt.add3L(ce,ue,p);n=tt.add3H(m,oe,ne,B),i=m|0}({h:n,l:i}=tt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=tt.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=tt.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:l,l:h}=tt.add(this.Dh|0,this.Dl|0,l|0,h|0),{h:g,l:b}=tt.add(this.Eh|0,this.El|0,g|0,b|0),{h:w,l:I}=tt.add(this.Fh|0,this.Fl|0,w|0,I|0),{h:S,l:x}=tt.add(this.Gh|0,this.Gl|0,S|0,x|0),{h:C,l:H}=tt.add(this.Hh|0,this.Hl|0,C|0,H|0),this.set(n,i,s,o,a,u,l,h,g,b,w,I,S,x,C,H)}roundClean(){lo.fill(0),fo.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 _q=hb(()=>new bq);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Mp=BigInt(0),Lp=BigInt(1),Aq=BigInt(2);function hc(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function rd(r){if(!hc(r))throw new Error("Uint8Array expected")}function Qs(r,e){if(typeof e!="boolean")throw new Error(r+" boolean expected, got "+e)}const vq=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function dc(r){rd(r);let e="";for(let t=0;t<r.length;t++)e+=vq[r[t]];return e}function nu(r){const e=r.toString(16);return e.length&1?"0"+e:e}function db(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?Mp:BigInt("0x"+r)}const bs={_0:48,_9:57,A:65,F:70,a:97,f:102};function _E(r){if(r>=bs._0&&r<=bs._9)return r-bs._0;if(r>=bs.A&&r<=bs.F)return r-(bs.A-10);if(r>=bs.a&&r<=bs.f)return r-(bs.a-10)}function hl(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(t);for(let i=0,s=0;i<t;i++,s+=2){const o=_E(r.charCodeAt(s)),a=_E(r.charCodeAt(s+1));if(o===void 0||a===void 0){const u=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+u+'" at index '+s)}n[i]=o*16+a}return n}function ic(r){return db(dc(r))}function du(r){return rd(r),db(dc(Uint8Array.from(r).reverse()))}function dl(r,e){return hl(r.toString(16).padStart(e*2,"0"))}function ah(r,e){return dl(r,e).reverse()}function Eq(r){return hl(nu(r))}function Sr(r,e,t){let n;if(typeof e=="string")try{n=hl(e)}catch(s){throw new Error(r+" must be hex string or Uint8Array, cause: "+s)}else if(hc(e))n=Uint8Array.from(e);else throw new Error(r+" must be hex string or Uint8Array");const i=n.length;if(typeof t=="number"&&i!==t)throw new Error(r+" of length "+t+" expected, got "+i);return n}function pc(...r){let e=0;for(let n=0;n<r.length;n++){const i=r[n];rd(i),e+=i.length}const t=new Uint8Array(e);for(let n=0,i=0;n<r.length;n++){const s=r[n];t.set(s,i),i+=s.length}return t}function xq(r,e){if(r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function Rq(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}const mm=r=>typeof r=="bigint"&&Mp<=r;function Up(r,e,t){return mm(r)&&mm(e)&&mm(t)&&e<=r&&r<t}function ci(r,e,t,n){if(!Up(e,t,n))throw new Error("expected valid "+r+": "+t+" <= n < "+n+", got "+e)}function WI(r){let e;for(e=0;r>Mp;r>>=Lp,e+=1);return e}function Iq(r,e){return r>>BigInt(e)&Lp}function Sq(r,e,t){return r|(t?Lp:Mp)<<BigInt(e)}const pb=r=>(Aq<<BigInt(r-1))-Lp,wm=r=>new Uint8Array(r),AE=r=>Uint8Array.from(r);function jI(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=wm(r),i=wm(r),s=0;const o=()=>{n.fill(1),i.fill(0),s=0},a=(...g)=>t(i,n,...g),u=(g=wm())=>{i=a(AE([0]),g),n=a(),g.length!==0&&(i=a(AE([1]),g),n=a())},l=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let g=0;const b=[];for(;g<e;){n=a();const w=n.slice();b.push(w),g+=n.length}return pc(...b)};return(g,b)=>{o(),u(g);let w;for(;!(w=b(l()));)u();return o(),w}}const kq={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||hc(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Ml(r,e,t={}){const n=(i,s,o)=>{const a=kq[s];if(typeof a!="function")throw new Error("invalid validator function");const u=r[i];if(!(o&&u===void 0)&&!a(u,r))throw new Error("param "+String(i)+" is invalid. Expected "+s+", got "+u)};for(const[i,s]of Object.entries(e))n(i,s,!1);for(const[i,s]of Object.entries(t))n(i,s,!0);return r}const Tq=()=>{throw new Error("not implemented")};function ch(r){const e=new WeakMap;return(t,...n)=>{const i=e.get(t);if(i!==void 0)return i;const s=r(t,...n);return e.set(t,s),s}}const Oq=Object.freeze(Object.defineProperty({__proto__:null,aInRange:ci,abool:Qs,abytes:rd,bitGet:Iq,bitLen:WI,bitMask:pb,bitSet:Sq,bytesToHex:dc,bytesToNumberBE:ic,bytesToNumberLE:du,concatBytes:pc,createHmacDrbg:jI,ensureBytes:Sr,equalBytes:xq,hexToBytes:hl,hexToNumber:db,inRange:Up,isBytes:hc,memoized:ch,notImplemented:Tq,numberToBytesBE:dl,numberToBytesLE:ah,numberToHexUnpadded:nu,numberToVarBytesBE:Eq,utf8ToBytes:Rq,validateObject:Ml},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Fr=BigInt(0),ir=BigInt(1),ma=BigInt(2),Nq=BigInt(3),O1=BigInt(4),vE=BigInt(5),EE=BigInt(8);function Jt(r,e){const t=r%e;return t>=Fr?t:e+t}function Cq(r,e,t){if(e<Fr)throw new Error("invalid exponent, negatives unsupported");if(t<=Fr)throw new Error("invalid modulus");if(t===ir)return Fr;let n=ir;for(;e>Fr;)e&ir&&(n=n*r%t),r=r*r%t,e>>=ir;return n}function br(r,e,t){let n=r;for(;e-- >Fr;)n*=n,n%=t;return n}function N1(r,e){if(r===Fr)throw new Error("invert: expected non-zero number");if(e<=Fr)throw new Error("invert: expected positive modulus, got "+e);let t=Jt(r,e),n=e,i=Fr,s=ir;for(;t!==Fr;){const a=n/t,u=n%t,l=i-s*a;n=t,t=u,i=s,s=l}if(n!==ir)throw new Error("invert: does not exist");return Jt(i,e)}function Bq(r){const e=(r-ir)/ma;let t,n,i;for(t=r-ir,n=0;t%ma===Fr;t/=ma,n++);for(i=ma;i<r&&Cq(i,e,r)!==r-ir;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){const o=(r+ir)/O1;return function(u,l){const h=u.pow(l,o);if(!u.eql(u.sqr(h),l))throw new Error("Cannot find square root");return h}}const s=(t+ir)/ma;return function(a,u){if(a.pow(u,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,h=a.pow(a.mul(a.ONE,i),t),g=a.pow(u,s),b=a.pow(u,t);for(;!a.eql(b,a.ONE);){if(a.eql(b,a.ZERO))return a.ZERO;let w=1;for(let S=a.sqr(b);w<l&&!a.eql(S,a.ONE);w++)S=a.sqr(S);const I=a.pow(h,ir<<BigInt(l-w-1));h=a.sqr(I),g=a.mul(g,I),b=a.mul(b,h),l=w}return g}}function Pq(r){if(r%O1===Nq){const e=(r+ir)/O1;return function(n,i){const s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(r%EE===vE){const e=(r-vE)/EE;return function(n,i){const s=n.mul(i,ma),o=n.pow(s,e),a=n.mul(i,o),u=n.mul(n.mul(a,ma),o),l=n.mul(a,n.sub(u,n.ONE));if(!n.eql(n.sqr(l),i))throw new Error("Cannot find square root");return l}}return Bq(r)}const Mq=(r,e)=>(Jt(r,e)&ir)===ir,Lq=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Uq(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Lq.reduce((n,i)=>(n[i]="function",n),e);return Ml(r,t)}function Dq(r,e,t){if(t<Fr)throw new Error("invalid exponent, negatives unsupported");if(t===Fr)return r.ONE;if(t===ir)return e;let n=r.ONE,i=e;for(;t>Fr;)t&ir&&(n=r.mul(n,i)),i=r.sqr(i),t>>=ir;return n}function $q(r,e){const t=new Array(e.length),n=e.reduce((s,o,a)=>r.is0(o)?s:(t[a]=s,r.mul(s,o)),r.ONE),i=r.inv(n);return e.reduceRight((s,o,a)=>r.is0(o)?s:(t[a]=r.mul(s,t[a]),r.mul(s,o)),i),t}function VI(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function Dp(r,e,t=!1,n={}){if(r<=Fr)throw new Error("invalid field: expected ORDER > 0, got "+r);const{nBitLength:i,nByteLength:s}=VI(r,e);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:r,isLE:t,BITS:i,BYTES:s,MASK:pb(i),ZERO:Fr,ONE:ir,create:u=>Jt(u,r),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Fr<=u&&u<r},is0:u=>u===Fr,isOdd:u=>(u&ir)===ir,neg:u=>Jt(-u,r),eql:(u,l)=>u===l,sqr:u=>Jt(u*u,r),add:(u,l)=>Jt(u+l,r),sub:(u,l)=>Jt(u-l,r),mul:(u,l)=>Jt(u*l,r),pow:(u,l)=>Dq(a,u,l),div:(u,l)=>Jt(u*N1(l,r),r),sqrN:u=>u*u,addN:(u,l)=>u+l,subN:(u,l)=>u-l,mulN:(u,l)=>u*l,inv:u=>N1(u,r),sqrt:n.sqrt||(u=>(o||(o=Pq(r)),o(a,u))),invertBatch:u=>$q(a,u),cmov:(u,l,h)=>h?l:u,toBytes:u=>t?ah(u,s):dl(u,s),fromBytes:u=>{if(u.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+u.length);return t?du(u):ic(u)}});return Object.freeze(a)}function qI(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function ZI(r){const e=qI(r);return e+Math.ceil(e/2)}function Fq(r,e,t=!1){const n=r.length,i=qI(e),s=ZI(e);if(n<16||n<s||n>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+n);const o=t?du(r):ic(r),a=Jt(o,e-ir)+ir;return t?ah(a,i):dl(a,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const xE=BigInt(0),Dd=BigInt(1);function bm(r,e){const t=e.negate();return r?t:e}function QI(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function _m(r,e){QI(r,e);const t=Math.ceil(e/r)+1,n=2**(r-1);return{windows:t,windowSize:n}}function Hq(r,e){if(!Array.isArray(r))throw new Error("array expected");r.forEach((t,n)=>{if(!(t instanceof e))throw new Error("invalid point at index "+n)})}function zq(r,e){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((t,n)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+n)})}const Am=new WeakMap,JI=new WeakMap;function vm(r){return JI.get(r)||1}function YI(r,e){return{constTimeNegate:bm,hasPrecomputes(t){return vm(t)!==1},unsafeLadder(t,n,i=r.ZERO){let s=t;for(;n>xE;)n&Dd&&(i=i.add(s)),s=s.double(),n>>=Dd;return i},precomputeWindow(t,n){const{windows:i,windowSize:s}=_m(n,e),o=[];let a=t,u=a;for(let l=0;l<i;l++){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(t,n,i){const{windows:s,windowSize:o}=_m(t,e);let a=r.ZERO,u=r.BASE;const l=BigInt(2**t-1),h=2**t,g=BigInt(t);for(let b=0;b<s;b++){const w=b*o;let I=Number(i&l);i>>=g,I>o&&(I-=h,i+=Dd);const S=w,x=w+Math.abs(I)-1,C=b%2!==0,H=I<0;I===0?u=u.add(bm(C,n[S])):a=a.add(bm(H,n[x]))}return{p:a,f:u}},wNAFUnsafe(t,n,i,s=r.ZERO){const{windows:o,windowSize:a}=_m(t,e),u=BigInt(2**t-1),l=2**t,h=BigInt(t);for(let g=0;g<o;g++){const b=g*a;if(i===xE)break;let w=Number(i&u);if(i>>=h,w>a&&(w-=l,i+=Dd),w===0)continue;let I=n[b+Math.abs(w)-1];w<0&&(I=I.negate()),s=s.add(I)}return s},getPrecomputes(t,n,i){let s=Am.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&Am.set(n,i(s))),s},wNAFCached(t,n,i){const s=vm(t);return this.wNAF(s,this.getPrecomputes(s,t,i),n)},wNAFCachedUnsafe(t,n,i,s){const o=vm(t);return o===1?this.unsafeLadder(t,n,s):this.wNAFUnsafe(o,this.getPrecomputes(o,t,i),n,s)},setWindowSize(t,n){QI(n,e),JI.set(t,n),Am.delete(t)}}}function XI(r,e,t,n){if(Hq(t,r),zq(n,e),t.length!==n.length)throw new Error("arrays of points and scalars must have equal length");const i=r.ZERO,s=WI(BigInt(t.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,u=new Array(a+1).fill(i),l=Math.floor((e.BITS-1)/o)*o;let h=i;for(let g=l;g>=0;g-=o){u.fill(i);for(let w=0;w<n.length;w++){const I=n[w],S=Number(I>>BigInt(g)&BigInt(a));u[S]=u[S].add(t[w])}let b=i;for(let w=u.length-1,I=i;w>0;w--)I=I.add(u[w]),b=b.add(I);if(h=h.add(b),g!==0)for(let w=0;w<o;w++)h=h.double()}return h}function gb(r){return Uq(r.Fp),Ml(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...VI(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const gi=BigInt(0),En=BigInt(1),$d=BigInt(2),Gq=BigInt(8),Kq={zip215:!0};function Wq(r){const e=gb(r);return Ml(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function jq(r){const e=Wq(r),{Fp:t,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:u}=e,l=$d<<BigInt(a*8)-En,h=t.create,g=Dp(e.n,e.nBitLength),b=e.uvRatio||((E,k)=>{try{return{isValid:!0,value:t.sqrt(E*t.inv(k))}}catch{return{isValid:!1,value:gi}}}),w=e.adjustScalarBytes||(E=>E),I=e.domain||((E,k,O)=>{if(Qs("phflag",O),k.length||O)throw new Error("Contexts/pre-hash are not supported");return E});function S(E,k){ci("coordinate "+E,k,gi,l)}function x(E){if(!(E instanceof D))throw new Error("ExtendedPoint expected")}const C=ch((E,k)=>{const{ex:O,ey:M,ez:G}=E,P=E.is0();k==null&&(k=P?Gq:t.inv(G));const A=h(O*k),U=h(M*k),le=h(G*k);if(P)return{x:gi,y:En};if(le!==En)throw new Error("invZ was invalid");return{x:A,y:U}}),H=ch(E=>{const{a:k,d:O}=e;if(E.is0())throw new Error("bad point: ZERO");const{ex:M,ey:G,ez:P,et:A}=E,U=h(M*M),le=h(G*G),ee=h(P*P),re=h(ee*ee),he=h(U*k),ye=h(ee*h(he+le)),be=h(re+h(O*h(U*le)));if(ye!==be)throw new Error("bad point: equation left != right (1)");const We=h(M*G),$e=h(P*A);if(We!==$e)throw new Error("bad point: equation left != right (2)");return!0});class D{constructor(k,O,M,G){this.ex=k,this.ey=O,this.ez=M,this.et=G,S("x",k),S("y",O),S("z",M),S("t",G),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(k){if(k instanceof D)throw new Error("extended point not allowed");const{x:O,y:M}=k||{};return S("x",O),S("y",M),new D(O,M,En,h(O*M))}static normalizeZ(k){const O=t.invertBatch(k.map(M=>M.ez));return k.map((M,G)=>M.toAffine(O[G])).map(D.fromAffine)}static msm(k,O){return XI(D,g,k,O)}_setWindowSize(k){Z.setWindowSize(this,k)}assertValidity(){H(this)}equals(k){x(k);const{ex:O,ey:M,ez:G}=this,{ex:P,ey:A,ez:U}=k,le=h(O*U),ee=h(P*G),re=h(M*U),he=h(A*G);return le===ee&&re===he}is0(){return this.equals(D.ZERO)}negate(){return new D(h(-this.ex),this.ey,this.ez,h(-this.et))}double(){const{a:k}=e,{ex:O,ey:M,ez:G}=this,P=h(O*O),A=h(M*M),U=h($d*h(G*G)),le=h(k*P),ee=O+M,re=h(h(ee*ee)-P-A),he=le+A,ye=he-U,be=le-A,We=h(re*ye),$e=h(he*be),Oe=h(re*be),Xe=h(ye*he);return new D(We,$e,Xe,Oe)}add(k){x(k);const{a:O,d:M}=e,{ex:G,ey:P,ez:A,et:U}=this,{ex:le,ey:ee,ez:re,et:he}=k;if(O===BigInt(-1)){const Et=h((P-G)*(ee+le)),St=h((P+G)*(ee-le)),Ar=h(St-Et);if(Ar===gi)return this.double();const ft=h(A*$d*he),xt=h(U*$d*re),Xt=xt+ft,bt=St+Et,kt=xt-ft,Xr=h(Xt*Ar),Lt=h(bt*kt),N=h(Xt*kt),_=h(Ar*bt);return new D(Xr,Lt,_,N)}const ye=h(G*le),be=h(P*ee),We=h(U*M*he),$e=h(A*re),Oe=h((G+P)*(le+ee)-ye-be),Xe=$e-We,qe=$e+We,et=h(be-O*ye),Yt=h(Oe*Xe),lt=h(qe*et),Mt=h(Oe*et),oo=h(Xe*qe);return new D(Yt,lt,oo,Mt)}subtract(k){return this.add(k.negate())}wNAF(k){return Z.wNAFCached(this,k,D.normalizeZ)}multiply(k){const O=k;ci("scalar",O,En,n);const{p:M,f:G}=this.wNAF(O);return D.normalizeZ([M,G])[0]}multiplyUnsafe(k,O=D.ZERO){const M=k;return ci("scalar",M,gi,n),M===gi?V:this.is0()||M===En?this:Z.wNAFCachedUnsafe(this,M,D.normalizeZ,O)}isSmallOrder(){return this.multiplyUnsafe(u).is0()}isTorsionFree(){return Z.unsafeLadder(this,n).is0()}toAffine(k){return C(this,k)}clearCofactor(){const{h:k}=e;return k===En?this:this.multiplyUnsafe(k)}static fromHex(k,O=!1){const{d:M,a:G}=e,P=t.BYTES;k=Sr("pointHex",k,P),Qs("zip215",O);const A=k.slice(),U=k[P-1];A[P-1]=U&-129;const le=du(A),ee=O?l:t.ORDER;ci("pointHex.y",le,gi,ee);const re=h(le*le),he=h(re-En),ye=h(M*re-G);let{isValid:be,value:We}=b(he,ye);if(!be)throw new Error("Point.fromHex: invalid y coordinate");const $e=(We&En)===En,Oe=(U&128)!==0;if(!O&&We===gi&&Oe)throw new Error("Point.fromHex: x=0 and x_0=1");return Oe!==$e&&(We=h(-We)),D.fromAffine({x:We,y:le})}static fromPrivateKey(k){return oe(k).point}toRawBytes(){const{x:k,y:O}=this.toAffine(),M=ah(O,t.BYTES);return M[M.length-1]|=k&En?128:0,M}toHex(){return dc(this.toRawBytes())}}D.BASE=new D(e.Gx,e.Gy,En,h(e.Gx*e.Gy)),D.ZERO=new D(gi,En,En,gi);const{BASE:z,ZERO:V}=D,Z=YI(D,a*8);function K(E){return Jt(E,n)}function j(E){return K(du(E))}function oe(E){const k=t.BYTES;E=Sr("private key",E,k);const O=Sr("hashed private key",s(E),2*k),M=w(O.slice(0,k)),G=O.slice(k,2*k),P=j(M),A=z.multiply(P),U=A.toRawBytes();return{head:M,prefix:G,scalar:P,point:A,pointBytes:U}}function ce(E){return oe(E).pointBytes}function ne(E=new Uint8Array,...k){const O=pc(...k);return j(s(I(O,Sr("context",E),!!i)))}function ue(E,k,O={}){E=Sr("message",E),i&&(E=i(E));const{prefix:M,scalar:G,pointBytes:P}=oe(k),A=ne(O.context,M,E),U=z.multiply(A).toRawBytes(),le=ne(O.context,U,P,E),ee=K(A+le*G);ci("signature.s",ee,gi,n);const re=pc(U,ah(ee,t.BYTES));return Sr("result",re,t.BYTES*2)}const B=Kq;function p(E,k,O,M=B){const{context:G,zip215:P}=M,A=t.BYTES;E=Sr("signature",E,2*A),k=Sr("message",k),O=Sr("publicKey",O,A),P!==void 0&&Qs("zip215",P),i&&(k=i(k));const U=du(E.slice(A,2*A));let le,ee,re;try{le=D.fromHex(O,P),ee=D.fromHex(E.slice(0,A),P),re=z.multiplyUnsafe(U)}catch{return!1}if(!P&&le.isSmallOrder())return!1;const he=ne(G,ee.toRawBytes(),le.toRawBytes(),k);return ee.add(le.multiplyUnsafe(he)).subtract(re).clearCofactor().equals(D.ZERO)}return z._setWindowSize(8),{CURVE:e,getPublicKey:ce,sign:ue,verify:p,ExtendedPoint:D,utils:{getExtendedPublicKey:oe,randomPrivateKey:()=>o(t.BYTES),precompute(E=8,k=D.BASE){return k._setWindowSize(E),k.multiply(BigInt(3)),k}}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const yb=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),RE=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const Vq=BigInt(1),IE=BigInt(2);BigInt(3);const qq=BigInt(5),Zq=BigInt(8);function Qq(r){const e=BigInt(10),t=BigInt(20),n=BigInt(40),i=BigInt(80),s=yb,a=r*r%s*r%s,u=br(a,IE,s)*a%s,l=br(u,Vq,s)*r%s,h=br(l,qq,s)*l%s,g=br(h,e,s)*h%s,b=br(g,t,s)*g%s,w=br(b,n,s)*b%s,I=br(w,i,s)*w%s,S=br(I,i,s)*w%s,x=br(S,e,s)*h%s;return{pow_p_5_8:br(x,IE,s)*r%s,b2:a}}function Jq(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Yq(r,e){const t=yb,n=Jt(e*e*e,t),i=Jt(n*n*e,t),s=Qq(r*i).pow_p_5_8;let o=Jt(r*n*s,t);const a=Jt(e*o*o,t),u=o,l=Jt(o*RE,t),h=a===r,g=a===Jt(-r,t),b=a===Jt(-r*RE,t);return h&&(o=u),(g||b)&&(o=l),Mq(o,t)&&(o=Jt(-o,t)),{isValid:h||g,value:o}}const Xq=Dp(yb,void 0,!0),eZ={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Xq,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Zq,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:_q,randomBytes:UI,adjustScalarBytes:Jq,uvRatio:Yq},Ll=jq(eZ);var C1={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(r,e){var t=ub,n=t.Buffer;function i(o,a){for(var u in o)a[u]=o[u]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?r.exports=t:(i(t,e),e.Buffer=s);function s(o,a,u){return n(o,a,u)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,u){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,u)},s.alloc=function(o,a,u){if(typeof o!="number")throw new TypeError("Argument must be a number");var l=n(o);return a!==void 0?typeof u=="string"?l.fill(a,u):l.fill(a):l.fill(0),l},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o)}})(C1,C1.exports);var tZ=C1.exports,Fd=tZ.Buffer;function rZ(r){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t<e.length;t++)e[t]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=n}var o=r.length,a=r.charAt(0),u=Math.log(o)/Math.log(256),l=Math.log(256)/Math.log(o);function h(w){if((Array.isArray(w)||w instanceof Uint8Array)&&(w=Fd.from(w)),!Fd.isBuffer(w))throw new TypeError("Expected Buffer");if(w.length===0)return"";for(var I=0,S=0,x=0,C=w.length;x!==C&&w[x]===0;)x++,I++;for(var H=(C-x)*l+1>>>0,D=new Uint8Array(H);x!==C;){for(var z=w[x],V=0,Z=H-1;(z!==0||V<S)&&Z!==-1;Z--,V++)z+=256*D[Z]>>>0,D[Z]=z%o>>>0,z=z/o>>>0;if(z!==0)throw new Error("Non-zero carry");S=V,x++}for(var K=H-S;K!==H&&D[K]===0;)K++;for(var j=a.repeat(I);K<H;++K)j+=r.charAt(D[K]);return j}function g(w){if(typeof w!="string")throw new TypeError("Expected String");if(w.length===0)return Fd.alloc(0);for(var I=0,S=0,x=0;w[I]===a;)S++,I++;for(var C=(w.length-I)*u+1>>>0,H=new Uint8Array(C);I<w.length;){var D=w.charCodeAt(I);if(D>255)return;var z=e[D];if(z===255)return;for(var V=0,Z=C-1;(z!==0||V<x)&&Z!==-1;Z--,V++)z+=o*H[Z]>>>0,H[Z]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");x=V,I++}for(var K=C-x;K!==C&&H[K]===0;)K++;var j=Fd.allocUnsafe(S+(C-K));j.fill(0,0,S);for(var oe=S;K!==C;)j[oe++]=H[K++];return j}function b(w){var I=g(w);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:h,decodeUnsafe:g,decode:b}}var nZ=rZ,iZ=nZ,sZ="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",eS=iZ(sZ);const kr=no(eS),oZ=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]),ho=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),po=new Uint32Array(64);let aZ=class extends DI{constructor(){super(64,32,8,!1),this.A=ho[0]|0,this.B=ho[1]|0,this.C=ho[2]|0,this.D=ho[3]|0,this.E=ho[4]|0,this.F=ho[5]|0,this.G=ho[6]|0,this.H=ho[7]|0}get(){const{A:e,B:t,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[e,t,n,i,s,o,a,u]}set(e,t,n,i,s,o,a,u){this.A=e|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(e,t){for(let g=0;g<16;g++,t+=4)po[g]=e.getUint32(t,!1);for(let g=16;g<64;g++){const b=po[g-15],w=po[g-2],I=Ui(b,7)^Ui(b,18)^b>>>3,S=Ui(w,17)^Ui(w,19)^w>>>10;po[g]=S+po[g-7]+I+po[g-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:l,H:h}=this;for(let g=0;g<64;g++){const b=Ui(a,6)^Ui(a,11)^Ui(a,25),w=h+b+XV(a,u,l)+oZ[g]+po[g]|0,S=(Ui(n,2)^Ui(n,13)^Ui(n,22))+eq(n,i,s)|0;h=l,l=u,u=a,a=o+w|0,o=s,s=i,i=n,n=w+S|0}n=n+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,l=l+this.G|0,h=h+this.H|0,this.set(n,i,s,o,a,u,l,h)}roundClean(){po.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const B1=hb(()=>new aZ);var Vr={};function Ks(r,e,t){return e<=r&&r<=t}function $p(r){if(r===void 0)return{};if(r===Object(r))return r;throw TypeError("Could not convert argument to dictionary")}function cZ(r){for(var e=String(r),t=e.length,n=0,i=[];n<t;){var s=e.charCodeAt(n);if(s<55296||s>57343)i.push(s);else if(56320<=s&&s<=57343)i.push(65533);else if(55296<=s&&s<=56319)if(n===t-1)i.push(65533);else{var o=r.charCodeAt(n+1);if(56320<=o&&o<=57343){var a=s&1023,u=o&1023;i.push(65536+(a<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function uZ(r){for(var e="",t=0;t<r.length;++t){var n=r[t];n<=65535?e+=String.fromCharCode(n):(n-=65536,e+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return e}var L0=-1;function mb(r){this.tokens=[].slice.call(r)}mb.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():L0},prepend:function(r){if(Array.isArray(r))for(var e=r;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(r)},push:function(r){if(Array.isArray(r))for(var e=r;e.length;)this.tokens.push(e.shift());else this.tokens.push(r)}};var pl=-1;function Em(r,e){if(r)throw TypeError("Decoder error");return e||65533}var U0="utf-8";function D0(r,e){if(!(this instanceof D0))return new D0(r,e);if(r=r!==void 0?String(r).toLowerCase():U0,r!==U0)throw new Error("Encoding not supported. Only utf-8 is supported");e=$p(e),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!e.fatal,this._ignoreBOM=!!e.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}D0.prototype={decode:function(e,t){var n;typeof e=="object"&&e instanceof ArrayBuffer?n=new Uint8Array(e):typeof e=="object"&&"buffer"in e&&e.buffer instanceof ArrayBuffer?n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):n=new Uint8Array(0),t=$p(t),this._streaming||(this._decoder=new lZ({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!t.stream;for(var i=new mb(n),s=[],o;!i.endOfStream()&&(o=this._decoder.handler(i,i.read()),o!==pl);)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===pl)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),uZ(s)}};function $0(r,e){if(!(this instanceof $0))return new $0(r,e);if(r=r!==void 0?String(r).toLowerCase():U0,r!==U0)throw new Error("Encoding not supported. Only utf-8 is supported");e=$p(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}$0.prototype={encode:function(e,t){e=e?String(e):"",t=$p(t),this._streaming||(this._encoder=new fZ(this._options)),this._streaming=!!t.stream;for(var n=[],i=new mb(cZ(e)),s;!i.endOfStream()&&(s=this._encoder.handler(i,i.read()),s!==pl);)Array.isArray(s)?n.push.apply(n,s):n.push(s);if(!this._streaming){for(;s=this._encoder.handler(i,i.read()),s!==pl;)Array.isArray(s)?n.push.apply(n,s):n.push(s);this._encoder=null}return new Uint8Array(n)}};function lZ(r){var e=r.fatal,t=0,n=0,i=0,s=128,o=191;this.handler=function(a,u){if(u===L0&&i!==0)return i=0,Em(e);if(u===L0)return pl;if(i===0){if(Ks(u,0,127))return u;if(Ks(u,194,223))i=1,t=u-192;else if(Ks(u,224,239))u===224&&(s=160),u===237&&(o=159),i=2,t=u-224;else if(Ks(u,240,244))u===240&&(s=144),u===244&&(o=143),i=3,t=u-240;else return Em(e);return t=t<<6*i,null}if(!Ks(u,s,o))return t=i=n=0,s=128,o=191,a.prepend(u),Em(e);if(s=128,o=191,n+=1,t+=u-128<<6*(i-n),n!==i)return null;var l=t;return t=i=n=0,l}}function fZ(r){r.fatal,this.handler=function(e,t){if(t===L0)return pl;if(Ks(t,0,127))return t;var n,i;Ks(t,128,2047)?(n=1,i=192):Ks(t,2048,65535)?(n=2,i=224):Ks(t,65536,1114111)&&(n=3,i=240);for(var s=[(t>>6*n)+i];n>0;){var o=t>>6*(n-1);s.push(128|o&63),n-=1}return s}}const hZ=Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:D0,TextEncoder:$0},Symbol.toStringTag,{value:"Module"})),dZ=yp(hZ);var pZ=Qr&&Qr.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t),Object.defineProperty(r,n,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),gZ=Qr&&Qr.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),ds=Qr&&Qr.__decorate||function(r,e,t,n){var i=arguments.length,s=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(i<3?o(s):i>3?o(e,t,s):o(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},yZ=Qr&&Qr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.hasOwnProperty.call(r,t)&&pZ(e,r,t);return gZ(e,r),e},tS=Qr&&Qr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Vr,"__esModule",{value:!0});var rS=Vr.deserializeUnchecked=cS=Vr.deserialize=aS=Vr.serialize=Vr.BinaryReader=Vr.BinaryWriter=Vr.BorshError=Vr.baseDecode=Vr.baseEncode=void 0;const Go=tS(lb),nS=tS(eS),mZ=yZ(dZ),wZ=typeof TextDecoder!="function"?mZ.TextDecoder:TextDecoder,bZ=new wZ("utf-8",{fatal:!0});function _Z(r){return typeof r=="string"&&(r=Qe.from(r,"utf8")),nS.default.encode(Qe.from(r))}Vr.baseEncode=_Z;function AZ(r){return Qe.from(nS.default.decode(r))}Vr.baseDecode=AZ;const xm=1024;class gn extends Error{constructor(e){super(e),this.fieldPath=[],this.originalMessage=e}addToFieldPath(e){this.fieldPath.splice(0,0,e),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}Vr.BorshError=gn;class iS{constructor(){this.buf=Qe.alloc(xm),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Qe.concat([this.buf,Qe.alloc(xm)]))}writeU8(e){this.maybeResize(),this.buf.writeUInt8(e,this.length),this.length+=1}writeU16(e){this.maybeResize(),this.buf.writeUInt16LE(e,this.length),this.length+=2}writeU32(e){this.maybeResize(),this.buf.writeUInt32LE(e,this.length),this.length+=4}writeU64(e){this.maybeResize(),this.writeBuffer(Qe.from(new Go.default(e).toArray("le",8)))}writeU128(e){this.maybeResize(),this.writeBuffer(Qe.from(new Go.default(e).toArray("le",16)))}writeU256(e){this.maybeResize(),this.writeBuffer(Qe.from(new Go.default(e).toArray("le",32)))}writeU512(e){this.maybeResize(),this.writeBuffer(Qe.from(new Go.default(e).toArray("le",64)))}writeBuffer(e){this.buf=Qe.concat([Qe.from(this.buf.subarray(0,this.length)),e,Qe.alloc(xm)]),this.length+=e.length}writeString(e){this.maybeResize();const t=Qe.from(e,"utf8");this.writeU32(t.length),this.writeBuffer(t)}writeFixedArray(e){this.writeBuffer(Qe.from(e))}writeArray(e,t){this.maybeResize(),this.writeU32(e.length);for(const n of e)this.maybeResize(),t(n)}toArray(){return this.buf.subarray(0,this.length)}}Vr.BinaryWriter=iS;function ps(r,e,t){const n=t.value;t.value=function(...i){try{return n.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 gn("Reached the end of buffer when deserializing")}throw s}}}class Zn{constructor(e){this.buf=e,this.offset=0}readU8(){const e=this.buf.readUInt8(this.offset);return this.offset+=1,e}readU16(){const e=this.buf.readUInt16LE(this.offset);return this.offset+=2,e}readU32(){const e=this.buf.readUInt32LE(this.offset);return this.offset+=4,e}readU64(){const e=this.readBuffer(8);return new Go.default(e,"le")}readU128(){const e=this.readBuffer(16);return new Go.default(e,"le")}readU256(){const e=this.readBuffer(32);return new Go.default(e,"le")}readU512(){const e=this.readBuffer(64);return new Go.default(e,"le")}readBuffer(e){if(this.offset+e>this.buf.length)throw new gn(`Expected buffer length ${e} isn't within bounds`);const t=this.buf.slice(this.offset,this.offset+e);return this.offset+=e,t}readString(){const e=this.readU32(),t=this.readBuffer(e);try{return bZ.decode(t)}catch(n){throw new gn(`Error decoding UTF-8 string: ${n}`)}}readFixedArray(e){return new Uint8Array(this.readBuffer(e))}readArray(e){const t=this.readU32(),n=Array();for(let i=0;i<t;++i)n.push(e());return n}}ds([ps],Zn.prototype,"readU8",null);ds([ps],Zn.prototype,"readU16",null);ds([ps],Zn.prototype,"readU32",null);ds([ps],Zn.prototype,"readU64",null);ds([ps],Zn.prototype,"readU128",null);ds([ps],Zn.prototype,"readU256",null);ds([ps],Zn.prototype,"readU512",null);ds([ps],Zn.prototype,"readString",null);ds([ps],Zn.prototype,"readFixedArray",null);ds([ps],Zn.prototype,"readArray",null);Vr.BinaryReader=Zn;function sS(r){return r.charAt(0).toUpperCase()+r.slice(1)}function wa(r,e,t,n,i){try{if(typeof n=="string")i[`write${sS(n)}`](t);else if(n instanceof Array)if(typeof n[0]=="number"){if(t.length!==n[0])throw new gn(`Expecting byte array of length ${n[0]}, but got ${t.length} bytes`);i.writeFixedArray(t)}else if(n.length===2&&typeof n[1]=="number"){if(t.length!==n[1])throw new gn(`Expecting byte array of length ${n[1]}, but got ${t.length} bytes`);for(let s=0;s<n[1];s++)wa(r,null,t[s],n[0],i)}else i.writeArray(t,s=>{wa(r,e,s,n[0],i)});else if(n.kind!==void 0)switch(n.kind){case"option":{t==null?i.writeU8(0):(i.writeU8(1),wa(r,e,t,n.type,i));break}case"map":{i.writeU32(t.size),t.forEach((s,o)=>{wa(r,e,o,n.key,i),wa(r,e,s,n.value,i)});break}default:throw new gn(`FieldType ${n} unrecognized`)}else oS(r,t,i)}catch(s){throw s instanceof gn&&s.addToFieldPath(e),s}}function oS(r,e,t){if(typeof e.borshSerialize=="function"){e.borshSerialize(t);return}const n=r.get(e.constructor);if(!n)throw new gn(`Class ${e.constructor.name} is missing in schema`);if(n.kind==="struct")n.fields.map(([i,s])=>{wa(r,i,e[i],s,t)});else if(n.kind==="enum"){const i=e[n.field];for(let s=0;s<n.values.length;++s){const[o,a]=n.values[s];if(o===i){t.writeU8(s),wa(r,o,e[o],a,t);break}}}else throw new gn(`Unexpected schema kind: ${n.kind} for ${e.constructor.name}`)}function vZ(r,e,t=iS){const n=new t;return oS(r,e,n),n.toArray()}var aS=Vr.serialize=vZ;function ba(r,e,t,n){try{if(typeof t=="string")return n[`read${sS(t)}`]();if(t instanceof Array){if(typeof t[0]=="number")return n.readFixedArray(t[0]);if(typeof t[1]=="number"){const i=[];for(let s=0;s<t[1];s++)i.push(ba(r,null,t[0],n));return i}else return n.readArray(()=>ba(r,e,t[0],n))}if(t.kind==="option")return n.readU8()?ba(r,e,t.type,n):void 0;if(t.kind==="map"){let i=new Map;const s=n.readU32();for(let o=0;o<s;o++){const a=ba(r,e,t.key,n),u=ba(r,e,t.value,n);i.set(a,u)}return i}return wb(r,t,n)}catch(i){throw i instanceof gn&&i.addToFieldPath(e),i}}function wb(r,e,t){if(typeof e.borshDeserialize=="function")return e.borshDeserialize(t);const n=r.get(e);if(!n)throw new gn(`Class ${e.name} is missing in schema`);if(n.kind==="struct"){const i={};for(const[s,o]of r.get(e).fields)i[s]=ba(r,s,o,t);return new e(i)}if(n.kind==="enum"){const i=t.readU8();if(i>=n.values.length)throw new gn(`Enum index: ${i} is out of range`);const[s,o]=n.values[i],a=ba(r,s,o,t);return new e({[s]:a})}throw new gn(`Unexpected schema kind: ${n.kind} for ${e.constructor.name}`)}function EZ(r,e,t,n=Zn){const i=new n(t),s=wb(r,e,i);if(i.offset<t.length)throw new gn(`Unexpected ${t.length-i.offset} bytes after deserialized data`);return s}var cS=Vr.deserialize=EZ;function xZ(r,e,t,n=Zn){const i=new n(t);return wb(r,e,i)}rS=Vr.deserializeUnchecked=xZ;var ie={};Object.defineProperty(ie,"__esModule",{value:!0});ie.s16=ie.s8=ie.nu64be=ie.u48be=ie.u40be=ie.u32be=ie.u24be=ie.u16be=Kr=ie.nu64=ie.u48=ie.u40=Be=ie.u32=ie.u24=ai=ie.u16=mt=ie.u8=jo=ie.offset=ie.greedy=ie.Constant=ie.UTF8=ie.CString=ie.Blob=ie.Boolean=ie.BitField=ie.BitStructure=ie.VariantLayout=ie.Union=ie.UnionLayoutDiscriminator=ie.UnionDiscriminator=ie.Structure=ie.Sequence=ie.DoubleBE=ie.Double=ie.FloatBE=ie.Float=ie.NearInt64BE=ie.NearInt64=ie.NearUInt64BE=ie.NearUInt64=ie.IntBE=ie.Int=ie.UIntBE=ie.UInt=ie.OffsetLayout=ie.GreedyCount=ie.ExternalLayout=ie.bindConstructorLayout=ie.nameWithProperty=ie.Layout=ie.uint8ArrayToBuffer=ie.checkUint8Array=void 0;ie.constant=ie.utf8=ie.cstr=Kt=ie.blob=ie.unionLayoutDiscriminator=ie.union=Jr=ie.seq=ie.bits=Pe=ie.struct=ie.f64be=ie.f64=ie.f32be=ie.f32=ie.ns64be=ie.s48be=ie.s40be=ie.s32be=ie.s24be=ie.s16be=Wn=ie.ns64=ie.s48=ie.s40=ie.s32=ie.s24=void 0;const bb=ub;function Ul(r){if(!(r instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}ie.checkUint8Array=Ul;function vt(r){return Ul(r),bb.Buffer.from(r.buffer,r.byteOffset,r.length)}ie.uint8ArrayToBuffer=vt;let Ot=class{constructor(e,t){if(!Number.isInteger(e))throw new TypeError("span must be an integer");this.span=e,this.property=t}makeDestinationObject(){return{}}getSpan(e,t){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(e){const t=Object.create(this.constructor.prototype);return Object.assign(t,this),t.property=e,t}fromArray(e){}};ie.Layout=Ot;function _b(r,e){return e.property?r+"["+e.property+"]":r}ie.nameWithProperty=_b;function RZ(r,e){if(typeof r!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(r,"layout_"))throw new Error("Class is already bound to a layout");if(!(e&&e instanceof Ot))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(e,"boundConstructor_"))throw new Error("layout is already bound to a constructor");r.layout_=e,e.boundConstructor_=r,e.makeDestinationObject=()=>new r,Object.defineProperty(r.prototype,"encode",{value(t,n){return e.encode(this,t,n)},writable:!0}),Object.defineProperty(r,"decode",{value(t,n){return e.decode(t,n)},writable:!0})}ie.bindConstructorLayout=RZ;let On=class extends Ot{isCount(){throw new Error("ExternalLayout is abstract")}};ie.ExternalLayout=On;let uS=class extends On{constructor(e=1,t){if(!Number.isInteger(e)||0>=e)throw new TypeError("elementSpan must be a (positive) integer");super(-1,t),this.elementSpan=e}isCount(){return!0}decode(e,t=0){Ul(e);const n=e.length-t;return Math.floor(n/this.elementSpan)}encode(e,t,n){return 0}};ie.GreedyCount=uS;let Ab=class extends On{constructor(e,t=0,n){if(!(e instanceof Ot))throw new TypeError("layout must be a Layout");if(!Number.isInteger(t))throw new TypeError("offset must be integer or undefined");super(e.span,n||e.property),this.layout=e,this.offset=t}isCount(){return this.layout instanceof li||this.layout instanceof Si}decode(e,t=0){return this.layout.decode(e,t+this.offset)}encode(e,t,n=0){return this.layout.encode(e,t,n+this.offset)}};ie.OffsetLayout=Ab;let li=class extends Ot{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t=0){return vt(e).readUIntLE(t,this.span)}encode(e,t,n=0){return vt(t).writeUIntLE(e,n,this.span),this.span}};ie.UInt=li;let Si=class extends Ot{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t=0){return vt(e).readUIntBE(t,this.span)}encode(e,t,n=0){return vt(t).writeUIntBE(e,n,this.span),this.span}};ie.UIntBE=Si;let kc=class extends Ot{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t=0){return vt(e).readIntLE(t,this.span)}encode(e,t,n=0){return vt(t).writeIntLE(e,n,this.span),this.span}};ie.Int=kc;let Dl=class extends Ot{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t=0){return vt(e).readIntBE(t,this.span)}encode(e,t,n=0){return vt(t).writeIntBE(e,n,this.span),this.span}};ie.IntBE=Dl;const P1=Math.pow(2,32);function Fp(r){const e=Math.floor(r/P1),t=r-e*P1;return{hi32:e,lo32:t}}function Hp(r,e){return r*P1+e}let lS=class extends Ot{constructor(e){super(8,e)}decode(e,t=0){const n=vt(e),i=n.readUInt32LE(t),s=n.readUInt32LE(t+4);return Hp(s,i)}encode(e,t,n=0){const i=Fp(e),s=vt(t);return s.writeUInt32LE(i.lo32,n),s.writeUInt32LE(i.hi32,n+4),8}};ie.NearUInt64=lS;let fS=class extends Ot{constructor(e){super(8,e)}decode(e,t=0){const n=vt(e),i=n.readUInt32BE(t),s=n.readUInt32BE(t+4);return Hp(i,s)}encode(e,t,n=0){const i=Fp(e),s=vt(t);return s.writeUInt32BE(i.hi32,n),s.writeUInt32BE(i.lo32,n+4),8}};ie.NearUInt64BE=fS;let hS=class extends Ot{constructor(e){super(8,e)}decode(e,t=0){const n=vt(e),i=n.readUInt32LE(t),s=n.readInt32LE(t+4);return Hp(s,i)}encode(e,t,n=0){const i=Fp(e),s=vt(t);return s.writeUInt32LE(i.lo32,n),s.writeInt32LE(i.hi32,n+4),8}};ie.NearInt64=hS;let dS=class extends Ot{constructor(e){super(8,e)}decode(e,t=0){const n=vt(e),i=n.readInt32BE(t),s=n.readUInt32BE(t+4);return Hp(i,s)}encode(e,t,n=0){const i=Fp(e),s=vt(t);return s.writeInt32BE(i.hi32,n),s.writeUInt32BE(i.lo32,n+4),8}};ie.NearInt64BE=dS;let pS=class extends Ot{constructor(e){super(4,e)}decode(e,t=0){return vt(e).readFloatLE(t)}encode(e,t,n=0){return vt(t).writeFloatLE(e,n),4}};ie.Float=pS;let gS=class extends Ot{constructor(e){super(4,e)}decode(e,t=0){return vt(e).readFloatBE(t)}encode(e,t,n=0){return vt(t).writeFloatBE(e,n),4}};ie.FloatBE=gS;let yS=class extends Ot{constructor(e){super(8,e)}decode(e,t=0){return vt(e).readDoubleLE(t)}encode(e,t,n=0){return vt(t).writeDoubleLE(e,n),8}};ie.Double=yS;let mS=class extends Ot{constructor(e){super(8,e)}decode(e,t=0){return vt(e).readDoubleBE(t)}encode(e,t,n=0){return vt(t).writeDoubleBE(e,n),8}};ie.DoubleBE=mS;let wS=class extends Ot{constructor(e,t,n){if(!(e instanceof Ot))throw new TypeError("elementLayout must be a Layout");if(!(t instanceof On&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let i=-1;!(t instanceof On)&&0<e.span&&(i=t*e.span),super(i,n),this.elementLayout=e,this.count=t}getSpan(e,t=0){if(0<=this.span)return this.span;let n=0,i=this.count;if(i instanceof On&&(i=i.decode(e,t)),0<this.elementLayout.span)n=i*this.elementLayout.span;else{let s=0;for(;s<i;)n+=this.elementLayout.getSpan(e,t+n),++s}return n}decode(e,t=0){const n=[];let i=0,s=this.count;for(s instanceof On&&(s=s.decode(e,t));i<s;)n.push(this.elementLayout.decode(e,t)),t+=this.elementLayout.getSpan(e,t),i+=1;return n}encode(e,t,n=0){const i=this.elementLayout,s=e.reduce((o,a)=>o+i.encode(a,t,n+o),0);return this.count instanceof On&&this.count.encode(e.length,t,n),s}};ie.Sequence=wS;let bS=class extends Ot{constructor(e,t,n){if(!(Array.isArray(e)&&e.reduce((s,o)=>s&&o instanceof Ot,!0)))throw new TypeError("fields must be array of Layout instances");typeof t=="boolean"&&n===void 0&&(n=t,t=void 0);for(const s of e)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let i=-1;try{i=e.reduce((s,o)=>s+o.getSpan(),0)}catch{}super(i,t),this.fields=e,this.decodePrefixes=!!n}getSpan(e,t=0){if(0<=this.span)return this.span;let n=0;try{n=this.fields.reduce((i,s)=>{const o=s.getSpan(e,t);return t+=o,i+o},0)}catch{throw new RangeError("indeterminate span")}return n}decode(e,t=0){Ul(e);const n=this.makeDestinationObject();for(const i of this.fields)if(i.property!==void 0&&(n[i.property]=i.decode(e,t)),t+=i.getSpan(e,t),this.decodePrefixes&&e.length===t)break;return n}encode(e,t,n=0){const i=n;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 l=e[a.property];l!==void 0&&(o=a.encode(l,t,n),0>u&&(u=a.getSpan(t,n)))}s=n,n+=u}return s+o-i}fromArray(e){const t=this.makeDestinationObject();for(const n of this.fields)n.property!==void 0&&0<e.length&&(t[n.property]=e.shift());return t}layoutFor(e){if(typeof e!="string")throw new TypeError("property must be string");for(const t of this.fields)if(t.property===e)return t}offsetOf(e){if(typeof e!="string")throw new TypeError("property must be string");let t=0;for(const n of this.fields){if(n.property===e)return t;0>n.span?t=-1:0<=t&&(t+=n.span)}}};ie.Structure=bS;let vb=class{constructor(e){this.property=e}decode(e,t){throw new Error("UnionDiscriminator is abstract")}encode(e,t,n){throw new Error("UnionDiscriminator is abstract")}};ie.UnionDiscriminator=vb;let F0=class extends vb{constructor(e,t){if(!(e instanceof On&&e.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(t||e.property||"variant"),this.layout=e}decode(e,t){return this.layout.decode(e,t)}encode(e,t,n){return this.layout.encode(e,t,n)}};ie.UnionLayoutDiscriminator=F0;let Eb=class extends Ot{constructor(e,t,n){let i;if(e instanceof li||e instanceof Si)i=new F0(new Ab(e));else if(e instanceof On&&e.isCount())i=new F0(e);else if(e instanceof vb)i=e;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(t===void 0&&(t=null),!(t===null||t instanceof Ot))throw new TypeError("defaultLayout must be null or a Layout");if(t!==null){if(0>t.span)throw new Error("defaultLayout must have constant span");t.property===void 0&&(t=t.replicate("content"))}let s=-1;t&&(s=t.span,0<=s&&(e instanceof li||e instanceof Si)&&(s+=i.layout.span)),super(s,n),this.discriminator=i,this.usesPrefixDiscriminator=e instanceof li||e instanceof Si,this.defaultLayout=t,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return o(a)},this.configGetSourceVariant=function(a){o=a.bind(this)}}getSpan(e,t=0){if(0<=this.span)return this.span;const n=this.getVariant(e,t);if(!n)throw new Error("unable to determine span for unrecognized variant");return n.getSpan(e,t)}defaultGetSourceVariant(e){if(Object.prototype.hasOwnProperty.call(e,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(e,this.defaultLayout.property))return;const t=this.registry[e[this.discriminator.property]];if(t&&(!t.layout||t.property&&Object.prototype.hasOwnProperty.call(e,t.property)))return t}else for(const t in this.registry){const n=this.registry[t];if(n.property&&Object.prototype.hasOwnProperty.call(e,n.property))return n}throw new Error("unable to infer src variant")}decode(e,t=0){let n;const i=this.discriminator,s=i.decode(e,t),o=this.registry[s];if(o===void 0){const a=this.defaultLayout;let u=0;this.usesPrefixDiscriminator&&(u=i.layout.span),n=this.makeDestinationObject(),n[i.property]=s,n[a.property]=a.decode(e,t+u)}else n=o.decode(e,t);return n}encode(e,t,n=0){const i=this.getSourceVariant(e);if(i===void 0){const s=this.discriminator,o=this.defaultLayout;let a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(e[s.property],t,n),a+o.encode(e[o.property],t,n+a)}return i.encode(e,t,n)}addVariant(e,t,n){const i=new _S(this,e,t,n);return this.registry[e]=i,i}getVariant(e,t=0){let n;return e instanceof Uint8Array?n=this.discriminator.decode(e,t):n=e,this.registry[n]}};ie.Union=Eb;let _S=class extends Ot{constructor(e,t,n,i){if(!(e instanceof Eb))throw new TypeError("union must be a Union");if(!Number.isInteger(t)||0>t)throw new TypeError("variant must be a (non-negative) integer");if(typeof n=="string"&&i===void 0&&(i=n,n=null),n){if(!(n instanceof Ot))throw new TypeError("layout must be a Layout");if(e.defaultLayout!==null&&0<=n.span&&n.span>e.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=e.span;0>e.span&&(s=n?n.span:0,0<=s&&e.usesPrefixDiscriminator&&(s+=e.discriminator.layout.span)),super(s,i),this.union=e,this.variant=t,this.layout=n||null}getSpan(e,t=0){if(0<=this.span)return this.span;let n=0;this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span);let i=0;return this.layout&&(i=this.layout.getSpan(e,t+n)),n+i}decode(e,t=0){const n=this.makeDestinationObject();if(this!==this.union.getVariant(e,t))throw new Error("variant mismatch");let i=0;return this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout?n[this.property]=this.layout.decode(e,t+i):this.property?n[this.property]=!0:this.union.usesPrefixDiscriminator&&(n[this.union.discriminator.property]=this.variant),n}encode(e,t,n=0){let i=0;if(this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(e,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,t,n);let s=i;if(this.layout&&(this.layout.encode(e[this.property],t,n+i),s+=this.layout.getSpan(t,n+i),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(e){if(this.layout)return this.layout.fromArray(e)}};ie.VariantLayout=_S;function Jc(r){return 0>r&&(r+=4294967296),r}let xb=class extends Ot{constructor(e,t,n){if(!(e instanceof li||e instanceof Si))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof t=="string"&&n===void 0&&(n=t,t=!1),4<e.span)throw new RangeError("word cannot exceed 32 bits");super(e.span,n),this.word=e,this.msb=!!t,this.fields=[];let i=0;this._packedSetValue=function(s){return i=Jc(s),this},this._packedGetValue=function(){return i}}decode(e,t=0){const n=this.makeDestinationObject(),i=this.word.decode(e,t);this._packedSetValue(i);for(const s of this.fields)s.property!==void 0&&(n[s.property]=s.decode(e));return n}encode(e,t,n=0){const i=this.word.decode(t,n);this._packedSetValue(i);for(const s of this.fields)if(s.property!==void 0){const o=e[s.property];o!==void 0&&s.encode(o)}return this.word.encode(this._packedGetValue(),t,n)}addField(e,t){const n=new Rb(this,e,t);return this.fields.push(n),n}addBoolean(e){const t=new AS(this,e);return this.fields.push(t),t}fieldFor(e){if(typeof e!="string")throw new TypeError("property must be string");for(const t of this.fields)if(t.property===e)return t}};ie.BitStructure=xb;let Rb=class{constructor(e,t,n){if(!(e instanceof xb))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(t)||0>=t)throw new TypeError("bits must be positive integer");const i=8*e.span,s=e.fields.reduce((o,a)=>o+a.bits,0);if(t+s>i)throw new Error("bits too long for span remainder ("+(i-s)+" of "+i+" remain)");this.container=e,this.bits=t,this.valueMask=(1<<t)-1,t===32&&(this.valueMask=4294967295),this.start=s,this.container.msb&&(this.start=i-s-t),this.wordMask=Jc(this.valueMask<<this.start),this.property=n}decode(e,t){const n=this.container._packedGetValue();return Jc(n&this.wordMask)>>>this.start}encode(e){if(typeof e!="number"||!Number.isInteger(e)||e!==Jc(e&this.valueMask))throw new TypeError(_b("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const t=this.container._packedGetValue(),n=Jc(e<<this.start);this.container._packedSetValue(Jc(t&~this.wordMask)|n)}};ie.BitField=Rb;let AS=class extends Rb{constructor(e,t){super(e,1,t)}decode(e,t){return!!super.decode(e,t)}encode(e){typeof e=="boolean"&&(e=+e),super.encode(e)}};ie.Boolean=AS;let vS=class extends Ot{constructor(e,t){if(!(e instanceof On&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let n=-1;e instanceof On||(n=e),super(n,t),this.length=e}getSpan(e,t){let n=this.span;return 0>n&&(n=this.length.decode(e,t)),n}decode(e,t=0){let n=this.span;return 0>n&&(n=this.length.decode(e,t)),vt(e).slice(t,t+n)}encode(e,t,n){let i=this.length;if(this.length instanceof On&&(i=e.length),!(e instanceof Uint8Array&&i===e.length))throw new TypeError(_b("Blob.encode",this)+" requires (length "+i+") Uint8Array as src");if(n+i>t.length)throw new RangeError("encoding overruns Uint8Array");const s=vt(e);return vt(t).write(s.toString("hex"),n,i,"hex"),this.length instanceof On&&this.length.encode(i,t,n),i}};ie.Blob=vS;let ES=class extends Ot{constructor(e){super(-1,e)}getSpan(e,t=0){Ul(e);let n=t;for(;n<e.length&&e[n]!==0;)n+=1;return 1+n-t}decode(e,t=0){const n=this.getSpan(e,t);return vt(e).slice(t,t+n-1).toString("utf-8")}encode(e,t,n=0){typeof e!="string"&&(e=String(e));const i=bb.Buffer.from(e,"utf8"),s=i.length;if(n+s>t.length)throw new RangeError("encoding overruns Buffer");const o=vt(t);return i.copy(o,n),o[n+s]=0,s+1}};ie.CString=ES;let xS=class extends Ot{constructor(e,t){if(typeof e=="string"&&t===void 0&&(t=e,e=void 0),e===void 0)e=-1;else if(!Number.isInteger(e))throw new TypeError("maxSpan must be an integer");super(-1,t),this.maxSpan=e}getSpan(e,t=0){return Ul(e),e.length-t}decode(e,t=0){const n=this.getSpan(e,t);if(0<=this.maxSpan&&this.maxSpan<n)throw new RangeError("text length exceeds maxSpan");return vt(e).slice(t,t+n).toString("utf-8")}encode(e,t,n=0){typeof e!="string"&&(e=String(e));const i=bb.Buffer.from(e,"utf8"),s=i.length;if(0<=this.maxSpan&&this.maxSpan<s)throw new RangeError("text length exceeds maxSpan");if(n+s>t.length)throw new RangeError("encoding overruns Buffer");return i.copy(vt(t),n),s}};ie.UTF8=xS;let RS=class extends Ot{constructor(e,t){super(0,t),this.value=e}decode(e,t){return this.value}encode(e,t,n){return 0}};ie.Constant=RS;ie.greedy=(r,e)=>new uS(r,e);var jo=ie.offset=(r,e,t)=>new Ab(r,e,t),mt=ie.u8=r=>new li(1,r),ai=ie.u16=r=>new li(2,r);ie.u24=r=>new li(3,r);var Be=ie.u32=r=>new li(4,r);ie.u40=r=>new li(5,r);ie.u48=r=>new li(6,r);var Kr=ie.nu64=r=>new lS(r);ie.u16be=r=>new Si(2,r);ie.u24be=r=>new Si(3,r);ie.u32be=r=>new Si(4,r);ie.u40be=r=>new Si(5,r);ie.u48be=r=>new Si(6,r);ie.nu64be=r=>new fS(r);ie.s8=r=>new kc(1,r);ie.s16=r=>new kc(2,r);ie.s24=r=>new kc(3,r);ie.s32=r=>new kc(4,r);ie.s40=r=>new kc(5,r);ie.s48=r=>new kc(6,r);var Wn=ie.ns64=r=>new hS(r);ie.s16be=r=>new Dl(2,r);ie.s24be=r=>new Dl(3,r);ie.s32be=r=>new Dl(4,r);ie.s40be=r=>new Dl(5,r);ie.s48be=r=>new Dl(6,r);ie.ns64be=r=>new dS(r);ie.f32=r=>new pS(r);ie.f32be=r=>new gS(r);ie.f64=r=>new yS(r);ie.f64be=r=>new mS(r);var Pe=ie.struct=(r,e,t)=>new bS(r,e,t);ie.bits=(r,e,t)=>new xb(r,e,t);var Jr=ie.seq=(r,e,t)=>new wS(r,e,t);ie.union=(r,e,t)=>new Eb(r,e,t);ie.unionLayoutDiscriminator=(r,e)=>new F0(r,e);var Kt=ie.blob=(r,e)=>new vS(r,e);ie.cstr=r=>new ES(r);ie.utf8=(r,e)=>new xS(r,e);ie.constant=(r,e)=>new RS(r,e);var nd={};Object.defineProperty(nd,"__esModule",{value:!0});function IZ(r){{const e=Qe.from(r);e.reverse();const t=e.toString("hex");return t.length===0?BigInt(0):BigInt(`0x${t}`)}}var SZ=nd.toBigIntLE=IZ;function kZ(r){{const e=r.toString("hex");return e.length===0?BigInt(0):BigInt(`0x${e}`)}}nd.toBigIntBE=kZ;function TZ(r,e){{const t=r.toString(16),n=Qe.from(t.padStart(e*2,"0").slice(0,e*2),"hex");return n.reverse(),n}}var IS=nd.toBufferLE=TZ;function OZ(r,e){{const t=r.toString(16);return Qe.from(t.padStart(e*2,"0").slice(0,e*2),"hex")}}nd.toBufferBE=OZ;let NZ=class extends TypeError{constructor(e,t){let n;const{message:i,explanation:s,...o}=e,{path:a}=e,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=()=>n??(n=[e,...t()])}};function CZ(r){return id(r)&&typeof r[Symbol.iterator]=="function"}function id(r){return typeof r=="object"&&r!=null}function H0(r){return id(r)&&!Array.isArray(r)}function Ti(r){return typeof r=="symbol"?r.toString():typeof r=="string"?JSON.stringify(r):`${r}`}function BZ(r){const{done:e,value:t}=r.next();return e?void 0:t}function PZ(r,e,t,n){if(r===!0)return;r===!1?r={}:typeof r=="string"&&(r={message:r});const{path:i,branch:s}=e,{type:o}=t,{refinement:a,message:u=`Expected a value of type \`${o}\`${a?` with refinement \`${a}\``:""}, but received: \`${Ti(n)}\``}=r;return{value:n,type:o,refinement:a,key:i[i.length-1],path:i,branch:s,...r,message:u}}function*SE(r,e,t,n){CZ(r)||(r=[r]);for(const i of r){const s=PZ(i,e,t,n);s&&(yield s)}}function*Ib(r,e,t={}){const{path:n=[],branch:i=[r],coerce:s=!1,mask:o=!1}=t,a={path:n,branch:i,mask:o};s&&(r=e.coercer(r,a));let u="valid";for(const l of e.validator(r,a))l.explanation=t.message,u="not_valid",yield[l,void 0];for(let[l,h,g]of e.entries(r,a)){const b=Ib(h,g,{path:l===void 0?n:[...n,l],branch:l===void 0?i:[...i,h],coerce:s,mask:o,message:t.message});for(const w of b)w[0]?(u=w[0].refinement!=null?"not_refined":"not_valid",yield[w[0],void 0]):s&&(h=w[1],l===void 0?r=h:r instanceof Map?r.set(l,h):r instanceof Set?r.add(h):id(r)&&(h!==void 0||l in r)&&(r[l]=h))}if(u!=="not_valid")for(const l of e.refiner(r,a))l.explanation=t.message,u="not_refined",yield[l,void 0];u==="valid"&&(yield[void 0,r])}let gs=class{constructor(e){const{type:t,schema:n,validator:i,refiner:s,coercer:o=u=>u,entries:a=function*(){}}=e;this.type=t,this.schema=n,this.entries=a,this.coercer=o,i?this.validator=(u,l)=>{const h=i(u,l);return SE(h,l,this,u)}:this.validator=()=>[],s?this.refiner=(u,l)=>{const h=s(u,l);return SE(h,l,this,u)}:this.refiner=()=>[]}assert(e,t){return SS(e,this,t)}create(e,t){return Ae(e,this,t)}is(e){return kS(e,this)}mask(e,t){return MZ(e,this,t)}validate(e,t={}){return sd(e,this,t)}};function SS(r,e,t){const n=sd(r,e,{message:t});if(n[0])throw n[0]}function Ae(r,e,t){const n=sd(r,e,{coerce:!0,message:t});if(n[0])throw n[0];return n[1]}function MZ(r,e,t){const n=sd(r,e,{coerce:!0,mask:!0,message:t});if(n[0])throw n[0];return n[1]}function kS(r,e){return!sd(r,e)[0]}function sd(r,e,t={}){const n=Ib(r,e,t),i=BZ(n);return i[0]?[new NZ(i[0],function*(){for(const o of n)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function Tc(r,e){return new gs({type:r,schema:null,validator:e})}function LZ(){return Tc("any",()=>!0)}function Re(r){return new gs({type:"array",schema:r,*entries(e){if(r&&Array.isArray(e))for(const[t,n]of e.entries())yield[t,n,r]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||`Expected an array value, but received: ${Ti(e)}`}})}function hs(){return Tc("boolean",r=>typeof r=="boolean")}function Sb(r){return Tc("instance",e=>e instanceof r||`Expected a \`${r.name}\` instance, but received: ${Ti(e)}`)}function nr(r){const e=Ti(r),t=typeof r;return new gs({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?r:null,validator(n){return n===r||`Expected the literal \`${e}\`, but received: ${Ti(n)}`}})}function UZ(){return Tc("never",()=>!1)}function Ie(r){return new gs({...r,validator:(e,t)=>e===null||r.validator(e,t),refiner:(e,t)=>e===null||r.refiner(e,t)})}function X(){return Tc("number",r=>typeof r=="number"&&!isNaN(r)||`Expected a number, but received: ${Ti(r)}`)}function Fe(r){return new gs({...r,validator:(e,t)=>e===void 0||r.validator(e,t),refiner:(e,t)=>e===void 0||r.refiner(e,t)})}function TS(r,e){return new gs({type:"record",schema:null,*entries(t){if(id(t))for(const n in t){const i=t[n];yield[n,n,r],yield[n,i,e]}},validator(t){return H0(t)||`Expected an object, but received: ${Ti(t)}`},coercer(t){return H0(t)?{...t}:t}})}function _e(){return Tc("string",r=>typeof r=="string"||`Expected a string, but received: ${Ti(r)}`)}function kb(r){const e=UZ();return new gs({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const n=Math.max(r.length,t.length);for(let i=0;i<n;i++)yield[i,t[i],r[i]||e]}},validator(t){return Array.isArray(t)||`Expected an array, but received: ${Ti(t)}`},coercer(t){return Array.isArray(t)?t.slice():t}})}function ge(r){const e=Object.keys(r);return new gs({type:"type",schema:r,*entries(t){if(id(t))for(const n of e)yield[n,t[n],r[n]]},validator(t){return H0(t)||`Expected an object, but received: ${Ti(t)}`},coercer(t){return H0(t)?{...t}:t}})}function vn(r){const e=r.map(t=>t.type).join(" | ");return new gs({type:"union",schema:null,coercer(t,n){for(const i of r){const[s,o]=i.validate(t,{coerce:!0,mask:n.mask});if(!s)return o}return t},validator(t,n){const i=[];for(const s of r){const[...o]=Ib(t,s,n),[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 \`${e}\`, but received: ${Ti(t)}`,...i]}})}function $l(){return Tc("unknown",()=>!0)}function od(r,e,t){return new gs({...r,coercer:(n,i)=>kS(n,e)?r.coercer(t(n,i),i):r.coercer(n,i)})}var Hd,DZ=new Uint8Array(16);function OS(){if(!Hd&&(Hd=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Hd))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Hd(DZ)}const $Z=/^(?:[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 zp(r){return typeof r=="string"&&$Z.test(r)}var Gr=[];for(var Rm=0;Rm<256;++Rm)Gr.push((Rm+256).toString(16).substr(1));function Gp(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=(Gr[r[e+0]]+Gr[r[e+1]]+Gr[r[e+2]]+Gr[r[e+3]]+"-"+Gr[r[e+4]]+Gr[r[e+5]]+"-"+Gr[r[e+6]]+Gr[r[e+7]]+"-"+Gr[r[e+8]]+Gr[r[e+9]]+"-"+Gr[r[e+10]]+Gr[r[e+11]]+Gr[r[e+12]]+Gr[r[e+13]]+Gr[r[e+14]]+Gr[r[e+15]]).toLowerCase();if(!zp(t))throw TypeError("Stringified UUID is invalid");return t}var kE,Im,Sm=0,km=0;function FZ(r,e,t){var n=e&&t||0,i=e||new Array(16);r=r||{};var s=r.node||kE,o=r.clockseq!==void 0?r.clockseq:Im;if(s==null||o==null){var a=r.random||(r.rng||OS)();s==null&&(s=kE=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),o==null&&(o=Im=(a[6]<<8|a[7])&16383)}var u=r.msecs!==void 0?r.msecs:Date.now(),l=r.nsecs!==void 0?r.nsecs:km+1,h=u-Sm+(l-km)/1e4;if(h<0&&r.clockseq===void 0&&(o=o+1&16383),(h<0||u>Sm)&&r.nsecs===void 0&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Sm=u,km=l,Im=o,u+=122192928e5;var g=((u&268435455)*1e4+l)%4294967296;i[n++]=g>>>24&255,i[n++]=g>>>16&255,i[n++]=g>>>8&255,i[n++]=g&255;var b=u/4294967296*1e4&268435455;i[n++]=b>>>8&255,i[n++]=b&255,i[n++]=b>>>24&15|16,i[n++]=b>>>16&255,i[n++]=o>>>8|128,i[n++]=o&255;for(var w=0;w<6;++w)i[n+w]=s[w];return e||Gp(i)}function NS(r){if(!zp(r))throw TypeError("Invalid UUID");var e,t=new Uint8Array(16);return t[0]=(e=parseInt(r.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(r.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(r.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(r.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(r.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}function HZ(r){r=unescape(encodeURIComponent(r));for(var e=[],t=0;t<r.length;++t)e.push(r.charCodeAt(t));return e}var zZ="6ba7b810-9dad-11d1-80b4-00c04fd430c8",GZ="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function CS(r,e,t){function n(i,s,o,a){if(typeof i=="string"&&(i=HZ(i)),typeof s=="string"&&(s=NS(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=t(u),u[6]=u[6]&15|e,u[8]=u[8]&63|128,o){a=a||0;for(var l=0;l<16;++l)o[a+l]=u[l];return o}return Gp(u)}try{n.name=r}catch{}return n.DNS=zZ,n.URL=GZ,n}function KZ(r){if(typeof r=="string"){var e=unescape(encodeURIComponent(r));r=new Uint8Array(e.length);for(var t=0;t<e.length;++t)r[t]=e.charCodeAt(t)}return WZ(jZ(VZ(r),r.length*8))}function WZ(r){for(var e=[],t=r.length*32,n="0123456789abcdef",i=0;i<t;i+=8){var s=r[i>>5]>>>i%32&255,o=parseInt(n.charAt(s>>>4&15)+n.charAt(s&15),16);e.push(o)}return e}function BS(r){return(r+64>>>9<<4)+14+1}function jZ(r,e){r[e>>5]|=128<<e%32,r[BS(e)-1]=e;for(var t=1732584193,n=-271733879,i=-1732584194,s=271733878,o=0;o<r.length;o+=16){var a=t,u=n,l=i,h=s;t=tn(t,n,i,s,r[o],7,-680876936),s=tn(s,t,n,i,r[o+1],12,-389564586),i=tn(i,s,t,n,r[o+2],17,606105819),n=tn(n,i,s,t,r[o+3],22,-1044525330),t=tn(t,n,i,s,r[o+4],7,-176418897),s=tn(s,t,n,i,r[o+5],12,1200080426),i=tn(i,s,t,n,r[o+6],17,-1473231341),n=tn(n,i,s,t,r[o+7],22,-45705983),t=tn(t,n,i,s,r[o+8],7,1770035416),s=tn(s,t,n,i,r[o+9],12,-1958414417),i=tn(i,s,t,n,r[o+10],17,-42063),n=tn(n,i,s,t,r[o+11],22,-1990404162),t=tn(t,n,i,s,r[o+12],7,1804603682),s=tn(s,t,n,i,r[o+13],12,-40341101),i=tn(i,s,t,n,r[o+14],17,-1502002290),n=tn(n,i,s,t,r[o+15],22,1236535329),t=rn(t,n,i,s,r[o+1],5,-165796510),s=rn(s,t,n,i,r[o+6],9,-1069501632),i=rn(i,s,t,n,r[o+11],14,643717713),n=rn(n,i,s,t,r[o],20,-373897302),t=rn(t,n,i,s,r[o+5],5,-701558691),s=rn(s,t,n,i,r[o+10],9,38016083),i=rn(i,s,t,n,r[o+15],14,-660478335),n=rn(n,i,s,t,r[o+4],20,-405537848),t=rn(t,n,i,s,r[o+9],5,568446438),s=rn(s,t,n,i,r[o+14],9,-1019803690),i=rn(i,s,t,n,r[o+3],14,-187363961),n=rn(n,i,s,t,r[o+8],20,1163531501),t=rn(t,n,i,s,r[o+13],5,-1444681467),s=rn(s,t,n,i,r[o+2],9,-51403784),i=rn(i,s,t,n,r[o+7],14,1735328473),n=rn(n,i,s,t,r[o+12],20,-1926607734),t=nn(t,n,i,s,r[o+5],4,-378558),s=nn(s,t,n,i,r[o+8],11,-2022574463),i=nn(i,s,t,n,r[o+11],16,1839030562),n=nn(n,i,s,t,r[o+14],23,-35309556),t=nn(t,n,i,s,r[o+1],4,-1530992060),s=nn(s,t,n,i,r[o+4],11,1272893353),i=nn(i,s,t,n,r[o+7],16,-155497632),n=nn(n,i,s,t,r[o+10],23,-1094730640),t=nn(t,n,i,s,r[o+13],4,681279174),s=nn(s,t,n,i,r[o],11,-358537222),i=nn(i,s,t,n,r[o+3],16,-722521979),n=nn(n,i,s,t,r[o+6],23,76029189),t=nn(t,n,i,s,r[o+9],4,-640364487),s=nn(s,t,n,i,r[o+12],11,-421815835),i=nn(i,s,t,n,r[o+15],16,530742520),n=nn(n,i,s,t,r[o+2],23,-995338651),t=sn(t,n,i,s,r[o],6,-198630844),s=sn(s,t,n,i,r[o+7],10,1126891415),i=sn(i,s,t,n,r[o+14],15,-1416354905),n=sn(n,i,s,t,r[o+5],21,-57434055),t=sn(t,n,i,s,r[o+12],6,1700485571),s=sn(s,t,n,i,r[o+3],10,-1894986606),i=sn(i,s,t,n,r[o+10],15,-1051523),n=sn(n,i,s,t,r[o+1],21,-2054922799),t=sn(t,n,i,s,r[o+8],6,1873313359),s=sn(s,t,n,i,r[o+15],10,-30611744),i=sn(i,s,t,n,r[o+6],15,-1560198380),n=sn(n,i,s,t,r[o+13],21,1309151649),t=sn(t,n,i,s,r[o+4],6,-145523070),s=sn(s,t,n,i,r[o+11],10,-1120210379),i=sn(i,s,t,n,r[o+2],15,718787259),n=sn(n,i,s,t,r[o+9],21,-343485551),t=Ko(t,a),n=Ko(n,u),i=Ko(i,l),s=Ko(s,h)}return[t,n,i,s]}function VZ(r){if(r.length===0)return[];for(var e=r.length*8,t=new Uint32Array(BS(e)),n=0;n<e;n+=8)t[n>>5]|=(r[n/8]&255)<<n%32;return t}function Ko(r,e){var t=(r&65535)+(e&65535),n=(r>>16)+(e>>16)+(t>>16);return n<<16|t&65535}function qZ(r,e){return r<<e|r>>>32-e}function Kp(r,e,t,n,i,s){return Ko(qZ(Ko(Ko(e,r),Ko(n,s)),i),t)}function tn(r,e,t,n,i,s,o){return Kp(e&t|~e&n,r,e,i,s,o)}function rn(r,e,t,n,i,s,o){return Kp(e&n|t&~n,r,e,i,s,o)}function nn(r,e,t,n,i,s,o){return Kp(e^t^n,r,e,i,s,o)}function sn(r,e,t,n,i,s,o){return Kp(t^(e|~n),r,e,i,s,o)}var ZZ=CS("v3",48,KZ);function QZ(r,e,t){r=r||{};var n=r.random||(r.rng||OS)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){t=t||0;for(var i=0;i<16;++i)e[t+i]=n[i];return e}return Gp(n)}function JZ(r,e,t,n){switch(r){case 0:return e&t^~e&n;case 1:return e^t^n;case 2:return e&t^e&n^t&n;case 3:return e^t^n}}function Tm(r,e){return r<<e|r>>>32-e}function YZ(r){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof r=="string"){var n=unescape(encodeURIComponent(r));r=[];for(var i=0;i<n.length;++i)r.push(n.charCodeAt(i))}else Array.isArray(r)||(r=Array.prototype.slice.call(r));r.push(128);for(var s=r.length/4+2,o=Math.ceil(s/16),a=new Array(o),u=0;u<o;++u){for(var l=new Uint32Array(16),h=0;h<16;++h)l[h]=r[u*64+h*4]<<24|r[u*64+h*4+1]<<16|r[u*64+h*4+2]<<8|r[u*64+h*4+3];a[u]=l}a[o-1][14]=(r.length-1)*8/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=(r.length-1)*8&4294967295;for(var g=0;g<o;++g){for(var b=new Uint32Array(80),w=0;w<16;++w)b[w]=a[g][w];for(var I=16;I<80;++I)b[I]=Tm(b[I-3]^b[I-8]^b[I-14]^b[I-16],1);for(var S=t[0],x=t[1],C=t[2],H=t[3],D=t[4],z=0;z<80;++z){var V=Math.floor(z/20),Z=Tm(S,5)+JZ(V,x,C,H)+D+e[V]+b[z]>>>0;D=H,H=C,C=Tm(x,30)>>>0,x=S,S=Z}t[0]=t[0]+S>>>0,t[1]=t[1]+x>>>0,t[2]=t[2]+C>>>0,t[3]=t[3]+H>>>0,t[4]=t[4]+D>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var XZ=CS("v5",80,YZ);const eQ="00000000-0000-0000-0000-000000000000";function tQ(r){if(!zp(r))throw TypeError("Invalid UUID");return parseInt(r.substr(14,1),16)}const rQ=Object.freeze(Object.defineProperty({__proto__:null,NIL:eQ,parse:NS,stringify:Gp,v1:FZ,v3:ZZ,v4:QZ,v5:XZ,validate:zp,version:tQ},Symbol.toStringTag,{value:"Module"})),PS=yp(rQ),nQ=PS.v4,iQ=function(r,e,t,n){if(typeof r!="string")throw new TypeError(r+" must be a string");n=n||{};const i=typeof n.version=="number"?n.version:2;if(i!==1&&i!==2)throw new TypeError(i+" must be 1 or 2");const s={method:r};if(i===2&&(s.jsonrpc="2.0"),e){if(typeof e!="object"&&!Array.isArray(e))throw new TypeError(e+" must be an object, array or omitted");s.params=e}if(typeof t>"u"){const o=typeof n.generator=="function"?n.generator:function(){return nQ()};s.id=o(s,n)}else i===2&&t===null?n.notificationIdNull&&(s.id=null):s.id=t;return s};var sQ=iQ;const oQ=PS.v4,aQ=sQ,uh=function(r,e){if(!(this instanceof uh))return new uh(r,e);e||(e={}),this.options={reviver:typeof e.reviver<"u"?e.reviver:null,replacer:typeof e.replacer<"u"?e.replacer:null,generator:typeof e.generator<"u"?e.generator:function(){return oQ()},version:typeof e.version<"u"?e.version:2,notificationIdNull:typeof e.notificationIdNull=="boolean"?e.notificationIdNull:!1},this.callServer=r};var cQ=uh;uh.prototype.request=function(r,e,t,n){const i=this;let s=null;const o=Array.isArray(r)&&typeof e=="function";if(this.options.version===1&&o)throw new TypeError("JSON-RPC 1.0 does not support batching");if(o||!o&&r&&typeof r=="object"&&typeof e=="function")n=e,s=r;else{typeof t=="function"&&(n=t,t=void 0);const l=typeof n=="function";try{s=aQ(r,e,t,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(h){if(l)return n(h);throw h}if(!l)return s}let u;try{u=JSON.stringify(s,this.options.replacer)}catch(l){return n(l)}return this.callServer(u,function(l,h){i._parseResponse(l,h,n)}),s};uh.prototype._parseResponse=function(r,e,t){if(r){t(r);return}if(!e)return t();let n;try{n=JSON.parse(e,this.options.reviver)}catch(i){return t(i)}if(t.length===3)if(Array.isArray(n)){const i=function(o){return typeof o.error<"u"},s=function(o){return!i(o)};return t(null,n.filter(i),n.filter(s))}else return t(null,n.error,n.result);t(null,n)};const uQ=no(cQ);var MS={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(u,l,h){this.fn=u,this.context=l,this.once=h||!1}function s(u,l,h,g,b){if(typeof h!="function")throw new TypeError("The listener must be a function");var w=new i(h,g||u,b),I=t?t+l:l;return u._events[I]?u._events[I].fn?u._events[I]=[u._events[I],w]:u._events[I].push(w):(u._events[I]=w,u._eventsCount++),u}function o(u,l){--u._eventsCount===0?u._events=new n:delete u._events[l]}function a(){this._events=new n,this._eventsCount=0}a.prototype.eventNames=function(){var l=[],h,g;if(this._eventsCount===0)return l;for(g in h=this._events)e.call(h,g)&&l.push(t?g.slice(1):g);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(h)):l},a.prototype.listeners=function(l){var h=t?t+l:l,g=this._events[h];if(!g)return[];if(g.fn)return[g.fn];for(var b=0,w=g.length,I=new Array(w);b<w;b++)I[b]=g[b].fn;return I},a.prototype.listenerCount=function(l){var h=t?t+l:l,g=this._events[h];return g?g.fn?1:g.length:0},a.prototype.emit=function(l,h,g,b,w,I){var S=t?t+l:l;if(!this._events[S])return!1;var x=this._events[S],C=arguments.length,H,D;if(x.fn){switch(x.once&&this.removeListener(l,x.fn,void 0,!0),C){case 1:return x.fn.call(x.context),!0;case 2:return x.fn.call(x.context,h),!0;case 3:return x.fn.call(x.context,h,g),!0;case 4:return x.fn.call(x.context,h,g,b),!0;case 5:return x.fn.call(x.context,h,g,b,w),!0;case 6:return x.fn.call(x.context,h,g,b,w,I),!0}for(D=1,H=new Array(C-1);D<C;D++)H[D-1]=arguments[D];x.fn.apply(x.context,H)}else{var z=x.length,V;for(D=0;D<z;D++)switch(x[D].once&&this.removeListener(l,x[D].fn,void 0,!0),C){case 1:x[D].fn.call(x[D].context);break;case 2:x[D].fn.call(x[D].context,h);break;case 3:x[D].fn.call(x[D].context,h,g);break;case 4:x[D].fn.call(x[D].context,h,g,b);break;default:if(!H)for(V=1,H=new Array(C-1);V<C;V++)H[V-1]=arguments[V];x[D].fn.apply(x[D].context,H)}}return!0},a.prototype.on=function(l,h,g){return s(this,l,h,g,!1)},a.prototype.once=function(l,h,g){return s(this,l,h,g,!0)},a.prototype.removeListener=function(l,h,g,b){var w=t?t+l:l;if(!this._events[w])return this;if(!h)return o(this,w),this;var I=this._events[w];if(I.fn)I.fn===h&&(!b||I.once)&&(!g||I.context===g)&&o(this,w);else{for(var S=0,x=[],C=I.length;S<C;S++)(I[S].fn!==h||b&&!I[S].once||g&&I[S].context!==g)&&x.push(I[S]);x.length?this._events[w]=x.length===1?x[0]:x:o(this,w)}return this},a.prototype.removeAllListeners=function(l){var h;return l?(h=t?t+l:l,this._events[h]&&o(this,h)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=t,a.EventEmitter=a,r.exports=a})(MS);var lQ=MS.exports;const LS=no(lQ);var fQ=class extends LS{constructor(e,t,n){super();Q(this,"socket");this.socket=new window.WebSocket(e,n),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(e,t,n){const i=n||t;try{this.socket.send(e),i()}catch(s){i(s)}}close(e,t){this.socket.close(e,t)}addEventListener(e,t,n){this.socket.addEventListener(e,t,n)}};function hQ(r,e){return new fQ(r,e)}var dQ=class{encode(r){return JSON.stringify(r)}decode(r){return JSON.parse(r)}},pQ=class extends LS{constructor(e,t="ws://localhost:8080",{autoconnect:n=!0,reconnect:i=!0,reconnect_interval:s=1e3,max_reconnects:o=5,...a}={},u,l){super();Q(this,"address");Q(this,"rpc_id");Q(this,"queue");Q(this,"options");Q(this,"autoconnect");Q(this,"ready");Q(this,"reconnect");Q(this,"reconnect_timer_id");Q(this,"reconnect_interval");Q(this,"max_reconnects");Q(this,"rest_options");Q(this,"current_reconnects");Q(this,"generate_request_id");Q(this,"socket");Q(this,"webSocketFactory");Q(this,"dataPack");this.webSocketFactory=e,this.queue={},this.rpc_id=0,this.address=t,this.autoconnect=n,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),l?this.dataPack=l:this.dataPack=new dQ,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(e,t,n,i){return!i&&typeof n=="object"&&(i=n,n=null),new Promise((s,o)=>{if(!this.ready)return o(new Error("socket not ready"));const a=this.generate_request_id(e,t),u={jsonrpc:"2.0",method:e,params:t||void 0,id:a};this.socket.send(this.dataPack.encode(u),i,l=>{if(l)return o(l);this.queue[a]={promise:[s,o]},n&&(this.queue[a].timeout=setTimeout(()=>{delete this.queue[a],o(new Error("reply timeout"))},n))})})}async login(e){const t=await this.call("rpc.login",e);if(!t)throw new Error("authentication failed");return t}async listMethods(){return await this.call("__listMethods")}notify(e,t){return new Promise((n,i)=>{if(!this.ready)return i(new Error("socket not ready"));const s={jsonrpc:"2.0",method:e,params:t};this.socket.send(this.dataPack.encode(s),o=>{if(o)return i(o);n()})})}async subscribe(e){typeof e=="string"&&(e=[e]);const t=await this.call("rpc.on",e);if(typeof e=="string"&&t[e]!=="ok")throw new Error("Failed subscribing to an event '"+e+"' with: "+t[e]);return t}async unsubscribe(e){typeof e=="string"&&(e=[e]);const t=await this.call("rpc.off",e);if(typeof e=="string"&&t[e]!=="ok")throw new Error("Failed unsubscribing from an event with: "+t);return t}close(e,t){this.socket.close(e||1e3,t)}setAutoReconnect(e){this.reconnect=e}setReconnectInterval(e){this.reconnect_interval=e}setMaxReconnects(e){this.max_reconnects=e}_connect(e,t){clearTimeout(this.reconnect_timer_id),this.socket=this.webSocketFactory(e,t),this.socket.addEventListener("open",()=>{this.ready=!0,this.emit("open"),this.current_reconnects=0}),this.socket.addEventListener("message",({data:n})=>{n instanceof ArrayBuffer&&(n=Ne.from(n).toString());try{n=this.dataPack.decode(n)}catch{return}if(n.notification&&this.listeners(n.notification).length){if(!Object.keys(n.params).length)return this.emit(n.notification);const i=[n.notification];if(n.params.constructor===Object)i.push(n.params);else for(let s=0;s<n.params.length;s++)i.push(n.params[s]);return Promise.resolve().then(()=>{this.emit.apply(this,i)})}if(!this.queue[n.id])return n.method?Promise.resolve().then(()=>{this.emit(n.method,n==null?void 0:n.params)}):void 0;"error"in n=="result"in n&&this.queue[n.id].promise[1](new Error('Server response malformed. Response must include either "result" or "error", but not both.')),this.queue[n.id].timeout&&clearTimeout(this.queue[n.id].timeout),n.error?this.queue[n.id].promise[1](n.error):this.queue[n.id].promise[0](n.result),delete this.queue[n.id]}),this.socket.addEventListener("error",n=>this.emit("error",n)),this.socket.addEventListener("close",({code:n,reason:i})=>{this.ready&&setTimeout(()=>this.emit("close",n,i),0),this.ready=!1,this.socket=void 0,n!==1e3&&(this.current_reconnects++,this.reconnect&&(this.max_reconnects>this.current_reconnects||this.max_reconnects===0)&&(this.reconnect_timer_id=setTimeout(()=>this._connect(e,t),this.reconnect_interval)))})}};const US=[],DS=[],$S=[],gQ=BigInt(0),xf=BigInt(1),yQ=BigInt(2),mQ=BigInt(7),wQ=BigInt(256),bQ=BigInt(113);for(let r=0,e=xf,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],US.push(2*(5*n+t)),DS.push((r+1)*(r+2)/2%64);let i=gQ;for(let s=0;s<7;s++)e=(e<<xf^(e>>mQ)*bQ)%wQ,e&yQ&&(i^=xf<<(xf<<BigInt(s))-xf);$S.push(i)}const[_Q,AQ]=FI($S,!0),TE=(r,e,t)=>t>32?GI(r,e,t):HI(r,e,t),OE=(r,e,t)=>t>32?KI(r,e,t):zI(r,e,t);function vQ(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,u=(o+2)%10,l=t[u],h=t[u+1],g=TE(l,h,1)^t[a],b=OE(l,h,1)^t[a+1];for(let w=0;w<50;w+=10)r[o+w]^=g,r[o+w+1]^=b}let i=r[2],s=r[3];for(let o=0;o<24;o++){const a=DS[o],u=TE(i,s,a),l=OE(i,s,a),h=US[o];i=r[h],s=r[h+1],r[h]=u,r[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=_Q[n],r[1]^=AQ[n]}t.fill(0)}let EQ=class FS extends fb{constructor(e,t,n,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,M0(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=qV(this.state)}keccak(){wE||bE(this.state32),vQ(this.state32,this.rounds),wE||bE(this.state32),this.posOut=0,this.pos=0}update(e){fl(this);const{blockLen:t,state:n}=this;e=Pp(e);const i=e.length;for(let s=0;s<i;){const o=Math.min(t-this.pos,i-s);for(let a=0;a<o;a++)n[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:n,blockLen:i}=this;e[n]^=t,t&128&&n===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){fl(this,!1),td(e),this.finish();const t=this.state,{blockLen:n}=this;for(let i=0,s=e.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return M0(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(LI(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return e||(e=new FS(t,n,i,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=n,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const xQ=(r,e,t)=>hb(()=>new EQ(e,r,t)),NE=xQ(1,136,256/8);let HS=class extends fb{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,VV(e);const n=Pp(t);if(this.iHash=e.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(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return fl(this),this.iHash.update(e),this}digestInto(e){fl(this),td(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const zS=(r,e,t)=>new HS(r,e).update(t).digest();zS.create=(r,e)=>new HS(r,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function CE(r){r.lowS!==void 0&&Qs("lowS",r.lowS),r.prehash!==void 0&&Qs("prehash",r.prehash)}function RQ(r){const e=gb(r);Ml(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:i}=e;if(t){if(!n.eql(i,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:IQ,hexToBytes:SQ}=Oq;class kQ extends Error{constructor(e=""){super(e)}}const Ss={Err:kQ,_tlv:{encode:(r,e)=>{const{Err:t}=Ss;if(r<0||r>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");const n=e.length/2,i=nu(n);if(i.length/2&128)throw new t("tlv.encode: long form length too big");const s=n>127?nu(i.length/2|128):"";return nu(r)+s+i+e},decode(r,e){const{Err:t}=Ss;let n=0;if(r<0||r>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[n++]!==r)throw new t("tlv.decode: wrong tlv");const i=e[n++],s=!!(i&128);let o=0;if(!s)o=i;else{const u=i&127;if(!u)throw new t("tlv.decode(long): indefinite length not supported");if(u>4)throw new t("tlv.decode(long): byte length is too big");const l=e.subarray(n,n+u);if(l.length!==u)throw new t("tlv.decode: length bytes not complete");if(l[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const h of l)o=o<<8|h;if(n+=u,o<128)throw new t("tlv.decode(long): not minimal encoding")}const a=e.subarray(n,n+o);if(a.length!==o)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+o)}}},_int:{encode(r){const{Err:e}=Ss;if(r<Ws)throw new e("integer: negative integers are not allowed");let t=nu(r);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(r){const{Err:e}=Ss;if(r[0]&128)throw new e("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return IQ(r)}},toSig(r){const{Err:e,_int:t,_tlv:n}=Ss,i=typeof r=="string"?SQ(r):r;rd(i);const{v:s,l:o}=n.decode(48,i);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:u}=n.decode(2,s),{v:l,l:h}=n.decode(2,u);if(h.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(l)}},hexFromSig(r){const{_tlv:e,_int:t}=Ss,n=e.encode(2,t.encode(r.r)),i=e.encode(2,t.encode(r.s)),s=n+i;return e.encode(48,s)}},Ws=BigInt(0),Lr=BigInt(1);BigInt(2);const BE=BigInt(3);BigInt(4);function TQ(r){const e=RQ(r),{Fp:t}=e,n=Dp(e.n,e.nBitLength),i=e.toBytes||((S,x,C)=>{const H=x.toAffine();return pc(Uint8Array.from([4]),t.toBytes(H.x),t.toBytes(H.y))}),s=e.fromBytes||(S=>{const x=S.subarray(1),C=t.fromBytes(x.subarray(0,t.BYTES)),H=t.fromBytes(x.subarray(t.BYTES,2*t.BYTES));return{x:C,y:H}});function o(S){const{a:x,b:C}=e,H=t.sqr(S),D=t.mul(H,S);return t.add(t.add(D,t.mul(S,x)),C)}if(!t.eql(t.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function a(S){return Up(S,Lr,e.n)}function u(S){const{allowedPrivateKeyLengths:x,nByteLength:C,wrapPrivateKey:H,n:D}=e;if(x&&typeof S!="bigint"){if(hc(S)&&(S=dc(S)),typeof S!="string"||!x.includes(S.length))throw new Error("invalid private key");S=S.padStart(C*2,"0")}let z;try{z=typeof S=="bigint"?S:ic(Sr("private key",S,C))}catch{throw new Error("invalid private key, expected hex or "+C+" bytes, got "+typeof S)}return H&&(z=Jt(z,D)),ci("private key",z,Lr,D),z}function l(S){if(!(S instanceof b))throw new Error("ProjectivePoint expected")}const h=ch((S,x)=>{const{px:C,py:H,pz:D}=S;if(t.eql(D,t.ONE))return{x:C,y:H};const z=S.is0();x==null&&(x=z?t.ONE:t.inv(D));const V=t.mul(C,x),Z=t.mul(H,x),K=t.mul(D,x);if(z)return{x:t.ZERO,y:t.ZERO};if(!t.eql(K,t.ONE))throw new Error("invZ was invalid");return{x:V,y:Z}}),g=ch(S=>{if(S.is0()){if(e.allowInfinityPoint&&!t.is0(S.py))return;throw new Error("bad point: ZERO")}const{x,y:C}=S.toAffine();if(!t.isValid(x)||!t.isValid(C))throw new Error("bad point: x or y not FE");const H=t.sqr(C),D=o(x);if(!t.eql(H,D))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class b{constructor(x,C,H){if(this.px=x,this.py=C,this.pz=H,x==null||!t.isValid(x))throw new Error("x required");if(C==null||!t.isValid(C))throw new Error("y required");if(H==null||!t.isValid(H))throw new Error("z required");Object.freeze(this)}static fromAffine(x){const{x:C,y:H}=x||{};if(!x||!t.isValid(C)||!t.isValid(H))throw new Error("invalid affine point");if(x instanceof b)throw new Error("projective point not allowed");const D=z=>t.eql(z,t.ZERO);return D(C)&&D(H)?b.ZERO:new b(C,H,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(x){const C=t.invertBatch(x.map(H=>H.pz));return x.map((H,D)=>H.toAffine(C[D])).map(b.fromAffine)}static fromHex(x){const C=b.fromAffine(s(Sr("pointHex",x)));return C.assertValidity(),C}static fromPrivateKey(x){return b.BASE.multiply(u(x))}static msm(x,C){return XI(b,n,x,C)}_setWindowSize(x){I.setWindowSize(this,x)}assertValidity(){g(this)}hasEvenY(){const{y:x}=this.toAffine();if(t.isOdd)return!t.isOdd(x);throw new Error("Field doesn't support isOdd")}equals(x){l(x);const{px:C,py:H,pz:D}=this,{px:z,py:V,pz:Z}=x,K=t.eql(t.mul(C,Z),t.mul(z,D)),j=t.eql(t.mul(H,Z),t.mul(V,D));return K&&j}negate(){return new b(this.px,t.neg(this.py),this.pz)}double(){const{a:x,b:C}=e,H=t.mul(C,BE),{px:D,py:z,pz:V}=this;let Z=t.ZERO,K=t.ZERO,j=t.ZERO,oe=t.mul(D,D),ce=t.mul(z,z),ne=t.mul(V,V),ue=t.mul(D,z);return ue=t.add(ue,ue),j=t.mul(D,V),j=t.add(j,j),Z=t.mul(x,j),K=t.mul(H,ne),K=t.add(Z,K),Z=t.sub(ce,K),K=t.add(ce,K),K=t.mul(Z,K),Z=t.mul(ue,Z),j=t.mul(H,j),ne=t.mul(x,ne),ue=t.sub(oe,ne),ue=t.mul(x,ue),ue=t.add(ue,j),j=t.add(oe,oe),oe=t.add(j,oe),oe=t.add(oe,ne),oe=t.mul(oe,ue),K=t.add(K,oe),ne=t.mul(z,V),ne=t.add(ne,ne),oe=t.mul(ne,ue),Z=t.sub(Z,oe),j=t.mul(ne,ce),j=t.add(j,j),j=t.add(j,j),new b(Z,K,j)}add(x){l(x);const{px:C,py:H,pz:D}=this,{px:z,py:V,pz:Z}=x;let K=t.ZERO,j=t.ZERO,oe=t.ZERO;const ce=e.a,ne=t.mul(e.b,BE);let ue=t.mul(C,z),B=t.mul(H,V),p=t.mul(D,Z),m=t.add(C,H),E=t.add(z,V);m=t.mul(m,E),E=t.add(ue,B),m=t.sub(m,E),E=t.add(C,D);let k=t.add(z,Z);return E=t.mul(E,k),k=t.add(ue,p),E=t.sub(E,k),k=t.add(H,D),K=t.add(V,Z),k=t.mul(k,K),K=t.add(B,p),k=t.sub(k,K),oe=t.mul(ce,E),K=t.mul(ne,p),oe=t.add(K,oe),K=t.sub(B,oe),oe=t.add(B,oe),j=t.mul(K,oe),B=t.add(ue,ue),B=t.add(B,ue),p=t.mul(ce,p),E=t.mul(ne,E),B=t.add(B,p),p=t.sub(ue,p),p=t.mul(ce,p),E=t.add(E,p),ue=t.mul(B,E),j=t.add(j,ue),ue=t.mul(k,E),K=t.mul(m,K),K=t.sub(K,ue),ue=t.mul(m,B),oe=t.mul(k,oe),oe=t.add(oe,ue),new b(K,j,oe)}subtract(x){return this.add(x.negate())}is0(){return this.equals(b.ZERO)}wNAF(x){return I.wNAFCached(this,x,b.normalizeZ)}multiplyUnsafe(x){const{endo:C,n:H}=e;ci("scalar",x,Ws,H);const D=b.ZERO;if(x===Ws)return D;if(this.is0()||x===Lr)return this;if(!C||I.hasPrecomputes(this))return I.wNAFCachedUnsafe(this,x,b.normalizeZ);let{k1neg:z,k1:V,k2neg:Z,k2:K}=C.splitScalar(x),j=D,oe=D,ce=this;for(;V>Ws||K>Ws;)V&Lr&&(j=j.add(ce)),K&Lr&&(oe=oe.add(ce)),ce=ce.double(),V>>=Lr,K>>=Lr;return z&&(j=j.negate()),Z&&(oe=oe.negate()),oe=new b(t.mul(oe.px,C.beta),oe.py,oe.pz),j.add(oe)}multiply(x){const{endo:C,n:H}=e;ci("scalar",x,Lr,H);let D,z;if(C){const{k1neg:V,k1:Z,k2neg:K,k2:j}=C.splitScalar(x);let{p:oe,f:ce}=this.wNAF(Z),{p:ne,f:ue}=this.wNAF(j);oe=I.constTimeNegate(V,oe),ne=I.constTimeNegate(K,ne),ne=new b(t.mul(ne.px,C.beta),ne.py,ne.pz),D=oe.add(ne),z=ce.add(ue)}else{const{p:V,f:Z}=this.wNAF(x);D=V,z=Z}return b.normalizeZ([D,z])[0]}multiplyAndAddUnsafe(x,C,H){const D=b.BASE,z=(Z,K)=>K===Ws||K===Lr||!Z.equals(D)?Z.multiplyUnsafe(K):Z.multiply(K),V=z(this,C).add(z(x,H));return V.is0()?void 0:V}toAffine(x){return h(this,x)}isTorsionFree(){const{h:x,isTorsionFree:C}=e;if(x===Lr)return!0;if(C)return C(b,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:x,clearCofactor:C}=e;return x===Lr?this:C?C(b,this):this.multiplyUnsafe(e.h)}toRawBytes(x=!0){return Qs("isCompressed",x),this.assertValidity(),i(b,this,x)}toHex(x=!0){return Qs("isCompressed",x),dc(this.toRawBytes(x))}}b.BASE=new b(e.Gx,e.Gy,t.ONE),b.ZERO=new b(t.ZERO,t.ONE,t.ZERO);const w=e.nBitLength,I=YI(b,e.endo?Math.ceil(w/2):w);return{CURVE:e,ProjectivePoint:b,normPrivateKeyToScalar:u,weierstrassEquation:o,isWithinCurveOrder:a}}function OQ(r){const e=gb(r);return Ml(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function NQ(r){const e=OQ(r),{Fp:t,n}=e,i=t.BYTES+1,s=2*t.BYTES+1;function o(p){return Jt(p,n)}function a(p){return N1(p,n)}const{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:h,isWithinCurveOrder:g}=TQ({...e,toBytes(p,m,E){const k=m.toAffine(),O=t.toBytes(k.x),M=pc;return Qs("isCompressed",E),E?M(Uint8Array.from([m.hasEvenY()?2:3]),O):M(Uint8Array.from([4]),O,t.toBytes(k.y))},fromBytes(p){const m=p.length,E=p[0],k=p.subarray(1);if(m===i&&(E===2||E===3)){const O=ic(k);if(!Up(O,Lr,t.ORDER))throw new Error("Point is not on curve");const M=h(O);let G;try{G=t.sqrt(M)}catch(U){const le=U instanceof Error?": "+U.message:"";throw new Error("Point is not on curve"+le)}const P=(G&Lr)===Lr;return(E&1)===1!==P&&(G=t.neg(G)),{x:O,y:G}}else if(m===s&&E===4){const O=t.fromBytes(k.subarray(0,t.BYTES)),M=t.fromBytes(k.subarray(t.BYTES,2*t.BYTES));return{x:O,y:M}}else{const O=i,M=s;throw new Error("invalid Point, expected length of "+O+", or uncompressed "+M+", got "+m)}}}),b=p=>dc(dl(p,e.nByteLength));function w(p){const m=n>>Lr;return p>m}function I(p){return w(p)?o(-p):p}const S=(p,m,E)=>ic(p.slice(m,E));class x{constructor(m,E,k){this.r=m,this.s=E,this.recovery=k,this.assertValidity()}static fromCompact(m){const E=e.nByteLength;return m=Sr("compactSignature",m,E*2),new x(S(m,0,E),S(m,E,2*E))}static fromDER(m){const{r:E,s:k}=Ss.toSig(Sr("DER",m));return new x(E,k)}assertValidity(){ci("r",this.r,Lr,n),ci("s",this.s,Lr,n)}addRecoveryBit(m){return new x(this.r,this.s,m)}recoverPublicKey(m){const{r:E,s:k,recovery:O}=this,M=Z(Sr("msgHash",m));if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");const G=O===2||O===3?E+e.n:E;if(G>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const P=O&1?"03":"02",A=u.fromHex(P+b(G)),U=a(G),le=o(-M*U),ee=o(k*U),re=u.BASE.multiplyAndAddUnsafe(A,le,ee);if(!re)throw new Error("point at infinify");return re.assertValidity(),re}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return hl(this.toDERHex())}toDERHex(){return Ss.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return hl(this.toCompactHex())}toCompactHex(){return b(this.r)+b(this.s)}}const C={isValidPrivateKey(p){try{return l(p),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const p=ZI(e.n);return Fq(e.randomBytes(p),e.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 D(p){const m=hc(p),E=typeof p=="string",k=(m||E)&&p.length;return m?k===i||k===s:E?k===2*i||k===2*s:p instanceof u}function z(p,m,E=!0){if(D(p))throw new Error("first arg must be private key");if(!D(m))throw new Error("second arg must be public key");return u.fromHex(m).multiply(l(p)).toRawBytes(E)}const V=e.bits2int||function(p){if(p.length>8192)throw new Error("input is too large");const m=ic(p),E=p.length*8-e.nBitLength;return E>0?m>>BigInt(E):m},Z=e.bits2int_modN||function(p){return o(V(p))},K=pb(e.nBitLength);function j(p){return ci("num < 2^"+e.nBitLength,p,Ws,K),dl(p,e.nByteLength)}function oe(p,m,E=ce){if(["recovered","canonical"].some(ye=>ye in E))throw new Error("sign() legacy options not supported");const{hash:k,randomBytes:O}=e;let{lowS:M,prehash:G,extraEntropy:P}=E;M==null&&(M=!0),p=Sr("msgHash",p),CE(E),G&&(p=Sr("prehashed msgHash",k(p)));const A=Z(p),U=l(m),le=[j(U),j(A)];if(P!=null&&P!==!1){const ye=P===!0?O(t.BYTES):P;le.push(Sr("extraEntropy",ye))}const ee=pc(...le),re=A;function he(ye){const be=V(ye);if(!g(be))return;const We=a(be),$e=u.BASE.multiply(be).toAffine(),Oe=o($e.x);if(Oe===Ws)return;const Xe=o(We*o(re+Oe*U));if(Xe===Ws)return;let qe=($e.x===Oe?0:2)|Number($e.y&Lr),et=Xe;return M&&w(Xe)&&(et=I(Xe),qe^=1),new x(Oe,et,qe)}return{seed:ee,k2sig:he}}const ce={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function ue(p,m,E=ce){const{seed:k,k2sig:O}=oe(p,m,E),M=e;return jI(M.hash.outputLen,M.nByteLength,M.hmac)(k,O)}u.BASE._setWindowSize(8);function B(p,m,E,k=ne){var qe;const O=p;m=Sr("msgHash",m),E=Sr("publicKey",E);const{lowS:M,prehash:G,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 O=="string"||hc(O),U=!A&&!P&&typeof O=="object"&&O!==null&&typeof O.r=="bigint"&&typeof O.s=="bigint";if(!A&&!U)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let le,ee;try{if(U&&(le=new x(O.r,O.s)),A){try{P!=="compact"&&(le=x.fromDER(O))}catch(et){if(!(et instanceof Ss.Err))throw et}!le&&P!=="der"&&(le=x.fromCompact(O))}ee=u.fromHex(E)}catch{return!1}if(!le||M&&le.hasHighS())return!1;G&&(m=e.hash(m));const{r:re,s:he}=le,ye=Z(m),be=a(he),We=o(ye*be),$e=o(re*be),Oe=(qe=u.BASE.multiplyAndAddUnsafe(ee,We,$e))==null?void 0:qe.toAffine();return Oe?o(Oe.x)===re:!1}return{CURVE:e,getPublicKey:H,getSharedSecret:z,sign:ue,verify:B,ProjectivePoint:u,Signature:x,utils:C}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function CQ(r){return{hash:r,hmac:(e,...t)=>zS(r,e,JV(...t)),randomBytes:UI}}function BQ(r,e){const t=n=>NQ({...r,...CQ(n)});return{...t(e),create:t}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const GS=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),PE=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),PQ=BigInt(1),M1=BigInt(2),ME=(r,e)=>(r+e/M1)/e;function MQ(r){const e=GS,t=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),l=r*r*r%e,h=l*l*r%e,g=br(h,t,e)*h%e,b=br(g,t,e)*h%e,w=br(b,M1,e)*l%e,I=br(w,i,e)*w%e,S=br(I,s,e)*I%e,x=br(S,a,e)*S%e,C=br(x,u,e)*x%e,H=br(C,a,e)*S%e,D=br(H,t,e)*h%e,z=br(D,o,e)*I%e,V=br(z,n,e)*l%e,Z=br(V,M1,e);if(!L1.eql(L1.sqr(Z),r))throw new Error("Cannot find square root");return Z}const L1=Dp(GS,void 0,void 0,{sqrt:MQ}),Wp=BQ({a:BigInt(0),b:BigInt(7),Fp:L1,n:PE,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=PE,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-PQ*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,o=BigInt("0x100000000000000000000000000000000"),a=ME(s*r,e),u=ME(-n*r,e);let l=Jt(r-a*t-u*i,e),h=Jt(-a*n-u*s,e);const g=l>o,b=h>o;if(g&&(l=e-l),b&&(h=e-h),l>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:g,k1:l,k2neg:b,k2:h}}}},B1);BigInt(0);Wp.ProjectivePoint;const LQ=Ll.utils.randomPrivateKey,LE=()=>{const r=Ll.utils.randomPrivateKey(),e=z0(r),t=new Uint8Array(64);return t.set(r),t.set(e,32),{publicKey:e,secretKey:t}},z0=Ll.getPublicKey;function UE(r){try{return Ll.ExtendedPoint.fromHex(r),!0}catch{return!1}}const Tb=(r,e)=>Ll.sign(r,e.slice(0,32)),UQ=Ll.verify,st=r=>Ne.isBuffer(r)?r:r instanceof Uint8Array?Ne.from(r.buffer,r.byteOffset,r.byteLength):Ne.from(r);let Ob=class{constructor(e){Object.assign(this,e)}encode(){return Ne.from(aS(Ff,this))}static decode(e){return cS(Ff,this,e)}static decodeUnchecked(e){return rS(Ff,this,e)}};class DQ extends Ob{constructor(e){if(super(e),this.enum="",Object.keys(e).length!==1)throw new Error("Enum can only take single value");Object.keys(e).map(t=>{this.enum=t})}}const Ff=new Map;var KS;const WS=32,os=32;function $Q(r){return r._bn!==void 0}let DE=1;class me extends Ob{constructor(e){if(super({}),this._bn=void 0,$Q(e))this._bn=e._bn;else{if(typeof e=="string"){const t=kr.decode(e);if(t.length!=os)throw new Error("Invalid public key input");this._bn=new Gs(t)}else this._bn=new Gs(e);if(this._bn.byteLength()>os)throw new Error("Invalid public key input")}}static unique(){const e=new me(DE);return DE+=1,new me(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return kr.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(Ne);if(e.length===os)return e;const t=Ne.alloc(32);return e.copy(t,32-e.length),t}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,n){const i=Ne.concat([e.toBuffer(),Ne.from(t),n.toBuffer()]),s=B1(i);return new me(s)}static createProgramAddressSync(e,t){let n=Ne.alloc(0);e.forEach(function(s){if(s.length>WS)throw new TypeError("Max seed length exceeded");n=Ne.concat([n,st(s)])}),n=Ne.concat([n,t.toBuffer(),Ne.from("ProgramDerivedAddress")]);const i=B1(n);if(UE(i))throw new Error("Invalid seeds, address must fall off the curve");return new me(i)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let n=255,i;for(;n!=0;){try{const s=e.concat(Ne.from([n]));i=this.createProgramAddressSync(s,t)}catch(s){if(s instanceof TypeError)throw s;n--;continue}return[i,n]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){const t=new me(e);return UE(t.toBytes())}}KS=me;me.default=new KS("11111111111111111111111111111111");Ff.set(me,{kind:"struct",fields:[["_bn","u256"]]});class FQ{constructor(e){if(this._publicKey=void 0,this._secretKey=void 0,e){const t=st(e);if(e.length!==64)throw new Error("bad secret key size");this._publicKey=t.slice(32,64),this._secretKey=t.slice(0,32)}else this._secretKey=st(LQ()),this._publicKey=st(z0(this._secretKey))}get publicKey(){return new me(this._publicKey)}get secretKey(){return Ne.concat([this._secretKey,this._publicKey],64)}}const HQ=new me("BPFLoader1111111111111111111111111111111111"),Vo=1232,jp=127,lh=64;class Nb extends Error{constructor(e){super(`Signature ${e} has expired: block height exceeded.`),this.signature=void 0,this.signature=e}}Object.defineProperty(Nb.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class Cb extends Error{constructor(e,t){super(`Transaction was not confirmed in ${t.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${e} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=e}}Object.defineProperty(Cb.prototype,"name",{value:"TransactionExpiredTimeoutError"});class iu extends Error{constructor(e){super(`Signature ${e} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=e}}Object.defineProperty(iu.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class fh{constructor(e,t){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=e,this.accountKeysFromLookups=t}keySegments(){const e=[this.staticAccountKeys];return this.accountKeysFromLookups&&(e.push(this.accountKeysFromLookups.writable),e.push(this.accountKeysFromLookups.readonly)),e}get(e){for(const t of this.keySegments()){if(e<t.length)return t[e];e-=t.length}}get length(){return this.keySegments().flat().length}compileInstructions(e){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const n=new Map;this.keySegments().flat().forEach((s,o)=>{n.set(s.toBase58(),o)});const i=s=>{const o=n.get(s.toBase58());if(o===void 0)throw new Error("Encountered an unknown instruction account key during compilation");return o};return e.map(s=>({programIdIndex:i(s.programId),accountKeyIndexes:s.keys.map(o=>i(o.pubkey)),data:s.data}))}}const ut=(r="publicKey")=>Kt(32,r),zQ=(r="signature")=>Kt(64,r),Ra=(r="string")=>{const e=Pe([Be("length"),Be("lengthPadding"),Kt(jo(Be(),-8),"chars")],r),t=e.decode.bind(e),n=e.encode.bind(e),i=e;return i.decode=(s,o)=>t(s,o).chars.toString(),i.encode=(s,o,a)=>{const u={chars:Ne.from(s,"utf8")};return n(u,o,a)},i.alloc=s=>Be().span+Be().span+Ne.from(s,"utf8").length,i},GQ=(r="authorized")=>Pe([ut("staker"),ut("withdrawer")],r),KQ=(r="lockup")=>Pe([Wn("unixTimestamp"),Wn("epoch"),ut("custodian")],r),WQ=(r="voteInit")=>Pe([ut("nodePubkey"),ut("authorizedVoter"),ut("authorizedWithdrawer"),mt("commission")],r),jQ=(r="voteAuthorizeWithSeedArgs")=>Pe([Be("voteAuthorizationType"),ut("currentAuthorityDerivedKeyOwnerPubkey"),Ra("currentAuthorityDerivedKeySeed"),ut("newAuthorized")],r);function jS(r,e){const t=i=>{if(i.span>=0)return i.span;if(typeof i.alloc=="function")return i.alloc(e[i.property]);if("count"in i&&"elementLayout"in i){const s=e[i.property];if(Array.isArray(s))return s.length*t(i.elementLayout)}else if("fields"in i)return jS({layout:i},e[i.property]);return 0};let n=0;return r.layout.fields.forEach(i=>{n+=t(i)}),n}function In(r){let e=0,t=0;for(;;){let n=r.shift();if(e|=(n&127)<<t*7,t+=1,!(n&128))break}return e}function jn(r,e){let t=e;for(;;){let n=t&127;if(t>>=7,t==0){r.push(n);break}else n|=128,r.push(n)}}function At(r,e){if(!r)throw new Error(e||"Assertion failed")}class Vp{constructor(e,t){this.payer=void 0,this.keyMetaMap=void 0,this.payer=e,this.keyMetaMap=t}static compile(e,t){const n=new Map,i=o=>{const a=o.toBase58();let u=n.get(a);return u===void 0&&(u={isSigner:!1,isWritable:!1,isInvoked:!1},n.set(a,u)),u},s=i(t);s.isSigner=!0,s.isWritable=!0;for(const o of e){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 Vp(t,n)}getMessageComponents(){const e=[...this.keyMetaMap.entries()];At(e.length<=256,"Max static account keys length exceeded");const t=e.filter(([,u])=>u.isSigner&&u.isWritable),n=e.filter(([,u])=>u.isSigner&&!u.isWritable),i=e.filter(([,u])=>!u.isSigner&&u.isWritable),s=e.filter(([,u])=>!u.isSigner&&!u.isWritable),o={numRequiredSignatures:t.length+n.length,numReadonlySignedAccounts:n.length,numReadonlyUnsignedAccounts:s.length};{At(t.length>0,"Expected at least one writable signer key");const[u]=t[0];At(u===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}const a=[...t.map(([u])=>new me(u)),...n.map(([u])=>new me(u)),...i.map(([u])=>new me(u)),...s.map(([u])=>new me(u))];return[o,a]}extractTableLookup(e){const[t,n]=this.drainKeysFoundInLookupTable(e.state.addresses,o=>!o.isSigner&&!o.isInvoked&&o.isWritable),[i,s]=this.drainKeysFoundInLookupTable(e.state.addresses,o=>!o.isSigner&&!o.isInvoked&&!o.isWritable);if(!(t.length===0&&i.length===0))return[{accountKey:e.key,writableIndexes:t,readonlyIndexes:i},{writable:n,readonly:s}]}drainKeysFoundInLookupTable(e,t){const n=new Array,i=new Array;for(const[s,o]of this.keyMetaMap.entries())if(t(o)){const a=new me(s),u=e.findIndex(l=>l.equals(a));u>=0&&(At(u<256,"Max lookup table index exceeded"),n.push(u),i.push(a),this.keyMetaMap.delete(s))}return[n,i]}}const VS="Reached end of buffer unexpectedly";function Ji(r){if(r.length===0)throw new Error(VS);return r.shift()}function Sn(r,...e){const[t]=e;if(e.length===2?t+(e[1]??0)>r.length:t>=r.length)throw new Error(VS);return r.splice(...e)}class Oi{constructor(e){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=e.header,this.accountKeys=e.accountKeys.map(t=>new me(t)),this.recentBlockhash=e.recentBlockhash,this.instructions=e.instructions,this.instructions.forEach(t=>this.indexToProgramIds.set(t.programIdIndex,this.accountKeys[t.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:kr.decode(e.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new fh(this.staticAccountKeys)}static compile(e){const t=Vp.compile(e.instructions,e.payerKey),[n,i]=t.getMessageComponents(),o=new fh(i).compileInstructions(e.instructions).map(a=>({programIdIndex:a.programIdIndex,accounts:a.accountKeyIndexes,data:kr.encode(a.data)}));return new Oi({header:n,accountKeys:i,recentBlockhash:e.recentBlockhash,instructions:o})}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures;if(e>=this.header.numRequiredSignatures){const n=e-t,s=this.accountKeys.length-t-this.header.numReadonlyUnsignedAccounts;return n<s}else{const n=t-this.header.numReadonlySignedAccounts;return e<n}}isProgramId(e){return this.indexToProgramIds.has(e)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((e,t)=>!this.isProgramId(t))}serialize(){const e=this.accountKeys.length;let t=[];jn(t,e);const n=this.instructions.map(g=>{const{accounts:b,programIdIndex:w}=g,I=Array.from(kr.decode(g.data));let S=[];jn(S,b.length);let x=[];return jn(x,I.length),{programIdIndex:w,keyIndicesCount:Ne.from(S),keyIndices:b,dataLength:Ne.from(x),data:I}});let i=[];jn(i,n.length);let s=Ne.alloc(Vo);Ne.from(i).copy(s);let o=i.length;n.forEach(g=>{const w=Pe([mt("programIdIndex"),Kt(g.keyIndicesCount.length,"keyIndicesCount"),Jr(mt("keyIndex"),g.keyIndices.length,"keyIndices"),Kt(g.dataLength.length,"dataLength"),Jr(mt("userdatum"),g.data.length,"data")]).encode(g,s,o);o+=w}),s=s.slice(0,o);const a=Pe([Kt(1,"numRequiredSignatures"),Kt(1,"numReadonlySignedAccounts"),Kt(1,"numReadonlyUnsignedAccounts"),Kt(t.length,"keyCount"),Jr(ut("key"),e,"keys"),ut("recentBlockhash")]),u={numRequiredSignatures:Ne.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:Ne.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:Ne.from([this.header.numReadonlyUnsignedAccounts]),keyCount:Ne.from(t),keys:this.accountKeys.map(g=>st(g.toBytes())),recentBlockhash:kr.decode(this.recentBlockhash)};let l=Ne.alloc(2048);const h=a.encode(u,l);return s.copy(l,h),l.slice(0,h+s.length)}static from(e){let t=[...e];const n=Ji(t);if(n!==(n&jp))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const i=Ji(t),s=Ji(t),o=In(t);let a=[];for(let b=0;b<o;b++){const w=Sn(t,0,os);a.push(new me(Ne.from(w)))}const u=Sn(t,0,os),l=In(t);let h=[];for(let b=0;b<l;b++){const w=Ji(t),I=In(t),S=Sn(t,0,I),x=In(t),C=Sn(t,0,x),H=kr.encode(Ne.from(C));h.push({programIdIndex:w,accounts:S,data:H})}const g={header:{numRequiredSignatures:n,numReadonlySignedAccounts:i,numReadonlyUnsignedAccounts:s},recentBlockhash:kr.encode(Ne.from(u)),accountKeys:a,instructions:h};return new Oi(g)}}class gc{constructor(e){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=e.header,this.staticAccountKeys=e.staticAccountKeys,this.recentBlockhash=e.recentBlockhash,this.compiledInstructions=e.compiledInstructions,this.addressTableLookups=e.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let e=0;for(const t of this.addressTableLookups)e+=t.readonlyIndexes.length+t.writableIndexes.length;return e}getAccountKeys(e){let t;if(e&&"accountKeysFromLookups"in e&&e.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=e.accountKeysFromLookups.writable.length+e.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");t=e.accountKeysFromLookups}else if(e&&"addressLookupTableAccounts"in e&&e.addressLookupTableAccounts)t=this.resolveAddressTableLookups(e.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new fh(this.staticAccountKeys,t)}isAccountSigner(e){return e<this.header.numRequiredSignatures}isAccountWritable(e){const t=this.header.numRequiredSignatures,n=this.staticAccountKeys.length;if(e>=n){const i=e-n,s=this.addressTableLookups.reduce((o,a)=>o+a.writableIndexes.length,0);return i<s}else if(e>=this.header.numRequiredSignatures){const i=e-t,o=n-t-this.header.numReadonlyUnsignedAccounts;return i<o}else{const i=t-this.header.numReadonlySignedAccounts;return e<i}}resolveAddressTableLookups(e){const t={writable:[],readonly:[]};for(const n of this.addressTableLookups){const i=e.find(s=>s.key.equals(n.accountKey));if(!i)throw new Error(`Failed to find address lookup table account for table key ${n.accountKey.toBase58()}`);for(const s of n.writableIndexes)if(s<i.state.addresses.length)t.writable.push(i.state.addresses[s]);else throw new Error(`Failed to find address for index ${s} in address lookup table ${n.accountKey.toBase58()}`);for(const s of n.readonlyIndexes)if(s<i.state.addresses.length)t.readonly.push(i.state.addresses[s]);else throw new Error(`Failed to find address for index ${s} in address lookup table ${n.accountKey.toBase58()}`)}return t}static compile(e){const t=Vp.compile(e.instructions,e.payerKey),n=new Array,i={writable:new Array,readonly:new Array},s=e.addressLookupTableAccounts||[];for(const h of s){const g=t.extractTableLookup(h);if(g!==void 0){const[b,{writable:w,readonly:I}]=g;n.push(b),i.writable.push(...w),i.readonly.push(...I)}}const[o,a]=t.getMessageComponents(),l=new fh(a,i).compileInstructions(e.instructions);return new gc({header:o,staticAccountKeys:a,recentBlockhash:e.recentBlockhash,compiledInstructions:l,addressTableLookups:n})}serialize(){const e=Array();jn(e,this.staticAccountKeys.length);const t=this.serializeInstructions(),n=Array();jn(n,this.compiledInstructions.length);const i=this.serializeAddressTableLookups(),s=Array();jn(s,this.addressTableLookups.length);const o=Pe([mt("prefix"),Pe([mt("numRequiredSignatures"),mt("numReadonlySignedAccounts"),mt("numReadonlyUnsignedAccounts")],"header"),Kt(e.length,"staticAccountKeysLength"),Jr(ut(),this.staticAccountKeys.length,"staticAccountKeys"),ut("recentBlockhash"),Kt(n.length,"instructionsLength"),Kt(t.length,"serializedInstructions"),Kt(s.length,"addressTableLookupsLength"),Kt(i.length,"serializedAddressTableLookups")]),a=new Uint8Array(Vo),l=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(e),staticAccountKeys:this.staticAccountKeys.map(h=>h.toBytes()),recentBlockhash:kr.decode(this.recentBlockhash),instructionsLength:new Uint8Array(n),serializedInstructions:t,addressTableLookupsLength:new Uint8Array(s),serializedAddressTableLookups:i},a);return a.slice(0,l)}serializeInstructions(){let e=0;const t=new Uint8Array(Vo);for(const n of this.compiledInstructions){const i=Array();jn(i,n.accountKeyIndexes.length);const s=Array();jn(s,n.data.length);const o=Pe([mt("programIdIndex"),Kt(i.length,"encodedAccountKeyIndexesLength"),Jr(mt(),n.accountKeyIndexes.length,"accountKeyIndexes"),Kt(s.length,"encodedDataLength"),Kt(n.data.length,"data")]);e+=o.encode({programIdIndex:n.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(i),accountKeyIndexes:n.accountKeyIndexes,encodedDataLength:new Uint8Array(s),data:n.data},t,e)}return t.slice(0,e)}serializeAddressTableLookups(){let e=0;const t=new Uint8Array(Vo);for(const n of this.addressTableLookups){const i=Array();jn(i,n.writableIndexes.length);const s=Array();jn(s,n.readonlyIndexes.length);const o=Pe([ut("accountKey"),Kt(i.length,"encodedWritableIndexesLength"),Jr(mt(),n.writableIndexes.length,"writableIndexes"),Kt(s.length,"encodedReadonlyIndexesLength"),Jr(mt(),n.readonlyIndexes.length,"readonlyIndexes")]);e+=o.encode({accountKey:n.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(i),writableIndexes:n.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(s),readonlyIndexes:n.readonlyIndexes},t,e)}return t.slice(0,e)}static deserialize(e){let t=[...e];const n=Ji(t),i=n&jp;At(n!==i,"Expected versioned message but received legacy message");const s=i;At(s===0,`Expected versioned message with version 0 but found version ${s}`);const o={numRequiredSignatures:Ji(t),numReadonlySignedAccounts:Ji(t),numReadonlyUnsignedAccounts:Ji(t)},a=[],u=In(t);for(let I=0;I<u;I++)a.push(new me(Sn(t,0,os)));const l=kr.encode(Sn(t,0,os)),h=In(t),g=[];for(let I=0;I<h;I++){const S=Ji(t),x=In(t),C=Sn(t,0,x),H=In(t),D=new Uint8Array(Sn(t,0,H));g.push({programIdIndex:S,accountKeyIndexes:C,data:D})}const b=In(t),w=[];for(let I=0;I<b;I++){const S=new me(Sn(t,0,os)),x=In(t),C=Sn(t,0,x),H=In(t),D=Sn(t,0,H);w.push({accountKey:S,writableIndexes:C,readonlyIndexes:D})}return new gc({header:o,staticAccountKeys:a,recentBlockhash:l,compiledInstructions:g,addressTableLookups:w})}}const Bb={deserializeMessageVersion(r){const e=r[0],t=e&jp;return t===e?"legacy":t},deserialize:r=>{const e=Bb.deserializeMessageVersion(r);if(e==="legacy")return Oi.from(r);if(e===0)return gc.deserialize(r);throw new Error(`Transaction message version ${e} deserialization is not supported`)}};let vs=function(r){return r[r.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",r[r.PROCESSED=1]="PROCESSED",r[r.TIMED_OUT=2]="TIMED_OUT",r[r.NONCE_INVALID=3]="NONCE_INVALID",r}({});const VQ=Ne.alloc(lh).fill(0);class Bt{constructor(e){this.keys=void 0,this.programId=void 0,this.data=Ne.alloc(0),this.programId=e.programId,this.keys=e.keys,e.data&&(this.data=e.data)}toJSON(){return{keys:this.keys.map(({pubkey:e,isSigner:t,isWritable:n})=>({pubkey:e.toJSON(),isSigner:t,isWritable:n})),programId:this.programId.toJSON(),data:[...this.data]}}}let Tt=class U1{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(e){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,!!e)if(e.feePayer&&(this.feePayer=e.feePayer),e.signatures&&(this.signatures=e.signatures),Object.prototype.hasOwnProperty.call(e,"nonceInfo")){const{minContextSlot:t,nonceInfo:n}=e;this.minNonceContextSlot=t,this.nonceInfo=n}else if(Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")){const{blockhash:t,lastValidBlockHeight:n}=e;this.recentBlockhash=t,this.lastValidBlockHeight=n}else{const{recentBlockhash:t,nonceInfo:n}=e;n&&(this.nonceInfo=n),this.recentBlockhash=t}}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(e=>e.toJSON()),signers:this.signatures.map(({publicKey:e})=>e.toJSON())}}add(...e){if(e.length===0)throw new Error("No instructions");return e.forEach(t=>{"instructions"in t?this.instructions=this.instructions.concat(t.instructions):"data"in t&&"programId"in t&&"keys"in t?this.instructions.push(t):this.instructions.push(new Bt(t))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let e,t;if(this.nonceInfo?(e=this.nonceInfo.nonce,this.instructions[0]!=this.nonceInfo.nonceInstruction?t=[this.nonceInfo.nonceInstruction,...this.instructions]:t=this.instructions):(e=this.recentBlockhash,t=this.instructions),!e)throw new Error("Transaction recentBlockhash required");t.length<1&&console.warn("No instructions provided");let n;if(this.feePayer)n=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)n=this.signatures[0].publicKey;else throw new Error("Transaction fee payer required");for(let S=0;S<t.length;S++)if(t[S].programId===void 0)throw new Error(`Transaction instruction index ${S} has undefined program id`);const i=[],s=[];t.forEach(S=>{S.keys.forEach(C=>{s.push({...C})});const x=S.programId.toString();i.includes(x)||i.push(x)}),i.forEach(S=>{s.push({pubkey:new me(S),isSigner:!1,isWritable:!1})});const o=[];s.forEach(S=>{const x=S.pubkey.toString(),C=o.findIndex(H=>H.pubkey.toString()===x);C>-1?(o[C].isWritable=o[C].isWritable||S.isWritable,o[C].isSigner=o[C].isSigner||S.isSigner):o.push(S)}),o.sort(function(S,x){if(S.isSigner!==x.isSigner)return S.isSigner?-1:1;if(S.isWritable!==x.isWritable)return S.isWritable?-1:1;const C={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return S.pubkey.toBase58().localeCompare(x.pubkey.toBase58(),"en",C)});const a=o.findIndex(S=>S.pubkey.equals(n));if(a>-1){const[S]=o.splice(a,1);S.isSigner=!0,S.isWritable=!0,o.unshift(S)}else o.unshift({pubkey:n,isSigner:!0,isWritable:!0});for(const S of this.signatures){const x=o.findIndex(C=>C.pubkey.equals(S.publicKey));if(x>-1)o[x].isSigner||(o[x].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: ${S.publicKey.toString()}`)}let u=0,l=0,h=0;const g=[],b=[];o.forEach(({pubkey:S,isSigner:x,isWritable:C})=>{x?(g.push(S.toString()),u+=1,C||(l+=1)):(b.push(S.toString()),C||(h+=1))});const w=g.concat(b),I=t.map(S=>{const{data:x,programId:C}=S;return{programIdIndex:w.indexOf(C.toString()),accounts:S.keys.map(H=>w.indexOf(H.pubkey.toString())),data:kr.encode(x)}});return I.forEach(S=>{At(S.programIdIndex>=0),S.accounts.forEach(x=>At(x>=0))}),new Oi({header:{numRequiredSignatures:u,numReadonlySignedAccounts:l,numReadonlyUnsignedAccounts:h},accountKeys:w,recentBlockhash:e,instructions:I})}_compile(){const e=this.compileMessage(),t=e.accountKeys.slice(0,e.header.numRequiredSignatures);return this.signatures.length===t.length&&this.signatures.every((i,s)=>t[s].equals(i.publicKey))||(this.signatures=t.map(n=>({signature:null,publicKey:n}))),e}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(e){return(await e.getFeeForMessage(this.compileMessage())).value}setSigners(...e){if(e.length===0)throw new Error("No signers");const t=new Set;this.signatures=e.filter(n=>{const i=n.toString();return t.has(i)?!1:(t.add(i),!0)}).map(n=>({signature:null,publicKey:n}))}sign(...e){if(e.length===0)throw new Error("No signers");const t=new Set,n=[];for(const s of e){const o=s.publicKey.toString();t.has(o)||(t.add(o),n.push(s))}this.signatures=n.map(s=>({signature:null,publicKey:s.publicKey}));const i=this._compile();this._partialSign(i,...n)}partialSign(...e){if(e.length===0)throw new Error("No signers");const t=new Set,n=[];for(const s of e){const o=s.publicKey.toString();t.has(o)||(t.add(o),n.push(s))}const i=this._compile();this._partialSign(i,...n)}_partialSign(e,...t){const n=e.serialize();t.forEach(i=>{const s=Tb(n,i.secretKey);this._addSignature(i.publicKey,st(s))})}addSignature(e,t){this._compile(),this._addSignature(e,t)}_addSignature(e,t){At(t.length===64);const n=this.signatures.findIndex(i=>e.equals(i.publicKey));if(n<0)throw new Error(`unknown signer: ${e.toString()}`);this.signatures[n].signature=Ne.from(t)}verifySignatures(e=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),e)}_getMessageSignednessErrors(e,t){const n={};for(const{signature:i,publicKey:s}of this.signatures)i===null?t&&(n.missing||(n.missing=[])).push(s):UQ(i,e,s.toBytes())||(n.invalid||(n.invalid=[])).push(s);return n.invalid||n.missing?n:void 0}serialize(e){const{requireAllSignatures:t,verifySignatures:n}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},e),i=this.serializeMessage();if(n){const s=this._getMessageSignednessErrors(i,t);if(s){let o="Signature verification failed.";throw s.invalid&&(o+=`
19
- Invalid signature for public key${s.invalid.length===1?"":"(s)"} [\`${s.invalid.map(a=>a.toBase58()).join("`, `")}\`].`),s.missing&&(o+=`
20
- 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(e){const{signatures:t}=this,n=[];jn(n,t.length);const i=n.length+t.length*64+e.length,s=Ne.alloc(i);return At(t.length<256),Ne.from(n).copy(s,0),t.forEach(({signature:o},a)=>{o!==null&&(At(o.length===64,"signature has invalid length"),Ne.from(o).copy(s,n.length+a*64))}),e.copy(s,n.length+t.length*64),At(s.length<=Vo,`Transaction too large: ${s.length} > ${Vo}`),s}get keys(){return At(this.instructions.length===1),this.instructions[0].keys.map(e=>e.pubkey)}get programId(){return At(this.instructions.length===1),this.instructions[0].programId}get data(){return At(this.instructions.length===1),this.instructions[0].data}static from(e){let t=[...e];const n=In(t);let i=[];for(let s=0;s<n;s++){const o=Sn(t,0,lh);i.push(kr.encode(Ne.from(o)))}return U1.populate(Oi.from(t),i)}static populate(e,t=[]){const n=new U1;return n.recentBlockhash=e.recentBlockhash,e.header.numRequiredSignatures>0&&(n.feePayer=e.accountKeys[0]),t.forEach((i,s)=>{const o={signature:i==kr.encode(VQ)?null:kr.decode(i),publicKey:e.accountKeys[s]};n.signatures.push(o)}),e.instructions.forEach(i=>{const s=i.accounts.map(o=>{const a=e.accountKeys[o];return{pubkey:a,isSigner:n.signatures.some(u=>u.publicKey.toString()===a.toString())||e.isAccountSigner(o),isWritable:e.isAccountWritable(o)}});n.instructions.push(new Bt({keys:s,programId:e.accountKeys[i.programIdIndex],data:kr.decode(i.data)}))}),n._message=e,n._json=n.toJSON(),n}};class Pb{constructor(e){this.payerKey=void 0,this.instructions=void 0,this.recentBlockhash=void 0,this.payerKey=e.payerKey,this.instructions=e.instructions,this.recentBlockhash=e.recentBlockhash}static decompile(e,t){const{header:n,compiledInstructions:i,recentBlockhash:s}=e,{numRequiredSignatures:o,numReadonlySignedAccounts:a,numReadonlyUnsignedAccounts:u}=n,l=o-a;At(l>0,"Message header is invalid");const h=e.staticAccountKeys.length-o-u;At(h>=0,"Message header is invalid");const g=e.getAccountKeys(t),b=g.get(0);if(b===void 0)throw new Error("Failed to decompile message because no account keys were found");const w=[];for(const I of i){const S=[];for(const C of I.accountKeyIndexes){const H=g.get(C);if(H===void 0)throw new Error(`Failed to find key for account key index ${C}`);const D=C<o;let z;D?z=C<l:C<g.staticAccountKeys.length?z=C-o<h:z=C-g.staticAccountKeys.length<g.accountKeysFromLookups.writable.length,S.push({pubkey:H,isSigner:C<n.numRequiredSignatures,isWritable:z})}const x=g.get(I.programIdIndex);if(x===void 0)throw new Error(`Failed to find program id for program id index ${I.programIdIndex}`);w.push(new Bt({programId:x,data:st(I.data),keys:S}))}return new Pb({payerKey:b,instructions:w,recentBlockhash:s})}compileToLegacyMessage(){return Oi.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions})}compileToV0Message(e){return gc.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions,addressLookupTableAccounts:e})}}class Mb{get version(){return this.message.version}constructor(e,t){if(this.signatures=void 0,this.message=void 0,t!==void 0)At(t.length===e.header.numRequiredSignatures,"Expected signatures length to be equal to the number of required signatures"),this.signatures=t;else{const n=[];for(let i=0;i<e.header.numRequiredSignatures;i++)n.push(new Uint8Array(lh));this.signatures=n}this.message=e}serialize(){const e=this.message.serialize(),t=Array();jn(t,this.signatures.length);const n=Pe([Kt(t.length,"encodedSignaturesLength"),Jr(zQ(),this.signatures.length,"signatures"),Kt(e.length,"serializedMessage")]),i=new Uint8Array(2048),s=n.encode({encodedSignaturesLength:new Uint8Array(t),signatures:this.signatures,serializedMessage:e},i);return i.slice(0,s)}static deserialize(e){let t=[...e];const n=[],i=In(t);for(let o=0;o<i;o++)n.push(new Uint8Array(Sn(t,0,lh)));const s=Bb.deserialize(new Uint8Array(t));return new Mb(s,n)}sign(e){const t=this.message.serialize(),n=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures);for(const i of e){const s=n.findIndex(o=>o.equals(i.publicKey));At(s>=0,`Cannot sign with non signer key ${i.publicKey.toBase58()}`),this.signatures[s]=Tb(t,i.secretKey)}}addSignature(e,t){At(t.byteLength===64,"Signature must be 64 bytes long");const i=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures).findIndex(s=>s.equals(e));At(i>=0,`Can not add signature; \`${e.toBase58()}\` is not required to sign this transaction`),this.signatures[i]=t}}const qQ=160,ZQ=64,QQ=qQ/ZQ,qS=1e3/QQ,Zi=new me("SysvarC1ock11111111111111111111111111111111"),JQ=new me("SysvarEpochSchedu1e111111111111111111111111"),YQ=new me("Sysvar1nstructions1111111111111111111111111"),o0=new me("SysvarRecentB1ockHashes11111111111111111111"),gl=new me("SysvarRent111111111111111111111111111111111"),XQ=new me("SysvarRewards111111111111111111111111111111"),eJ=new me("SysvarS1otHashes111111111111111111111111111"),tJ=new me("SysvarS1otHistory11111111111111111111111111"),a0=new me("SysvarStakeHistory1111111111111111111111111");class na extends Error{constructor({action:e,signature:t,transactionMessage:n,logs:i}){const s=i?`Logs:
21
- ${JSON.stringify(i.slice(-10),null,2)}. `:"",o="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.";let a;switch(e){case"send":a=`Transaction ${t} resulted in an error.
22
- ${n}. `+s+o;break;case"simulate":a=`Simulation failed.
23
- Message: ${n}.
24
- `+s+o;break;default:a=`Unknown action '${(u=>u)(e)}'`}super(a),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=t,this.transactionMessage=n,this.transactionLogs=i||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){const e=this.transactionLogs;if(!(e!=null&&typeof e=="object"&&"then"in e))return e}async getLogs(e){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((t,n)=>{e.getTransaction(this.signature).then(i=>{if(i&&i.meta&&i.meta.logMessages){const s=i.meta.logMessages;this.transactionLogs=s,t(s)}else n(new Error("Log messages not found"))}).catch(n)})),await this.transactionLogs}}const rJ={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 De extends Error{constructor({code:e,message:t,data:n},i){super(i!=null?`${i}: ${t}`:t),this.code=void 0,this.data=void 0,this.code=e,this.data=n,this.name="SolanaJSONRPCError"}}async function D1(r,e,t,n){const i=n&&{skipPreflight:n.skipPreflight,preflightCommitment:n.preflightCommitment||n.commitment,maxRetries:n.maxRetries,minContextSlot:n.minContextSlot},s=await r.sendTransaction(e,t,i);let o;if(e.recentBlockhash!=null&&e.lastValidBlockHeight!=null)o=(await r.confirmTransaction({abortSignal:n==null?void 0:n.abortSignal,signature:s,blockhash:e.recentBlockhash,lastValidBlockHeight:e.lastValidBlockHeight},n&&n.commitment)).value;else if(e.minNonceContextSlot!=null&&e.nonceInfo!=null){const{nonceInstruction:a}=e.nonceInfo,u=a.keys[0].pubkey;o=(await r.confirmTransaction({abortSignal:n==null?void 0:n.abortSignal,minContextSlot:e.minNonceContextSlot,nonceAccountPubkey:u,nonceValue:e.nonceInfo.nonce,signature:s},n&&n.commitment)).value}else(n==null?void 0:n.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 r.confirmTransaction(s,n&&n.commitment)).value;if(o.err)throw s!=null?new na({action:"send",signature:s,transactionMessage:`Status: (${JSON.stringify(o)})`}):new Error(`Transaction ${s} failed (${JSON.stringify(o)})`);return s}function _a(r){return new Promise(e=>setTimeout(e,r))}function gt(r,e){const t=r.layout.span>=0?r.layout.span:jS(r,e),n=Ne.alloc(t),i=Object.assign({instruction:r.index},e);return r.layout.encode(i,n),n}function It(r,e){let t;try{t=r.layout.decode(e)}catch(n){throw new Error("invalid instruction; "+n)}if(t.instruction!==r.index)throw new Error(`invalid instruction; instruction index mismatch ${t.instruction} != ${r.index}`);return t}const ZS=Kr("lamportsPerSignature"),QS=Pe([Be("version"),Be("state"),ut("authorizedPubkey"),ut("nonce"),Pe([ZS],"feeCalculator")]),$1=QS.span;class qp{constructor(e){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=e.authorizedPubkey,this.nonce=e.nonce,this.feeCalculator=e.feeCalculator}static fromAccountData(e){const t=QS.decode(st(e),0);return new qp({authorizedPubkey:new me(t.authorizedPubkey),nonce:new me(t.nonce).toString(),feeCalculator:t.feeCalculator})}}const nJ=r=>{const e=r.decode.bind(r),t=r.encode.bind(r);return{decode:e,encode:t}},iJ=r=>e=>{const t=Kt(r,e),{encode:n,decode:i}=nJ(t),s=t;return s.decode=(o,a)=>{const u=i(o,a);return SZ(Ne.from(u))},s.encode=(o,a,u)=>{const l=IS(o,r);return n(l,a,u)},s},yl=iJ(8);class sJ{constructor(){}static decodeInstructionType(e){this.checkProgramId(e.programId);const n=Be("instruction").decode(e.data);let i;for(const[s,o]of Object.entries(Ht))if(o.index==n){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a SystemInstruction");return i}static decodeCreateAccount(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,2);const{lamports:t,space:n,programId:i}=It(Ht.Create,e.data);return{fromPubkey:e.keys[0].pubkey,newAccountPubkey:e.keys[1].pubkey,lamports:t,space:n,programId:new me(i)}}static decodeTransfer(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,2);const{lamports:t}=It(Ht.Transfer,e.data);return{fromPubkey:e.keys[0].pubkey,toPubkey:e.keys[1].pubkey,lamports:t}}static decodeTransferWithSeed(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{lamports:t,seed:n,programId:i}=It(Ht.TransferWithSeed,e.data);return{fromPubkey:e.keys[0].pubkey,basePubkey:e.keys[1].pubkey,toPubkey:e.keys[2].pubkey,lamports:t,seed:n,programId:new me(i)}}static decodeAllocate(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,1);const{space:t}=It(Ht.Allocate,e.data);return{accountPubkey:e.keys[0].pubkey,space:t}}static decodeAllocateWithSeed(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,1);const{base:t,seed:n,space:i,programId:s}=It(Ht.AllocateWithSeed,e.data);return{accountPubkey:e.keys[0].pubkey,basePubkey:new me(t),seed:n,space:i,programId:new me(s)}}static decodeAssign(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,1);const{programId:t}=It(Ht.Assign,e.data);return{accountPubkey:e.keys[0].pubkey,programId:new me(t)}}static decodeAssignWithSeed(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,1);const{base:t,seed:n,programId:i}=It(Ht.AssignWithSeed,e.data);return{accountPubkey:e.keys[0].pubkey,basePubkey:new me(t),seed:n,programId:new me(i)}}static decodeCreateWithSeed(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,2);const{base:t,seed:n,lamports:i,space:s,programId:o}=It(Ht.CreateWithSeed,e.data);return{fromPubkey:e.keys[0].pubkey,newAccountPubkey:e.keys[1].pubkey,basePubkey:new me(t),seed:n,lamports:i,space:s,programId:new me(o)}}static decodeNonceInitialize(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{authorized:t}=It(Ht.InitializeNonceAccount,e.data);return{noncePubkey:e.keys[0].pubkey,authorizedPubkey:new me(t)}}static decodeNonceAdvance(e){return this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3),It(Ht.AdvanceNonceAccount,e.data),{noncePubkey:e.keys[0].pubkey,authorizedPubkey:e.keys[2].pubkey}}static decodeNonceWithdraw(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,5);const{lamports:t}=It(Ht.WithdrawNonceAccount,e.data);return{noncePubkey:e.keys[0].pubkey,toPubkey:e.keys[1].pubkey,authorizedPubkey:e.keys[4].pubkey,lamports:t}}static decodeNonceAuthorize(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,2);const{authorized:t}=It(Ht.AuthorizeNonceAccount,e.data);return{noncePubkey:e.keys[0].pubkey,authorizedPubkey:e.keys[1].pubkey,newAuthorizedPubkey:new me(t)}}static checkProgramId(e){if(!e.equals(Nr.programId))throw new Error("invalid instruction; programId is not SystemProgram")}static checkKeyLength(e,t){if(e.length<t)throw new Error(`invalid instruction; found ${e.length} keys, expected at least ${t}`)}}const Ht=Object.freeze({Create:{index:0,layout:Pe([Be("instruction"),Wn("lamports"),Wn("space"),ut("programId")])},Assign:{index:1,layout:Pe([Be("instruction"),ut("programId")])},Transfer:{index:2,layout:Pe([Be("instruction"),yl("lamports")])},CreateWithSeed:{index:3,layout:Pe([Be("instruction"),ut("base"),Ra("seed"),Wn("lamports"),Wn("space"),ut("programId")])},AdvanceNonceAccount:{index:4,layout:Pe([Be("instruction")])},WithdrawNonceAccount:{index:5,layout:Pe([Be("instruction"),Wn("lamports")])},InitializeNonceAccount:{index:6,layout:Pe([Be("instruction"),ut("authorized")])},AuthorizeNonceAccount:{index:7,layout:Pe([Be("instruction"),ut("authorized")])},Allocate:{index:8,layout:Pe([Be("instruction"),Wn("space")])},AllocateWithSeed:{index:9,layout:Pe([Be("instruction"),ut("base"),Ra("seed"),Wn("space"),ut("programId")])},AssignWithSeed:{index:10,layout:Pe([Be("instruction"),ut("base"),Ra("seed"),ut("programId")])},TransferWithSeed:{index:11,layout:Pe([Be("instruction"),yl("lamports"),Ra("seed"),ut("programId")])},UpgradeNonceAccount:{index:12,layout:Pe([Be("instruction")])}});class Nr{constructor(){}static createAccount(e){const t=Ht.Create,n=gt(t,{lamports:e.lamports,space:e.space,programId:st(e.programId.toBuffer())});return new Bt({keys:[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:n})}static transfer(e){let t,n;if("basePubkey"in e){const i=Ht.TransferWithSeed;t=gt(i,{lamports:BigInt(e.lamports),seed:e.seed,programId:st(e.programId.toBuffer())}),n=[{pubkey:e.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}else{const i=Ht.Transfer;t=gt(i,{lamports:BigInt(e.lamports)}),n=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0}]}return new Bt({keys:n,programId:this.programId,data:t})}static assign(e){let t,n;if("basePubkey"in e){const i=Ht.AssignWithSeed;t=gt(i,{base:st(e.basePubkey.toBuffer()),seed:e.seed,programId:st(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=Ht.Assign;t=gt(i,{programId:st(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new Bt({keys:n,programId:this.programId,data:t})}static createAccountWithSeed(e){const t=Ht.CreateWithSeed,n=gt(t,{base:st(e.basePubkey.toBuffer()),seed:e.seed,lamports:e.lamports,space:e.space,programId:st(e.programId.toBuffer())});let i=[{pubkey:e.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:e.newAccountPubkey,isSigner:!1,isWritable:!0}];return e.basePubkey.equals(e.fromPubkey)||i.push({pubkey:e.basePubkey,isSigner:!0,isWritable:!1}),new Bt({keys:i,programId:this.programId,data:n})}static createNonceAccount(e){const t=new Tt;"basePubkey"in e&&"seed"in e?t.add(Nr.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:$1,programId:this.programId})):t.add(Nr.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.noncePubkey,lamports:e.lamports,space:$1,programId:this.programId}));const n={noncePubkey:e.noncePubkey,authorizedPubkey:e.authorizedPubkey};return t.add(this.nonceInitialize(n)),t}static nonceInitialize(e){const t=Ht.InitializeNonceAccount,n=gt(t,{authorized:st(e.authorizedPubkey.toBuffer())}),i={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:o0,isSigner:!1,isWritable:!1},{pubkey:gl,isSigner:!1,isWritable:!1}],programId:this.programId,data:n};return new Bt(i)}static nonceAdvance(e){const t=Ht.AdvanceNonceAccount,n=gt(t),i={keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:o0,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:n};return new Bt(i)}static nonceWithdraw(e){const t=Ht.WithdrawNonceAccount,n=gt(t,{lamports:e.lamports});return new Bt({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.toPubkey,isSigner:!1,isWritable:!0},{pubkey:o0,isSigner:!1,isWritable:!1},{pubkey:gl,isSigner:!1,isWritable:!1},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:n})}static nonceAuthorize(e){const t=Ht.AuthorizeNonceAccount,n=gt(t,{authorized:st(e.newAuthorizedPubkey.toBuffer())});return new Bt({keys:[{pubkey:e.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:e.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:n})}static allocate(e){let t,n;if("basePubkey"in e){const i=Ht.AllocateWithSeed;t=gt(i,{base:st(e.basePubkey.toBuffer()),seed:e.seed,space:e.space,programId:st(e.programId.toBuffer())}),n=[{pubkey:e.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:e.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=Ht.Allocate;t=gt(i,{space:e.space}),n=[{pubkey:e.accountPubkey,isSigner:!0,isWritable:!0}]}return new Bt({keys:n,programId:this.programId,data:t})}}Nr.programId=new me("11111111111111111111111111111111");const oJ=Vo-300;class yc{constructor(){}static getMinNumSignatures(e){return 2*(Math.ceil(e/yc.chunkSize)+1+1)}static async load(e,t,n,i,s){{const g=await e.getMinimumBalanceForRentExemption(s.length),b=await e.getAccountInfo(n.publicKey,"confirmed");let w=null;if(b!==null){if(b.executable)return console.error("Program load failed, account is already executable"),!1;b.data.length!==s.length&&(w=w||new Tt,w.add(Nr.allocate({accountPubkey:n.publicKey,space:s.length}))),b.owner.equals(i)||(w=w||new Tt,w.add(Nr.assign({accountPubkey:n.publicKey,programId:i}))),b.lamports<g&&(w=w||new Tt,w.add(Nr.transfer({fromPubkey:t.publicKey,toPubkey:n.publicKey,lamports:g-b.lamports})))}else w=new Tt().add(Nr.createAccount({fromPubkey:t.publicKey,newAccountPubkey:n.publicKey,lamports:g>0?g:1,space:s.length,programId:i}));w!==null&&await D1(e,w,[t,n],{commitment:"confirmed"})}const o=Pe([Be("instruction"),Be("offset"),Be("bytesLength"),Be("bytesLengthPadding"),Jr(mt("byte"),jo(Be(),-8),"bytes")]),a=yc.chunkSize;let u=0,l=s,h=[];for(;l.length>0;){const g=l.slice(0,a),b=Ne.alloc(a+16);o.encode({instruction:0,offset:u,bytes:g,bytesLength:0,bytesLengthPadding:0},b);const w=new Tt().add({keys:[{pubkey:n.publicKey,isSigner:!0,isWritable:!0}],programId:i,data:b});h.push(D1(e,w,[t,n],{commitment:"confirmed"})),e._rpcEndpoint.includes("solana.com")&&await _a(1e3/4),u+=a,l=l.slice(a)}await Promise.all(h);{const g=Pe([Be("instruction")]),b=Ne.alloc(g.span);g.encode({instruction:1},b);const w=new Tt().add({keys:[{pubkey:n.publicKey,isSigner:!0,isWritable:!0},{pubkey:gl,isSigner:!1,isWritable:!1}],programId:i,data:b}),I="processed",S=await e.sendTransaction(w,[t,n],{preflightCommitment:I}),{context:x,value:C}=await e.confirmTransaction({signature:S,lastValidBlockHeight:w.lastValidBlockHeight,blockhash:w.recentBlockhash},I);if(C.err)throw new Error(`Transaction ${S} failed (${JSON.stringify(C)})`);for(;;){try{if(await e.getSlot({commitment:I})>x.slot)break}catch{}await new Promise(H=>setTimeout(H,Math.round(qS/2)))}}return!0}}yc.chunkSize=oJ;const aJ=new me("BPFLoader2111111111111111111111111111111111");class cJ{static getMinNumSignatures(e){return yc.getMinNumSignatures(e)}static load(e,t,n,i,s){return yc.load(e,t,n,s,i)}}function uJ(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Om,$E;function lJ(){if($E)return Om;$E=1;var r=Object.prototype.toString,e=Object.keys||function(n){var i=[];for(var s in n)i.push(s);return i};function t(n,i){var s,o,a,u,l,h,g;if(n===!0)return"true";if(n===!1)return"false";switch(typeof n){case"object":if(n===null)return null;if(n.toJSON&&typeof n.toJSON=="function")return t(n.toJSON(),i);if(g=r.call(n),g==="[object Array]"){for(a="[",o=n.length-1,s=0;s<o;s++)a+=t(n[s],!0)+",";return o>-1&&(a+=t(n[s],!0)),a+"]"}else if(g==="[object Object]"){for(u=e(n).sort(),o=u.length,a="",s=0;s<o;)l=u[s],h=t(n[l],!1),h!==void 0&&(a&&(a+=","),a+=JSON.stringify(l)+":"+h),s++;return"{"+a+"}"}else return JSON.stringify(n);case"function":case"undefined":return i?null:void 0;case"string":return JSON.stringify(n);default:return isFinite(n)?n:null}}return Om=function(n){var i=t(n,!1);if(i!==void 0)return""+i},Om}var fJ=lJ(),FE=uJ(fJ);const Rf=32;function Nm(r){let e=0;for(;r>1;)r/=2,e++;return e}function hJ(r){return r===0?1:(r--,r|=r>>1,r|=r>>2,r|=r>>4,r|=r>>8,r|=r>>16,r|=r>>32,r+1)}class JS{constructor(e,t,n,i,s){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=e,this.leaderScheduleSlotOffset=t,this.warmup=n,this.firstNormalEpoch=i,this.firstNormalSlot=s}getEpoch(e){return this.getEpochAndSlotIndex(e)[0]}getEpochAndSlotIndex(e){if(e<this.firstNormalSlot){const t=Nm(hJ(e+Rf+1))-Nm(Rf)-1,n=this.getSlotsInEpoch(t),i=e-(n-Rf);return[t,i]}else{const t=e-this.firstNormalSlot,n=Math.floor(t/this.slotsPerEpoch),i=this.firstNormalEpoch+n,s=t%this.slotsPerEpoch;return[i,s]}}getFirstSlotInEpoch(e){return e<=this.firstNormalEpoch?(Math.pow(2,e)-1)*Rf:(e-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(e){return this.getFirstSlotInEpoch(e)+this.getSlotsInEpoch(e)-1}getSlotsInEpoch(e){return e<this.firstNormalEpoch?Math.pow(2,e+Nm(Rf)):this.slotsPerEpoch}}var dJ=globalThis.fetch;class pJ extends pQ{constructor(e,t,n){const i=s=>{const o=hQ(s,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...t});return"socket"in o?this.underlyingSocket=o.socket:this.underlyingSocket=o,o};super(i,e,t,n),this.underlyingSocket=void 0}call(...e){var n;const t=(n=this.underlyingSocket)==null?void 0:n.readyState;return t===1?super.call(...e):Promise.reject(new Error("Tried to call a JSON-RPC method `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+t+")"))}notify(...e){var n;const t=(n=this.underlyingSocket)==null?void 0:n.readyState;return t===1?super.notify(...e):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+e[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+t+")"))}}function gJ(r,e){let t;try{t=r.layout.decode(e)}catch(n){throw new Error("invalid instruction; "+n)}if(t.typeIndex!==r.index)throw new Error(`invalid account data; account type mismatch ${t.typeIndex} != ${r.index}`);return t}const HE=56;class F1{constructor(e){this.key=void 0,this.state=void 0,this.key=e.key,this.state=e.state}isActive(){const e=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===e}static deserialize(e){const t=gJ(yJ,e),n=e.length-HE;At(n>=0,"lookup table is invalid"),At(n%32===0,"lookup table is invalid");const i=n/32,{addresses:s}=Pe([Jr(ut(),i,"addresses")]).decode(e.slice(HE));return{deactivationSlot:t.deactivationSlot,lastExtendedSlot:t.lastExtendedSlot,lastExtendedSlotStartIndex:t.lastExtendedStartIndex,authority:t.authority.length!==0?new me(t.authority[0]):void 0,addresses:s.map(o=>new me(o))}}}const yJ={index:1,layout:Pe([Be("typeIndex"),yl("deactivationSlot"),Kr("lastExtendedSlot"),mt("lastExtendedStartIndex"),mt(),Jr(ut(),jo(mt(),-1),"authority")])},mJ=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function wJ(r){const e=r.match(mJ);if(e==null)throw TypeError(`Failed to validate endpoint URL \`${r}\``);const[t,n,i,s]=e,o=r.startsWith("https:")?"wss:":"ws:",a=i==null?null:parseInt(i.slice(1),10),u=a==null?"":`:${a+1}`;return`${o}//${n}${u}${s}`}const or=od(Sb(me),_e(),r=>new me(r)),YS=kb([_e(),nr("base64")]),Lb=od(Sb(Ne),YS,r=>Ne.from(r[0],"base64")),XS=30*1e3;function bJ(r){if(/^https?:/.test(r)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return r}function $t(r){let e,t;if(typeof r=="string")e=r;else if(r){const{commitment:n,...i}=r;e=n,t=i}return{commitment:e,config:t}}function zE(r){return r.map(e=>"memcmp"in e?{...e,memcmp:{...e.memcmp,encoding:e.memcmp.encoding??"base58"}}:e)}function ek(r){return vn([ge({jsonrpc:nr("2.0"),id:_e(),result:r}),ge({jsonrpc:nr("2.0"),id:_e(),error:ge({code:$l(),message:_e(),data:Fe(LZ())})})])}const _J=ek($l());function it(r){return od(ek(r),_J,e=>"error"in e?e:{...e,result:Ae(e.result,r)})}function vr(r){return it(ge({context:ge({slot:X()}),value:r}))}function Zp(r){return ge({context:ge({slot:X()}),value:r})}function Cm(r,e){return r===0?new gc({header:e.header,staticAccountKeys:e.accountKeys.map(t=>new me(t)),recentBlockhash:e.recentBlockhash,compiledInstructions:e.instructions.map(t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:kr.decode(t.data)})),addressTableLookups:e.addressTableLookups}):new Oi(e)}const AJ=ge({foundation:X(),foundationTerm:X(),initial:X(),taper:X(),terminal:X()}),vJ=it(Re(Ie(ge({epoch:X(),effectiveSlot:X(),amount:X(),postBalance:X(),commission:Fe(Ie(X()))})))),EJ=Re(ge({slot:X(),prioritizationFee:X()})),xJ=ge({total:X(),validator:X(),foundation:X(),epoch:X()}),RJ=ge({epoch:X(),slotIndex:X(),slotsInEpoch:X(),absoluteSlot:X(),blockHeight:Fe(X()),transactionCount:Fe(X())}),IJ=ge({slotsPerEpoch:X(),leaderScheduleSlotOffset:X(),warmup:hs(),firstNormalEpoch:X(),firstNormalSlot:X()}),SJ=TS(_e(),Re(X())),Oc=Ie(vn([ge({}),_e()])),kJ=ge({err:Oc}),TJ=nr("receivedSignature"),OJ=ge({"solana-core":_e(),"feature-set":Fe(X())}),NJ=ge({program:_e(),programId:or,parsed:$l()}),CJ=ge({programId:or,accounts:Re(or),data:_e()}),GE=vr(ge({err:Ie(vn([ge({}),_e()])),logs:Ie(Re(_e())),accounts:Fe(Ie(Re(Ie(ge({executable:hs(),owner:_e(),lamports:X(),data:Re(_e()),rentEpoch:Fe(X())}))))),unitsConsumed:Fe(X()),returnData:Fe(Ie(ge({programId:_e(),data:kb([_e(),nr("base64")])}))),innerInstructions:Fe(Ie(Re(ge({index:X(),instructions:Re(vn([NJ,CJ]))}))))})),BJ=vr(ge({byIdentity:TS(_e(),Re(X())),range:ge({firstSlot:X(),lastSlot:X()})}));function PJ(r,e,t,n,i,s){const o=t||dJ;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 n&&(u=async(h,g)=>{const b=await new Promise((w,I)=>{try{n(h,g,(S,x)=>w([S,x]))}catch(S){I(S)}});return await o(...b)}),new uQ(async(h,g)=>{const b={method:"POST",body:h,agent:a,headers:Object.assign({"Content-Type":"application/json"},e||{},PY)};try{let w=5,I,S=500;for(;u?I=await u(r,b):I=await o(r,b),!(I.status!==429||i===!0||(w-=1,w===0));)console.error(`Server responded with ${I.status} ${I.statusText}. Retrying after ${S}ms delay...`),await _a(S),S*=2;const x=await I.text();I.ok?g(null,x):g(new Error(`${I.status} ${I.statusText}: ${x}`))}catch(w){w instanceof Error&&g(w)}},{})}function MJ(r){return(e,t)=>new Promise((n,i)=>{r.request(e,t,(s,o)=>{if(s){i(s);return}n(o)})})}function LJ(r){return e=>new Promise((t,n)=>{e.length===0&&t([]);const i=e.map(s=>r.request(s.methodName,s.args));r.request(i,(s,o)=>{if(s){n(s);return}t(o)})})}const UJ=it(AJ),DJ=it(xJ),$J=it(EJ),FJ=it(RJ),HJ=it(IJ),zJ=it(SJ),GJ=it(X()),KJ=vr(ge({total:X(),circulating:X(),nonCirculating:X(),nonCirculatingAccounts:Re(or)})),H1=ge({amount:_e(),uiAmount:Ie(X()),decimals:X(),uiAmountString:Fe(_e())}),WJ=vr(Re(ge({address:or,amount:_e(),uiAmount:Ie(X()),decimals:X(),uiAmountString:Fe(_e())}))),jJ=vr(Re(ge({pubkey:or,account:ge({executable:hs(),owner:or,lamports:X(),data:Lb,rentEpoch:X()})}))),z1=ge({program:_e(),parsed:$l(),space:X()}),VJ=vr(Re(ge({pubkey:or,account:ge({executable:hs(),owner:or,lamports:X(),data:z1,rentEpoch:X()})}))),qJ=vr(Re(ge({lamports:X(),address:or}))),hh=ge({executable:hs(),owner:or,lamports:X(),data:Lb,rentEpoch:X()}),ZJ=ge({pubkey:or,account:hh}),QJ=od(vn([Sb(Ne),z1]),vn([YS,z1]),r=>Array.isArray(r)?Ae(r,Lb):r),G1=ge({executable:hs(),owner:or,lamports:X(),data:QJ,rentEpoch:X()}),JJ=ge({pubkey:or,account:G1}),YJ=ge({state:vn([nr("active"),nr("inactive"),nr("activating"),nr("deactivating")]),active:X(),inactive:X()}),XJ=it(Re(ge({signature:_e(),slot:X(),err:Oc,memo:Ie(_e()),blockTime:Fe(Ie(X()))}))),eY=it(Re(ge({signature:_e(),slot:X(),err:Oc,memo:Ie(_e()),blockTime:Fe(Ie(X()))}))),tY=ge({subscription:X(),result:Zp(hh)}),rY=ge({pubkey:or,account:hh}),nY=ge({subscription:X(),result:Zp(rY)}),iY=ge({parent:X(),slot:X(),root:X()}),sY=ge({subscription:X(),result:iY}),oY=vn([ge({type:vn([nr("firstShredReceived"),nr("completed"),nr("optimisticConfirmation"),nr("root")]),slot:X(),timestamp:X()}),ge({type:nr("createdBank"),parent:X(),slot:X(),timestamp:X()}),ge({type:nr("frozen"),slot:X(),timestamp:X(),stats:ge({numTransactionEntries:X(),numSuccessfulTransactions:X(),numFailedTransactions:X(),maxTransactionsPerEntry:X()})}),ge({type:nr("dead"),slot:X(),timestamp:X(),err:_e()})]),aY=ge({subscription:X(),result:oY}),cY=ge({subscription:X(),result:Zp(vn([kJ,TJ]))}),uY=ge({subscription:X(),result:X()}),lY=ge({pubkey:_e(),gossip:Ie(_e()),tpu:Ie(_e()),rpc:Ie(_e()),version:Ie(_e())}),KE=ge({votePubkey:_e(),nodePubkey:_e(),activatedStake:X(),epochVoteAccount:hs(),epochCredits:Re(kb([X(),X(),X()])),commission:X(),lastVote:X(),rootSlot:Ie(X())}),fY=it(ge({current:Re(KE),delinquent:Re(KE)})),hY=vn([nr("processed"),nr("confirmed"),nr("finalized")]),dY=ge({slot:X(),confirmations:Ie(X()),err:Oc,confirmationStatus:Fe(hY)}),pY=vr(Re(Ie(dY))),gY=it(X()),tk=ge({accountKey:or,writableIndexes:Re(X()),readonlyIndexes:Re(X())}),Ub=ge({signatures:Re(_e()),message:ge({accountKeys:Re(_e()),header:ge({numRequiredSignatures:X(),numReadonlySignedAccounts:X(),numReadonlyUnsignedAccounts:X()}),instructions:Re(ge({accounts:Re(X()),data:_e(),programIdIndex:X()})),recentBlockhash:_e(),addressTableLookups:Fe(Re(tk))})}),rk=ge({pubkey:or,signer:hs(),writable:hs(),source:Fe(vn([nr("transaction"),nr("lookupTable")]))}),nk=ge({accountKeys:Re(rk),signatures:Re(_e())}),ik=ge({parsed:$l(),program:_e(),programId:or}),sk=ge({accounts:Re(or),data:_e(),programId:or}),yY=vn([sk,ik]),mY=vn([ge({parsed:$l(),program:_e(),programId:_e()}),ge({accounts:Re(_e()),data:_e(),programId:_e()})]),ok=od(yY,mY,r=>"accounts"in r?Ae(r,sk):Ae(r,ik)),ak=ge({signatures:Re(_e()),message:ge({accountKeys:Re(rk),instructions:Re(ok),recentBlockhash:_e(),addressTableLookups:Fe(Ie(Re(tk)))})}),G0=ge({accountIndex:X(),mint:_e(),owner:Fe(_e()),programId:Fe(_e()),uiTokenAmount:H1}),ck=ge({writable:Re(or),readonly:Re(or)}),Qp=ge({err:Oc,fee:X(),innerInstructions:Fe(Ie(Re(ge({index:X(),instructions:Re(ge({accounts:Re(X()),data:_e(),programIdIndex:X()}))})))),preBalances:Re(X()),postBalances:Re(X()),logMessages:Fe(Ie(Re(_e()))),preTokenBalances:Fe(Ie(Re(G0))),postTokenBalances:Fe(Ie(Re(G0))),loadedAddresses:Fe(ck),computeUnitsConsumed:Fe(X())}),Db=ge({err:Oc,fee:X(),innerInstructions:Fe(Ie(Re(ge({index:X(),instructions:Re(ok)})))),preBalances:Re(X()),postBalances:Re(X()),logMessages:Fe(Ie(Re(_e()))),preTokenBalances:Fe(Ie(Re(G0))),postTokenBalances:Fe(Ie(Re(G0))),loadedAddresses:Fe(ck),computeUnitsConsumed:Fe(X())}),Fl=vn([nr(0),nr("legacy")]),Nc=ge({pubkey:_e(),lamports:X(),postBalance:Ie(X()),rewardType:Ie(_e()),commission:Fe(Ie(X()))}),wY=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),transactions:Re(ge({transaction:Ub,meta:Ie(Qp),version:Fe(Fl)})),rewards:Fe(Re(Nc)),blockTime:Ie(X()),blockHeight:Ie(X())}))),bY=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),rewards:Fe(Re(Nc)),blockTime:Ie(X()),blockHeight:Ie(X())}))),_Y=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),transactions:Re(ge({transaction:nk,meta:Ie(Qp),version:Fe(Fl)})),rewards:Fe(Re(Nc)),blockTime:Ie(X()),blockHeight:Ie(X())}))),AY=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),transactions:Re(ge({transaction:ak,meta:Ie(Db),version:Fe(Fl)})),rewards:Fe(Re(Nc)),blockTime:Ie(X()),blockHeight:Ie(X())}))),vY=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),transactions:Re(ge({transaction:nk,meta:Ie(Db),version:Fe(Fl)})),rewards:Fe(Re(Nc)),blockTime:Ie(X()),blockHeight:Ie(X())}))),EY=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),rewards:Fe(Re(Nc)),blockTime:Ie(X()),blockHeight:Ie(X())}))),xY=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),transactions:Re(ge({transaction:Ub,meta:Ie(Qp)})),rewards:Fe(Re(Nc)),blockTime:Ie(X())}))),WE=it(Ie(ge({blockhash:_e(),previousBlockhash:_e(),parentSlot:X(),signatures:Re(_e()),blockTime:Ie(X())}))),Bm=it(Ie(ge({slot:X(),meta:Ie(Qp),blockTime:Fe(Ie(X())),transaction:Ub,version:Fe(Fl)}))),zd=it(Ie(ge({slot:X(),transaction:ak,meta:Ie(Db),blockTime:Fe(Ie(X())),version:Fe(Fl)}))),RY=vr(ge({blockhash:_e(),lastValidBlockHeight:X()})),IY=vr(hs()),SY=ge({slot:X(),numTransactions:X(),numSlots:X(),samplePeriodSecs:X()}),kY=it(Re(SY)),TY=vr(Ie(ge({feeCalculator:ge({lamportsPerSignature:X()})}))),OY=it(_e()),NY=it(_e()),CY=ge({err:Oc,logs:Re(_e()),signature:_e()}),BY=ge({result:Zp(CY),subscription:X()}),PY={"solana-client":"js/1.0.0-maintenance"};class uk{constructor(e,t){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 l={};return async h=>{const{commitment:g,config:b}=$t(h),w=this._buildArgs([],g,void 0,b),I=FE(w);return l[I]=l[I]??(async()=>{try{const S=await this._rpcRequest("getBlockHeight",w),x=Ae(S,it(X()));if("error"in x)throw new De(x.error,"failed to get block height information");return x.result}finally{delete l[I]}})(),await l[I]}})();let n,i,s,o,a,u;t&&typeof t=="string"?this._commitment=t:t&&(this._commitment=t.commitment,this._confirmTransactionInitialTimeout=t.confirmTransactionInitialTimeout,n=t.wsEndpoint,i=t.httpHeaders,s=t.fetch,o=t.fetchMiddleware,a=t.disableRetryOnRateLimit,u=t.httpAgent),this._rpcEndpoint=bJ(e),this._rpcWsEndpoint=n||wJ(e),this._rpcClient=PJ(e,i,s,o,a,u),this._rpcRequest=MJ(this._rpcClient),this._rpcBatchRequest=LJ(this._rpcClient),this._rpcWebSocket=new pJ(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(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgs([e.toBase58()],n,void 0,i),o=await this._rpcRequest("getBalance",s),a=Ae(o,vr(X()));if("error"in a)throw new De(a.error,`failed to get balance for ${e.toBase58()}`);return a.result}async getBalance(e,t){return await this.getBalanceAndContext(e,t).then(n=>n.value).catch(n=>{throw new Error("failed to get balance of account "+e.toBase58()+": "+n)})}async getBlockTime(e){const t=await this._rpcRequest("getBlockTime",[e]),n=Ae(t,it(Ie(X())));if("error"in n)throw new De(n.error,`failed to get block time for slot ${e}`);return n.result}async getMinimumLedgerSlot(){const e=await this._rpcRequest("minimumLedgerSlot",[]),t=Ae(e,it(X()));if("error"in t)throw new De(t.error,"failed to get minimum ledger slot");return t.result}async getFirstAvailableBlock(){const e=await this._rpcRequest("getFirstAvailableBlock",[]),t=Ae(e,GJ);if("error"in t)throw new De(t.error,"failed to get first available block");return t.result}async getSupply(e){let t={};typeof e=="string"?t={commitment:e}:e?t={...e,commitment:e&&e.commitment||this.commitment}:t={commitment:this.commitment};const n=await this._rpcRequest("getSupply",[t]),i=Ae(n,KJ);if("error"in i)throw new De(i.error,"failed to get supply");return i.result}async getTokenSupply(e,t){const n=this._buildArgs([e.toBase58()],t),i=await this._rpcRequest("getTokenSupply",n),s=Ae(i,vr(H1));if("error"in s)throw new De(s.error,"failed to get token supply");return s.result}async getTokenAccountBalance(e,t){const n=this._buildArgs([e.toBase58()],t),i=await this._rpcRequest("getTokenAccountBalance",n),s=Ae(i,vr(H1));if("error"in s)throw new De(s.error,"failed to get token account balance");return s.result}async getTokenAccountsByOwner(e,t,n){const{commitment:i,config:s}=$t(n);let o=[e.toBase58()];"mint"in t?o.push({mint:t.mint.toBase58()}):o.push({programId:t.programId.toBase58()});const a=this._buildArgs(o,i,"base64",s),u=await this._rpcRequest("getTokenAccountsByOwner",a),l=Ae(u,jJ);if("error"in l)throw new De(l.error,`failed to get token accounts owned by account ${e.toBase58()}`);return l.result}async getParsedTokenAccountsByOwner(e,t,n){let i=[e.toBase58()];"mint"in t?i.push({mint:t.mint.toBase58()}):i.push({programId:t.programId.toBase58()});const s=this._buildArgs(i,n,"jsonParsed"),o=await this._rpcRequest("getTokenAccountsByOwner",s),a=Ae(o,VJ);if("error"in a)throw new De(a.error,`failed to get token accounts owned by account ${e.toBase58()}`);return a.result}async getLargestAccounts(e){const t={...e,commitment:e&&e.commitment||this.commitment},n=t.filter||t.commitment?[t]:[],i=await this._rpcRequest("getLargestAccounts",n),s=Ae(i,qJ);if("error"in s)throw new De(s.error,"failed to get largest accounts");return s.result}async getTokenLargestAccounts(e,t){const n=this._buildArgs([e.toBase58()],t),i=await this._rpcRequest("getTokenLargestAccounts",n),s=Ae(i,WJ);if("error"in s)throw new De(s.error,"failed to get token largest accounts");return s.result}async getAccountInfoAndContext(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgs([e.toBase58()],n,"base64",i),o=await this._rpcRequest("getAccountInfo",s),a=Ae(o,vr(Ie(hh)));if("error"in a)throw new De(a.error,`failed to get info about account ${e.toBase58()}`);return a.result}async getParsedAccountInfo(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgs([e.toBase58()],n,"jsonParsed",i),o=await this._rpcRequest("getAccountInfo",s),a=Ae(o,vr(Ie(G1)));if("error"in a)throw new De(a.error,`failed to get info about account ${e.toBase58()}`);return a.result}async getAccountInfo(e,t){try{return(await this.getAccountInfoAndContext(e,t)).value}catch(n){throw new Error("failed to get info about account "+e.toBase58()+": "+n)}}async getMultipleParsedAccounts(e,t){const{commitment:n,config:i}=$t(t),s=e.map(l=>l.toBase58()),o=this._buildArgs([s],n,"jsonParsed",i),a=await this._rpcRequest("getMultipleAccounts",o),u=Ae(a,vr(Re(Ie(G1))));if("error"in u)throw new De(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfoAndContext(e,t){const{commitment:n,config:i}=$t(t),s=e.map(l=>l.toBase58()),o=this._buildArgs([s],n,"base64",i),a=await this._rpcRequest("getMultipleAccounts",o),u=Ae(a,vr(Re(Ie(hh))));if("error"in u)throw new De(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfo(e,t){return(await this.getMultipleAccountsInfoAndContext(e,t)).value}async getStakeActivation(e,t,n){const{commitment:i,config:s}=$t(t),o=this._buildArgs([e.toBase58()],i,void 0,{...s,epoch:n??(s==null?void 0:s.epoch)}),a=await this._rpcRequest("getStakeActivation",o),u=Ae(a,it(YJ));if("error"in u)throw new De(u.error,`failed to get Stake Activation ${e.toBase58()}`);return u.result}async getProgramAccounts(e,t){const{commitment:n,config:i}=$t(t),{encoding:s,...o}=i||{},a=this._buildArgs([e.toBase58()],n,s||"base64",{...o,...o.filters?{filters:zE(o.filters)}:null}),u=await this._rpcRequest("getProgramAccounts",a),l=Re(ZJ),h=o.withContext===!0?Ae(u,vr(l)):Ae(u,it(l));if("error"in h)throw new De(h.error,`failed to get accounts owned by program ${e.toBase58()}`);return h.result}async getParsedProgramAccounts(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgs([e.toBase58()],n,"jsonParsed",i),o=await this._rpcRequest("getProgramAccounts",s),a=Ae(o,it(Re(JJ)));if("error"in a)throw new De(a.error,`failed to get accounts owned by program ${e.toBase58()}`);return a.result}async confirmTransaction(e,t){var s;let n;if(typeof e=="string")n=e;else{const o=e;if((s=o.abortSignal)!=null&&s.aborted)return Promise.reject(o.abortSignal.reason);n=o.signature}let i;try{i=kr.decode(n)}catch{throw new Error("signature must be base58 encoded: "+n)}return At(i.length===64,"signature has invalid length"),typeof e=="string"?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:t||this.commitment,signature:n}):"lastValidBlockHeight"in e?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t||this.commitment,strategy:e}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:t||this.commitment,strategy:e})}getCancellationPromise(e){return new Promise((t,n)=>{e!=null&&(e.aborted?n(e.reason):e.addEventListener("abort",()=>{n(e.reason)}))})}getTransactionConfirmationPromise({commitment:e,signature:t}){let n,i,s=!1;const o=new Promise((u,l)=>{try{n=this.onSignature(t,(g,b)=>{n=void 0;const w={context:b,value:g};u({__type:vs.PROCESSED,response:w})},e);const h=new Promise(g=>{n==null?g():i=this._onSubscriptionStateChange(n,b=>{b==="subscribed"&&g()})});(async()=>{if(await h,s)return;const g=await this.getSignatureStatus(t);if(s||g==null)return;const{context:b,value:w}=g;if(w!=null)if(w!=null&&w.err)l(w.err);else{switch(e){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:vs.PROCESSED,response:{context:b,value:w}})}})()}catch(h){l(h)}});return{abortConfirmation:()=>{i&&(i(),i=void 0),n!=null&&(this.removeSignatureListener(n),n=void 0)},confirmationPromise:o}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e,strategy:{abortSignal:t,lastValidBlockHeight:n,signature:i}}){let s=!1;const o=new Promise(g=>{const b=async()=>{try{return await this.getBlockHeight(e)}catch{return-1}};(async()=>{let w=await b();if(!s){for(;w<=n;)if(await _a(1e3),s||(w=await b(),s))return;g({__type:vs.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:a,confirmationPromise:u}=this.getTransactionConfirmationPromise({commitment:e,signature:i}),l=this.getCancellationPromise(t);let h;try{const g=await Promise.race([l,u,o]);if(g.__type===vs.PROCESSED)h=g.response;else throw new Nb(i)}finally{s=!0,a()}return h}async confirmTransactionUsingDurableNonceStrategy({commitment:e,strategy:{abortSignal:t,minContextSlot:n,nonceAccountPubkey:i,nonceValue:s,signature:o}}){let a=!1;const u=new Promise(w=>{let I=s,S=null;const x=async()=>{try{const{context:C,value:H}=await this.getNonceAndContext(i,{commitment:e,minContextSlot:n});return S=C.slot,H==null?void 0:H.nonce}catch{return I}};(async()=>{if(I=await x(),!a)for(;;){if(s!==I){w({__type:vs.NONCE_INVALID,slotInWhichNonceDidAdvance:S});return}if(await _a(2e3),a||(I=await x(),a))return}})()}),{abortConfirmation:l,confirmationPromise:h}=this.getTransactionConfirmationPromise({commitment:e,signature:o}),g=this.getCancellationPromise(t);let b;try{const w=await Promise.race([g,h,u]);if(w.__type===vs.PROCESSED)b=w.response;else{let I;for(;;){const S=await this.getSignatureStatus(o);if(S==null)break;if(S.context.slot<(w.slotInWhichNonceDidAdvance??n)){await _a(400);continue}I=S;break}if(I!=null&&I.value){const S=e||"finalized",{confirmationStatus:x}=I.value;switch(S){case"processed":case"recent":if(x!=="processed"&&x!=="confirmed"&&x!=="finalized")throw new iu(o);break;case"confirmed":case"single":case"singleGossip":if(x!=="confirmed"&&x!=="finalized")throw new iu(o);break;case"finalized":case"max":case"root":if(x!=="finalized")throw new iu(o);break;default:}b={context:I.context,value:{err:I.value.err}}}else throw new iu(o)}}finally{a=!0,l()}return b}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:e,signature:t}){let n;const i=new Promise(u=>{let l=this._confirmTransactionInitialTimeout||6e4;switch(e){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":{l=this._confirmTransactionInitialTimeout||3e4;break}}n=setTimeout(()=>u({__type:vs.TIMED_OUT,timeoutMs:l}),l)}),{abortConfirmation:s,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:e,signature:t});let a;try{const u=await Promise.race([o,i]);if(u.__type===vs.PROCESSED)a=u.response;else throw new Cb(t,u.timeoutMs/1e3)}finally{clearTimeout(n),s()}return a}async getClusterNodes(){const e=await this._rpcRequest("getClusterNodes",[]),t=Ae(e,it(Re(lY)));if("error"in t)throw new De(t.error,"failed to get cluster nodes");return t.result}async getVoteAccounts(e){const t=this._buildArgs([],e),n=await this._rpcRequest("getVoteAccounts",t),i=Ae(n,fY);if("error"in i)throw new De(i.error,"failed to get vote accounts");return i.result}async getSlot(e){const{commitment:t,config:n}=$t(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getSlot",i),o=Ae(s,it(X()));if("error"in o)throw new De(o.error,"failed to get slot");return o.result}async getSlotLeader(e){const{commitment:t,config:n}=$t(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getSlotLeader",i),o=Ae(s,it(_e()));if("error"in o)throw new De(o.error,"failed to get slot leader");return o.result}async getSlotLeaders(e,t){const n=[e,t],i=await this._rpcRequest("getSlotLeaders",n),s=Ae(i,it(Re(or)));if("error"in s)throw new De(s.error,"failed to get slot leaders");return s.result}async getSignatureStatus(e,t){const{context:n,value:i}=await this.getSignatureStatuses([e],t);At(i.length===1);const s=i[0];return{context:n,value:s}}async getSignatureStatuses(e,t){const n=[e];t&&n.push(t);const i=await this._rpcRequest("getSignatureStatuses",n),s=Ae(i,pY);if("error"in s)throw new De(s.error,"failed to get signature status");return s.result}async getTransactionCount(e){const{commitment:t,config:n}=$t(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getTransactionCount",i),o=Ae(s,it(X()));if("error"in o)throw new De(o.error,"failed to get transaction count");return o.result}async getTotalSupply(e){return(await this.getSupply({commitment:e,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(e){const t=this._buildArgs([],e),n=await this._rpcRequest("getInflationGovernor",t),i=Ae(n,UJ);if("error"in i)throw new De(i.error,"failed to get inflation");return i.result}async getInflationReward(e,t,n){const{commitment:i,config:s}=$t(n),o=this._buildArgs([e.map(l=>l.toBase58())],i,void 0,{...s,epoch:t??(s==null?void 0:s.epoch)}),a=await this._rpcRequest("getInflationReward",o),u=Ae(a,vJ);if("error"in u)throw new De(u.error,"failed to get inflation reward");return u.result}async getInflationRate(){const e=await this._rpcRequest("getInflationRate",[]),t=Ae(e,DJ);if("error"in t)throw new De(t.error,"failed to get inflation rate");return t.result}async getEpochInfo(e){const{commitment:t,config:n}=$t(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getEpochInfo",i),o=Ae(s,FJ);if("error"in o)throw new De(o.error,"failed to get epoch info");return o.result}async getEpochSchedule(){const e=await this._rpcRequest("getEpochSchedule",[]),t=Ae(e,HJ);if("error"in t)throw new De(t.error,"failed to get epoch schedule");const n=t.result;return new JS(n.slotsPerEpoch,n.leaderScheduleSlotOffset,n.warmup,n.firstNormalEpoch,n.firstNormalSlot)}async getLeaderSchedule(){const e=await this._rpcRequest("getLeaderSchedule",[]),t=Ae(e,zJ);if("error"in t)throw new De(t.error,"failed to get leader schedule");return t.result}async getMinimumBalanceForRentExemption(e,t){const n=this._buildArgs([e],t),i=await this._rpcRequest("getMinimumBalanceForRentExemption",n),s=Ae(i,gY);return"error"in s?(console.warn("Unable to fetch minimum balance for rent exemption"),0):s.result}async getRecentBlockhashAndContext(e){const{context:t,value:{blockhash:n}}=await this.getLatestBlockhashAndContext(e);return{context:t,value:{blockhash:n,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(e){const t=await this._rpcRequest("getRecentPerformanceSamples",e?[e]:[]),n=Ae(t,kY);if("error"in n)throw new De(n.error,"failed to get recent performance samples");return n.result}async getFeeCalculatorForBlockhash(e,t){const n=this._buildArgs([e],t),i=await this._rpcRequest("getFeeCalculatorForBlockhash",n),s=Ae(i,TY);if("error"in s)throw new De(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(e,t){const n=st(e.serialize()).toString("base64"),i=this._buildArgs([n],t),s=await this._rpcRequest("getFeeForMessage",i),o=Ae(s,vr(Ie(X())));if("error"in o)throw new De(o.error,"failed to get fee for message");if(o.result===null)throw new Error("invalid blockhash");return o.result}async getRecentPrioritizationFees(e){var o;const t=(o=e==null?void 0:e.lockedWritableAccounts)==null?void 0:o.map(a=>a.toBase58()),n=t!=null&&t.length?[t]:[],i=await this._rpcRequest("getRecentPrioritizationFees",n),s=Ae(i,$J);if("error"in s)throw new De(s.error,"failed to get recent prioritization fees");return s.result}async getRecentBlockhash(e){try{return(await this.getRecentBlockhashAndContext(e)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhash(e){try{return(await this.getLatestBlockhashAndContext(e)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhashAndContext(e){const{commitment:t,config:n}=$t(e),i=this._buildArgs([],t,void 0,n),s=await this._rpcRequest("getLatestBlockhash",i),o=Ae(s,RY);if("error"in o)throw new De(o.error,"failed to get latest blockhash");return o.result}async isBlockhashValid(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgs([e],n,void 0,i),o=await this._rpcRequest("isBlockhashValid",s),a=Ae(o,IY);if("error"in a)throw new De(a.error,"failed to determine if the blockhash `"+e+"`is valid");return a.result}async getVersion(){const e=await this._rpcRequest("getVersion",[]),t=Ae(e,it(OJ));if("error"in t)throw new De(t.error,"failed to get version");return t.result}async getGenesisHash(){const e=await this._rpcRequest("getGenesisHash",[]),t=Ae(e,it(_e()));if("error"in t)throw new De(t.error,"failed to get genesis hash");return t.result}async getBlock(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgsAtLeastConfirmed([e],n,void 0,i),o=await this._rpcRequest("getBlock",s);try{switch(i==null?void 0:i.transactionDetails){case"accounts":{const a=Ae(o,_Y);if("error"in a)throw a.error;return a.result}case"none":{const a=Ae(o,bY);if("error"in a)throw a.error;return a.result}default:{const a=Ae(o,wY);if("error"in a)throw a.error;const{result:u}=a;return u?{...u,transactions:u.transactions.map(({transaction:l,meta:h,version:g})=>({meta:h,transaction:{...l,message:Cm(g,l.message)},version:g}))}:null}}}catch(a){throw new De(a,"failed to get confirmed block")}}async getParsedBlock(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",i),o=await this._rpcRequest("getBlock",s);try{switch(i==null?void 0:i.transactionDetails){case"accounts":{const a=Ae(o,vY);if("error"in a)throw a.error;return a.result}case"none":{const a=Ae(o,EY);if("error"in a)throw a.error;return a.result}default:{const a=Ae(o,AY);if("error"in a)throw a.error;return a.result}}}catch(a){throw new De(a,"failed to get block")}}async getBlockProduction(e){let t,n;if(typeof e=="string")n=e;else if(e){const{commitment:a,...u}=e;n=a,t=u}const i=this._buildArgs([],n,"base64",t),s=await this._rpcRequest("getBlockProduction",i),o=Ae(s,BJ);if("error"in o)throw new De(o.error,"failed to get block production information");return o.result}async getTransaction(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgsAtLeastConfirmed([e],n,void 0,i),o=await this._rpcRequest("getTransaction",s),a=Ae(o,Bm);if("error"in a)throw new De(a.error,"failed to get transaction");const u=a.result;return u&&{...u,transaction:{...u.transaction,message:Cm(u.version,u.transaction.message)}}}async getParsedTransaction(e,t){const{commitment:n,config:i}=$t(t),s=this._buildArgsAtLeastConfirmed([e],n,"jsonParsed",i),o=await this._rpcRequest("getTransaction",s),a=Ae(o,zd);if("error"in a)throw new De(a.error,"failed to get transaction");return a.result}async getParsedTransactions(e,t){const{commitment:n,config:i}=$t(t),s=e.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],n,"jsonParsed",i)}));return(await this._rpcBatchRequest(s)).map(u=>{const l=Ae(u,zd);if("error"in l)throw new De(l.error,"failed to get transactions");return l.result})}async getTransactions(e,t){const{commitment:n,config:i}=$t(t),s=e.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],n,void 0,i)}));return(await this._rpcBatchRequest(s)).map(u=>{const l=Ae(u,Bm);if("error"in l)throw new De(l.error,"failed to get transactions");const h=l.result;return h&&{...h,transaction:{...h.transaction,message:Cm(h.version,h.transaction.message)}}})}async getConfirmedBlock(e,t){const n=this._buildArgsAtLeastConfirmed([e],t),i=await this._rpcRequest("getBlock",n),s=Ae(i,xY);if("error"in s)throw new De(s.error,"failed to get confirmed block");const o=s.result;if(!o)throw new Error("Confirmed block "+e+" not found");const a={...o,transactions:o.transactions.map(({transaction:u,meta:l})=>{const h=new Oi(u.message);return{meta:l,transaction:{...u,message:h}}})};return{...a,transactions:a.transactions.map(({transaction:u,meta:l})=>({meta:l,transaction:Tt.populate(u.message,u.signatures)}))}}async getBlocks(e,t,n){const i=this._buildArgsAtLeastConfirmed(t!==void 0?[e,t]:[e],n),s=await this._rpcRequest("getBlocks",i),o=Ae(s,it(Re(X())));if("error"in o)throw new De(o.error,"failed to get blocks");return o.result}async getBlockSignatures(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),i=await this._rpcRequest("getBlock",n),s=Ae(i,WE);if("error"in s)throw new De(s.error,"failed to get block");const o=s.result;if(!o)throw new Error("Block "+e+" not found");return o}async getConfirmedBlockSignatures(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,void 0,{transactionDetails:"signatures",rewards:!1}),i=await this._rpcRequest("getBlock",n),s=Ae(i,WE);if("error"in s)throw new De(s.error,"failed to get confirmed block");const o=s.result;if(!o)throw new Error("Confirmed block "+e+" not found");return o}async getConfirmedTransaction(e,t){const n=this._buildArgsAtLeastConfirmed([e],t),i=await this._rpcRequest("getTransaction",n),s=Ae(i,Bm);if("error"in s)throw new De(s.error,"failed to get transaction");const o=s.result;if(!o)return o;const a=new Oi(o.transaction.message),u=o.transaction.signatures;return{...o,transaction:Tt.populate(a,u)}}async getParsedConfirmedTransaction(e,t){const n=this._buildArgsAtLeastConfirmed([e],t,"jsonParsed"),i=await this._rpcRequest("getTransaction",n),s=Ae(i,zd);if("error"in s)throw new De(s.error,"failed to get confirmed transaction");return s.result}async getParsedConfirmedTransactions(e,t){const n=e.map(o=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([o],t,"jsonParsed")}));return(await this._rpcBatchRequest(n)).map(o=>{const a=Ae(o,zd);if("error"in a)throw new De(a.error,"failed to get confirmed transactions");return a.result})}async getConfirmedSignaturesForAddress(e,t,n){let i={},s=await this.getFirstAvailableBlock();for(;!("until"in i)&&(t--,!(t<=0||t<s));)try{const u=await this.getConfirmedBlockSignatures(t,"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)&&(n++,!(n>o));)try{const u=await this.getConfirmedBlockSignatures(n);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(e,i)).map(u=>u.signature)}async getConfirmedSignaturesForAddress2(e,t,n){const i=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),s=await this._rpcRequest("getConfirmedSignaturesForAddress2",i),o=Ae(s,XJ);if("error"in o)throw new De(o.error,"failed to get confirmed signatures for address");return o.result}async getSignaturesForAddress(e,t,n){const i=this._buildArgsAtLeastConfirmed([e.toBase58()],n,void 0,t),s=await this._rpcRequest("getSignaturesForAddress",i),o=Ae(s,eY);if("error"in o)throw new De(o.error,"failed to get signatures for address");return o.result}async getAddressLookupTable(e,t){const{context:n,value:i}=await this.getAccountInfoAndContext(e,t);let s=null;return i!==null&&(s=new F1({key:e,state:F1.deserialize(i.data)})),{context:n,value:s}}async getNonceAndContext(e,t){const{context:n,value:i}=await this.getAccountInfoAndContext(e,t);let s=null;return i!==null&&(s=qp.fromAccountData(i.data)),{context:n,value:s}}async getNonce(e,t){return await this.getNonceAndContext(e,t).then(n=>n.value).catch(n=>{throw new Error("failed to get nonce for account "+e.toBase58()+": "+n)})}async requestAirdrop(e,t){const n=await this._rpcRequest("requestAirdrop",[e.toBase58(),t]),i=Ae(n,OY);if("error"in i)throw new De(i.error,`airdrop to ${e.toBase58()} failed`);return i.result}async _blockhashWithExpiryBlockHeight(e){if(!e){for(;this._pollingBlockhash;)await _a(100);const n=Date.now()-this._blockhashInfo.lastFetch>=XS;if(this._blockhashInfo.latestBlockhash!==null&&!n)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{const e=Date.now(),t=this._blockhashInfo.latestBlockhash,n=t?t.blockhash:null;for(let i=0;i<50;i++){const s=await this.getLatestBlockhash("finalized");if(n!==s.blockhash)return this._blockhashInfo={latestBlockhash:s,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},s;await _a(qS/2)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-e}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(e){const{commitment:t,config:n}=$t(e),i=this._buildArgs([],t,"base64",n),s=await this._rpcRequest("getStakeMinimumDelegation",i),o=Ae(s,vr(X()));if("error"in o)throw new De(o.error,"failed to get stake minimum delegation");return o.result}async simulateTransaction(e,t,n){if("message"in e){const S=e.serialize(),x=Ne.from(S).toString("base64");if(Array.isArray(t)||n!==void 0)throw new Error("Invalid arguments");const C=t||{};C.encoding="base64","commitment"in C||(C.commitment=this.commitment),t&&typeof t=="object"&&"innerInstructions"in t&&(C.innerInstructions=t.innerInstructions);const H=[x,C],D=await this._rpcRequest("simulateTransaction",H),z=Ae(D,GE);if("error"in z)throw new Error("failed to simulate transaction: "+z.error.message);return z.result}let i;if(e instanceof Tt){let I=e;i=new Tt,i.feePayer=I.feePayer,i.instructions=e.instructions,i.nonceInfo=I.nonceInfo,i.signatures=I.signatures}else i=Tt.populate(e),i._message=i._json=void 0;if(t!==void 0&&!Array.isArray(t))throw new Error("Invalid arguments");const s=t;if(i.nonceInfo&&s)i.sign(...s);else{let I=this._disableBlockhashCaching;for(;;){const S=await this._blockhashWithExpiryBlockHeight(I);if(i.lastValidBlockHeight=S.lastValidBlockHeight,i.recentBlockhash=S.blockhash,!s)break;if(i.sign(...s),!i.signature)throw new Error("!signature");const x=i.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(x)&&!this._blockhashInfo.transactionSignatures.includes(x)){this._blockhashInfo.simulatedSignatures.push(x);break}else I=!0}}const o=i._compile(),a=o.serialize(),l=i._serialize(a).toString("base64"),h={encoding:"base64",commitment:this.commitment};if(n){const I=(Array.isArray(n)?n:o.nonProgramIds()).map(S=>S.toBase58());h.accounts={encoding:"base64",addresses:I}}s&&(h.sigVerify=!0),t&&typeof t=="object"&&"innerInstructions"in t&&(h.innerInstructions=t.innerInstructions);const g=[l,h],b=await this._rpcRequest("simulateTransaction",g),w=Ae(b,GE);if("error"in w){let I;if("data"in w.error&&(I=w.error.data.logs,I&&Array.isArray(I))){const S=`
25
- `,x=S+I.join(S);console.error(w.error.message,x)}throw new na({action:"simulate",signature:"",transactionMessage:w.error.message,logs:I})}return w.result}async sendTransaction(e,t,n){if("version"in e){if(t&&Array.isArray(t))throw new Error("Invalid arguments");const o=e.serialize();return await this.sendRawTransaction(o,t)}if(t===void 0||!Array.isArray(t))throw new Error("Invalid arguments");const i=t;if(e.nonceInfo)e.sign(...i);else{let o=this._disableBlockhashCaching;for(;;){const a=await this._blockhashWithExpiryBlockHeight(o);if(e.lastValidBlockHeight=a.lastValidBlockHeight,e.recentBlockhash=a.blockhash,e.sign(...i),!e.signature)throw new Error("!signature");const u=e.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(u))o=!0;else{this._blockhashInfo.transactionSignatures.push(u);break}}}const s=e.serialize();return await this.sendRawTransaction(s,n)}async sendRawTransaction(e,t){const n=st(e).toString("base64");return await this.sendEncodedTransaction(n,t)}async sendEncodedTransaction(e,t){const n={encoding:"base64"},i=t&&t.skipPreflight,s=i===!0?"processed":t&&t.preflightCommitment||this.commitment;t&&t.maxRetries!=null&&(n.maxRetries=t.maxRetries),t&&t.minContextSlot!=null&&(n.minContextSlot=t.minContextSlot),i&&(n.skipPreflight=i),s&&(n.preflightCommitment=s);const o=[e,n],a=await this._rpcRequest("sendTransaction",o),u=Ae(a,NY);if("error"in u){let l;throw"data"in u.error&&(l=u.error.data.logs),new na({action:i?"send":"simulate",signature:"",transactionMessage:u.error.message,logs:l})}return u.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(e){this._rpcWebSocketConnected=!1,console.error("ws error:",e.message)}_wsOnClose(e){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),e===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([t,n])=>{this._setSubscription(t,{...n,state:"pending"})})}_setSubscription(e,t){var i;const n=(i=this._subscriptionsByHash[e])==null?void 0:i.state;if(this._subscriptionsByHash[e]=t,n!==t.state){const s=this._subscriptionStateChangeCallbacksByHash[e];s&&s.forEach(o=>{try{o(t.state)}catch{}})}}_onSubscriptionStateChange(e,t){var s;const n=this._subscriptionHashByClientSubscriptionId[e];if(n==null)return()=>{};const i=(s=this._subscriptionStateChangeCallbacksByHash)[n]||(s[n]=new Set);return i.add(t),()=>{i.delete(t),i.size===0&&delete this._subscriptionStateChangeCallbacksByHash[n]}}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(n){n instanceof Error&&console.log(`Error when closing socket connection: ${n.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}const e=this._rpcWebSocketGeneration,t=()=>e===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async n=>{const i=this._subscriptionsByHash[n];if(i!==void 0)switch(i.state){case"pending":case"unsubscribed":if(i.callbacks.size===0){delete this._subscriptionsByHash[n],i.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[i.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{const{args:s,method:o}=i;try{this._setSubscription(n,{...i,state:"subscribing"});const a=await this._rpcWebSocket.call(o,s);this._setSubscription(n,{...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}),!t())return;this._setSubscription(n,{...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(n,{...i,state:"unsubscribing"}),this._setSubscription(n,{...i,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[s])}catch(a){if(a instanceof Error&&console.error(`${o} error:`,a.message),!t())return;this._setSubscription(n,{...i,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(n,{...i,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(e,t){const n=this._subscriptionCallbacksByServerSubscriptionId[e];n!==void 0&&n.forEach(i=>{try{i(...t)}catch(s){console.error(s)}})}_wsOnAccountNotification(e){const{result:t,subscription:n}=Ae(e,tY);this._handleServerNotification(n,[t.value,t.context])}_makeSubscription(e,t){const n=this._nextClientSubscriptionId++,i=FE([e.method,t]),s=this._subscriptionsByHash[i];return s===void 0?this._subscriptionsByHash[i]={...e,args:t,callbacks:new Set([e.callback]),state:"pending"}:s.callbacks.add(e.callback),this._subscriptionHashByClientSubscriptionId[n]=i,this._subscriptionDisposeFunctionsByClientSubscriptionId[n]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[n],delete this._subscriptionHashByClientSubscriptionId[n];const o=this._subscriptionsByHash[i];At(o!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${n}`),o.callbacks.delete(e.callback),await this._updateSubscriptions()},this._updateSubscriptions(),n}onAccountChange(e,t,n){const{commitment:i,config:s}=$t(n),o=this._buildArgs([e.toBase58()],i||this._commitment||"finalized","base64",s);return this._makeSubscription({callback:t,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"account change")}_wsOnProgramAccountNotification(e){const{result:t,subscription:n}=Ae(e,nY);this._handleServerNotification(n,[{accountId:t.value.pubkey,accountInfo:t.value.account},t.context])}onProgramAccountChange(e,t,n,i){const{commitment:s,config:o}=$t(n),a=this._buildArgs([e.toBase58()],s||this._commitment||"finalized","base64",o||(i?{filters:zE(i)}:void 0));return this._makeSubscription({callback:t,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},a)}async removeProgramAccountChangeListener(e){await this._unsubscribeClientSubscription(e,"program account change")}onLogs(e,t,n){const i=this._buildArgs([typeof e=="object"?{mentions:[e.toString()]}:e],n||this._commitment||"finalized");return this._makeSubscription({callback:t,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},i)}async removeOnLogsListener(e){await this._unsubscribeClientSubscription(e,"logs")}_wsOnLogsNotification(e){const{result:t,subscription:n}=Ae(e,BY);this._handleServerNotification(n,[t.value,t.context])}_wsOnSlotNotification(e){const{result:t,subscription:n}=Ae(e,sY);this._handleServerNotification(n,[t])}onSlotChange(e){return this._makeSubscription({callback:e,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(e){await this._unsubscribeClientSubscription(e,"slot change")}_wsOnSlotUpdatesNotification(e){const{result:t,subscription:n}=Ae(e,aY);this._handleServerNotification(n,[t])}onSlotUpdate(e){return this._makeSubscription({callback:e,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(e){await this._unsubscribeClientSubscription(e,"slot update")}async _unsubscribeClientSubscription(e,t){const n=this._subscriptionDisposeFunctionsByClientSubscriptionId[e];n?await n():console.warn(`Ignored unsubscribe request because an active subscription with id \`${e}\` for '${t}' events could not be found.`)}_buildArgs(e,t,n,i){const s=t||this._commitment;if(s||n||i){let o={};n&&(o.encoding=n),s&&(o.commitment=s),i&&(o=Object.assign(o,i)),e.push(o)}return e}_buildArgsAtLeastConfirmed(e,t,n,i){const s=t||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(e,t,n,i)}_wsOnSignatureNotification(e){const{result:t,subscription:n}=Ae(e,cY);t.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(n),this._handleServerNotification(n,t.value==="receivedSignature"?[{type:"received"},t.context]:[{type:"status",result:t.value},t.context])}onSignature(e,t,n){const i=this._buildArgs([e],n||this._commitment||"finalized"),s=this._makeSubscription({callback:(o,a)=>{if(o.type==="status"){t(o.result,a);try{this.removeSignatureListener(s)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},i);return s}onSignatureWithOptions(e,t,n){const{commitment:i,...s}={...n,commitment:n&&n.commitment||this._commitment||"finalized"},o=this._buildArgs([e],i,void 0,s),a=this._makeSubscription({callback:(u,l)=>{t(u,l);try{this.removeSignatureListener(a)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return a}async removeSignatureListener(e){await this._unsubscribeClientSubscription(e,"signature result")}_wsOnRootNotification(e){const{result:t,subscription:n}=Ae(e,uY);this._handleServerNotification(n,[t])}onRootChange(e){return this._makeSubscription({callback:e,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(e){await this._unsubscribeClientSubscription(e,"root change")}}class sc{constructor(e){this._keypair=void 0,this._keypair=e??LE()}static generate(){return new sc(LE())}static fromSecretKey(e,t){if(e.byteLength!==64)throw new Error("bad secret key size");const n=e.slice(32,64);if(!t||!t.skipValidation){const i=e.slice(0,32),s=z0(i);for(let o=0;o<32;o++)if(n[o]!==s[o])throw new Error("provided secretKey is invalid")}return new sc({publicKey:n,secretKey:e})}static fromSeed(e){const t=z0(e),n=new Uint8Array(64);return n.set(e),n.set(t,32),new sc({publicKey:t,secretKey:n})}get publicKey(){return new me(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const js=Object.freeze({CreateLookupTable:{index:0,layout:Pe([Be("instruction"),yl("recentSlot"),mt("bumpSeed")])},FreezeLookupTable:{index:1,layout:Pe([Be("instruction")])},ExtendLookupTable:{index:2,layout:Pe([Be("instruction"),yl(),Jr(ut(),jo(Be(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:Pe([Be("instruction")])},CloseLookupTable:{index:4,layout:Pe([Be("instruction")])}});class MY{constructor(){}static decodeInstructionType(e){this.checkProgramId(e.programId);const n=Be("instruction").decode(e.data);let i;for(const[s,o]of Object.entries(js))if(o.index==n){i=s;break}if(!i)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return i}static decodeCreateLookupTable(e){this.checkProgramId(e.programId),this.checkKeysLength(e.keys,4);const{recentSlot:t}=It(js.CreateLookupTable,e.data);return{authority:e.keys[1].pubkey,payer:e.keys[2].pubkey,recentSlot:Number(t)}}static decodeExtendLookupTable(e){if(this.checkProgramId(e.programId),e.keys.length<2)throw new Error(`invalid instruction; found ${e.keys.length} keys, expected at least 2`);const{addresses:t}=It(js.ExtendLookupTable,e.data);return{lookupTable:e.keys[0].pubkey,authority:e.keys[1].pubkey,payer:e.keys.length>2?e.keys[2].pubkey:void 0,addresses:t.map(n=>new me(n))}}static decodeCloseLookupTable(e){return this.checkProgramId(e.programId),this.checkKeysLength(e.keys,3),{lookupTable:e.keys[0].pubkey,authority:e.keys[1].pubkey,recipient:e.keys[2].pubkey}}static decodeFreezeLookupTable(e){return this.checkProgramId(e.programId),this.checkKeysLength(e.keys,2),{lookupTable:e.keys[0].pubkey,authority:e.keys[1].pubkey}}static decodeDeactivateLookupTable(e){return this.checkProgramId(e.programId),this.checkKeysLength(e.keys,2),{lookupTable:e.keys[0].pubkey,authority:e.keys[1].pubkey}}static checkProgramId(e){if(!e.equals($b.programId))throw new Error("invalid instruction; programId is not AddressLookupTable Program")}static checkKeysLength(e,t){if(e.length<t)throw new Error(`invalid instruction; found ${e.length} keys, expected at least ${t}`)}}class $b{constructor(){}static createLookupTable(e){const[t,n]=me.findProgramAddressSync([e.authority.toBuffer(),IS(BigInt(e.recentSlot),8)],this.programId),i=js.CreateLookupTable,s=gt(i,{recentSlot:BigInt(e.recentSlot),bumpSeed:n}),o=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1},{pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Nr.programId,isSigner:!1,isWritable:!1}];return[new Bt({programId:this.programId,keys:o,data:s}),t]}static freezeLookupTable(e){const t=js.FreezeLookupTable,n=gt(t),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Bt({programId:this.programId,keys:i,data:n})}static extendLookupTable(e){const t=js.ExtendLookupTable,n=gt(t,{addresses:e.addresses.map(s=>s.toBytes())}),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return e.payer&&i.push({pubkey:e.payer,isSigner:!0,isWritable:!0},{pubkey:Nr.programId,isSigner:!1,isWritable:!1}),new Bt({programId:this.programId,keys:i,data:n})}static deactivateLookupTable(e){const t=js.DeactivateLookupTable,n=gt(t),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1}];return new Bt({programId:this.programId,keys:i,data:n})}static closeLookupTable(e){const t=js.CloseLookupTable,n=gt(t),i=[{pubkey:e.lookupTable,isSigner:!1,isWritable:!0},{pubkey:e.authority,isSigner:!0,isWritable:!1},{pubkey:e.recipient,isSigner:!1,isWritable:!0}];return new Bt({programId:this.programId,keys:i,data:n})}}$b.programId=new me("AddressLookupTab1e1111111111111111111111111");class LY{constructor(){}static decodeInstructionType(e){this.checkProgramId(e.programId);const n=mt("instruction").decode(e.data);let i;for(const[s,o]of Object.entries(Yi))if(o.index==n){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return i}static decodeRequestUnits(e){this.checkProgramId(e.programId);const{units:t,additionalFee:n}=It(Yi.RequestUnits,e.data);return{units:t,additionalFee:n}}static decodeRequestHeapFrame(e){this.checkProgramId(e.programId);const{bytes:t}=It(Yi.RequestHeapFrame,e.data);return{bytes:t}}static decodeSetComputeUnitLimit(e){this.checkProgramId(e.programId);const{units:t}=It(Yi.SetComputeUnitLimit,e.data);return{units:t}}static decodeSetComputeUnitPrice(e){this.checkProgramId(e.programId);const{microLamports:t}=It(Yi.SetComputeUnitPrice,e.data);return{microLamports:t}}static checkProgramId(e){if(!e.equals(Fb.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}}const Yi=Object.freeze({RequestUnits:{index:0,layout:Pe([mt("instruction"),Be("units"),Be("additionalFee")])},RequestHeapFrame:{index:1,layout:Pe([mt("instruction"),Be("bytes")])},SetComputeUnitLimit:{index:2,layout:Pe([mt("instruction"),Be("units")])},SetComputeUnitPrice:{index:3,layout:Pe([mt("instruction"),yl("microLamports")])}});class Fb{constructor(){}static requestUnits(e){const t=Yi.RequestUnits,n=gt(t,e);return new Bt({keys:[],programId:this.programId,data:n})}static requestHeapFrame(e){const t=Yi.RequestHeapFrame,n=gt(t,e);return new Bt({keys:[],programId:this.programId,data:n})}static setComputeUnitLimit(e){const t=Yi.SetComputeUnitLimit,n=gt(t,e);return new Bt({keys:[],programId:this.programId,data:n})}static setComputeUnitPrice(e){const t=Yi.SetComputeUnitPrice,n=gt(t,{microLamports:BigInt(e.microLamports)});return new Bt({keys:[],programId:this.programId,data:n})}}Fb.programId=new me("ComputeBudget111111111111111111111111111111");const jE=64,VE=32,qE=64,ZE=Pe([mt("numSignatures"),mt("padding"),ai("signatureOffset"),ai("signatureInstructionIndex"),ai("publicKeyOffset"),ai("publicKeyInstructionIndex"),ai("messageDataOffset"),ai("messageDataSize"),ai("messageInstructionIndex")]);class Jp{constructor(){}static createInstructionWithPublicKey(e){const{publicKey:t,message:n,signature:i,instructionIndex:s}=e;At(t.length===VE,`Public Key must be ${VE} bytes but received ${t.length} bytes`),At(i.length===qE,`Signature must be ${qE} bytes but received ${i.length} bytes`);const o=ZE.span,a=o+t.length,u=a+i.length,l=1,h=Ne.alloc(u+n.length),g=s??65535;return ZE.encode({numSignatures:l,padding:0,signatureOffset:a,signatureInstructionIndex:g,publicKeyOffset:o,publicKeyInstructionIndex:g,messageDataOffset:u,messageDataSize:n.length,messageInstructionIndex:g},h),h.fill(t,o),h.fill(i,a),h.fill(n,u),new Bt({keys:[],programId:Jp.programId,data:h})}static createInstructionWithPrivateKey(e){const{privateKey:t,message:n,instructionIndex:i}=e;At(t.length===jE,`Private key must be ${jE} bytes but received ${t.length} bytes`);try{const s=sc.fromSecretKey(t),o=s.publicKey.toBytes(),a=Tb(n,s.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:a,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}}Jp.programId=new me("Ed25519SigVerify111111111111111111111111111");const UY=(r,e)=>{const t=Wp.sign(r,e);return[t.toCompactRawBytes(),t.recovery]};Wp.utils.isValidPrivateKey;const DY=Wp.getPublicKey,QE=32,Pm=20,JE=64,$Y=11,Mm=Pe([mt("numSignatures"),ai("signatureOffset"),mt("signatureInstructionIndex"),ai("ethAddressOffset"),mt("ethAddressInstructionIndex"),ai("messageDataOffset"),ai("messageDataSize"),mt("messageInstructionIndex"),Kt(20,"ethAddress"),Kt(64,"signature"),mt("recoveryId")]);class pu{constructor(){}static publicKeyToEthAddress(e){At(e.length===JE,`Public key must be ${JE} bytes but received ${e.length} bytes`);try{return Ne.from(NE(st(e))).slice(-Pm)}catch(t){throw new Error(`Error constructing Ethereum address: ${t}`)}}static createInstructionWithPublicKey(e){const{publicKey:t,message:n,signature:i,recoveryId:s,instructionIndex:o}=e;return pu.createInstructionWithEthAddress({ethAddress:pu.publicKeyToEthAddress(t),message:n,signature:i,recoveryId:s,instructionIndex:o})}static createInstructionWithEthAddress(e){const{ethAddress:t,message:n,signature:i,recoveryId:s,instructionIndex:o=0}=e;let a;typeof t=="string"?t.startsWith("0x")?a=Ne.from(t.substr(2),"hex"):a=Ne.from(t,"hex"):a=t,At(a.length===Pm,`Address must be ${Pm} bytes but received ${a.length} bytes`);const u=1+$Y,l=u,h=u+a.length,g=h+i.length+1,b=1,w=Ne.alloc(Mm.span+n.length);return Mm.encode({numSignatures:b,signatureOffset:h,signatureInstructionIndex:o,ethAddressOffset:l,ethAddressInstructionIndex:o,messageDataOffset:g,messageDataSize:n.length,messageInstructionIndex:o,signature:st(i),ethAddress:st(a),recoveryId:s},w),w.fill(st(n),Mm.span),new Bt({keys:[],programId:pu.programId,data:w})}static createInstructionWithPrivateKey(e){const{privateKey:t,message:n,instructionIndex:i}=e;At(t.length===QE,`Private key must be ${QE} bytes but received ${t.length} bytes`);try{const s=st(t),o=DY(s,!1).slice(1),a=Ne.from(NE(st(n))),[u,l]=UY(a,s);return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:u,recoveryId:l,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}}pu.programId=new me("KeccakSecp256k11111111111111111111111111111");var lk;const fk=new me("StakeConfig11111111111111111111111111111111");class hk{constructor(e,t){this.staker=void 0,this.withdrawer=void 0,this.staker=e,this.withdrawer=t}}class ad{constructor(e,t,n){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=n}}lk=ad;ad.default=new lk(0,0,me.default);class FY{constructor(){}static decodeInstructionType(e){this.checkProgramId(e.programId);const n=Be("instruction").decode(e.data);let i;for(const[s,o]of Object.entries(Dr))if(o.index==n){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a StakeInstruction");return i}static decodeInitialize(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,2);const{authorized:t,lockup:n}=It(Dr.Initialize,e.data);return{stakePubkey:e.keys[0].pubkey,authorized:new hk(new me(t.staker),new me(t.withdrawer)),lockup:new ad(n.unixTimestamp,n.epoch,new me(n.custodian))}}static decodeDelegate(e){return this.checkProgramId(e.programId),this.checkKeyLength(e.keys,6),It(Dr.Delegate,e.data),{stakePubkey:e.keys[0].pubkey,votePubkey:e.keys[1].pubkey,authorizedPubkey:e.keys[5].pubkey}}static decodeAuthorize(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{newAuthorized:t,stakeAuthorizationType:n}=It(Dr.Authorize,e.data),i={stakePubkey:e.keys[0].pubkey,authorizedPubkey:e.keys[2].pubkey,newAuthorizedPubkey:new me(t),stakeAuthorizationType:{index:n}};return e.keys.length>3&&(i.custodianPubkey=e.keys[3].pubkey),i}static decodeAuthorizeWithSeed(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,2);const{newAuthorized:t,stakeAuthorizationType:n,authoritySeed:i,authorityOwner:s}=It(Dr.AuthorizeWithSeed,e.data),o={stakePubkey:e.keys[0].pubkey,authorityBase:e.keys[1].pubkey,authoritySeed:i,authorityOwner:new me(s),newAuthorizedPubkey:new me(t),stakeAuthorizationType:{index:n}};return e.keys.length>3&&(o.custodianPubkey=e.keys[3].pubkey),o}static decodeSplit(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{lamports:t}=It(Dr.Split,e.data);return{stakePubkey:e.keys[0].pubkey,splitStakePubkey:e.keys[1].pubkey,authorizedPubkey:e.keys[2].pubkey,lamports:t}}static decodeMerge(e){return this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3),It(Dr.Merge,e.data),{stakePubkey:e.keys[0].pubkey,sourceStakePubKey:e.keys[1].pubkey,authorizedPubkey:e.keys[4].pubkey}}static decodeWithdraw(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,5);const{lamports:t}=It(Dr.Withdraw,e.data),n={stakePubkey:e.keys[0].pubkey,toPubkey:e.keys[1].pubkey,authorizedPubkey:e.keys[4].pubkey,lamports:t};return e.keys.length>5&&(n.custodianPubkey=e.keys[5].pubkey),n}static decodeDeactivate(e){return this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3),It(Dr.Deactivate,e.data),{stakePubkey:e.keys[0].pubkey,authorizedPubkey:e.keys[2].pubkey}}static checkProgramId(e){if(!e.equals(Yp.programId))throw new Error("invalid instruction; programId is not StakeProgram")}static checkKeyLength(e,t){if(e.length<t)throw new Error(`invalid instruction; found ${e.length} keys, expected at least ${t}`)}}const Dr=Object.freeze({Initialize:{index:0,layout:Pe([Be("instruction"),GQ(),KQ()])},Authorize:{index:1,layout:Pe([Be("instruction"),ut("newAuthorized"),Be("stakeAuthorizationType")])},Delegate:{index:2,layout:Pe([Be("instruction")])},Split:{index:3,layout:Pe([Be("instruction"),Wn("lamports")])},Withdraw:{index:4,layout:Pe([Be("instruction"),Wn("lamports")])},Deactivate:{index:5,layout:Pe([Be("instruction")])},Merge:{index:7,layout:Pe([Be("instruction")])},AuthorizeWithSeed:{index:8,layout:Pe([Be("instruction"),ut("newAuthorized"),Be("stakeAuthorizationType"),Ra("authoritySeed"),ut("authorityOwner")])}}),HY=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class Yp{constructor(){}static initialize(e){const{stakePubkey:t,authorized:n,lockup:i}=e,s=i||ad.default,o=Dr.Initialize,a=gt(o,{authorized:{staker:st(n.staker.toBuffer()),withdrawer:st(n.withdrawer.toBuffer())},lockup:{unixTimestamp:s.unixTimestamp,epoch:s.epoch,custodian:st(s.custodian.toBuffer())}}),u={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:gl,isSigner:!1,isWritable:!1}],programId:this.programId,data:a};return new Bt(u)}static createAccountWithSeed(e){const t=new Tt;t.add(Nr.createAccountWithSeed({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,basePubkey:e.basePubkey,seed:e.seed,lamports:e.lamports,space:this.space,programId:this.programId}));const{stakePubkey:n,authorized:i,lockup:s}=e;return t.add(this.initialize({stakePubkey:n,authorized:i,lockup:s}))}static createAccount(e){const t=new Tt;t.add(Nr.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.stakePubkey,lamports:e.lamports,space:this.space,programId:this.programId}));const{stakePubkey:n,authorized:i,lockup:s}=e;return t.add(this.initialize({stakePubkey:n,authorized:i,lockup:s}))}static delegate(e){const{stakePubkey:t,authorizedPubkey:n,votePubkey:i}=e,s=Dr.Delegate,o=gt(s);return new Tt().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:a0,isSigner:!1,isWritable:!1},{pubkey:fk,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(e){const{stakePubkey:t,authorizedPubkey:n,newAuthorizedPubkey:i,stakeAuthorizationType:s,custodianPubkey:o}=e,a=Dr.Authorize,u=gt(a,{newAuthorized:st(i.toBuffer()),stakeAuthorizationType:s.index}),l=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Zi,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}];return o&&l.push({pubkey:o,isSigner:!0,isWritable:!1}),new Tt().add({keys:l,programId:this.programId,data:u})}static authorizeWithSeed(e){const{stakePubkey:t,authorityBase:n,authoritySeed:i,authorityOwner:s,newAuthorizedPubkey:o,stakeAuthorizationType:a,custodianPubkey:u}=e,l=Dr.AuthorizeWithSeed,h=gt(l,{newAuthorized:st(o.toBuffer()),stakeAuthorizationType:a.index,authoritySeed:i,authorityOwner:st(s.toBuffer())}),g=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey:Zi,isSigner:!1,isWritable:!1}];return u&&g.push({pubkey:u,isSigner:!0,isWritable:!1}),new Tt().add({keys:g,programId:this.programId,data:h})}static splitInstruction(e){const{stakePubkey:t,authorizedPubkey:n,splitStakePubkey:i,lamports:s}=e,o=Dr.Split,a=gt(o,{lamports:s});return new Bt({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:a})}static split(e,t){const n=new Tt;return n.add(Nr.createAccount({fromPubkey:e.authorizedPubkey,newAccountPubkey:e.splitStakePubkey,lamports:t,space:this.space,programId:this.programId})),n.add(this.splitInstruction(e))}static splitWithSeed(e,t){const{stakePubkey:n,authorizedPubkey:i,splitStakePubkey:s,basePubkey:o,seed:a,lamports:u}=e,l=new Tt;return l.add(Nr.allocate({accountPubkey:s,basePubkey:o,seed:a,space:this.space,programId:this.programId})),t&&t>0&&l.add(Nr.transfer({fromPubkey:e.authorizedPubkey,toPubkey:s,lamports:t})),l.add(this.splitInstruction({stakePubkey:n,authorizedPubkey:i,splitStakePubkey:s,lamports:u}))}static merge(e){const{stakePubkey:t,sourceStakePubKey:n,authorizedPubkey:i}=e,s=Dr.Merge,o=gt(s);return new Tt().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:a0,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(e){const{stakePubkey:t,authorizedPubkey:n,toPubkey:i,lamports:s,custodianPubkey:o}=e,a=Dr.Withdraw,u=gt(a,{lamports:s}),l=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:a0,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return o&&l.push({pubkey:o,isSigner:!0,isWritable:!1}),new Tt().add({keys:l,programId:this.programId,data:u})}static deactivate(e){const{stakePubkey:t,authorizedPubkey:n}=e,i=Dr.Deactivate,s=gt(i);return new Tt().add({keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}}Yp.programId=new me("Stake11111111111111111111111111111111111111");Yp.space=200;class dk{constructor(e,t,n,i){this.nodePubkey=void 0,this.authorizedVoter=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.nodePubkey=e,this.authorizedVoter=t,this.authorizedWithdrawer=n,this.commission=i}}class zY{constructor(){}static decodeInstructionType(e){this.checkProgramId(e.programId);const n=Be("instruction").decode(e.data);let i;for(const[s,o]of Object.entries(Xi))if(o.index==n){i=s;break}if(!i)throw new Error("Instruction type incorrect; not a VoteInstruction");return i}static decodeInitializeAccount(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,4);const{voteInit:t}=It(Xi.InitializeAccount,e.data);return{votePubkey:e.keys[0].pubkey,nodePubkey:e.keys[3].pubkey,voteInit:new dk(new me(t.nodePubkey),new me(t.authorizedVoter),new me(t.authorizedWithdrawer),t.commission)}}static decodeAuthorize(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{newAuthorized:t,voteAuthorizationType:n}=It(Xi.Authorize,e.data);return{votePubkey:e.keys[0].pubkey,authorizedPubkey:e.keys[2].pubkey,newAuthorizedPubkey:new me(t),voteAuthorizationType:{index:n}}}static decodeAuthorizeWithSeed(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:t,currentAuthorityDerivedKeySeed:n,newAuthorized:i,voteAuthorizationType:s}}=It(Xi.AuthorizeWithSeed,e.data);return{currentAuthorityDerivedKeyBasePubkey:e.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new me(t),currentAuthorityDerivedKeySeed:n,newAuthorizedPubkey:new me(i),voteAuthorizationType:{index:s},votePubkey:e.keys[0].pubkey}}static decodeWithdraw(e){this.checkProgramId(e.programId),this.checkKeyLength(e.keys,3);const{lamports:t}=It(Xi.Withdraw,e.data);return{votePubkey:e.keys[0].pubkey,authorizedWithdrawerPubkey:e.keys[2].pubkey,lamports:t,toPubkey:e.keys[1].pubkey}}static checkProgramId(e){if(!e.equals(Hl.programId))throw new Error("invalid instruction; programId is not VoteProgram")}static checkKeyLength(e,t){if(e.length<t)throw new Error(`invalid instruction; found ${e.length} keys, expected at least ${t}`)}}const Xi=Object.freeze({InitializeAccount:{index:0,layout:Pe([Be("instruction"),WQ()])},Authorize:{index:1,layout:Pe([Be("instruction"),ut("newAuthorized"),Be("voteAuthorizationType")])},Withdraw:{index:3,layout:Pe([Be("instruction"),Wn("lamports")])},UpdateValidatorIdentity:{index:4,layout:Pe([Be("instruction")])},AuthorizeWithSeed:{index:10,layout:Pe([Be("instruction"),jQ()])}}),GY=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class Hl{constructor(){}static initializeAccount(e){const{votePubkey:t,nodePubkey:n,voteInit:i}=e,s=Xi.InitializeAccount,o=gt(s,{voteInit:{nodePubkey:st(i.nodePubkey.toBuffer()),authorizedVoter:st(i.authorizedVoter.toBuffer()),authorizedWithdrawer:st(i.authorizedWithdrawer.toBuffer()),commission:i.commission}}),a={keys:[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:gl,isSigner:!1,isWritable:!1},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:o};return new Bt(a)}static createAccount(e){const t=new Tt;return t.add(Nr.createAccount({fromPubkey:e.fromPubkey,newAccountPubkey:e.votePubkey,lamports:e.lamports,space:this.space,programId:this.programId})),t.add(this.initializeAccount({votePubkey:e.votePubkey,nodePubkey:e.voteInit.nodePubkey,voteInit:e.voteInit}))}static authorize(e){const{votePubkey:t,authorizedPubkey:n,newAuthorizedPubkey:i,voteAuthorizationType:s}=e,o=Xi.Authorize,a=gt(o,{newAuthorized:st(i.toBuffer()),voteAuthorizationType:s.index}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return new Tt().add({keys:u,programId:this.programId,data:a})}static authorizeWithSeed(e){const{currentAuthorityDerivedKeyBasePubkey:t,currentAuthorityDerivedKeyOwnerPubkey:n,currentAuthorityDerivedKeySeed:i,newAuthorizedPubkey:s,voteAuthorizationType:o,votePubkey:a}=e,u=Xi.AuthorizeWithSeed,l=gt(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:st(n.toBuffer()),currentAuthorityDerivedKeySeed:i,newAuthorized:st(s.toBuffer()),voteAuthorizationType:o.index}}),h=[{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:Zi,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!0,isWritable:!1}];return new Tt().add({keys:h,programId:this.programId,data:l})}static withdraw(e){const{votePubkey:t,authorizedWithdrawerPubkey:n,lamports:i,toPubkey:s}=e,o=Xi.Withdraw,a=gt(o,{lamports:i}),u=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}];return new Tt().add({keys:u,programId:this.programId,data:a})}static safeWithdraw(e,t,n){if(e.lamports>t-n)throw new Error("Withdraw will leave vote account with insufficient funds.");return Hl.withdraw(e)}static updateValidatorIdentity(e){const{votePubkey:t,authorizedWithdrawerPubkey:n,nodePubkey:i}=e,s=Xi.UpdateValidatorIdentity,o=gt(s),a=[{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}];return new Tt().add({keys:a,programId:this.programId,data:o})}}Hl.programId=new me("Vote111111111111111111111111111111111111111");Hl.space=3762;const pk=new me("Va1idator1nfo111111111111111111111111111111"),KY=ge({name:_e(),website:Fe(_e()),details:Fe(_e()),iconUrl:Fe(_e()),keybaseUsername:Fe(_e())});class Hb{constructor(e,t){this.key=void 0,this.info=void 0,this.key=e,this.info=t}static fromConfigData(e){let t=[...e];if(In(t)!==2)return null;const i=[];for(let s=0;s<2;s++){const o=new me(Sn(t,0,os)),a=Ji(t)===1;i.push({publicKey:o,isSigner:a})}if(i[0].publicKey.equals(pk)&&i[1].isSigner){const s=Ra().decode(Ne.from(t)),o=JSON.parse(s);return SS(o,KY),new Hb(i[1].publicKey,o)}return null}}const WY=new me("Vote111111111111111111111111111111111111111"),jY=Pe([ut("nodePubkey"),ut("authorizedWithdrawer"),mt("commission"),Kr(),Jr(Pe([Kr("slot"),Be("confirmationCount")]),jo(Be(),-8),"votes"),mt("rootSlotValid"),Kr("rootSlot"),Kr(),Jr(Pe([Kr("epoch"),ut("authorizedVoter")]),jo(Be(),-8),"authorizedVoters"),Pe([Jr(Pe([ut("authorizedPubkey"),Kr("epochOfLastAuthorizedSwitch"),Kr("targetEpoch")]),32,"buf"),Kr("idx"),mt("isEmpty")],"priorVoters"),Kr(),Jr(Pe([Kr("epoch"),Kr("credits"),Kr("prevCredits")]),jo(Be(),-8),"epochCredits"),Pe([Kr("slot"),Kr("timestamp")],"lastTimestamp")]);class zb{constructor(e){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=e.nodePubkey,this.authorizedWithdrawer=e.authorizedWithdrawer,this.commission=e.commission,this.rootSlot=e.rootSlot,this.votes=e.votes,this.authorizedVoters=e.authorizedVoters,this.priorVoters=e.priorVoters,this.epochCredits=e.epochCredits,this.lastTimestamp=e.lastTimestamp}static fromAccountData(e){const n=jY.decode(st(e),4);let i=n.rootSlot;return n.rootSlotValid||(i=null),new zb({nodePubkey:new me(n.nodePubkey),authorizedWithdrawer:new me(n.authorizedWithdrawer),commission:n.commission,votes:n.votes,rootSlot:i,authorizedVoters:n.authorizedVoters.map(VY),priorVoters:qY(n.priorVoters),epochCredits:n.epochCredits,lastTimestamp:n.lastTimestamp})}}function VY({authorizedVoter:r,epoch:e}){return{epoch:e,authorizedVoter:new me(r)}}function YE({authorizedPubkey:r,epochOfLastAuthorizedSwitch:e,targetEpoch:t}){return{authorizedPubkey:new me(r),epochOfLastAuthorizedSwitch:e,targetEpoch:t}}function qY({buf:r,idx:e,isEmpty:t}){return t?[]:[...r.slice(e+1).map(YE),...r.slice(0,e).map(YE)]}const XE={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 ZY(r,e){const t=e===!1?"http":"https";if(!r)return XE[t].devnet;const n=XE[t][r];if(!n)throw new Error(`Unknown ${t} cluster: ${r}`);return n}async function QY(r,e,t,n){let i,s;t&&Object.prototype.hasOwnProperty.call(t,"lastValidBlockHeight")||t&&Object.prototype.hasOwnProperty.call(t,"nonceValue")?(i=t,s=n):s=t;const o=s&&{skipPreflight:s.skipPreflight,preflightCommitment:s.preflightCommitment||s.commitment,minContextSlot:s.minContextSlot},a=await r.sendRawTransaction(e,o),u=s&&s.commitment,h=(await(i?r.confirmTransaction(i,u):r.confirmTransaction(a,u))).value;if(h.err)throw a!=null?new na({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 JY=1e9,YY=Object.freeze(Object.defineProperty({__proto__:null,Account:FQ,AddressLookupTableAccount:F1,AddressLookupTableInstruction:MY,AddressLookupTableProgram:$b,Authorized:hk,BLOCKHASH_CACHE_TIMEOUT_MS:XS,BPF_LOADER_DEPRECATED_PROGRAM_ID:HQ,BPF_LOADER_PROGRAM_ID:aJ,BpfLoader:cJ,COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:Yi,ComputeBudgetInstruction:LY,ComputeBudgetProgram:Fb,Connection:uk,Ed25519Program:Jp,Enum:DQ,EpochSchedule:JS,FeeCalculatorLayout:ZS,Keypair:sc,LAMPORTS_PER_SOL:JY,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:js,Loader:yc,Lockup:ad,MAX_SEED_LENGTH:WS,Message:Oi,MessageAccountKeys:fh,MessageV0:gc,NONCE_ACCOUNT_LENGTH:$1,NonceAccount:qp,PACKET_DATA_SIZE:Vo,PUBLIC_KEY_LENGTH:os,PublicKey:me,SIGNATURE_LENGTH_IN_BYTES:lh,SOLANA_SCHEMA:Ff,STAKE_CONFIG_ID:fk,STAKE_INSTRUCTION_LAYOUTS:Dr,SYSTEM_INSTRUCTION_LAYOUTS:Ht,SYSVAR_CLOCK_PUBKEY:Zi,SYSVAR_EPOCH_SCHEDULE_PUBKEY:JQ,SYSVAR_INSTRUCTIONS_PUBKEY:YQ,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:o0,SYSVAR_RENT_PUBKEY:gl,SYSVAR_REWARDS_PUBKEY:XQ,SYSVAR_SLOT_HASHES_PUBKEY:eJ,SYSVAR_SLOT_HISTORY_PUBKEY:tJ,SYSVAR_STAKE_HISTORY_PUBKEY:a0,Secp256k1Program:pu,SendTransactionError:na,SolanaJSONRPCError:De,SolanaJSONRPCErrorCode:rJ,StakeAuthorizationLayout:HY,StakeInstruction:FY,StakeProgram:Yp,Struct:Ob,SystemInstruction:sJ,SystemProgram:Nr,Transaction:Tt,TransactionExpiredBlockheightExceededError:Nb,TransactionExpiredNonceInvalidError:iu,TransactionExpiredTimeoutError:Cb,TransactionInstruction:Bt,TransactionMessage:Pb,TransactionStatus:vs,VALIDATOR_INFO_KEY:pk,VERSION_PREFIX_MASK:jp,VOTE_PROGRAM_ID:WY,ValidatorInfo:Hb,VersionedMessage:Bb,VersionedTransaction:Mb,VoteAccount:zb,VoteAuthorizationLayout:GY,VoteInit:dk,VoteInstruction:zY,VoteProgram:Hl,clusterApiUrl:ZY,sendAndConfirmRawTransaction:QY,sendAndConfirmTransaction:D1},Symbol.toStringTag,{value:"Module"}));var Gb={exports:{}};const XY=/[\p{Lu}]/u,eX=/[\p{Ll}]/u,e2=/^[\p{Lu}](?![\p{Lu}])/gu,gk=/([\p{Alpha}\p{N}_]|$)/u,yk=/[_.\- ]+/,tX=new RegExp("^"+yk.source),t2=new RegExp(yk.source+gk.source,"gu"),r2=new RegExp("\\d+"+gk.source,"gu"),rX=(r,e,t)=>{let n=!1,i=!1,s=!1;for(let o=0;o<r.length;o++){const a=r[o];n&&XY.test(a)?(r=r.slice(0,o)+"-"+r.slice(o),n=!1,s=i,i=!0,o++):i&&s&&eX.test(a)?(r=r.slice(0,o-1)+"-"+r.slice(o-1),s=i,i=!1,n=!0):(n=e(a)===a&&t(a)!==a,s=i,i=t(a)===a&&e(a)!==a)}return r},nX=(r,e)=>(e2.lastIndex=0,r.replace(e2,t=>e(t))),iX=(r,e)=>(t2.lastIndex=0,r2.lastIndex=0,r.replace(t2,(t,n)=>e(n)).replace(r2,t=>e(t))),mk=(r,e)=>{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},Array.isArray(r)?r=r.map(s=>s.trim()).filter(s=>s.length).join("-"):r=r.trim(),r.length===0)return"";const t=e.locale===!1?s=>s.toLowerCase():s=>s.toLocaleLowerCase(e.locale),n=e.locale===!1?s=>s.toUpperCase():s=>s.toLocaleUpperCase(e.locale);return r.length===1?e.pascalCase?n(r):t(r):(r!==t(r)&&(r=rX(r,t,n)),r=r.replace(tX,""),e.preserveConsecutiveUppercase?r=nX(r,t):r=t(r),e.pascalCase&&(r=n(r.charAt(0))+r.slice(1)),iX(r,n))};Gb.exports=mk;Gb.exports.default=mk;var sX=Gb.exports;const oX=no(sX);var Je={},Se={};let Nt=class{constructor(e,t){if(!Number.isInteger(e))throw new TypeError("span must be an integer");this.span=e,this.property=t}makeDestinationObject(){return{}}decode(e,t){throw new Error("Layout is abstract")}encode(e,t,n){throw new Error("Layout is abstract")}getSpan(e,t){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(e){const t=Object.create(this.constructor.prototype);return Object.assign(t,this),t.property=e,t}fromArray(e){}};Se.Layout=Nt;function Kb(r,e){return e.property?r+"["+e.property+"]":r}Se.nameWithProperty=Kb;function aX(r,e){if(typeof r!="function")throw new TypeError("Class must be constructor");if(r.hasOwnProperty("layout_"))throw new Error("Class is already bound to a layout");if(!(e&&e instanceof Nt))throw new TypeError("layout must be a Layout");if(e.hasOwnProperty("boundConstructor_"))throw new Error("layout is already bound to a constructor");r.layout_=e,e.boundConstructor_=r,e.makeDestinationObject=()=>new r,Object.defineProperty(r.prototype,"encode",{value:function(t,n){return e.encode(this,t,n)},writable:!0}),Object.defineProperty(r,"decode",{value:function(t,n){return e.decode(t,n)},writable:!0})}Se.bindConstructorLayout=aX;let Nn=class extends Nt{isCount(){throw new Error("ExternalLayout is abstract")}};class wk extends Nn{constructor(e,t){if(e===void 0&&(e=1),!Number.isInteger(e)||0>=e)throw new TypeError("elementSpan must be a (positive) integer");super(-1,t),this.elementSpan=e}isCount(){return!0}decode(e,t){t===void 0&&(t=0);const n=e.length-t;return Math.floor(n/this.elementSpan)}encode(e,t,n){return 0}}let Wb=class extends Nn{constructor(e,t,n){if(!(e instanceof Nt))throw new TypeError("layout must be a Layout");if(t===void 0)t=0;else if(!Number.isInteger(t))throw new TypeError("offset must be integer or undefined");super(e.span,n||e.property),this.layout=e,this.offset=t}isCount(){return this.layout instanceof ys||this.layout instanceof io}decode(e,t){return t===void 0&&(t=0),this.layout.decode(e,t+this.offset)}encode(e,t,n){return n===void 0&&(n=0),this.layout.encode(e,t,n+this.offset)}},ys=class extends Nt{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t){return t===void 0&&(t=0),e.readUIntLE(t,this.span)}encode(e,t,n){return n===void 0&&(n=0),t.writeUIntLE(e,n,this.span),this.span}},io=class extends Nt{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t){return t===void 0&&(t=0),e.readUIntBE(t,this.span)}encode(e,t,n){return n===void 0&&(n=0),t.writeUIntBE(e,n,this.span),this.span}};class Cc extends Nt{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t){return t===void 0&&(t=0),e.readIntLE(t,this.span)}encode(e,t,n){return n===void 0&&(n=0),t.writeIntLE(e,n,this.span),this.span}}class zl extends Nt{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t){return t===void 0&&(t=0),e.readIntBE(t,this.span)}encode(e,t,n){return n===void 0&&(n=0),t.writeIntBE(e,n,this.span),this.span}}const K1=Math.pow(2,32);function Xp(r){const e=Math.floor(r/K1),t=r-e*K1;return{hi32:e,lo32:t}}function eg(r,e){return r*K1+e}let cX=class extends Nt{constructor(e){super(8,e)}decode(e,t){t===void 0&&(t=0);const n=e.readUInt32LE(t),i=e.readUInt32LE(t+4);return eg(i,n)}encode(e,t,n){n===void 0&&(n=0);const i=Xp(e);return t.writeUInt32LE(i.lo32,n),t.writeUInt32LE(i.hi32,n+4),8}};class uX extends Nt{constructor(e){super(8,e)}decode(e,t){t===void 0&&(t=0);const n=e.readUInt32BE(t),i=e.readUInt32BE(t+4);return eg(n,i)}encode(e,t,n){n===void 0&&(n=0);const i=Xp(e);return t.writeUInt32BE(i.hi32,n),t.writeUInt32BE(i.lo32,n+4),8}}let lX=class extends Nt{constructor(e){super(8,e)}decode(e,t){t===void 0&&(t=0);const n=e.readUInt32LE(t),i=e.readInt32LE(t+4);return eg(i,n)}encode(e,t,n){n===void 0&&(n=0);const i=Xp(e);return t.writeUInt32LE(i.lo32,n),t.writeInt32LE(i.hi32,n+4),8}};class fX extends Nt{constructor(e){super(8,e)}decode(e,t){t===void 0&&(t=0);const n=e.readInt32BE(t),i=e.readUInt32BE(t+4);return eg(n,i)}encode(e,t,n){n===void 0&&(n=0);const i=Xp(e);return t.writeInt32BE(i.hi32,n),t.writeUInt32BE(i.lo32,n+4),8}}class bk extends Nt{constructor(e){super(4,e)}decode(e,t){return t===void 0&&(t=0),e.readFloatLE(t)}encode(e,t,n){return n===void 0&&(n=0),t.writeFloatLE(e,n),4}}class _k extends Nt{constructor(e){super(4,e)}decode(e,t){return t===void 0&&(t=0),e.readFloatBE(t)}encode(e,t,n){return n===void 0&&(n=0),t.writeFloatBE(e,n),4}}class Ak extends Nt{constructor(e){super(8,e)}decode(e,t){return t===void 0&&(t=0),e.readDoubleLE(t)}encode(e,t,n){return n===void 0&&(n=0),t.writeDoubleLE(e,n),8}}class vk extends Nt{constructor(e){super(8,e)}decode(e,t){return t===void 0&&(t=0),e.readDoubleBE(t)}encode(e,t,n){return n===void 0&&(n=0),t.writeDoubleBE(e,n),8}}class Ek extends Nt{constructor(e,t,n){if(!(e instanceof Nt))throw new TypeError("elementLayout must be a Layout");if(!(t instanceof Nn&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let i=-1;!(t instanceof Nn)&&0<e.span&&(i=t*e.span),super(i,n),this.elementLayout=e,this.count=t}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);let n=0,i=this.count;if(i instanceof Nn&&(i=i.decode(e,t)),0<this.elementLayout.span)n=i*this.elementLayout.span;else{let s=0;for(;s<i;)n+=this.elementLayout.getSpan(e,t+n),++s}return n}decode(e,t){t===void 0&&(t=0);const n=[];let i=0,s=this.count;for(s instanceof Nn&&(s=s.decode(e,t));i<s;)n.push(this.elementLayout.decode(e,t)),t+=this.elementLayout.getSpan(e,t),i+=1;return n}encode(e,t,n){n===void 0&&(n=0);const i=this.elementLayout,s=e.reduce((o,a)=>o+i.encode(a,t,n+o),0);return this.count instanceof Nn&&this.count.encode(e.length,t,n),s}}let xk=class extends Nt{constructor(e,t,n){if(!(Array.isArray(e)&&e.reduce((s,o)=>s&&o instanceof Nt,!0)))throw new TypeError("fields must be array of Layout instances");typeof t=="boolean"&&n===void 0&&(n=t,t=void 0);for(const s of e)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let i=-1;try{i=e.reduce((s,o)=>s+o.getSpan(),0)}catch{}super(i,t),this.fields=e,this.decodePrefixes=!!n}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);let n=0;try{n=this.fields.reduce((i,s)=>{const o=s.getSpan(e,t);return t+=o,i+o},0)}catch{throw new RangeError("indeterminate span")}return n}decode(e,t){t===void 0&&(t=0);const n=this.makeDestinationObject();for(const i of this.fields)if(i.property!==void 0&&(n[i.property]=i.decode(e,t)),t+=i.getSpan(e,t),this.decodePrefixes&&e.length===t)break;return n}encode(e,t,n){n===void 0&&(n=0);const i=n;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 l=e[a.property];l!==void 0&&(o=a.encode(l,t,n),0>u&&(u=a.getSpan(t,n)))}s=n,n+=u}return s+o-i}fromArray(e){const t=this.makeDestinationObject();for(const n of this.fields)n.property!==void 0&&0<e.length&&(t[n.property]=e.shift());return t}layoutFor(e){if(typeof e!="string")throw new TypeError("property must be string");for(const t of this.fields)if(t.property===e)return t}offsetOf(e){if(typeof e!="string")throw new TypeError("property must be string");let t=0;for(const n of this.fields){if(n.property===e)return t;0>n.span?t=-1:0<=t&&(t+=n.span)}}},jb=class{constructor(e){this.property=e}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}},K0=class extends jb{constructor(e,t){if(!(e instanceof Nn&&e.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(t||e.property||"variant"),this.layout=e}decode(e,t){return this.layout.decode(e,t)}encode(e,t,n){return this.layout.encode(e,t,n)}},Vb=class extends Nt{constructor(e,t,n){const i=e instanceof ys||e instanceof io;if(i)e=new K0(new Wb(e));else if(e instanceof Nn&&e.isCount())e=new K0(e);else if(!(e instanceof jb))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(t===void 0&&(t=null),!(t===null||t instanceof Nt))throw new TypeError("defaultLayout must be null or a Layout");if(t!==null){if(0>t.span)throw new Error("defaultLayout must have constant span");t.property===void 0&&(t=t.replicate("content"))}let s=-1;t&&(s=t.span,0<=s&&i&&(s+=e.layout.span)),super(s,n),this.discriminator=e,this.usesPrefixDiscriminator=i,this.defaultLayout=t,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return o(a)},this.configGetSourceVariant=function(a){o=a.bind(this)}}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);const n=this.getVariant(e,t);if(!n)throw new Error("unable to determine span for unrecognized variant");return n.getSpan(e,t)}defaultGetSourceVariant(e){if(e.hasOwnProperty(this.discriminator.property)){if(this.defaultLayout&&e.hasOwnProperty(this.defaultLayout.property))return;const t=this.registry[e[this.discriminator.property]];if(t&&(!t.layout||e.hasOwnProperty(t.property)))return t}else for(const t in this.registry){const n=this.registry[t];if(e.hasOwnProperty(n.property))return n}throw new Error("unable to infer src variant")}decode(e,t){t===void 0&&(t=0);let n;const i=this.discriminator,s=i.decode(e,t);let o=this.registry[s];if(o===void 0){let a=0;o=this.defaultLayout,this.usesPrefixDiscriminator&&(a=i.layout.span),n=this.makeDestinationObject(),n[i.property]=s,n[o.property]=this.defaultLayout.decode(e,t+a)}else n=o.decode(e,t);return n}encode(e,t,n){n===void 0&&(n=0);const i=this.getSourceVariant(e);if(i===void 0){const s=this.discriminator,o=this.defaultLayout;let a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(e[s.property],t,n),a+o.encode(e[o.property],t,n+a)}return i.encode(e,t,n)}addVariant(e,t,n){const i=new Rk(this,e,t,n);return this.registry[e]=i,i}getVariant(e,t){let n=e;return Qe.isBuffer(e)&&(t===void 0&&(t=0),n=this.discriminator.decode(e,t)),this.registry[n]}},Rk=class extends Nt{constructor(e,t,n,i){if(!(e instanceof Vb))throw new TypeError("union must be a Union");if(!Number.isInteger(t)||0>t)throw new TypeError("variant must be a (non-negative) integer");if(typeof n=="string"&&i===void 0&&(i=n,n=null),n){if(!(n instanceof Nt))throw new TypeError("layout must be a Layout");if(e.defaultLayout!==null&&0<=n.span&&n.span>e.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=e.span;0>e.span&&(s=n?n.span:0,0<=s&&e.usesPrefixDiscriminator&&(s+=e.discriminator.layout.span)),super(s,i),this.union=e,this.variant=t,this.layout=n||null}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);let n=0;return this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),n+this.layout.getSpan(e,t+n)}decode(e,t){const n=this.makeDestinationObject();if(t===void 0&&(t=0),this!==this.union.getVariant(e,t))throw new Error("variant mismatch");let i=0;return this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout?n[this.property]=this.layout.decode(e,t+i):this.property?n[this.property]=!0:this.union.usesPrefixDiscriminator&&(n[this.union.discriminator.property]=this.variant),n}encode(e,t,n){n===void 0&&(n=0);let i=0;if(this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout&&!e.hasOwnProperty(this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,t,n);let s=i;if(this.layout&&(this.layout.encode(e[this.property],t,n+i),s+=this.layout.getSpan(t,n+i),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(e){if(this.layout)return this.layout.fromArray(e)}};function Yc(r){return 0>r&&(r+=4294967296),r}class qb extends Nt{constructor(e,t,n){if(!(e instanceof ys||e instanceof io))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof t=="string"&&n===void 0&&(n=t,t=void 0),4<e.span)throw new RangeError("word cannot exceed 32 bits");super(e.span,n),this.word=e,this.msb=!!t,this.fields=[];let i=0;this._packedSetValue=function(s){return i=Yc(s),this},this._packedGetValue=function(){return i}}decode(e,t){const n=this.makeDestinationObject();t===void 0&&(t=0);const i=this.word.decode(e,t);this._packedSetValue(i);for(const s of this.fields)s.property!==void 0&&(n[s.property]=s.decode(i));return n}encode(e,t,n){n===void 0&&(n=0);const i=this.word.decode(t,n);this._packedSetValue(i);for(const s of this.fields)if(s.property!==void 0){const o=e[s.property];o!==void 0&&s.encode(o)}return this.word.encode(this._packedGetValue(),t,n)}addField(e,t){const n=new Hf(this,e,t);return this.fields.push(n),n}addBoolean(e){const t=new Ik(this,e);return this.fields.push(t),t}fieldFor(e){if(typeof e!="string")throw new TypeError("property must be string");for(const t of this.fields)if(t.property===e)return t}}class Hf{constructor(e,t,n){if(!(e instanceof qb))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(t)||0>=t)throw new TypeError("bits must be positive integer");const i=8*e.span,s=e.fields.reduce((o,a)=>o+a.bits,0);if(t+s>i)throw new Error("bits too long for span remainder ("+(i-s)+" of "+i+" remain)");this.container=e,this.bits=t,this.valueMask=(1<<t)-1,t===32&&(this.valueMask=4294967295),this.start=s,this.container.msb&&(this.start=i-s-t),this.wordMask=Yc(this.valueMask<<this.start),this.property=n}decode(){const e=this.container._packedGetValue();return Yc(e&this.wordMask)>>>this.start}encode(e){if(!Number.isInteger(e)||e!==Yc(e&this.valueMask))throw new TypeError(Kb("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const t=this.container._packedGetValue(),n=Yc(e<<this.start);this.container._packedSetValue(Yc(t&~this.wordMask)|n)}}let Ik=class extends Hf{constructor(e,t){super(e,1,t)}decode(e,t){return!!Hf.prototype.decode.call(this,e,t)}encode(e){return typeof e=="boolean"&&(e=+e),Hf.prototype.encode.call(this,e)}},Sk=class extends Nt{constructor(e,t){if(!(e instanceof Nn&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let n=-1;e instanceof Nn||(n=e),super(n,t),this.length=e}getSpan(e,t){let n=this.span;return 0>n&&(n=this.length.decode(e,t)),n}decode(e,t){t===void 0&&(t=0);let n=this.span;return 0>n&&(n=this.length.decode(e,t)),e.slice(t,t+n)}encode(e,t,n){let i=this.length;if(this.length instanceof Nn&&(i=e.length),!(Qe.isBuffer(e)&&i===e.length))throw new TypeError(Kb("Blob.encode",this)+" requires (length "+i+") Buffer as src");if(n+i>t.length)throw new RangeError("encoding overruns Buffer");return t.write(e.toString("hex"),n,i,"hex"),this.length instanceof Nn&&this.length.encode(i,t,n),i}};class kk extends Nt{constructor(e){super(-1,e)}getSpan(e,t){if(!Qe.isBuffer(e))throw new TypeError("b must be a Buffer");t===void 0&&(t=0);let n=t;for(;n<e.length&&e[n]!==0;)n+=1;return 1+n-t}decode(e,t,n){t===void 0&&(t=0);let i=this.getSpan(e,t);return e.slice(t,t+i-1).toString("utf-8")}encode(e,t,n){n===void 0&&(n=0),typeof e!="string"&&(e=e.toString());const i=new Qe(e,"utf8"),s=i.length;if(n+s>t.length)throw new RangeError("encoding overruns Buffer");return i.copy(t,n),t[n+s]=0,s+1}}class Tk extends Nt{constructor(e,t){if(typeof e=="string"&&t===void 0&&(t=e,e=void 0),e===void 0)e=-1;else if(!Number.isInteger(e))throw new TypeError("maxSpan must be an integer");super(-1,t),this.maxSpan=e}getSpan(e,t){if(!Qe.isBuffer(e))throw new TypeError("b must be a Buffer");return t===void 0&&(t=0),e.length-t}decode(e,t,n){t===void 0&&(t=0);let i=this.getSpan(e,t);if(0<=this.maxSpan&&this.maxSpan<i)throw new RangeError("text length exceeds maxSpan");return e.slice(t,t+i).toString("utf-8")}encode(e,t,n){n===void 0&&(n=0),typeof e!="string"&&(e=e.toString());const i=new Qe(e,"utf8"),s=i.length;if(0<=this.maxSpan&&this.maxSpan<s)throw new RangeError("text length exceeds maxSpan");if(n+s>t.length)throw new RangeError("encoding overruns Buffer");return i.copy(t,n),s}}class Ok extends Nt{constructor(e,t){super(0,t),this.value=e}decode(e,t,n){return this.value}encode(e,t,n){return 0}}Se.ExternalLayout=Nn;Se.GreedyCount=wk;Se.OffsetLayout=Wb;Se.UInt=ys;Se.UIntBE=io;Se.Int=Cc;Se.IntBE=zl;Se.Float=bk;Se.FloatBE=_k;Se.Double=Ak;Se.DoubleBE=vk;Se.Sequence=Ek;Se.Structure=xk;Se.UnionDiscriminator=jb;Se.UnionLayoutDiscriminator=K0;Se.Union=Vb;Se.VariantLayout=Rk;Se.BitStructure=qb;Se.BitField=Hf;Se.Boolean=Ik;Se.Blob=Sk;Se.CString=kk;Se.UTF8=Tk;Se.Constant=Ok;Se.greedy=(r,e)=>new wk(r,e);Se.offset=(r,e,t)=>new Wb(r,e,t);Se.u8=r=>new ys(1,r);Se.u16=r=>new ys(2,r);Se.u24=r=>new ys(3,r);Se.u32=r=>new ys(4,r);Se.u40=r=>new ys(5,r);Se.u48=r=>new ys(6,r);Se.nu64=r=>new cX(r);Se.u16be=r=>new io(2,r);Se.u24be=r=>new io(3,r);Se.u32be=r=>new io(4,r);Se.u40be=r=>new io(5,r);Se.u48be=r=>new io(6,r);Se.nu64be=r=>new uX(r);Se.s8=r=>new Cc(1,r);Se.s16=r=>new Cc(2,r);Se.s24=r=>new Cc(3,r);Se.s32=r=>new Cc(4,r);Se.s40=r=>new Cc(5,r);Se.s48=r=>new Cc(6,r);Se.ns64=r=>new lX(r);Se.s16be=r=>new zl(2,r);Se.s24be=r=>new zl(3,r);Se.s32be=r=>new zl(4,r);Se.s40be=r=>new zl(5,r);Se.s48be=r=>new zl(6,r);Se.ns64be=r=>new fX(r);Se.f32=r=>new bk(r);Se.f32be=r=>new _k(r);Se.f64=r=>new Ak(r);Se.f64be=r=>new vk(r);Se.struct=(r,e,t)=>new xk(r,e,t);Se.bits=(r,e,t)=>new qb(r,e,t);Se.seq=(r,e,t)=>new Ek(r,e,t);Se.union=(r,e,t)=>new Vb(r,e,t);Se.unionLayoutDiscriminator=(r,e)=>new K0(r,e);Se.blob=(r,e)=>new Sk(r,e);Se.cstr=r=>new kk(r);Se.utf8=(r,e)=>new Tk(r,e);Se.const=(r,e)=>new Ok(r,e);const hX=yp(YY);(function(r){var e=Qr&&Qr.__importDefault||function(ue){return ue&&ue.__esModule?ue:{default:ue}};Object.defineProperty(r,"__esModule",{value:!0}),r.struct=r.f64=r.f32=r.i32=r.u32=r.i16=r.u16=r.i8=r.u8=void 0,r.u64=a,r.i64=u,r.u128=l,r.i128=h,r.u256=g,r.i256=b,r.publicKey=I,r.option=x,r.bool=C,r.vec=z,r.tagged=V,r.vecU8=Z,r.str=K,r.rustEnum=j,r.array=oe,r.map=ne;const t=Se,n=hX,i=e(lb);var s=Se;Object.defineProperty(r,"u8",{enumerable:!0,get:function(){return s.u8}}),Object.defineProperty(r,"i8",{enumerable:!0,get:function(){return s.s8}}),Object.defineProperty(r,"u16",{enumerable:!0,get:function(){return s.u16}}),Object.defineProperty(r,"i16",{enumerable:!0,get:function(){return s.s16}}),Object.defineProperty(r,"u32",{enumerable:!0,get:function(){return s.u32}}),Object.defineProperty(r,"i32",{enumerable:!0,get:function(){return s.s32}}),Object.defineProperty(r,"f32",{enumerable:!0,get:function(){return s.f32}}),Object.defineProperty(r,"f64",{enumerable:!0,get:function(){return s.f64}}),Object.defineProperty(r,"struct",{enumerable:!0,get:function(){return s.struct}});class o extends t.Layout{constructor(B,p,m){super(B,m),this.blob=(0,t.blob)(B),this.signed=p}decode(B,p=0){const m=new i.default(this.blob.decode(B,p),10,"le");return this.signed?m.fromTwos(this.span*8).clone():m}encode(B,p,m=0){return this.signed&&(B=B.toTwos(this.span*8)),this.blob.encode(B.toArrayLike(Qe,"le",this.span),p,m)}}function a(ue){return new o(8,!1,ue)}function u(ue){return new o(8,!0,ue)}function l(ue){return new o(16,!1,ue)}function h(ue){return new o(16,!0,ue)}function g(ue){return new o(32,!1,ue)}function b(ue){return new o(32,!0,ue)}class w extends t.Layout{constructor(B,p,m,E){super(B.span,E),this.layout=B,this.decoder=p,this.encoder=m}decode(B,p){return this.decoder(this.layout.decode(B,p))}encode(B,p,m){return this.layout.encode(this.encoder(B),p,m)}getSpan(B,p){return this.layout.getSpan(B,p)}}function I(ue){return new w((0,t.blob)(32),B=>new n.PublicKey(B),B=>B.toBuffer(),ue)}class S extends t.Layout{constructor(B,p){super(-1,p),this.layout=B,this.discriminator=(0,t.u8)()}encode(B,p,m=0){return B==null?this.discriminator.encode(0,p,m):(this.discriminator.encode(1,p,m),this.layout.encode(B,p,m+1)+1)}decode(B,p=0){const m=this.discriminator.decode(B,p);if(m===0)return null;if(m===1)return this.layout.decode(B,p+1);throw new Error("Invalid option "+this.property)}getSpan(B,p=0){const m=this.discriminator.decode(B,p);if(m===0)return 1;if(m===1)return this.layout.getSpan(B,p+1)+1;throw new Error("Invalid option "+this.property)}}function x(ue,B){return new S(ue,B)}function C(ue){return new w((0,t.u8)(),H,D,ue)}function H(ue){if(ue===0)return!1;if(ue===1)return!0;throw new Error("Invalid bool: "+ue)}function D(ue){return ue?1:0}function z(ue,B){const p=(0,t.u32)("length"),m=(0,t.struct)([p,(0,t.seq)(ue,(0,t.offset)(p,-p.span),"values")]);return new w(m,({values:E})=>E,E=>({values:E}),B)}function V(ue,B,p){const m=(0,t.struct)([a("tag"),B.replicate("data")]);function E({tag:k,data:O}){if(!k.eq(ue))throw new Error("Invalid tag, expected: "+ue.toString("hex")+", got: "+k.toString("hex"));return O}return new w(m,E,k=>({tag:ue,data:k}),p)}function Z(ue){const B=(0,t.u32)("length"),p=(0,t.struct)([B,(0,t.blob)((0,t.offset)(B,-B.span),"data")]);return new w(p,({data:m})=>m,m=>({data:m}),ue)}function K(ue){return new w(Z(),B=>B.toString("utf-8"),B=>Qe.from(B,"utf-8"),ue)}function j(ue,B,p){const m=(0,t.union)(p??(0,t.u8)(),B);return ue.forEach((E,k)=>m.addVariant(k,E,E.property)),m}function oe(ue,B,p){const m=(0,t.struct)([(0,t.seq)(ue,B,"values")]);return new w(m,({values:E})=>E,E=>({values:E}),p)}class ce extends t.Layout{constructor(B,p,m){super(B.span+p.span,m),this.keyLayout=B,this.valueLayout=p}decode(B,p){p=p||0;const m=this.keyLayout.decode(B,p),E=this.valueLayout.decode(B,p+this.keyLayout.getSpan(B,p));return[m,E]}encode(B,p,m){m=m||0;const E=this.keyLayout.encode(B[0],p,m),k=this.valueLayout.encode(B[1],p,m+E);return E+k}getSpan(B,p){return this.keyLayout.getSpan(B,p)+this.valueLayout.getSpan(B,p)}}function ne(ue,B,p){const m=(0,t.u32)("length"),E=(0,t.struct)([m,(0,t.seq)(new ce(ue,B),(0,t.offset)(m,-m.span),"values")]);return new w(E,({values:k})=>new Map(k),k=>({values:Array.from(k.entries())}),p)}})(Je);/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const dX=4,n2=0,i2=1,pX=2;function Gl(r){let e=r.length;for(;--e>=0;)r[e]=0}const gX=0,Nk=1,yX=2,mX=3,wX=258,Zb=29,cd=256,dh=cd+1+Zb,gu=30,Qb=19,Ck=2*dh+1,Ia=15,Lm=16,bX=7,Jb=256,Bk=16,Pk=17,Mk=18,W1=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]),c0=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]),_X=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Lk=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),AX=512,ks=new Array((dh+2)*2);Gl(ks);const zf=new Array(gu*2);Gl(zf);const ph=new Array(AX);Gl(ph);const gh=new Array(wX-mX+1);Gl(gh);const Yb=new Array(Zb);Gl(Yb);const W0=new Array(gu);Gl(W0);function Um(r,e,t,n,i){this.static_tree=r,this.extra_bits=e,this.extra_base=t,this.elems=n,this.max_length=i,this.has_stree=r&&r.length}let Uk,Dk,$k;function Dm(r,e){this.dyn_tree=r,this.max_code=0,this.stat_desc=e}const Fk=r=>r<256?ph[r]:ph[256+(r>>>7)],yh=(r,e)=>{r.pending_buf[r.pending++]=e&255,r.pending_buf[r.pending++]=e>>>8&255},Cn=(r,e,t)=>{r.bi_valid>Lm-t?(r.bi_buf|=e<<r.bi_valid&65535,yh(r,r.bi_buf),r.bi_buf=e>>Lm-r.bi_valid,r.bi_valid+=t-Lm):(r.bi_buf|=e<<r.bi_valid&65535,r.bi_valid+=t)},es=(r,e,t)=>{Cn(r,t[e*2],t[e*2+1])},Hk=(r,e)=>{let t=0;do t|=r&1,r>>>=1,t<<=1;while(--e>0);return t>>>1},vX=r=>{r.bi_valid===16?(yh(r,r.bi_buf),r.bi_buf=0,r.bi_valid=0):r.bi_valid>=8&&(r.pending_buf[r.pending++]=r.bi_buf&255,r.bi_buf>>=8,r.bi_valid-=8)},EX=(r,e)=>{const t=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,s=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,u=e.stat_desc.max_length;let l,h,g,b,w,I,S=0;for(b=0;b<=Ia;b++)r.bl_count[b]=0;for(t[r.heap[r.heap_max]*2+1]=0,l=r.heap_max+1;l<Ck;l++)h=r.heap[l],b=t[t[h*2+1]*2+1]+1,b>u&&(b=u,S++),t[h*2+1]=b,!(h>n)&&(r.bl_count[b]++,w=0,h>=a&&(w=o[h-a]),I=t[h*2],r.opt_len+=I*(b+w),s&&(r.static_len+=I*(i[h*2+1]+w)));if(S!==0){do{for(b=u-1;r.bl_count[b]===0;)b--;r.bl_count[b]--,r.bl_count[b+1]+=2,r.bl_count[u]--,S-=2}while(S>0);for(b=u;b!==0;b--)for(h=r.bl_count[b];h!==0;)g=r.heap[--l],!(g>n)&&(t[g*2+1]!==b&&(r.opt_len+=(b-t[g*2+1])*t[g*2],t[g*2+1]=b),h--)}},zk=(r,e,t)=>{const n=new Array(Ia+1);let i=0,s,o;for(s=1;s<=Ia;s++)i=i+t[s-1]<<1,n[s]=i;for(o=0;o<=e;o++){let a=r[o*2+1];a!==0&&(r[o*2]=Hk(n[a]++,a))}},xX=()=>{let r,e,t,n,i;const s=new Array(Ia+1);for(t=0,n=0;n<Zb-1;n++)for(Yb[n]=t,r=0;r<1<<W1[n];r++)gh[t++]=n;for(gh[t-1]=n,i=0,n=0;n<16;n++)for(W0[n]=i,r=0;r<1<<c0[n];r++)ph[i++]=n;for(i>>=7;n<gu;n++)for(W0[n]=i<<7,r=0;r<1<<c0[n]-7;r++)ph[256+i++]=n;for(e=0;e<=Ia;e++)s[e]=0;for(r=0;r<=143;)ks[r*2+1]=8,r++,s[8]++;for(;r<=255;)ks[r*2+1]=9,r++,s[9]++;for(;r<=279;)ks[r*2+1]=7,r++,s[7]++;for(;r<=287;)ks[r*2+1]=8,r++,s[8]++;for(zk(ks,dh+1,s),r=0;r<gu;r++)zf[r*2+1]=5,zf[r*2]=Hk(r,5);Uk=new Um(ks,W1,cd+1,dh,Ia),Dk=new Um(zf,c0,0,gu,Ia),$k=new Um(new Array(0),_X,0,Qb,bX)},Gk=r=>{let e;for(e=0;e<dh;e++)r.dyn_ltree[e*2]=0;for(e=0;e<gu;e++)r.dyn_dtree[e*2]=0;for(e=0;e<Qb;e++)r.bl_tree[e*2]=0;r.dyn_ltree[Jb*2]=1,r.opt_len=r.static_len=0,r.sym_next=r.matches=0},Kk=r=>{r.bi_valid>8?yh(r,r.bi_buf):r.bi_valid>0&&(r.pending_buf[r.pending++]=r.bi_buf),r.bi_buf=0,r.bi_valid=0},s2=(r,e,t,n)=>{const i=e*2,s=t*2;return r[i]<r[s]||r[i]===r[s]&&n[e]<=n[t]},$m=(r,e,t)=>{const n=r.heap[t];let i=t<<1;for(;i<=r.heap_len&&(i<r.heap_len&&s2(e,r.heap[i+1],r.heap[i],r.depth)&&i++,!s2(e,n,r.heap[i],r.depth));)r.heap[t]=r.heap[i],t=i,i<<=1;r.heap[t]=n},o2=(r,e,t)=>{let n,i,s=0,o,a;if(r.sym_next!==0)do n=r.pending_buf[r.sym_buf+s++]&255,n+=(r.pending_buf[r.sym_buf+s++]&255)<<8,i=r.pending_buf[r.sym_buf+s++],n===0?es(r,i,e):(o=gh[i],es(r,o+cd+1,e),a=W1[o],a!==0&&(i-=Yb[o],Cn(r,i,a)),n--,o=Fk(n),es(r,o,t),a=c0[o],a!==0&&(n-=W0[o],Cn(r,n,a)));while(s<r.sym_next);es(r,Jb,e)},j1=(r,e)=>{const t=e.dyn_tree,n=e.stat_desc.static_tree,i=e.stat_desc.has_stree,s=e.stat_desc.elems;let o,a,u=-1,l;for(r.heap_len=0,r.heap_max=Ck,o=0;o<s;o++)t[o*2]!==0?(r.heap[++r.heap_len]=u=o,r.depth[o]=0):t[o*2+1]=0;for(;r.heap_len<2;)l=r.heap[++r.heap_len]=u<2?++u:0,t[l*2]=1,r.depth[l]=0,r.opt_len--,i&&(r.static_len-=n[l*2+1]);for(e.max_code=u,o=r.heap_len>>1;o>=1;o--)$m(r,t,o);l=s;do o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],$m(r,t,1),a=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=a,t[l*2]=t[o*2]+t[a*2],r.depth[l]=(r.depth[o]>=r.depth[a]?r.depth[o]:r.depth[a])+1,t[o*2+1]=t[a*2+1]=l,r.heap[1]=l++,$m(r,t,1);while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],EX(r,e),zk(t,u,r.bl_count)},a2=(r,e,t)=>{let n,i=-1,s,o=e[0*2+1],a=0,u=7,l=4;for(o===0&&(u=138,l=3),e[(t+1)*2+1]=65535,n=0;n<=t;n++)s=o,o=e[(n+1)*2+1],!(++a<u&&s===o)&&(a<l?r.bl_tree[s*2]+=a:s!==0?(s!==i&&r.bl_tree[s*2]++,r.bl_tree[Bk*2]++):a<=10?r.bl_tree[Pk*2]++:r.bl_tree[Mk*2]++,a=0,i=s,o===0?(u=138,l=3):s===o?(u=6,l=3):(u=7,l=4))},c2=(r,e,t)=>{let n,i=-1,s,o=e[0*2+1],a=0,u=7,l=4;for(o===0&&(u=138,l=3),n=0;n<=t;n++)if(s=o,o=e[(n+1)*2+1],!(++a<u&&s===o)){if(a<l)do es(r,s,r.bl_tree);while(--a!==0);else s!==0?(s!==i&&(es(r,s,r.bl_tree),a--),es(r,Bk,r.bl_tree),Cn(r,a-3,2)):a<=10?(es(r,Pk,r.bl_tree),Cn(r,a-3,3)):(es(r,Mk,r.bl_tree),Cn(r,a-11,7));a=0,i=s,o===0?(u=138,l=3):s===o?(u=6,l=3):(u=7,l=4)}},RX=r=>{let e;for(a2(r,r.dyn_ltree,r.l_desc.max_code),a2(r,r.dyn_dtree,r.d_desc.max_code),j1(r,r.bl_desc),e=Qb-1;e>=3&&r.bl_tree[Lk[e]*2+1]===0;e--);return r.opt_len+=3*(e+1)+5+5+4,e},IX=(r,e,t,n)=>{let i;for(Cn(r,e-257,5),Cn(r,t-1,5),Cn(r,n-4,4),i=0;i<n;i++)Cn(r,r.bl_tree[Lk[i]*2+1],3);c2(r,r.dyn_ltree,e-1),c2(r,r.dyn_dtree,t-1)},SX=r=>{let e=4093624447,t;for(t=0;t<=31;t++,e>>>=1)if(e&1&&r.dyn_ltree[t*2]!==0)return n2;if(r.dyn_ltree[9*2]!==0||r.dyn_ltree[10*2]!==0||r.dyn_ltree[13*2]!==0)return i2;for(t=32;t<cd;t++)if(r.dyn_ltree[t*2]!==0)return i2;return n2};let u2=!1;const kX=r=>{u2||(xX(),u2=!0),r.l_desc=new Dm(r.dyn_ltree,Uk),r.d_desc=new Dm(r.dyn_dtree,Dk),r.bl_desc=new Dm(r.bl_tree,$k),r.bi_buf=0,r.bi_valid=0,Gk(r)},Wk=(r,e,t,n)=>{Cn(r,(gX<<1)+(n?1:0),3),Kk(r),yh(r,t),yh(r,~t),t&&r.pending_buf.set(r.window.subarray(e,e+t),r.pending),r.pending+=t},TX=r=>{Cn(r,Nk<<1,3),es(r,Jb,ks),vX(r)},OX=(r,e,t,n)=>{let i,s,o=0;r.level>0?(r.strm.data_type===pX&&(r.strm.data_type=SX(r)),j1(r,r.l_desc),j1(r,r.d_desc),o=RX(r),i=r.opt_len+3+7>>>3,s=r.static_len+3+7>>>3,s<=i&&(i=s)):i=s=t+5,t+4<=i&&e!==-1?Wk(r,e,t,n):r.strategy===dX||s===i?(Cn(r,(Nk<<1)+(n?1:0),3),o2(r,ks,zf)):(Cn(r,(yX<<1)+(n?1:0),3),IX(r,r.l_desc.max_code+1,r.d_desc.max_code+1,o+1),o2(r,r.dyn_ltree,r.dyn_dtree)),Gk(r),n&&Kk(r)},NX=(r,e,t)=>(r.pending_buf[r.sym_buf+r.sym_next++]=e,r.pending_buf[r.sym_buf+r.sym_next++]=e>>8,r.pending_buf[r.sym_buf+r.sym_next++]=t,e===0?r.dyn_ltree[t*2]++:(r.matches++,e--,r.dyn_ltree[(gh[t]+cd+1)*2]++,r.dyn_dtree[Fk(e)*2]++),r.sym_next===r.sym_end);var CX=kX,BX=Wk,PX=OX,MX=NX,LX=TX,UX={_tr_init:CX,_tr_stored_block:BX,_tr_flush_block:PX,_tr_tally:MX,_tr_align:LX};const DX=(r,e,t,n)=>{let i=r&65535|0,s=r>>>16&65535|0,o=0;for(;t!==0;){o=t>2e3?2e3:t,t-=o;do i=i+e[n++]|0,s=s+i|0;while(--o);i%=65521,s%=65521}return i|s<<16|0};var mh=DX;const $X=()=>{let r,e=[];for(var t=0;t<256;t++){r=t;for(var n=0;n<8;n++)r=r&1?3988292384^r>>>1:r>>>1;e[t]=r}return e},FX=new Uint32Array($X()),HX=(r,e,t,n)=>{const i=FX,s=n+t;r^=-1;for(let o=n;o<s;o++)r=r>>>8^i[(r^e[o])&255];return r^-1};var Ur=HX,ml={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"},ud={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:zX,_tr_stored_block:V1,_tr_flush_block:GX,_tr_tally:qo,_tr_align:KX}=UX,{Z_NO_FLUSH:Zo,Z_PARTIAL_FLUSH:WX,Z_FULL_FLUSH:jX,Z_FINISH:ui,Z_BLOCK:l2,Z_OK:jr,Z_STREAM_END:f2,Z_STREAM_ERROR:as,Z_DATA_ERROR:VX,Z_BUF_ERROR:Fm,Z_DEFAULT_COMPRESSION:qX,Z_FILTERED:ZX,Z_HUFFMAN_ONLY:Gd,Z_RLE:QX,Z_FIXED:JX,Z_DEFAULT_STRATEGY:YX,Z_UNKNOWN:XX,Z_DEFLATED:tg}=ud,eee=9,tee=15,ree=8,nee=29,iee=256,q1=iee+1+nee,see=30,oee=19,aee=2*q1+1,cee=15,ht=3,Wo=258,cs=Wo+ht+1,uee=32,wl=42,Xb=57,Z1=69,Q1=73,J1=91,Y1=103,Sa=113,Cf=666,yn=1,Kl=2,mc=3,Wl=4,lee=3,ka=(r,e)=>(r.msg=ml[e],e),h2=r=>r*2-(r>4?9:0),vo=r=>{let e=r.length;for(;--e>=0;)r[e]=0},fee=r=>{let e,t,n,i=r.w_size;e=r.hash_size,n=e;do t=r.head[--n],r.head[n]=t>=i?t-i:0;while(--e);e=i,n=e;do t=r.prev[--n],r.prev[n]=t>=i?t-i:0;while(--e)};let hee=(r,e,t)=>(e<<r.hash_shift^t)&r.hash_mask,Qo=hee;const $n=r=>{const e=r.state;let t=e.pending;t>r.avail_out&&(t=r.avail_out),t!==0&&(r.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+t),r.next_out),r.next_out+=t,e.pending_out+=t,r.total_out+=t,r.avail_out-=t,e.pending-=t,e.pending===0&&(e.pending_out=0))},Vn=(r,e)=>{GX(r,r.block_start>=0?r.block_start:-1,r.strstart-r.block_start,e),r.block_start=r.strstart,$n(r.strm)},Rt=(r,e)=>{r.pending_buf[r.pending++]=e},If=(r,e)=>{r.pending_buf[r.pending++]=e>>>8&255,r.pending_buf[r.pending++]=e&255},X1=(r,e,t,n)=>{let i=r.avail_in;return i>n&&(i=n),i===0?0:(r.avail_in-=i,e.set(r.input.subarray(r.next_in,r.next_in+i),t),r.state.wrap===1?r.adler=mh(r.adler,e,i,t):r.state.wrap===2&&(r.adler=Ur(r.adler,e,i,t)),r.next_in+=i,r.total_in+=i,i)},jk=(r,e)=>{let t=r.max_chain_length,n=r.strstart,i,s,o=r.prev_length,a=r.nice_match;const u=r.strstart>r.w_size-cs?r.strstart-(r.w_size-cs):0,l=r.window,h=r.w_mask,g=r.prev,b=r.strstart+Wo;let w=l[n+o-1],I=l[n+o];r.prev_length>=r.good_match&&(t>>=2),a>r.lookahead&&(a=r.lookahead);do if(i=e,!(l[i+o]!==I||l[i+o-1]!==w||l[i]!==l[n]||l[++i]!==l[n+1])){n+=2,i++;do;while(l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&l[++n]===l[++i]&&n<b);if(s=Wo-(b-n),n=b-Wo,s>o){if(r.match_start=e,o=s,s>=a)break;w=l[n+o-1],I=l[n+o]}}while((e=g[e&h])>u&&--t!==0);return o<=r.lookahead?o:r.lookahead},bl=r=>{const e=r.w_size;let t,n,i;do{if(n=r.window_size-r.lookahead-r.strstart,r.strstart>=e+(e-cs)&&(r.window.set(r.window.subarray(e,e+e-n),0),r.match_start-=e,r.strstart-=e,r.block_start-=e,r.insert>r.strstart&&(r.insert=r.strstart),fee(r),n+=e),r.strm.avail_in===0)break;if(t=X1(r.strm,r.window,r.strstart+r.lookahead,n),r.lookahead+=t,r.lookahead+r.insert>=ht)for(i=r.strstart-r.insert,r.ins_h=r.window[i],r.ins_h=Qo(r,r.ins_h,r.window[i+1]);r.insert&&(r.ins_h=Qo(r,r.ins_h,r.window[i+ht-1]),r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,r.insert--,!(r.lookahead+r.insert<ht)););}while(r.lookahead<cs&&r.strm.avail_in!==0)},Vk=(r,e)=>{let t=r.pending_buf_size-5>r.w_size?r.w_size:r.pending_buf_size-5,n,i,s,o=0,a=r.strm.avail_in;do{if(n=65535,s=r.bi_valid+42>>3,r.strm.avail_out<s||(s=r.strm.avail_out-s,i=r.strstart-r.block_start,n>i+r.strm.avail_in&&(n=i+r.strm.avail_in),n>s&&(n=s),n<t&&(n===0&&e!==ui||e===Zo||n!==i+r.strm.avail_in)))break;o=e===ui&&n===i+r.strm.avail_in?1:0,V1(r,0,0,o),r.pending_buf[r.pending-4]=n,r.pending_buf[r.pending-3]=n>>8,r.pending_buf[r.pending-2]=~n,r.pending_buf[r.pending-1]=~n>>8,$n(r.strm),i&&(i>n&&(i=n),r.strm.output.set(r.window.subarray(r.block_start,r.block_start+i),r.strm.next_out),r.strm.next_out+=i,r.strm.avail_out-=i,r.strm.total_out+=i,r.block_start+=i,n-=i),n&&(X1(r.strm,r.strm.output,r.strm.next_out,n),r.strm.next_out+=n,r.strm.avail_out-=n,r.strm.total_out+=n)}while(o===0);return a-=r.strm.avail_in,a&&(a>=r.w_size?(r.matches=2,r.window.set(r.strm.input.subarray(r.strm.next_in-r.w_size,r.strm.next_in),0),r.strstart=r.w_size,r.insert=r.strstart):(r.window_size-r.strstart<=a&&(r.strstart-=r.w_size,r.window.set(r.window.subarray(r.w_size,r.w_size+r.strstart),0),r.matches<2&&r.matches++,r.insert>r.strstart&&(r.insert=r.strstart)),r.window.set(r.strm.input.subarray(r.strm.next_in-a,r.strm.next_in),r.strstart),r.strstart+=a,r.insert+=a>r.w_size-r.insert?r.w_size-r.insert:a),r.block_start=r.strstart),r.high_water<r.strstart&&(r.high_water=r.strstart),o?Wl:e!==Zo&&e!==ui&&r.strm.avail_in===0&&r.strstart===r.block_start?Kl:(s=r.window_size-r.strstart,r.strm.avail_in>s&&r.block_start>=r.w_size&&(r.block_start-=r.w_size,r.strstart-=r.w_size,r.window.set(r.window.subarray(r.w_size,r.w_size+r.strstart),0),r.matches<2&&r.matches++,s+=r.w_size,r.insert>r.strstart&&(r.insert=r.strstart)),s>r.strm.avail_in&&(s=r.strm.avail_in),s&&(X1(r.strm,r.window,r.strstart,s),r.strstart+=s,r.insert+=s>r.w_size-r.insert?r.w_size-r.insert:s),r.high_water<r.strstart&&(r.high_water=r.strstart),s=r.bi_valid+42>>3,s=r.pending_buf_size-s>65535?65535:r.pending_buf_size-s,t=s>r.w_size?r.w_size:s,i=r.strstart-r.block_start,(i>=t||(i||e===ui)&&e!==Zo&&r.strm.avail_in===0&&i<=s)&&(n=i>s?s:i,o=e===ui&&r.strm.avail_in===0&&n===i?1:0,V1(r,r.block_start,n,o),r.block_start+=n,$n(r.strm)),o?mc:yn)},Hm=(r,e)=>{let t,n;for(;;){if(r.lookahead<cs){if(bl(r),r.lookahead<cs&&e===Zo)return yn;if(r.lookahead===0)break}if(t=0,r.lookahead>=ht&&(r.ins_h=Qo(r,r.ins_h,r.window[r.strstart+ht-1]),t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),t!==0&&r.strstart-t<=r.w_size-cs&&(r.match_length=jk(r,t)),r.match_length>=ht)if(n=qo(r,r.strstart-r.match_start,r.match_length-ht),r.lookahead-=r.match_length,r.match_length<=r.max_lazy_match&&r.lookahead>=ht){r.match_length--;do r.strstart++,r.ins_h=Qo(r,r.ins_h,r.window[r.strstart+ht-1]),t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart;while(--r.match_length!==0);r.strstart++}else r.strstart+=r.match_length,r.match_length=0,r.ins_h=r.window[r.strstart],r.ins_h=Qo(r,r.ins_h,r.window[r.strstart+1]);else n=qo(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++;if(n&&(Vn(r,!1),r.strm.avail_out===0))return yn}return r.insert=r.strstart<ht-1?r.strstart:ht-1,e===ui?(Vn(r,!0),r.strm.avail_out===0?mc:Wl):r.sym_next&&(Vn(r,!1),r.strm.avail_out===0)?yn:Kl},Wc=(r,e)=>{let t,n,i;for(;;){if(r.lookahead<cs){if(bl(r),r.lookahead<cs&&e===Zo)return yn;if(r.lookahead===0)break}if(t=0,r.lookahead>=ht&&(r.ins_h=Qo(r,r.ins_h,r.window[r.strstart+ht-1]),t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),r.prev_length=r.match_length,r.prev_match=r.match_start,r.match_length=ht-1,t!==0&&r.prev_length<r.max_lazy_match&&r.strstart-t<=r.w_size-cs&&(r.match_length=jk(r,t),r.match_length<=5&&(r.strategy===ZX||r.match_length===ht&&r.strstart-r.match_start>4096)&&(r.match_length=ht-1)),r.prev_length>=ht&&r.match_length<=r.prev_length){i=r.strstart+r.lookahead-ht,n=qo(r,r.strstart-1-r.prev_match,r.prev_length-ht),r.lookahead-=r.prev_length-1,r.prev_length-=2;do++r.strstart<=i&&(r.ins_h=Qo(r,r.ins_h,r.window[r.strstart+ht-1]),t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart);while(--r.prev_length!==0);if(r.match_available=0,r.match_length=ht-1,r.strstart++,n&&(Vn(r,!1),r.strm.avail_out===0))return yn}else if(r.match_available){if(n=qo(r,0,r.window[r.strstart-1]),n&&Vn(r,!1),r.strstart++,r.lookahead--,r.strm.avail_out===0)return yn}else r.match_available=1,r.strstart++,r.lookahead--}return r.match_available&&(n=qo(r,0,r.window[r.strstart-1]),r.match_available=0),r.insert=r.strstart<ht-1?r.strstart:ht-1,e===ui?(Vn(r,!0),r.strm.avail_out===0?mc:Wl):r.sym_next&&(Vn(r,!1),r.strm.avail_out===0)?yn:Kl},dee=(r,e)=>{let t,n,i,s;const o=r.window;for(;;){if(r.lookahead<=Wo){if(bl(r),r.lookahead<=Wo&&e===Zo)return yn;if(r.lookahead===0)break}if(r.match_length=0,r.lookahead>=ht&&r.strstart>0&&(i=r.strstart-1,n=o[i],n===o[++i]&&n===o[++i]&&n===o[++i])){s=r.strstart+Wo;do;while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<s);r.match_length=Wo-(s-i),r.match_length>r.lookahead&&(r.match_length=r.lookahead)}if(r.match_length>=ht?(t=qo(r,1,r.match_length-ht),r.lookahead-=r.match_length,r.strstart+=r.match_length,r.match_length=0):(t=qo(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++),t&&(Vn(r,!1),r.strm.avail_out===0))return yn}return r.insert=0,e===ui?(Vn(r,!0),r.strm.avail_out===0?mc:Wl):r.sym_next&&(Vn(r,!1),r.strm.avail_out===0)?yn:Kl},pee=(r,e)=>{let t;for(;;){if(r.lookahead===0&&(bl(r),r.lookahead===0)){if(e===Zo)return yn;break}if(r.match_length=0,t=qo(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++,t&&(Vn(r,!1),r.strm.avail_out===0))return yn}return r.insert=0,e===ui?(Vn(r,!0),r.strm.avail_out===0?mc:Wl):r.sym_next&&(Vn(r,!1),r.strm.avail_out===0)?yn:Kl};function Di(r,e,t,n,i){this.good_length=r,this.max_lazy=e,this.nice_length=t,this.max_chain=n,this.func=i}const Bf=[new Di(0,0,0,0,Vk),new Di(4,4,8,4,Hm),new Di(4,5,16,8,Hm),new Di(4,6,32,32,Hm),new Di(4,4,16,16,Wc),new Di(8,16,32,32,Wc),new Di(8,16,128,128,Wc),new Di(8,32,128,256,Wc),new Di(32,128,258,1024,Wc),new Di(32,258,258,4096,Wc)],gee=r=>{r.window_size=2*r.w_size,vo(r.head),r.max_lazy_match=Bf[r.level].max_lazy,r.good_match=Bf[r.level].good_length,r.nice_match=Bf[r.level].nice_length,r.max_chain_length=Bf[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=ht-1,r.match_available=0,r.ins_h=0};function yee(){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=tg,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(aee*2),this.dyn_dtree=new Uint16Array((2*see+1)*2),this.bl_tree=new Uint16Array((2*oee+1)*2),vo(this.dyn_ltree),vo(this.dyn_dtree),vo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(cee+1),this.heap=new Uint16Array(2*q1+1),vo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*q1+1),vo(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 ld=r=>{if(!r)return 1;const e=r.state;return!e||e.strm!==r||e.status!==wl&&e.status!==Xb&&e.status!==Z1&&e.status!==Q1&&e.status!==J1&&e.status!==Y1&&e.status!==Sa&&e.status!==Cf?1:0},qk=r=>{if(ld(r))return ka(r,as);r.total_in=r.total_out=0,r.data_type=XX;const e=r.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap===2?Xb:e.wrap?wl:Sa,r.adler=e.wrap===2?0:1,e.last_flush=-2,zX(e),jr},Zk=r=>{const e=qk(r);return e===jr&&gee(r.state),e},mee=(r,e)=>ld(r)||r.state.wrap!==2?as:(r.state.gzhead=e,jr),Qk=(r,e,t,n,i,s)=>{if(!r)return as;let o=1;if(e===qX&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),i<1||i>eee||t!==tg||n<8||n>15||e<0||e>9||s<0||s>JX||n===8&&o!==1)return ka(r,as);n===8&&(n=9);const a=new yee;return r.state=a,a.strm=r,a.status=wl,a.wrap=o,a.gzhead=null,a.w_bits=n,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+ht-1)/ht),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=e,a.strategy=s,a.method=t,Zk(r)},wee=(r,e)=>Qk(r,e,tg,tee,ree,YX),bee=(r,e)=>{if(ld(r)||e>l2||e<0)return r?ka(r,as):as;const t=r.state;if(!r.output||r.avail_in!==0&&!r.input||t.status===Cf&&e!==ui)return ka(r,r.avail_out===0?Fm:as);const n=t.last_flush;if(t.last_flush=e,t.pending!==0){if($n(r),r.avail_out===0)return t.last_flush=-1,jr}else if(r.avail_in===0&&h2(e)<=h2(n)&&e!==ui)return ka(r,Fm);if(t.status===Cf&&r.avail_in!==0)return ka(r,Fm);if(t.status===wl&&t.wrap===0&&(t.status=Sa),t.status===wl){let i=tg+(t.w_bits-8<<4)<<8,s=-1;if(t.strategy>=Gd||t.level<2?s=0:t.level<6?s=1:t.level===6?s=2:s=3,i|=s<<6,t.strstart!==0&&(i|=uee),i+=31-i%31,If(t,i),t.strstart!==0&&(If(t,r.adler>>>16),If(t,r.adler&65535)),r.adler=1,t.status=Sa,$n(r),t.pending!==0)return t.last_flush=-1,jr}if(t.status===Xb){if(r.adler=0,Rt(t,31),Rt(t,139),Rt(t,8),t.gzhead)Rt(t,(t.gzhead.text?1:0)+(t.gzhead.hcrc?2:0)+(t.gzhead.extra?4:0)+(t.gzhead.name?8:0)+(t.gzhead.comment?16:0)),Rt(t,t.gzhead.time&255),Rt(t,t.gzhead.time>>8&255),Rt(t,t.gzhead.time>>16&255),Rt(t,t.gzhead.time>>24&255),Rt(t,t.level===9?2:t.strategy>=Gd||t.level<2?4:0),Rt(t,t.gzhead.os&255),t.gzhead.extra&&t.gzhead.extra.length&&(Rt(t,t.gzhead.extra.length&255),Rt(t,t.gzhead.extra.length>>8&255)),t.gzhead.hcrc&&(r.adler=Ur(r.adler,t.pending_buf,t.pending,0)),t.gzindex=0,t.status=Z1;else if(Rt(t,0),Rt(t,0),Rt(t,0),Rt(t,0),Rt(t,0),Rt(t,t.level===9?2:t.strategy>=Gd||t.level<2?4:0),Rt(t,lee),t.status=Sa,$n(r),t.pending!==0)return t.last_flush=-1,jr}if(t.status===Z1){if(t.gzhead.extra){let i=t.pending,s=(t.gzhead.extra.length&65535)-t.gzindex;for(;t.pending+s>t.pending_buf_size;){let a=t.pending_buf_size-t.pending;if(t.pending_buf.set(t.gzhead.extra.subarray(t.gzindex,t.gzindex+a),t.pending),t.pending=t.pending_buf_size,t.gzhead.hcrc&&t.pending>i&&(r.adler=Ur(r.adler,t.pending_buf,t.pending-i,i)),t.gzindex+=a,$n(r),t.pending!==0)return t.last_flush=-1,jr;i=0,s-=a}let o=new Uint8Array(t.gzhead.extra);t.pending_buf.set(o.subarray(t.gzindex,t.gzindex+s),t.pending),t.pending+=s,t.gzhead.hcrc&&t.pending>i&&(r.adler=Ur(r.adler,t.pending_buf,t.pending-i,i)),t.gzindex=0}t.status=Q1}if(t.status===Q1){if(t.gzhead.name){let i=t.pending,s;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>i&&(r.adler=Ur(r.adler,t.pending_buf,t.pending-i,i)),$n(r),t.pending!==0)return t.last_flush=-1,jr;i=0}t.gzindex<t.gzhead.name.length?s=t.gzhead.name.charCodeAt(t.gzindex++)&255:s=0,Rt(t,s)}while(s!==0);t.gzhead.hcrc&&t.pending>i&&(r.adler=Ur(r.adler,t.pending_buf,t.pending-i,i)),t.gzindex=0}t.status=J1}if(t.status===J1){if(t.gzhead.comment){let i=t.pending,s;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>i&&(r.adler=Ur(r.adler,t.pending_buf,t.pending-i,i)),$n(r),t.pending!==0)return t.last_flush=-1,jr;i=0}t.gzindex<t.gzhead.comment.length?s=t.gzhead.comment.charCodeAt(t.gzindex++)&255:s=0,Rt(t,s)}while(s!==0);t.gzhead.hcrc&&t.pending>i&&(r.adler=Ur(r.adler,t.pending_buf,t.pending-i,i))}t.status=Y1}if(t.status===Y1){if(t.gzhead.hcrc){if(t.pending+2>t.pending_buf_size&&($n(r),t.pending!==0))return t.last_flush=-1,jr;Rt(t,r.adler&255),Rt(t,r.adler>>8&255),r.adler=0}if(t.status=Sa,$n(r),t.pending!==0)return t.last_flush=-1,jr}if(r.avail_in!==0||t.lookahead!==0||e!==Zo&&t.status!==Cf){let i=t.level===0?Vk(t,e):t.strategy===Gd?pee(t,e):t.strategy===QX?dee(t,e):Bf[t.level].func(t,e);if((i===mc||i===Wl)&&(t.status=Cf),i===yn||i===mc)return r.avail_out===0&&(t.last_flush=-1),jr;if(i===Kl&&(e===WX?KX(t):e!==l2&&(V1(t,0,0,!1),e===jX&&(vo(t.head),t.lookahead===0&&(t.strstart=0,t.block_start=0,t.insert=0))),$n(r),r.avail_out===0))return t.last_flush=-1,jr}return e!==ui?jr:t.wrap<=0?f2:(t.wrap===2?(Rt(t,r.adler&255),Rt(t,r.adler>>8&255),Rt(t,r.adler>>16&255),Rt(t,r.adler>>24&255),Rt(t,r.total_in&255),Rt(t,r.total_in>>8&255),Rt(t,r.total_in>>16&255),Rt(t,r.total_in>>24&255)):(If(t,r.adler>>>16),If(t,r.adler&65535)),$n(r),t.wrap>0&&(t.wrap=-t.wrap),t.pending!==0?jr:f2)},_ee=r=>{if(ld(r))return as;const e=r.state.status;return r.state=null,e===Sa?ka(r,VX):jr},Aee=(r,e)=>{let t=e.length;if(ld(r))return as;const n=r.state,i=n.wrap;if(i===2||i===1&&n.status!==wl||n.lookahead)return as;if(i===1&&(r.adler=mh(r.adler,e,t,0)),n.wrap=0,t>=n.w_size){i===0&&(vo(n.head),n.strstart=0,n.block_start=0,n.insert=0);let u=new Uint8Array(n.w_size);u.set(e.subarray(t-n.w_size,t),0),e=u,t=n.w_size}const s=r.avail_in,o=r.next_in,a=r.input;for(r.avail_in=t,r.next_in=0,r.input=e,bl(n);n.lookahead>=ht;){let u=n.strstart,l=n.lookahead-(ht-1);do n.ins_h=Qo(n,n.ins_h,n.window[u+ht-1]),n.prev[u&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=u,u++;while(--l);n.strstart=u,n.lookahead=ht-1,bl(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=ht-1,n.match_available=0,r.next_in=o,r.input=a,r.avail_in=s,n.wrap=i,jr};var vee=wee,Eee=Qk,xee=Zk,Ree=qk,Iee=mee,See=bee,kee=_ee,Tee=Aee,Oee="pako deflate (from Nodeca project)",Gf={deflateInit:vee,deflateInit2:Eee,deflateReset:xee,deflateResetKeep:Ree,deflateSetHeader:Iee,deflate:See,deflateEnd:kee,deflateSetDictionary:Tee,deflateInfo:Oee};const Nee=(r,e)=>Object.prototype.hasOwnProperty.call(r,e);var Cee=function(r){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const n in t)Nee(t,n)&&(r[n]=t[n])}}return r},Bee=r=>{let e=0;for(let n=0,i=r.length;n<i;n++)e+=r[n].length;const t=new Uint8Array(e);for(let n=0,i=0,s=r.length;n<s;n++){let o=r[n];t.set(o,i),i+=o.length}return t},rg={assign:Cee,flattenChunks:Bee};let Jk=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Jk=!1}const wh=new Uint8Array(256);for(let r=0;r<256;r++)wh[r]=r>=252?6:r>=248?5:r>=240?4:r>=224?3:r>=192?2:1;wh[254]=wh[254]=1;var Pee=r=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(r);let e,t,n,i,s,o=r.length,a=0;for(i=0;i<o;i++)t=r.charCodeAt(i),(t&64512)===55296&&i+1<o&&(n=r.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),a+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Uint8Array(a),s=0,i=0;s<a;i++)t=r.charCodeAt(i),(t&64512)===55296&&i+1<o&&(n=r.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),t<128?e[s++]=t:t<2048?(e[s++]=192|t>>>6,e[s++]=128|t&63):t<65536?(e[s++]=224|t>>>12,e[s++]=128|t>>>6&63,e[s++]=128|t&63):(e[s++]=240|t>>>18,e[s++]=128|t>>>12&63,e[s++]=128|t>>>6&63,e[s++]=128|t&63);return e};const Mee=(r,e)=>{if(e<65534&&r.subarray&&Jk)return String.fromCharCode.apply(null,r.length===e?r:r.subarray(0,e));let t="";for(let n=0;n<e;n++)t+=String.fromCharCode(r[n]);return t};var Lee=(r,e)=>{const t=e||r.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(r.subarray(0,e));let n,i;const s=new Array(t*2);for(i=0,n=0;n<t;){let o=r[n++];if(o<128){s[i++]=o;continue}let a=wh[o];if(a>4){s[i++]=65533,n+=a-1;continue}for(o&=a===2?31:a===3?15:7;a>1&&n<t;)o=o<<6|r[n++]&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 Mee(s,i)},Uee=(r,e)=>{e=e||r.length,e>r.length&&(e=r.length);let t=e-1;for(;t>=0&&(r[t]&192)===128;)t--;return t<0||t===0?e:t+wh[r[t]]>e?t:e},bh={string2buf:Pee,buf2string:Lee,utf8border:Uee};function Dee(){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 Yk=Dee;const Xk=Object.prototype.toString,{Z_NO_FLUSH:$ee,Z_SYNC_FLUSH:Fee,Z_FULL_FLUSH:Hee,Z_FINISH:zee,Z_OK:j0,Z_STREAM_END:Gee,Z_DEFAULT_COMPRESSION:Kee,Z_DEFAULT_STRATEGY:Wee,Z_DEFLATED:jee}=ud;function e_(r){this.options=rg.assign({level:Kee,method:jee,chunkSize:16384,windowBits:15,memLevel:8,strategy:Wee},r||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yk,this.strm.avail_out=0;let t=Gf.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==j0)throw new Error(ml[t]);if(e.header&&Gf.deflateSetHeader(this.strm,e.header),e.dictionary){let n;if(typeof e.dictionary=="string"?n=bh.string2buf(e.dictionary):Xk.call(e.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(e.dictionary):n=e.dictionary,t=Gf.deflateSetDictionary(this.strm,n),t!==j0)throw new Error(ml[t]);this._dict_set=!0}}e_.prototype.push=function(r,e){const t=this.strm,n=this.options.chunkSize;let i,s;if(this.ended)return!1;for(e===~~e?s=e:s=e===!0?zee:$ee,typeof r=="string"?t.input=bh.string2buf(r):Xk.call(r)==="[object ArrayBuffer]"?t.input=new Uint8Array(r):t.input=r,t.next_in=0,t.avail_in=t.input.length;;){if(t.avail_out===0&&(t.output=new Uint8Array(n),t.next_out=0,t.avail_out=n),(s===Fee||s===Hee)&&t.avail_out<=6){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(i=Gf.deflate(t,s),i===Gee)return t.next_out>0&&this.onData(t.output.subarray(0,t.next_out)),i=Gf.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===j0;if(t.avail_out===0){this.onData(t.output);continue}if(s>0&&t.next_out>0){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(t.avail_in===0)break}return!0};e_.prototype.onData=function(r){this.chunks.push(r)};e_.prototype.onEnd=function(r){r===j0&&(this.result=rg.flattenChunks(this.chunks)),this.chunks=[],this.err=r,this.msg=this.strm.msg};const Kd=16209,Vee=16191;var qee=function(e,t){let n,i,s,o,a,u,l,h,g,b,w,I,S,x,C,H,D,z,V,Z,K,j,oe,ce;const ne=e.state;n=e.next_in,oe=e.input,i=n+(e.avail_in-5),s=e.next_out,ce=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),u=ne.dmax,l=ne.wsize,h=ne.whave,g=ne.wnext,b=ne.window,w=ne.hold,I=ne.bits,S=ne.lencode,x=ne.distcode,C=(1<<ne.lenbits)-1,H=(1<<ne.distbits)-1;e:do{I<15&&(w+=oe[n++]<<I,I+=8,w+=oe[n++]<<I,I+=8),D=S[w&C];t:for(;;){if(z=D>>>24,w>>>=z,I-=z,z=D>>>16&255,z===0)ce[s++]=D&65535;else if(z&16){V=D&65535,z&=15,z&&(I<z&&(w+=oe[n++]<<I,I+=8),V+=w&(1<<z)-1,w>>>=z,I-=z),I<15&&(w+=oe[n++]<<I,I+=8,w+=oe[n++]<<I,I+=8),D=x[w&H];r:for(;;){if(z=D>>>24,w>>>=z,I-=z,z=D>>>16&255,z&16){if(Z=D&65535,z&=15,I<z&&(w+=oe[n++]<<I,I+=8,I<z&&(w+=oe[n++]<<I,I+=8)),Z+=w&(1<<z)-1,Z>u){e.msg="invalid distance too far back",ne.mode=Kd;break e}if(w>>>=z,I-=z,z=s-o,Z>z){if(z=Z-z,z>h&&ne.sane){e.msg="invalid distance too far back",ne.mode=Kd;break e}if(K=0,j=b,g===0){if(K+=l-z,z<V){V-=z;do ce[s++]=b[K++];while(--z);K=s-Z,j=ce}}else if(g<z){if(K+=l+g-z,z-=g,z<V){V-=z;do ce[s++]=b[K++];while(--z);if(K=0,g<V){z=g,V-=z;do ce[s++]=b[K++];while(--z);K=s-Z,j=ce}}}else if(K+=g-z,z<V){V-=z;do ce[s++]=b[K++];while(--z);K=s-Z,j=ce}for(;V>2;)ce[s++]=j[K++],ce[s++]=j[K++],ce[s++]=j[K++],V-=3;V&&(ce[s++]=j[K++],V>1&&(ce[s++]=j[K++]))}else{K=s-Z;do ce[s++]=ce[K++],ce[s++]=ce[K++],ce[s++]=ce[K++],V-=3;while(V>2);V&&(ce[s++]=ce[K++],V>1&&(ce[s++]=ce[K++]))}}else if(z&64){e.msg="invalid distance code",ne.mode=Kd;break e}else{D=x[(D&65535)+(w&(1<<z)-1)];continue r}break}}else if(z&64)if(z&32){ne.mode=Vee;break e}else{e.msg="invalid literal/length code",ne.mode=Kd;break e}else{D=S[(D&65535)+(w&(1<<z)-1)];continue t}break}}while(n<i&&s<a);V=I>>3,n-=V,I-=V<<3,w&=(1<<I)-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?5+(i-n):5-(n-i),e.avail_out=s<a?257+(a-s):257-(s-a),ne.hold=w,ne.bits=I};const jc=15,d2=852,p2=592,g2=0,zm=1,y2=2,Zee=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]),Qee=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]),Jee=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]),Yee=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]),Xee=(r,e,t,n,i,s,o,a)=>{const u=a.bits;let l=0,h=0,g=0,b=0,w=0,I=0,S=0,x=0,C=0,H=0,D,z,V,Z,K,j=null,oe;const ce=new Uint16Array(jc+1),ne=new Uint16Array(jc+1);let ue=null,B,p,m;for(l=0;l<=jc;l++)ce[l]=0;for(h=0;h<n;h++)ce[e[t+h]]++;for(w=u,b=jc;b>=1&&ce[b]===0;b--);if(w>b&&(w=b),b===0)return i[s++]=1<<24|64<<16|0,i[s++]=1<<24|64<<16|0,a.bits=1,0;for(g=1;g<b&&ce[g]===0;g++);for(w<g&&(w=g),x=1,l=1;l<=jc;l++)if(x<<=1,x-=ce[l],x<0)return-1;if(x>0&&(r===g2||b!==1))return-1;for(ne[1]=0,l=1;l<jc;l++)ne[l+1]=ne[l]+ce[l];for(h=0;h<n;h++)e[t+h]!==0&&(o[ne[e[t+h]]++]=h);if(r===g2?(j=ue=o,oe=20):r===zm?(j=Zee,ue=Qee,oe=257):(j=Jee,ue=Yee,oe=0),H=0,h=0,l=g,K=s,I=w,S=0,V=-1,C=1<<w,Z=C-1,r===zm&&C>d2||r===y2&&C>p2)return 1;for(;;){B=l-S,o[h]+1<oe?(p=0,m=o[h]):o[h]>=oe?(p=ue[o[h]-oe],m=j[o[h]-oe]):(p=96,m=0),D=1<<l-S,z=1<<I,g=z;do z-=D,i[K+(H>>S)+z]=B<<24|p<<16|m|0;while(z!==0);for(D=1<<l-1;H&D;)D>>=1;if(D!==0?(H&=D-1,H+=D):H=0,h++,--ce[l]===0){if(l===b)break;l=e[t+o[h]]}if(l>w&&(H&Z)!==V){for(S===0&&(S=w),K+=g,I=l-S,x=1<<I;I+S<b&&(x-=ce[I+S],!(x<=0));)I++,x<<=1;if(C+=1<<I,r===zm&&C>d2||r===y2&&C>p2)return 1;V=H&Z,i[V]=w<<24|I<<16|K-s|0}}return H!==0&&(i[K+H]=l-S<<24|64<<16|0),a.bits=w,0};var Kf=Xee;const ete=0,eT=1,tT=2,{Z_FINISH:m2,Z_BLOCK:tte,Z_TREES:Wd,Z_OK:wc,Z_STREAM_END:rte,Z_NEED_DICT:nte,Z_STREAM_ERROR:fi,Z_DATA_ERROR:rT,Z_MEM_ERROR:nT,Z_BUF_ERROR:ite,Z_DEFLATED:w2}=ud,ng=16180,b2=16181,_2=16182,A2=16183,v2=16184,E2=16185,x2=16186,R2=16187,I2=16188,S2=16189,V0=16190,_s=16191,Gm=16192,k2=16193,Km=16194,T2=16195,O2=16196,N2=16197,C2=16198,jd=16199,Vd=16200,B2=16201,P2=16202,M2=16203,L2=16204,U2=16205,Wm=16206,D2=16207,$2=16208,qt=16209,iT=16210,sT=16211,ste=852,ote=592,ate=15,cte=ate,F2=r=>(r>>>24&255)+(r>>>8&65280)+((r&65280)<<8)+((r&255)<<24);function ute(){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 Bc=r=>{if(!r)return 1;const e=r.state;return!e||e.strm!==r||e.mode<ng||e.mode>sT?1:0},oT=r=>{if(Bc(r))return fi;const e=r.state;return r.total_in=r.total_out=e.total=0,r.msg="",e.wrap&&(r.adler=e.wrap&1),e.mode=ng,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(ste),e.distcode=e.distdyn=new Int32Array(ote),e.sane=1,e.back=-1,wc},aT=r=>{if(Bc(r))return fi;const e=r.state;return e.wsize=0,e.whave=0,e.wnext=0,oT(r)},cT=(r,e)=>{let t;if(Bc(r))return fi;const n=r.state;return e<0?(t=0,e=-e):(t=(e>>4)+5,e<48&&(e&=15)),e&&(e<8||e>15)?fi:(n.window!==null&&n.wbits!==e&&(n.window=null),n.wrap=t,n.wbits=e,aT(r))},uT=(r,e)=>{if(!r)return fi;const t=new ute;r.state=t,t.strm=r,t.window=null,t.mode=ng;const n=cT(r,e);return n!==wc&&(r.state=null),n},lte=r=>uT(r,cte);let H2=!0,jm,Vm;const fte=r=>{if(H2){jm=new Int32Array(512),Vm=new Int32Array(32);let e=0;for(;e<144;)r.lens[e++]=8;for(;e<256;)r.lens[e++]=9;for(;e<280;)r.lens[e++]=7;for(;e<288;)r.lens[e++]=8;for(Kf(eT,r.lens,0,288,jm,0,r.work,{bits:9}),e=0;e<32;)r.lens[e++]=5;Kf(tT,r.lens,0,32,Vm,0,r.work,{bits:5}),H2=!1}r.lencode=jm,r.lenbits=9,r.distcode=Vm,r.distbits=5},lT=(r,e,t,n)=>{let i;const s=r.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Uint8Array(s.wsize)),n>=s.wsize?(s.window.set(e.subarray(t-s.wsize,t),0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>n&&(i=n),s.window.set(e.subarray(t-n,t-n+i),s.wnext),n-=i,n?(s.window.set(e.subarray(t-n,t),0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0},hte=(r,e)=>{let t,n,i,s,o,a,u,l,h,g,b,w,I,S,x=0,C,H,D,z,V,Z,K,j;const oe=new Uint8Array(4);let ce,ne;const ue=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Bc(r)||!r.output||!r.input&&r.avail_in!==0)return fi;t=r.state,t.mode===_s&&(t.mode=Gm),o=r.next_out,i=r.output,u=r.avail_out,s=r.next_in,n=r.input,a=r.avail_in,l=t.hold,h=t.bits,g=a,b=u,j=wc;e:for(;;)switch(t.mode){case ng:if(t.wrap===0){t.mode=Gm;break}for(;h<16;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(t.wrap&2&&l===35615){t.wbits===0&&(t.wbits=15),t.check=0,oe[0]=l&255,oe[1]=l>>>8&255,t.check=Ur(t.check,oe,2,0),l=0,h=0,t.mode=b2;break}if(t.head&&(t.head.done=!1),!(t.wrap&1)||(((l&255)<<8)+(l>>8))%31){r.msg="incorrect header check",t.mode=qt;break}if((l&15)!==w2){r.msg="unknown compression method",t.mode=qt;break}if(l>>>=4,h-=4,K=(l&15)+8,t.wbits===0&&(t.wbits=K),K>15||K>t.wbits){r.msg="invalid window size",t.mode=qt;break}t.dmax=1<<t.wbits,t.flags=0,r.adler=t.check=1,t.mode=l&512?S2:_s,l=0,h=0;break;case b2:for(;h<16;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(t.flags=l,(t.flags&255)!==w2){r.msg="unknown compression method",t.mode=qt;break}if(t.flags&57344){r.msg="unknown header flags set",t.mode=qt;break}t.head&&(t.head.text=l>>8&1),t.flags&512&&t.wrap&4&&(oe[0]=l&255,oe[1]=l>>>8&255,t.check=Ur(t.check,oe,2,0)),l=0,h=0,t.mode=_2;case _2:for(;h<32;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}t.head&&(t.head.time=l),t.flags&512&&t.wrap&4&&(oe[0]=l&255,oe[1]=l>>>8&255,oe[2]=l>>>16&255,oe[3]=l>>>24&255,t.check=Ur(t.check,oe,4,0)),l=0,h=0,t.mode=A2;case A2:for(;h<16;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}t.head&&(t.head.xflags=l&255,t.head.os=l>>8),t.flags&512&&t.wrap&4&&(oe[0]=l&255,oe[1]=l>>>8&255,t.check=Ur(t.check,oe,2,0)),l=0,h=0,t.mode=v2;case v2:if(t.flags&1024){for(;h<16;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}t.length=l,t.head&&(t.head.extra_len=l),t.flags&512&&t.wrap&4&&(oe[0]=l&255,oe[1]=l>>>8&255,t.check=Ur(t.check,oe,2,0)),l=0,h=0}else t.head&&(t.head.extra=null);t.mode=E2;case E2:if(t.flags&1024&&(w=t.length,w>a&&(w=a),w&&(t.head&&(K=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(n.subarray(s,s+w),K)),t.flags&512&&t.wrap&4&&(t.check=Ur(t.check,n,w,s)),a-=w,s+=w,t.length-=w),t.length))break e;t.length=0,t.mode=x2;case x2:if(t.flags&2048){if(a===0)break e;w=0;do K=n[s+w++],t.head&&K&&t.length<65536&&(t.head.name+=String.fromCharCode(K));while(K&&w<a);if(t.flags&512&&t.wrap&4&&(t.check=Ur(t.check,n,w,s)),a-=w,s+=w,K)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=R2;case R2:if(t.flags&4096){if(a===0)break e;w=0;do K=n[s+w++],t.head&&K&&t.length<65536&&(t.head.comment+=String.fromCharCode(K));while(K&&w<a);if(t.flags&512&&t.wrap&4&&(t.check=Ur(t.check,n,w,s)),a-=w,s+=w,K)break e}else t.head&&(t.head.comment=null);t.mode=I2;case I2:if(t.flags&512){for(;h<16;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(t.wrap&4&&l!==(t.check&65535)){r.msg="header crc mismatch",t.mode=qt;break}l=0,h=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),r.adler=t.check=0,t.mode=_s;break;case S2:for(;h<32;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}r.adler=t.check=F2(l),l=0,h=0,t.mode=V0;case V0:if(t.havedict===0)return r.next_out=o,r.avail_out=u,r.next_in=s,r.avail_in=a,t.hold=l,t.bits=h,nte;r.adler=t.check=1,t.mode=_s;case _s:if(e===tte||e===Wd)break e;case Gm:if(t.last){l>>>=h&7,h-=h&7,t.mode=Wm;break}for(;h<3;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}switch(t.last=l&1,l>>>=1,h-=1,l&3){case 0:t.mode=k2;break;case 1:if(fte(t),t.mode=jd,e===Wd){l>>>=2,h-=2;break e}break;case 2:t.mode=O2;break;case 3:r.msg="invalid block type",t.mode=qt}l>>>=2,h-=2;break;case k2:for(l>>>=h&7,h-=h&7;h<32;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if((l&65535)!==(l>>>16^65535)){r.msg="invalid stored block lengths",t.mode=qt;break}if(t.length=l&65535,l=0,h=0,t.mode=Km,e===Wd)break e;case Km:t.mode=T2;case T2:if(w=t.length,w){if(w>a&&(w=a),w>u&&(w=u),w===0)break e;i.set(n.subarray(s,s+w),o),a-=w,s+=w,u-=w,o+=w,t.length-=w;break}t.mode=_s;break;case O2:for(;h<14;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(t.nlen=(l&31)+257,l>>>=5,h-=5,t.ndist=(l&31)+1,l>>>=5,h-=5,t.ncode=(l&15)+4,l>>>=4,h-=4,t.nlen>286||t.ndist>30){r.msg="too many length or distance symbols",t.mode=qt;break}t.have=0,t.mode=N2;case N2:for(;t.have<t.ncode;){for(;h<3;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}t.lens[ue[t.have++]]=l&7,l>>>=3,h-=3}for(;t.have<19;)t.lens[ue[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,ce={bits:t.lenbits},j=Kf(ete,t.lens,0,19,t.lencode,0,t.work,ce),t.lenbits=ce.bits,j){r.msg="invalid code lengths set",t.mode=qt;break}t.have=0,t.mode=C2;case C2:for(;t.have<t.nlen+t.ndist;){for(;x=t.lencode[l&(1<<t.lenbits)-1],C=x>>>24,H=x>>>16&255,D=x&65535,!(C<=h);){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(D<16)l>>>=C,h-=C,t.lens[t.have++]=D;else{if(D===16){for(ne=C+2;h<ne;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(l>>>=C,h-=C,t.have===0){r.msg="invalid bit length repeat",t.mode=qt;break}K=t.lens[t.have-1],w=3+(l&3),l>>>=2,h-=2}else if(D===17){for(ne=C+3;h<ne;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}l>>>=C,h-=C,K=0,w=3+(l&7),l>>>=3,h-=3}else{for(ne=C+7;h<ne;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}l>>>=C,h-=C,K=0,w=11+(l&127),l>>>=7,h-=7}if(t.have+w>t.nlen+t.ndist){r.msg="invalid bit length repeat",t.mode=qt;break}for(;w--;)t.lens[t.have++]=K}}if(t.mode===qt)break;if(t.lens[256]===0){r.msg="invalid code -- missing end-of-block",t.mode=qt;break}if(t.lenbits=9,ce={bits:t.lenbits},j=Kf(eT,t.lens,0,t.nlen,t.lencode,0,t.work,ce),t.lenbits=ce.bits,j){r.msg="invalid literal/lengths set",t.mode=qt;break}if(t.distbits=6,t.distcode=t.distdyn,ce={bits:t.distbits},j=Kf(tT,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,ce),t.distbits=ce.bits,j){r.msg="invalid distances set",t.mode=qt;break}if(t.mode=jd,e===Wd)break e;case jd:t.mode=Vd;case Vd:if(a>=6&&u>=258){r.next_out=o,r.avail_out=u,r.next_in=s,r.avail_in=a,t.hold=l,t.bits=h,qee(r,b),o=r.next_out,i=r.output,u=r.avail_out,s=r.next_in,n=r.input,a=r.avail_in,l=t.hold,h=t.bits,t.mode===_s&&(t.back=-1);break}for(t.back=0;x=t.lencode[l&(1<<t.lenbits)-1],C=x>>>24,H=x>>>16&255,D=x&65535,!(C<=h);){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(H&&!(H&240)){for(z=C,V=H,Z=D;x=t.lencode[Z+((l&(1<<z+V)-1)>>z)],C=x>>>24,H=x>>>16&255,D=x&65535,!(z+C<=h);){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}l>>>=z,h-=z,t.back+=z}if(l>>>=C,h-=C,t.back+=C,t.length=D,H===0){t.mode=U2;break}if(H&32){t.back=-1,t.mode=_s;break}if(H&64){r.msg="invalid literal/length code",t.mode=qt;break}t.extra=H&15,t.mode=B2;case B2:if(t.extra){for(ne=t.extra;h<ne;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}t.length+=l&(1<<t.extra)-1,l>>>=t.extra,h-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=P2;case P2:for(;x=t.distcode[l&(1<<t.distbits)-1],C=x>>>24,H=x>>>16&255,D=x&65535,!(C<=h);){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(!(H&240)){for(z=C,V=H,Z=D;x=t.distcode[Z+((l&(1<<z+V)-1)>>z)],C=x>>>24,H=x>>>16&255,D=x&65535,!(z+C<=h);){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}l>>>=z,h-=z,t.back+=z}if(l>>>=C,h-=C,t.back+=C,H&64){r.msg="invalid distance code",t.mode=qt;break}t.offset=D,t.extra=H&15,t.mode=M2;case M2:if(t.extra){for(ne=t.extra;h<ne;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}t.offset+=l&(1<<t.extra)-1,l>>>=t.extra,h-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){r.msg="invalid distance too far back",t.mode=qt;break}t.mode=L2;case L2:if(u===0)break e;if(w=b-u,t.offset>w){if(w=t.offset-w,w>t.whave&&t.sane){r.msg="invalid distance too far back",t.mode=qt;break}w>t.wnext?(w-=t.wnext,I=t.wsize-w):I=t.wnext-w,w>t.length&&(w=t.length),S=t.window}else S=i,I=o-t.offset,w=t.length;w>u&&(w=u),u-=w,t.length-=w;do i[o++]=S[I++];while(--w);t.length===0&&(t.mode=Vd);break;case U2:if(u===0)break e;i[o++]=t.length,u--,t.mode=Vd;break;case Wm:if(t.wrap){for(;h<32;){if(a===0)break e;a--,l|=n[s++]<<h,h+=8}if(b-=u,r.total_out+=b,t.total+=b,t.wrap&4&&b&&(r.adler=t.check=t.flags?Ur(t.check,i,b,o-b):mh(t.check,i,b,o-b)),b=u,t.wrap&4&&(t.flags?l:F2(l))!==t.check){r.msg="incorrect data check",t.mode=qt;break}l=0,h=0}t.mode=D2;case D2:if(t.wrap&&t.flags){for(;h<32;){if(a===0)break e;a--,l+=n[s++]<<h,h+=8}if(t.wrap&4&&l!==(t.total&4294967295)){r.msg="incorrect length check",t.mode=qt;break}l=0,h=0}t.mode=$2;case $2:j=rte;break e;case qt:j=rT;break e;case iT:return nT;case sT:default:return fi}return r.next_out=o,r.avail_out=u,r.next_in=s,r.avail_in=a,t.hold=l,t.bits=h,(t.wsize||b!==r.avail_out&&t.mode<qt&&(t.mode<Wm||e!==m2))&&lT(r,r.output,r.next_out,b-r.avail_out),g-=r.avail_in,b-=r.avail_out,r.total_in+=g,r.total_out+=b,t.total+=b,t.wrap&4&&b&&(r.adler=t.check=t.flags?Ur(t.check,i,b,r.next_out-b):mh(t.check,i,b,r.next_out-b)),r.data_type=t.bits+(t.last?64:0)+(t.mode===_s?128:0)+(t.mode===jd||t.mode===Km?256:0),(g===0&&b===0||e===m2)&&j===wc&&(j=ite),j},dte=r=>{if(Bc(r))return fi;let e=r.state;return e.window&&(e.window=null),r.state=null,wc},pte=(r,e)=>{if(Bc(r))return fi;const t=r.state;return t.wrap&2?(t.head=e,e.done=!1,wc):fi},gte=(r,e)=>{const t=e.length;let n,i,s;return Bc(r)||(n=r.state,n.wrap!==0&&n.mode!==V0)?fi:n.mode===V0&&(i=1,i=mh(i,e,t,0),i!==n.check)?rT:(s=lT(r,e,t,t),s?(n.mode=iT,nT):(n.havedict=1,wc))};var yte=aT,mte=cT,wte=oT,bte=lte,_te=uT,Ate=hte,vte=dte,Ete=pte,xte=gte,Rte="pako inflate (from Nodeca project)",Ts={inflateReset:yte,inflateReset2:mte,inflateResetKeep:wte,inflateInit:bte,inflateInit2:_te,inflate:Ate,inflateEnd:vte,inflateGetHeader:Ete,inflateSetDictionary:xte,inflateInfo:Rte};function Ite(){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 Ste=Ite;const fT=Object.prototype.toString,{Z_NO_FLUSH:kte,Z_FINISH:Tte,Z_OK:_h,Z_STREAM_END:qm,Z_NEED_DICT:Zm,Z_STREAM_ERROR:Ote,Z_DATA_ERROR:z2,Z_MEM_ERROR:Nte}=ud;function fd(r){this.options=rg.assign({chunkSize:1024*64,windowBits:15,to:""},r||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(r&&r.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yk,this.strm.avail_out=0;let t=Ts.inflateInit2(this.strm,e.windowBits);if(t!==_h)throw new Error(ml[t]);if(this.header=new Ste,Ts.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=bh.string2buf(e.dictionary):fT.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=Ts.inflateSetDictionary(this.strm,e.dictionary),t!==_h)))throw new Error(ml[t])}fd.prototype.push=function(r,e){const t=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let s,o,a;if(this.ended)return!1;for(e===~~e?o=e:o=e===!0?Tte:kte,fT.call(r)==="[object ArrayBuffer]"?t.input=new Uint8Array(r):t.input=r,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(n),t.next_out=0,t.avail_out=n),s=Ts.inflate(t,o),s===Zm&&i&&(s=Ts.inflateSetDictionary(t,i),s===_h?s=Ts.inflate(t,o):s===z2&&(s=Zm));t.avail_in>0&&s===qm&&t.state.wrap>0&&r[t.next_in]!==0;)Ts.inflateReset(t),s=Ts.inflate(t,o);switch(s){case Ote:case z2:case Zm:case Nte:return this.onEnd(s),this.ended=!0,!1}if(a=t.avail_out,t.next_out&&(t.avail_out===0||s===qm))if(this.options.to==="string"){let u=bh.utf8border(t.output,t.next_out),l=t.next_out-u,h=bh.buf2string(t.output,u);t.next_out=l,t.avail_out=n-l,l&&t.output.set(t.output.subarray(u,u+l),0),this.onData(h)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(!(s===_h&&a===0)){if(s===qm)return s=Ts.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(t.avail_in===0)break}}return!0};fd.prototype.onData=function(r){this.chunks.push(r)};fd.prototype.onEnd=function(r){r===_h&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=rg.flattenChunks(this.chunks)),this.chunks=[],this.err=r,this.msg=this.strm.msg};function t_(r,e){const t=new fd(e);if(t.push(r),t.err)throw t.msg||ml[t.err];return t.result}function Cte(r,e){return e=e||{},e.raw=!0,t_(r,e)}var Bte=fd,Pte=t_,Mte=Cte,Lte=t_,Ute=ud,Dte={Inflate:Bte,inflate:Pte,inflateRaw:Mte,ungzip:Lte,constants:Ute};const{Inflate:oue,inflate:$te,inflateRaw:aue,ungzip:cue}=Dte;var Fte=$te,hT={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(u,l,h){this.fn=u,this.context=l,this.once=h||!1}function s(u,l,h,g,b){if(typeof h!="function")throw new TypeError("The listener must be a function");var w=new i(h,g||u,b),I=t?t+l:l;return u._events[I]?u._events[I].fn?u._events[I]=[u._events[I],w]:u._events[I].push(w):(u._events[I]=w,u._eventsCount++),u}function o(u,l){--u._eventsCount===0?u._events=new n:delete u._events[l]}function a(){this._events=new n,this._eventsCount=0}a.prototype.eventNames=function(){var l=[],h,g;if(this._eventsCount===0)return l;for(g in h=this._events)e.call(h,g)&&l.push(t?g.slice(1):g);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(h)):l},a.prototype.listeners=function(l){var h=t?t+l:l,g=this._events[h];if(!g)return[];if(g.fn)return[g.fn];for(var b=0,w=g.length,I=new Array(w);b<w;b++)I[b]=g[b].fn;return I},a.prototype.listenerCount=function(l){var h=t?t+l:l,g=this._events[h];return g?g.fn?1:g.length:0},a.prototype.emit=function(l,h,g,b,w,I){var S=t?t+l:l;if(!this._events[S])return!1;var x=this._events[S],C=arguments.length,H,D;if(x.fn){switch(x.once&&this.removeListener(l,x.fn,void 0,!0),C){case 1:return x.fn.call(x.context),!0;case 2:return x.fn.call(x.context,h),!0;case 3:return x.fn.call(x.context,h,g),!0;case 4:return x.fn.call(x.context,h,g,b),!0;case 5:return x.fn.call(x.context,h,g,b,w),!0;case 6:return x.fn.call(x.context,h,g,b,w,I),!0}for(D=1,H=new Array(C-1);D<C;D++)H[D-1]=arguments[D];x.fn.apply(x.context,H)}else{var z=x.length,V;for(D=0;D<z;D++)switch(x[D].once&&this.removeListener(l,x[D].fn,void 0,!0),C){case 1:x[D].fn.call(x[D].context);break;case 2:x[D].fn.call(x[D].context,h);break;case 3:x[D].fn.call(x[D].context,h,g);break;case 4:x[D].fn.call(x[D].context,h,g,b);break;default:if(!H)for(V=1,H=new Array(C-1);V<C;V++)H[V-1]=arguments[V];x[D].fn.apply(x[D].context,H)}}return!0},a.prototype.on=function(l,h,g){return s(this,l,h,g,!1)},a.prototype.once=function(l,h,g){return s(this,l,h,g,!0)},a.prototype.removeListener=function(l,h,g,b){var w=t?t+l:l;if(!this._events[w])return this;if(!h)return o(this,w),this;var I=this._events[w];if(I.fn)I.fn===h&&(!b||I.once)&&(!g||I.context===g)&&o(this,w);else{for(var S=0,x=[],C=I.length;S<C;S++)(I[S].fn!==h||b&&!I[S].once||g&&I[S].context!==g)&&x.push(I[S]);x.length?this._events[w]=x.length===1?x[0]:x:o(this,w)}return this},a.prototype.removeAllListeners=function(l){var h;return l?(h=t?t+l:l,this._events[h]&&o(this,h)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=t,a.EventEmitter=a,r.exports=a})(hT);var Hte=hT.exports;const zte=no(Hte);function Gte(r,e){return Array.apply(0,new Array(Math.ceil(r.length/e))).map((t,n)=>r.slice(n*e,(n+1)*e))}const pa=r=>"version"in r;function Kte(r){return new TextDecoder("utf-8").decode(r)}function G2(r){return kr.encode(r)}function dT(r){return Ne.from(r,"base64")}function Ao(r){return"accounts"in r}async function Wte(r){const e=(await me.findProgramAddress([],r))[0];return await me.createWithSeed(e,jte(),r)}function jte(){return"anchor:idl"}const Vte=Je.struct([Je.publicKey("authority"),Je.vecU8("data")]);function qte(r){return Vte.decode(r)}function Zte(r){const e=["name","path","account","relations","generic"],t=s=>s.split(".").map(oX).join("."),n=s=>{for(const o in s){const a=s[o];e.includes(o)?s[o]=Array.isArray(a)?a.map(t):t(a):typeof a=="object"&&n(a)}},i=structuredClone(r);return n(i),i}function su(r,e,t,n){return r!=null&&r.length?r[0].name?t(r):n(r):e()}function Qte(r){const e=new Map;return r.errors&&r.errors.forEach(t=>{var n;let i=(n=t.msg)!==null&&n!==void 0?n:t.name;e.set(t.code,i)}),e}function Jte(r,...e){if(r.args.length!=e.length)throw new Error("Invalid argument length");const t={};let n=0;return r.args.forEach(i=>{t[i.name]=e[n],n+=1}),t}function pT(r,e={}){r.forEach(t=>{if(Ao(t))pT(t.accounts,e[t.name]);else if(!e[t.name])throw new Error(`Account \`${t.name}\` not provided.`)})}function Ri(r){return r instanceof me?r:new me(r)}class Yte extends TypeError{constructor(e,t){let n;const{message:i,...s}=e,{path:o}=e,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=n)!=null?u:n=[e,...t()]}}}function Xte(r){return yu(r)&&typeof r[Symbol.iterator]=="function"}function yu(r){return typeof r=="object"&&r!=null}function ia(r){return typeof r=="string"?JSON.stringify(r):""+r}function ere(r){const{done:e,value:t}=r.next();return e?void 0:t}function tre(r,e,t,n){if(r===!0)return;r===!1?r={}:typeof r=="string"&&(r={message:r});const{path:i,branch:s}=e,{type:o}=t,{refinement:a,message:u="Expected a value of type `"+o+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+ia(n)+"`"}=r;return{value:n,type:o,refinement:a,key:i[i.length-1],path:i,branch:s,...r,message:u}}function*K2(r,e,t,n){Xte(r)||(r=[r]);for(const i of r){const s=tre(i,e,t,n);s&&(yield s)}}function*r_(r,e,t){t===void 0&&(t={});const{path:n=[],branch:i=[r],coerce:s=!1,mask:o=!1}=t,a={path:n,branch:i};if(s&&(r=e.coercer(r,a),o&&e.type!=="type"&&yu(e.schema)&&yu(r)&&!Array.isArray(r)))for(const l in r)e.schema[l]===void 0&&delete r[l];let u=!0;for(const l of e.validator(r,a))u=!1,yield[l,void 0];for(let[l,h,g]of e.entries(r,a)){const b=r_(h,g,{path:l===void 0?n:[...n,l],branch:l===void 0?i:[...i,h],coerce:s,mask:o});for(const w of b)w[0]?(u=!1,yield[w[0],void 0]):s&&(h=w[1],l===void 0?r=h:r instanceof Map?r.set(l,h):r instanceof Set?r.add(h):yu(r)&&(r[l]=h))}if(u)for(const l of e.refiner(r,a))u=!1,yield[l,void 0];u&&(yield[void 0,r])}class aa{constructor(e){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:t,schema:n,validator:i,refiner:s,coercer:o=u=>u,entries:a=function*(){}}=e;this.type=t,this.schema=n,this.entries=a,this.coercer=o,i?this.validator=(u,l)=>{const h=i(u,l);return K2(h,l,this,u)}:this.validator=()=>[],s?this.refiner=(u,l)=>{const h=s(u,l);return K2(h,l,this,u)}:this.refiner=()=>[]}assert(e){return rre(e,this)}create(e){return n_(e,this)}is(e){return gT(e,this)}mask(e){return nre(e,this)}validate(e,t){return t===void 0&&(t={}),hd(e,this,t)}}function rre(r,e){const t=hd(r,e);if(t[0])throw t[0]}function n_(r,e){const t=hd(r,e,{coerce:!0});if(t[0])throw t[0];return t[1]}function nre(r,e){const t=hd(r,e,{coerce:!0,mask:!0});if(t[0])throw t[0];return t[1]}function gT(r,e){return!hd(r,e)[0]}function hd(r,e,t){t===void 0&&(t={});const n=r_(r,e,t),i=ere(n);return i[0]?[new Yte(i[0],function*(){for(const o of n)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function dd(r,e){return new aa({type:r,schema:null,validator:e})}function ire(){return dd("any",()=>!0)}function Qm(r){return new aa({type:"array",schema:r,*entries(e){if(r&&Array.isArray(e))for(const[t,n]of e.entries())yield[t,n,r]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||"Expected an array value, but received: "+ia(e)}})}function sre(){return dd("boolean",r=>typeof r=="boolean")}function W2(r){const e=ia(r);return new aa({type:"literal",schema:r,validator(t){return t===r||"Expected the literal `"+e+"`, but received: "+ia(t)}})}function qd(r){return new aa({...r,validator:(e,t)=>e===null||r.validator(e,t),refiner:(e,t)=>e===null||r.refiner(e,t)})}function u0(){return dd("number",r=>typeof r=="number"&&!isNaN(r)||"Expected a number, but received: "+ia(r))}function l0(r){return new aa({...r,validator:(e,t)=>e===void 0||r.validator(e,t),refiner:(e,t)=>e===void 0||r.refiner(e,t)})}function Ta(){return dd("string",r=>typeof r=="string"||"Expected a string, but received: "+ia(r))}function Jo(r){const e=Object.keys(r);return new aa({type:"type",schema:r,*entries(t){if(yu(t))for(const n of e)yield[n,t[n],r[n]]},validator(t){return yu(t)||"Expected an object, but received: "+ia(t)}})}function yT(r){const e=r.map(t=>t.type).join(" | ");return new aa({type:"union",schema:null,coercer(t,n){return(r.find(s=>{const[o]=s.validate(t,{coerce:!0});return!o})||i_()).coercer(t,n)},validator(t,n){const i=[];for(const s of r){const[...o]=r_(t,s,n),[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 `"+e+"`, but received: "+ia(t),...i]}})}function i_(){return dd("unknown",()=>!0)}function ore(r,e,t){return new aa({...r,coercer:(n,i)=>gT(n,e)?r.coercer(t(n,i),i):r.coercer(n,i)})}const j2=99;async function are(r,e,t){if(e.length<=j2)return await V2(r,e,t);{const n=Gte(e,j2);return(await Promise.all(n.map(s=>V2(r,s,t)))).flat()}}async function V2(r,e,t){const n=t??r.commitment,{value:i,context:s}=await r.getMultipleAccountsInfoAndContext(e,n);return i.map((a,u)=>a===null?null:{publicKey:e[u],account:a,context:s})}async function cre(r,e,t,n,i){var s;t&&t.length>0&&e.sign(...t);const o=e._compile(),a=o.serialize(),l=e._serialize(a).toString("base64"),h={encoding:"base64",commitment:n??r.commitment};if(i){const I=(Array.isArray(i)?i:o.nonProgramIds()).map(S=>S.toBase58());h.accounts={encoding:"base64",addresses:I}}t&&t.length>0&&(h.sigVerify=!0);const g=[l,h],b=await r._rpcRequest("simulateTransaction",g),w=n_(b,hre);if("error"in w){let I;if("data"in w.error&&(I=(s=w.error.data)===null||s===void 0?void 0:s.logs,I&&Array.isArray(I))){const S=`
26
- `,x=S+I.join(S);console.error(w.error.message,x)}throw new na("failed to simulate transaction: "+w.error.message,I)}return w.result}function ure(r){return ore(mT(r),lre,e=>"error"in e?e:{...e,result:n_(e.result,r)})}const lre=mT(i_());function mT(r){return yT([Jo({jsonrpc:W2("2.0"),id:Ta(),result:r}),Jo({jsonrpc:W2("2.0"),id:Ta(),error:Jo({code:i_(),message:Ta(),data:l0(ire())})})])}function fre(r){return ure(Jo({context:Jo({slot:u0()}),value:r}))}const hre=fre(Jo({err:qd(yT([Jo({}),Ta()])),logs:qd(Qm(Ta())),accounts:l0(qd(Qm(qd(Jo({executable:sre(),owner:Ta(),lamports:u0(),data:Qm(Ta()),rentEpoch:l0(u0())}))))),unitsConsumed:l0(u0())}));class Ah{constructor(e,t,n=Ah.defaultOptions()){this.connection=e,this.wallet=t,this.opts=n,this.publicKey=t==null?void 0:t.publicKey}static defaultOptions(){return{preflightCommitment:"processed",commitment:"processed"}}static local(e,t=Ah.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(e,t,n){var i,s,o,a;if(n===void 0&&(n=this.opts),pa(e))t&&e.sign(t);else if(e.feePayer=(i=e.feePayer)!==null&&i!==void 0?i:this.wallet.publicKey,e.recentBlockhash=(await this.connection.getLatestBlockhash(n.preflightCommitment)).blockhash,t)for(const l of t)e.partialSign(l);e=await this.wallet.signTransaction(e);const u=e.serialize();try{return await q2(this.connection,u,n)}catch(l){if(l instanceof ew){const h=G2(pa(e)?((s=e.signatures)===null||s===void 0?void 0:s[0])||new Uint8Array:(o=e.signature)!==null&&o!==void 0?o:new Uint8Array),g=pa(e)?0:void 0,b=await this.connection.getTransaction(h,{commitment:"confirmed",maxSupportedTransactionVersion:g});if(b){const w=(a=b.meta)===null||a===void 0?void 0:a.logMessages;throw w?new na(l.message,w):l}else throw l}else throw l}}async sendAll(e,t){var n,i,s;t===void 0&&(t=this.opts);const o=(await this.connection.getLatestBlockhash(t.preflightCommitment)).blockhash;let a=e.map(h=>{var g,b;if(pa(h.tx)){let w=h.tx;return h.signers&&w.sign(h.signers),w}else{let w=h.tx,I=(g=h.signers)!==null&&g!==void 0?g:[];return w.feePayer=(b=w.feePayer)!==null&&b!==void 0?b:this.wallet.publicKey,w.recentBlockhash=o,I.forEach(S=>{w.partialSign(S)}),w}});const u=await this.wallet.signAllTransactions(a),l=[];for(let h=0;h<a.length;h+=1){const g=u[h],b=g.serialize();try{l.push(await q2(this.connection,b,t))}catch(w){if(w instanceof ew){const I=G2(pa(g)?((n=g.signatures)===null||n===void 0?void 0:n[0])||new Uint8Array:(i=g.signature)!==null&&i!==void 0?i:new Uint8Array),S=pa(g)?0:void 0,x=await this.connection.getTransaction(I,{commitment:"confirmed",maxSupportedTransactionVersion:S});if(x){const C=(s=x.meta)===null||s===void 0?void 0:s.logMessages;throw C?new na(w.message,C):w}else throw w}else throw w}}return l}async simulate(e,t,n,i){let s=(await this.connection.getLatestBlockhash(n??this.connection.commitment)).blockhash,o;if(pa(e)?(t&&t.length>0&&(e.sign(t),e=await this.wallet.signTransaction(e)),o=await this.connection.simulateTransaction(e,{commitment:n})):(e.feePayer=e.feePayer||this.wallet.publicKey,e.recentBlockhash=s,t&&t.length>0&&(e=await this.wallet.signTransaction(e)),o=await cre(this.connection,e,t,n,i)),o.value.err)throw new dre(o.value);return o.value}}class dre extends Error{constructor(e,t){super(t),this.simulationResponse=e}}async function q2(r,e,t){const n=t?{skipPreflight:t.skipPreflight,preflightCommitment:t.preflightCommitment||t.commitment,maxRetries:t.maxRetries,minContextSlot:t.minContextSlot}:{};let i;const s=Date.now();for(;Date.now()-s<6e4;)try{const o=await r.sendRawTransaction(e,n);if(t!=null&&t.blockhash)if(n.maxRetries===0){const a=AbortSignal.timeout(15e3);i=(await r.confirmTransaction({abortSignal:a,signature:o,...t.blockhash},t&&t.commitment)).value}else i=(await r.confirmTransaction({signature:o,...t.blockhash},t&&t.commitment)).value;else i=(await r.confirmTransaction(o,t&&t.commitment)).value;if(i.err)throw new ew(`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 ew extends Error{constructor(e){super(e)}}function tw(){return Ah.local()}var pre=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof ll<"u"?ll:typeof self<"u"?self:{},te={};Object.defineProperty(te,"__esModule",{value:!0});var wT=te.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=pO=te.ANCHOR_ERROR__REQUIRE_VIOLATED=dO=te.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=hO=te.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=fO=te.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=lO=te.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=uO=te.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=cO=te.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=aO=te.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=oO=te.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=sO=te.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=iO=te.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=nO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=rO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=tO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=eO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=XT=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=YT=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=JT=te.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=QT=te.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=ZT=te.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=qT=te.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=VT=te.ANCHOR_ERROR__CONSTRAINT_SPACE=jT=te.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=WT=te.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=KT=te.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=GT=te.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=zT=te.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=HT=te.ANCHOR_ERROR__CONSTRAINT_ZERO=FT=te.ANCHOR_ERROR__CONSTRAINT_ADDRESS=$T=te.ANCHOR_ERROR__CONSTRAINT_CLOSE=DT=te.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=UT=te.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=LT=te.ANCHOR_ERROR__CONSTRAINT_STATE=MT=te.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=PT=te.ANCHOR_ERROR__CONSTRAINT_SEEDS=BT=te.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=CT=te.ANCHOR_ERROR__CONSTRAINT_OWNER=NT=te.ANCHOR_ERROR__CONSTRAINT_RAW=OT=te.ANCHOR_ERROR__CONSTRAINT_SIGNER=TT=te.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=kT=te.ANCHOR_ERROR__CONSTRAINT_MUT=ST=te.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=IT=te.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=RT=te.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=xT=te.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=ET=te.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=vT=te.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=AT=te.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=_T=te.ANCHOR_ERROR__INSTRUCTION_MISSING=void 0,bT=te.ANCHOR_ERROR__DEPRECATED=FO=te.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=$O=te.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=DO=te.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=UO=te.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=LO=te.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=MO=te.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=PO=te.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=BO=te.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=CO=te.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=NO=te.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=OO=te.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=TO=te.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=kO=te.ANCHOR_ERROR__INVALID_PROGRAM_ID=SO=te.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=IO=te.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=RO=te.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=xO=te.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=EO=te.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=vO=te.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=AO=te.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=_O=te.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=bO=te.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=wO=te.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=mO=te.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=yO=te.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=gO=te.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=void 0,_T=te.ANCHOR_ERROR__INSTRUCTION_MISSING=100,AT=te.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=101,vT=te.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=102,ET=te.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=103,xT=te.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=1e3,RT=te.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=1001,IT=te.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=1002,ST=te.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=1500,kT=te.ANCHOR_ERROR__CONSTRAINT_MUT=2e3,TT=te.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=2001,OT=te.ANCHOR_ERROR__CONSTRAINT_SIGNER=2002,NT=te.ANCHOR_ERROR__CONSTRAINT_RAW=2003,CT=te.ANCHOR_ERROR__CONSTRAINT_OWNER=2004,BT=te.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=2005,PT=te.ANCHOR_ERROR__CONSTRAINT_SEEDS=2006,MT=te.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=2007,LT=te.ANCHOR_ERROR__CONSTRAINT_STATE=2008,UT=te.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=2009,DT=te.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=2010,$T=te.ANCHOR_ERROR__CONSTRAINT_CLOSE=2011,FT=te.ANCHOR_ERROR__CONSTRAINT_ADDRESS=2012,HT=te.ANCHOR_ERROR__CONSTRAINT_ZERO=2013,zT=te.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=2014,GT=te.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=2015,KT=te.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=2016,WT=te.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=2017,jT=te.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=2018,VT=te.ANCHOR_ERROR__CONSTRAINT_SPACE=2019,qT=te.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=2020,ZT=te.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=2021,QT=te.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=2022,JT=te.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=2023,YT=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=2024,XT=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=2025,eO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=2026,tO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=2027,rO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=2028,nO=te.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=2029,iO=te.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=2030,sO=te.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=2031,oO=te.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=2032,aO=te.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=2033,cO=te.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=2034,uO=te.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=2035,lO=te.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=2036,fO=te.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=2037,hO=te.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=2038,dO=te.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=2039,pO=te.ANCHOR_ERROR__REQUIRE_VIOLATED=2500;wT=te.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=2501;var gO=te.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=2502,yO=te.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=2503,mO=te.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=2504,wO=te.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=2505,bO=te.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=2506,_O=te.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=3e3,AO=te.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=3001,vO=te.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=3002,EO=te.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=3003,xO=te.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=3004,RO=te.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=3005,IO=te.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=3006,SO=te.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=3007,kO=te.ANCHOR_ERROR__INVALID_PROGRAM_ID=3008,TO=te.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=3009,OO=te.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=3010,NO=te.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=3011,CO=te.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=3012,BO=te.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=3013,PO=te.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=3014,MO=te.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=3015,LO=te.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=3016,UO=te.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=3017,DO=te.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=4100,$O=te.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=4101,FO=te.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=4102;bT=te.ANCHOR_ERROR__DEPRECATED=5e3;const gre=new Map;function HO(r){return gre.get(r)!==void 0}class bo extends Error{constructor(e){super(e),this.name="IdlError"}}class pd{constructor(e){this.stack=e}static parse(e){var t;const n=/^Program (\w*) invoke/,i=/^Program \w* success/,s=[];for(let o=0;o<e.length;o++){if(i.exec(e[o])){s.pop();continue}const a=(t=n.exec(e[o]))===null||t===void 0?void 0:t[1];a&&s.push(new me(a))}return new pd(s)}}class Wf extends Error{constructor(e,t,n,i,s,o){super(n.join(`
27
- `).replace("Program log: ","")),this.errorLogs=n,this.logs=i,this.error={errorCode:e,errorMessage:t,comparedValues:o,origin:s},this._programErrorStack=pd.parse(i)}static parse(e){if(!e)return null;const t=e.findIndex(b=>b.startsWith("Program log: AnchorError"));if(t===-1)return null;const n=e[t],i=[n];let s;if(t+1<e.length){if(e[t+1]==="Program log: Left:"){const b=/^Program log: (.*)$/,w=b.exec(e[t+2])[1],I=b.exec(e[t+4])[1];s=[new me(w),new me(I)],i.push(...e.slice(t+1,t+5))}else if(e[t+1].startsWith("Program log: Left:")){const b=/^Program log: (Left|Right): (.*)$/,w=b.exec(e[t+1])[2],I=b.exec(e[t+2])[2];i.push(...e.slice(t+1,t+3)),s=[w,I]}}const a=/^Program log: AnchorError occurred\. Error Code: (.*)\. Error Number: (\d*)\. Error Message: (.*)\./.exec(n),l=/^Program log: AnchorError thrown in (.*):(\d*)\. Error Code: (.*)\. Error Number: (\d*)\. Error Message: (.*)\./.exec(n),g=/^Program log: AnchorError caused by account: (.*)\. Error Code: (.*)\. Error Number: (\d*)\. Error Message: (.*)\./.exec(n);if(a){const[b,w,I]=a.slice(1,4),S={code:b,number:parseInt(w)};return new Wf(S,I,i,e,void 0,s)}else if(l){const[b,w,I,S,x]=l.slice(1,6),C={code:I,number:parseInt(S)},H={file:b,line:parseInt(w)};return new Wf(C,x,i,e,H,s)}else if(g){const[b,w,I,S]=g.slice(1,5),x=b,C={code:w,number:parseInt(I)};return new Wf(C,S,i,e,x,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 q0 extends Error{constructor(e,t,n){super(),this.code=e,this.msg=t,this.logs=n,n&&(this._programErrorStack=pd.parse(n))}static parse(e,t){const n=e.toString();let i;if(n.includes("custom program error:")){let a=n.split("custom program error: ");if(a.length!==2)return null;i=a[1]}else{const a=n.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=t.get(s);return o!==void 0?new q0(s,o,e.logs):(o=yre.get(s),o!==void 0?new q0(s,o,e.logs):null)}get program(){var e;return(e=this._programErrorStack)===null||e===void 0?void 0:e.stack[this._programErrorStack.stack.length-1]}get programErrorStack(){var e;return(e=this._programErrorStack)===null||e===void 0?void 0:e.stack}toString(){return this.msg}}function zO(r,e){HO("debug-logs")&&console.log("Translating error:",r);const t=Wf.parse(r.logs);if(t)return t;const n=q0.parse(r,e);if(n)return n;if(r.logs){const i={get:function(s,o){return o==="programErrorStack"?s.programErrorStack.stack:o==="program"?s.programErrorStack.stack[r.programErrorStack.stack.length-1]:Reflect.get(...arguments)}};return r.programErrorStack=pd.parse(r.logs),new Proxy(r,i)}return r}const ve={InstructionMissing:_T,InstructionFallbackNotFound:AT,InstructionDidNotDeserialize:vT,InstructionDidNotSerialize:ET,IdlInstructionStub:xT,IdlInstructionInvalidProgram:RT,IdlAccountNotEmpty:IT,EventInstructionStub:ST,ConstraintMut:kT,ConstraintHasOne:TT,ConstraintSigner:OT,ConstraintRaw:NT,ConstraintOwner:CT,ConstraintRentExempt:BT,ConstraintSeeds:PT,ConstraintExecutable:MT,ConstraintState:LT,ConstraintAssociated:UT,ConstraintAssociatedInit:DT,ConstraintClose:$T,ConstraintAddress:FT,ConstraintZero:HT,ConstraintTokenMint:zT,ConstraintTokenOwner:GT,ConstraintMintMintAuthority:KT,ConstraintMintFreezeAuthority:WT,ConstraintMintDecimals:jT,ConstraintSpace:VT,ConstraintAccountIsNone:qT,ConstraintTokenTokenProgram:ZT,ConstraintMintTokenProgram:QT,ConstraintAssociatedTokenTokenProgram:JT,ConstraintMintGroupPointerExtension:YT,ConstraintMintGroupPointerExtensionAuthority:XT,ConstraintMintGroupPointerExtensionGroupAddress:eO,ConstraintMintGroupMemberPointerExtension:tO,ConstraintMintGroupMemberPointerExtensionAuthority:rO,ConstraintMintGroupMemberPointerExtensionMemberAddress:nO,ConstraintMintMetadataPointerExtension:iO,ConstraintMintMetadataPointerExtensionAuthority:sO,ConstraintMintMetadataPointerExtensionMetadataAddress:oO,ConstraintMintCloseAuthorityExtension:aO,ConstraintMintCloseAuthorityExtensionAuthority:cO,ConstraintMintPermanentDelegateExtension:uO,ConstraintMintPermanentDelegateExtensionDelegate:lO,ConstraintMintTransferHookExtension:fO,ConstraintMintTransferHookExtensionAuthority:hO,ConstraintMintTransferHookExtensionProgramId:dO,RequireViolated:pO,RequireEqViolated:wT,RequireKeysEqViolated:gO,RequireNeqViolated:yO,RequireKeysNeqViolated:mO,RequireGtViolated:wO,RequireGteViolated:bO,AccountDiscriminatorAlreadySet:_O,AccountDiscriminatorNotFound:AO,AccountDiscriminatorMismatch:vO,AccountDidNotDeserialize:EO,AccountDidNotSerialize:xO,AccountNotEnoughKeys:RO,AccountNotMutable:IO,AccountOwnedByWrongProgram:SO,InvalidProgramId:kO,InvalidProgramExecutable:TO,AccountNotSigner:OO,AccountNotSystemOwned:NO,AccountNotInitialized:CO,AccountNotProgramData:BO,AccountNotAssociatedTokenAccount:PO,AccountSysvarMismatch:MO,AccountReallocExceedsLimit:LO,AccountDuplicateReallocs:UO,DeclaredProgramIdMismatch:DO,TryingToInitPayerAsProgramAccount:$O,InvalidNumericConversion:FO,Deprecated:bT},yre=new Map([[ve.InstructionMissing,"Instruction discriminator not provided"],[ve.InstructionFallbackNotFound,"Fallback functions are not supported"],[ve.InstructionDidNotDeserialize,"The program could not deserialize the given instruction"],[ve.InstructionDidNotSerialize,"The program could not serialize the given instruction"],[ve.IdlInstructionStub,"The program was compiled without idl instructions"],[ve.IdlInstructionInvalidProgram,"The transaction was given an invalid program for the IDL instruction"],[ve.IdlAccountNotEmpty,"IDL account must be empty in order to resize, try closing first"],[ve.EventInstructionStub,"The program was compiled without `event-cpi` feature"],[ve.ConstraintMut,"A mut constraint was violated"],[ve.ConstraintHasOne,"A has one constraint was violated"],[ve.ConstraintSigner,"A signer constraint was violated"],[ve.ConstraintRaw,"A raw constraint was violated"],[ve.ConstraintOwner,"An owner constraint was violated"],[ve.ConstraintRentExempt,"A rent exemption constraint was violated"],[ve.ConstraintSeeds,"A seeds constraint was violated"],[ve.ConstraintExecutable,"An executable constraint was violated"],[ve.ConstraintState,"Deprecated Error, feel free to replace with something else"],[ve.ConstraintAssociated,"An associated constraint was violated"],[ve.ConstraintAssociatedInit,"An associated init constraint was violated"],[ve.ConstraintClose,"A close constraint was violated"],[ve.ConstraintAddress,"An address constraint was violated"],[ve.ConstraintZero,"Expected zero account discriminant"],[ve.ConstraintTokenMint,"A token mint constraint was violated"],[ve.ConstraintTokenOwner,"A token owner constraint was violated"],[ve.ConstraintMintMintAuthority,"A mint mint authority constraint was violated"],[ve.ConstraintMintFreezeAuthority,"A mint freeze authority constraint was violated"],[ve.ConstraintMintDecimals,"A mint decimals constraint was violated"],[ve.ConstraintSpace,"A space constraint was violated"],[ve.ConstraintAccountIsNone,"A required account for the constraint is None"],[ve.ConstraintTokenTokenProgram,"A token account token program constraint was violated"],[ve.ConstraintMintTokenProgram,"A mint token program constraint was violated"],[ve.ConstraintAssociatedTokenTokenProgram,"An associated token account token program constraint was violated"],[ve.ConstraintMintGroupPointerExtension,"A group pointer extension constraint was violated"],[ve.ConstraintMintGroupPointerExtensionAuthority,"A group pointer extension authority constraint was violated"],[ve.ConstraintMintGroupPointerExtensionGroupAddress,"A group pointer extension group address constraint was violated"],[ve.ConstraintMintGroupMemberPointerExtension,"A group member pointer extension constraint was violated"],[ve.ConstraintMintGroupMemberPointerExtensionAuthority,"A group member pointer extension authority constraint was violated"],[ve.ConstraintMintGroupMemberPointerExtensionMemberAddress,"A group member pointer extension group address constraint was violated"],[ve.ConstraintMintMetadataPointerExtension,"A metadata pointer extension constraint was violated"],[ve.ConstraintMintMetadataPointerExtensionAuthority,"A metadata pointer extension authority constraint was violated"],[ve.ConstraintMintMetadataPointerExtensionMetadataAddress,"A metadata pointer extension metadata address constraint was violated"],[ve.ConstraintMintCloseAuthorityExtension,"A close authority constraint was violated"],[ve.ConstraintMintCloseAuthorityExtensionAuthority,"A close authority extension authority constraint was violated"],[ve.ConstraintMintPermanentDelegateExtension,"A permanent delegate extension constraint was violated"],[ve.ConstraintMintPermanentDelegateExtensionDelegate,"A permanent delegate extension delegate constraint was violated"],[ve.ConstraintMintTransferHookExtension,"A transfer hook extension constraint was violated"],[ve.ConstraintMintTransferHookExtensionAuthority,"A transfer hook extension authority constraint was violated"],[ve.ConstraintMintTransferHookExtensionProgramId,"A transfer hook extension transfer hook program id constraint was violated"],[ve.RequireViolated,"A require expression was violated"],[ve.RequireEqViolated,"A require_eq expression was violated"],[ve.RequireKeysEqViolated,"A require_keys_eq expression was violated"],[ve.RequireNeqViolated,"A require_neq expression was violated"],[ve.RequireKeysNeqViolated,"A require_keys_neq expression was violated"],[ve.RequireGtViolated,"A require_gt expression was violated"],[ve.RequireGteViolated,"A require_gte expression was violated"],[ve.AccountDiscriminatorAlreadySet,"The account discriminator was already set on this account"],[ve.AccountDiscriminatorNotFound,"No discriminator was found on the account"],[ve.AccountDiscriminatorMismatch,"Account discriminator did not match what was expected"],[ve.AccountDidNotDeserialize,"Failed to deserialize the account"],[ve.AccountDidNotSerialize,"Failed to serialize the account"],[ve.AccountNotEnoughKeys,"Not enough account keys given to the instruction"],[ve.AccountNotMutable,"The given account is not mutable"],[ve.AccountOwnedByWrongProgram,"The given account is owned by a different program than expected"],[ve.InvalidProgramId,"Program ID was not as expected"],[ve.InvalidProgramExecutable,"Program account is not executable"],[ve.AccountNotSigner,"The given account did not sign"],[ve.AccountNotSystemOwned,"The given account is not owned by the system program"],[ve.AccountNotInitialized,"The program expected this account to be already initialized"],[ve.AccountNotProgramData,"The given account is not a program data account"],[ve.AccountNotAssociatedTokenAccount,"The given account is not the associated token account"],[ve.AccountSysvarMismatch,"The given public key does not match the required sysvar"],[ve.AccountReallocExceedsLimit,"The account reallocation exceeds the MAX_PERMITTED_DATA_INCREASE limit"],[ve.AccountDuplicateReallocs,"The account was duplicated for more than one reallocation"],[ve.DeclaredProgramIdMismatch,"The declared program id does not match the actual program id"],[ve.TryingToInitPayerAsProgramAccount,"You cannot/should not initialize the payer account as a program account"],[ve.InvalidNumericConversion,"The program could not perform the numeric conversion, out of range integral type conversion attempted"],[ve.Deprecated,"The API being used is deprecated and should no longer be used"]]);class dt{static fieldLayout(e,t=[],n){const i=e.name;switch(e.type){case"bool":return Je.bool(i);case"u8":return Je.u8(i);case"i8":return Je.i8(i);case"u16":return Je.u16(i);case"i16":return Je.i16(i);case"u32":return Je.u32(i);case"i32":return Je.i32(i);case"f32":return Je.f32(i);case"u64":return Je.u64(i);case"i64":return Je.i64(i);case"f64":return Je.f64(i);case"u128":return Je.u128(i);case"i128":return Je.i128(i);case"u256":return Je.u256(i);case"i256":return Je.i256(i);case"bytes":return Je.vecU8(i);case"string":return Je.str(i);case"pubkey":return Je.publicKey(i);default:{if("option"in e.type)return Je.option(dt.fieldLayout({type:e.type.option},t,n),i);if("vec"in e.type)return Je.vec(dt.fieldLayout({type:e.type.vec},t,n),i);if("array"in e.type){let[s,o]=e.type.array;return o=dt.resolveArrayLen(o,n),Je.array(dt.fieldLayout({type:s},t,n),o,i)}if("defined"in e.type){if(!t)throw new bo("User defined types not provided");const s=e.type.defined.name,o=t.find(a=>a.name===s);if(!o)throw new bo(`Type not found: ${e.name}`);return dt.typeDefLayout({typeDef:o,types:t,genericArgs:n??e.type.defined.generics,name:i})}if("generic"in e.type){const s=n==null?void 0:n.at(0);if((s==null?void 0:s.kind)!=="type")throw new bo(`Invalid generic field: ${e.name}`);return dt.fieldLayout({...e,type:s.type},t)}throw new bo(`Not yet implemented: ${JSON.stringify(e.type)}`)}}}static typeDefLayout({typeDef:e,types:t,name:n,genericArgs:i}){switch(e.type.kind){case"struct":{const s=su(e.type.fields,()=>[],o=>o.map(a=>{const u=i&&dt.resolveGenericArgs({type:a.type,typeDef:e,genericArgs:i});return dt.fieldLayout(a,t,u)}),o=>o.map((a,u)=>{const l=i&&dt.resolveGenericArgs({type:a,typeDef:e,genericArgs:i});return dt.fieldLayout({name:u.toString(),type:a},t,l)}));return Je.struct(s,n)}case"enum":{const s=e.type.variants.map(o=>{const a=su(o.fields,()=>[],u=>u.map(l=>{const h=i&&dt.resolveGenericArgs({type:l.type,typeDef:e,genericArgs:i});return dt.fieldLayout(l,t,h)}),u=>u.map((l,h)=>{const g=i&&dt.resolveGenericArgs({type:l,typeDef:e,genericArgs:i});return dt.fieldLayout({name:h.toString(),type:l},t,g)}));return Je.struct(a,o.name)});return n!==void 0?Je.rustEnum(s).replicate(n):Je.rustEnum(s,n)}case"type":return dt.fieldLayout({type:e.type.alias,name:n},t)}}static typeSize(e,t,n){var i;switch(e){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 e)return 1+dt.typeSize(e.option,t,n);if("coption"in e)return 4+dt.typeSize(e.coption,t,n);if("vec"in e)return 1;if("array"in e){let[s,o]=e.array;return o=dt.resolveArrayLen(o,n),dt.typeSize(s,t,n)*o}if("defined"in e){const s=(i=t.types)===null||i===void 0?void 0:i.find(a=>a.name===e.defined.name);if(!s)throw new bo(`Type not found: ${JSON.stringify(e)}`);const o=a=>{const u=n??e.defined.generics,l=u&&dt.resolveGenericArgs({type:a,typeDef:s,genericArgs:u});return dt.typeSize(a,t,l)};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],l=>l.map(h=>o(h.type)),l=>l.map(h=>o(h))).reduce((l,h)=>l+h,0));return Math.max(...a)+1}case"type":return dt.typeSize(s.type.alias,t,n)}}if("generic"in e){const s=n==null?void 0:n.at(0);if((s==null?void 0:s.kind)!=="type")throw new bo(`Invalid generic: ${e.generic}`);return dt.typeSize(s.type,t,n)}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}static resolveArrayLen(e,t){if(typeof e=="number")return e;if(t){const n=t.find(i=>i.kind==="const");(n==null?void 0:n.kind)==="const"&&(e=+n.value)}if(typeof e!="number")throw new bo("Generic array length did not resolve");return e}static resolveGenericArgs({type:e,typeDef:t,genericArgs:n,isDefined:i}){if(typeof e!="object")return null;for(const s in t.generics){const o=t.generics[s];if("generic"in e&&o.name===e.generic)return[n[s]];if("option"in e){const a=dt.resolveGenericArgs({type:e.option,typeDef:t,genericArgs:n,isDefined:i});if(!a||!i)return a;if(a[0].kind==="type")return[{kind:"type",type:{option:a[0].type}}]}if("vec"in e){const a=dt.resolveGenericArgs({type:e.vec,typeDef:t,genericArgs:n,isDefined:i});if(!a||!i)return a;if(a[0].kind==="type")return[{kind:"type",type:{vec:a[0].type}}]}if("array"in e){const[a,u]=e.array,l=typeof u=="object",h=dt.resolveGenericArgs({type:a,typeDef:t,genericArgs:n,isDefined:i});if(h){for(const g in t.generics.slice(+s)){const b=+s+ +g;l&&t.generics[b].name===u.generic&&h.push(n[b])}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(l&&o.name===u.generic){const g=n[s];return i?[{kind:"type",type:{array:[a,+g.value]}}]:[g]}return null}if("defined"in e)return e.defined.generics?e.defined.generics.flatMap(a=>{switch(a.kind){case"type":return dt.resolveGenericArgs({type:a.type,typeDef:t,genericArgs:n,isDefined:!0});case"const":return[a]}}).filter(a=>a!==null):null}return null}}class mre{constructor(e){this.idl=e;const t=e.instructions.map(n=>{const i=n.name,s=n.args.map(a=>dt.fieldLayout(a,e.types)),o=Je.struct(s,i);return[i,{discriminator:n.discriminator,layout:o}]});this.ixLayouts=new Map(t)}encode(e,t){const n=Ne.alloc(1e3),i=this.ixLayouts.get(e);if(!i)throw new Error(`Unknown method: ${e}`);const s=i.layout.encode(t,n),o=n.slice(0,s);return Ne.concat([Ne.from(i.discriminator),o])}decode(e,t="hex"){typeof e=="string"&&(e=t==="hex"?Ne.from(e,"hex"):kr.decode(e));for(const[n,i]of this.ixLayouts){const s=e.subarray(0,i.discriminator.length);if(s.equals(Ne.from(i.discriminator)))return{name:n,data:i.layout.decode(e.subarray(s.length))}}return null}format(e,t){return Dn.format(e,t,this.idl)}}class Dn{static format(e,t,n){const i=n.instructions.find(u=>e.name===u.name);if(!i)return console.error("Invalid instruction given"),null;const s=i.args.map(u=>({name:u.name,type:Dn.formatIdlType(u.type),data:Dn.formatIdlData(u,e.data[u.name],n.types)})),o=Dn.flattenIdlAccounts(i.accounts),a=t.map((u,l)=>l<o.length?{name:o[l].name,...u}:{name:void 0,...u});return{args:s,accounts:a}}static formatIdlType(e){if(typeof e=="string")return e;if("option"in e)return`Option<${this.formatIdlType(e.option)}>`;if("coption"in e)return`COption<${this.formatIdlType(e.coption)}>`;if("vec"in e)return`Vec<${this.formatIdlType(e.vec)}>`;if("array"in e)return`Array<${e.array[0]}; ${e.array[1]}>`;if("defined"in e){const t=e.defined.name;if(e.defined.generics){const n=e.defined.generics.map(i=>{switch(i.kind){case"type":return Dn.formatIdlType(i.type);case"const":return i.value}}).join(", ");return`${t}<${n}>`}return t}throw new Error(`Unknown IDL type: ${e}`)}static formatIdlData(e,t,n){if(typeof e.type=="string")return t.toString();if("vec"in e.type)return"["+t.map(i=>this.formatIdlData({name:"",type:e.type.vec},i,n)).join(", ")+"]";if("option"in e.type)return t===null?"null":this.formatIdlData({name:"",type:e.type.option},t,n);if("defined"in e.type){if(!n)throw new Error("User defined types not provided");const i=e.type.defined.name,s=n.find(o=>o.name===i);if(!s)throw new Error(`Type not found: ${i}`);return Dn.formatIdlDataDefined(s,t,n)}return"unknown"}static formatIdlDataDefined(e,t,n){switch(e.type.kind){case"struct":return"{ "+su(e.type.fields,()=>"",i=>Object.entries(t).map(([s,o])=>{const a=i.find(u=>u.name===s);if(!a)throw new Error(`Field not found: ${s}`);return s+": "+Dn.formatIdlData(a,o,n)}).join(", "),i=>Object.entries(t).map(([s,o])=>s+": "+Dn.formatIdlData({name:"",type:i[s]},o,n)).join(", "))+" }";case"enum":{const i=Object.keys(t)[0],s=e.type.variants.find(a=>a.name===i);if(!s)throw new Error(`Unable to find variant: ${i}`);const o=t[i];return su(s.fields,()=>i,a=>{const u=Object.keys(o).map(l=>{const h=o[l],g=a.find(b=>b.name===l);if(!g)throw new Error(`Field not found: ${l}`);return l+": "+Dn.formatIdlData(g,h,n)}).join(", ");return`${i} { ${u} }`},a=>{const u=Object.entries(o).map(([l,h])=>l+": "+Dn.formatIdlData({name:"",type:a[l]},h,n)).join(", ");return`${i} { ${u} }`})}case"type":return Dn.formatIdlType(e.type.alias)}}static flattenIdlAccounts(e,t){return e.map(n=>{const i=wre(n.name);if(n.hasOwnProperty("accounts")){const s=t?`${t} > ${i}`:i;return Dn.flattenIdlAccounts(n.accounts,s)}else return{...n,name:t?`${t} > ${i}`:i}}).flat()}}function wre(r){const e=r.replace(/([A-Z])/g," $1");return e.charAt(0).toUpperCase()+e.slice(1)}class bre{constructor(e){if(this.idl=e,!e.accounts){this.accountLayouts=new Map;return}const t=e.types;if(!t)throw new Error("Accounts require `idl.types`");const n=e.accounts.map(i=>{const s=t.find(o=>o.name===i.name);if(!s)throw new Error(`Account not found: ${i.name}`);return[i.name,{discriminator:i.discriminator,layout:dt.typeDefLayout({typeDef:s,types:t})}]});this.accountLayouts=new Map(n)}async encode(e,t){const n=Ne.alloc(1e3),i=this.accountLayouts.get(e);if(!i)throw new Error(`Unknown account: ${e}`);const s=i.layout.encode(t,n),o=n.slice(0,s),a=this.accountDiscriminator(e);return Ne.concat([a,o])}decode(e,t){const n=this.accountDiscriminator(e);if(n.compare(t.slice(0,n.length)))throw new Error("Invalid account discriminator");return this.decodeUnchecked(e,t)}decodeAny(e){for(const[t,n]of this.accountLayouts)if(e.subarray(0,n.discriminator.length).equals(Ne.from(n.discriminator)))return this.decodeUnchecked(t,e);throw new Error("Account not found")}decodeUnchecked(e,t){const n=this.accountDiscriminator(e),i=t.subarray(n.length),s=this.accountLayouts.get(e);if(!s)throw new Error(`Unknown account: ${e}`);return s.layout.decode(i)}memcmp(e,t){const n=this.accountDiscriminator(e);return{offset:0,bytes:kr.encode(t?Ne.concat([n,t]):n)}}size(e){return this.accountDiscriminator(e).length+dt.typeSize({defined:{name:e}},this.idl)}accountDiscriminator(e){var t;const n=(t=this.idl.accounts)===null||t===void 0?void 0:t.find(i=>i.name===e);if(!n)throw new Error(`Account not found: ${e}`);return Ne.from(n.discriminator)}}class _re{constructor(e){if(!e.events){this.layouts=new Map;return}const t=e.types;if(!t)throw new Error("Events require `idl.types`");const n=e.events.map(i=>{const s=t.find(o=>o.name===i.name);if(!s)throw new Error(`Event not found: ${i.name}`);return[i.name,{discriminator:i.discriminator,layout:dt.typeDefLayout({typeDef:s,types:t})}]});this.layouts=new Map(n)}decode(e){let t;try{t=dT(e)}catch{return null}for(const[n,i]of this.layouts){const s=t.subarray(0,i.discriminator.length);if(s.equals(Ne.from(i.discriminator)))return{name:n,data:i.layout.decode(t.subarray(s.length))}}return null}}class Are{constructor(e){const t=e.types;if(!t){this.typeLayouts=new Map;return}const n=t.filter(i=>!i.generics).map(i=>[i.name,dt.typeDefLayout({typeDef:i,types:t})]);this.typeLayouts=new Map(n)}encode(e,t){const n=Ne.alloc(1e3),i=this.typeLayouts.get(e);if(!i)throw new Error(`Unknown type: ${e}`);const s=i.encode(t,n);return n.slice(0,s)}decode(e,t){const n=this.typeLayouts.get(e);if(!n)throw new Error(`Unknown type: ${e}`);return n.decode(t)}}class GO{constructor(e){this.instruction=new mre(e),this.accounts=new bre(e),this.events=new _re(e),this.types=new Are(e)}}class Bn{constructor(e,t){if(!Number.isInteger(e))throw new TypeError("span must be an integer");this.span=e,this.property=t}makeDestinationObject(){return{}}decode(e,t){throw new Error("Layout is abstract")}encode(e,t,n){throw new Error("Layout is abstract")}getSpan(e,t){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(e){const t=Object.create(this.constructor.prototype);return Object.assign(t,this),t.property=e,t}fromArray(e){}}var ig=Bn;function vre(r,e){return e.property?r+"["+e.property+"]":r}class Oa extends Bn{isCount(){throw new Error("ExternalLayout is abstract")}}class KO extends Oa{constructor(e,t,n){if(!(e instanceof Bn))throw new TypeError("layout must be a Layout");if(t===void 0)t=0;else if(!Number.isInteger(t))throw new TypeError("offset must be integer or undefined");super(e.span,n||e.property),this.layout=e,this.offset=t}isCount(){return this.layout instanceof sg||this.layout instanceof WO}decode(e,t){return t===void 0&&(t=0),this.layout.decode(e,t+this.offset)}encode(e,t,n){return n===void 0&&(n=0),this.layout.encode(e,t,n+this.offset)}}class sg extends Bn{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t){return t===void 0&&(t=0),e.readUIntLE(t,this.span)}encode(e,t,n){return n===void 0&&(n=0),t.writeUIntLE(e,n,this.span),this.span}}class WO extends Bn{constructor(e,t){if(super(e,t),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(e,t){return t===void 0&&(t=0),e.readUIntBE(t,this.span)}encode(e,t,n){return n===void 0&&(n=0),t.writeUIntBE(e,n,this.span),this.span}}const rw=Math.pow(2,32);function jO(r){const e=Math.floor(r/rw),t=r-e*rw;return{hi32:e,lo32:t}}function VO(r,e){return r*rw+e}class Ere extends Bn{constructor(e){super(8,e)}decode(e,t){t===void 0&&(t=0);const n=e.readUInt32LE(t),i=e.readUInt32LE(t+4);return VO(i,n)}encode(e,t,n){n===void 0&&(n=0);const i=jO(e);return t.writeUInt32LE(i.lo32,n),t.writeUInt32LE(i.hi32,n+4),8}}class xre extends Bn{constructor(e){super(8,e)}decode(e,t){t===void 0&&(t=0);const n=e.readUInt32LE(t),i=e.readInt32LE(t+4);return VO(i,n)}encode(e,t,n){n===void 0&&(n=0);const i=jO(e);return t.writeUInt32LE(i.lo32,n),t.writeInt32LE(i.hi32,n+4),8}}class Rre extends Bn{constructor(e,t,n){if(!(Array.isArray(e)&&e.reduce((s,o)=>s&&o instanceof Bn,!0)))throw new TypeError("fields must be array of Layout instances");typeof t=="boolean"&&n===void 0&&(n=t,t=void 0);for(const s of e)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let i=-1;try{i=e.reduce((s,o)=>s+o.getSpan(),0)}catch{}super(i,t),this.fields=e,this.decodePrefixes=!!n}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);let n=0;try{n=this.fields.reduce((i,s)=>{const o=s.getSpan(e,t);return t+=o,i+o},0)}catch{throw new RangeError("indeterminate span")}return n}decode(e,t){t===void 0&&(t=0);const n=this.makeDestinationObject();for(const i of this.fields)if(i.property!==void 0&&(n[i.property]=i.decode(e,t)),t+=i.getSpan(e,t),this.decodePrefixes&&e.length===t)break;return n}encode(e,t,n){n===void 0&&(n=0);const i=n;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 l=e[a.property];l!==void 0&&(o=a.encode(l,t,n),0>u&&(u=a.getSpan(t,n)))}s=n,n+=u}return s+o-i}fromArray(e){const t=this.makeDestinationObject();for(const n of this.fields)n.property!==void 0&&0<e.length&&(t[n.property]=e.shift());return t}layoutFor(e){if(typeof e!="string")throw new TypeError("property must be string");for(const t of this.fields)if(t.property===e)return t}offsetOf(e){if(typeof e!="string")throw new TypeError("property must be string");let t=0;for(const n of this.fields){if(n.property===e)return t;0>n.span?t=-1:0<=t&&(t+=n.span)}}}class qO{constructor(e){this.property=e}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}}class Z2 extends qO{constructor(e,t){if(!(e instanceof Oa&&e.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(t||e.property||"variant"),this.layout=e}decode(e,t){return this.layout.decode(e,t)}encode(e,t,n){return this.layout.encode(e,t,n)}}class ZO extends Bn{constructor(e,t,n){const i=e instanceof sg||e instanceof WO;if(i)e=new Z2(new KO(e));else if(e instanceof Oa&&e.isCount())e=new Z2(e);else if(!(e instanceof qO))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(t===void 0&&(t=null),!(t===null||t instanceof Bn))throw new TypeError("defaultLayout must be null or a Layout");if(t!==null){if(0>t.span)throw new Error("defaultLayout must have constant span");t.property===void 0&&(t=t.replicate("content"))}let s=-1;t&&(s=t.span,0<=s&&i&&(s+=e.layout.span)),super(s,n),this.discriminator=e,this.usesPrefixDiscriminator=i,this.defaultLayout=t,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return o(a)},this.configGetSourceVariant=function(a){o=a.bind(this)}}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);const n=this.getVariant(e,t);if(!n)throw new Error("unable to determine span for unrecognized variant");return n.getSpan(e,t)}defaultGetSourceVariant(e){if(e.hasOwnProperty(this.discriminator.property)){if(this.defaultLayout&&e.hasOwnProperty(this.defaultLayout.property))return;const t=this.registry[e[this.discriminator.property]];if(t&&(!t.layout||e.hasOwnProperty(t.property)))return t}else for(const t in this.registry){const n=this.registry[t];if(e.hasOwnProperty(n.property))return n}throw new Error("unable to infer src variant")}decode(e,t){t===void 0&&(t=0);let n;const i=this.discriminator,s=i.decode(e,t);let o=this.registry[s];if(o===void 0){let a=0;o=this.defaultLayout,this.usesPrefixDiscriminator&&(a=i.layout.span),n=this.makeDestinationObject(),n[i.property]=s,n[o.property]=this.defaultLayout.decode(e,t+a)}else n=o.decode(e,t);return n}encode(e,t,n){n===void 0&&(n=0);const i=this.getSourceVariant(e);if(i===void 0){const s=this.discriminator,o=this.defaultLayout;let a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(e[s.property],t,n),a+o.encode(e[o.property],t,n+a)}return i.encode(e,t,n)}addVariant(e,t,n){const i=new Ire(this,e,t,n);return this.registry[e]=i,i}getVariant(e,t){let n=e;return Qe.isBuffer(e)&&(t===void 0&&(t=0),n=this.discriminator.decode(e,t)),this.registry[n]}}class Ire extends Bn{constructor(e,t,n,i){if(!(e instanceof ZO))throw new TypeError("union must be a Union");if(!Number.isInteger(t)||0>t)throw new TypeError("variant must be a (non-negative) integer");if(typeof n=="string"&&i===void 0&&(i=n,n=null),n){if(!(n instanceof Bn))throw new TypeError("layout must be a Layout");if(e.defaultLayout!==null&&0<=n.span&&n.span>e.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=e.span;0>e.span&&(s=n?n.span:0,0<=s&&e.usesPrefixDiscriminator&&(s+=e.discriminator.layout.span)),super(s,i),this.union=e,this.variant=t,this.layout=n||null}getSpan(e,t){if(0<=this.span)return this.span;t===void 0&&(t=0);let n=0;return this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),n+this.layout.getSpan(e,t+n)}decode(e,t){const n=this.makeDestinationObject();if(t===void 0&&(t=0),this!==this.union.getVariant(e,t))throw new Error("variant mismatch");let i=0;return this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout?n[this.property]=this.layout.decode(e,t+i):this.property?n[this.property]=!0:this.union.usesPrefixDiscriminator&&(n[this.union.discriminator.property]=this.variant),n}encode(e,t,n){n===void 0&&(n=0);let i=0;if(this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span),this.layout&&!e.hasOwnProperty(this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,t,n);let s=i;if(this.layout&&(this.layout.encode(e[this.property],t,n+i),s+=this.layout.getSpan(t,n+i),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(e){if(this.layout)return this.layout.fromArray(e)}}class Sre extends Bn{constructor(e,t){if(!(e instanceof Oa&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let n=-1;e instanceof Oa||(n=e),super(n,t),this.length=e}getSpan(e,t){let n=this.span;return 0>n&&(n=this.length.decode(e,t)),n}decode(e,t){t===void 0&&(t=0);let n=this.span;return 0>n&&(n=this.length.decode(e,t)),e.slice(t,t+n)}encode(e,t,n){let i=this.length;if(this.length instanceof Oa&&(i=e.length),!(Qe.isBuffer(e)&&i===e.length))throw new TypeError(vre("Blob.encode",this)+" requires (length "+i+") Buffer as src");if(n+i>t.length)throw new RangeError("encoding overruns Buffer");return t.write(e.toString("hex"),n,i,"hex"),this.length instanceof Oa&&this.length.encode(i,t,n),i}}var kre=(r,e,t)=>new KO(r,e,t),Tre=r=>new sg(1,r),Vs=r=>new sg(4,r),Ore=r=>new Ere(r),eo=r=>new xre(r),Cr=(r,e,t)=>new Rre(r,e,t),QO=(r,e,t)=>new ZO(r,e,t),gd=(r,e)=>new Sre(r,e);class Nre extends ig{constructor(e){super(-1,e),this.property=e,this.layout=Cr([Vs("length"),Vs("lengthPadding"),gd(kre(Vs(),-8),"chars")],this.property)}encode(e,t,n=0){if(e==null)return this.layout.span;const i={chars:Qe.from(e,"utf8")};return this.layout.encode(i,t,n)}decode(e,t=0){return this.layout.decode(e,t).chars.toString()}getSpan(e,t=0){return Vs().span+Vs().span+new Gs(new Uint8Array(e).slice(t,t+4),10,"le").toNumber()}}function og(r){return new Nre(r)}function hi(r){return gd(32,r)}const Qn=QO(Vs("instruction"));Qn.addVariant(0,Cr([eo("lamports"),eo("space"),hi("owner")]),"createAccount");Qn.addVariant(1,Cr([hi("owner")]),"assign");Qn.addVariant(2,Cr([eo("lamports")]),"transfer");Qn.addVariant(3,Cr([hi("base"),og("seed"),eo("lamports"),eo("space"),hi("owner")]),"createAccountWithSeed");Qn.addVariant(4,Cr([hi("authorized")]),"advanceNonceAccount");Qn.addVariant(5,Cr([eo("lamports")]),"withdrawNonceAccount");Qn.addVariant(6,Cr([hi("authorized")]),"initializeNonceAccount");Qn.addVariant(7,Cr([hi("authorized")]),"authorizeNonceAccount");Qn.addVariant(8,Cr([eo("space")]),"allocate");Qn.addVariant(9,Cr([hi("base"),og("seed"),eo("space"),hi("owner")]),"allocateWithSeed");Qn.addVariant(10,Cr([hi("base"),og("seed"),hi("owner")]),"assignWithSeed");Qn.addVariant(11,Cr([eo("lamports"),og("seed"),hi("owner")]),"transferWithSeed");Math.max(...Object.values(Qn.registry).map(r=>r.span));class Cre extends ig{constructor(e,t,n,i){super(e.span,i),this.layout=e,this.decoder=t,this.encoder=n}decode(e,t){return this.decoder(this.layout.decode(e,t))}encode(e,t,n){return this.layout.encode(this.encoder(e),t,n)}getSpan(e,t){return this.layout.getSpan(e,t)}}function Q2(r){return new Cre(gd(32),e=>new me(e),e=>e.toBuffer(),r)}Cr([Vs("version"),Vs("state"),Q2("authorizedPubkey"),Q2("nonce"),Cr([Ore("lamportsPerSignature")],"feeCalculator")]);new me("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new me("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");var J2={exports:{}};(function(r,e){var t=typeof self<"u"?self:pre,n=function(){function s(){this.fetch=!1,this.DOMException=t.DOMException}return s.prototype=t,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 l=["[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&&l.indexOf(Object.prototype.toString.call(p))>-1};function g(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 b(p){return typeof p!="string"&&(p=String(p)),p}function w(p){var m={next:function(){var E=p.shift();return{done:E===void 0,value:E}}};return a.iterable&&(m[Symbol.iterator]=function(){return m}),m}function I(p){this.map={},p instanceof I?p.forEach(function(m,E){this.append(E,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)}I.prototype.append=function(p,m){p=g(p),m=b(m);var E=this.map[p];this.map[p]=E?E+", "+m:m},I.prototype.delete=function(p){delete this.map[g(p)]},I.prototype.get=function(p){return p=g(p),this.has(p)?this.map[p]:null},I.prototype.has=function(p){return this.map.hasOwnProperty(g(p))},I.prototype.set=function(p,m){this.map[g(p)]=b(m)},I.prototype.forEach=function(p,m){for(var E in this.map)this.map.hasOwnProperty(E)&&p.call(m,this.map[E],E,this)},I.prototype.keys=function(){var p=[];return this.forEach(function(m,E){p.push(E)}),w(p)},I.prototype.values=function(){var p=[];return this.forEach(function(m){p.push(m)}),w(p)},I.prototype.entries=function(){var p=[];return this.forEach(function(m,E){p.push([E,m])}),w(p)},a.iterable&&(I.prototype[Symbol.iterator]=I.prototype.entries);function S(p){if(p.bodyUsed)return Promise.reject(new TypeError("Already read"));p.bodyUsed=!0}function x(p){return new Promise(function(m,E){p.onload=function(){m(p.result)},p.onerror=function(){E(p.error)}})}function C(p){var m=new FileReader,E=x(m);return m.readAsArrayBuffer(p),E}function H(p){var m=new FileReader,E=x(m);return m.readAsText(p),E}function D(p){for(var m=new Uint8Array(p),E=new Array(m.length),k=0;k<m.length;k++)E[k]=String.fromCharCode(m[k]);return E.join("")}function z(p){if(p.slice)return p.slice(0);var m=new Uint8Array(p.byteLength);return m.set(new Uint8Array(p)),m.buffer}function V(){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=z(p.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(p)||h(p))?this._bodyArrayBuffer=z(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=S(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?S(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(C)}),this.text=function(){var p=S(this);if(p)return p;if(this._bodyBlob)return H(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(D(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(oe)}),this.json=function(){return this.text().then(JSON.parse)},this}var Z=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function K(p){var m=p.toUpperCase();return Z.indexOf(m)>-1?m:p}function j(p,m){m=m||{};var E=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 I(p.headers)),this.method=p.method,this.mode=p.mode,this.signal=p.signal,!E&&p._bodyInit!=null&&(E=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 I(m.headers)),this.method=K(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")&&E)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(E)}j.prototype.clone=function(){return new j(this,{body:this._bodyInit})};function oe(p){var m=new FormData;return p.trim().split("&").forEach(function(E){if(E){var k=E.split("="),O=k.shift().replace(/\+/g," "),M=k.join("=").replace(/\+/g," ");m.append(decodeURIComponent(O),decodeURIComponent(M))}}),m}function ce(p){var m=new I,E=p.replace(/\r?\n[\t ]+/g," ");return E.split(/\r?\n/).forEach(function(k){var O=k.split(":"),M=O.shift().trim();if(M){var G=O.join(":").trim();m.append(M,G)}}),m}V.call(j.prototype);function ne(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 I(m.headers),this.url=m.url||"",this._initBody(p)}V.call(ne.prototype),ne.prototype.clone=function(){return new ne(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new I(this.headers),url:this.url})},ne.error=function(){var p=new ne(null,{status:0,statusText:""});return p.type="error",p};var ue=[301,302,303,307,308];ne.redirect=function(p,m){if(ue.indexOf(m)===-1)throw new RangeError("Invalid status code");return new ne(null,{status:m,headers:{location:p}})},o.DOMException=s.DOMException;try{new o.DOMException}catch{o.DOMException=function(m,E){this.message=m,this.name=E;var k=Error(m);this.stack=k.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function B(p,m){return new Promise(function(E,k){var O=new j(p,m);if(O.signal&&O.signal.aborted)return k(new o.DOMException("Aborted","AbortError"));var M=new XMLHttpRequest;function G(){M.abort()}M.onload=function(){var P={status:M.status,statusText:M.statusText,headers:ce(M.getAllResponseHeaders()||"")};P.url="responseURL"in M?M.responseURL:P.headers.get("X-Request-URL");var A="response"in M?M.response:M.responseText;E(new ne(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(O.method,O.url,!0),O.credentials==="include"?M.withCredentials=!0:O.credentials==="omit"&&(M.withCredentials=!1),"responseType"in M&&a.blob&&(M.responseType="blob"),O.headers.forEach(function(P,A){M.setRequestHeader(A,P)}),O.signal&&(O.signal.addEventListener("abort",G),M.onreadystatechange=function(){M.readyState===4&&O.signal.removeEventListener("abort",G)}),M.send(typeof O._bodyInit>"u"?null:O._bodyInit)})}return B.polyfill=!0,s.fetch||(s.fetch=B,s.Headers=I,s.Request=j,s.Response=ne),o.Headers=I,o.Request=j,o.Response=ne,o.fetch=B,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=n;e=i.fetch,e.default=i.fetch,e.fetch=i.fetch,e.Headers=i.Headers,e.Request=i.Request,e.Response=i.Response,r.exports=e})(J2,J2.exports);Je.rustEnum([Je.struct([],"uninitialized"),Je.struct([Je.option(Je.publicKey(),"authorityAddress")],"buffer"),Je.struct([Je.publicKey("programdataAddress")],"program"),Je.struct([Je.u64("slot"),Je.option(Je.publicKey(),"upgradeAuthorityAddress")],"programData")],void 0,Je.u32());const nw="Program log: ",JO="Program data: ",Bre=nw.length,Pre=JO.length;class Mre{constructor(e,t,n){this._programId=e,this._provider=t,this._eventParser=new YO(e,n),this._eventCallbacks=new Map,this._eventListeners=new Map,this._listenerIdCount=0}addEventListener(e,t,n){var i;let s=this._listenerIdCount;return this._listenerIdCount+=1,this._eventListeners.has(e)||this._eventListeners.set(e,[]),this._eventListeners.set(e,((i=this._eventListeners.get(e))!==null&&i!==void 0?i:[]).concat(s)),this._eventCallbacks.set(s,[e,t]),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 l=this._eventListeners.get(u.name);l&&l.forEach(h=>{const g=this._eventCallbacks.get(h);if(g){const[,b]=g;b(u.data,a.slot,o.signature)}})}},n)),s}async removeEventListener(e){const t=this._eventCallbacks.get(e);if(!t)throw new Error(`Event listener ${e} doesn't exist!`);const[n]=t;let i=this._eventListeners.get(n);if(!i)throw new Error(`Event listeners don't exist for ${n}!`);if(this._eventCallbacks.delete(e),i=i.filter(s=>s!==e),this._eventListeners.set(n,i),i.length===0&&this._eventListeners.delete(n),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 YO{constructor(e,t){this.coder=t,this.programId=e}*parseLogs(e,t=!1){const n=new Ure(e),i=new Lre;let s=n.next();for(;s!==null;){let[o,a,u]=this.handleLog(i,s,t);o&&(yield o),a&&i.push(a),u&&i.pop(),s=n.next()}}handleLog(e,t,n){return e.stack.length>0&&e.program()===this.programId.toString()?this.handleProgramLog(t,n):[null,...this.handleSystemLog(t)]}handleProgramLog(e,t){if(e.startsWith(nw)||e.startsWith(JO)){const n=e.startsWith(nw)?e.slice(Bre):e.slice(Pre),i=this.coder.events.decode(n);if(t&&i===null)throw new Error(`Unable to decode event ${n}`);return[i,null,!1]}else return[null,...this.handleSystemLog(e)]}handleSystemLog(e){const t=e.split(":")[0];return t.match(/^Program (.*) success/g)!==null?[null,!0]:t.startsWith(`Program ${this.programId.toString()} invoke`)?[this.programId.toString(),!1]:t.includes("invoke")?["cpi",!1]:[null,!1]}}class Lre{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(e){this.stack.push(e)}pop(){if(!this.stack.length)throw new Error("Expected the stack to have elements");this.stack.pop()}}class Ure{constructor(e){this.logs=e}next(){if(this.logs.length===0)return null;let e=this.logs[0];return this.logs=this.logs.slice(1),e}}function ag(r,e){var t,n;let i={};const s=r.args?r.args.length:0;if(e.length>s){if(e.length!==s+1)throw new Error(`provided too many arguments ${e} to instruction ${r==null?void 0:r.name} expecting: ${(n=(t=r.args)===null||t===void 0?void 0:t.map(o=>o.name))!==null&&n!==void 0?n:[]}`);i=e.pop()}return[e,i]}class Z0{static build(e,t,n){if(e.name==="_inner")throw new bo("the _inner name is reserved");const i=(...s)=>{const[o,a]=ag(e,[...s]);pT(e.accounts,a.accounts),Dre(e,...s);const u=i.accounts(a.accounts);return a.remainingAccounts!==void 0&&u.push(...a.remainingAccounts),HO("debug-logs")&&console.log("Outgoing account metas:",u),new Bt({keys:u,programId:n,data:t(e.name,Jte(e,...o))})};return i.accounts=s=>Z0.accountsArray(s,e.accounts,n,e.name),i}static accountsArray(e,t,n,i){return e?t.map(s=>{if(Ao(s)){const h=e[s.name];return Z0.accountsArray(h,s.accounts,n,i).flat()}let o;try{o=Ri(e[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(n),u=!!(s.writable&&!a),l=!!(s.signer&&!a);return{pubkey:o,isWritable:u,isSigner:l}}).flat():[]}}function Dre(r,...e){}class $re{static build(e,t){return(...i)=>{var s,o,a;const[,u]=ag(e,[...i]),l=new Tt;if(u.preInstructions&&u.instructions)throw new Error("instructions is deprecated, use preInstructions");return(s=u.preInstructions)===null||s===void 0||s.forEach(h=>l.add(h)),(o=u.instructions)===null||o===void 0||o.forEach(h=>l.add(h)),l.add(t(...i)),(a=u.postInstructions)===null||a===void 0||a.forEach(h=>l.add(h)),l}}}class Fre{static build(e,t,n,i){return async(...o)=>{var a;const u=t(...o),[,l]=ag(e,[...o]);if(i.sendAndConfirm===void 0)throw new Error("This function requires 'Provider.sendAndConfirm' to be implemented.");try{return await i.sendAndConfirm(u,(a=l.signers)!==null&&a!==void 0?a:[],l.options)}catch(h){throw zO(h,n)}}}}class Hre{static build(e,t,n,i){var s;return((s=e.accounts)!==null&&s!==void 0?s:[]).reduce((o,a)=>(o[a.name]=new zre(e,a,n,i,t),o),{})}}class zre{get size(){return this._size}get programId(){return this._programId}get provider(){return this._provider}get coder(){return this._coder}constructor(e,t,n,i,s){this._idlAccount=t,this._programId=n,this._provider=i??tw(),this._coder=s??new GO(e),this._size=this._coder.accounts.size(t.name)}async fetchNullable(e,t){const{data:n}=await this.fetchNullableAndContext(e,t);return n}async fetchNullableAndContext(e,t){const n=await this.getAccountInfoAndContext(e,t),{value:i,context:s}=n;return{data:i&&i.data.length!==0?this._coder.accounts.decode(this._idlAccount.name,i.data):null,context:s}}async fetch(e,t){const{data:n}=await this.fetchNullableAndContext(e,t);if(n===null)throw new Error(`Account does not exist or has no data ${e.toString()}`);return n}async fetchAndContext(e,t){const{data:n,context:i}=await this.fetchNullableAndContext(e,t);if(n===null)throw new Error(`Account does not exist ${e.toString()}`);return{data:n,context:i}}async fetchMultiple(e,t){return(await this.fetchMultipleAndContext(e,t)).map(i=>i?i.data:null)}async fetchMultipleAndContext(e,t){return(await are(this._provider.connection,e.map(i=>Ri(i)),t)).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(e){const t=this.coder.accounts.memcmp(this._idlAccount.name,e instanceof Qe?e:void 0),n=[];return(t==null?void 0:t.offset)!=null&&(t==null?void 0:t.bytes)!=null&&n.push({memcmp:{offset:t.offset,bytes:t.bytes}}),(t==null?void 0:t.dataSize)!=null&&n.push({dataSize:t.dataSize}),(await this._provider.connection.getProgramAccounts(this._programId,{commitment:this._provider.connection.commitment,filters:[...n,...Array.isArray(e)?e:[]]})).map(({pubkey:s,account:o})=>({publicKey:s,account:this._coder.accounts.decode(this._idlAccount.name,o.data)}))}subscribe(e,t){const n=Sf.get(e.toString());if(n)return n.ee;const i=new zte;e=Ri(e);const s=this._provider.connection.onAccountChange(e,o=>{const a=this._coder.accounts.decode(this._idlAccount.name,o.data);i.emit("change",a)},t);return Sf.set(e.toString(),{ee:i,listener:s}),i}async unsubscribe(e){let t=Sf.get(e.toString());if(!t){console.warn("Address is not subscribed");return}Sf&&await this._provider.connection.removeAccountChangeListener(t.listener).then(()=>{Sf.delete(e.toString())}).catch(console.error)}async createInstruction(e,t){const n=this.size;if(this._provider.publicKey===void 0)throw new Error("This function requires the Provider interface implementor to have a 'publicKey' field.");return Nr.createAccount({fromPubkey:this._provider.publicKey,newAccountPubkey:e.publicKey,space:t??n,lamports:await this._provider.connection.getMinimumBalanceForRentExemption(t??n),programId:this._programId})}async getAccountInfo(e,t){return await this._provider.connection.getAccountInfo(Ri(e),t)}async getAccountInfoAndContext(e,t){return await this._provider.connection.getAccountInfoAndContext(Ri(e),t)}}const Sf=new Map;class Gre{static build(e,t,n,i,s,o,a){return async(...l)=>{var h;const g=t(...l),[,b]=ag(e,[...l]);let w;if(i.simulate===void 0)throw new Error("This function requires 'Provider.simulate' to be implemented.");try{w=await i.simulate(g,b.signers,(h=b.options)===null||h===void 0?void 0:h.commitment)}catch(x){throw zO(x,n)}if(w===void 0)throw new Error("Unable to simulate transaction");const I=w.logs;if(!I)throw new Error("Simulated logs not found");const S=[];if(a.events){let x=new YO(o,s);for(const C of x.parseLogs(I))S.push(C)}return{events:S,raw:I}}}}function Jm(r){return new XO(gd(8),e=>Wre.fromBuffer(e),e=>e.toBuffer(),r)}function Zd(r){return new XO(gd(32),e=>new me(e),e=>e.toBuffer(),r)}function Ym(r,e){return new Kre(r,e)}class XO extends ig{constructor(e,t,n,i){super(e.span,i),this.layout=e,this.decoder=t,this.encoder=n}decode(e,t){return this.decoder(this.layout.decode(e,t))}encode(e,t,n){return this.layout.encode(this.encoder(e),t,n)}getSpan(e,t){return this.layout.getSpan(e,t)}}class Kre extends ig{constructor(e,t){super(-1,t),this.layout=e,this.discriminator=Vs()}encode(e,t,n=0){return e==null?this.layout.span+this.discriminator.encode(0,t,n):(this.discriminator.encode(1,t,n),this.layout.encode(e,t,n+4)+4)}decode(e,t=0){const n=this.discriminator.decode(e,t);if(n===0)return null;if(n===1)return this.layout.decode(e,t+4);throw new Error("Invalid coption "+this.layout.property)}getSpan(e,t=0){return this.layout.getSpan(e,t+4)+4}}let Wre=class eN extends Gs{toBuffer(){const e=super.toArray().reverse(),t=Qe.from(e);if(t.length===8)return t;if(t.length>=8)throw new Error("u64 too large");const n=Qe.alloc(8);return t.copy(n),n}static fromBuffer(e){if(e.length!==8)throw new Error(`Invalid buffer length: ${e.length}`);return new eN([...e].reverse().map(t=>`00${t.toString(16)}`.slice(-2)).join(""),16)}};const jre=Cr([Zd("mint"),Zd("owner"),Jm("amount"),Ym(Zd(),"delegate"),(r=>{const e=QO(Tre("discriminator"),null,r);return e.addVariant(0,Cr([]),"uninitialized"),e.addVariant(1,Cr([]),"initialized"),e.addVariant(2,Cr([]),"frozen"),e})("state"),Ym(Jm(),"isNative"),Jm("delegatedAmount"),Ym(Zd(),"closeAuthority")]);function Vre(r){return jre.decode(r)}class qre{constructor(e,t,n,i,s,o,a,u){this._args=e,this._accounts=t,this._provider=n,this._programId=i,this._idlIx=s,this._idlTypes=a,this._customResolver=u,this._accountStore=new Zre(n,o,i)}args(e){this._args=e}async resolve(){this.resolveEventCpi(this._idlIx.accounts),this.resolveConst(this._idlIx.accounts);let e=0;for(;await this.resolvePdasAndRelations(this._idlIx.accounts)+await this.resolveCustom()>0;)if(e++,e===16){const t=o=>Ao(o)?o.accounts.some(t):!!(o.address||o.pda||o.relations),n=(o,a=[],u=[])=>{for(const l of o)Ao(l)?u.push(...n(l.accounts,[...a,l.name])):u.push([...a,l.name]);return u},i=this._idlIx.accounts.filter(t),s=n(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(e){Object.assign(this._accounts,this.resolveOptionalsHelper(e,this._idlIx.accounts))}get(e){const t=e.reduce((n,i)=>n&&n[i],this._accounts);if(t&&t.toBase58)return t}set(e,t){let n=this._accounts;e.forEach((i,s)=>{var o;s===e.length-1&&(n[i]=t),n[i]=(o=n[i])!==null&&o!==void 0?o:{},n=n[i]})}resolveOptionalsHelper(e,t){const n={};for(const i of t){const s=i.name,o=e[s];o!==void 0&&(tN(o)?Ao(i)?n[s]=this.resolveOptionalsHelper(o,i.accounts):n[s]=rN(o):o!==null?n[s]=Ri(o):i.optional&&(n[s]=this._programId))}return n}async resolveCustom(){if(this._customResolver){const{accounts:e,resolved:t}=await this._customResolver({args:this._args,accounts:this._accounts,provider:this._provider,programId:this._programId,idlIx:this._idlIx});return this._accounts=e,t}return 0}resolveEventCpi(e,t=[]){for(const n in e){const i=e[n];Ao(i)&&this.resolveEventCpi(i.accounts,[...t,i.name]);const s=+n+1;if(s===e.length)return;const o=e[n].name,a=e[s].name;if(o==="eventAuthority"&&a==="program"){const u=[...t,o],l=[...t,a];this.get(u)||this.set(u,me.findProgramAddressSync([Qe.from("__event_authority")],this._programId)[0]),this.get(l)||this.set(l,this._programId);return}}}resolveConst(e,t=[]){for(const n of e){const i=n.name;if(Ao(n))this.resolveConst(n.accounts,[...t,i]);else{const s=n;if((s.signer||s.address)&&!this.get([...t,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([...t,i],this._provider.wallet.publicKey)}s.address&&this.set([...t,i],Ri(s.address))}}}}async resolvePdasAndRelations(e,t=[]){let n=0;for(const i of e){const s=i.name;if(Ao(i))n+=await this.resolvePdasAndRelations(i.accounts,[...t,s]);else{const o=i;if((o.pda||o.relations)&&!this.get([...t,s])){n++;try{if(o.pda){const a=await Promise.all(o.pda.seeds.map(h=>this.toBuffer(h,t)));if(a.some(h=>!h))continue;const u=await this.parseProgramId(o,t),[l]=me.findProgramAddressSync(a,u);this.set([...t,s],l)}}catch{}try{if(o.relations){const a=this.get([...t,o.relations[0]]);if(a){const u=await this._accountStore.fetchAccount({publicKey:a});this.set([...t,s],u[s])}}}catch{}}}}return n}async parseProgramId(e,t=[]){var n;if(!(!((n=e.pda)===null||n===void 0)&&n.program))return this._programId;const i=await this.toBuffer(e.pda.program,t);if(!i)throw new Error(`Program seed not resolved: ${e.name}`);return new me(i)}async toBuffer(e,t=[]){switch(e.kind){case"const":return this.toBufferConst(e);case"arg":return await this.toBufferArg(e);case"account":return await this.toBufferAccount(e,t);default:throw new Error(`Unexpected seed: ${e}`)}}toBufferConst(e){return this.toBufferValue("bytes",e.value)}async toBufferArg(e){const[t,...n]=e.path.split("."),i=this._idlIx.args.findIndex(a=>a.name===t);if(i===-1)throw new Error(`Unable to find argument for seed: ${t}`);const s=n.reduce((a,u)=>(a??{})[u],this._args[i]);if(s===void 0)return;const o=this.getType(this._idlIx.args[i].type,n);return this.toBufferValue(o,s)}async toBufferAccount(e,t=[]){const[n,...i]=e.path.split("."),s=this.get([...t,n]);if(!s)return;if(!i.length)return this.toBufferValue("pubkey",s);if(!e.account)throw new Error(`Seed account is required in order to resolve type: ${e.path}`);let a=await this._accountStore.fetchAccount({publicKey:s,name:e.account}),u=i;for(;u.length>0;)a=a[u[0]],u=u.slice(1);if(a===void 0)return;const l=this.getType({defined:{name:e.account}},i);return this.toBufferValue(l,a)}toBufferValue(e,t){switch(e){case"u8":case"i8":return Qe.from([t]);case"u16":case"i16":return new Gs(t).toArrayLike(Qe,"le",2);case"u32":case"i32":return new Gs(t).toArrayLike(Qe,"le",4);case"u64":case"i64":return new Gs(t).toArrayLike(Qe,"le",8);case"u128":case"i128":return new Gs(t).toArrayLike(Qe,"le",16);case"u256":case"i256":return new Gs(t).toArrayLike(Qe,"le",32);case"string":return Qe.from(t);case"pubkey":return t.toBuffer();case"bytes":return Qe.from(t);default:if(e!=null&&e.array)return Qe.from(t);throw new Error(`Unexpected seed type: ${e}`)}}getType(e,t=[]){var n;const i=(n=e==null?void 0:e.defined)===null||n===void 0?void 0:n.name;if(i){if(i==="tokenAccount")switch(t.at(0)){case"mint":case"owner":return"pubkey";case"amount":case"delagatedAmount":return"u64";default:throw new Error(`Unknown token account path: ${t}`)}const s=this._idlTypes.find(h=>h.name===i);if(!s)throw new Error(`Type not found: ${i}`);const[o,...a]=t,l=s.type.fields.find(h=>h.name===o);if(!l)throw new Error(`Field not found: ${o}`);return this.getType(l.type,a)}return e}}class Zre{constructor(e,t,n){this._provider=e,this._cache=new Map,this._idls={},this._idls[n.toBase58()]=t}async fetchAccount({publicKey:e,name:t}){const n=e.toBase58();if(!this._cache.has(n)){const i=await this._provider.connection.getAccountInfo(e);if(i===null)throw new Error(`Account not found: ${n}`);if(t==="tokenAccount"){const s=Vre(i.data);this._cache.set(n,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(n,a)}}}}return this._cache.get(n)}async getAccountsNs(e){const t=e.toBase58();if(!this._idls[t]){const n=await _l.fetchIdl(e,this._provider);if(n){const i=new _l(n,this._provider);this._idls[t]=i.account}}return this._idls[t]}}class Qre{static build(e,t,n,i,s,o,a,u,l,h,g){return(...b)=>new Jre(b,i,s,o,a,u,e,t,n,l,h,g)}}function tN(r){return typeof r=="object"&&r!==null&&!("_bn"in r)}function rN(r,e){const t={};for(const n in r){const i=r[n];if(i===null)throw new Error("Failed to resolve optionals due to IDL type mismatch with input accounts!");t[n]=tN(i)?rN(i):Ri(i)}return t}class Jre{constructor(e,t,n,i,s,o,a,u,l,h,g,b){this._args=e,this._ixFn=t,this._txFn=n,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 qre(e,this._accounts,a,u,l,h,g,b)}args(e){this._args=e,this._accountsResolver.args(e)}accounts(e){return this.accountsPartial(e)}accountsPartial(e){return this._resolveAccounts=!0,this._accountsResolver.resolveOptionals(e),this}accountsStrict(e){return this._resolveAccounts=!1,this._accountsResolver.resolveOptionals(e),this}signers(e){return this._signers=this._signers.concat(e),this}remainingAccounts(e){return this._remainingAccounts=this._remainingAccounts.concat(e),this}preInstructions(e,t=!1){return t?this._preInstructions=e.concat(this._preInstructions):this._preInstructions=this._preInstructions.concat(e),this}postInstructions(e){return this._postInstructions=this._postInstructions.concat(e),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(e){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:e})}async view(e){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:e})}async rpc(e){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:e})}async rpcAndKeys(e){return{signature:await this.rpc(e),pubkeys:await this.pubkeys()}}async prepare(){return{instruction:await this.instruction(),signers:this._signers,pubkeys:await this.pubkeys()}}}class Yre{static build(e,t,n,i){const s=t.accounts.find(u=>u.writable),o=!!t.returns;return s||!o?void 0:async(...u)=>{let l=await n(...u);const h=`Program return: ${e} `;let g=l.raw.find(S=>S.startsWith(h));if(!g)throw new Error("View expected return log");let b=dT(g.slice(h.length)),w=t.returns;if(!w)throw new Error("View expected return type");return dt.fieldLayout({type:w},i.types).decode(b)}}}class Xre{static build(e,t,n,i,s){const o={},a={},u={},l={},h={},g={},b=Qte(e),w=e.accounts?Hre.build(e,t,n,i):{};return e.instructions.forEach(I=>{const S=Z0.build(I,(Z,K)=>t.instruction.encode(Z,K),n),x=$re.build(I,S),C=Fre.build(I,x,b,i),H=Gre.build(I,x,b,i,t,n,e),D=Yre.build(n,I,H,e),z=Qre.build(i,n,I,S,x,C,H,D,w,e.types||[],s==null?void 0:s(I)),V=I.name;a[V]=S,u[V]=x,o[V]=C,l[V]=H,h[V]=z,D&&(g[V]=D)}),[o,a,u,w,l,h,g]}}class _l{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(e,t=tw(),n,i){this._idl=Zte(e),this._rawIdl=e,this._provider=t,this._programId=Ri(e.address),this._coder=n??new GO(this._idl),this._events=new Mre(this._programId,t,this._coder);const[s,o,a,u,l,h,g]=Xre.build(this._idl,this._coder,this._programId,t,i);this.rpc=s,this.instruction=o,this.transaction=a,this.account=u,this.simulate=l,this.methods=h,this.views=g}static async at(e,t){const n=Ri(e),i=await _l.fetchIdl(n,t);if(!i)throw new Error(`IDL not found for program: ${e.toString()}`);return new _l(i,t)}static async fetchIdl(e,t){t=t??tw();const n=Ri(e),i=await Wte(n),s=await t.connection.getAccountInfo(i);if(!s)return null;let o=qte(s.data.slice(8));const a=Fte(o.data);return JSON.parse(Kte(a))}addEventListener(e,t,n){return this._events.addEventListener(e,t,n)}async removeEventListener(e){return await this._events.removeEventListener(e)}}new me("11111111111111111111111111111111");const ene="6.13.5";function tne(r,e,t){const n=e.split("|").map(s=>s.trim());for(let s=0;s<n.length;s++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof r===e)return}const i=new Error(`invalid value for type ${e}`);throw i.code="INVALID_ARGUMENT",i.argument=`value.${t}`,i.value=r,i}async function dn(r){const e=Object.keys(r);return(await Promise.all(e.map(n=>Promise.resolve(r[n])))).reduce((n,i,s)=>(n[e[s]]=i,n),{})}function ze(r,e,t){for(let n in e){let i=e[n];const s=t?t[n]:null;s&&tne(i,s,n),Object.defineProperty(r,n,{enumerable:!0,value:i,writable:!1})}}function ou(r){if(r==null)return"null";if(Array.isArray(r))return"[ "+r.map(ou).join(", ")+" ]";if(r instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let n=0;n<r.length;n++)t+=e[r[n]>>4],t+=e[r[n]&15];return t}if(typeof r=="object"&&typeof r.toJSON=="function")return ou(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"number":return r.toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{ "+e.map(t=>`${ou(t)}: ${ou(r[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Zr(r,e){return r&&r.code===e}function s_(r){return Zr(r,"CALL_EXCEPTION")}function Zt(r,e,t){let n=r;{const s=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${ou(t)}`);for(const o in t){if(o==="shortMessage")continue;const a=t[o];s.push(o+"="+ou(a))}}s.push(`code=${e}`),s.push(`version=${ene}`),s.length&&(r+=" ("+s.join(", ")+")")}let i;switch(e){case"INVALID_ARGUMENT":i=new TypeError(r);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":i=new RangeError(r);break;default:i=new Error(r)}return ze(i,{code:e}),t&&Object.assign(i,t),i.shortMessage==null&&ze(i,{shortMessage:n}),i}function pe(r,e,t,n){if(!r)throw Zt(e,t,n)}function q(r,e,t,n){pe(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function nN(r,e,t){t==null&&(t=""),t&&(t=": "+t),pe(r>=e,"missing argument"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),pe(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"é".normalize("NFD")!=="é")throw new Error("broken");r.push(e)}catch{}return r},[]);function cg(r,e,t){if(t==null&&(t=""),r!==e){let n=t,i="new";t&&(n+=".",i+=" "+t),pe(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:i})}}function iN(r,e,t){if(r instanceof Uint8Array)return t?new Uint8Array(r):r;if(typeof r=="string"&&r.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const n=new Uint8Array((r.length-2)/2);let i=2;for(let s=0;s<n.length;s++)n[s]=parseInt(r.substring(i,i+2),16),i+=2;return n}q(!1,"invalid BytesLike value",e||"value",r)}function wt(r,e){return iN(r,e,!1)}function pn(r,e){return iN(r,e,!0)}function zt(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&r.length!==2+2*e||e===!0&&r.length%2!==0)}function o_(r){return zt(r,!0)||r instanceof Uint8Array}const Y2="0123456789abcdef";function Ce(r){const e=wt(r);let t="0x";for(let n=0;n<e.length;n++){const i=e[n];t+=Y2[(i&240)>>4]+Y2[i&15]}return t}function Ir(r){return"0x"+r.map(e=>Ce(e).substring(2)).join("")}function mu(r){return zt(r,!0)?(r.length-2)/2:wt(r).length}function _r(r,e,t){const n=wt(r);return t!=null&&t>n.length&&pe(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),Ce(n.slice(e??0,t??n.length))}function sN(r,e,t){const n=wt(r);pe(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});const i=new Uint8Array(e);return i.fill(0),t?i.set(n,e-n.length):i.set(n,0),Ce(i)}function bc(r,e){return sN(r,e,!0)}function rne(r,e){return sN(r,e,!1)}const ug=BigInt(0),Ei=BigInt(1),au=9007199254740991;function nne(r,e){const t=lg(r,"value"),n=BigInt(ct(e,"width"));if(pe(t>>n===ug,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-Ei){const i=(Ei<<n)-Ei;return-((~t&i)+Ei)}return t}function oN(r,e){let t=Me(r,"value");const n=BigInt(ct(e,"width")),i=Ei<<n-Ei;if(t<ug){t=-t,pe(t<=i,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});const s=(Ei<<n)-Ei;return(~t&s)+Ei}else pe(t<i,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});return t}function Pf(r,e){const t=lg(r,"value"),n=BigInt(ct(e,"bits"));return t&(Ei<<n)-Ei}function Me(r,e){switch(typeof r){case"bigint":return r;case"number":return q(Number.isInteger(r),"underflow",e||"value",r),q(r>=-au&&r<=au,"overflow",e||"value",r),BigInt(r);case"string":try{if(r==="")throw new Error("empty string");return r[0]==="-"&&r[1]!=="-"?-BigInt(r.substring(1)):BigInt(r)}catch(t){q(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}q(!1,"invalid BigNumberish value",e||"value",r)}function lg(r,e){const t=Me(r,e);return pe(t>=ug,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}const X2="0123456789abcdef";function a_(r){if(r instanceof Uint8Array){let e="0x0";for(const t of r)e+=X2[t>>4],e+=X2[t&15];return BigInt(e)}return Me(r)}function ct(r,e){switch(typeof r){case"bigint":return q(r>=-au&&r<=au,"overflow",e||"value",r),Number(r);case"number":return q(Number.isInteger(r),"underflow",e||"value",r),q(r>=-au&&r<=au,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return ct(BigInt(r),e)}catch(t){q(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}q(!1,"invalid numeric value",e||"value",r)}function ine(r){return ct(a_(r))}function sa(r,e){let n=lg(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{const i=ct(e,"width");for(pe(i*2>=n.length,`value exceeds width (${i} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:r});n.length<i*2;)n="0"+n}return"0x"+n}function mn(r){const e=lg(r,"value");if(e===ug)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const n=new Uint8Array(t.length/2);for(let i=0;i<n.length;i++){const s=i*2;n[i]=parseInt(t.substring(s,s+2),16)}return n}function cu(r){let e=Ce(o_(r)?r:mn(r)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}const ex="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";BigInt(0);const tx=BigInt(58);function sne(r){const e=wt(r);let t=a_(e),n="";for(;t;)n=ex[Number(t%tx)]+n,t/=tx;for(let i=0;i<e.length&&!e[i];i++)n=ex[0]+n;return n}function one(r){r=atob(r);const e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return wt(e)}function ane(r){const e=wt(r);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var Au;class aN{constructor(e,t,n){Q(this,"filter");Q(this,"emitter");se(this,Au);F(this,Au,t),ze(this,{emitter:e,filter:n})}async removeListener(){T(this,Au)!=null&&await this.emitter.off(this.filter,T(this,Au))}}Au=new WeakMap;function cne(r,e,t,n,i){q(!1,`invalid codepoint at offset ${e}; ${r}`,"bytes",t)}function cN(r,e,t,n,i){if(r==="BAD_PREFIX"||r==="UNEXPECTED_CONTINUE"){let s=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)s++;return s}return r==="OVERRUN"?t.length-e-1:0}function une(r,e,t,n,i){return r==="OVERLONG"?(q(typeof i=="number","invalid bad code point for replacement","badCodepoint",i),n.push(i),0):(n.push(65533),cN(r,e,t))}const lne=Object.freeze({error:cne,ignore:cN,replace:une});function fne(r,e){e==null&&(e=lne.error);const t=wt(r,"bytes"),n=[];let i=0;for(;i<t.length;){const s=t[i++];if(!(s>>7)){n.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+=e("UNEXPECTED_CONTINUE",i-1,t,n):i+=e("BAD_PREFIX",i-1,t,n);continue}if(i-1+o>=t.length){i+=e("OVERRUN",i-1,t,n);continue}let u=s&(1<<8-o-1)-1;for(let l=0;l<o;l++){let h=t[i];if((h&192)!=128){i+=e("MISSING_CONTINUE",i,t,n),u=null;break}u=u<<6|h&63,i++}if(u!==null){if(u>1114111){i+=e("OUT_OF_RANGE",i-1-o,t,n,u);continue}if(u>=55296&&u<=57343){i+=e("UTF16_SURROGATE",i-1-o,t,n,u);continue}if(u<=a){i+=e("OVERLONG",i-1-o,t,n,u);continue}n.push(u)}}return n}function Js(r,e){q(typeof r=="string","invalid string value","str",r);let t=[];for(let n=0;n<r.length;n++){const i=r.charCodeAt(n);if(i<128)t.push(i);else if(i<2048)t.push(i>>6|192),t.push(i&63|128);else if((i&64512)==55296){n++;const s=r.charCodeAt(n);q(n<r.length&&(s&64512)===56320,"invalid surrogate pair","str",r);const o=65536+((i&1023)<<10)+(s&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(i>>12|224),t.push(i>>6&63|128),t.push(i&63|128)}return new Uint8Array(t)}function hne(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Q0(r,e){return hne(fne(r,e))}function uN(r){async function e(t,n){pe(n==null||!n.cancelled,"request cancelled before sending","CANCELLED");const i=t.url.split(":")[0].toLowerCase();pe(i==="http"||i==="https",`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),pe(i==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s=null;const o=new AbortController,a=setTimeout(()=>{s=Zt("request timeout","TIMEOUT"),o.abort()},t.timeout);n&&n.addListener(()=>{s=Zt("request cancelled","CANCELLED"),o.abort()});const u={method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:o.signal};let l;try{l=await fetch(t.url,u)}catch(w){throw clearTimeout(a),s||w}clearTimeout(a);const h={};l.headers.forEach((w,I)=>{h[I.toLowerCase()]=w});const g=await l.arrayBuffer(),b=g==null?null:new Uint8Array(g);return{statusCode:l.status,statusMessage:l.statusText,headers:h,body:b}}return e}const dne=12,pne=250;let rx=uN();const gne=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),yne=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let Xm=!1;async function lN(r,e){try{const t=r.match(gne);if(!t)throw new Error("invalid data");return new Yo(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?one(t[3]):wne(t[3]))}catch{return new Yo(599,"BAD REQUEST (invalid data: URI)",{},null,new to(r))}}function fN(r){async function e(t,n){try{const i=t.match(yne);if(!i)throw new Error("invalid link");return new to(`${r}${i[2]}`)}catch{return new Yo(599,"BAD REQUEST (invalid IPFS URI)",{},null,new to(t))}}return e}const Qd={data:lN,ipfs:fN("https://gateway.ipfs.io/ipfs/")},hN=new WeakMap;var Pa,Eo;class mne{constructor(e){se(this,Pa);se(this,Eo);F(this,Pa,[]),F(this,Eo,!1),hN.set(e,()=>{if(!T(this,Eo)){F(this,Eo,!0);for(const t of T(this,Pa))setTimeout(()=>{t()},0);F(this,Pa,[])}})}addListener(e){pe(!T(this,Eo),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),T(this,Pa).push(e)}get cancelled(){return T(this,Eo)}checkSignal(){pe(!this.cancelled,"cancelled","CANCELLED",{})}}Pa=new WeakMap,Eo=new WeakMap;function Jd(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}var vu,Eu,wi,Ns,xu,Ru,Mr,Hn,Cs,Ma,La,Ua,Fi,bi,xo,Da,Mf;const up=class up{constructor(e){se(this,Da);se(this,vu);se(this,Eu);se(this,wi);se(this,Ns);se(this,xu);se(this,Ru);se(this,Mr);se(this,Hn);se(this,Cs);se(this,Ma);se(this,La);se(this,Ua);se(this,Fi);se(this,bi);se(this,xo);F(this,Ru,String(e)),F(this,vu,!1),F(this,Eu,!0),F(this,wi,{}),F(this,Ns,""),F(this,xu,3e5),F(this,bi,{slotInterval:pne,maxAttempts:dne}),F(this,xo,null)}get url(){return T(this,Ru)}set url(e){F(this,Ru,String(e))}get body(){return T(this,Mr)==null?null:new Uint8Array(T(this,Mr))}set body(e){if(e==null)F(this,Mr,void 0),F(this,Hn,void 0);else if(typeof e=="string")F(this,Mr,Js(e)),F(this,Hn,"text/plain");else if(e instanceof Uint8Array)F(this,Mr,e),F(this,Hn,"application/octet-stream");else if(typeof e=="object")F(this,Mr,Js(JSON.stringify(e))),F(this,Hn,"application/json");else throw new Error("invalid body")}hasBody(){return T(this,Mr)!=null}get method(){return T(this,Ns)?T(this,Ns):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),F(this,Ns,String(e).toUpperCase())}get headers(){const e=Object.assign({},T(this,wi));return T(this,Cs)&&(e.authorization=`Basic ${ane(Js(T(this,Cs)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&T(this,Hn)&&(e["content-type"]=T(this,Hn)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){T(this,wi)[String(e).toLowerCase()]=String(t)}clearHeaders(){F(this,wi,{})}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n<t.length){const i=t[n++];return{value:[i,e[i]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return T(this,Cs)||null}setCredentials(e,t){q(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),F(this,Cs,`${e}:${t}`)}get allowGzip(){return T(this,Eu)}set allowGzip(e){F(this,Eu,!!e)}get allowInsecureAuthentication(){return!!T(this,vu)}set allowInsecureAuthentication(e){F(this,vu,!!e)}get timeout(){return T(this,xu)}set timeout(e){q(e>=0,"timeout must be non-zero","timeout",e),F(this,xu,e)}get preflightFunc(){return T(this,Ma)||null}set preflightFunc(e){F(this,Ma,e)}get processFunc(){return T(this,La)||null}set processFunc(e){F(this,La,e)}get retryFunc(){return T(this,Ua)||null}set retryFunc(e){F(this,Ua,e)}get getUrlFunc(){return T(this,xo)||rx}set getUrlFunc(e){F(this,xo,e)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${T(this,Mr)?Ce(T(this,Mr)):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(T(this,bi).slotInterval=e.slotInterval),e.maxAttempts!=null&&(T(this,bi).maxAttempts=e.maxAttempts)}send(){return pe(T(this,Fi)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),F(this,Fi,new mne(this)),Ee(this,Da,Mf).call(this,0,nx()+this.timeout,0,this,new Yo(0,"",{},null,this))}cancel(){pe(T(this,Fi)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const e=hN.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){const t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();pe(this.method==="GET"&&(t!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});const i=new up(e);return i.method="GET",i.allowGzip=this.allowGzip,i.timeout=this.timeout,F(i,wi,Object.assign({},T(this,wi))),T(this,Mr)&&F(i,Mr,new Uint8Array(T(this,Mr))),F(i,Hn,T(this,Hn)),i}clone(){const e=new up(this.url);return F(e,Ns,T(this,Ns)),T(this,Mr)&&F(e,Mr,T(this,Mr)),F(e,Hn,T(this,Hn)),F(e,wi,Object.assign({},T(this,wi))),F(e,Cs,T(this,Cs)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),F(e,Ma,T(this,Ma)),F(e,La,T(this,La)),F(e,Ua,T(this,Ua)),F(e,bi,Object.assign({},T(this,bi))),F(e,xo,T(this,xo)),e}static lockConfig(){Xm=!0}static getGateway(e){return Qd[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(Xm)throw new Error("gateways locked");Qd[e]=t}static registerGetUrl(e){if(Xm)throw new Error("gateways locked");rx=e}static createGetUrlFunc(e){return uN()}static createDataGateway(){return lN}static createIpfsGatewayFunc(e){return fN(e)}};vu=new WeakMap,Eu=new WeakMap,wi=new WeakMap,Ns=new WeakMap,xu=new WeakMap,Ru=new WeakMap,Mr=new WeakMap,Hn=new WeakMap,Cs=new WeakMap,Ma=new WeakMap,La=new WeakMap,Ua=new WeakMap,Fi=new WeakMap,bi=new WeakMap,xo=new WeakMap,Da=new WeakSet,Mf=async function(e,t,n,i,s){var h,g,b;if(e>=T(this,bi).maxAttempts)return s.makeServerError("exceeded maximum retry limit");pe(nx()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:i}),n>0&&await bne(n);let o=this.clone();const a=(o.url.split(":")[0]||"").toLowerCase();if(a in Qd){const w=await Qd[a](o.url,Jd(T(i,Fi)));if(w instanceof Yo){let I=w;if(this.processFunc){Jd(T(i,Fi));try{I=await this.processFunc(o,I)}catch(S){(S.throttle==null||typeof S.stall!="number")&&I.makeServerError("error in post-processing function",S).assertOk()}}return I}o=w}this.preflightFunc&&(o=await this.preflightFunc(o));const u=await this.getUrlFunc(o,Jd(T(i,Fi)));let l=new Yo(u.statusCode,u.statusMessage,u.headers,u.body,i);if(l.statusCode===301||l.statusCode===302){try{const w=l.headers.location||"";return Ee(h=o.redirect(w),Da,Mf).call(h,e+1,t,0,i,l)}catch{}return l}else if(l.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,l,e))){const w=l.headers["retry-after"];let I=T(this,bi).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof w=="string"&&w.match(/^[1-9][0-9]*$/)&&(I=parseInt(w)),Ee(g=o.clone(),Da,Mf).call(g,e+1,t,I,i,l)}if(this.processFunc){Jd(T(i,Fi));try{l=await this.processFunc(o,l)}catch(w){(w.throttle==null||typeof w.stall!="number")&&l.makeServerError("error in post-processing function",w).assertOk();let I=T(this,bi).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return w.stall>=0&&(I=w.stall),Ee(b=o.clone(),Da,Mf).call(b,e+1,t,I,i,l)}}return l};let to=up;var Ch,Bh,Ph,zn,Iu,$a;const T_=class T_{constructor(e,t,n,i,s){se(this,Ch);se(this,Bh);se(this,Ph);se(this,zn);se(this,Iu);se(this,$a);F(this,Ch,e),F(this,Bh,t),F(this,Ph,Object.keys(n).reduce((o,a)=>(o[a.toLowerCase()]=String(n[a]),o),{})),F(this,zn,i==null?null:new Uint8Array(i)),F(this,Iu,s||null),F(this,$a,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${T(this,zn)?Ce(T(this,zn)):"null"}>`}get statusCode(){return T(this,Ch)}get statusMessage(){return T(this,Bh)}get headers(){return Object.assign({},T(this,Ph))}get body(){return T(this,zn)==null?null:new Uint8Array(T(this,zn))}get bodyText(){try{return T(this,zn)==null?"":Q0(T(this,zn))}catch{pe(!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{pe(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n<t.length){const i=t[n++];return{value:[i,e[i]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(e,t){let n;e?n=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,n=`CLIENT ESCALATED SERVER ERROR (${e})`);const i=new T_(599,n,this.headers,this.body,T(this,Iu)||void 0);return F(i,$a,{message:e,error:t}),i}throwThrottleError(e,t){t==null?t=-1:q(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);const n=new Error(e||"throttling requests");throw ze(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return T(this,zn)!=null}get request(){return T(this,Iu)}ok(){return T(this,$a).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=T(this,$a);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let i=null;try{T(this,zn)&&(i=Q0(T(this,zn)))}catch{}pe(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:i,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};Ch=new WeakMap,Bh=new WeakMap,Ph=new WeakMap,zn=new WeakMap,Iu=new WeakMap,$a=new WeakMap;let Yo=T_;function nx(){return new Date().getTime()}function wne(r){return Js(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function bne(r){return new Promise(e=>setTimeout(e,r))}function _ne(r){let e=r.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function ix(r,e,t){let n=0;for(let i=0;i<t;i++)n=n*256+r[e+i];return n}function sx(r,e,t,n){const i=[];for(;t<e+1+n;){const s=dN(r,t);i.push(s.result),t+=s.consumed,pe(t<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:r,length:n,offset:e})}return{consumed:1+n,result:i}}function dN(r,e){pe(r.length!==0,"data too short","BUFFER_OVERRUN",{buffer:r,length:0,offset:1});const t=n=>{pe(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){const n=r[e]-247;t(e+1+n);const i=ix(r,e+1,n);return t(e+1+n+i),sx(r,e,e+1+n,n+i)}else if(r[e]>=192){const n=r[e]-192;return t(e+1+n),sx(r,e,e+1,n)}else if(r[e]>=184){const n=r[e]-183;t(e+1+n);const i=ix(r,e+1,n);t(e+1+n+i);const s=Ce(r.slice(e+1+n,e+1+n+i));return{consumed:1+n+i,result:s}}else if(r[e]>=128){const n=r[e]-128;t(e+1+n);const i=Ce(r.slice(e+1,e+1+n));return{consumed:1+n,result:i}}return{consumed:1,result:_ne(r[e])}}function fg(r){const e=wt(r,"data"),t=dN(e,0);return q(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function ox(r){const e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function pN(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(s){n=n.concat(pN(s))}),n.length<=55)return n.unshift(192+n.length),n;const i=ox(n.length);return i.unshift(247+i.length),i.concat(n)}const e=Array.prototype.slice.call(wt(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const t=ox(e.length);return t.unshift(183+t.length),t.concat(e)}const ax="0123456789abcdef";function _c(r){let e="0x";for(const t of pN(r))e+=ax[t>>4],e+=ax[t&15];return e}const wn=32,iw=new Uint8Array(wn),Ane=["then"],Yd={},gN=new WeakMap;function Aa(r){return gN.get(r)}function cx(r,e){gN.set(r,e)}function kf(r,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}function sw(r,e,t){return r.indexOf(null)>=0?e.map((n,i)=>n instanceof Al?sw(Aa(n),n,t):n):r.reduce((n,i,s)=>{let o=e.getValue(i);return i in n||(t&&o instanceof Al&&(o=sw(Aa(o),o,t)),n[i]=o),n},{})}var Su;const uu=class uu extends Array{constructor(...t){const n=t[0];let i=t[1],s=(t[2]||[]).slice(),o=!0;n!==Yd&&(i=t,s=[],o=!1);super(i.length);se(this,Su);i.forEach((l,h)=>{this[h]=l});const a=s.reduce((l,h)=>(typeof h=="string"&&l.set(h,(l.get(h)||0)+1),l),new Map);if(cx(this,Object.freeze(i.map((l,h)=>{const g=s[h];return g!=null&&a.get(g)===1?g:null}))),F(this,Su,[]),T(this,Su)==null&&T(this,Su),!o)return;Object.freeze(this);const u=new Proxy(this,{get:(l,h,g)=>{if(typeof h=="string"){if(h.match(/^[0-9]+$/)){const w=ct(h,"%index");if(w<0||w>=this.length)throw new RangeError("out of result range");const I=l[w];return I instanceof Error&&kf(`index ${w}`,I),I}if(Ane.indexOf(h)>=0)return Reflect.get(l,h,g);const b=l[h];if(b instanceof Function)return function(...w){return b.apply(this===g?l:this,w)};if(!(h in l))return l.getValue.apply(this===g?l:this,[h])}return Reflect.get(l,h,g)}});return cx(u,Aa(this)),u}toArray(t){const n=[];return this.forEach((i,s)=>{i instanceof Error&&kf(`index ${s}`,i),t&&i instanceof uu&&(i=i.toArray(t)),n.push(i)}),n}toObject(t){const n=Aa(this);return n.reduce((i,s,o)=>(pe(s!=null,`value at index ${o} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),sw(n,this,t)),{})}slice(t,n){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);const i=Aa(this),s=[],o=[];for(let a=t;a<n;a++)s.push(this[a]),o.push(i[a]);return new uu(Yd,s,o)}filter(t,n){const i=Aa(this),s=[],o=[];for(let a=0;a<this.length;a++){const u=this[a];u instanceof Error&&kf(`index ${a}`,u),t.call(n,u,a,this)&&(s.push(u),o.push(i[a]))}return new uu(Yd,s,o)}map(t,n){const i=[];for(let s=0;s<this.length;s++){const o=this[s];o instanceof Error&&kf(`index ${s}`,o),i.push(t.call(n,o,s,this))}return i}getValue(t){const n=Aa(this).indexOf(t);if(n===-1)return;const i=this[n];return i instanceof Error&&kf(`property ${JSON.stringify(t)}`,i.error),i}static fromItems(t,n){return new uu(Yd,t,n)}};Su=new WeakMap;let Al=uu;function ux(r){let e=mn(r);return pe(e.length<=wn,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:wn,offset:e.length}),e.length!==wn&&(e=pn(Ir([iw.slice(e.length%wn),e]))),e}class so{constructor(e,t,n,i){Q(this,"name");Q(this,"type");Q(this,"localName");Q(this,"dynamic");ze(this,{name:e,type:t,localName:n,dynamic:i},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){q(!1,e,this.localName,t)}}var Bs,Fa,ku,f0;class ow{constructor(){se(this,ku);se(this,Bs);se(this,Fa);F(this,Bs,[]),F(this,Fa,0)}get data(){return Ir(T(this,Bs))}get length(){return T(this,Fa)}appendWriter(e){return Ee(this,ku,f0).call(this,pn(e.data))}writeBytes(e){let t=pn(e);const n=t.length%wn;return n&&(t=pn(Ir([t,iw.slice(n)]))),Ee(this,ku,f0).call(this,t)}writeValue(e){return Ee(this,ku,f0).call(this,ux(e))}writeUpdatableValue(){const e=T(this,Bs).length;return T(this,Bs).push(iw),F(this,Fa,T(this,Fa)+wn),t=>{T(this,Bs)[e]=ux(t)}}}Bs=new WeakMap,Fa=new WeakMap,ku=new WeakSet,f0=function(e){return T(this,Bs).push(e),F(this,Fa,T(this,Fa)+e.length),e.length};var xn,Gn,Ha,za,Ro,Rc,cw,yN;const O_=class O_{constructor(e,t,n){se(this,Rc);Q(this,"allowLoose");se(this,xn);se(this,Gn);se(this,Ha);se(this,za);se(this,Ro);ze(this,{allowLoose:!!t}),F(this,xn,pn(e)),F(this,Ha,0),F(this,za,null),F(this,Ro,n??1024),F(this,Gn,0)}get data(){return Ce(T(this,xn))}get dataLength(){return T(this,xn).length}get consumed(){return T(this,Gn)}get bytes(){return new Uint8Array(T(this,xn))}subReader(e){const t=new O_(T(this,xn).slice(T(this,Gn)+e),this.allowLoose,T(this,Ro));return F(t,za,this),t}readBytes(e,t){let n=Ee(this,Rc,yN).call(this,0,e,!!t);return Ee(this,Rc,cw).call(this,e),F(this,Gn,T(this,Gn)+n.length),n.slice(0,e)}readValue(){return a_(this.readBytes(wn))}readIndex(){return ine(this.readBytes(wn))}};xn=new WeakMap,Gn=new WeakMap,Ha=new WeakMap,za=new WeakMap,Ro=new WeakMap,Rc=new WeakSet,cw=function(e){var t;if(T(this,za))return Ee(t=T(this,za),Rc,cw).call(t,e);F(this,Ha,T(this,Ha)+e),pe(T(this,Ro)<1||T(this,Ha)<=T(this,Ro)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${T(this,Ro)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:pn(T(this,xn)),offset:T(this,Gn),length:e,info:{bytesRead:T(this,Ha),dataLength:this.dataLength}})},yN=function(e,t,n){let i=Math.ceil(t/wn)*wn;return T(this,Gn)+i>T(this,xn).length&&(this.allowLoose&&n&&T(this,Gn)+t<=T(this,xn).length?i=t:pe(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:pn(T(this,xn)),length:T(this,xn).length,offset:T(this,Gn)+i})),T(this,xn).slice(T(this,Gn),T(this,Gn)+i)};let aw=O_;function J0(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function c_(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function vne(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");J0(r.outputLen),J0(r.blockLen)}function vl(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function mN(r,e){c_(r);const t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const e1=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const wN=r=>r instanceof Uint8Array,Ene=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),t1=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),$i=(r,e)=>r<<32-e|r>>>e,xne=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!xne)throw new Error("Non little-endian hardware is not supported");function Rne(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function hg(r){if(typeof r=="string"&&(r=Rne(r)),!wN(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function Ine(...r){const e=new Uint8Array(r.reduce((n,i)=>n+i.length,0));let t=0;return r.forEach(n=>{if(!wN(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}class u_{clone(){return this._cloneInto()}}function l_(r){const e=n=>r().update(hg(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Sne(r=32){if(e1&&typeof e1.getRandomValues=="function")return e1.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}class bN extends u_{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,vne(e);const n=hg(t);if(this.iHash=e.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(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return vl(this),this.iHash.update(e),this}digestInto(e){vl(this),c_(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const _N=(r,e,t)=>new bN(r,e).update(t).digest();_N.create=(r,e)=>new bN(r,e);function kne(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(t>>i&s),a=Number(t&s),u=n?4:0,l=n?0:4;r.setUint32(e+u,o,n),r.setUint32(e+l,a,n)}class AN extends u_{constructor(e,t,n,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=t1(this.buffer)}update(e){vl(this);const{view:t,buffer:n,blockLen:i}=this;e=hg(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const u=t1(e);for(;i<=s-o;o+=i)this.process(u,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){vl(this),mN(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let g=o;g<i;g++)t[g]=0;kne(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=t1(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=u/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let g=0;g<l;g++)a.setUint32(4*g,h[g],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%t&&e.buffer.set(n),e}}const Tne=(r,e,t)=>r&e^~r&t,One=(r,e,t)=>r&e^r&t^e&t,Nne=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]),go=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),yo=new Uint32Array(64);class Cne extends AN{constructor(){super(64,32,8,!1),this.A=go[0]|0,this.B=go[1]|0,this.C=go[2]|0,this.D=go[3]|0,this.E=go[4]|0,this.F=go[5]|0,this.G=go[6]|0,this.H=go[7]|0}get(){const{A:e,B:t,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[e,t,n,i,s,o,a,u]}set(e,t,n,i,s,o,a,u){this.A=e|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(e,t){for(let g=0;g<16;g++,t+=4)yo[g]=e.getUint32(t,!1);for(let g=16;g<64;g++){const b=yo[g-15],w=yo[g-2],I=$i(b,7)^$i(b,18)^b>>>3,S=$i(w,17)^$i(w,19)^w>>>10;yo[g]=S+yo[g-7]+I+yo[g-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:l,H:h}=this;for(let g=0;g<64;g++){const b=$i(a,6)^$i(a,11)^$i(a,25),w=h+b+Tne(a,u,l)+Nne[g]+yo[g]|0,S=($i(n,2)^$i(n,13)^$i(n,22))+One(n,i,s)|0;h=l,l=u,u=a,a=o+w|0,o=s,s=i,i=n,n=w+S|0}n=n+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,l=l+this.G|0,h=h+this.H|0,this.set(n,i,s,o,a,u,l,h)}roundClean(){yo.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const vN=l_(()=>new Cne),Xd=BigInt(2**32-1),uw=BigInt(32);function EN(r,e=!1){return e?{h:Number(r&Xd),l:Number(r>>uw&Xd)}:{h:Number(r>>uw&Xd)|0,l:Number(r&Xd)|0}}function xN(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let i=0;i<r.length;i++){const{h:s,l:o}=EN(r[i],e);[t[i],n[i]]=[s,o]}return[t,n]}const Bne=(r,e)=>BigInt(r>>>0)<<uw|BigInt(e>>>0),Pne=(r,e,t)=>r>>>t,Mne=(r,e,t)=>r<<32-t|e>>>t,Lne=(r,e,t)=>r>>>t|e<<32-t,Une=(r,e,t)=>r<<32-t|e>>>t,Dne=(r,e,t)=>r<<64-t|e>>>t-32,$ne=(r,e,t)=>r>>>t-32|e<<64-t,Fne=(r,e)=>e,Hne=(r,e)=>r,RN=(r,e,t)=>r<<t|e>>>32-t,IN=(r,e,t)=>e<<t|r>>>32-t,SN=(r,e,t)=>e<<t-32|r>>>64-t,kN=(r,e,t)=>r<<t-32|e>>>64-t;function zne(r,e,t,n){const i=(e>>>0)+(n>>>0);return{h:r+t+(i/2**32|0)|0,l:i|0}}const Gne=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),Kne=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,Wne=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),jne=(r,e,t,n,i)=>e+t+n+i+(r/2**32|0)|0,Vne=(r,e,t,n,i)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(i>>>0),qne=(r,e,t,n,i,s)=>e+t+n+i+s+(r/2**32|0)|0,rt={fromBig:EN,split:xN,toBig:Bne,shrSH:Pne,shrSL:Mne,rotrSH:Lne,rotrSL:Une,rotrBH:Dne,rotrBL:$ne,rotr32H:Fne,rotr32L:Hne,rotlSH:RN,rotlSL:IN,rotlBH:SN,rotlBL:kN,add:zne,add3L:Gne,add3H:Kne,add4L:Wne,add4H:jne,add5H:qne,add5L:Vne},[Zne,Qne]=rt.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(r=>BigInt(r))),mo=new Uint32Array(80),wo=new Uint32Array(80);class Jne extends AN{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:e,Al:t,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:u,Eh:l,El:h,Fh:g,Fl:b,Gh:w,Gl:I,Hh:S,Hl:x}=this;return[e,t,n,i,s,o,a,u,l,h,g,b,w,I,S,x]}set(e,t,n,i,s,o,a,u,l,h,g,b,w,I,S,x){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=u|0,this.Eh=l|0,this.El=h|0,this.Fh=g|0,this.Fl=b|0,this.Gh=w|0,this.Gl=I|0,this.Hh=S|0,this.Hl=x|0}process(e,t){for(let D=0;D<16;D++,t+=4)mo[D]=e.getUint32(t),wo[D]=e.getUint32(t+=4);for(let D=16;D<80;D++){const z=mo[D-15]|0,V=wo[D-15]|0,Z=rt.rotrSH(z,V,1)^rt.rotrSH(z,V,8)^rt.shrSH(z,V,7),K=rt.rotrSL(z,V,1)^rt.rotrSL(z,V,8)^rt.shrSL(z,V,7),j=mo[D-2]|0,oe=wo[D-2]|0,ce=rt.rotrSH(j,oe,19)^rt.rotrBH(j,oe,61)^rt.shrSH(j,oe,6),ne=rt.rotrSL(j,oe,19)^rt.rotrBL(j,oe,61)^rt.shrSL(j,oe,6),ue=rt.add4L(K,ne,wo[D-7],wo[D-16]),B=rt.add4H(ue,Z,ce,mo[D-7],mo[D-16]);mo[D]=B|0,wo[D]=ue|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:l,Dl:h,Eh:g,El:b,Fh:w,Fl:I,Gh:S,Gl:x,Hh:C,Hl:H}=this;for(let D=0;D<80;D++){const z=rt.rotrSH(g,b,14)^rt.rotrSH(g,b,18)^rt.rotrBH(g,b,41),V=rt.rotrSL(g,b,14)^rt.rotrSL(g,b,18)^rt.rotrBL(g,b,41),Z=g&w^~g&S,K=b&I^~b&x,j=rt.add5L(H,V,K,Qne[D],wo[D]),oe=rt.add5H(j,C,z,Z,Zne[D],mo[D]),ce=j|0,ne=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),ue=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),B=n&s^n&a^s&a,p=i&o^i&u^o&u;C=S|0,H=x|0,S=w|0,x=I|0,w=g|0,I=b|0,{h:g,l:b}=rt.add(l|0,h|0,oe|0,ce|0),l=a|0,h=u|0,a=s|0,u=o|0,s=n|0,o=i|0;const m=rt.add3L(ce,ue,p);n=rt.add3H(m,oe,ne,B),i=m|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=rt.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=rt.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:l,l:h}=rt.add(this.Dh|0,this.Dl|0,l|0,h|0),{h:g,l:b}=rt.add(this.Eh|0,this.El|0,g|0,b|0),{h:w,l:I}=rt.add(this.Fh|0,this.Fl|0,w|0,I|0),{h:S,l:x}=rt.add(this.Gh|0,this.Gl|0,S|0,x|0),{h:C,l:H}=rt.add(this.Hh|0,this.Hl|0,C|0,H|0),this.set(n,i,s,o,a,u,l,h,g,b,w,I,S,x,C,H)}roundClean(){mo.fill(0),wo.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 Yne=l_(()=>new Jne);function Xne(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof ll<"u")return ll;throw new Error("unable to locate global object")}const lx=Xne();lx.crypto||lx.msCrypto;function eie(r){switch(r){case"sha256":return vN.create();case"sha512":return Yne.create()}q(!1,"invalid hashing algorithm name","algorithm",r)}const[TN,ON,NN]=[[],[],[]],tie=BigInt(0),Tf=BigInt(1),rie=BigInt(2),nie=BigInt(7),iie=BigInt(256),sie=BigInt(113);for(let r=0,e=Tf,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],TN.push(2*(5*n+t)),ON.push((r+1)*(r+2)/2%64);let i=tie;for(let s=0;s<7;s++)e=(e<<Tf^(e>>nie)*sie)%iie,e&rie&&(i^=Tf<<(Tf<<BigInt(s))-Tf);NN.push(i)}const[oie,aie]=xN(NN,!0),fx=(r,e,t)=>t>32?SN(r,e,t):RN(r,e,t),hx=(r,e,t)=>t>32?kN(r,e,t):IN(r,e,t);function cie(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,u=(o+2)%10,l=t[u],h=t[u+1],g=fx(l,h,1)^t[a],b=hx(l,h,1)^t[a+1];for(let w=0;w<50;w+=10)r[o+w]^=g,r[o+w+1]^=b}let i=r[2],s=r[3];for(let o=0;o<24;o++){const a=ON[o],u=fx(i,s,a),l=hx(i,s,a),h=TN[o];i=r[h],s=r[h+1],r[h]=u,r[h+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=oie[n],r[1]^=aie[n]}t.fill(0)}class f_ extends u_{constructor(e,t,n,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,J0(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Ene(this.state)}keccak(){cie(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){vl(this);const{blockLen:t,state:n}=this;e=hg(e);const i=e.length;for(let s=0;s<i;){const o=Math.min(t-this.pos,i-s);for(let a=0;a<o;a++)n[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:n,blockLen:i}=this;e[n]^=t,t&128&&n===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){vl(this,!1),c_(e),this.finish();const t=this.state,{blockLen:n}=this;for(let i=0,s=e.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return J0(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(mN(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return e||(e=new f_(t,n,i,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=n,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}}const uie=(r,e,t)=>l_(()=>new f_(e,r,t)),lie=uie(1,136,256/8);let CN=!1;const BN=function(r){return lie(r)};let PN=BN;function Tr(r){const e=wt(r,"data");return Ce(PN(e))}Tr._=BN;Tr.lock=function(){CN=!0};Tr.register=function(r){if(CN)throw new TypeError("keccak256 is locked");PN=r};Object.freeze(Tr);const MN=function(r){return eie("sha256").update(r).digest()};let LN=MN,UN=!1;function jl(r){const e=wt(r,"data");return Ce(LN(e))}jl._=MN;jl.lock=function(){UN=!0};jl.register=function(r){if(UN)throw new Error("sha256 is locked");LN=r};Object.freeze(jl);Object.freeze(jl);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const DN=BigInt(0),dg=BigInt(1),fie=BigInt(2),pg=r=>r instanceof Uint8Array,hie=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function El(r){if(!pg(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=hie[r[t]];return e}function $N(r){const e=r.toString(16);return e.length&1?`0${e}`:e}function h_(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}function xl(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){const i=n*2,s=r.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[n]=o}return t}function oc(r){return h_(El(r))}function d_(r){if(!pg(r))throw new Error("Uint8Array expected");return h_(El(Uint8Array.from(r).reverse()))}function Rl(r,e){return xl(r.toString(16).padStart(e*2,"0"))}function p_(r,e){return Rl(r,e).reverse()}function die(r){return xl($N(r))}function mi(r,e,t){let n;if(typeof e=="string")try{n=xl(e)}catch(s){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${s}`)}else if(pg(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);const i=n.length;if(typeof t=="number"&&i!==t)throw new Error(`${r} expected ${t} bytes, got ${i}`);return n}function vh(...r){const e=new Uint8Array(r.reduce((n,i)=>n+i.length,0));let t=0;return r.forEach(n=>{if(!pg(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function pie(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}function gie(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function yie(r){let e;for(e=0;r>DN;r>>=dg,e+=1);return e}function mie(r,e){return r>>BigInt(e)&dg}const wie=(r,e,t)=>r|(t?dg:DN)<<BigInt(e),g_=r=>(fie<<BigInt(r-1))-dg,r1=r=>new Uint8Array(r),dx=r=>Uint8Array.from(r);function FN(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=r1(r),i=r1(r),s=0;const o=()=>{n.fill(1),i.fill(0),s=0},a=(...g)=>t(i,n,...g),u=(g=r1())=>{i=a(dx([0]),g),n=a(),g.length!==0&&(i=a(dx([1]),g),n=a())},l=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let g=0;const b=[];for(;g<e;){n=a();const w=n.slice();b.push(w),g+=n.length}return vh(...b)};return(g,b)=>{o(),u(g);let w;for(;!(w=b(l()));)u();return o(),w}}const bie={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function yd(r,e,t={}){const n=(i,s,o)=>{const a=bie[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);const u=r[i];if(!(o&&u===void 0)&&!a(u,r))throw new Error(`Invalid param ${String(i)}=${u} (${typeof u}), expected ${s}`)};for(const[i,s]of Object.entries(e))n(i,s,!1);for(const[i,s]of Object.entries(t))n(i,s,!0);return r}const _ie=Object.freeze(Object.defineProperty({__proto__:null,bitGet:mie,bitLen:yie,bitMask:g_,bitSet:wie,bytesToHex:El,bytesToNumberBE:oc,bytesToNumberLE:d_,concatBytes:vh,createHmacDrbg:FN,ensureBytes:mi,equalBytes:pie,hexToBytes:xl,hexToNumber:h_,numberToBytesBE:Rl,numberToBytesLE:p_,numberToHexUnpadded:$N,numberToVarBytesBE:die,utf8ToBytes:gie,validateObject:yd},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Hr=BigInt(0),xr=BigInt(1),va=BigInt(2),Aie=BigInt(3),lw=BigInt(4),px=BigInt(5),gx=BigInt(8);BigInt(9);BigInt(16);function kn(r,e){const t=r%e;return t>=Hr?t:e+t}function vie(r,e,t){if(t<=Hr||e<Hr)throw new Error("Expected power/modulo > 0");if(t===xr)return Hr;let n=xr;for(;e>Hr;)e&xr&&(n=n*r%t),r=r*r%t,e>>=xr;return n}function Jn(r,e,t){let n=r;for(;e-- >Hr;)n*=n,n%=t;return n}function fw(r,e){if(r===Hr||e<=Hr)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=kn(r,e),n=e,i=Hr,s=xr;for(;t!==Hr;){const a=n/t,u=n%t,l=i-s*a;n=t,t=u,i=s,s=l}if(n!==xr)throw new Error("invert: does not exist");return kn(i,e)}function Eie(r){const e=(r-xr)/va;let t,n,i;for(t=r-xr,n=0;t%va===Hr;t/=va,n++);for(i=va;i<r&&vie(i,e,r)!==r-xr;i++);if(n===1){const o=(r+xr)/lw;return function(u,l){const h=u.pow(l,o);if(!u.eql(u.sqr(h),l))throw new Error("Cannot find square root");return h}}const s=(t+xr)/va;return function(a,u){if(a.pow(u,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,h=a.pow(a.mul(a.ONE,i),t),g=a.pow(u,s),b=a.pow(u,t);for(;!a.eql(b,a.ONE);){if(a.eql(b,a.ZERO))return a.ZERO;let w=1;for(let S=a.sqr(b);w<l&&!a.eql(S,a.ONE);w++)S=a.sqr(S);const I=a.pow(h,xr<<BigInt(l-w-1));h=a.sqr(I),g=a.mul(g,I),b=a.mul(b,h),l=w}return g}}function xie(r){if(r%lw===Aie){const e=(r+xr)/lw;return function(n,i){const s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(r%gx===px){const e=(r-px)/gx;return function(n,i){const s=n.mul(i,va),o=n.pow(s,e),a=n.mul(i,o),u=n.mul(n.mul(a,va),o),l=n.mul(a,n.sub(u,n.ONE));if(!n.eql(n.sqr(l),i))throw new Error("Cannot find square root");return l}}return Eie(r)}const Rie=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Iie(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Rie.reduce((n,i)=>(n[i]="function",n),e);return yd(r,t)}function Sie(r,e,t){if(t<Hr)throw new Error("Expected power > 0");if(t===Hr)return r.ONE;if(t===xr)return e;let n=r.ONE,i=e;for(;t>Hr;)t&xr&&(n=r.mul(n,i)),i=r.sqr(i),t>>=xr;return n}function kie(r,e){const t=new Array(e.length),n=e.reduce((s,o,a)=>r.is0(o)?s:(t[a]=s,r.mul(s,o)),r.ONE),i=r.inv(n);return e.reduceRight((s,o,a)=>r.is0(o)?s:(t[a]=r.mul(s,t[a]),r.mul(s,o)),i),t}function HN(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function Tie(r,e,t=!1,n={}){if(r<=Hr)throw new Error(`Expected Field ORDER > 0, got ${r}`);const{nBitLength:i,nByteLength:s}=HN(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=xie(r),a=Object.freeze({ORDER:r,BITS:i,BYTES:s,MASK:g_(i),ZERO:Hr,ONE:xr,create:u=>kn(u,r),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return Hr<=u&&u<r},is0:u=>u===Hr,isOdd:u=>(u&xr)===xr,neg:u=>kn(-u,r),eql:(u,l)=>u===l,sqr:u=>kn(u*u,r),add:(u,l)=>kn(u+l,r),sub:(u,l)=>kn(u-l,r),mul:(u,l)=>kn(u*l,r),pow:(u,l)=>Sie(a,u,l),div:(u,l)=>kn(u*fw(l,r),r),sqrN:u=>u*u,addN:(u,l)=>u+l,subN:(u,l)=>u-l,mulN:(u,l)=>u*l,inv:u=>fw(u,r),sqrt:n.sqrt||(u=>o(a,u)),invertBatch:u=>kie(a,u),cmov:(u,l,h)=>h?l:u,toBytes:u=>t?p_(u,s):Rl(u,s),fromBytes:u=>{if(u.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${u.length}`);return t?d_(u):oc(u)}});return Object.freeze(a)}function zN(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function GN(r){const e=zN(r);return e+Math.ceil(e/2)}function Oie(r,e,t=!1){const n=r.length,i=zN(e),s=GN(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);const o=t?oc(r):d_(r),a=kn(o,e-xr)+xr;return t?p_(a,i):Rl(a,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Nie=BigInt(0),n1=BigInt(1);function Cie(r,e){const t=(i,s)=>{const o=s.negate();return i?o:s},n=i=>{const s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:t,unsafeLadder(i,s){let o=r.ZERO,a=i;for(;s>Nie;)s&n1&&(o=o.add(a)),a=a.double(),s>>=n1;return o},precomputeWindow(i,s){const{windows:o,windowSize:a}=n(s),u=[];let l=i,h=l;for(let g=0;g<o;g++){h=l,u.push(h);for(let b=1;b<a;b++)h=h.add(l),u.push(h);l=h.double()}return u},wNAF(i,s,o){const{windows:a,windowSize:u}=n(i);let l=r.ZERO,h=r.BASE;const g=BigInt(2**i-1),b=2**i,w=BigInt(i);for(let I=0;I<a;I++){const S=I*u;let x=Number(o&g);o>>=w,x>u&&(x-=b,o+=n1);const C=S,H=S+Math.abs(x)-1,D=I%2!==0,z=x<0;x===0?h=h.add(t(D,s[C])):l=l.add(t(z,s[H]))}return{p:l,f:h}},wNAFCached(i,s,o,a){const u=i._WINDOW_SIZE||1;let l=s.get(i);return l||(l=this.precomputeWindow(i,u),u!==1&&s.set(i,a(l))),this.wNAF(u,l,o)}}}function KN(r){return Iie(r.Fp),yd(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...HN(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Bie(r){const e=KN(r);yd(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:i}=e;if(t){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:Pie,hexToBytes:Mie}=_ie,Na={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){const{Err:e}=Na;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");const t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Pie(n),l:r.subarray(t+2)}},toSig(r){const{Err:e}=Na,t=typeof r=="string"?Mie(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");const{d:i,l:s}=Na._parseInt(t.subarray(2)),{d:o,l:a}=Na._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(r){const e=l=>Number.parseInt(l[0],16)&8?"00"+l:l,t=l=>{const h=l.toString(16);return h.length&1?`0${h}`:h},n=e(t(r.s)),i=e(t(r.r)),s=n.length/2,o=i.length/2,a=t(s),u=t(o);return`30${t(o+s+4)}02${u}${i}02${a}${n}`}},qs=BigInt(0),oi=BigInt(1);BigInt(2);const yx=BigInt(3);BigInt(4);function Lie(r){const e=Bie(r),{Fp:t}=e,n=e.toBytes||((I,S,x)=>{const C=S.toAffine();return vh(Uint8Array.from([4]),t.toBytes(C.x),t.toBytes(C.y))}),i=e.fromBytes||(I=>{const S=I.subarray(1),x=t.fromBytes(S.subarray(0,t.BYTES)),C=t.fromBytes(S.subarray(t.BYTES,2*t.BYTES));return{x,y:C}});function s(I){const{a:S,b:x}=e,C=t.sqr(I),H=t.mul(C,I);return t.add(t.add(H,t.mul(I,S)),x)}if(!t.eql(t.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(I){return typeof I=="bigint"&&qs<I&&I<e.n}function a(I){if(!o(I))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(I){const{allowedPrivateKeyLengths:S,nByteLength:x,wrapPrivateKey:C,n:H}=e;if(S&&typeof I!="bigint"){if(I instanceof Uint8Array&&(I=El(I)),typeof I!="string"||!S.includes(I.length))throw new Error("Invalid key");I=I.padStart(x*2,"0")}let D;try{D=typeof I=="bigint"?I:oc(mi("private key",I,x))}catch{throw new Error(`private key must be ${x} bytes, hex or bigint, not ${typeof I}`)}return C&&(D=kn(D,H)),a(D),D}const l=new Map;function h(I){if(!(I instanceof g))throw new Error("ProjectivePoint expected")}class g{constructor(S,x,C){if(this.px=S,this.py=x,this.pz=C,S==null||!t.isValid(S))throw new Error("x required");if(x==null||!t.isValid(x))throw new Error("y required");if(C==null||!t.isValid(C))throw new Error("z required")}static fromAffine(S){const{x,y:C}=S||{};if(!S||!t.isValid(x)||!t.isValid(C))throw new Error("invalid affine point");if(S instanceof g)throw new Error("projective point not allowed");const H=D=>t.eql(D,t.ZERO);return H(x)&&H(C)?g.ZERO:new g(x,C,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(S){const x=t.invertBatch(S.map(C=>C.pz));return S.map((C,H)=>C.toAffine(x[H])).map(g.fromAffine)}static fromHex(S){const x=g.fromAffine(i(mi("pointHex",S)));return x.assertValidity(),x}static fromPrivateKey(S){return g.BASE.multiply(u(S))}_setWindowSize(S){this._WINDOW_SIZE=S,l.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:S,y:x}=this.toAffine();if(!t.isValid(S)||!t.isValid(x))throw new Error("bad point: x or y not FE");const C=t.sqr(x),H=s(S);if(!t.eql(C,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:S}=this.toAffine();if(t.isOdd)return!t.isOdd(S);throw new Error("Field doesn't support isOdd")}equals(S){h(S);const{px:x,py:C,pz:H}=this,{px:D,py:z,pz:V}=S,Z=t.eql(t.mul(x,V),t.mul(D,H)),K=t.eql(t.mul(C,V),t.mul(z,H));return Z&&K}negate(){return new g(this.px,t.neg(this.py),this.pz)}double(){const{a:S,b:x}=e,C=t.mul(x,yx),{px:H,py:D,pz:z}=this;let V=t.ZERO,Z=t.ZERO,K=t.ZERO,j=t.mul(H,H),oe=t.mul(D,D),ce=t.mul(z,z),ne=t.mul(H,D);return ne=t.add(ne,ne),K=t.mul(H,z),K=t.add(K,K),V=t.mul(S,K),Z=t.mul(C,ce),Z=t.add(V,Z),V=t.sub(oe,Z),Z=t.add(oe,Z),Z=t.mul(V,Z),V=t.mul(ne,V),K=t.mul(C,K),ce=t.mul(S,ce),ne=t.sub(j,ce),ne=t.mul(S,ne),ne=t.add(ne,K),K=t.add(j,j),j=t.add(K,j),j=t.add(j,ce),j=t.mul(j,ne),Z=t.add(Z,j),ce=t.mul(D,z),ce=t.add(ce,ce),j=t.mul(ce,ne),V=t.sub(V,j),K=t.mul(ce,oe),K=t.add(K,K),K=t.add(K,K),new g(V,Z,K)}add(S){h(S);const{px:x,py:C,pz:H}=this,{px:D,py:z,pz:V}=S;let Z=t.ZERO,K=t.ZERO,j=t.ZERO;const oe=e.a,ce=t.mul(e.b,yx);let ne=t.mul(x,D),ue=t.mul(C,z),B=t.mul(H,V),p=t.add(x,C),m=t.add(D,z);p=t.mul(p,m),m=t.add(ne,ue),p=t.sub(p,m),m=t.add(x,H);let E=t.add(D,V);return m=t.mul(m,E),E=t.add(ne,B),m=t.sub(m,E),E=t.add(C,H),Z=t.add(z,V),E=t.mul(E,Z),Z=t.add(ue,B),E=t.sub(E,Z),j=t.mul(oe,m),Z=t.mul(ce,B),j=t.add(Z,j),Z=t.sub(ue,j),j=t.add(ue,j),K=t.mul(Z,j),ue=t.add(ne,ne),ue=t.add(ue,ne),B=t.mul(oe,B),m=t.mul(ce,m),ue=t.add(ue,B),B=t.sub(ne,B),B=t.mul(oe,B),m=t.add(m,B),ne=t.mul(ue,m),K=t.add(K,ne),ne=t.mul(E,m),Z=t.mul(p,Z),Z=t.sub(Z,ne),ne=t.mul(p,ue),j=t.mul(E,j),j=t.add(j,ne),new g(Z,K,j)}subtract(S){return this.add(S.negate())}is0(){return this.equals(g.ZERO)}wNAF(S){return w.wNAFCached(this,l,S,x=>{const C=t.invertBatch(x.map(H=>H.pz));return x.map((H,D)=>H.toAffine(C[D])).map(g.fromAffine)})}multiplyUnsafe(S){const x=g.ZERO;if(S===qs)return x;if(a(S),S===oi)return this;const{endo:C}=e;if(!C)return w.unsafeLadder(this,S);let{k1neg:H,k1:D,k2neg:z,k2:V}=C.splitScalar(S),Z=x,K=x,j=this;for(;D>qs||V>qs;)D&oi&&(Z=Z.add(j)),V&oi&&(K=K.add(j)),j=j.double(),D>>=oi,V>>=oi;return H&&(Z=Z.negate()),z&&(K=K.negate()),K=new g(t.mul(K.px,C.beta),K.py,K.pz),Z.add(K)}multiply(S){a(S);let x=S,C,H;const{endo:D}=e;if(D){const{k1neg:z,k1:V,k2neg:Z,k2:K}=D.splitScalar(x);let{p:j,f:oe}=this.wNAF(V),{p:ce,f:ne}=this.wNAF(K);j=w.constTimeNegate(z,j),ce=w.constTimeNegate(Z,ce),ce=new g(t.mul(ce.px,D.beta),ce.py,ce.pz),C=j.add(ce),H=oe.add(ne)}else{const{p:z,f:V}=this.wNAF(x);C=z,H=V}return g.normalizeZ([C,H])[0]}multiplyAndAddUnsafe(S,x,C){const H=g.BASE,D=(V,Z)=>Z===qs||Z===oi||!V.equals(H)?V.multiplyUnsafe(Z):V.multiply(Z),z=D(this,x).add(D(S,C));return z.is0()?void 0:z}toAffine(S){const{px:x,py:C,pz:H}=this,D=this.is0();S==null&&(S=D?t.ONE:t.inv(H));const z=t.mul(x,S),V=t.mul(C,S),Z=t.mul(H,S);if(D)return{x:t.ZERO,y:t.ZERO};if(!t.eql(Z,t.ONE))throw new Error("invZ was invalid");return{x:z,y:V}}isTorsionFree(){const{h:S,isTorsionFree:x}=e;if(S===oi)return!0;if(x)return x(g,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:S,clearCofactor:x}=e;return S===oi?this:x?x(g,this):this.multiplyUnsafe(e.h)}toRawBytes(S=!0){return this.assertValidity(),n(g,this,S)}toHex(S=!0){return El(this.toRawBytes(S))}}g.BASE=new g(e.Gx,e.Gy,t.ONE),g.ZERO=new g(t.ZERO,t.ONE,t.ZERO);const b=e.nBitLength,w=Cie(g,e.endo?Math.ceil(b/2):b);return{CURVE:e,ProjectivePoint:g,normPrivateKeyToScalar:u,weierstrassEquation:s,isWithinCurveOrder:o}}function Uie(r){const e=KN(r);return yd(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Die(r){const e=Uie(r),{Fp:t,n}=e,i=t.BYTES+1,s=2*t.BYTES+1;function o(m){return qs<m&&m<t.ORDER}function a(m){return kn(m,n)}function u(m){return fw(m,n)}const{ProjectivePoint:l,normPrivateKeyToScalar:h,weierstrassEquation:g,isWithinCurveOrder:b}=Lie({...e,toBytes(m,E,k){const O=E.toAffine(),M=t.toBytes(O.x),G=vh;return k?G(Uint8Array.from([E.hasEvenY()?2:3]),M):G(Uint8Array.from([4]),M,t.toBytes(O.y))},fromBytes(m){const E=m.length,k=m[0],O=m.subarray(1);if(E===i&&(k===2||k===3)){const M=oc(O);if(!o(M))throw new Error("Point is not on curve");const G=g(M);let P=t.sqrt(G);const A=(P&oi)===oi;return(k&1)===1!==A&&(P=t.neg(P)),{x:M,y:P}}else if(E===s&&k===4){const M=t.fromBytes(O.subarray(0,t.BYTES)),G=t.fromBytes(O.subarray(t.BYTES,2*t.BYTES));return{x:M,y:G}}else throw new Error(`Point of length ${E} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),w=m=>El(Rl(m,e.nByteLength));function I(m){const E=n>>oi;return m>E}function S(m){return I(m)?a(-m):m}const x=(m,E,k)=>oc(m.slice(E,k));class C{constructor(E,k,O){this.r=E,this.s=k,this.recovery=O,this.assertValidity()}static fromCompact(E){const k=e.nByteLength;return E=mi("compactSignature",E,k*2),new C(x(E,0,k),x(E,k,2*k))}static fromDER(E){const{r:k,s:O}=Na.toSig(mi("DER",E));return new C(k,O)}assertValidity(){if(!b(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!b(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(E){return new C(this.r,this.s,E)}recoverPublicKey(E){const{r:k,s:O,recovery:M}=this,G=K(mi("msgHash",E));if(M==null||![0,1,2,3].includes(M))throw new Error("recovery id invalid");const P=M===2||M===3?k+e.n:k;if(P>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const A=M&1?"03":"02",U=l.fromHex(A+w(P)),le=u(P),ee=a(-G*le),re=a(O*le),he=l.BASE.multiplyAndAddUnsafe(U,ee,re);if(!he)throw new Error("point at infinify");return he.assertValidity(),he}hasHighS(){return I(this.s)}normalizeS(){return this.hasHighS()?new C(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return xl(this.toDERHex())}toDERHex(){return Na.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xl(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=GN(e.n);return Oie(e.randomBytes(m),e.n)},precompute(m=8,E=l.BASE){return E._setWindowSize(m),E.multiply(BigInt(3)),E}};function D(m,E=!0){return l.fromPrivateKey(m).toRawBytes(E)}function z(m){const E=m instanceof Uint8Array,k=typeof m=="string",O=(E||k)&&m.length;return E?O===i||O===s:k?O===2*i||O===2*s:m instanceof l}function V(m,E,k=!0){if(z(m))throw new Error("first arg must be private key");if(!z(E))throw new Error("second arg must be public key");return l.fromHex(E).multiply(h(m)).toRawBytes(k)}const Z=e.bits2int||function(m){const E=oc(m),k=m.length*8-e.nBitLength;return k>0?E>>BigInt(k):E},K=e.bits2int_modN||function(m){return a(Z(m))},j=g_(e.nBitLength);function oe(m){if(typeof m!="bigint")throw new Error("bigint expected");if(!(qs<=m&&m<j))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Rl(m,e.nByteLength)}function ce(m,E,k=ne){if(["recovered","canonical"].some(be=>be in k))throw new Error("sign() legacy options not supported");const{hash:O,randomBytes:M}=e;let{lowS:G,prehash:P,extraEntropy:A}=k;G==null&&(G=!0),m=mi("msgHash",m),P&&(m=mi("prehashed msgHash",O(m)));const U=K(m),le=h(E),ee=[oe(le),oe(U)];if(A!=null){const be=A===!0?M(t.BYTES):A;ee.push(mi("extraEntropy",be))}const re=vh(...ee),he=U;function ye(be){const We=Z(be);if(!b(We))return;const $e=u(We),Oe=l.BASE.multiply(We).toAffine(),Xe=a(Oe.x);if(Xe===qs)return;const qe=a($e*a(he+Xe*le));if(qe===qs)return;let et=(Oe.x===Xe?0:2)|Number(Oe.y&oi),Yt=qe;return G&&I(qe)&&(Yt=S(qe),et^=1),new C(Xe,Yt,et)}return{seed:re,k2sig:ye}}const ne={lowS:e.lowS,prehash:!1},ue={lowS:e.lowS,prehash:!1};function B(m,E,k=ne){const{seed:O,k2sig:M}=ce(m,E,k),G=e;return FN(G.hash.outputLen,G.nByteLength,G.hmac)(O,M)}l.BASE._setWindowSize(8);function p(m,E,k,O=ue){var Oe;const M=m;if(E=mi("msgHash",E),k=mi("publicKey",k),"strict"in O)throw new Error("options.strict was renamed to lowS");const{lowS:G,prehash:P}=O;let A,U;try{if(typeof M=="string"||M instanceof Uint8Array)try{A=C.fromDER(M)}catch(Xe){if(!(Xe instanceof Na.Err))throw Xe;A=C.fromCompact(M)}else if(typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint"){const{r:Xe,s:qe}=M;A=new C(Xe,qe)}else throw new Error("PARSE");U=l.fromHex(k)}catch(Xe){if(Xe.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(G&&A.hasHighS())return!1;P&&(E=e.hash(E));const{r:le,s:ee}=A,re=K(E),he=u(ee),ye=a(re*he),be=a(le*he),We=(Oe=l.BASE.multiplyAndAddUnsafe(U,ye,be))==null?void 0:Oe.toAffine();return We?a(We.x)===le:!1}return{CURVE:e,getPublicKey:D,getSharedSecret:V,sign:B,verify:p,ProjectivePoint:l,Signature:C,utils:H}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function $ie(r){return{hash:r,hmac:(e,...t)=>_N(r,e,Ine(...t)),randomBytes:Sne}}function Fie(r,e){const t=n=>Die({...r,...$ie(n)});return Object.freeze({...t(e),create:t})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const WN=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),mx=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Hie=BigInt(1),hw=BigInt(2),wx=(r,e)=>(r+e/hw)/e;function zie(r){const e=WN,t=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),l=r*r*r%e,h=l*l*r%e,g=Jn(h,t,e)*h%e,b=Jn(g,t,e)*h%e,w=Jn(b,hw,e)*l%e,I=Jn(w,i,e)*w%e,S=Jn(I,s,e)*I%e,x=Jn(S,a,e)*S%e,C=Jn(x,u,e)*x%e,H=Jn(C,a,e)*S%e,D=Jn(H,t,e)*h%e,z=Jn(D,o,e)*I%e,V=Jn(z,n,e)*l%e,Z=Jn(V,hw,e);if(!dw.eql(dw.sqr(Z),r))throw new Error("Cannot find square root");return Z}const dw=Tie(WN,void 0,void 0,{sqrt:zie}),_o=Fie({a:BigInt(0),b:BigInt(7),Fp:dw,n:mx,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=mx,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Hie*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=t,o=BigInt("0x100000000000000000000000000000000"),a=wx(s*r,e),u=wx(-n*r,e);let l=kn(r-a*t-u*i,e),h=kn(-a*n-u*s,e);const g=l>o,b=h>o;if(g&&(l=e-l),b&&(h=e-h),l>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:g,k1:l,k2neg:b,k2:h}}}},vN);BigInt(0);_o.ProjectivePoint;const Eh="0x0000000000000000000000000000000000000000",bx="0x0000000000000000000000000000000000000000000000000000000000000000",_x=BigInt(0),Ax=BigInt(1),vx=BigInt(2),Ex=BigInt(27),xx=BigInt(28),e0=BigInt(35),Vc={};function Rx(r){return bc(mn(r),32)}var Tu,Ou,Nu,Ga;const yi=class yi{constructor(e,t,n,i){se(this,Tu);se(this,Ou);se(this,Nu);se(this,Ga);cg(e,Vc,"Signature"),F(this,Tu,t),F(this,Ou,n),F(this,Nu,i),F(this,Ga,null)}get r(){return T(this,Tu)}set r(e){q(mu(e)===32,"invalid r","value",e),F(this,Tu,Ce(e))}get s(){return T(this,Ou)}set s(e){q(mu(e)===32,"invalid s","value",e);const t=Ce(e);q(parseInt(t.substring(0,3))<8,"non-canonical s","value",t),F(this,Ou,t)}get v(){return T(this,Nu)}set v(e){const t=ct(e,"value");q(t===27||t===28,"invalid v","v",e),F(this,Nu,t)}get networkV(){return T(this,Ga)}get legacyChainId(){const e=this.networkV;return e==null?null:yi.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){const e=wt(this.s);return this.yParity&&(e[0]|=128),Ce(e)}get compactSerialized(){return Ir([this.r,this.yParityAndS])}get serialized(){return Ir([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 e=new yi(Vc,this.r,this.s,this.v);return this.networkV&&F(e,Ga,this.networkV),e}toJSON(){const e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(e){const t=Me(e,"v");return t==Ex||t==xx?_x:(q(t>=e0,"invalid EIP-155 v","v",e),(t-e0)/vx)}static getChainIdV(e,t){return Me(e)*vx+BigInt(35+t-27)}static getNormalizedV(e){const t=Me(e);return t===_x||t===Ex?27:t===Ax||t===xx?28:(q(t>=e0,"invalid v","v",e),t&Ax?27:28)}static from(e){function t(l,h){q(l,h,"signature",e)}if(e==null)return new yi(Vc,bx,bx,27);if(typeof e=="string"){const l=wt(e,"signature");if(l.length===64){const h=Ce(l.slice(0,32)),g=l.slice(32,64),b=g[0]&128?28:27;return g[0]&=127,new yi(Vc,h,Ce(g),b)}if(l.length===65){const h=Ce(l.slice(0,32)),g=l.slice(32,64);t((g[0]&128)===0,"non-canonical s");const b=yi.getNormalizedV(l[64]);return new yi(Vc,h,Ce(g),b)}t(!1,"invalid raw signature length")}if(e instanceof yi)return e.clone();const n=e.r;t(n!=null,"missing r");const i=Rx(n),s=function(l,h){if(l!=null)return Rx(l);if(h!=null){t(zt(h,32),"invalid yParityAndS");const g=wt(h);return g[0]&=127,Ce(g)}t(!1,"missing s")}(e.s,e.yParityAndS);t((wt(s)[0]&128)==0,"non-canonical s");const{networkV:o,v:a}=function(l,h,g){if(l!=null){const b=Me(l);return{networkV:b>=e0?b:void 0,v:yi.getNormalizedV(b)}}if(h!=null)return t(zt(h,32),"invalid yParityAndS"),{v:wt(h)[0]&128?28:27};if(g!=null){switch(ct(g,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")}(e.v,e.yParityAndS,e.yParity),u=new yi(Vc,i,s,a);return o&&F(u,Ga,o),t(e.yParity==null||ct(e.yParity,"sig.yParity")===u.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===u.yParityAndS,"yParityAndS mismatch"),u}};Tu=new WeakMap,Ou=new WeakMap,Nu=new WeakMap,Ga=new WeakMap;let Ni=yi;var Ps;const Ea=class Ea{constructor(e){se(this,Ps);q(mu(e)===32,"invalid private key","privateKey","[REDACTED]"),F(this,Ps,Ce(e))}get privateKey(){return T(this,Ps)}get publicKey(){return Ea.computePublicKey(T(this,Ps))}get compressedPublicKey(){return Ea.computePublicKey(T(this,Ps),!0)}sign(e){q(mu(e)===32,"invalid digest length","digest",e);const t=_o.sign(pn(e),pn(T(this,Ps)),{lowS:!0});return Ni.from({r:sa(t.r,32),s:sa(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){const t=Ea.computePublicKey(e);return Ce(_o.getSharedSecret(pn(T(this,Ps)),wt(t),!1))}static computePublicKey(e,t){let n=wt(e,"key");if(n.length===32){const s=_o.getPublicKey(n,!!t);return Ce(s)}if(n.length===64){const s=new Uint8Array(65);s[0]=4,s.set(n,1),n=s}const i=_o.ProjectivePoint.fromHex(n);return Ce(i.toRawBytes(t))}static recoverPublicKey(e,t){q(mu(e)===32,"invalid digest length","digest",e);const n=Ni.from(t);let i=_o.Signature.fromCompact(pn(Ir([n.r,n.s])));i=i.addRecoveryBit(n.yParity);const s=i.recoverPublicKey(pn(e));return q(s!=null,"invalid signautre for digest","signature",t),"0x"+s.toHex(!1)}static addPoints(e,t,n){const i=_o.ProjectivePoint.fromHex(Ea.computePublicKey(e).substring(2)),s=_o.ProjectivePoint.fromHex(Ea.computePublicKey(t).substring(2));return"0x"+i.add(s).toHex(!!n)}};Ps=new WeakMap;let xh=Ea;const Gie=BigInt(0),Kie=BigInt(36);function Ix(r){r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let i=0;i<40;i++)t[i]=e[i].charCodeAt(0);const n=wt(Tr(t));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(n[i>>1]&15)>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}const y_={};for(let r=0;r<10;r++)y_[String(r)]=String(r);for(let r=0;r<26;r++)y_[String.fromCharCode(65+r)]=String(10+r);const Sx=15;function Wie(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>y_[n]).join("");for(;e.length>=Sx;){let n=e.substring(0,Sx);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const jie=function(){const r={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];r[t]=BigInt(e)}return r}();function Vie(r){r=r.toLowerCase();let e=Gie;for(let t=0;t<r.length;t++)e=e*Kie+jie[r[t]];return e}function Pt(r){if(q(typeof r=="string","invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/)){r.startsWith("0x")||(r="0x"+r);const e=Ix(r);return q(!r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===r,"bad address checksum","address",r),e}if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){q(r.substring(2,4)===Wie(r),"bad icap checksum","address",r);let e=Vie(r.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return Ix("0x"+e)}q(!1,"invalid address","address",r)}function qie(r){const e=Pt(r.from);let n=Me(r.nonce,"tx.nonce").toString(16);return n==="0"?n="0x":n.length%2?n="0x0"+n:n="0x"+n,Pt(_r(Tr(_c([e,n])),12))}function jN(r){return r&&typeof r.getAddress=="function"}async function i1(r,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(pe(typeof r!="string","unconfigured name","UNCONFIGURED_NAME",{value:r}),q(!1,"invalid AddressLike value; did not resolve to a value address","target",r)),Pt(t)}function bn(r,e){if(typeof r=="string")return r.match(/^0x[0-9a-f]{40}$/i)?Pt(r):(pe(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),i1(r,e.resolveName(r)));if(jN(r))return i1(r,r.getAddress());if(r&&typeof r.then=="function")return i1(r,r);q(!1,"unsupported addressable value","target",r)}const Es={};function Te(r,e){let t=!1;return e<0&&(t=!0,e*=-1),new ln(Es,`${t?"":"u"}int${e}`,r,{signed:t,width:e})}function _t(r,e){return new ln(Es,`bytes${e||""}`,r,{size:e})}const kx=Symbol.for("_ethers_typed");var Ka;const xs=class xs{constructor(e,t,n,i){Q(this,"type");Q(this,"value");se(this,Ka);Q(this,"_typedSymbol");i==null&&(i=null),cg(Es,e,"Typed"),ze(this,{_typedSymbol:kx,type:t,value:n}),F(this,Ka,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(e=>e.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 T(this,Ka)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return T(this,Ka)===!0?-1:T(this,Ka)===!1?this.value.length:null}static from(e,t){return new xs(Es,e,t)}static uint8(e){return Te(e,8)}static uint16(e){return Te(e,16)}static uint24(e){return Te(e,24)}static uint32(e){return Te(e,32)}static uint40(e){return Te(e,40)}static uint48(e){return Te(e,48)}static uint56(e){return Te(e,56)}static uint64(e){return Te(e,64)}static uint72(e){return Te(e,72)}static uint80(e){return Te(e,80)}static uint88(e){return Te(e,88)}static uint96(e){return Te(e,96)}static uint104(e){return Te(e,104)}static uint112(e){return Te(e,112)}static uint120(e){return Te(e,120)}static uint128(e){return Te(e,128)}static uint136(e){return Te(e,136)}static uint144(e){return Te(e,144)}static uint152(e){return Te(e,152)}static uint160(e){return Te(e,160)}static uint168(e){return Te(e,168)}static uint176(e){return Te(e,176)}static uint184(e){return Te(e,184)}static uint192(e){return Te(e,192)}static uint200(e){return Te(e,200)}static uint208(e){return Te(e,208)}static uint216(e){return Te(e,216)}static uint224(e){return Te(e,224)}static uint232(e){return Te(e,232)}static uint240(e){return Te(e,240)}static uint248(e){return Te(e,248)}static uint256(e){return Te(e,256)}static uint(e){return Te(e,256)}static int8(e){return Te(e,-8)}static int16(e){return Te(e,-16)}static int24(e){return Te(e,-24)}static int32(e){return Te(e,-32)}static int40(e){return Te(e,-40)}static int48(e){return Te(e,-48)}static int56(e){return Te(e,-56)}static int64(e){return Te(e,-64)}static int72(e){return Te(e,-72)}static int80(e){return Te(e,-80)}static int88(e){return Te(e,-88)}static int96(e){return Te(e,-96)}static int104(e){return Te(e,-104)}static int112(e){return Te(e,-112)}static int120(e){return Te(e,-120)}static int128(e){return Te(e,-128)}static int136(e){return Te(e,-136)}static int144(e){return Te(e,-144)}static int152(e){return Te(e,-152)}static int160(e){return Te(e,-160)}static int168(e){return Te(e,-168)}static int176(e){return Te(e,-176)}static int184(e){return Te(e,-184)}static int192(e){return Te(e,-192)}static int200(e){return Te(e,-200)}static int208(e){return Te(e,-208)}static int216(e){return Te(e,-216)}static int224(e){return Te(e,-224)}static int232(e){return Te(e,-232)}static int240(e){return Te(e,-240)}static int248(e){return Te(e,-248)}static int256(e){return Te(e,-256)}static int(e){return Te(e,-256)}static bytes1(e){return _t(e,1)}static bytes2(e){return _t(e,2)}static bytes3(e){return _t(e,3)}static bytes4(e){return _t(e,4)}static bytes5(e){return _t(e,5)}static bytes6(e){return _t(e,6)}static bytes7(e){return _t(e,7)}static bytes8(e){return _t(e,8)}static bytes9(e){return _t(e,9)}static bytes10(e){return _t(e,10)}static bytes11(e){return _t(e,11)}static bytes12(e){return _t(e,12)}static bytes13(e){return _t(e,13)}static bytes14(e){return _t(e,14)}static bytes15(e){return _t(e,15)}static bytes16(e){return _t(e,16)}static bytes17(e){return _t(e,17)}static bytes18(e){return _t(e,18)}static bytes19(e){return _t(e,19)}static bytes20(e){return _t(e,20)}static bytes21(e){return _t(e,21)}static bytes22(e){return _t(e,22)}static bytes23(e){return _t(e,23)}static bytes24(e){return _t(e,24)}static bytes25(e){return _t(e,25)}static bytes26(e){return _t(e,26)}static bytes27(e){return _t(e,27)}static bytes28(e){return _t(e,28)}static bytes29(e){return _t(e,29)}static bytes30(e){return _t(e,30)}static bytes31(e){return _t(e,31)}static bytes32(e){return _t(e,32)}static address(e){return new xs(Es,"address",e)}static bool(e){return new xs(Es,"bool",!!e)}static bytes(e){return new xs(Es,"bytes",e)}static string(e){return new xs(Es,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new xs(Es,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===kx}static dereference(e,t){if(xs.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};Ka=new WeakMap;let ln=xs;class Zie extends so{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=ln.dereference(t,"string");try{n=Pt(n)}catch(i){return this._throwError(i.message,t)}return e.writeValue(n)}decode(e){return Pt(sa(e.readValue(),20))}}class Qie extends so{constructor(t){super(t.name,t.type,"_",t.dynamic);Q(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,n){return this.coder.encode(t,n)}decode(t){return this.coder.decode(t)}}function VN(r,e,t){let n=[];if(Array.isArray(t))n=t;else if(t&&typeof t=="object"){let u={};n=e.map(l=>{const h=l.localName;return pe(h,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),pe(!u[h],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),u[h]=!0,t[h]})}else q(!1,"invalid tuple value","tuple",t);q(e.length===n.length,"types/value length mismatch","tuple",t);let i=new ow,s=new ow,o=[];e.forEach((u,l)=>{let h=n[l];if(u.dynamic){let g=s.length;u.encode(s,h);let b=i.writeUpdatableValue();o.push(w=>{b(w+g)})}else u.encode(i,h)}),o.forEach(u=>{u(i.length)});let a=r.appendWriter(i);return a+=r.appendWriter(s),a}function qN(r,e){let t=[],n=[],i=r.subReader(0);return e.forEach(s=>{let o=null;if(s.dynamic){let a=r.readIndex(),u=i.subReader(a);try{o=s.decode(u)}catch(l){if(Zr(l,"BUFFER_OVERRUN"))throw l;o=l,o.baseType=s.name,o.name=s.localName,o.type=s.type}}else try{o=s.decode(r)}catch(a){if(Zr(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");t.push(o),n.push(s.localName||null)}),Al.fromItems(t,n)}class Jie extends so{constructor(t,n,i){const s=t.type+"["+(n>=0?n:"")+"]",o=n===-1||t.dynamic;super("array",s,i,o);Q(this,"coder");Q(this,"length");ze(this,{coder:t,length:n})}defaultValue(){const t=this.coder.defaultValue(),n=[];for(let i=0;i<this.length;i++)n.push(t);return n}encode(t,n){const i=ln.dereference(n,"array");Array.isArray(i)||this._throwError("expected array value",i);let s=this.length;s===-1&&(s=i.length,t.writeValue(i.length)),nN(i.length,s,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<i.length;a++)o.push(this.coder);return VN(t,o,i)}decode(t){let n=this.length;n===-1&&(n=t.readIndex(),pe(n*wn<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:n*wn,length:t.dataLength}));let i=[];for(let s=0;s<n;s++)i.push(new Qie(this.coder));return qN(t,i)}}class Yie extends so{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const n=ln.dereference(t,"bool");return e.writeValue(n?1:0)}decode(e){return!!e.readValue()}}class ZN extends so{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=pn(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readIndex(),!0)}}class Xie extends ZN{constructor(e){super("bytes",e)}decode(e){return Ce(super.decode(e))}}class ese extends so{constructor(t,n){let i="bytes"+String(t);super(i,i,n,!1);Q(this,"size");ze(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,n){let i=pn(ln.dereference(n,this.type));return i.length!==this.size&&this._throwError("incorrect data length",n),t.writeBytes(i)}decode(t){return Ce(t.readBytes(this.size))}}const tse=new Uint8Array([]);class rse extends so{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(tse)}decode(e){return e.readBytes(0),null}}const nse=BigInt(0),ise=BigInt(1),sse=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class ose extends so{constructor(t,n,i){const s=(n?"int":"uint")+t*8;super(s,s,i,!1);Q(this,"size");Q(this,"signed");ze(this,{size:t,signed:n},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,n){let i=Me(ln.dereference(n,this.type)),s=Pf(sse,wn*8);if(this.signed){let o=Pf(s,this.size*8-1);(i>o||i<-(o+ise))&&this._throwError("value out-of-bounds",n),i=oN(i,8*wn)}else(i<nse||i>Pf(s,this.size*8))&&this._throwError("value out-of-bounds",n);return t.writeValue(i)}decode(t){let n=Pf(t.readValue(),this.size*8);return this.signed&&(n=nne(n,this.size*8)),n}}class ase extends ZN{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Js(ln.dereference(t,"string")))}decode(e){return Q0(super.decode(e))}}class t0 extends so{constructor(t,n){let i=!1;const s=[];t.forEach(a=>{a.dynamic&&(i=!0),s.push(a.type)});const o="tuple("+s.join(",")+")";super("tuple",o,n,i);Q(this,"coders");ze(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(i=>{t.push(i.defaultValue())});const n=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||n[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[s]))}),Object.freeze(t)}encode(t,n){const i=ln.dereference(n,"tuple");return VN(t,this.coders,i)}decode(t){return qN(t,this.coders)}}function Ac(r){return Tr(Js(r))}var cse="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 Tx=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),Ox=4;function use(r){let e=0;function t(){return r[e++]<<8|r[e++]}let n=t(),i=1,s=[0,1];for(let V=1;V<n;V++)s.push(i+=t());let o=t(),a=e;e+=o;let u=0,l=0;function h(){return u==0&&(l=l<<8|r[e++],u=8),l>>--u&1}const g=31,b=2**g,w=b>>>1,I=w>>1,S=b-1;let x=0;for(let V=0;V<g;V++)x=x<<1|h();let C=[],H=0,D=b;for(;;){let V=Math.floor(((x-H+1)*i-1)/D),Z=0,K=n;for(;K-Z>1;){let ce=Z+K>>>1;V<s[ce]?K=ce:Z=ce}if(Z==0)break;C.push(Z);let j=H+Math.floor(D*s[Z]/i),oe=H+Math.floor(D*s[Z+1]/i)-1;for(;!((j^oe)&w);)x=x<<1&S|h(),j=j<<1&S,oe=oe<<1&S|1;for(;j&~oe&I;)x=x&w|x<<1&S>>>1|h(),j=j<<1^w,oe=(oe^w)<<1|w|1;H=j,D=1+oe-j}let z=n-4;return C.map(V=>{switch(V-z){case 3:return z+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return z+256+(r[a++]<<8|r[a++]);case 1:return z+r[a++];default:return V-1}})}function lse(r){let e=0;return()=>r[e++]}function QN(r){return lse(use(fse(r)))}function fse(r){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((i,s)=>e[i.charCodeAt(0)]=s);let t=r.length,n=new Uint8Array(6*t>>3);for(let i=0,s=0,o=0,a=0;i<t;i++)a=a<<6|e[r.charCodeAt(i)],o+=6,o>=8&&(n[s++]=a>>(o-=8));return n}function hse(r){return r&1?~r>>1:r>>1}function dse(r,e){let t=Array(r);for(let n=0,i=0;n<r;n++)t[n]=i+=hse(e());return t}function Rh(r,e=0){let t=[];for(;;){let n=r(),i=r();if(!i)break;e+=n;for(let s=0;s<i;s++)t.push(e+s);e+=i+1}return t}function JN(r){return Ih(()=>{let e=Rh(r);if(e.length)return e})}function YN(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(pse(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(gse(t,r))}return e.flat()}function Ih(r){let e=[];for(;;){let t=r(e.length);if(!t)break;e.push(t)}return e}function XN(r,e,t){let n=Array(r).fill().map(()=>[]);for(let i=0;i<e;i++)dse(r,t).forEach((s,o)=>n[o].push(s));return n}function pse(r,e){let t=1+e(),n=e(),i=Ih(e);return XN(i.length,1+r,e).flatMap((o,a)=>{let[u,...l]=o;return Array(i[a]).fill().map((h,g)=>{let b=g*n;return[u+g*t,l.map(w=>w+b)]})})}function gse(r,e){let t=1+e();return XN(t,1+r,e).map(i=>[i[0],i.slice(1)])}function yse(r){let e=[],t=Rh(r);return i(n([]),[]),e;function n(s){let o=r(),a=Ih(()=>{let u=Rh(r).map(l=>t[l]);if(u.length)return n(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&&e.push(a);for(let l of o)for(let h of l.Q)i(l,[...a,h],u)}}}function mse(r){return r.toString(16).toUpperCase().padStart(2,"0")}function eC(r){return`{${mse(r)}}`}function wse(r){let e=[];for(let t=0,n=r.length;t<n;){let i=r.codePointAt(t);t+=i<65536?1:2,e.push(i)}return e}function Il(r){let t=r.length;if(t<4096)return String.fromCodePoint(...r);let n=[];for(let i=0;i<t;)n.push(String.fromCodePoint(...r.slice(i,i+=4096)));return n.join("")}function bse(r,e){let t=r.length,n=t-e.length;for(let i=0;n==0&&i<t;i++)n=r[i]-e[i];return n}var _se="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 Sh=44032,Y0=4352,X0=4449,ep=4519,tC=19,rC=21,Sl=28,tp=rC*Sl,Ase=tC*tp,vse=Sh+Ase,Ese=Y0+tC,xse=X0+rC,Rse=ep+Sl;function Lf(r){return r>>24&255}function nC(r){return r&16777215}let pw,Nx,gw,h0;function Ise(){let r=QN(_se);pw=new Map(JN(r).flatMap((e,t)=>e.map(n=>[n,t+1<<24]))),Nx=new Set(Rh(r)),gw=new Map,h0=new Map;for(let[e,t]of YN(r)){if(!Nx.has(e)&&t.length==2){let[n,i]=t,s=h0.get(n);s||(s=new Map,h0.set(n,s)),s.set(i,e)}gw.set(e,t.reverse())}}function iC(r){return r>=Sh&&r<vse}function Sse(r,e){if(r>=Y0&&r<Ese&&e>=X0&&e<xse)return Sh+(r-Y0)*tp+(e-X0)*Sl;if(iC(r)&&e>ep&&e<Rse&&(r-Sh)%Sl==0)return r+(e-ep);{let t=h0.get(r);return t&&(t=t.get(e),t)?t:-1}}function sC(r){pw||Ise();let e=[],t=[],n=!1;function i(s){let o=pw.get(s);o&&(n=!0,s|=o),e.push(s)}for(let s of r)for(;;){if(s<128)e.push(s);else if(iC(s)){let o=s-Sh,a=o/tp|0,u=o%tp/Sl|0,l=o%Sl;i(Y0+a),i(X0+u),l>0&&i(ep+l)}else{let o=gw.get(s);o?t.push(...o):i(s)}if(!t.length)break;s=t.pop()}if(n&&e.length>1){let s=Lf(e[0]);for(let o=1;o<e.length;o++){let a=Lf(e[o]);if(a==0||s<=a){s=a;continue}let u=o-1;for(;;){let l=e[u+1];if(e[u+1]=e[u],e[u]=l,!u||(s=Lf(e[--u]),s<=a))break}s=Lf(e[o])}}return e}function kse(r){let e=[],t=[],n=-1,i=0;for(let s of r){let o=Lf(s),a=nC(s);if(n==-1)o==0?n=a:e.push(a);else if(i>0&&i>=o)o==0?(e.push(n,...t),t.length=0,n=a):t.push(a),i=o;else{let u=Sse(n,a);u>=0?n=u:i==0&&o==0?(e.push(n),n=a):(t.push(a),i=o)}}return n>=0&&e.push(n,...t),e}function oC(r){return sC(r).map(nC)}function Tse(r){return kse(sC(r))}const Cx=45,aC=".",cC=65039,uC=1,rp=r=>Array.from(r);function kh(r,e){return r.P.has(e)||r.Q.has(e)}class Ose extends Array{get is_emoji(){return!0}}let yw,lC,Ca,mw,fC,wu,s1,Xc,ya,Bx,ww;function m_(){if(yw)return;let r=QN(cse);const e=()=>Rh(r),t=()=>new Set(e()),n=(h,g)=>g.forEach(b=>h.add(b));yw=new Map(YN(r)),lC=t(),Ca=e(),mw=new Set(e().map(h=>Ca[h])),Ca=new Set(Ca),fC=t(),t();let i=JN(r),s=r();const o=()=>{let h=new Set;return e().forEach(g=>n(h,i[g])),n(h,e()),h};wu=Ih(h=>{let g=Ih(r).map(b=>b+96);if(g.length){let b=h>=s;g[0]-=32,g=Il(g),b&&(g=`Restricted[${g}]`);let w=o(),I=o(),S=!r();return{N:g,P:w,Q:I,M:S,R:b}}}),s1=t(),Xc=new Map;let a=e().concat(rp(s1)).sort((h,g)=>h-g);a.forEach((h,g)=>{let b=r(),w=a[g]=b?a[g-b]:{V:[],M:new Map};w.V.push(h),s1.has(h)||Xc.set(h,w)});for(let{V:h,M:g}of new Set(Xc.values())){let b=[];for(let I of h){let S=wu.filter(C=>kh(C,I)),x=b.find(({G:C})=>S.some(H=>C.has(H)));x||(x={G:new Set,V:[]},b.push(x)),x.V.push(I),n(x.G,S)}let w=b.flatMap(I=>rp(I.G));for(let{G:I,V:S}of b){let x=new Set(w.filter(C=>!I.has(C)));for(let C of S)g.set(C,x)}}ya=new Set;let u=new Set;const l=h=>ya.has(h)?u.add(h):ya.add(h);for(let h of wu){for(let g of h.P)l(g);for(let g of h.Q)l(g)}for(let h of ya)!Xc.has(h)&&!u.has(h)&&Xc.set(h,uC);n(ya,oC(ya)),Bx=yse(r).map(h=>Ose.from(h)).sort(bse),ww=new Map;for(let h of Bx){let g=[ww];for(let b of h){let w=g.map(I=>{let S=I.get(b);return S||(S=new Map,I.set(b,S)),S});b===cC?g.push(...w):g=w}for(let b of g)b.V=h}}function w_(r){return(hC(r)?"":`${b_(gg([r]))} `)+eC(r)}function b_(r){return`"${r}"‎`}function Nse(r){if(r.length>=4&&r[2]==Cx&&r[3]==Cx)throw new Error(`invalid label extension: "${Il(r.slice(0,4))}"`)}function Cse(r){for(let t=r.lastIndexOf(95);t>0;)if(r[--t]!==95)throw new Error("underscore allowed only at start")}function Bse(r){let e=r[0],t=Tx.get(e);if(t)throw jf(`leading ${t}`);let n=r.length,i=-1;for(let s=1;s<n;s++){e=r[s];let o=Tx.get(e);if(o){if(i==s)throw jf(`${t} + ${o}`);i=s+1,t=o}}if(i==n)throw jf(`trailing ${t}`)}function gg(r,e=1/0,t=eC){let n=[];Pse(r[0])&&n.push("◌"),r.length>e&&(e>>=1,r=[...r.slice(0,e),8230,...r.slice(-e)]);let i=0,s=r.length;for(let o=0;o<s;o++){let a=r[o];hC(a)&&(n.push(Il(r.slice(i,o))),n.push(t(a)),i=o+1)}return n.push(Il(r.slice(i,s))),n.join("")}function Pse(r){return m_(),Ca.has(r)}function hC(r){return m_(),fC.has(r)}function Mse(r){return $se(Lse(r,Tse,zse))}function Lse(r,e,t){if(!r)return[];m_();let n=0;return r.split(aC).map(i=>{let s=wse(i),o={input:s,offset:n};n+=s.length+1;try{let a=o.tokens=Hse(s,e,t),u=a.length,l;if(!u)throw new Error("empty label");let h=o.output=a.flat();if(Cse(h),!(o.emoji=u>1||a[0].is_emoji)&&h.every(b=>b<128))Nse(h),l="ASCII";else{let b=a.flatMap(w=>w.is_emoji?[]:w);if(!b.length)l="Emoji";else{if(Ca.has(h[0]))throw jf("leading combining mark");for(let S=1;S<u;S++){let x=a[S];if(!x.is_emoji&&Ca.has(x[0]))throw jf(`emoji + combining mark: "${Il(a[S-1])} + ${gg([x[0]])}"`)}Bse(h);let w=rp(new Set(b)),[I]=Dse(w);Fse(I,b),Use(I,w),l=I.N}}o.type=l}catch(a){o.error=a}return o})}function Use(r,e){let t,n=[];for(let i of e){let s=Xc.get(i);if(s===uC)return;if(s){let o=s.M.get(i);if(t=t?t.filter(a=>o.has(a)):rp(o),!t.length)return}else n.push(i)}if(t){for(let i of t)if(n.every(s=>kh(i,s)))throw new Error(`whole-script confusable: ${r.N}/${i.N}`)}}function Dse(r){let e=wu;for(let t of r){let n=e.filter(i=>kh(i,t));if(!n.length)throw wu.some(i=>kh(i,t))?pC(e[0],t):dC(t);if(e=n,n.length==1)break}return e}function $se(r){return r.map(({input:e,error:t,output:n})=>{if(t){let i=t.message;throw new Error(r.length==1?i:`Invalid label ${b_(gg(e,63))}: ${i}`)}return Il(n)}).join(aC)}function dC(r){return new Error(`disallowed character: ${w_(r)}`)}function pC(r,e){let t=w_(e),n=wu.find(i=>i.P.has(e));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${r.N} + ${t}`)}function jf(r){return new Error(`illegal placement: ${r}`)}function Fse(r,e){for(let t of e)if(!kh(r,t))throw pC(r,t);if(r.M){let t=oC(e);for(let n=1,i=t.length;n<i;n++)if(mw.has(t[n])){let s=n+1;for(let o;s<i&&mw.has(o=t[s]);s++)for(let a=n;a<s;a++)if(t[a]==o)throw new Error(`duplicate non-spacing marks: ${w_(o)}`);if(s-n>Ox)throw new Error(`excessive non-spacing marks: ${b_(gg(t.slice(n-1,s)))} (${s-n}/${Ox})`);n=s}}}function Hse(r,e,t){let n=[],i=[];for(r=r.slice().reverse();r.length;){let s=Gse(r);if(s)i.length&&(n.push(e(i)),i=[]),n.push(t(s));else{let o=r.pop();if(ya.has(o))i.push(o);else{let a=yw.get(o);if(a)i.push(...a);else if(!lC.has(o))throw dC(o)}}}return i.length&&n.push(e(i)),n}function zse(r){return r.filter(e=>e!=cC)}function Gse(r,e){let t=ww,n,i=r.length;for(;i&&(t=t.get(r[--i]),!!t);){let{V:s}=t;s&&(n=s,r.length=i)}return n}const gC=new Uint8Array(32);gC.fill(0);function Px(r){return q(r.length!==0,"invalid ENS name; empty component","comp",r),r}function yC(r){const e=Js(Kse(r)),t=[];if(r.length===0)return t;let n=0;for(let i=0;i<e.length;i++)e[i]===46&&(t.push(Px(e.slice(n,i))),n=i+1);return q(n<e.length,"invalid ENS name; empty component","name",r),t.push(Px(e.slice(n))),t}function Kse(r){try{if(r.length===0)throw new Error("empty label");return Mse(r)}catch(e){q(!1,`invalid ENS name (${e.message})`,"name",r)}}function bw(r){q(typeof r=="string","invalid ENS name; not a string","name",r),q(r.length,"invalid ENS name (empty label)","name",r);let e=gC;const t=yC(r);for(;t.length;)e=Tr(Ir([e,Tr(t.pop())]));return Ce(e)}function Wse(r,e){const t=e;return q(t<=255,"DNS encoded label cannot exceed 255","length",t),Ce(Ir(yC(r).map(n=>{q(n.length<=t,`label ${JSON.stringify(r)} exceeds ${t} bytes`,"name",r);const i=new Uint8Array(n.length+1);return i.set(n,1),i[0]=i.length-1,i})))+"00"}function o1(r,e){return{address:Pt(r),storageKeys:e.map((t,n)=>(q(zt(t,32),"invalid slot",`storageKeys[${n}]`,t),t.toLowerCase()))}}function Pc(r){if(Array.isArray(r))return r.map((t,n)=>Array.isArray(t)?(q(t.length===2,"invalid slot set",`value[${n}]`,t),o1(t[0],t[1])):(q(t!=null&&typeof t=="object","invalid address-slot set","value",r),o1(t.address,t.storageKeys)));q(r!=null&&typeof r=="object","invalid access list","value",r);const e=Object.keys(r).map(t=>{const n=r[t].reduce((i,s)=>(i[s]=!0,i),{});return o1(t,Object.keys(n).sort())});return e.sort((t,n)=>t.address.localeCompare(n.address)),e}function jse(r){let e;return typeof r=="string"?e=xh.computePublicKey(r,!1):e=r.publicKey,Pt(Tr("0x"+e.substring(4)).substring(26))}function Vse(r,e){return jse(xh.recoverPublicKey(r,e))}const $r=BigInt(0),qse=BigInt(2),Zse=BigInt(27),Qse=BigInt(28),Jse=BigInt(35),Yse=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),a1=4096*32;function Mx(r,e){let t=r.toString(16);for(;t.length<2;)t="0"+t;return t+=jl(e).substring(4),"0x"+t}function yg(r){return r==="0x"?null:Pt(r)}function __(r,e){try{return Pc(r)}catch(t){q(!1,t.message,e,r)}}function md(r,e){return r==="0x"?0:ct(r,e)}function Rr(r,e){if(r==="0x")return $r;const t=Me(r,e);return q(t<=Yse,"value exceeds uint size",e,t),t}function Wt(r,e){const t=Me(r,"value"),n=mn(t);return q(n.length<=32,"value too large",`tx.${e}`,t),n}function A_(r){return Pc(r).map(e=>[e.address,e.storageKeys])}function Xse(r,e){q(Array.isArray(r),`invalid ${e}`,"value",r);for(let t=0;t<r.length;t++)q(zt(r[t],32),"invalid ${ param } hash",`value[${t}]`,r[t]);return r}function eoe(r){const e=fg(r);q(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",r);const t={type:0,nonce:md(e[0],"nonce"),gasPrice:Rr(e[1],"gasPrice"),gasLimit:Rr(e[2],"gasLimit"),to:yg(e[3]),value:Rr(e[4],"value"),data:Ce(e[5]),chainId:$r};if(e.length===6)return t;const n=Rr(e[6],"v"),i=Rr(e[7],"r"),s=Rr(e[8],"s");if(i===$r&&s===$r)t.chainId=n;else{let o=(n-Jse)/qse;o<$r&&(o=$r),t.chainId=o,q(o!==$r||n===Zse||n===Qse,"non-canonical legacy v","v",e[6]),t.signature=Ni.from({r:bc(e[7],32),s:bc(e[8],32),v:n})}return t}function toe(r,e){const t=[Wt(r.nonce,"nonce"),Wt(r.gasPrice||0,"gasPrice"),Wt(r.gasLimit,"gasLimit"),r.to||"0x",Wt(r.value,"value"),r.data];let n=$r;if(r.chainId!=$r)n=Me(r.chainId,"tx.chainId"),q(!e||e.networkV==null||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(r.signature){const s=r.signature.legacyChainId;s!=null&&(n=s)}if(!e)return n!==$r&&(t.push(mn(n)),t.push("0x"),t.push("0x")),_c(t);let i=BigInt(27+e.yParity);return n!==$r?i=Ni.getChainIdV(n,e.v):BigInt(e.v)!==i&&q(!1,"tx.chainId/sig.v mismatch","sig",e),t.push(mn(i)),t.push(mn(e.r)),t.push(mn(e.s)),_c(t)}function v_(r,e){let t;try{if(t=md(e[0],"yParity"),t!==0&&t!==1)throw new Error("bad yParity")}catch{q(!1,"invalid yParity","yParity",e[0])}const n=bc(e[1],32),i=bc(e[2],32),s=Ni.from({r:n,s:i,yParity:t});r.signature=s}function roe(r){const e=fg(wt(r).slice(1));q(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",Ce(r));const t={type:2,chainId:Rr(e[0],"chainId"),nonce:md(e[1],"nonce"),maxPriorityFeePerGas:Rr(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Rr(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Rr(e[4],"gasLimit"),to:yg(e[5]),value:Rr(e[6],"value"),data:Ce(e[7]),accessList:__(e[8],"accessList")};return e.length===9||v_(t,e.slice(9)),t}function noe(r,e){const t=[Wt(r.chainId,"chainId"),Wt(r.nonce,"nonce"),Wt(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Wt(r.maxFeePerGas||0,"maxFeePerGas"),Wt(r.gasLimit,"gasLimit"),r.to||"0x",Wt(r.value,"value"),r.data,A_(r.accessList||[])];return e&&(t.push(Wt(e.yParity,"yParity")),t.push(mn(e.r)),t.push(mn(e.s))),Ir(["0x02",_c(t)])}function ioe(r){const e=fg(wt(r).slice(1));q(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",Ce(r));const t={type:1,chainId:Rr(e[0],"chainId"),nonce:md(e[1],"nonce"),gasPrice:Rr(e[2],"gasPrice"),gasLimit:Rr(e[3],"gasLimit"),to:yg(e[4]),value:Rr(e[5],"value"),data:Ce(e[6]),accessList:__(e[7],"accessList")};return e.length===8||v_(t,e.slice(8)),t}function soe(r,e){const t=[Wt(r.chainId,"chainId"),Wt(r.nonce,"nonce"),Wt(r.gasPrice||0,"gasPrice"),Wt(r.gasLimit,"gasLimit"),r.to||"0x",Wt(r.value,"value"),r.data,A_(r.accessList||[])];return e&&(t.push(Wt(e.yParity,"recoveryParam")),t.push(mn(e.r)),t.push(mn(e.s))),Ir(["0x01",_c(t)])}function ooe(r){let e=fg(wt(r).slice(1)),t="3",n=null;if(e.length===4&&Array.isArray(e[0])){t="3 (network format)";const s=e[1],o=e[2],a=e[3];q(Array.isArray(s),"invalid network format: blobs not an array","fields[1]",s),q(Array.isArray(o),"invalid network format: commitments not an array","fields[2]",o),q(Array.isArray(a),"invalid network format: proofs not an array","fields[3]",a),q(s.length===o.length,"invalid network format: blobs/commitments length mismatch","fields",e),q(s.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",e),n=[];for(let u=0;u<e[1].length;u++)n.push({data:s[u],commitment:o[u],proof:a[u]});e=e[0]}q(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${t}`,"data",Ce(r));const i={type:3,chainId:Rr(e[0],"chainId"),nonce:md(e[1],"nonce"),maxPriorityFeePerGas:Rr(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Rr(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Rr(e[4],"gasLimit"),to:yg(e[5]),value:Rr(e[6],"value"),data:Ce(e[7]),accessList:__(e[8],"accessList"),maxFeePerBlobGas:Rr(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};n&&(i.blobs=n),q(i.to!=null,`invalid address for transaction type: ${t}`,"data",r),q(Array.isArray(i.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",r);for(let s=0;s<i.blobVersionedHashes.length;s++)q(zt(i.blobVersionedHashes[s],32),`invalid blobVersionedHash at index ${s}: must be length 32`,"data",r);return e.length===11||v_(i,e.slice(11)),i}function aoe(r,e,t){const n=[Wt(r.chainId,"chainId"),Wt(r.nonce,"nonce"),Wt(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Wt(r.maxFeePerGas||0,"maxFeePerGas"),Wt(r.gasLimit,"gasLimit"),r.to||Eh,Wt(r.value,"value"),r.data,A_(r.accessList||[]),Wt(r.maxFeePerBlobGas||0,"maxFeePerBlobGas"),Xse(r.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(n.push(Wt(e.yParity,"yParity")),n.push(mn(e.r)),n.push(mn(e.s)),t)?Ir(["0x03",_c([n,t.map(i=>i.data),t.map(i=>i.commitment),t.map(i=>i.proof)])]):Ir(["0x03",_c(n)])}var Hi,Cu,Bu,Pu,Mu,Lu,Uu,Du,$u,Fu,Hu,zu,Wa,Io,Ms,So,Gu,d0;const Rs=class Rs{constructor(){se(this,Gu);se(this,Hi);se(this,Cu);se(this,Bu);se(this,Pu);se(this,Mu);se(this,Lu);se(this,Uu);se(this,Du);se(this,$u);se(this,Fu);se(this,Hu);se(this,zu);se(this,Wa);se(this,Io);se(this,Ms);se(this,So);F(this,Hi,null),F(this,Cu,null),F(this,Pu,0),F(this,Mu,$r),F(this,Lu,null),F(this,Uu,null),F(this,Du,null),F(this,Bu,"0x"),F(this,$u,$r),F(this,Fu,$r),F(this,Hu,null),F(this,zu,null),F(this,Wa,null),F(this,Io,null),F(this,So,null),F(this,Ms,null)}get type(){return T(this,Hi)}set type(e){switch(e){case null:F(this,Hi,null);break;case 0:case"legacy":F(this,Hi,0);break;case 1:case"berlin":case"eip-2930":F(this,Hi,1);break;case 2:case"london":case"eip-1559":F(this,Hi,2);break;case 3:case"cancun":case"eip-4844":F(this,Hi,3);break;default:q(!1,"unsupported transaction type","type",e)}}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 e=T(this,Cu);return e==null&&this.type===3?Eh:e}set to(e){F(this,Cu,e==null?null:Pt(e))}get nonce(){return T(this,Pu)}set nonce(e){F(this,Pu,ct(e,"value"))}get gasLimit(){return T(this,Mu)}set gasLimit(e){F(this,Mu,Me(e))}get gasPrice(){const e=T(this,Lu);return e==null&&(this.type===0||this.type===1)?$r:e}set gasPrice(e){F(this,Lu,e==null?null:Me(e,"gasPrice"))}get maxPriorityFeePerGas(){const e=T(this,Uu);return e??(this.type===2||this.type===3?$r:null)}set maxPriorityFeePerGas(e){F(this,Uu,e==null?null:Me(e,"maxPriorityFeePerGas"))}get maxFeePerGas(){const e=T(this,Du);return e??(this.type===2||this.type===3?$r:null)}set maxFeePerGas(e){F(this,Du,e==null?null:Me(e,"maxFeePerGas"))}get data(){return T(this,Bu)}set data(e){F(this,Bu,Ce(e))}get value(){return T(this,$u)}set value(e){F(this,$u,Me(e,"value"))}get chainId(){return T(this,Fu)}set chainId(e){F(this,Fu,Me(e))}get signature(){return T(this,Hu)||null}set signature(e){F(this,Hu,e==null?null:Ni.from(e))}get accessList(){const e=T(this,zu)||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){F(this,zu,e==null?null:Pc(e))}get maxFeePerBlobGas(){const e=T(this,Wa);return e==null&&this.type===3?$r:e}set maxFeePerBlobGas(e){F(this,Wa,e==null?null:Me(e,"maxFeePerBlobGas"))}get blobVersionedHashes(){let e=T(this,Io);return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){q(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let t=0;t<e.length;t++)q(zt(e[t],32),"invalid blobVersionedHash",`value[${t}]`,e[t])}F(this,Io,e)}get blobs(){return T(this,So)==null?null:T(this,So).map(e=>Object.assign({},e))}set blobs(e){if(e==null){F(this,So,null);return}const t=[],n=[];for(let i=0;i<e.length;i++){const s=e[i];if(o_(s)){pe(T(this,Ms),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=wt(s);if(q(o.length<=a1,"blob is too large",`blobs[${i}]`,s),o.length!==a1){const l=new Uint8Array(a1);l.set(o),o=l}const a=T(this,Ms).blobToKzgCommitment(o),u=Ce(T(this,Ms).computeBlobKzgProof(o,a));t.push({data:Ce(o),commitment:Ce(a),proof:u}),n.push(Mx(1,a))}else{const o=Ce(s.commitment);t.push({data:Ce(s.data),commitment:o,proof:Ce(s.proof)}),n.push(Mx(1,o))}}F(this,So,t),F(this,Io,n)}get kzg(){return T(this,Ms)}set kzg(e){F(this,Ms,e)}get hash(){return this.signature==null?null:Tr(Ee(this,Gu,d0).call(this,!0,!1))}get unsignedHash(){return Tr(this.unsignedSerialized)}get from(){return this.signature==null?null:Vse(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:xh.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return Ee(this,Gu,d0).call(this,!0,!0)}get unsignedSerialized(){return Ee(this,Gu,d0).call(this,!1,!1)}inferType(){const e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){const e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,i=T(this,Wa)!=null||T(this,Io);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&pe(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),pe(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),pe(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const s=[];return this.type!=null?s.push(this.type):t?s.push(2):e?(s.push(1),n||s.push(0)):n?(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 Rs.from(this)}toJSON(){const e=t=>t==null?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new Rs;if(typeof e=="string"){const n=wt(e);if(n[0]>=127)return Rs.from(eoe(n));switch(n[0]){case 1:return Rs.from(ioe(n));case 2:return Rs.from(roe(n));case 3:return Rs.from(ooe(n))}pe(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const t=new Rs;return e.type!=null&&(t.type=e.type),e.to!=null&&(t.to=e.to),e.nonce!=null&&(t.nonce=e.nonce),e.gasLimit!=null&&(t.gasLimit=e.gasLimit),e.gasPrice!=null&&(t.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(t.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(t.data=e.data),e.value!=null&&(t.value=e.value),e.chainId!=null&&(t.chainId=e.chainId),e.signature!=null&&(t.signature=Ni.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(t.kzg=e.kzg),e.blobs!=null&&(t.blobs=e.blobs),e.hash!=null&&(q(t.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),q(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(q(t.isSigned(),"unsigned transaction cannot define '.from'","tx",e),q(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}};Hi=new WeakMap,Cu=new WeakMap,Bu=new WeakMap,Pu=new WeakMap,Mu=new WeakMap,Lu=new WeakMap,Uu=new WeakMap,Du=new WeakMap,$u=new WeakMap,Fu=new WeakMap,Hu=new WeakMap,zu=new WeakMap,Wa=new WeakMap,Io=new WeakMap,Ms=new WeakMap,So=new WeakMap,Gu=new WeakSet,d0=function(e,t){pe(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});const n=e?this.signature:null;switch(this.inferType()){case 0:return toe(this,n);case 1:return soe(this,n);case 2:return noe(this,n);case 3:return aoe(this,n,t?this.blobs:null)}pe(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};let np=Rs;const mC=new Uint8Array(32);mC.fill(0);const coe=BigInt(-1),wC=BigInt(0),bC=BigInt(1),uoe=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function loe(r){const e=wt(r),t=e.length%32;return t?Ir([e,mC.slice(t)]):Ce(e)}const foe=sa(bC,32),hoe=sa(wC,32),Lx={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},c1=["name","version","chainId","verifyingContract","salt"];function Ux(r){return function(e){return q(typeof e=="string",`invalid domain value for ${JSON.stringify(r)}`,`domain.${r}`,e),e}}const doe={name:Ux("name"),version:Ux("version"),chainId:function(r){const e=Me(r,"domain.chainId");return q(e>=0,"invalid chain ID","domain.chainId",r),Number.isSafeInteger(e)?Number(e):cu(e)},verifyingContract:function(r){try{return Pt(r).toLowerCase()}catch{}q(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",r)},salt:function(r){const e=wt(r,"domain.salt");return q(e.length===32,'invalid domain value "salt"',"domain.salt",r),Ce(e)}};function u1(r){{const e=r.match(/^(u?)int(\d+)$/);if(e){const t=e[1]==="",n=parseInt(e[2]);q(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",r);const i=Pf(uoe,t?n-1:n),s=t?(i+bC)*coe:wC;return function(o){const a=Me(o,"value");return q(a>=s&&a<=i,`value out-of-bounds for ${r}`,"value",a),sa(t?oN(a,256):a,32)}}}{const e=r.match(/^bytes(\d+)$/);if(e){const t=parseInt(e[1]);return q(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",r),function(n){const i=wt(n);return q(i.length===t,`invalid length for ${r}`,"value",n),loe(n)}}}switch(r){case"address":return function(e){return bc(Pt(e),32)};case"bool":return function(e){return e?foe:hoe};case"bytes":return function(e){return Tr(e)};case"string":return function(e){return Ac(e)}}return null}function Dx(r,e){return`${r}(${e.map(({name:t,type:n})=>n+" "+t).join(",")})`}function r0(r){const e=r.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:r}}var Mh,Ls,Ku,lp,_C;const Xn=class Xn{constructor(e){se(this,lp);Q(this,"primaryType");se(this,Mh);se(this,Ls);se(this,Ku);F(this,Ls,new Map),F(this,Ku,new Map);const t=new Map,n=new Map,i=new Map,s={};Object.keys(e).forEach(u=>{s[u]=e[u].map(({name:l,type:h})=>{let{base:g,index:b}=r0(h);return g==="int"&&!e.int&&(g="int256"),g==="uint"&&!e.uint&&(g="uint256"),{name:l,type:g+(b||"")}}),t.set(u,new Set),n.set(u,[]),i.set(u,new Set)}),F(this,Mh,JSON.stringify(s));for(const u in s){const l=new Set;for(const h of s[u]){q(!l.has(h.name),`duplicate variable name ${JSON.stringify(h.name)} in ${JSON.stringify(u)}`,"types",e),l.add(h.name);const g=r0(h.type).base;q(g!==u,`circular type reference to ${JSON.stringify(g)}`,"types",e),!u1(g)&&(q(n.has(g),`unknown type ${JSON.stringify(g)}`,"types",e),n.get(g).push(u),t.get(u).add(g))}}const o=Array.from(n.keys()).filter(u=>n.get(u).length===0);q(o.length!==0,"missing primary type","types",e),q(o.length===1,`ambiguous primary types or unused types: ${o.map(u=>JSON.stringify(u)).join(", ")}`,"types",e),ze(this,{primaryType:o[0]});function a(u,l){q(!l.has(u),`circular type reference to ${JSON.stringify(u)}`,"types",e),l.add(u);for(const h of t.get(u))if(n.has(h)){a(h,l);for(const g of l)i.get(g).add(h)}l.delete(u)}a(this.primaryType,new Set);for(const[u,l]of i){const h=Array.from(l);h.sort(),T(this,Ls).set(u,Dx(u,s[u])+h.map(g=>Dx(g,s[g])).join(""))}}get types(){return JSON.parse(T(this,Mh))}getEncoder(e){let t=T(this,Ku).get(e);return t||(t=Ee(this,lp,_C).call(this,e),T(this,Ku).set(e,t)),t}encodeType(e){const t=T(this,Ls).get(e);return q(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return Tr(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(u1(e))return n(e,t);const i=r0(e).array;if(i)return q(i.count===-1||i.count===t.length,`array length mismatch; expected length ${i.count}`,"value",t),t.map(o=>this._visit(i.prefix,o,n));const s=this.types[e];if(s)return s.reduce((o,{name:a,type:u})=>(o[a]=this._visit(u,t[a],n),o),{});q(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new Xn(e)}static getPrimaryType(e){return Xn.from(e).primaryType}static hashStruct(e,t,n){return Xn.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){if(e[n]==null)continue;const i=Lx[n];q(i,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:i})}return t.sort((n,i)=>c1.indexOf(n.name)-c1.indexOf(i.name)),Xn.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return Ir(["0x1901",Xn.hashDomain(e),Xn.from(t).hash(n)])}static hash(e,t,n){return Tr(Xn.encode(e,t,n))}static async resolveNames(e,t,n,i){e=Object.assign({},e);for(const a in e)e[a]==null&&delete e[a];const s={};e.verifyingContract&&!zt(e.verifyingContract,20)&&(s[e.verifyingContract]="0x");const o=Xn.from(t);o.visit(n,(a,u)=>(a==="address"&&!zt(u,20)&&(s[u]="0x"),u));for(const a in s)s[a]=await i(a);return e.verifyingContract&&s[e.verifyingContract]&&(e.verifyingContract=s[e.verifyingContract]),n=o.visit(n,(a,u)=>a==="address"&&s[u]?s[u]:u),{domain:e,value:n}}static getPayload(e,t,n){Xn.hashDomain(e);const i={},s=[];c1.forEach(u=>{const l=e[u];l!=null&&(i[u]=doe[u](l),s.push({name:u,type:Lx[u]}))});const o=Xn.from(t);t=o.types;const a=Object.assign({},t);return q(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),a.EIP712Domain=s,o.encode(n),{types:a,domain:i,primaryType:o.primaryType,message:o.visit(n,(u,l)=>{if(u.match(/^bytes(\d*)/))return Ce(wt(l));if(u.match(/^u?int/))return Me(l).toString();switch(u){case"address":return l.toLowerCase();case"bool":return!!l;case"string":return q(typeof l=="string","invalid string","value",l),l}q(!1,"unsupported type","type",u)})}}};Mh=new WeakMap,Ls=new WeakMap,Ku=new WeakMap,lp=new WeakSet,_C=function(e){{const i=u1(e);if(i)return i}const t=r0(e).array;if(t){const i=t.prefix,s=this.getEncoder(i);return o=>{q(t.count===-1||t.count===o.length,`array length mismatch; expected length ${t.count}`,"value",o);let a=o.map(s);return T(this,Ls).has(i)&&(a=a.map(Tr)),Tr(Ir(a))}}const n=this.types[e];if(n){const i=Ac(T(this,Ls).get(e));return s=>{const o=n.map(({name:a,type:u})=>{const l=this.getEncoder(u)(s[a]);return T(this,Ls).has(u)?Tr(l):l});return o.unshift(i),Ir(o)}}q(!1,`unknown type: ${e}`,"type",e)};let ip=Xn;function _n(r){const e=new Set;return r.forEach(t=>e.add(t)),Object.freeze(e)}const poe="external public payable override",goe=_n(poe.split(" ")),AC="constant external internal payable private public pure view override",yoe=_n(AC.split(" ")),vC="constructor error event fallback function receive struct",EC=_n(vC.split(" ")),xC="calldata memory storage payable indexed",moe=_n(xC.split(" ")),woe="tuple returns",boe=[vC,xC,woe,AC].join(" "),_oe=_n(boe.split(" ")),Aoe={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},voe=new RegExp("^(\\s*)"),Eoe=new RegExp("^([0-9]+)"),xoe=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),RC=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),IC=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var Wr,_i,Lh,_w;const fp=class fp{constructor(e){se(this,Lh);se(this,Wr);se(this,_i);F(this,Wr,0),F(this,_i,e.slice())}get offset(){return T(this,Wr)}get length(){return T(this,_i).length-T(this,Wr)}clone(){return new fp(T(this,_i))}reset(){F(this,Wr,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){const t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=Ee(this,Lh,_w).call(this,T(this,Wr)+1,e.match+1);return F(this,Wr,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;T(this,Wr)<e.match-1;){const n=this.peek().linkNext;t.push(Ee(this,Lh,_w).call(this,T(this,Wr)+1,n)),F(this,Wr,n)}return F(this,Wr,e.match+1),t}peek(){if(T(this,Wr)>=T(this,_i).length)throw new Error("out-of-bounds");return T(this,_i)[T(this,Wr)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return Af(this,Wr)._++,e}toString(){const e=[];for(let t=T(this,Wr);t<T(this,_i).length;t++){const n=T(this,_i)[t];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(" ")}>`}};Wr=new WeakMap,_i=new WeakMap,Lh=new WeakSet,_w=function(e=0,t=0){return new fp(T(this,_i).slice(e,t).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))};let Ci=fp;function ca(r){const e=[],t=o=>{const a=s<r.length?JSON.stringify(r[s]):"$EOI";throw new Error(`invalid token ${a} at ${s}: ${o}`)};let n=[],i=[],s=0;for(;s<r.length;){let o=r.substring(s),a=o.match(voe);a&&(s+=a[1].length,o=r.substring(s));const u={depth:n.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:s,value:-1};e.push(u);let l=Aoe[o[0]]||"";if(l){if(u.type=l,u.text=o[0],s++,l==="OPEN_PAREN")n.push(e.length-1),i.push(e.length-1);else if(l=="CLOSE_PAREN")n.length===0&&t("no matching open bracket"),u.match=n.pop(),e[u.match].match=e.length-1,u.depth--,u.linkBack=i.pop(),e[u.linkBack].linkNext=e.length-1;else if(l==="COMMA")u.linkBack=i.pop(),e[u.linkBack].linkNext=e.length-1,i.push(e.length-1);else if(l==="OPEN_BRACKET")u.type="BRACKET";else if(l==="CLOSE_BRACKET"){let h=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const g=e.pop().text;h=g+h,e[e.length-1].value=ct(g)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=h}continue}if(a=o.match(xoe),a){if(u.text=a[1],s+=u.text.length,_oe.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(IC)){u.type="TYPE";continue}u.type="ID";continue}if(a=o.match(Eoe),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 Ci(e.map(o=>Object.freeze(o)))}function $x(r,e){let t=[];for(const n in e.keys())r.has(n)&&t.push(n);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function mg(r,e){if(e.peekKeyword(EC)){const t=e.pop().text;if(t!==r)throw new Error(`expected ${r}, got ${t}`)}return e.popType("ID")}function ro(r,e){const t=new Set;for(;;){const n=r.peekType("KEYWORD");if(n==null||e&&!e.has(n))break;if(r.pop(),t.has(n))throw new Error(`duplicate keywords: ${JSON.stringify(n)}`);t.add(n)}return Object.freeze(t)}function SC(r){let e=ro(r,yoe);return $x(e,_n("constant payable nonpayable".split(" "))),$x(e,_n("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function Ys(r,e){return r.popParams().map(t=>Yr.from(t,e))}function kC(r){if(r.peekType("AT")){if(r.pop(),r.peekType("NUMBER"))return Me(r.pop().text);throw new Error("invalid gas")}return null}function vc(r){if(r.length)throw new Error(`unexpected tokens at offset ${r.offset}: ${r.toString()}`)}const Roe=new RegExp(/^(.*)\[([0-9]*)\]$/);function Fx(r){const e=r.match(IC);if(q(e,"invalid type","type",r),r==="uint")return"uint256";if(r==="int")return"int256";if(e[2]){const t=parseInt(e[2]);q(t!==0&&t<=32,"invalid bytes length","type",r)}else if(e[3]){const t=parseInt(e[3]);q(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",r)}return r}const sr={},Pn=Symbol.for("_ethers_internal"),Hx="_ParamTypeInternal",zx="_ErrorInternal",Gx="_EventInternal",Kx="_ConstructorInternal",Wx="_FallbackInternal",jx="_FunctionInternal",Vx="_StructInternal";var Wu,p0;const ei=class ei{constructor(e,t,n,i,s,o,a,u){se(this,Wu);Q(this,"name");Q(this,"type");Q(this,"baseType");Q(this,"indexed");Q(this,"components");Q(this,"arrayLength");Q(this,"arrayChildren");if(cg(e,sr,"ParamType"),Object.defineProperty(this,Pn,{value:Hx}),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("");ze(this,{name:t,type:n,baseType:i,indexed:s,components:o,arrayLength:a,arrayChildren:u})}format(e){if(e==null&&(e="sighash"),e==="json"){const n=this.name||"";if(this.isArray()){const s=JSON.parse(this.arrayChildren.format("json"));return s.name=n,s.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(s)}const i={type:this.baseType==="tuple"?"tuple":this.type,name:n};return typeof this.indexed=="boolean"&&(i.indexed=this.indexed),this.isTuple()&&(i.components=this.components.map(s=>JSON.parse(s.format(e)))),JSON.stringify(i)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(n=>n.format(e)).join(e==="full"?", ":",")+")":t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){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 n=this;return e.map(i=>n.arrayChildren.walk(i,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const n=this;return e.map((i,s)=>n.components[s].walk(i,t))}return t(this.type,e)}async walkAsync(e,t){const n=[],i=[e];return Ee(this,Wu,p0).call(this,n,e,t,s=>{i[0]=s}),n.length&&await Promise.all(n),i[0]}static from(e,t){if(ei.isParamType(e))return e;if(typeof e=="string")try{return ei.from(ca(e),t)}catch{q(!1,"invalid param type","obj",e)}else if(e instanceof Ci){let a="",u="",l=null;ro(e,_n(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(u="tuple",l=e.popParams().map(S=>ei.from(S)),a=`tuple(${l.map(S=>S.format()).join(",")})`):(a=Fx(e.popType("TYPE")),u=a);let h=null,g=null;for(;e.length&&e.peekType("BRACKET");){const S=e.pop();h=new ei(sr,"",a,u,null,l,g,h),g=S.value,a+=S.text,u="array",l=null}let b=null;if(ro(e,moe).has("indexed")){if(!t)throw new Error("");b=!0}const I=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new ei(sr,I,a,u,b,l,g,h)}const n=e.name;q(!n||typeof n=="string"&&n.match(RC),"invalid name","obj.name",n);let i=e.indexed;i!=null&&(q(t,"parameter cannot be indexed","obj.indexed",e.indexed),i=!!i);let s=e.type,o=s.match(Roe);if(o){const a=parseInt(o[2]||"-1"),u=ei.from({type:o[1],components:e.components});return new ei(sr,n||"",s,"array",i,null,a,u)}if(s==="tuple"||s.startsWith("tuple(")||s.startsWith("(")){const a=e.components!=null?e.components.map(l=>ei.from(l)):null;return new ei(sr,n||"",s,"tuple",i,a,null,null)}return s=Fx(e.type),new ei(sr,n||"",s,s,i,null,null,null)}static isParamType(e){return e&&e[Pn]===Hx}};Wu=new WeakSet,p0=function(e,t,n,i){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 o=this.arrayChildren,a=t.slice();a.forEach((u,l)=>{var h;Ee(h=o,Wu,p0).call(h,e,u,n,g=>{a[l]=g})}),i(a);return}if(this.isTuple()){const o=this.components;let a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="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 t))throw new Error(`missing value for component ${u.name}`);return t[u.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((u,l)=>{var h;Ee(h=o[l],Wu,p0).call(h,e,u,n,g=>{a[l]=g})}),i(a);return}const s=n(this.type,t);s.then?e.push(async function(){i(await s)}()):i(s)};let Yr=ei;class Ec{constructor(e,t,n){Q(this,"type");Q(this,"inputs");cg(e,sr,"Fragment"),n=Object.freeze(n.slice()),ze(this,{type:t,inputs:n})}static from(e){if(typeof e=="string"){try{Ec.from(JSON.parse(e))}catch{}return Ec.from(ca(e))}if(e instanceof Ci)switch(e.peekKeyword(EC)){case"constructor":return Zs.from(e);case"error":return Tn.from(e);case"event":return ts.from(e);case"fallback":case"receive":return Os.from(e);case"function":return rs.from(e);case"struct":return ac.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Zs.from(e);case"error":return Tn.from(e);case"event":return ts.from(e);case"fallback":case"receive":return Os.from(e);case"function":return rs.from(e);case"struct":return ac.from(e)}pe(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}q(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Zs.isFragment(e)}static isError(e){return Tn.isFragment(e)}static isEvent(e){return ts.isFragment(e)}static isFunction(e){return rs.isFragment(e)}static isStruct(e){return ac.isFragment(e)}}class wg extends Ec{constructor(t,n,i,s){super(t,n,s);Q(this,"name");q(typeof i=="string"&&i.match(RC),"invalid identifier","name",i),s=Object.freeze(s.slice()),ze(this,{name:i})}}function Th(r,e){return"("+e.map(t=>t.format(r)).join(r==="full"?", ":",")+")"}class Tn extends wg{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,Pn,{value:zx})}get selector(){return Ac(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+Th(e,this.inputs)),t.join(" ")}static from(e){if(Tn.isFragment(e))return e;if(typeof e=="string")return Tn.from(ca(e));if(e instanceof Ci){const t=mg("error",e),n=Ys(e);return vc(e),new Tn(sr,t,n)}return new Tn(sr,e.name,e.inputs?e.inputs.map(Yr.from):[])}static isFragment(e){return e&&e[Pn]===zx}}class ts extends wg{constructor(t,n,i,s){super(t,"event",n,i);Q(this,"anonymous");Object.defineProperty(this,Pn,{value:Gx}),ze(this,{anonymous:s})}get topicHash(){return Ac(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});const n=[];return t!=="sighash"&&n.push("event"),n.push(this.name+Th(t,this.inputs)),t!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(t,n){return n=(n||[]).map(s=>Yr.from(s)),new ts(sr,t,n,!1).topicHash}static from(t){if(ts.isFragment(t))return t;if(typeof t=="string")try{return ts.from(ca(t))}catch{q(!1,"invalid event fragment","obj",t)}else if(t instanceof Ci){const n=mg("event",t),i=Ys(t,!0),s=!!ro(t,_n(["anonymous"])).has("anonymous");return vc(t),new ts(sr,n,i,s)}return new ts(sr,t.name,t.inputs?t.inputs.map(n=>Yr.from(n,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[Pn]===Gx}}class Zs extends Ec{constructor(t,n,i,s,o){super(t,n,i);Q(this,"payable");Q(this,"gas");Object.defineProperty(this,Pn,{value:Kx}),ze(this,{payable:s,gas:o})}format(t){if(pe(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="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(t)))});const n=[`constructor${Th(t,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(t){if(Zs.isFragment(t))return t;if(typeof t=="string")try{return Zs.from(ca(t))}catch{q(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof Ci){ro(t,_n(["constructor"]));const n=Ys(t),i=!!ro(t,goe).has("payable"),s=kC(t);return vc(t),new Zs(sr,"constructor",n,i,s)}return new Zs(sr,"constructor",t.inputs?t.inputs.map(Yr.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[Pn]===Kx}}class Os extends Ec{constructor(t,n,i){super(t,"fallback",n);Q(this,"payable");Object.defineProperty(this,Pn,{value:Wx}),ze(this,{payable:i})}format(t){const n=this.inputs.length===0?"receive":"fallback";if(t==="json"){const i=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:i})}return`${n}()${this.payable?" payable":""}`}static from(t){if(Os.isFragment(t))return t;if(typeof t=="string")try{return Os.from(ca(t))}catch{q(!1,"invalid fallback fragment","obj",t)}else if(t instanceof Ci){const n=t.toString(),i=t.peekKeyword(_n(["fallback","receive"]));if(q(i,"type must be fallback or receive","obj",n),t.popKeyword(_n(["fallback","receive"]))==="receive"){const u=Ys(t);return q(u.length===0,"receive cannot have arguments","obj.inputs",u),ro(t,_n(["payable"])),vc(t),new Os(sr,[],!0)}let o=Ys(t);o.length?q(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(u=>u.format("minimal")).join(", ")):o=[Yr.from("bytes")];const a=SC(t);if(q(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),ro(t,_n(["returns"])).has("returns")){const u=Ys(t);q(u.length===1&&u[0].type==="bytes","invalid fallback outputs","obj.outputs",u.map(l=>l.format("minimal")).join(", "))}return vc(t),new Os(sr,o,a==="payable")}if(t.type==="receive")return new Os(sr,[],!0);if(t.type==="fallback"){const n=[Yr.from("bytes")],i=t.stateMutability==="payable";return new Os(sr,n,i)}q(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[Pn]===Wx}}class rs extends wg{constructor(t,n,i,s,o,a){super(t,"function",n,s);Q(this,"constant");Q(this,"outputs");Q(this,"stateMutability");Q(this,"payable");Q(this,"gas");Object.defineProperty(this,Pn,{value:jx}),o=Object.freeze(o.slice()),ze(this,{constant:i==="view"||i==="pure",gas:a,outputs:o,payable:i==="payable",stateMutability:i})}get selector(){return Ac(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="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(t))),outputs:this.outputs.map(i=>JSON.parse(i.format(t)))});const n=[];return t!=="sighash"&&n.push("function"),n.push(this.name+Th(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(Th(t,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(t,n){return n=(n||[]).map(s=>Yr.from(s)),new rs(sr,t,"view",n,[],null).selector}static from(t){if(rs.isFragment(t))return t;if(typeof t=="string")try{return rs.from(ca(t))}catch{q(!1,"invalid function fragment","obj",t)}else if(t instanceof Ci){const i=mg("function",t),s=Ys(t),o=SC(t);let a=[];ro(t,_n(["returns"])).has("returns")&&(a=Ys(t));const u=kC(t);return vc(t),new rs(sr,i,o,s,a,u)}let n=t.stateMutability;return n==null&&(n="payable",typeof t.constant=="boolean"?(n="view",t.constant||(n="payable",typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable")),new rs(sr,t.name,n,t.inputs?t.inputs.map(Yr.from):[],t.outputs?t.outputs.map(Yr.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[Pn]===jx}}class ac extends wg{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,Pn,{value:Vx})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return ac.from(ca(e))}catch{q(!1,"invalid struct fragment","obj",e)}else if(e instanceof Ci){const t=mg("struct",e),n=Ys(e);return vc(e),new ac(sr,t,n)}return new ac(sr,e.name,e.inputs?e.inputs.map(Yr.from):[])}static isFragment(e){return e&&e[Pn]===Vx}}const Pi=new Map;Pi.set(0,"GENERIC_PANIC");Pi.set(1,"ASSERT_FALSE");Pi.set(17,"OVERFLOW");Pi.set(18,"DIVIDE_BY_ZERO");Pi.set(33,"ENUM_RANGE_ERROR");Pi.set(34,"BAD_STORAGE_DATA");Pi.set(49,"STACK_UNDERFLOW");Pi.set(50,"ARRAY_RANGE_ERROR");Pi.set(65,"OUT_OF_MEMORY");Pi.set(81,"UNINITIALIZED_FUNCTION_CALL");const Ioe=new RegExp(/^bytes([0-9]*)$/),Soe=new RegExp(/^(u?int)([0-9]*)$/);let l1=null,qx=1024;function koe(r,e,t,n){let i="missing revert data",s=null;const o=null;let a=null;if(t){i="execution reverted";const l=wt(t);if(t=Ce(t),l.length===0)i+=" (no data present; likely require(false) occurred",s="require(false)";else if(l.length%32!==4)i+=" (could not decode reason; invalid data length)";else if(Ce(l.slice(0,4))==="0x08c379a0")try{s=n.decode(["string"],l.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(Ce(l.slice(0,4))==="0x4e487b71")try{const h=Number(n.decode(["uint256"],l.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[h]},s=`Panic due to ${Pi.get(h)||"UNKNOWN"}(${h})`,i+=`: ${s}`}catch{i+=" (could not decode panic code)"}else i+=" (unknown custom error)"}const u={to:e.to?Pt(e.to):null,data:e.data||"0x"};return e.from&&(u.from=Pt(e.from)),Zt(i,"CALL_EXCEPTION",{action:r,data:t,reason:s,transaction:u,invocation:o,revert:a})}var ko,eu;const hp=class hp{constructor(){se(this,ko)}getDefaultValue(e){const t=e.map(i=>Ee(this,ko,eu).call(this,Yr.from(i)));return new t0(t,"_").defaultValue()}encode(e,t){nN(t.length,e.length,"types/values length mismatch");const n=e.map(o=>Ee(this,ko,eu).call(this,Yr.from(o))),i=new t0(n,"_"),s=new ow;return i.encode(s,t),s.data}decode(e,t,n){const i=e.map(o=>Ee(this,ko,eu).call(this,Yr.from(o)));return new t0(i,"_").decode(new aw(t,n,qx))}static _setDefaultMaxInflation(e){q(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),qx=e}static defaultAbiCoder(){return l1==null&&(l1=new hp),l1}static getBuiltinCallException(e,t,n){return koe(e,t,n,hp.defaultAbiCoder())}};ko=new WeakSet,eu=function(e){if(e.isArray())return new Jie(Ee(this,ko,eu).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new t0(e.components.map(n=>Ee(this,ko,eu).call(this,n)),e.name);switch(e.baseType){case"address":return new Zie(e.name);case"bool":return new Yie(e.name);case"string":return new ase(e.name);case"bytes":return new Xie(e.name);case"":return new rse(e.name)}let t=e.type.match(Soe);if(t){let n=parseInt(t[2]||"256");return q(n!==0&&n<=256&&n%8===0,"invalid "+t[1]+" bit length","param",e),new ose(n/8,t[1]==="int",e.name)}if(t=e.type.match(Ioe),t){let n=parseInt(t[1]);return q(n!==0&&n<=32,"invalid bytes length","param",e),new ese(n,e.name)}q(!1,"invalid type","type",e.type)};let Oh=hp;class Toe{constructor(e,t,n){Q(this,"fragment");Q(this,"name");Q(this,"signature");Q(this,"topic");Q(this,"args");const i=e.name,s=e.format();ze(this,{fragment:e,name:i,signature:s,topic:t,args:n})}}class Ooe{constructor(e,t,n,i){Q(this,"fragment");Q(this,"name");Q(this,"args");Q(this,"signature");Q(this,"selector");Q(this,"value");const s=e.name,o=e.format();ze(this,{fragment:e,name:s,args:n,signature:o,selector:t,value:i})}}class Noe{constructor(e,t,n){Q(this,"fragment");Q(this,"name");Q(this,"args");Q(this,"signature");Q(this,"selector");const i=e.name,s=e.format();ze(this,{fragment:e,name:i,args:n,signature:s,selector:t})}}class Zx{constructor(e){Q(this,"hash");Q(this,"_isIndexed");ze(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const Qx={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"},Jx={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:r=>`reverted with reason string ${JSON.stringify(r)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:r=>{let e="unknown panic code";return r>=0&&r<=255&&Qx[r.toString()]&&(e=Qx[r.toString()]),`reverted with panic code 0x${r.toString(16)} (${e})`}}};var zi,Gi,Ki,on,us,g0,y0;const xa=class xa{constructor(e){se(this,us);Q(this,"fragments");Q(this,"deploy");Q(this,"fallback");Q(this,"receive");se(this,zi);se(this,Gi);se(this,Ki);se(this,on);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,F(this,Ki,new Map),F(this,zi,new Map),F(this,Gi,new Map);const n=[];for(const o of t)try{n.push(Ec.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}ze(this,{fragments:Object.freeze(n)});let i=null,s=!1;F(this,on,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let u;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}ze(this,{deploy:o});return;case"fallback":o.inputs.length===0?s=!0:(q(!i||o.payable!==i.payable,"conflicting fallback fragments",`fragments[${a}]`,o),i=o,s=i.payable);return;case"function":u=T(this,Ki);break;case"event":u=T(this,Gi);break;case"error":u=T(this,zi);break;default:return}const l=o.format();u.has(l)||u.set(l,o)}),this.deploy||ze(this,{deploy:Zs.from("constructor()")}),ze(this,{fallback:i,receive:s})}format(e){const t=e?"minimal":"full";return this.fragments.map(i=>i.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Oh.defaultAbiCoder()}getFunctionName(e){const t=Ee(this,us,g0).call(this,e,null,!1);return q(t,"no matching function","key",e),t.name}hasFunction(e){return!!Ee(this,us,g0).call(this,e,null,!1)}getFunction(e,t){return Ee(this,us,g0).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(T(this,Ki).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;n<t.length;n++){const i=t[n];e(T(this,Ki).get(i),n)}}getEventName(e){const t=Ee(this,us,y0).call(this,e,null,!1);return q(t,"no matching event","key",e),t.name}hasEvent(e){return!!Ee(this,us,y0).call(this,e,null,!1)}getEvent(e,t){return Ee(this,us,y0).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(T(this,Gi).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;n<t.length;n++){const i=t[n];e(T(this,Gi).get(i),n)}}getError(e,t){if(zt(e)){const i=e.toLowerCase();if(Jx[i])return Tn.from(Jx[i].signature);for(const s of T(this,zi).values())if(i===s.selector)return s;return null}if(e.indexOf("(")===-1){const i=[];for(const[s,o]of T(this,zi))s.split("(")[0]===e&&i.push(o);if(i.length===0)return e==="Error"?Tn.from("error Error(string)"):e==="Panic"?Tn.from("error Panic(uint256)"):null;if(i.length>1){const s=i.map(o=>JSON.stringify(o.format())).join(", ");q(!1,`ambiguous error description (i.e. ${s})`,"name",e)}return i[0]}if(e=Tn.from(e).format(),e==="Error(string)")return Tn.from("error Error(string)");if(e==="Panic(uint256)")return Tn.from("error Panic(uint256)");const n=T(this,zi).get(e);return n||null}forEachError(e){const t=Array.from(T(this,zi).keys());t.sort((n,i)=>n.localeCompare(i));for(let n=0;n<t.length;n++){const i=t[n];e(T(this,zi).get(i),n)}}_decodeParams(e,t){return T(this,on).decode(e,t)}_encodeParams(e,t){return T(this,on).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const n=this.getError(e);q(n,"unknown error","fragment",e),e=n}return q(_r(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,_r(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const n=this.getError(e);q(n,"unknown error","fragment",e),e=n}return Ir([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const n=this.getFunction(e);q(n,"unknown function","fragment",e),e=n}return q(_r(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,_r(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const n=this.getFunction(e);q(n,"unknown function","fragment",e),e=n}return Ir([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const s=this.getFunction(e);q(s,"unknown function","fragment",e),e=s}let n="invalid length for result data";const i=pn(t);if(i.length%32===0)try{return T(this,on).decode(e.outputs,i)}catch{n="could not decode result data"}pe(!1,n,"BAD_DATA",{value:Ce(i),info:{method:e.name,signature:e.format()}})}makeError(e,t){const n=wt(e,"data"),i=Oh.getBuiltinCallException("call",t,n);if(i.message.startsWith("execution reverted (unknown custom error)")){const a=Ce(n.slice(0,4)),u=this.getError(a);if(u)try{const l=T(this,on).decode(u.inputs,n.slice(4));i.revert={name:u.name,signature:u.format(),args:l},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(t);return o&&(i.invocation={method:o.name,signature:o.signature,args:o.args}),i}encodeFunctionResult(e,t){if(typeof e=="string"){const n=this.getFunction(e);q(n,"unknown function","fragment",e),e=n}return Ce(T(this,on).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const s=this.getEvent(e);q(s,"unknown event","eventFragment",e),e=s}pe(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});const n=[];e.anonymous||n.push(e.topicHash);const i=(s,o)=>s.type==="string"?Ac(o):s.type==="bytes"?Tr(Ce(o)):(s.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":s.type.match(/^u?int/)?o=sa(o):s.type.match(/^bytes/)?o=rne(o,32):s.type==="address"&&T(this,on).encode(["address"],[o]),bc(Ce(o),32));for(t.forEach((s,o)=>{const a=e.inputs[o];if(!a.indexed){q(s==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,s);return}s==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?q(!1,"filtering with tuples or arrays not supported","contract."+a.name,s):Array.isArray(s)?n.push(s.map(u=>i(a,u))):n.push(i(a,s))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,t){if(typeof e=="string"){const o=this.getEvent(e);q(o,"unknown event","eventFragment",e),e=o}const n=[],i=[],s=[];return e.anonymous||n.push(e.topicHash),q(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{const u=t[a];if(o.indexed)if(o.type==="string")n.push(Ac(u));else if(o.type==="bytes")n.push(Tr(u));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(T(this,on).encode([o.type],[u]))}else i.push(o),s.push(u)}),{data:T(this,on).encode(i,s),topics:n}}decodeEventLog(e,t,n){if(typeof e=="string"){const w=this.getEvent(e);q(w,"unknown event","eventFragment",e),e=w}if(n!=null&&!e.anonymous){const w=e.topicHash;q(zt(n[0],32)&&n[0].toLowerCase()===w,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}const i=[],s=[],o=[];e.inputs.forEach((w,I)=>{w.indexed?w.type==="string"||w.type==="bytes"||w.baseType==="tuple"||w.baseType==="array"?(i.push(Yr.from({type:"bytes32",name:w.name})),o.push(!0)):(i.push(w),o.push(!1)):(s.push(w),o.push(!1))});const a=n!=null?T(this,on).decode(i,Ir(n)):null,u=T(this,on).decode(s,t,!0),l=[],h=[];let g=0,b=0;return e.inputs.forEach((w,I)=>{let S=null;if(w.indexed)if(a==null)S=new Zx(null);else if(o[I])S=new Zx(a[b++]);else try{S=a[b++]}catch(x){S=x}else try{S=u[g++]}catch(x){S=x}l.push(S),h.push(w.name||null)}),Al.fromItems(l,h)}parseTransaction(e){const t=wt(e.data,"tx.data"),n=Me(e.value!=null?e.value:0,"tx.value"),i=this.getFunction(Ce(t.slice(0,4)));if(!i)return null;const s=T(this,on).decode(i.inputs,t.slice(4));return new Ooe(i,i.selector,s,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new Toe(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=Ce(e),n=this.getError(_r(t,0,4));if(!n)return null;const i=T(this,on).decode(n.inputs,_r(t,4));return new Noe(n,n.selector,i)}static from(e){return e instanceof xa?e:typeof e=="string"?new xa(JSON.parse(e)):typeof e.formatJson=="function"?new xa(e.formatJson()):typeof e.format=="function"?new xa(e.format("json")):new xa(e)}};zi=new WeakMap,Gi=new WeakMap,Ki=new WeakMap,on=new WeakMap,us=new WeakSet,g0=function(e,t,n){if(zt(e)){const s=e.toLowerCase();for(const o of T(this,Ki).values())if(s===o.selector)return o;return null}if(e.indexOf("(")===-1){const s=[];for(const[o,a]of T(this,Ki))o.split("(")[0]===e&&s.push(a);if(t){const o=t.length>0?t[t.length-1]:null;let a=t.length,u=!0;ln.isTyped(o)&&o.type==="overrides"&&(u=!1,a--);for(let l=s.length-1;l>=0;l--){const h=s[l].inputs.length;h!==a&&(!u||h!==a-1)&&s.splice(l,1)}for(let l=s.length-1;l>=0;l--){const h=s[l].inputs;for(let g=0;g<t.length;g++)if(ln.isTyped(t[g])){if(g>=h.length){if(t[g].type==="overrides")continue;s.splice(l,1);break}if(t[g].type!==h[g].baseType){s.splice(l,1);break}}}}if(s.length===1&&t&&t.length!==s[0].inputs.length){const o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&s.splice(0,1)}if(s.length===0)return null;if(s.length>1&&n){const o=s.map(a=>JSON.stringify(a.format())).join(", ");q(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return s[0]}const i=T(this,Ki).get(rs.from(e).format());return i||null},y0=function(e,t,n){if(zt(e)){const s=e.toLowerCase();for(const o of T(this,Gi).values())if(s===o.topicHash)return o;return null}if(e.indexOf("(")===-1){const s=[];for(const[o,a]of T(this,Gi))o.split("(")[0]===e&&s.push(a);if(t){for(let o=s.length-1;o>=0;o--)s[o].inputs.length<t.length&&s.splice(o,1);for(let o=s.length-1;o>=0;o--){const a=s[o].inputs;for(let u=0;u<t.length;u++)if(ln.isTyped(t[u])&&t[u].type!==a[u].baseType){s.splice(o,1);break}}}if(s.length===0)return null;if(s.length>1&&n){const o=s.map(a=>JSON.stringify(a.format())).join(", ");q(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return s[0]}const i=T(this,Gi).get(ts.from(e).format());return i||null};let Aw=xa;const TC=BigInt(0);function bu(r){return r??null}function Er(r){return r==null?null:r.toString()}class Yx{constructor(e,t,n){Q(this,"gasPrice");Q(this,"maxFeePerGas");Q(this,"maxPriorityFeePerGas");ze(this,{gasPrice:bu(e),maxFeePerGas:bu(t),maxPriorityFeePerGas:bu(n)})}toJSON(){const{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:Er(e),maxFeePerGas:Er(t),maxPriorityFeePerGas:Er(n)}}}function sp(r){const e={};r.to&&(e.to=r.to),r.from&&(e.from=r.from),r.data&&(e.data=Ce(r.data));const t="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const i of t)!(i in r)||r[i]==null||(e[i]=Me(r[i],`request.${i}`));const n="type,nonce".split(/,/);for(const i of n)!(i in r)||r[i]==null||(e[i]=ct(r[i],`request.${i}`));return r.accessList&&(e.accessList=Pc(r.accessList)),"blockTag"in r&&(e.blockTag=r.blockTag),"enableCcipRead"in r&&(e.enableCcipRead=!!r.enableCcipRead),"customData"in r&&(e.customData=r.customData),"blobVersionedHashes"in r&&r.blobVersionedHashes&&(e.blobVersionedHashes=r.blobVersionedHashes.slice()),"kzg"in r&&(e.kzg=r.kzg),"blobs"in r&&r.blobs&&(e.blobs=r.blobs.map(i=>o_(i)?Ce(i):Object.assign({},i))),e}var Us;class Coe{constructor(e,t){Q(this,"provider");Q(this,"number");Q(this,"hash");Q(this,"timestamp");Q(this,"parentHash");Q(this,"parentBeaconBlockRoot");Q(this,"nonce");Q(this,"difficulty");Q(this,"gasLimit");Q(this,"gasUsed");Q(this,"stateRoot");Q(this,"receiptsRoot");Q(this,"blobGasUsed");Q(this,"excessBlobGas");Q(this,"miner");Q(this,"prevRandao");Q(this,"extraData");Q(this,"baseFeePerGas");se(this,Us);F(this,Us,e.transactions.map(n=>typeof n!="string"?new Nh(n,t):n)),ze(this,{provider:t,hash:bu(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:bu(e.prevRandao),extraData:e.extraData,baseFeePerGas:bu(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return T(this,Us).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){const e=T(this,Us).slice();return e.length===0?[]:(pe(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){const{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:i,gasUsed:s,hash:o,miner:a,prevRandao:u,nonce:l,number:h,parentHash:g,parentBeaconBlockRoot:b,stateRoot:w,receiptsRoot:I,timestamp:S,transactions:x}=this;return{_type:"Block",baseFeePerGas:Er(e),difficulty:Er(t),extraData:n,gasLimit:Er(i),gasUsed:Er(s),blobGasUsed:Er(this.blobGasUsed),excessBlobGas:Er(this.excessBlobGas),hash:o,miner:a,prevRandao:u,nonce:l,number:h,parentHash:g,timestamp:S,parentBeaconBlockRoot:b,stateRoot:w,receiptsRoot:I,transactions:x}}[Symbol.iterator](){let e=0;const t=this.transactions;return{next:()=>e<this.length?{value:t[e++],done:!1}:{value:void 0,done:!0}}}get length(){return T(this,Us).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let t;if(typeof e=="number")t=T(this,Us)[e];else{const n=e.toLowerCase();for(const i of T(this,Us))if(typeof i=="string"){if(i!==n)continue;t=i;break}else{if(i.hash!==n)continue;t=i;break}}if(t==null)throw new Error("no such tx");return typeof t=="string"?await this.provider.getTransaction(t):t}getPrefetchedTransaction(e){const t=this.prefetchedTransactions;if(typeof e=="number")return t[e];e=e.toLowerCase();for(const n of t)if(n.hash===e)return n;q(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return Boe(this)}}Us=new WeakMap;class wd{constructor(e,t){Q(this,"provider");Q(this,"transactionHash");Q(this,"blockHash");Q(this,"blockNumber");Q(this,"removed");Q(this,"address");Q(this,"data");Q(this,"topics");Q(this,"index");Q(this,"transactionIndex");this.provider=t;const n=Object.freeze(e.topics.slice());ze(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:n,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:t,blockNumber:n,data:i,index:s,removed:o,topics:a,transactionHash:u,transactionIndex:l}=this;return{_type:"log",address:e,blockHash:t,blockNumber:n,data:i,index:s,removed:o,topics:a,transactionHash:u,transactionIndex:l}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return pe(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return pe(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return pe(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return Poe(this)}}var Uh;class OC{constructor(e,t){Q(this,"provider");Q(this,"to");Q(this,"from");Q(this,"contractAddress");Q(this,"hash");Q(this,"index");Q(this,"blockHash");Q(this,"blockNumber");Q(this,"logsBloom");Q(this,"gasUsed");Q(this,"blobGasUsed");Q(this,"cumulativeGasUsed");Q(this,"gasPrice");Q(this,"blobGasPrice");Q(this,"type");Q(this,"status");Q(this,"root");se(this,Uh);F(this,Uh,Object.freeze(e.logs.map(i=>new wd(i,t))));let n=TC;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),ze(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return T(this,Uh)}toJSON(){const{to:e,from:t,contractAddress:n,hash:i,index:s,blockHash:o,blockNumber:a,logsBloom:u,logs:l,status:h,root:g}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:n,cumulativeGasUsed:Er(this.cumulativeGasUsed),from:t,gasPrice:Er(this.gasPrice),blobGasUsed:Er(this.blobGasUsed),blobGasPrice:Er(this.blobGasPrice),gasUsed:Er(this.gasUsed),hash:i,index:s,logs:l,logsBloom:u,root:g,status:h,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return CC(this)}reorderedEvent(e){return pe(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),NC(this,e)}}Uh=new WeakMap;var To;const N_=class N_{constructor(e,t){Q(this,"provider");Q(this,"blockNumber");Q(this,"blockHash");Q(this,"index");Q(this,"hash");Q(this,"type");Q(this,"to");Q(this,"from");Q(this,"nonce");Q(this,"gasLimit");Q(this,"gasPrice");Q(this,"maxPriorityFeePerGas");Q(this,"maxFeePerGas");Q(this,"maxFeePerBlobGas");Q(this,"data");Q(this,"value");Q(this,"chainId");Q(this,"signature");Q(this,"accessList");Q(this,"blobVersionedHashes");se(this,To);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.maxFeePerBlobGas=e.maxFeePerBlobGas!=null?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,this.blobVersionedHashes=e.blobVersionedHashes!=null?e.blobVersionedHashes:null,F(this,To,-1)}toJSON(){const{blockNumber:e,blockHash:t,index:n,hash:i,type:s,to:o,from:a,nonce:u,data:l,signature:h,accessList:g,blobVersionedHashes:b}=this;return{_type:"TransactionResponse",accessList:g,blockNumber:e,blockHash:t,blobVersionedHashes:b,chainId:Er(this.chainId),data:l,from:a,gasLimit:Er(this.gasLimit),gasPrice:Er(this.gasPrice),hash:i,maxFeePerGas:Er(this.maxFeePerGas),maxPriorityFeePerGas:Er(this.maxPriorityFeePerGas),maxFeePerBlobGas:Er(this.maxFeePerBlobGas),nonce:u,signature:h,to:o,index:n,type:s,value:Er(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const n=await this.getTransaction();n&&(e=n.blockNumber)}if(e==null)return null;const t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){const{tx:t,blockNumber:n}=await dn({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return t==null||t.blockNumber==null?0:n-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,t){const n=e??1,i=t??0;let s=T(this,To),o=-1,a=s===-1;const u=async()=>{if(a)return null;const{blockNumber:b,nonce:w}=await dn({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(w<this.nonce){s=b;return}if(a)return null;const I=await this.getTransaction();if(!(I&&I.blockNumber!=null))for(o===-1&&(o=s-3,o<T(this,To)&&(o=T(this,To)));o<=b;){if(a)return null;const S=await this.provider.getBlock(o,!0);if(S==null)return;for(const x of S)if(x===this.hash)return;for(let x=0;x<S.length;x++){const C=await S.getTransaction(x);if(C.from===this.from&&C.nonce===this.nonce){if(a)return null;const H=await this.provider.getTransactionReceipt(C.hash);if(H==null||b-H.blockNumber+1<n)return;let D="replaced";C.data===this.data&&C.to===this.to&&C.value===this.value?D="repriced":C.data==="0x"&&C.from===C.to&&C.value===TC&&(D="cancelled"),pe(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:D==="replaced"||D==="cancelled",reason:D,replacement:C.replaceableTransaction(s),hash:C.hash,receipt:H})}}o++}},l=b=>{if(b==null||b.status!==0)return b;pe(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:b.to,from:b.from,data:""},receipt:b})},h=await this.provider.getTransactionReceipt(this.hash);if(n===0)return l(h);if(h){if(await h.confirmations()>=n)return l(h)}else if(await u(),n===0)return null;return await new Promise((b,w)=>{const I=[],S=()=>{I.forEach(C=>C())};if(I.push(()=>{a=!0}),i>0){const C=setTimeout(()=>{S(),w(Zt("wait for transaction timeout","TIMEOUT"))},i);I.push(()=>{clearTimeout(C)})}const x=async C=>{if(await C.confirmations()>=n){S();try{b(l(C))}catch(H){w(H)}}};if(I.push(()=>{this.provider.off(this.hash,x)}),this.provider.on(this.hash,x),s>=0){const C=async()=>{try{await u()}catch(H){if(Zr(H,"TRANSACTION_REPLACED")){S(),w(H);return}}a||this.provider.once("block",C)};I.push(()=>{this.provider.off("block",C)}),this.provider.once("block",C)}})}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 pe(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),CC(this)}reorderedEvent(e){return pe(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),pe(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),NC(this,e)}replaceableTransaction(e){q(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new N_(this,this.provider);return F(t,To,e),t}};To=new WeakMap;let Nh=N_;function Boe(r){return{orphan:"drop-block",hash:r.hash,number:r.number}}function NC(r,e){return{orphan:"reorder-transaction",tx:r,other:e}}function CC(r){return{orphan:"drop-transaction",tx:r}}function Poe(r){return{orphan:"drop-log",log:{transactionHash:r.transactionHash,blockHash:r.blockHash,blockNumber:r.blockNumber,address:r.address,data:r.data,topics:Object.freeze(r.topics.slice()),index:r.index}}}class E_ extends wd{constructor(t,n,i){super(t,t.provider);Q(this,"interface");Q(this,"fragment");Q(this,"args");const s=n.decodeEventLog(i,t.data,t.topics);ze(this,{args:s,fragment:i,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class BC extends wd{constructor(t,n){super(t,t.provider);Q(this,"error");ze(this,{error:n})}}var ju;class Moe extends OC{constructor(t,n,i){super(i,n);se(this,ju);F(this,ju,t)}get logs(){return super.logs.map(t=>{const n=t.topics.length?T(this,ju).getEvent(t.topics[0]):null;if(n)try{return new E_(t,T(this,ju),n)}catch(i){return new BC(t,i)}return t})}}ju=new WeakMap;var Dh;class x_ extends Nh{constructor(t,n,i){super(i,n);se(this,Dh);F(this,Dh,t)}async wait(t,n){const i=await super.wait(t,n);return i==null?null:new Moe(T(this,Dh),this.provider,i)}}Dh=new WeakMap;class PC extends aN{constructor(t,n,i,s){super(t,n,i);Q(this,"log");ze(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 Loe extends PC{constructor(e,t,n,i,s){super(e,t,n,new E_(s,e.interface,i));const o=e.interface.decodeEventLog(i,this.log.data,this.log.topics);ze(this,{args:o,fragment:i})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const Xx=BigInt(0);function MC(r){return r&&typeof r.call=="function"}function LC(r){return r&&typeof r.estimateGas=="function"}function bg(r){return r&&typeof r.resolveName=="function"}function UC(r){return r&&typeof r.sendTransaction=="function"}function DC(r){if(r!=null){if(bg(r))return r;if(r.provider)return r.provider}}var $h;class Uoe{constructor(e,t,n){se(this,$h);Q(this,"fragment");if(ze(this,{fragment:t}),t.inputs.length<n.length)throw new Error("too many arguments");const i=xc(e.runner,"resolveName"),s=bg(i)?i:null;F(this,$h,async function(){const o=await Promise.all(t.inputs.map((a,u)=>n[u]==null?null:a.walkAsync(n[u],(h,g)=>h==="address"?Array.isArray(g)?Promise.all(g.map(b=>bn(b,s))):bn(g,s):g)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return T(this,$h)}}$h=new WeakMap;function xc(r,e){return r==null?null:typeof r[e]=="function"?r:r.provider&&typeof r.provider[e]=="function"?r.provider:null}function Ba(r){return r==null?null:r.provider||null}async function $C(r,e){const t=ln.dereference(r,"overrides");q(typeof t=="object","invalid overrides parameter","overrides",r);const n=sp(t);return q(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),q(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function Doe(r,e,t){const n=xc(r,"resolveName"),i=bg(n)?n:null;return await Promise.all(e.map((s,o)=>s.walkAsync(t[o],(a,u)=>(u=ln.dereference(u,a),a==="address"?bn(u,i):u))))}function $oe(r){const e=async function(o){const a=await $C(o,["data"]);a.to=await r.getAddress(),a.from&&(a.from=await bn(a.from,DC(r.runner)));const u=r.interface,l=Me(a.value||Xx,"overrides.value")===Xx,h=(a.data||"0x")==="0x";u.fallback&&!u.fallback.payable&&u.receive&&!h&&!l&&q(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),q(u.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data);const g=u.receive||u.fallback&&u.fallback.payable;return q(g||l,"cannot send value to non-payable fallback","overrides.value",a.value),q(u.fallback||h,"cannot send data to receive-only contract","overrides.data",a.data),a},t=async function(o){const a=xc(r.runner,"call");pe(MC(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const u=await e(o);try{return await a.call(u)}catch(l){throw s_(l)&&l.data?r.interface.makeError(l.data,u):l}},n=async function(o){const a=r.runner;pe(UC(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const u=await a.sendTransaction(await e(o)),l=Ba(r.runner);return new x_(r.interface,l,u)},i=async function(o){const a=xc(r.runner,"estimateGas");return pe(LC(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},s=async o=>await n(o);return ze(s,{_contract:r,estimateGas:i,populateTransaction:e,send:n,staticCall:t}),s}function Foe(r,e){const t=function(...l){const h=r.interface.getFunction(e,l);return pe(h,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:l}}),h},n=async function(...l){const h=t(...l);let g={};if(h.inputs.length+1===l.length&&(g=await $C(l.pop()),g.from&&(g.from=await bn(g.from,DC(r.runner)))),h.inputs.length!==l.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const b=await Doe(r.runner,h.inputs,l);return Object.assign({},g,await dn({to:r.getAddress(),data:r.interface.encodeFunctionData(h,b)}))},i=async function(...l){const h=await a(...l);return h.length===1?h[0]:h},s=async function(...l){const h=r.runner;pe(UC(h),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const g=await h.sendTransaction(await n(...l)),b=Ba(r.runner);return new x_(r.interface,b,g)},o=async function(...l){const h=xc(r.runner,"estimateGas");return pe(LC(h),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await h.estimateGas(await n(...l))},a=async function(...l){const h=xc(r.runner,"call");pe(MC(h),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const g=await n(...l);let b="0x";try{b=await h.call(g)}catch(I){throw s_(I)&&I.data?r.interface.makeError(I.data,g):I}const w=t(...l);return r.interface.decodeFunctionResult(w,b)},u=async(...l)=>t(...l).constant?await i(...l):await s(...l);return ze(u,{name:r.interface.getFunctionName(e),_contract:r,_key:e,getFragment:t,estimateGas:o,populateTransaction:n,send:s,staticCall:i,staticCallResult:a}),Object.defineProperty(u,"fragment",{configurable:!1,enumerable:!0,get:()=>{const l=r.interface.getFunction(e);return pe(l,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),l}}),u}function Hoe(r,e){const t=function(...i){const s=r.interface.getEvent(e,i);return pe(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:i}}),s},n=function(...i){return new Uoe(r,t(...i),i)};return ze(n,{name:r.interface.getEventName(e),_contract:r,_key:e,getFragment:t}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{const i=r.interface.getEvent(e);return pe(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),i}}),n}const op=Symbol.for("_ethersInternal_contract"),FC=new WeakMap;function zoe(r,e){FC.set(r[op],e)}function Fn(r){return FC.get(r[op])}function Goe(r){return r&&typeof r=="object"&&"getTopicFilter"in r&&typeof r.getTopicFilter=="function"&&r.fragment}async function R_(r,e){let t,n=null;if(Array.isArray(e)){const s=function(o){if(zt(o,32))return o;const a=r.interface.getEvent(o);return q(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(s):s(o))}else e==="*"?t=[null]:typeof e=="string"?zt(e,32)?t=[e]:(n=r.interface.getEvent(e),q(n,"unknown fragment","event",e),t=[n.topicHash]):Goe(e)?t=await e.getTopicFilter():"fragment"in e?(n=e.fragment,t=[n.topicHash]):q(!1,"unknown event name","event",e);t=t.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=t.map(s=>s==null?"null":Array.isArray(s)?s.join("|"):s).join("&");return{fragment:n,tag:i,topics:t}}async function Uf(r,e){const{subs:t}=Fn(r);return t.get((await R_(r,e)).tag)||null}async function eR(r,e,t){const n=Ba(r.runner);pe(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:i,tag:s,topics:o}=await R_(r,t),{addr:a,subs:u}=Fn(r);let l=u.get(s);if(!l){const g={address:a||r,topics:o},b=x=>{let C=i;if(C==null)try{C=r.interface.getEvent(x.topics[0])}catch{}if(C){const H=C,D=i?r.interface.decodeEventLog(i,x.data,x.topics):[];Ew(r,t,D,z=>new Loe(r,z,t,H,x))}else Ew(r,t,[],H=>new PC(r,H,t,x))};let w=[];l={tag:s,listeners:[],start:()=>{w.length||w.push(n.on(g,b))},stop:async()=>{if(w.length==0)return;let x=w;w=[],await Promise.all(x),n.off(g,b)}},u.set(s,l)}return l}let vw=Promise.resolve();async function Koe(r,e,t,n){await vw;const i=await Uf(r,e);if(!i)return!1;const s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:o,once:a})=>{const u=Array.from(t);n&&u.push(n(a?null:o));try{o.call(r,...u)}catch{}return!a}),i.listeners.length===0&&(i.stop(),Fn(r).subs.delete(i.tag)),s>0}async function Ew(r,e,t,n){try{await vw}catch{}const i=Koe(r,e,t,n);return vw=i,await i}const n0=["then"];var pR;pR=op;const Vf=class Vf{constructor(e,t,n,i){Q(this,"target");Q(this,"interface");Q(this,"runner");Q(this,"filters");Q(this,pR);Q(this,"fallback");q(typeof e=="string"||jN(e),"invalid value for Contract target","target",e),n==null&&(n=null);const s=Aw.from(t);ze(this,{target:e,runner:n,interface:s}),Object.defineProperty(this,op,{value:{}});let o,a=null,u=null;if(i){const g=Ba(n);u=new x_(this.interface,g,i)}let l=new Map;if(typeof e=="string")if(zt(e))a=e,o=Promise.resolve(e);else{const g=xc(n,"resolveName");if(!bg(g))throw Zt("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=g.resolveName(e).then(b=>{if(b==null)throw Zt("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Fn(this).addr=b,b})}else o=e.getAddress().then(g=>{if(g==null)throw new Error("TODO");return Fn(this).addr=g,g});zoe(this,{addrPromise:o,addr:a,deployTx:u,subs:l});const h=new Proxy({},{get:(g,b,w)=>{if(typeof b=="symbol"||n0.indexOf(b)>=0)return Reflect.get(g,b,w);try{return this.getEvent(b)}catch(I){if(!Zr(I,"INVALID_ARGUMENT")||I.argument!=="key")throw I}},has:(g,b)=>n0.indexOf(b)>=0?Reflect.has(g,b):Reflect.has(g,b)||this.interface.hasEvent(String(b))});return ze(this,{filters:h}),ze(this,{fallback:s.receive||s.fallback?$oe(this):null}),new Proxy(this,{get:(g,b,w)=>{if(typeof b=="symbol"||b in g||n0.indexOf(b)>=0)return Reflect.get(g,b,w);try{return g.getFunction(b)}catch(I){if(!Zr(I,"INVALID_ARGUMENT")||I.argument!=="key")throw I}},has:(g,b)=>typeof b=="symbol"||b in g||n0.indexOf(b)>=0?Reflect.has(g,b):g.interface.hasFunction(b)})}connect(e){return new Vf(this.target,this.interface,e)}attach(e){return new Vf(e,this.interface,this.runner)}async getAddress(){return await Fn(this).addrPromise}async getDeployedCode(){const e=Ba(this.runner);pe(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const n=Ba(this.runner);return pe(n!=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);n.once("block",o)}catch(a){s(a)}};o()})}deploymentTransaction(){return Fn(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),Foe(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),Hoe(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,n){t==null&&(t=0),n==null&&(n="latest");const{addr:i,addrPromise:s}=Fn(this),o=i||await s,{fragment:a,topics:u}=await R_(this,e),l={address:o,topics:u,fromBlock:t,toBlock:n},h=Ba(this.runner);return pe(h,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await h.getLogs(l)).map(g=>{let b=a;if(b==null)try{b=this.interface.getEvent(g.topics[0])}catch{}if(b)try{return new E_(g,this.interface,b)}catch(w){return new BC(g,w)}return new wd(g,h)})}async on(e,t){const n=await eR(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){const n=await eR(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await Ew(this,e,t,null)}async listenerCount(e){if(e){const i=await Uf(this,e);return i?i.listeners.length:0}const{subs:t}=Fn(this);let n=0;for(const{listeners:i}of t.values())n+=i.length;return n}async listeners(e){if(e){const i=await Uf(this,e);return i?i.listeners.map(({listener:s})=>s):[]}const{subs:t}=Fn(this);let n=[];for(const{listeners:i}of t.values())n=n.concat(i.map(({listener:s})=>s));return n}async off(e,t){const n=await Uf(this,e);if(!n)return this;if(t){const i=n.listeners.map(({listener:s})=>s).indexOf(t);i>=0&&n.listeners.splice(i,1)}return(t==null||n.listeners.length===0)&&(n.stop(),Fn(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){const t=await Uf(this,e);if(!t)return this;t.stop(),Fn(this).subs.delete(t.tag)}else{const{subs:t}=Fn(this);for(const{tag:n,stop:i}of t.values())i(),t.delete(n)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Vf{constructor(i,s=null){super(i,e,s)}}return t}static from(e,t,n){return n==null&&(n=null),new this(e,t,n)}};let xw=Vf;function Woe(){return xw}class _u extends Woe(){}function f1(r){return r.match(/^ipfs:\/\/ipfs\//i)?r=r.substring(12):r.match(/^ipfs:\/\//i)?r=r.substring(7):q(!1,"unsupported IPFS format","link",r),`https://gateway.ipfs.io/ipfs/${r}`}class joe{constructor(e){Q(this,"name");ze(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw new Error("unsupported coin")}async decodeAddress(e,t){throw new Error("unsupported coin")}}const HC=new RegExp("^(ipfs)://(.*)$","i"),tR=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),HC,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];var Oo,ja,No,tu,dp,zC;const lu=class lu{constructor(e,t,n){se(this,No);Q(this,"provider");Q(this,"address");Q(this,"name");se(this,Oo);se(this,ja);ze(this,{provider:e,address:t,name:n}),F(this,Oo,null),F(this,ja,new _u(t,["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)"],e))}async supportsWildcard(){return T(this,Oo)==null&&F(this,Oo,(async()=>{try{return await T(this,ja).supportsInterface("0x9061b923")}catch(e){if(Zr(e,"CALL_EXCEPTION"))return!1;throw F(this,Oo,null),e}})()),await T(this,Oo)}async getAddress(e){if(e==null&&(e=60),e===60)try{const s=await Ee(this,No,tu).call(this,"addr(bytes32)");return s==null||s===Eh?null:s}catch(s){if(Zr(s,"CALL_EXCEPTION"))return null;throw s}if(e>=0&&e<2147483648){let s=e+2147483648;const o=await Ee(this,No,tu).call(this,"addr(bytes32,uint)",[s]);if(zt(o,20))return Pt(o)}let t=null;for(const s of this.provider.plugins)if(s instanceof joe&&s.supportsCoinType(e)){t=s;break}if(t==null)return null;const n=await Ee(this,No,tu).call(this,"addr(bytes32,uint)",[e]);if(n==null||n==="0x")return null;const i=await t.decodeAddress(e,n);if(i!=null)return i;pe(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){const t=await Ee(this,No,tu).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){const e=await Ee(this,No,tu).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;const t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const i=t[1]==="e3010170"?"ipfs":"ipns",s=parseInt(t[4],16);if(t[5].length===s*2)return`${i}://${sne("0x"+t[2])}`}const n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;pe(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const e=[{type:"name",value:this.name}];try{const t=await this.getText("avatar");if(t==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let n=0;n<tR.length;n++){const i=t.match(tR[n]);if(i==null)continue;const s=i[1].toLowerCase();switch(s){case"https":case"data":return e.push({type:"url",value:t}),{linkage:e,url:t};case"ipfs":{const o=f1(t);return e.push({type:"ipfs",value:t}),e.push({type:"url",value:o}),{linkage:e,url:o}}case"erc721":case"erc1155":{const o=s==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:s,value:t});const a=await this.getAddress();if(a==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};const u=(i[2]||"").split("/");if(u.length!==2)return e.push({type:`!${s}caip`,value:i[2]||""}),{url:null,linkage:e};const l=u[1],h=new _u(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 S=await h.ownerOf(l);if(a!==S)return e.push({type:"!owner",value:S}),{url:null,linkage:e};e.push({type:"owner",value:S})}else if(s==="erc1155"){const S=await h.balanceOf(a,l);if(!S)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:S.toString()})}let g=await h[o](l);if(g==null||g==="0x")return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:g}),s==="erc1155"&&(g=g.replace("{id}",sa(l,32).substring(2)),e.push({type:"metadata-url-expanded",value:g})),g.match(/^ipfs:/i)&&(g=f1(g)),e.push({type:"metadata-url",value:g});let b={};const w=await new to(g).send();w.assertOk();try{b=w.bodyJson}catch{try{e.push({type:"!metadata",value:w.bodyText})}catch{const C=w.body;return C&&e.push({type:"!metadata",value:Ce(C)}),{url:null,linkage:e}}return{url:null,linkage:e}}if(!b)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(b)});let I=b.image;if(typeof I!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!I.match(/^(https:\/\/|data:)/i)){if(I.match(HC)==null)return e.push({type:"!imageUrl-ipfs",value:I}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:I}),I=f1(I)}return e.push({type:"url",value:I}),{linkage:e,url:I}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){const t=await e.getNetwork(),n=t.getPlugin("org.ethers.plugins.network.Ens");return pe(n,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:t}}),n.address}static async fromName(e,t){var i;let n=t;for(;;){if(n===""||n==="."||t!=="eth"&&n==="eth")return null;const s=await Ee(i=lu,dp,zC).call(i,e,n);if(s!=null){const o=new lu(e,s,t);return n!==t&&!await o.supportsWildcard()?null:o}n=n.split(".").slice(1).join(".")}}};Oo=new WeakMap,ja=new WeakMap,No=new WeakSet,tu=async function(e,t){t=(t||[]).slice();const n=T(this,ja).interface;t.unshift(bw(this.name));let i=null;await this.supportsWildcard()&&(i=n.getFunction(e),pe(i,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),t=[Wse(this.name,255),n.encodeFunctionData(i,t)],e="resolve(bytes,bytes)"),t.push({enableCcipRead:!0});try{const s=await T(this,ja)[e](...t);return i?n.decodeFunctionResult(i,s)[0]:s}catch(s){if(!Zr(s,"CALL_EXCEPTION"))throw s}return null},dp=new WeakSet,zC=async function(e,t){const n=await lu.getEnsAddress(e);try{const s=await new _u(n,["function resolver(bytes32) view returns (address)"],e).resolver(bw(t),{enableCcipRead:!0});return s===Eh?null:s}catch(i){throw i}return null},se(lu,dp);let ap=lu;const rR=BigInt(0);function pt(r,e){return function(t){return t==null?e:r(t)}}function _g(r,e){return t=>{if(e&&t==null)return null;if(!Array.isArray(t))throw new Error("not an array");return t.map(n=>r(n))}}function bd(r,e){return t=>{const n={};for(const i in r){let s=i;if(e&&i in e&&!(s in t)){for(const o of e[i])if(o in t){s=o;break}}try{const o=r[i](t[s]);o!==void 0&&(n[i]=o)}catch(o){const a=o instanceof Error?o.message:"not-an-error";pe(!1,`invalid value for value.${i} (${a})`,"BAD_DATA",{value:t})}}return n}}function Voe(r){switch(r){case!0:case"true":return!0;case!1:case"false":return!1}q(!1,`invalid boolean; ${JSON.stringify(r)}`,"value",r)}function kl(r){return q(zt(r,!0),"invalid data","value",r),r}function qr(r){return q(zt(r,32),"invalid hash","value",r),r}const qoe=bd({address:Pt,blockHash:qr,blockNumber:ct,data:kl,index:ct,removed:pt(Voe,!1),topics:_g(qr),transactionHash:qr,transactionIndex:ct},{index:["logIndex"]});function Zoe(r){return qoe(r)}const Qoe=bd({hash:pt(qr),parentHash:qr,parentBeaconBlockRoot:pt(qr,null),number:ct,timestamp:ct,nonce:pt(kl),difficulty:Me,gasLimit:Me,gasUsed:Me,stateRoot:pt(qr,null),receiptsRoot:pt(qr,null),blobGasUsed:pt(Me,null),excessBlobGas:pt(Me,null),miner:pt(Pt),prevRandao:pt(qr,null),extraData:kl,baseFeePerGas:pt(Me)},{prevRandao:["mixHash"]});function Joe(r){const e=Qoe(r);return e.transactions=r.transactions.map(t=>typeof t=="string"?t:GC(t)),e}const Yoe=bd({transactionIndex:ct,blockNumber:ct,transactionHash:qr,address:Pt,topics:_g(qr),data:kl,index:ct,blockHash:qr},{index:["logIndex"]});function Xoe(r){return Yoe(r)}const eae=bd({to:pt(Pt,null),from:pt(Pt,null),contractAddress:pt(Pt,null),index:ct,root:pt(Ce),gasUsed:Me,blobGasUsed:pt(Me,null),logsBloom:pt(kl),blockHash:qr,hash:qr,logs:_g(Xoe),blockNumber:ct,cumulativeGasUsed:Me,effectiveGasPrice:pt(Me),blobGasPrice:pt(Me,null),status:pt(ct),type:pt(ct,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function tae(r){return eae(r)}function GC(r){r.to&&Me(r.to)===rR&&(r.to="0x0000000000000000000000000000000000000000");const e=bd({hash:qr,index:pt(ct,void 0),type:t=>t==="0x"||t==null?0:ct(t),accessList:pt(Pc,null),blobVersionedHashes:pt(_g(qr,!0),null),blockHash:pt(qr,null),blockNumber:pt(ct,null),transactionIndex:pt(ct,null),from:Pt,gasPrice:pt(Me),maxPriorityFeePerGas:pt(Me),maxFeePerGas:pt(Me),maxFeePerBlobGas:pt(Me,null),gasLimit:Me,to:pt(Pt,null),value:Me,nonce:ct,data:kl,creates:pt(Pt,null),chainId:pt(Me,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(r);if(e.to==null&&e.creates==null&&(e.creates=qie(e)),(r.type===1||r.type===2)&&r.accessList==null&&(e.accessList=[]),r.signature?e.signature=Ni.from(r.signature):e.signature=Ni.from(r),e.chainId==null){const t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&Me(e.blockHash)===rR&&(e.blockHash=null),e}const rae="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class _d{constructor(e){Q(this,"name");ze(this,{name:e})}clone(){return new _d(this.name)}}class Ag extends _d{constructor(t,n){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);Q(this,"effectiveBlock");Q(this,"txBase");Q(this,"txCreate");Q(this,"txDataZero");Q(this,"txDataNonzero");Q(this,"txAccessListStorageKey");Q(this,"txAccessListAddress");const i={effectiveBlock:t};function s(o,a){let u=(n||{})[o];u==null&&(u=a),q(typeof u=="number",`invalud value for ${o}`,"costs",n),i[o]=u}s("txBase",21e3),s("txCreate",32e3),s("txDataZero",4),s("txDataNonzero",16),s("txAccessListStorageKey",1900),s("txAccessListAddress",2400),ze(this,i)}clone(){return new Ag(this.effectiveBlock,this)}}class vg extends _d{constructor(t,n){super("org.ethers.plugins.network.Ens");Q(this,"address");Q(this,"targetNetwork");ze(this,{address:t||rae,targetNetwork:n??1})}clone(){return new vg(this.address,this.targetNetwork)}}var Fh,Hh;class nae extends _d{constructor(t,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");se(this,Fh);se(this,Hh);F(this,Fh,t),F(this,Hh,n)}get url(){return T(this,Fh)}get processFunc(){return T(this,Hh)}clone(){return this}}Fh=new WeakMap,Hh=new WeakMap;const h1=new Map;var Vu,qu,Co;const fu=class fu{constructor(e,t){se(this,Vu);se(this,qu);se(this,Co);F(this,Vu,e),F(this,qu,Me(t)),F(this,Co,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return T(this,Vu)}set name(e){F(this,Vu,e)}get chainId(){return T(this,qu)}set chainId(e){F(this,qu,Me(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===Me(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===Me(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===Me(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(T(this,Co).values())}attachPlugin(e){if(T(this,Co).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return T(this,Co).set(e.name,e.clone()),this}getPlugin(e){return T(this,Co).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){const e=new fu(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){const t=this.getPlugin("org.ethers.plugins.network.GasCost")||new Ag;let n=t.txBase;if(e.to==null&&(n+=t.txCreate),e.data)for(let i=2;i<e.data.length;i+=2)e.data.substring(i,i+2)==="00"?n+=t.txDataZero:n+=t.txDataNonzero;if(e.accessList){const i=Pc(e.accessList);for(const s in i)n+=t.txAccessListAddress+t.txAccessListStorageKey*i[s].storageKeys.length}return n}static from(e){if(iae(),e==null)return fu.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){const t=h1.get(e);if(t)return t();if(typeof e=="bigint")return new fu("unknown",e);q(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){q(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);const t=new fu(e.name,e.chainId);return(e.ensAddress||e.ensNetwork!=null)&&t.attachPlugin(new vg(e.ensAddress,e.ensNetwork)),t}q(!1,"invalid network","network",e)}static register(e,t){typeof e=="number"&&(e=BigInt(e));const n=h1.get(e);n&&q(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",e),h1.set(e,t)}};Vu=new WeakMap,qu=new WeakMap,Co=new WeakMap;let is=fu;function nR(r,e){const t=String(r);if(!t.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${r}`);const n=t.split(".");if(n.length===1&&n.push(""),n.length!==2)throw new Error(`invalid gwei value: ${r}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let i=BigInt(n[1].substring(0,9));n[1].substring(9).match(/^0+$/)||i++,n[1]=i.toString()}return BigInt(n[0]+n[1])}function iR(r){return new nae(r,async(e,t,n)=>{n.setHeader("User-Agent","ethers");let i;try{const[s,o]=await Promise.all([n.send(),e()]);i=s;const a=i.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:nR(a.maxFee,9),maxPriorityFeePerGas:nR(a.maxPriorityFee,9)}}catch(s){pe(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:i,error:s})}})}let sR=!1;function iae(){if(sR)return;sR=!0;function r(e,t,n){const i=function(){const s=new is(e,t);return n.ensNetwork!=null&&s.attachPlugin(new vg(null,n.ensNetwork)),s.attachPlugin(new Ag),(n.plugins||[]).forEach(o=>{s.attachPlugin(o)}),s};is.register(e,i),is.register(t,i),n.altNames&&n.altNames.forEach(s=>{is.register(s,i)})}r("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),r("ropsten",3,{ensNetwork:3}),r("rinkeby",4,{ensNetwork:4}),r("goerli",5,{ensNetwork:5}),r("kovan",42,{ensNetwork:42}),r("sepolia",11155111,{ensNetwork:11155111}),r("holesky",17e3,{ensNetwork:17e3}),r("classic",61,{}),r("classicKotti",6,{}),r("arbitrum",42161,{ensNetwork:1}),r("arbitrum-goerli",421613,{}),r("arbitrum-sepolia",421614,{}),r("base",8453,{ensNetwork:1}),r("base-goerli",84531,{}),r("base-sepolia",84532,{}),r("bnb",56,{ensNetwork:1}),r("bnbt",97,{}),r("linea",59144,{ensNetwork:1}),r("linea-goerli",59140,{}),r("linea-sepolia",59141,{}),r("matic",137,{ensNetwork:1,plugins:[iR("https://gasstation.polygon.technology/v2")]}),r("matic-amoy",80002,{}),r("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[iR("https://gasstation-testnet.polygon.technology/v2")]}),r("optimism",10,{ensNetwork:1,plugins:[]}),r("optimism-goerli",420,{}),r("optimism-sepolia",11155420,{}),r("xdai",100,{ensNetwork:1})}function Rw(r){return JSON.parse(JSON.stringify(r))}var Ds,ri,Bo,Wi,Zu,m0;class sae{constructor(e){se(this,Zu);se(this,Ds);se(this,ri);se(this,Bo);se(this,Wi);F(this,Ds,e),F(this,ri,null),F(this,Bo,4e3),F(this,Wi,-2)}get pollingInterval(){return T(this,Bo)}set pollingInterval(e){F(this,Bo,e)}start(){T(this,ri)||(F(this,ri,T(this,Ds)._setTimeout(Ee(this,Zu,m0).bind(this),T(this,Bo))),Ee(this,Zu,m0).call(this))}stop(){T(this,ri)&&(T(this,Ds)._clearTimeout(T(this,ri)),F(this,ri,null))}pause(e){this.stop(),e&&F(this,Wi,-2)}resume(){this.start()}}Ds=new WeakMap,ri=new WeakMap,Bo=new WeakMap,Wi=new WeakMap,Zu=new WeakSet,m0=async function(){try{const e=await T(this,Ds).getBlockNumber();if(T(this,Wi)===-2){F(this,Wi,e);return}if(e!==T(this,Wi)){for(let t=T(this,Wi)+1;t<=e;t++){if(T(this,ri)==null)return;await T(this,Ds).emit("block",t)}F(this,Wi,e)}}catch{}T(this,ri)!=null&&F(this,ri,T(this,Ds)._setTimeout(Ee(this,Zu,m0).bind(this),T(this,Bo)))};var Va,qa,Po;class I_{constructor(e){se(this,Va);se(this,qa);se(this,Po);F(this,Va,e),F(this,Po,!1),F(this,qa,t=>{this._poll(t,T(this,Va))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){T(this,Po)||(F(this,Po,!0),T(this,qa).call(this,-2),T(this,Va).on("block",T(this,qa)))}stop(){T(this,Po)&&(F(this,Po,!1),T(this,Va).off("block",T(this,qa)))}pause(e){this.stop()}resume(){this.start()}}Va=new WeakMap,qa=new WeakMap,Po=new WeakMap;var Qu,$s;class oae extends I_{constructor(t,n){super(t);se(this,Qu);se(this,$s);F(this,Qu,n),F(this,$s,-2)}pause(t){t&&F(this,$s,-2),super.pause(t)}async _poll(t,n){const i=await n.getBlock(T(this,Qu));i!=null&&(T(this,$s)===-2?F(this,$s,i.number):i.number>T(this,$s)&&(n.emit(T(this,Qu),i.number),F(this,$s,i.number)))}}Qu=new WeakMap,$s=new WeakMap;var pp;class aae extends I_{constructor(t,n){super(t);se(this,pp);F(this,pp,Rw(n))}async _poll(t,n){throw new Error("@TODO")}}pp=new WeakMap;var Ju;class cae extends I_{constructor(t,n){super(t);se(this,Ju);F(this,Ju,n)}async _poll(t,n){const i=await n.getTransactionReceipt(T(this,Ju));i&&n.emit(T(this,Ju),i)}}Ju=new WeakMap;var Fs,Yu,Xu,Mo,ni,gp,KC;class S_{constructor(e,t){se(this,gp);se(this,Fs);se(this,Yu);se(this,Xu);se(this,Mo);se(this,ni);F(this,Fs,e),F(this,Yu,Rw(t)),F(this,Xu,Ee(this,gp,KC).bind(this)),F(this,Mo,!1),F(this,ni,-2)}start(){T(this,Mo)||(F(this,Mo,!0),T(this,ni)===-2&&T(this,Fs).getBlockNumber().then(e=>{F(this,ni,e)}),T(this,Fs).on("block",T(this,Xu)))}stop(){T(this,Mo)&&(F(this,Mo,!1),T(this,Fs).off("block",T(this,Xu)))}pause(e){this.stop(),e&&F(this,ni,-2)}resume(){this.start()}}Fs=new WeakMap,Yu=new WeakMap,Xu=new WeakMap,Mo=new WeakMap,ni=new WeakMap,gp=new WeakSet,KC=async function(e){if(T(this,ni)===-2)return;const t=Rw(T(this,Yu));t.fromBlock=T(this,ni)+1,t.toBlock=e;const n=await T(this,Fs).getLogs(t);if(n.length===0){T(this,ni)<e-60&&F(this,ni,e-60);return}for(const i of n)T(this,Fs).emit(T(this,Yu),i),F(this,ni,i.blockNumber)};const uae=BigInt(2),lae=10;function i0(r){return r&&typeof r.then=="function"}function w0(r,e){return r+":"+JSON.stringify(e,(t,n)=>{if(n==null)return"null";if(typeof n=="bigint")return`bigint:${n.toString()}`;if(typeof n=="string")return n.toLowerCase();if(typeof n=="object"&&!Array.isArray(n)){const i=Object.keys(n);return i.sort(),i.reduce((s,o)=>(s[o]=n[o],s),{})}return n})}class cp{constructor(e){Q(this,"name");ze(this,{name:e})}start(){}stop(){}pause(e){}resume(){}}function fae(r){return JSON.parse(JSON.stringify(r))}function Iw(r){return r=Array.from(new Set(r).values()),r.sort(),r}async function d1(r,e){if(r==null)throw new Error("invalid event");if(Array.isArray(r)&&(r={topics:r}),typeof r=="string")switch(r){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:r,tag:r}}if(zt(r,32)){const t=r.toLowerCase();return{type:"transaction",tag:w0("tx",{hash:t}),hash:t}}if(r.orphan){const t=r;return{type:"orphan",tag:w0("orphan",t),filter:fae(t)}}if(r.address||r.topics){const t=r,n={topics:(t.topics||[]).map(i=>i==null?null:Array.isArray(i)?Iw(i.map(s=>s.toLowerCase())):i.toLowerCase())};if(t.address){const i=[],s=[],o=a=>{zt(a)?i.push(a):s.push((async()=>{i.push(await bn(a,e))})())};Array.isArray(t.address)?t.address.forEach(o):o(t.address),s.length&&await Promise.all(s),n.address=Iw(i.map(a=>a.toLowerCase()))}return{filter:n,tag:w0("event",n),type:"event"}}q(!1,"unknown ProviderEvent","event",r)}function p1(){return new Date().getTime()}const hae={cacheTimeout:250,pollingInterval:4e3};var an,Lo,cn,el,Kn,Za,Uo,Hs,zh,ii,tl,rl,at,Un,Sw,kw,Df,Tw,$f,b0;class dae{constructor(e,t){se(this,at);se(this,an);se(this,Lo);se(this,cn);se(this,el);se(this,Kn);se(this,Za);se(this,Uo);se(this,Hs);se(this,zh);se(this,ii);se(this,tl);se(this,rl);if(F(this,rl,Object.assign({},hae,t||{})),e==="any")F(this,Za,!0),F(this,Kn,null);else if(e){const n=is.from(e);F(this,Za,!1),F(this,Kn,Promise.resolve(n)),setTimeout(()=>{this.emit("network",n,null)},0)}else F(this,Za,!1),F(this,Kn,null);F(this,Hs,-1),F(this,Uo,new Map),F(this,an,new Map),F(this,Lo,new Map),F(this,cn,null),F(this,el,!1),F(this,zh,1),F(this,ii,new Map),F(this,tl,!1)}get pollingInterval(){return T(this,rl).pollingInterval}get provider(){return this}get plugins(){return Array.from(T(this,Lo).values())}attachPlugin(e){if(T(this,Lo).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return T(this,Lo).set(e.name,e.connect(this)),this}getPlugin(e){return T(this,Lo).get(e)||null}get disableCcipRead(){return T(this,tl)}set disableCcipRead(e){F(this,tl,!!e)}async ccipReadFetch(e,t,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;const i=e.to.toLowerCase(),s=t.toLowerCase(),o=[];for(let a=0;a<n.length;a++){const u=n[a],l=u.replace("{sender}",i).replace("{data}",s),h=new to(l);u.indexOf("{data}")===-1&&(h.body={data:s,sender:i}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:h,index:a,urls:n});let g="unknown error",b;try{b=await h.send()}catch(w){o.push(w.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:h,result:{error:w}});continue}try{const w=b.bodyJson;if(w.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:h,result:w}),w.data;w.message&&(g=w.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:h,result:w})}catch{}pe(b.statusCode<400||b.statusCode>=500,`response not found during CCIP fetch: ${g}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:u,errorMessage:g}}),o.push(g)}pe(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:o}})}_wrapBlock(e,t){return new Coe(Joe(e),this)}_wrapLog(e,t){return new wd(Zoe(e),this)}_wrapTransactionReceipt(e,t){return new OC(tae(e),this)}_wrapTransactionResponse(e,t){return new Nh(GC(e),this)}_detectNetwork(){pe(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){pe(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){const e=ct(await Ee(this,at,Un).call(this,{method:"getBlockNumber"}),"%response");return T(this,Hs)>=0&&F(this,Hs,e),e}_getAddress(e){return bn(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(zt(e))return zt(e,32)?e:cu(e);if(typeof e=="bigint"&&(e=ct(e,"blockTag")),typeof e=="number")return e>=0?cu(e):T(this,Hs)>=0?cu(T(this,Hs)+e):this.getBlockNumber().then(t=>cu(t+e));q(!1,"invalid blockTag","blockTag",e)}_getFilter(e){const t=(e.topics||[]).map(u=>u==null?null:Array.isArray(u)?Iw(u.map(l=>l.toLowerCase())):u.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,i=(u,l,h)=>{let g;switch(u.length){case 0:break;case 1:g=u[0];break;default:u.sort(),g=u}if(n&&(l!=null||h!=null))throw new Error("invalid filter");const b={};return g&&(b.address=g),t.length&&(b.topics=t),l&&(b.fromBlock=l),h&&(b.toBlock=h),n&&(b.blockHash=n),b};let s=[];if(e.address)if(Array.isArray(e.address))for(const u of e.address)s.push(this._getAddress(u));else s.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.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(e){const t=sp(e),n=[];if(["to","from"].forEach(i=>{if(t[i]==null)return;const s=bn(t[i],this);i0(s)?n.push(async function(){t[i]=await s}()):t[i]=s}),t.blockTag!=null){const i=this._getBlockTag(t.blockTag);i0(i)?n.push(async function(){t.blockTag=await i}()):t.blockTag=i}return n.length?async function(){return await Promise.all(n),t}():t}async getNetwork(){if(T(this,Kn)==null){const i=(async()=>{try{const s=await this._detectNetwork();return this.emit("network",s,null),s}catch(s){throw T(this,Kn)===i&&F(this,Kn,null),s}})();return F(this,Kn,i),(await i).clone()}const e=T(this,Kn),[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(T(this,Za)?(this.emit("network",n,t),T(this,Kn)===e&&F(this,Kn,Promise.resolve(n))):pe(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){const e=await this.getNetwork(),t=async()=>{const{_block:i,gasPrice:s,priorityFee:o}=await dn({_block:Ee(this,at,Tw).call(this,"latest",!1),gasPrice:(async()=>{try{const h=await Ee(this,at,Un).call(this,{method:"getGasPrice"});return Me(h,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const h=await Ee(this,at,Un).call(this,{method:"getPriorityFee"});return Me(h,"%response")}catch{}return null})()});let a=null,u=null;const l=this._wrapBlock(i,e);return l&&l.baseFeePerGas&&(u=o??BigInt("1000000000"),a=l.baseFeePerGas*uae+u),new Yx(s,a,u)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){const i=new to(n.url),s=await n.processFunc(t,this,i);return new Yx(s.gasPrice,s.maxFeePerGas,s.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return i0(t)&&(t=await t),Me(await Ee(this,at,Un).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){const{tx:t,blockTag:n}=await dn({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await Ee(this,at,kw).call(this,Ee(this,at,Sw).call(this,t,n,e.enableCcipRead?0:-1))}async getBalance(e,t){return Me(await Ee(this,at,Df).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return ct(await Ee(this,at,Df).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return Ce(await Ee(this,at,Df).call(this,{method:"getCode"},e,t))}async getStorage(e,t,n){const i=Me(t,"position");return Ce(await Ee(this,at,Df).call(this,{method:"getStorage",position:i},e,n))}async broadcastTransaction(e){const{blockNumber:t,hash:n,network:i}=await dn({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),s=np.from(e);if(s.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(s,i).replaceableTransaction(t)}async getBlock(e,t){const{network:n,params:i}=await dn({network:this.getNetwork(),params:Ee(this,at,Tw).call(this,e,!!t)});return i==null?null:this._wrapBlock(i,n)}async getTransaction(e){const{network:t,params:n}=await dn({network:this.getNetwork(),params:Ee(this,at,Un).call(this,{method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){const{network:t,params:n}=await dn({network:this.getNetwork(),params:Ee(this,at,Un).call(this,{method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){const i=await Ee(this,at,Un).call(this,{method:"getTransaction",hash:e});if(i==null)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=i.gasPrice}return this._wrapTransactionReceipt(n,t)}async getTransactionResult(e){const{result:t}=await dn({network:this.getNetwork(),result:Ee(this,at,Un).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:Ce(t)}async getLogs(e){let t=this._getFilter(e);i0(t)&&(t=await t);const{network:n,params:i}=await dn({network:this.getNetwork(),params:Ee(this,at,Un).call(this,{method:"getLogs",filter:t})});return i.map(s=>this._wrapLog(s,n))}_getProvider(e){pe(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await ap.fromName(this,e)}async getAvatar(e){const t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){const t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=Pt(e);const t=bw(e.substring(2).toLowerCase()+".addr.reverse");try{const n=await ap.getEnsAddress(this),s=await new _u(n,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(s==null||s===Eh)return null;const a=await new _u(s,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(a)!==e?null:a}catch(n){if(Zr(n,"BAD_DATA")&&n.value==="0x"||Zr(n,"CALL_EXCEPTION"))return null;throw n}return null}async waitForTransaction(e,t,n){const i=t??1;return i===0?this.getTransactionReceipt(e):new Promise(async(s,o)=>{let a=null;const u=async l=>{try{const h=await this.getTransactionReceipt(e);if(h!=null&&l-h.blockNumber+1>=i){s(h),a&&(clearTimeout(a),a=null);return}}catch(h){console.log("EEE",h)}this.once("block",u)};n!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",u),o(Zt("timeout","TIMEOUT",{reason:"timeout"})))},n)),u(await this.getBlockNumber())})}async waitForBlock(e){pe(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){const t=T(this,ii).get(e);t&&(t.timer&&clearTimeout(t.timer),T(this,ii).delete(e))}_setTimeout(e,t){t==null&&(t=0);const n=Af(this,zh)._++,i=()=>{T(this,ii).delete(n),e()};if(this.paused)T(this,ii).set(n,{timer:null,func:i,time:t});else{const s=setTimeout(i,t);T(this,ii).set(n,{timer:s,func:i,time:p1()})}return n}_forEachSubscriber(e){for(const t of T(this,an).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new cp(e.type);case"block":{const t=new sae(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new oae(this,e.type);case"event":return new S_(this,e.filter);case"transaction":return new cae(this,e.hash);case"orphan":return new aae(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(const n of T(this,an).values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),T(this,cn)!=null&&t.pause(T(this,cn));break}}async on(e,t){const n=await Ee(this,at,b0).call(this,e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,T(this,cn)!=null&&n.subscriber.pause(T(this,cn))),this}async once(e,t){const n=await Ee(this,at,b0).call(this,e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,T(this,cn)!=null&&n.subscriber.pause(T(this,cn))),this}async emit(e,...t){const n=await Ee(this,at,$f).call(this,e,t);if(!n||n.listeners.length===0)return!1;const i=n.listeners.length;return n.listeners=n.listeners.filter(({listener:s,once:o})=>{const a=new aN(this,o?null:s,e);try{s.call(this,...t,a)}catch{}return!o}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),T(this,an).delete(n.tag)),i>0}async listenerCount(e){if(e){const n=await Ee(this,at,$f).call(this,e);return n?n.listeners.length:0}let t=0;for(const{listeners:n}of T(this,an).values())t+=n.length;return t}async listeners(e){if(e){const n=await Ee(this,at,$f).call(this,e);return n?n.listeners.map(({listener:i})=>i):[]}let t=[];for(const{listeners:n}of T(this,an).values())t=t.concat(n.map(({listener:i})=>i));return t}async off(e,t){const n=await Ee(this,at,$f).call(this,e);if(!n)return this;if(t){const i=n.listeners.map(({listener:s})=>s).indexOf(t);i>=0&&n.listeners.splice(i,1)}return(!t||n.listeners.length===0)&&(n.started&&n.subscriber.stop(),T(this,an).delete(n.tag)),this}async removeAllListeners(e){if(e){const{tag:t,started:n,subscriber:i}=await Ee(this,at,b0).call(this,e);n&&i.stop(),T(this,an).delete(t)}else for(const[t,{started:n,subscriber:i}]of T(this,an))n&&i.stop(),T(this,an).delete(t);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return T(this,el)}destroy(){this.removeAllListeners();for(const e of T(this,ii).keys())this._clearTimeout(e);F(this,el,!0)}get paused(){return T(this,cn)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(F(this,Hs,-1),T(this,cn)!=null){if(T(this,cn)==!!e)return;pe(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),F(this,cn,!!e);for(const t of T(this,ii).values())t.timer&&clearTimeout(t.timer),t.time=p1()-t.time}resume(){if(T(this,cn)!=null){this._forEachSubscriber(e=>e.resume()),F(this,cn,null);for(const e of T(this,ii).values()){let t=e.time;t<0&&(t=0),e.time=p1(),setTimeout(e.func,t)}}}}an=new WeakMap,Lo=new WeakMap,cn=new WeakMap,el=new WeakMap,Kn=new WeakMap,Za=new WeakMap,Uo=new WeakMap,Hs=new WeakMap,zh=new WeakMap,ii=new WeakMap,tl=new WeakMap,rl=new WeakMap,at=new WeakSet,Un=async function(e){const t=T(this,rl).cacheTimeout;if(t<0)return await this._perform(e);const n=w0(e.method,e);let i=T(this,Uo).get(n);return i||(i=this._perform(e),T(this,Uo).set(n,i),setTimeout(()=>{T(this,Uo).get(n)===i&&T(this,Uo).delete(n)},t)),await i},Sw=async function(e,t,n){pe(n<lae,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:t,enableCcipRead:!0})});const i=sp(e);try{return Ce(await this._perform({method:"call",transaction:i,blockTag:t}))}catch(s){if(!this.disableCcipRead&&s_(s)&&s.data&&n>=0&&t==="latest"&&i.to!=null&&_r(s.data,0,4)==="0x556f1830"){const o=s.data,a=await bn(i.to,this);let u;try{u=wae(_r(s.data,4))}catch(g){pe(!1,g.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:i,info:{data:o}})}pe(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 l=await this.ccipReadFetch(i,u.calldata,u.urls);pe(l!=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:Ir([u.selector,mae([l,u.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:h});try{const g=await Ee(this,at,Sw).call(this,h,t,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},h),result:g}),g}catch(g){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},h),error:g}),g}}throw s}},kw=async function(e){const{value:t}=await dn({network:this.getNetwork(),value:e});return t},Df=async function(e,t,n){let i=this._getAddress(t),s=this._getBlockTag(n);return(typeof i!="string"||typeof s!="string")&&([i,s]=await Promise.all([i,s])),await Ee(this,at,kw).call(this,Ee(this,at,Un).call(this,Object.assign(e,{address:i,blockTag:s})))},Tw=async function(e,t){if(zt(e,32))return await Ee(this,at,Un).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await Ee(this,at,Un).call(this,{method:"getBlock",blockTag:n,includeTransactions:t})},$f=async function(e,t){let n=await d1(e,this);return n.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(n=await d1({orphan:"drop-log",log:t[0]},this)),T(this,an).get(n.tag)||null},b0=async function(e){const t=await d1(e,this),n=t.tag;let i=T(this,an).get(n);return i||(i={subscriber:this._getSubscriber(t),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},T(this,an).set(n,i)),i};function pae(r,e){try{const t=Ow(r,e);if(t)return Q0(t)}catch{}return null}function Ow(r,e){if(r==="0x")return null;try{const t=ct(_r(r,e,e+32)),n=ct(_r(r,t,t+32));return _r(r,t+32,t+32+n)}catch{}return null}function oR(r){const e=mn(r);if(e.length>32)throw new Error("internal; should not happen");const t=new Uint8Array(32);return t.set(e,32-e.length),t}function gae(r){if(r.length%32===0)return r;const e=new Uint8Array(Math.ceil(r.length/32)*32);return e.set(r),e}const yae=new Uint8Array([]);function mae(r){const e=[];let t=0;for(let n=0;n<r.length;n++)e.push(yae),t+=32;for(let n=0;n<r.length;n++){const i=wt(r[n]);e[n]=oR(t),e.push(oR(i.length)),e.push(gae(i)),t+=32+Math.ceil(i.length/32)*32}return Ir(e)}const aR="0x0000000000000000000000000000000000000000000000000000000000000000";function wae(r){const e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};pe(mu(r)>=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const t=_r(r,0,32);pe(_r(t,0,12)===_r(aR,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=_r(t,12);try{const n=[],i=ct(_r(r,32,64)),s=ct(_r(r,i,i+32)),o=_r(r,i+32);for(let a=0;a<s;a++){const u=pae(o,a*32);if(u==null)throw new Error("abort");n.push(u)}e.urls=n}catch{pe(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{const n=Ow(r,64);if(n==null)throw new Error("abort");e.calldata=n}catch{pe(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}pe(_r(r,100,128)===_r(aR,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=_r(r,96,100);try{const n=Ow(r,128);if(n==null)throw new Error("abort");e.extraData=n}catch{pe(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(n=>e[n]),e}function qc(r,e){if(r.provider)return r.provider;pe(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function cR(r,e){let t=sp(e);if(t.to!=null&&(t.to=bn(t.to,r)),t.from!=null){const n=t.from;t.from=Promise.all([r.getAddress(),bn(n,r)]).then(([i,s])=>(q(i.toLowerCase()===s.toLowerCase(),"transaction from mismatch","tx.from",s),i))}else t.from=r.getAddress();return await dn(t)}class bae{constructor(e){Q(this,"provider");ze(this,{provider:e||null})}async getNonce(e){return qc(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await cR(this,e)}async populateTransaction(e){const t=qc(this,"populateTransaction"),n=await cR(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));const i=await this.provider.getNetwork();if(n.chainId!=null){const o=Me(n.chainId);q(o===i.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=i.chainId;const s=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||s)?q(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&s&&q(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){const o=await t.getFeeData();pe(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice)}else{const o=await t.getFeeData();if(n.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(n.type=2,n.gasPrice!=null){const a=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=a,n.maxPriorityFeePerGas=a}else n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(pe(!s,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice),n.type=0):pe(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(n.type===2||n.type===3)&&(n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await dn(n)}async estimateGas(e){return qc(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return qc(this,"call").call(await this.populateCall(e))}async resolveName(e){return await qc(this,"resolveName").resolveName(e)}async sendTransaction(e){const t=qc(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;const i=np.from(n);return await t.broadcastTransaction(await this.signTransaction(i))}}function _ae(r){return JSON.parse(JSON.stringify(r))}var hn,ji,Qa,Do,Ja,nl,oa,Nw,Cw;class WC{constructor(e){se(this,oa);se(this,hn);se(this,ji);se(this,Qa);se(this,Do);se(this,Ja);se(this,nl);F(this,hn,e),F(this,ji,null),F(this,Qa,Ee(this,oa,Nw).bind(this)),F(this,Do,!1),F(this,Ja,null),F(this,nl,!1)}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,t){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}start(){T(this,Do)||(F(this,Do,!0),Ee(this,oa,Nw).call(this,-2))}stop(){T(this,Do)&&(F(this,Do,!1),F(this,nl,!0),Ee(this,oa,Cw).call(this),T(this,hn).off("block",T(this,Qa)))}pause(e){e&&Ee(this,oa,Cw).call(this),T(this,hn).off("block",T(this,Qa))}resume(){this.start()}}hn=new WeakMap,ji=new WeakMap,Qa=new WeakMap,Do=new WeakMap,Ja=new WeakMap,nl=new WeakMap,oa=new WeakSet,Nw=async function(e){try{T(this,ji)==null&&F(this,ji,this._subscribe(T(this,hn)));let t=null;try{t=await T(this,ji)}catch(s){if(!Zr(s,"UNSUPPORTED_OPERATION")||s.operation!=="eth_newFilter")throw s}if(t==null){F(this,ji,null),T(this,hn)._recoverSubscriber(this,this._recover(T(this,hn)));return}const n=await T(this,hn).getNetwork();if(T(this,Ja)||F(this,Ja,n),T(this,Ja).chainId!==n.chainId)throw new Error("chaid changed");if(T(this,nl))return;const i=await T(this,hn).send("eth_getFilterChanges",[t]);await this._emitResults(T(this,hn),i)}catch(t){console.log("@TODO",t)}T(this,hn).once("block",T(this,Qa))},Cw=function(){const e=T(this,ji);e&&(F(this,ji,null),e.then(t=>{T(this,hn).destroyed||T(this,hn).send("eth_uninstallFilter",[t])}))};var Ya;class Aae extends WC{constructor(t,n){super(t);se(this,Ya);F(this,Ya,_ae(n))}_recover(t){return new S_(t,T(this,Ya))}async _subscribe(t){return await t.send("eth_newFilter",[T(this,Ya)])}async _emitResults(t,n){for(const i of n)t.emit(T(this,Ya),t._wrapLog(i,t._network))}}Ya=new WeakMap;class vae extends WC{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(const n of t)e.emit("pending",n)}}const Eae="bigint,boolean,function,number,string,symbol".split(/,/g);function _0(r){if(r==null||Eae.indexOf(typeof r)>=0||typeof r.getAddress=="function")return r;if(Array.isArray(r))return r.map(_0);if(typeof r=="object")return Object.keys(r).reduce((e,t)=>(e[t]=r[t],e),{});throw new Error(`should not happen: ${r} (${typeof r})`)}function xae(r){return new Promise(e=>{setTimeout(e,r)})}function Zc(r){return r&&r.toLowerCase()}function uR(r){return r&&typeof r.pollingInterval=="number"}const jC={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class g1 extends bae{constructor(t,n){super(t);Q(this,"address");n=Pt(n),ze(this,{address:n})}connect(t){pe(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){const n=_0(t),i=[];if(n.from){const o=n.from;i.push((async()=>{const a=await bn(o,this.provider);q(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=a})())}else n.from=this.address;if(n.gasLimit==null&&i.push((async()=>{n.gasLimit=await this.provider.estimateGas({...n,from:this.address})})()),n.to!=null){const o=n.to;i.push((async()=>{n.to=await bn(o,this.provider)})())}i.length&&await Promise.all(i);const s=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[s])}async sendTransaction(t){const n=await this.provider.getBlockNumber(),i=await this.sendUncheckedTransaction(t);return await new Promise((s,o)=>{const a=[1e3,100];let u=0;const l=async()=>{try{const h=await this.provider.getTransaction(i);if(h!=null){s(h.replaceableTransaction(n));return}}catch(h){if(Zr(h,"CANCELLED")||Zr(h,"BAD_DATA")||Zr(h,"NETWORK_ERROR")||Zr(h,"UNSUPPORTED_OPERATION")){h.info==null&&(h.info={}),h.info.sendTransactionHash=i,o(h);return}if(Zr(h,"INVALID_ARGUMENT")&&(u++,h.info==null&&(h.info={}),h.info.sendTransactionHash=i,u>10)){o(h);return}this.provider.emit("error",Zt("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:h}))}this.provider._setTimeout(()=>{l()},a.pop()||4e3)};l()})}async signTransaction(t){const n=_0(t);if(n.from){const s=await bn(n.from,this.provider);q(s!=null&&s.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=s}else n.from=this.address;const i=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[i])}async signMessage(t){const n=typeof t=="string"?Js(t):t;return await this.provider.send("personal_sign",[Ce(n),this.address.toLowerCase()])}async signTypedData(t,n,i){const s=_0(i),o=await ip.resolveNames(t,n,s,async a=>{const u=await bn(a);return q(u!=null,"TypedData does not support null address","value",a),u});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(ip.getPayload(o.domain,n,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){const n=typeof t=="string"?Js(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),Ce(n)])}}var Xa,il,zs,Vi,Ai,si,Rn,Gh,Bw;class VC extends dae{constructor(t,n){super(t,n);se(this,Gh);se(this,Xa);se(this,il);se(this,zs);se(this,Vi);se(this,Ai);se(this,si);se(this,Rn);F(this,il,1),F(this,Xa,Object.assign({},jC,n||{})),F(this,zs,[]),F(this,Vi,null),F(this,si,null),F(this,Rn,null);{let s=null;const o=new Promise(a=>{s=a});F(this,Ai,{promise:o,resolve:s})}const i=this._getOption("staticNetwork");typeof i=="boolean"?(q(!i||t!=="any","staticNetwork cannot be used on special network 'any'","options",n),i&&t!=null&&F(this,si,is.from(t))):i&&(q(t==null||i.matches(t),"staticNetwork MUST match network object","options",n),F(this,si,i))}_getOption(t){return T(this,Xa)[t]}get _network(){return pe(T(this,si),"network is not available yet","NETWORK_ERROR"),T(this,si)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let i=t.transaction;if(i&&i.type!=null&&Me(i.type)&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){const s=await this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},i,{type:void 0})}))}}const n=this.getRpcRequest(t);return n!=null?await this.send(n.method,n.args):super._perform(t)}async _detectNetwork(){const t=this._getOption("staticNetwork");if(t)if(t===!0){if(T(this,si))return T(this,si)}else return t;return T(this,Rn)?await T(this,Rn):this.ready?(F(this,Rn,(async()=>{try{const n=is.from(Me(await this.send("eth_chainId",[])));return F(this,Rn,null),n}catch(n){throw F(this,Rn,null),n}})()),await T(this,Rn)):(F(this,Rn,(async()=>{const n={id:Af(this,il)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:n});let i;try{i=(await this._send(n))[0],F(this,Rn,null)}catch(s){throw F(this,Rn,null),this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:i}),"result"in i)return is.from(Me(i.result));throw this.getRpcError(n,i)})()),await T(this,Rn))}_start(){T(this,Ai)==null||T(this,Ai).resolve==null||(T(this,Ai).resolve(),F(this,Ai,null),(async()=>{for(;T(this,si)==null&&!this.destroyed;)try{F(this,si,await this._detectNetwork())}catch(t){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",Zt("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await xae(1e3)}Ee(this,Gh,Bw).call(this)})())}async _waitUntilReady(){if(T(this,Ai)!=null)return await T(this,Ai).promise}_getSubscriber(t){return t.type==="pending"?new vae(this):t.type==="event"?this._getOption("polling")?new S_(this,t.filter):new Aae(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new cp("orphan"):super._getSubscriber(t)}get ready(){return T(this,Ai)==null}getRpcTransaction(t){const n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(i=>{if(t[i]==null)return;let s=i;i==="gasLimit"&&(s="gas"),n[s]=cu(Me(t[i],`tx.${i}`))}),["from","to","data"].forEach(i=>{t[i]!=null&&(n[i]=Ce(t[i]))}),t.accessList&&(n.accessList=Pc(t.accessList)),t.blobVersionedHashes&&(n.blobVersionedHashes=t.blobVersionedHashes.map(i=>i.toLowerCase())),n}getRpcRequest(t){switch(t.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:[Zc(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Zc(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[Zc(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Zc(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(Zc):t.filter.address=Zc(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,n){const{method:i}=t,{error:s}=n;if(i==="eth_estimateGas"&&s.message){const u=s.message;if(!u.match(/revert/i)&&u.match(/insufficient funds/i))return Zt("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:s}})}if(i==="eth_call"||i==="eth_estimateGas"){const u=Pw(s),l=Oh.getBuiltinCallException(i==="eth_call"?"call":"estimateGas",t.params[0],u?u.data:null);return l.info={error:s,payload:t},l}const o=JSON.stringify(Sae(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Zt("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:t,error:s}});if(i==="eth_sendRawTransaction"||i==="eth_sendTransaction"){const u=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return Zt("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:u,info:{error:s}});if(o.match(/nonce/i)&&o.match(/too low/i))return Zt("nonce has already been used","NONCE_EXPIRED",{transaction:u,info:{error:s}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Zt("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:u,info:{error:s}});if(o.match(/only replay-protected/i))return Zt("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?Zt("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:s,payload:t}}):Zt("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:t})}send(t,n){if(this.destroyed)return Promise.reject(Zt("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));const i=Af(this,il)._++,s=new Promise((o,a)=>{T(this,zs).push({resolve:o,reject:a,payload:{method:t,params:n,id:i,jsonrpc:"2.0"}})});return Ee(this,Gh,Bw).call(this),s}async getSigner(t){t==null&&(t=0);const n=this.send("eth_accounts",[]);if(typeof t=="number"){const s=await n;if(t>=s.length)throw new Error("no such account");return new g1(this,s[t])}const{accounts:i}=await dn({network:this.getNetwork(),accounts:n});t=Pt(t);for(const s of i)if(Pt(s)===t)return new g1(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new g1(this,n))}destroy(){T(this,Vi)&&(clearTimeout(T(this,Vi)),F(this,Vi,null));for(const{payload:t,reject:n}of T(this,zs))n(Zt("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));F(this,zs,[]),super.destroy()}}Xa=new WeakMap,il=new WeakMap,zs=new WeakMap,Vi=new WeakMap,Ai=new WeakMap,si=new WeakMap,Rn=new WeakMap,Gh=new WeakSet,Bw=function(){if(T(this,Vi))return;const t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");F(this,Vi,setTimeout(()=>{F(this,Vi,null);const n=T(this,zs);for(F(this,zs,[]);n.length;){const i=[n.shift()];for(;n.length&&i.length!==T(this,Xa).batchMaxCount;)if(i.push(n.shift()),JSON.stringify(i.map(o=>o.payload)).length>T(this,Xa).batchMaxSize){n.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:l}of i){if(this.destroyed){u(Zt("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:l.method}));continue}const h=o.filter(g=>g.id===l.id)[0];if(h==null){const g=Zt("missing response for request","BAD_DATA",{value:o,info:{payload:l}});this.emit("error",g),u(g);continue}if("error"in h){u(this.getRpcError(l,h));continue}a(h.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(const{reject:a}of i)a(o)}})()}},t))};var $o;class Rae extends VC{constructor(t,n){super(t,n);se(this,$o);let i=this._getOption("pollingInterval");i==null&&(i=jC.pollingInterval),F(this,$o,i)}_getSubscriber(t){const n=super._getSubscriber(t);return uR(n)&&(n.pollingInterval=T(this,$o)),n}get pollingInterval(){return T(this,$o)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");F(this,$o,t),this._forEachSubscriber(n=>{uR(n)&&(n.pollingInterval=T(this,$o))})}}$o=new WeakMap;var sl;class Iae extends Rae{constructor(t,n,i){t==null&&(t="http://localhost:8545");super(n,i);se(this,sl);typeof t=="string"?F(this,sl,new to(t)):F(this,sl,t.clone())}_getConnection(){return T(this,sl).clone()}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){const n=this._getConnection();n.body=JSON.stringify(t),n.setHeader("content-type","application/json");const i=await n.send();i.assertOk();let s=i.bodyJson;return Array.isArray(s)||(s=[s]),s}}sl=new WeakMap;function Pw(r){if(r==null)return null;if(typeof r.message=="string"&&r.message.match(/revert/i)&&zt(r.data))return{message:r.message,data:r.data};if(typeof r=="object"){for(const e in r){const t=Pw(r[e]);if(t)return t}return null}if(typeof r=="string")try{return Pw(JSON.parse(r))}catch{}return null}function Mw(r,e){if(r!=null){if(typeof r.message=="string"&&e.push(r.message),typeof r=="object")for(const t in r)Mw(r[t],e);if(typeof r=="string")try{return Mw(JSON.parse(r),e)}catch{}}}function Sae(r){const e=[];return Mw(r,e),e}function kae(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof ll<"u")return ll;throw new Error("unable to locate global object")}const Tae=kae().WebSocket;var qi,Kh,Fo,ec,Ho;class k_{constructor(e,t){se(this,qi);se(this,Kh);se(this,Fo);se(this,ec);se(this,Ho);F(this,qi,e),F(this,Kh,JSON.stringify(t)),F(this,Fo,null),F(this,ec,null),F(this,Ho,null)}get filter(){return JSON.parse(T(this,Kh))}start(){F(this,Fo,T(this,qi).send("eth_subscribe",this.filter).then(e=>(T(this,qi)._register(e,this),e)))}stop(){T(this,Fo).then(e=>{T(this,qi).destroyed||T(this,qi).send("eth_unsubscribe",[e])}),F(this,Fo,null)}pause(e){pe(e,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),F(this,ec,!!e)}resume(){F(this,ec,null)}_handleMessage(e){if(T(this,Fo)!=null&&T(this,ec)===null){let t=T(this,Ho);t==null?t=this._emit(T(this,qi),e):t=t.then(async()=>{await this._emit(T(this,qi),e)}),F(this,Ho,t.then(()=>{T(this,Ho)===t&&F(this,Ho,null)}))}}async _emit(e,t){throw new Error("sub-classes must implemente this; _emit")}}qi=new WeakMap,Kh=new WeakMap,Fo=new WeakMap,ec=new WeakMap,Ho=new WeakMap;class Oae extends k_{constructor(e){super(e,["newHeads"])}async _emit(e,t){e.emit("block",parseInt(t.number))}}class Nae extends k_{constructor(e){super(e,["newPendingTransactions"])}async _emit(e,t){e.emit("pending",t)}}var Wh;class Cae extends k_{constructor(t,n){super(t,["logs",n]);se(this,Wh);F(this,Wh,JSON.stringify(n))}get logFilter(){return JSON.parse(T(this,Wh))}async _emit(t,n){t.emit(this.logFilter,t._wrapLog(n,t._network))}}Wh=new WeakMap;var tc,ol,zo;class Bae extends VC{constructor(t,n){const i=Object.assign({},n??{});q(i.batchMaxCount==null||i.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",n),i.batchMaxCount=1,i.staticNetwork==null&&(i.staticNetwork=!0);super(t,i);se(this,tc);se(this,ol);se(this,zo);F(this,tc,new Map),F(this,ol,new Map),F(this,zo,new Map)}_getSubscriber(t){switch(t.type){case"close":return new cp("close");case"block":return new Oae(this);case"pending":return new Nae(this);case"event":return new Cae(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new cp("drop-log")}return super._getSubscriber(t)}_register(t,n){T(this,ol).set(t,n);const i=T(this,zo).get(t);if(i){for(const s of i)n._handleMessage(s);T(this,zo).delete(t)}}async _send(t){q(!Array.isArray(t),"WebSocket does not support batch send","payload",t);const n=new Promise((i,s)=>{T(this,tc).set(t.id,{payload:t,resolve:i,reject:s})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await n]}async _processMessage(t){const n=JSON.parse(t);if(n&&typeof n=="object"&&"id"in n){const i=T(this,tc).get(n.id);if(i==null){this.emit("error",Zt("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:n}));return}T(this,tc).delete(n.id),i.resolve(n)}else if(n&&n.method==="eth_subscription"){const i=n.params.subscription,s=T(this,ol).get(i);if(s)s._handleMessage(n.params.result);else{let o=T(this,zo).get(i);o==null&&(o=[],T(this,zo).set(i,o)),o.push(n.params.result)}}else{this.emit("error",Zt("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:n}));return}}async _write(t){throw new Error("sub-classes must override this")}}tc=new WeakMap,ol=new WeakMap,zo=new WeakMap;var rc,vi;class Pae extends Bae{constructor(t,n,i){super(n,i);se(this,rc);se(this,vi);typeof t=="string"?(F(this,rc,()=>new Tae(t)),F(this,vi,T(this,rc).call(this))):typeof t=="function"?(F(this,rc,t),F(this,vi,t())):(F(this,rc,null),F(this,vi,t)),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(T(this,vi)==null)throw new Error("websocket closed");return T(this,vi)}async _write(t){this.websocket.send(t)}async destroy(){T(this,vi)!=null&&(T(this,vi).close(),F(this,vi,null)),super.destroy()}}rc=new WeakMap,vi=new WeakMap;const Mae="hh-sol-artifact-1",Lae="SwarmEventEmitter",Uae="contracts/SwarmEventEmitter.sol",Dae=[{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"}],$ae="0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a26107b08061013b6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632ac0df261461005c5780638ab1d68114610078578063d936547e14610094578063e43252d7146100c4578063f851a440146100e0575b600080fd5b610076600480360381019061007191906104e8565b6100fe565b005b610092600480360381019061008d9190610593565b6101de565b005b6100ae60048036038101906100a99190610593565b61030a565b6040516100bb91906105db565b60405180910390f35b6100de60048036038101906100d99190610593565b61032a565b005b6100e8610455565b6040516100f59190610605565b60405180910390f35b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101819061067d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fda502b164eb5cfccfa9f947e0fdc1a0bd060adfef2947810b256321c1a74ca4183836040516101d29291906106ea565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102639061075a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df75760405160405180910390a250565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061075a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126104a8576104a7610483565b5b8235905067ffffffffffffffff8111156104c5576104c4610488565b5b6020830191508360018202830111156104e1576104e061048d565b5b9250929050565b600080602083850312156104ff576104fe610479565b5b600083013567ffffffffffffffff81111561051d5761051c61047e565b5b61052985828601610492565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061056082610535565b9050919050565b61057081610555565b811461057b57600080fd5b50565b60008135905061058d81610567565b92915050565b6000602082840312156105a9576105a8610479565b5b60006105b78482850161057e565b91505092915050565b60008115159050919050565b6105d5816105c0565b82525050565b60006020820190506105f060008301846105cc565b92915050565b6105ff81610555565b82525050565b600060208201905061061a60008301846105f6565b92915050565b600082825260208201905092915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000610667600f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006106c98385610620565b93506106d683858461069d565b6106df836106ac565b840190509392505050565b600060208201905081810360008301526107058184866106bd565b90509392505050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000610744600983610620565b915061074f8261070e565b602082019050919050565b6000602082019050818103600083015261077381610737565b905091905056fea26469706673582212202ad433ea9240cc561f6b9168c7880800e372f26e322166cedd6ce135222e699764736f6c634300081c0033",Fae="0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632ac0df261461005c5780638ab1d68114610078578063d936547e14610094578063e43252d7146100c4578063f851a440146100e0575b600080fd5b610076600480360381019061007191906104e8565b6100fe565b005b610092600480360381019061008d9190610593565b6101de565b005b6100ae60048036038101906100a99190610593565b61030a565b6040516100bb91906105db565b60405180910390f35b6100de60048036038101906100d99190610593565b61032a565b005b6100e8610455565b6040516100f59190610605565b60405180910390f35b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101819061067d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fda502b164eb5cfccfa9f947e0fdc1a0bd060adfef2947810b256321c1a74ca4183836040516101d29291906106ea565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102639061075a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df75760405160405180910390a250565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061075a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126104a8576104a7610483565b5b8235905067ffffffffffffffff8111156104c5576104c4610488565b5b6020830191508360018202830111156104e1576104e061048d565b5b9250929050565b600080602083850312156104ff576104fe610479565b5b600083013567ffffffffffffffff81111561051d5761051c61047e565b5b61052985828601610492565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061056082610535565b9050919050565b61057081610555565b811461057b57600080fd5b50565b60008135905061058d81610567565b92915050565b6000602082840312156105a9576105a8610479565b5b60006105b78482850161057e565b91505092915050565b60008115159050919050565b6105d5816105c0565b82525050565b60006020820190506105f060008301846105cc565b92915050565b6105ff81610555565b82525050565b600060208201905061061a60008301846105f6565b92915050565b600082825260208201905092915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000610667600f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006106c98385610620565b93506106d683858461069d565b6106df836106ac565b840190509392505050565b600060208201905081810360008301526107058184866106bd565b90509392505050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000610744600983610620565b915061074f8261070e565b602082019050919050565b6000602082019050818103600083015261077381610737565b905091905056fea26469706673582212202ad433ea9240cc561f6b9168c7880800e372f26e322166cedd6ce135222e699764736f6c634300081c0033",Hae={},zae={},Gae={_format:Mae,contractName:Lae,sourceName:Uae,abi:Dae,bytecode:$ae,deployedBytecode:Fae,linkReferences:Hae,deployedLinkReferences:zae},Kae="Eai8D93JKad51sYmft1r74fzLkBSwRGPQVAmwZoLoWDf",Wae={name:"swarm_event_emitter",version:"0.1.0",spec:"0.1.0",description:"Created with Anchor"},jae=[{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"}]}],Vae=[{name:"State",discriminator:[216,146,107,94,104,75,182,177]}],qae=[{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]}],Zae=[{code:6e3,name:"NotAdmin",msg:"Only the admin can perform this action."},{code:6001,name:"NotWhitelisted",msg:"You are not whitelisted."}],Qae=[{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"}]}}],Jae={address:Kae,metadata:Wae,instructions:jae,accounts:Vae,events:qae,errors:Zae,types:Qae};class Yae{constructor(e){this.settings=e,this.evm=null,this.svm=null,this.init()}init(){this.settings.chainType==="EVM"?this.initEvm():this.settings.chainType==="SVM"&&this.initSvm()}initEvm(){const{rpcUrl:e,contractAddress:t}=this.settings;if(!t)throw new Error("Contract address is required for EVM chain type");const n=e.startsWith("ws")?new Pae(e):new Iae(e),i=new _u(t,Gae.abi,n);this.evm={provider:n,contract:i}}initSvm(){const e=new uk(this.settings.rpcUrl,"confirmed"),t=sc.generate(),n={signTransaction:async o=>o,signAllTransactions:async o=>o,publicKey:t.publicKey},i=new Ah(e,n,{}),s=new _l(Jae,i);this.svm={provider:e,program:s}}async onMessageFrom(e){this.settings.chainType==="EVM"?this.listenToEvm(e):this.settings.chainType==="SVM"&&await this.listenToSvm(e)}listenToEvm(e){var t;(t=this.evm)==null||t.contract.on("MessageLogged",(n,i)=>{cc(n.toLowerCase())===cc(this.settings.swarmEmitterAddress.toLowerCase())&&e(n,i)})}async listenToSvm(e){var n;const t=(n=this.svm)==null?void 0:n.program.addEventListener("messageLogged",i=>{const{sender:s,message:o}=i;s.toBase58()===this.settings.swarmEmitterAddress&&e(s.toBase58(),o)});this.svm&&t!==void 0&&(this.svm.listenerId=t)}async removeAllListeners(){var e,t;this.settings.chainType==="EVM"&&((e=this.evm)==null||e.contract.removeAllListeners("MessageLogged")),this.settings.chainType==="SVM"&&((t=this.svm)==null?void 0:t.listenerId)!==void 0&&(await this.svm.program.removeEventListener(this.svm.listenerId),this.svm.listenerId=void 0)}}const Xae=new TextEncoder,lR=1,fR=4096,y1=4096,ece=32;function tce(r,e){return e=typeof e=="number"?nt.FeedIndex.fromBigInt(BigInt(e)):e,new nt.Identifier(un.keccak256(un.concatBytes(r.toUint8Array(),e.toUint8Array())))}function rce(r){const e=r.slice(0,nt.Span.LENGTH),t=r.slice(nt.Span.LENGTH),n=nce(t),i=un.keccak256(un.concatBytes(e,n));return new nt.Reference(i)}function nce(r){if(r.length>y1)throw new nt.BeeArgumentError(`payload size ${r.length} exceeds maximum chunk payload size ${y1}`,r);const e=new Uint8Array(y1);return e.set(r),un.log2Reduce(un.partition(e,ece),(t,n)=>un.keccak256(un.concatBytes(t,n)))}function hR(r){if(r instanceof Uint8Array||(r=Xae.encode(r)),r.length<lR||r.length>fR)throw new RangeError(`payload size ${r.length} exceeds limits [${lR}, ${fR}]`);const e=nt.Span.fromBigInt(BigInt(r.length)),t=un.concatBytes(e.toUint8Array(),r);return{data:t,span:e,payload:nt.Bytes.fromSlice(t,nt.Span.LENGTH),address:rce(t)}}function ice(r,e){return new nt.Reference(un.keccak256(un.concatBytes(r.toUint8Array(),e.toUint8Array())))}function dR(r,e,t){e=new nt.Identifier(e),t=new nt.PrivateKey(t);const n=ice(e,t.publicKey().address()),i=t.sign(un.concatBytes(e.toUint8Array(),r.address.toUint8Array())),s=un.concatBytes(e.toUint8Array(),i.toUint8Array(),r.data),o=nt.Span.fromSlice(r.data,0),a=nt.Bytes.fromSlice(r.data,nt.Span.LENGTH);return{data:s,identifier:e,signature:i,span:o,payload:a,address:n,owner:t.publicKey().address()}}class sce{constructor(e,t){this.userDetails=e,this.swarmSettings=t,this.depth=24,this.logger=ns.getInstance(),this.errorHandler=new kp,this.UPLOAD_GSOC_TIMEOUT=2e3}async writeOwnFeedDataByIndex(e,t){const{enveloped:n,stamp:i}=this.swarmSettings;if(!n)await this.writeOwnFeedDataByIndexOwned(e,t);else if(i)await this.writeOwnFeedDataByIndexEnvelope(e,t);else throw new Error("Enveloped mode is enabled, but stamp is not provided")}async writeOwnFeedDataByIndexOwned(e,t){const{bee:n,stamp:i,chatTopic:s}=this.swarmSettings,{privateKey:o,ownAddress:a}=this.userDetails,u=this.generateUserOwnedFeedId(s,a),l=nt.Topic.fromString(u);console.log("DEBUG: feedID write",l.toString(),a,e,u),await n.makeFeedWriter(l,new nt.PrivateKey(o)).uploadPayload(i,JSON.stringify(t),{index:e})}async writeOwnFeedDataByIndexEnvelope(e,t){const{bee:n,stamp:i,chatTopic:s}=this.swarmSettings,{privateKey:o,ownAddress:a}=this.userDetails,u=new nt.PrivateKey(o),l=nt.Stamper.fromBlank(o,i,this.depth),h=this.generateUserOwnedFeedId(s,a),g=nt.Topic.fromString(h),b=tce(g,e),w=hR(t),I=dR(w,b,u),S={hash:()=>I.address.toUint8Array()},x=l.stamp(S),{upload:C}=n.makeSOCWriter(u),H=nt.Bytes.fromUtf8(t);return(await C(x,b,H.toUint8Array())).reference.toHex()}async fetchUserFeedDataByIndex(e,t,n){const{bee:i,chatTopic:s}=this.swarmSettings,o=(n==null?void 0:n.timeout)??1500,a=this.generateUserOwnedFeedId(s,e),u=nt.Topic.fromString(a);return console.log("DEBUG: feedID read",u.toString(),e,t,a),(await i.makeFeedReader(u,e,{timeout:o}).downloadPayload({index:t})).payload.toJSON()}orderMessages(e){return e.sort((t,n)=>t.timestamp-n.timestamp)}async retryAwaitableAsync(e,t=3,n=250){return new Promise((i,s)=>{e().then(i).catch(o=>{t>0?(this.logger.info(`Retrying... Attempts left: ${t}. Error: ${o.message}`),setTimeout(()=>{this.retryAwaitableAsync(e,t-1,n).then(i).catch(s)},n)):(this.errorHandler.handleError(o,"Utils.retryAwaitableAsync"),s(o))})})}async uploadObjectToBee(e){const{enveloped:t,stamp:n}=this.swarmSettings;if(t){if(n)return this.uploadObjectToBeeEnvelope(e);throw new Error("Enveloped mode is enabled, but stamp is not provided")}else return this.uploadObjectToBeeOwn(e)}async uploadObjectToBeeOwn(e){try{const{bee:t,stamp:n}=this.swarmSettings,i=await t.uploadData(n,JSON.stringify(e),{redundancyLevel:4});return console.log("DEBUG: result",i.reference.toString()),i.reference.toString()}catch(t){return this.errorHandler.handleError(t,"Utils.uploadObjectToBee"),null}}async uploadObjectToBeeEnvelope(e){try{const{bee:t,stamp:n}=this.swarmSettings,{privateKey:i}=this.userDetails,s=nt.Stamper.fromBlank(i,n,this.depth),o=nt.Bytes.fromUtf8(JSON.stringify(e)),a=new hD(async l=>{await t.uploadChunk(s.stamp(l),l.build())});await a.append(o.toUint8Array());const u=await a.finalize();return un.uint8ArrayToHex(u.hash())}catch(t){return this.errorHandler.handleError(t,"Utils.uploadObjectToBee"),null}}async downloadObjectFromBee(e){try{const{bee:t}=this.swarmSettings;return(await t.downloadData(e)).toJSON()}catch(t){return this.errorHandler.handleError(t,"Utils.beeDownloadObject"),null}}async getOwnLatestFeedIndex(){try{const{bee:e,chatTopic:t}=this.swarmSettings,{ownAddress:n}=this.userDetails,i=this.generateUserOwnedFeedId(t,n),s=nt.Topic.fromString(i),a=await e.makeFeedReader(s,n).downloadPayload(),u=Number(a.feedIndex.toBigInt()),l=u+1;return console.log("DEBUG: getLatestFeedIndex",u,l),{latestIndex:u,nextIndex:l}}catch(e){if(this.isNotFoundError(e))return{latestIndex:-1,nextIndex:0};throw e}}async fetchLatestChatMessage(){const{bee:e,chatTopic:t,chatAddress:n}=this.swarmSettings;return(await e.makeFeedReader(nt.Topic.fromString(t),cc(n)).downloadPayload()).payload.toJSON()}async fetchChatMessage(e){const{bee:t,chatTopic:n,chatAddress:i}=this.swarmSettings;return(await t.makeFeedReader(nt.Topic.fromString(n),cc(i)).downloadPayload({index:nt.FeedIndex.fromBigInt(BigInt(`0x${e}`))})).payload.toJSON()}async sendMessageToGsoc(e){const{enveloped:t,stamp:n}=this.swarmSettings;if(!t)await this.sendMessageToGsocOwn(e);else if(n)await this.sendMessageToGsocEnvelope(e);else throw new Error("Enveloped mode is enabled, but stamp is not provided")}async sendMessageToGsocOwn(e){this.logger.debug("sendMessageToGsoc entry CALLED");const{bee:t,stamp:n,gsocTopic:i,gsocResourceId:s}=this.swarmSettings,o=new nt.PrivateKey(s),a=nt.Identifier.fromString(i),u=nt.Bytes.fromUtf8(e),{upload:l}=t.makeSOCWriter(o,{timeout:this.UPLOAD_GSOC_TIMEOUT});await l(n,a,u.toUint8Array()),this.logger.debug("sendMessageToGsoc end CALLED")}async sendMessageToGsocEnvelope(e){this.logger.debug("sendMessageToGsoc entry CALLED");const{bee:t,stamp:n,gsocTopic:i,gsocResourceId:s}=this.swarmSettings,{privateKey:o}=this.userDetails,a=nt.Stamper.fromBlank(o,n,this.depth),u=new nt.PrivateKey(s),l=nt.Identifier.fromString(i),h=nt.Bytes.fromUtf8(e),g=hR(h.toUint8Array()),b=dR(g,l,u),w={hash:()=>b.address.toUint8Array()},I=a.stamp(w),{upload:S}=t.makeSOCWriter(u,{timeout:this.UPLOAD_GSOC_TIMEOUT});await S(I,l,h.toUint8Array()),this.logger.debug("sendMessageToGsoc end CALLED")}generateUserOwnedFeedId(e,t){return`${e}_EthercastChat_${t}`}isNotFoundError(e){return e.stack.includes("404")||e.message.includes("Not Found")||e.message.includes("404")}}class oce{constructor(e){var n,i,s;this.logger=ns.getInstance(),this.errorHandler=new kp,this.messagesQueue=new E1({clearWaitTime:200}),this.gsocListenerQueue=new E1({clearWaitTime:200}),this.activeUsers={},this.latestMessage=null,this.userIndexCache={};const t=new nt.PrivateKey(cc(e.user.privateKey));this.userDetails={privateKey:e.user.privateKey,ownAddress:t.publicKey().address().toString(),nickname:e.user.nickname,ownIndex:-1},this.swarmSettings={bee:new nt.Bee(e.infra.swarm.beeUrl),stamp:e.infra.swarm.stamp||"0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",enveloped:e.infra.swarm.enveloped,gsocTopic:e.infra.swarm.gsocTopic,gsocResourceId:e.infra.swarm.gsocResourceId,chatTopic:e.infra.swarm.chatTopic,chatAddress:e.infra.swarm.chatAddress},this.options={fetchMessageTimer:null,idleUserCleanupInterval:null,FETCH_MESSAGE_INTERVAL_TIME:((n=e.options)==null?void 0:n.fetchMessageIntervalTime)||1e3,IDLE_USER_CLEANUP_INTERVAL_TIME:((i=e.options)==null?void 0:i.idleUserCleanupIntervalTime)||5e3,READ_MESSAGE_TIMEOUT:((s=e.options)==null?void 0:s.readMessageTimeout)||1500},this.emitter=new fD,this.utils=new sce(this.userDetails,this.swarmSettings),this.history=new LV(this.userDetails,this.utils,this.swarmSettings,this.emitter),this.swarmEventEmitterReader=new Yae(e.infra.chain)}start(){this.init(),this.subscribeToGSOCEvent(),this.startMessagesFetchProcess(),this.startIdleUserCleanup(),this.history.startHistoryUpdateProcess()}stop(){this.stopMessagesFetchProcess(),this.stopIdleUserCleanup(),this.unsubFromGSOCEvent(),this.history.stopHistoryUpdateProcess(),this.emitter.cleanAll()}getEmitter(){return this.emitter}orderMessages(e){return this.utils.orderMessages(e)}async sendMessage(e,t){const n=this.userDetails.ownIndex===-1?0:this.userDetails.ownIndex+1,i={id:t||lD(),username:this.userDetails.nickname,address:this.userDetails.ownAddress,timestamp:Date.now(),index:n,message:e};try{this.emitter.emit(Yn.MESSAGE_REQUEST_INITIATED,i),await this.utils.writeOwnFeedDataByIndex(n,JSON.stringify(i)),this.userDetails.ownIndex=n,this.emitter.emit(Yn.MESSAGE_REQUEST_UPLOADED,i),await this.broadcastUserMessage()}catch(s){this.emitter.emit(Yn.MESSAGE_REQUEST_ERROR,i),this.errorHandler.handleError(s,"Chat.sendMessage")}}async fetchPreviousMessages(){try{return this.emitter.emit(Yn.LOADING_PREVIOUS_MESSAGES,!0),await this.history.fetchPreviousMessages({preDownloadHistory:!0})}finally{this.emitter.emit(Yn.LOADING_PREVIOUS_MESSAGES,!1)}}async retrySendMessage(e){this.sendMessage(e.message,e.id)}async retryBroadcastUserMessage(e){this.broadcastUserMessage()}async init(){try{this.emitter.emit(Yn.LOADING_INIT,!0);const[e,t]=await Promise.allSettled([this.initOwnIndex(),this.history.init()]);if(e.status==="rejected")throw e.reason;t.status==="rejected"&&this.logger.warn(`historyInitResult failed: ${t.reason}`),this.emitter.emit(Yn.LOADING_INIT,!1)}catch(e){this.errorHandler.handleError(e,"Chat.initSelfState"),this.emitter.emit(Yn.CRITICAL_ERROR,e)}}async initOwnIndex(){const{latestIndex:n}=await this.utils.retryAwaitableAsync(()=>this.utils.getOwnLatestFeedIndex(),10,1e3);this.userDetails.ownIndex=n}subscribeToGSOCEvent(){try{this.swarmEventEmitterReader.onMessageFrom((e,t)=>this.gsocListenerQueue.enqueue(()=>this.processGsocEvent(t)))}catch(e){this.errorHandler.handleError(e,"Chat.listenToNewSubscribers"),this.emitter.emit(Yn.CRITICAL_ERROR,e)}}async processGsocEvent(e){try{console.log("processGsocMessage CALLED",e);const[t,n]=e.split("_"),i=await this.utils.fetchChatMessage(n);if(console.log("DEBUG processGsocMessage",i),!GR(i)){this.logger.warn("Invalid GSOC message during processing");return}if(this.logger.debug("New GSOC message:",i),sD(this.latestMessage,i))return;i.messageSender?(this.updateActiveUsers(i.messageSender),this.history.processHistoryUpdaterEntry(this.activeUsers,i.historyEntry)):this.history.setHistoryEntry(i.historyEntry),this.latestMessage=i}catch(t){this.errorHandler.handleError(t,"Chat.processGsocMessage")}}async waitForMessageBroadcast(e){return KR({condition:()=>Object.values(this.activeUsers).some(t=>t.index===e),broadcast:()=>this.broadcastUserMessage()})}async broadcastUserMessage(){try{this.logger.debug("broadcastUserMessage entry CALLED");const e=await this.makeMessageSender();console.log("DEBUG broadcastUserMessage",e),await this.utils.retryAwaitableAsync(()=>this.utils.sendMessageToGsoc(JSON.stringify({topic:this.swarmSettings.chatTopic,messageSender:e,historyEntry:this.history.getHistoryEntryWithNewUpdater(this.activeUsers)})))}catch(e){this.errorHandler.handleError(e,"Chat.broadcastUserMessage")}}async makeMessageSender(){const{ownAddress:e,privateKey:t,nickname:n}=this.userDetails,i=new nt.EthAddress(e).toString(),s=new nt.PrivateKey(t);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:n,address:i,timestamp:a}));return{address:i,timestamp:a,signature:u.toHex(),index:this.getOwnIndex(),username:n}}async readAllActiveUserMessage(){if(!await this.messagesQueue.waitForProcessing())for(const t of Object.values(this.activeUsers))this.messagesQueue.enqueue(()=>this.readMessage(t))}async readMessage(e){try{let t;const n=this.isUserIndexRead(e.address,e.index);if(n.isIndexRead)return;t=n.cachedIndex?n.cachedIndex+1:e.index;const i=await this.utils.fetchUserFeedDataByIndex(e.address,t);this.setUserIndexCache(e.address,t),this.emitter.emit(Yn.MESSAGE_RECEIVED,JSON.parse(i))}catch(t){this.errorHandler.handleError(t,"readMessage")}}unsubFromGSOCEvent(){this.swarmEventEmitterReader.removeAllListeners()}startMessagesFetchProcess(){const{fetchMessageTimer:e,FETCH_MESSAGE_INTERVAL_TIME:t}=this.options;if(e){this.logger.warn("Messages fetch process is already running.");return}this.options.fetchMessageTimer=setInterval(this.readAllActiveUserMessage.bind(this),t)}stopMessagesFetchProcess(){const{fetchMessageTimer:e}=this.options;e&&(clearInterval(e),this.options.fetchMessageTimer=null)}startIdleUserCleanup(){const{idleUserCleanupInterval:e,IDLE_USER_CLEANUP_INTERVAL_TIME:t}=this.options;if(e){this.logger.warn("Idle user cleanup is already running.");return}this.options.idleUserCleanupInterval=setInterval(this.removeIdleUsers.bind(this),t)}stopIdleUserCleanup(){const{idleUserCleanupInterval:e}=this.options;e&&(clearInterval(e),this.options.idleUserCleanupInterval=null)}isUserIndexRead(e,t){const n=this.userIndexCache[e];return{cachedIndex:n,isIndexRead:n===t}}setUserIndexCache(e,t){this.userIndexCache[e]=t}getOwnIndex(){return this.userDetails.ownIndex}removeIdleUsers(){const e=Date.now();for(const t of Object.values(this.activeUsers))e-t.timestamp>300*k$&&delete this.activeUsers[t.address]}updateActiveUsers(e){this.activeUsers[e.address]=e}}exports.EVENTS=Yn;exports.SwarmChat=oce;
16
+ */(function(n){const t=ip,e=zw,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:c}=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),w={foo:function(){return 42}};return Object.setPrototypeOf(w,s.prototype),Object.setPrototypeOf(O,w),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 w=new s(O);return Object.setPrototypeOf(w,h.prototype),w}function h(O,w,E){if(typeof O=="number"){if(typeof w=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return R(O)}return y(O,w,E)}h.poolSize=8192;function y(O,w,E){if(typeof O=="string")return k(O,w);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(Je(O,o)||O&&Je(O.buffer,o)||typeof c<"u"&&(Je(O,c)||O&&Je(O.buffer,c)))return H(O,w,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,w,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"),w,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,w,E){return y(O,w,E)},Object.setPrototypeOf(h.prototype,s.prototype),Object.setPrototypeOf(h,s);function A(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 b(O,w,E){return A(O),O<=0?f(O):w!==void 0?typeof E=="string"?f(O).fill(w,E):f(O).fill(w):f(O)}h.alloc=function(O,w,E){return b(O,w,E)};function R(O){return A(O),f(O<0?0:G(O)|0)}h.allocUnsafe=function(O){return R(O)},h.allocUnsafeSlow=function(O){return R(O)};function k(O,w){if((typeof w!="string"||w==="")&&(w="utf8"),!h.isEncoding(w))throw new TypeError("Unknown encoding: "+w);const E=Y(O,w)|0;let D=f(E);const V=D.write(O,w);return V!==E&&(D=D.slice(0,V)),D}function S(O){const w=O.length<0?0:G(O.length)|0,E=f(w);for(let D=0;D<w;D+=1)E[D]=O[D]&255;return E}function B(O){if(Je(O,s)){const w=new s(O);return H(w.buffer,w.byteOffset,w.byteLength)}return S(O)}function H(O,w,E){if(w<0||O.byteLength<w)throw new RangeError('"offset" is outside of buffer bounds');if(O.byteLength<w+(E||0))throw new RangeError('"length" is outside of buffer bounds');let D;return w===void 0&&E===void 0?D=new s(O):E===void 0?D=new s(O,w):D=new s(O,w,E),Object.setPrototypeOf(D,h.prototype),D}function U(O){if(h.isBuffer(O)){const w=G(O.length)|0,E=f(w);return E.length===0||O.copy(E,0,0,w),E}if(O.length!==void 0)return typeof O.length!="number"||me(O.length)?f(0):S(O);if(O.type==="Buffer"&&Array.isArray(O.data))return S(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(w){return w!=null&&w._isBuffer===!0&&w!==h.prototype},h.compare=function(w,E){if(Je(w,s)&&(w=h.from(w,w.offset,w.byteLength)),Je(E,s)&&(E=h.from(E,E.offset,E.byteLength)),!h.isBuffer(w)||!h.isBuffer(E))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(w===E)return 0;let D=w.length,V=E.length;for(let q=0,st=Math.min(D,V);q<st;++q)if(w[q]!==E[q]){D=w[q],V=E[q];break}return D<V?-1:V<D?1:0},h.isEncoding=function(w){switch(String(w).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(w,E){if(!Array.isArray(w))throw new TypeError('"list" argument must be an Array of Buffers');if(w.length===0)return h.alloc(0);let D;if(E===void 0)for(E=0,D=0;D<w.length;++D)E+=w[D].length;const V=h.allocUnsafe(E);let q=0;for(D=0;D<w.length;++D){let st=w[D];if(Je(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 Y(O,w){if(h.isBuffer(O))return O.length;if(o.isView(O)||Je(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(w){case"ascii":case"latin1":case"binary":return E;case"utf8":case"utf-8":return Ee(O).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E*2;case"hex":return E>>>1;case"base64":return ue(O).length;default:if(V)return D?-1:Ee(O).length;w=(""+w).toLowerCase(),V=!0}}h.byteLength=Y;function j(O,w,E){let D=!1;if((w===void 0||w<0)&&(w=0),w>this.length||((E===void 0||E>this.length)&&(E=this.length),E<=0)||(E>>>=0,w>>>=0,E<=w))return"";for(O||(O="utf8");;)switch(O){case"hex":return _(this,w,E);case"utf8":case"utf-8":return I(this,w,E);case"ascii":return z(this,w,E);case"latin1":case"binary":return P(this,w,E);case"base64":return v(this,w,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,w,E);default:if(D)throw new TypeError("Unknown encoding: "+O);O=(O+"").toLowerCase(),D=!0}}h.prototype._isBuffer=!0;function J(O,w,E){const D=O[w];O[w]=O[E],O[E]=D}h.prototype.swap16=function(){const w=this.length;if(w%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let E=0;E<w;E+=2)J(this,E,E+1);return this},h.prototype.swap32=function(){const w=this.length;if(w%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let E=0;E<w;E+=4)J(this,E,E+3),J(this,E+1,E+2);return this},h.prototype.swap64=function(){const w=this.length;if(w%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let E=0;E<w;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 w=this.length;return w===0?"":arguments.length===0?I(this,0,w):j.apply(this,arguments)},h.prototype.toLocaleString=h.prototype.toString,h.prototype.equals=function(w){if(!h.isBuffer(w))throw new TypeError("Argument must be a Buffer");return this===w?!0:h.compare(this,w)===0},h.prototype.inspect=function(){let w="";const E=n.INSPECT_MAX_BYTES;return w=this.toString("hex",0,E).replace(/(.{2})/g,"$1 ").trim(),this.length>E&&(w+=" ... "),"<Buffer "+w+">"},r&&(h.prototype[r]=h.prototype.inspect),h.prototype.compare=function(w,E,D,V,q){if(Je(w,s)&&(w=h.from(w,w.offset,w.byteLength)),!h.isBuffer(w))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof w);if(E===void 0&&(E=0),D===void 0&&(D=w?w.length:0),V===void 0&&(V=0),q===void 0&&(q=this.length),E<0||D>w.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===w)return 0;let st=q-V,Wt=D-E;const jt=Math.min(st,Wt),Kt=this.slice(V,q),Ue=w.slice(E,D);for(let Ft=0;Ft<jt;++Ft)if(Kt[Ft]!==Ue[Ft]){st=Kt[Ft],Wt=Ue[Ft];break}return st<Wt?-1:Wt<st?1:0};function it(O,w,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,me(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 w=="string"&&(w=h.from(w,D)),h.isBuffer(w))return w.length===0?-1:ut(O,w,E,D,V);if(typeof w=="number")return w=w&255,typeof s.prototype.indexOf=="function"?V?s.prototype.indexOf.call(O,w,E):s.prototype.lastIndexOf.call(O,w,E):ut(O,[w],E,D,V);throw new TypeError("val must be string, number or Buffer")}function ut(O,w,E,D,V){let q=1,st=O.length,Wt=w.length;if(D!==void 0&&(D=String(D).toLowerCase(),D==="ucs2"||D==="ucs-2"||D==="utf16le"||D==="utf-16le")){if(O.length<2||w.length<2)return-1;q=2,st/=2,Wt/=2,E/=2}function jt(Ue,Ft){return q===1?Ue[Ft]:Ue.readUInt16BE(Ft*q)}let Kt;if(V){let Ue=-1;for(Kt=E;Kt<st;Kt++)if(jt(O,Kt)===jt(w,Ue===-1?0:Kt-Ue)){if(Ue===-1&&(Ue=Kt),Kt-Ue+1===Wt)return Ue*q}else Ue!==-1&&(Kt-=Kt-Ue),Ue=-1}else for(E+Wt>st&&(E=st-Wt),Kt=E;Kt>=0;Kt--){let Ue=!0;for(let Ft=0;Ft<Wt;Ft++)if(jt(O,Kt+Ft)!==jt(w,Ft)){Ue=!1;break}if(Ue)return Kt}return-1}h.prototype.includes=function(w,E,D){return this.indexOf(w,E,D)!==-1},h.prototype.indexOf=function(w,E,D){return it(this,w,E,D,!0)},h.prototype.lastIndexOf=function(w,E,D){return it(this,w,E,D,!1)};function rt(O,w,E,D){E=Number(E)||0;const V=O.length-E;D?(D=Number(D),D>V&&(D=V)):D=V;const q=w.length;D>q/2&&(D=q/2);let st;for(st=0;st<D;++st){const Wt=parseInt(w.substr(st*2,2),16);if(me(Wt))return st;O[E+st]=Wt}return st}function ot(O,w,E,D){return ve(Ee(w,O.length-E),O,E,D)}function C(O,w,E,D){return ve(Ie(w),O,E,D)}function p(O,w,E,D){return ve(ue(w),O,E,D)}function m(O,w,E,D){return ve(_n(w,O.length-E),O,E,D)}h.prototype.write=function(w,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),w.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,w,E,D);case"utf8":case"utf-8":return ot(this,w,E,D);case"ascii":case"latin1":case"binary":return C(this,w,E,D);case"base64":return p(this,w,E,D);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,w,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,w,E){return w===0&&E===O.length?t.fromByteArray(O):t.fromByteArray(O.slice(w,E))}function I(O,w,E){E=Math.min(O.length,E);const D=[];let V=w;for(;V<E;){const q=O[V];let st=null,Wt=q>239?4:q>223?3:q>191?2:1;if(V+Wt<=E){let jt,Kt,Ue,Ft;switch(Wt){case 1:q<128&&(st=q);break;case 2:jt=O[V+1],(jt&192)===128&&(Ft=(q&31)<<6|jt&63,Ft>127&&(st=Ft));break;case 3:jt=O[V+1],Kt=O[V+2],(jt&192)===128&&(Kt&192)===128&&(Ft=(q&15)<<12|(jt&63)<<6|Kt&63,Ft>2047&&(Ft<55296||Ft>57343)&&(st=Ft));break;case 4:jt=O[V+1],Kt=O[V+2],Ue=O[V+3],(jt&192)===128&&(Kt&192)===128&&(Ue&192)===128&&(Ft=(q&15)<<18|(jt&63)<<12|(Kt&63)<<6|Ue&63,Ft>65535&&Ft<1114112&&(st=Ft))}}st===null?(st=65533,Wt=1):st>65535&&(st-=65536,D.push(st>>>10&1023|55296),st=56320|st&1023),D.push(st),V+=Wt}return M(D)}const N=4096;function M(O){const w=O.length;if(w<=N)return String.fromCharCode.apply(String,O);let E="",D=0;for(;D<w;)E+=String.fromCharCode.apply(String,O.slice(D,D+=N));return E}function z(O,w,E){let D="";E=Math.min(O.length,E);for(let V=w;V<E;++V)D+=String.fromCharCode(O[V]&127);return D}function P(O,w,E){let D="";E=Math.min(O.length,E);for(let V=w;V<E;++V)D+=String.fromCharCode(O[V]);return D}function _(O,w,E){const D=O.length;(!w||w<0)&&(w=0),(!E||E<0||E>D)&&(E=D);let V="";for(let q=w;q<E;++q)V+=ke[O[q]];return V}function F(O,w,E){const D=O.slice(w,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(w,E){const D=this.length;w=~~w,E=E===void 0?D:~~E,w<0?(w+=D,w<0&&(w=0)):w>D&&(w=D),E<0?(E+=D,E<0&&(E=0)):E>D&&(E=D),E<w&&(E=w);const V=this.subarray(w,E);return Object.setPrototypeOf(V,h.prototype),V};function ct(O,w,E){if(O%1!==0||O<0)throw new RangeError("offset is not uint");if(O+w>E)throw new RangeError("Trying to access beyond buffer length")}h.prototype.readUintLE=h.prototype.readUIntLE=function(w,E,D){w=w>>>0,E=E>>>0,D||ct(w,E,this.length);let V=this[w],q=1,st=0;for(;++st<E&&(q*=256);)V+=this[w+st]*q;return V},h.prototype.readUintBE=h.prototype.readUIntBE=function(w,E,D){w=w>>>0,E=E>>>0,D||ct(w,E,this.length);let V=this[w+--E],q=1;for(;E>0&&(q*=256);)V+=this[w+--E]*q;return V},h.prototype.readUint8=h.prototype.readUInt8=function(w,E){return w=w>>>0,E||ct(w,1,this.length),this[w]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(w,E){return w=w>>>0,E||ct(w,2,this.length),this[w]|this[w+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(w,E){return w=w>>>0,E||ct(w,2,this.length),this[w]<<8|this[w+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(w,E){return w=w>>>0,E||ct(w,4,this.length),(this[w]|this[w+1]<<8|this[w+2]<<16)+this[w+3]*16777216},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(w,E){return w=w>>>0,E||ct(w,4,this.length),this[w]*16777216+(this[w+1]<<16|this[w+2]<<8|this[w+3])},h.prototype.readBigUInt64LE=Jn(function(w){w=w>>>0,Qe(w,"offset");const E=this[w],D=this[w+7];(E===void 0||D===void 0)&&ce(w,this.length-8);const V=E+this[++w]*2**8+this[++w]*2**16+this[++w]*2**24,q=this[++w]+this[++w]*2**8+this[++w]*2**16+D*2**24;return BigInt(V)+(BigInt(q)<<BigInt(32))}),h.prototype.readBigUInt64BE=Jn(function(w){w=w>>>0,Qe(w,"offset");const E=this[w],D=this[w+7];(E===void 0||D===void 0)&&ce(w,this.length-8);const V=E*2**24+this[++w]*2**16+this[++w]*2**8+this[++w],q=this[++w]*2**24+this[++w]*2**16+this[++w]*2**8+D;return(BigInt(V)<<BigInt(32))+BigInt(q)}),h.prototype.readIntLE=function(w,E,D){w=w>>>0,E=E>>>0,D||ct(w,E,this.length);let V=this[w],q=1,st=0;for(;++st<E&&(q*=256);)V+=this[w+st]*q;return q*=128,V>=q&&(V-=Math.pow(2,8*E)),V},h.prototype.readIntBE=function(w,E,D){w=w>>>0,E=E>>>0,D||ct(w,E,this.length);let V=E,q=1,st=this[w+--V];for(;V>0&&(q*=256);)st+=this[w+--V]*q;return q*=128,st>=q&&(st-=Math.pow(2,8*E)),st},h.prototype.readInt8=function(w,E){return w=w>>>0,E||ct(w,1,this.length),this[w]&128?(255-this[w]+1)*-1:this[w]},h.prototype.readInt16LE=function(w,E){w=w>>>0,E||ct(w,2,this.length);const D=this[w]|this[w+1]<<8;return D&32768?D|4294901760:D},h.prototype.readInt16BE=function(w,E){w=w>>>0,E||ct(w,2,this.length);const D=this[w+1]|this[w]<<8;return D&32768?D|4294901760:D},h.prototype.readInt32LE=function(w,E){return w=w>>>0,E||ct(w,4,this.length),this[w]|this[w+1]<<8|this[w+2]<<16|this[w+3]<<24},h.prototype.readInt32BE=function(w,E){return w=w>>>0,E||ct(w,4,this.length),this[w]<<24|this[w+1]<<16|this[w+2]<<8|this[w+3]},h.prototype.readBigInt64LE=Jn(function(w){w=w>>>0,Qe(w,"offset");const E=this[w],D=this[w+7];(E===void 0||D===void 0)&&ce(w,this.length-8);const V=this[w+4]+this[w+5]*2**8+this[w+6]*2**16+(D<<24);return(BigInt(V)<<BigInt(32))+BigInt(E+this[++w]*2**8+this[++w]*2**16+this[++w]*2**24)}),h.prototype.readBigInt64BE=Jn(function(w){w=w>>>0,Qe(w,"offset");const E=this[w],D=this[w+7];(E===void 0||D===void 0)&&ce(w,this.length-8);const V=(E<<24)+this[++w]*2**16+this[++w]*2**8+this[++w];return(BigInt(V)<<BigInt(32))+BigInt(this[++w]*2**24+this[++w]*2**16+this[++w]*2**8+D)}),h.prototype.readFloatLE=function(w,E){return w=w>>>0,E||ct(w,4,this.length),e.read(this,w,!0,23,4)},h.prototype.readFloatBE=function(w,E){return w=w>>>0,E||ct(w,4,this.length),e.read(this,w,!1,23,4)},h.prototype.readDoubleLE=function(w,E){return w=w>>>0,E||ct(w,8,this.length),e.read(this,w,!0,52,8)},h.prototype.readDoubleBE=function(w,E){return w=w>>>0,E||ct(w,8,this.length),e.read(this,w,!1,52,8)};function ft(O,w,E,D,V,q){if(!h.isBuffer(O))throw new TypeError('"buffer" argument must be a Buffer instance');if(w>V||w<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(w,E,D,V){if(w=+w,E=E>>>0,D=D>>>0,!V){const Wt=Math.pow(2,8*D)-1;ft(this,w,E,D,Wt,0)}let q=1,st=0;for(this[E]=w&255;++st<D&&(q*=256);)this[E+st]=w/q&255;return E+D},h.prototype.writeUintBE=h.prototype.writeUIntBE=function(w,E,D,V){if(w=+w,E=E>>>0,D=D>>>0,!V){const Wt=Math.pow(2,8*D)-1;ft(this,w,E,D,Wt,0)}let q=D-1,st=1;for(this[E+q]=w&255;--q>=0&&(st*=256);)this[E+q]=w/st&255;return E+D},h.prototype.writeUint8=h.prototype.writeUInt8=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,1,255,0),this[E]=w&255,E+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,2,65535,0),this[E]=w&255,this[E+1]=w>>>8,E+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,2,65535,0),this[E]=w>>>8,this[E+1]=w&255,E+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,4,4294967295,0),this[E+3]=w>>>24,this[E+2]=w>>>16,this[E+1]=w>>>8,this[E]=w&255,E+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,4,4294967295,0),this[E]=w>>>24,this[E+1]=w>>>16,this[E+2]=w>>>8,this[E+3]=w&255,E+4};function mt(O,w,E,D,V){ie(w,D,V,O,E,7);let q=Number(w&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(w>>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 Ht(O,w,E,D,V){ie(w,D,V,O,E,7);let q=Number(w&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(w>>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=Jn(function(w,E=0){return mt(this,w,E,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeBigUInt64BE=Jn(function(w,E=0){return Ht(this,w,E,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeIntLE=function(w,E,D,V){if(w=+w,E=E>>>0,!V){const jt=Math.pow(2,8*D-1);ft(this,w,E,D,jt-1,-jt)}let q=0,st=1,Wt=0;for(this[E]=w&255;++q<D&&(st*=256);)w<0&&Wt===0&&this[E+q-1]!==0&&(Wt=1),this[E+q]=(w/st>>0)-Wt&255;return E+D},h.prototype.writeIntBE=function(w,E,D,V){if(w=+w,E=E>>>0,!V){const jt=Math.pow(2,8*D-1);ft(this,w,E,D,jt-1,-jt)}let q=D-1,st=1,Wt=0;for(this[E+q]=w&255;--q>=0&&(st*=256);)w<0&&Wt===0&&this[E+q+1]!==0&&(Wt=1),this[E+q]=(w/st>>0)-Wt&255;return E+D},h.prototype.writeInt8=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,1,127,-128),w<0&&(w=255+w+1),this[E]=w&255,E+1},h.prototype.writeInt16LE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,2,32767,-32768),this[E]=w&255,this[E+1]=w>>>8,E+2},h.prototype.writeInt16BE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,2,32767,-32768),this[E]=w>>>8,this[E+1]=w&255,E+2},h.prototype.writeInt32LE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,4,2147483647,-2147483648),this[E]=w&255,this[E+1]=w>>>8,this[E+2]=w>>>16,this[E+3]=w>>>24,E+4},h.prototype.writeInt32BE=function(w,E,D){return w=+w,E=E>>>0,D||ft(this,w,E,4,2147483647,-2147483648),w<0&&(w=4294967295+w+1),this[E]=w>>>24,this[E+1]=w>>>16,this[E+2]=w>>>8,this[E+3]=w&255,E+4},h.prototype.writeBigInt64LE=Jn(function(w,E=0){return mt(this,w,E,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),h.prototype.writeBigInt64BE=Jn(function(w,E=0){return Ht(this,w,E,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Lt(O,w,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 Mt(O,w,E,D,V){return w=+w,E=E>>>0,V||Lt(O,w,E,4),e.write(O,w,E,D,23,4),E+4}h.prototype.writeFloatLE=function(w,E,D){return Mt(this,w,E,!0,D)},h.prototype.writeFloatBE=function(w,E,D){return Mt(this,w,E,!1,D)};function Ae(O,w,E,D,V){return w=+w,E=E>>>0,V||Lt(O,w,E,8),e.write(O,w,E,D,52,8),E+8}h.prototype.writeDoubleLE=function(w,E,D){return Ae(this,w,E,!0,D)},h.prototype.writeDoubleBE=function(w,E,D){return Ae(this,w,E,!1,D)},h.prototype.copy=function(w,E,D,V){if(!h.isBuffer(w))throw new TypeError("argument should be a Buffer");if(D||(D=0),!V&&V!==0&&(V=this.length),E>=w.length&&(E=w.length),E||(E=0),V>0&&V<D&&(V=D),V===D||w.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),w.length-E<V-D&&(V=w.length-E+D);const q=V-D;return this===w&&typeof s.prototype.copyWithin=="function"?this.copyWithin(E,D,V):s.prototype.set.call(w,this.subarray(D,V),E),q},h.prototype.fill=function(w,E,D,V){if(typeof w=="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(w.length===1){const st=w.charCodeAt(0);(V==="utf8"&&st<128||V==="latin1")&&(w=st)}}else typeof w=="number"?w=w&255:typeof w=="boolean"&&(w=Number(w));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,w||(w=0);let q;if(typeof w=="number")for(q=E;q<D;++q)this[q]=w;else{const st=h.isBuffer(w)?w:h.from(w,V),Wt=st.length;if(Wt===0)throw new TypeError('The value "'+w+'" is invalid for argument "value"');for(q=0;q<D-E;++q)this[q+E]=st[q%Wt]}return this};const Vt={};function Ut(O,w,E){Vt[O]=class extends E{constructor(){super(),Object.defineProperty(this,"message",{value:w.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}`}}}Ut("ERR_BUFFER_OUT_OF_BOUNDS",function(O){return O?`${O} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Ut("ERR_INVALID_ARG_TYPE",function(O,w){return`The "${O}" argument must be of type number. Received type ${typeof w}`},TypeError),Ut("ERR_OUT_OF_RANGE",function(O,w,E){let D=`The value of "${O}" is out of range.`,V=E;return Number.isInteger(E)&&Math.abs(E)>2**32?V=Re(String(E)):typeof E=="bigint"&&(V=String(E),(E>BigInt(2)**BigInt(32)||E<-(BigInt(2)**BigInt(32)))&&(V=Re(V)),V+="n"),D+=` It must be ${w}. Received ${V}`,D},RangeError);function Re(O){let w="",E=O.length;const D=O[0]==="-"?1:0;for(;E>=D+4;E-=3)w=`_${O.slice(E-3,E)}${w}`;return`${O.slice(0,E)}${w}`}function Yt(O,w,E){Qe(w,"offset"),(O[w]===void 0||O[w+E]===void 0)&&ce(w,O.length-(E+1))}function ie(O,w,E,D,V,q){if(O>E||O<w){const st=typeof w=="bigint"?"n":"";let Wt;throw w===0||w===BigInt(0)?Wt=`>= 0${st} and < 2${st} ** ${(q+1)*8}${st}`:Wt=`>= -(2${st} ** ${(q+1)*8-1}${st}) and < 2 ** ${(q+1)*8-1}${st}`,new Vt.ERR_OUT_OF_RANGE("value",Wt,O)}Yt(D,V,q)}function Qe(O,w){if(typeof O!="number")throw new Vt.ERR_INVALID_ARG_TYPE(w,"number",O)}function ce(O,w,E){throw Math.floor(O)!==O?(Qe(O,E),new Vt.ERR_OUT_OF_RANGE("offset","an integer",O)):w<0?new Vt.ERR_BUFFER_OUT_OF_BOUNDS:new Vt.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${w}`,O)}const Me=/[^+/0-9A-Za-z-_]/g;function Xs(O){if(O=O.split("=")[0],O=O.trim().replace(Me,""),O.length<2)return"";for(;O.length%4!==0;)O=O+"=";return O}function Ee(O,w){w=w||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){(w-=3)>-1&&q.push(239,191,189);continue}else if(st+1===D){(w-=3)>-1&&q.push(239,191,189);continue}V=E;continue}if(E<56320){(w-=3)>-1&&q.push(239,191,189),V=E;continue}E=(V-55296<<10|E-56320)+65536}else V&&(w-=3)>-1&&q.push(239,191,189);if(V=null,E<128){if((w-=1)<0)break;q.push(E)}else if(E<2048){if((w-=2)<0)break;q.push(E>>6|192,E&63|128)}else if(E<65536){if((w-=3)<0)break;q.push(E>>12|224,E>>6&63|128,E&63|128)}else if(E<1114112){if((w-=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 Ie(O){const w=[];for(let E=0;E<O.length;++E)w.push(O.charCodeAt(E)&255);return w}function _n(O,w){let E,D,V;const q=[];for(let st=0;st<O.length&&!((w-=2)<0);++st)E=O.charCodeAt(st),D=E>>8,V=E%256,q.push(V),q.push(D);return q}function ue(O){return t.toByteArray(Xs(O))}function ve(O,w,E,D){let V;for(V=0;V<D&&!(V+E>=w.length||V>=O.length);++V)w[V+E]=O[V];return V}function Je(O,w){return O instanceof w||O!=null&&O.constructor!=null&&O.constructor.name!=null&&O.constructor.name===w.name}function me(O){return O!==O}const ke=function(){const O="0123456789abcdef",w=new Array(256);for(let E=0;E<16;++E){const D=E*16;for(let V=0;V<16;++V)w[D+V]=O[E]+O[V]}return w}();function Jn(O){return typeof BigInt>"u"?Le:O}function Le(){throw new Error("BigInt not supported")}})(Hw);const Zt=Hw.Buffer,It=Hw.Buffer,HL=Object.freeze(Object.defineProperty({__proto__:null,Buffer:It,default:Zt},Symbol.toStringTag,{value:"Module"}));var Gw={exports:{}};const Vw=q0(HL);Gw.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=Vw.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 I=0;p[0]==="-"&&(I++,this.negative=1),I<p.length&&(m===16?this._parseHex(p,I,v):(this._parseBase(p,m,I),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 I=0;I<this.length;I++)this.words[I]=0;var N,M,z=0;if(v==="be")for(I=p.length-1,N=0;I>=0;I-=3)M=p[I]|p[I-1]<<8|p[I-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(I=0,N=0;I<p.length;I+=3)M=p[I]|p[I+1]<<8|p[I+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 c(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=c(C,m);return m-1>=p&&(v|=c(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 I=0;I<this.length;I++)this.words[I]=0;var N=0,M=0,z;if(v==="be")for(I=p.length-1;I>=m;I-=2)z=u(p,m,I)<<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(I=P%2===0?m+1:m;I<p.length;I+=2)z=u(p,m,I)<<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 I=0,N=0,M=Math.min(C.length,m),z=p;z<M;z++){var P=C.charCodeAt(z)-48;I*=v,P>=49?N=P-49+10:P>=17?N=P-17+10:N=P,r(P>=0&&N<v,"Invalid character"),I+=N}return I}s.prototype._parseBase=function(p,m,v){this.words=[0],this.length=1;for(var I=0,N=1;N<=67108863;N*=m)I++;I--,N=N/m|0;for(var M=p.length-v,z=M%I,P=Math.min(M,M-z)+v,_=0,F=v;F<P;F+=I)_=f(p,F,F+I,m),this.imuln(N),this.words[0]+_<67108864?this.words[0]+=_:this._iaddn(_);if(z!==0){var ct=1;for(_=f(p,F,p.length,m),F=0;F<z;F++)ct*=m;this.imuln(ct),this.words[0]+_<67108864?this.words[0]+=_:this._iaddn(_)}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 A=["","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"],b=[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 I=0,N=0,M=0;M<this.length;M++){var z=this.words[M],P=((z<<I|N)&16777215).toString(16);N=z>>>24-I&16777215,I+=2,I>=26&&(I-=26,M--),N!==0||M!==this.length-1?v=A[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 _=b[p],F=R[p];v="";var ct=this.clone();for(ct.negative=0;!ct.isZero();){var ft=ct.modrn(F).toString(p);ct=ct.idivn(F),ct.isZero()?v=ft+v:v=A[_-ft.length]+ft+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 k=function(p,m){return p.allocUnsafe?p.allocUnsafe(m):new p(m)};s.prototype.toArrayLike=function(p,m,v){this._strip();var I=this.byteLength(),N=v||Math.max(1,I);r(I<=N,"byte array longer than desired length"),r(N>0,"Requested array length <= 0");var M=k(p,N),z=m==="le"?"LE":"BE";return this["_toArrayLike"+z](M,I),M},s.prototype._toArrayLikeLE=function(p,m){for(var v=0,I=0,N=0,M=0;N<this.length;N++){var z=this.words[N]<<M|I;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),I=0,M=0):(I=z>>>24,M+=2)}if(v<p.length)for(p[v++]=I;v<p.length;)p[v++]=0},s.prototype._toArrayLikeBE=function(p,m){for(var v=p.length-1,I=0,N=0,M=0;N<this.length;N++){var z=this.words[N]<<M|I;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),I=0,M=0):(I=z>>>24,M+=2)}if(v>=0)for(p[v--]=I;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 S(C){for(var p=new Array(C.bitLength()),m=0;m<p.length;m++){var v=m/26|0,I=m%26;p[m]=C.words[v]>>>I&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 I=0;I<v.length;I++)this.words[I]=m.words[I]^v.words[I];if(this!==m)for(;I<m.length;I++)this.words[I]=m.words[I];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 I=0;I<m;I++)this.words[I]=~this.words[I]&67108863;return v>0&&(this.words[I]=~this.words[I]&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,I=p%26;return this._expand(v+1),m?this.words[v]=this.words[v]|1<<I:this.words[v]=this.words[v]&~(1<<I),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,I;this.length>p.length?(v=this,I=p):(v=p,I=this);for(var N=0,M=0;M<I.length;M++)m=(v.words[M]|0)+(I.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 I,N;v>0?(I=this,N=p):(I=p,N=this);for(var M=0,z=0;z<N.length;z++)m=(I.words[z]|0)-(N.words[z]|0)+M,M=m>>26,this.words[z]=m&67108863;for(;M!==0&&z<I.length;z++)m=(I.words[z]|0)+M,M=m>>26,this.words[z]=m&67108863;if(M===0&&z<I.length&&I!==this)for(;z<I.length;z++)this.words[z]=I.words[z];return this.length=Math.max(this.length,z),I!==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 I=C.words[0]|0,N=p.words[0]|0,M=I*N,z=M&67108863,P=M/67108864|0;m.words[0]=z;for(var _=1;_<v;_++){for(var F=P>>>26,ct=P&67108863,ft=Math.min(_,p.length-1),mt=Math.max(0,_-C.length+1);mt<=ft;mt++){var Ht=_-mt|0;I=C.words[Ht]|0,N=p.words[mt]|0,M=I*N+ct,F+=M/67108864|0,ct=M&67108863}m.words[_]=ct|0,P=F|0}return P!==0?m.words[_]=P|0:m.length--,m._strip()}var H=function(p,m,v){var I=p.words,N=m.words,M=v.words,z=0,P,_,F,ct=I[0]|0,ft=ct&8191,mt=ct>>>13,Ht=I[1]|0,Lt=Ht&8191,Mt=Ht>>>13,Ae=I[2]|0,Vt=Ae&8191,Ut=Ae>>>13,Re=I[3]|0,Yt=Re&8191,ie=Re>>>13,Qe=I[4]|0,ce=Qe&8191,Me=Qe>>>13,Xs=I[5]|0,Ee=Xs&8191,Ie=Xs>>>13,_n=I[6]|0,ue=_n&8191,ve=_n>>>13,Je=I[7]|0,me=Je&8191,ke=Je>>>13,Jn=I[8]|0,Le=Jn&8191,O=Jn>>>13,w=I[9]|0,E=w&8191,D=w>>>13,V=N[0]|0,q=V&8191,st=V>>>13,Wt=N[1]|0,jt=Wt&8191,Kt=Wt>>>13,Ue=N[2]|0,Ft=Ue&8191,on=Ue>>>13,sd=N[3]|0,an=sd&8191,cn=sd>>>13,od=N[4]|0,Ye=od&8191,un=od>>>13,ad=N[5]|0,Xe=ad&8191,ln=ad>>>13,ia=N[6]|0,je=ia&8191,fn=ia>>>13,cd=N[7]|0,hn=cd&8191,dn=cd>>>13,ud=N[8]|0,pn=ud&8191,gn=ud>>>13,sa=N[9]|0,yn=sa&8191,mn=sa>>>13;v.negative=p.negative^m.negative,v.length=19,P=Math.imul(ft,q),_=Math.imul(ft,st),_=_+Math.imul(mt,q)|0,F=Math.imul(mt,st);var Fl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Fl>>>26)|0,Fl&=67108863,P=Math.imul(Lt,q),_=Math.imul(Lt,st),_=_+Math.imul(Mt,q)|0,F=Math.imul(Mt,st),P=P+Math.imul(ft,jt)|0,_=_+Math.imul(ft,Kt)|0,_=_+Math.imul(mt,jt)|0,F=F+Math.imul(mt,Kt)|0;var Ic=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Ic>>>26)|0,Ic&=67108863,P=Math.imul(Vt,q),_=Math.imul(Vt,st),_=_+Math.imul(Ut,q)|0,F=Math.imul(Ut,st),P=P+Math.imul(Lt,jt)|0,_=_+Math.imul(Lt,Kt)|0,_=_+Math.imul(Mt,jt)|0,F=F+Math.imul(Mt,Kt)|0,P=P+Math.imul(ft,Ft)|0,_=_+Math.imul(ft,on)|0,_=_+Math.imul(mt,Ft)|0,F=F+Math.imul(mt,on)|0;var $l=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+($l>>>26)|0,$l&=67108863,P=Math.imul(Yt,q),_=Math.imul(Yt,st),_=_+Math.imul(ie,q)|0,F=Math.imul(ie,st),P=P+Math.imul(Vt,jt)|0,_=_+Math.imul(Vt,Kt)|0,_=_+Math.imul(Ut,jt)|0,F=F+Math.imul(Ut,Kt)|0,P=P+Math.imul(Lt,Ft)|0,_=_+Math.imul(Lt,on)|0,_=_+Math.imul(Mt,Ft)|0,F=F+Math.imul(Mt,on)|0,P=P+Math.imul(ft,an)|0,_=_+Math.imul(ft,cn)|0,_=_+Math.imul(mt,an)|0,F=F+Math.imul(mt,cn)|0;var Hl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Hl>>>26)|0,Hl&=67108863,P=Math.imul(ce,q),_=Math.imul(ce,st),_=_+Math.imul(Me,q)|0,F=Math.imul(Me,st),P=P+Math.imul(Yt,jt)|0,_=_+Math.imul(Yt,Kt)|0,_=_+Math.imul(ie,jt)|0,F=F+Math.imul(ie,Kt)|0,P=P+Math.imul(Vt,Ft)|0,_=_+Math.imul(Vt,on)|0,_=_+Math.imul(Ut,Ft)|0,F=F+Math.imul(Ut,on)|0,P=P+Math.imul(Lt,an)|0,_=_+Math.imul(Lt,cn)|0,_=_+Math.imul(Mt,an)|0,F=F+Math.imul(Mt,cn)|0,P=P+Math.imul(ft,Ye)|0,_=_+Math.imul(ft,un)|0,_=_+Math.imul(mt,Ye)|0,F=F+Math.imul(mt,un)|0;var zl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(zl>>>26)|0,zl&=67108863,P=Math.imul(Ee,q),_=Math.imul(Ee,st),_=_+Math.imul(Ie,q)|0,F=Math.imul(Ie,st),P=P+Math.imul(ce,jt)|0,_=_+Math.imul(ce,Kt)|0,_=_+Math.imul(Me,jt)|0,F=F+Math.imul(Me,Kt)|0,P=P+Math.imul(Yt,Ft)|0,_=_+Math.imul(Yt,on)|0,_=_+Math.imul(ie,Ft)|0,F=F+Math.imul(ie,on)|0,P=P+Math.imul(Vt,an)|0,_=_+Math.imul(Vt,cn)|0,_=_+Math.imul(Ut,an)|0,F=F+Math.imul(Ut,cn)|0,P=P+Math.imul(Lt,Ye)|0,_=_+Math.imul(Lt,un)|0,_=_+Math.imul(Mt,Ye)|0,F=F+Math.imul(Mt,un)|0,P=P+Math.imul(ft,Xe)|0,_=_+Math.imul(ft,ln)|0,_=_+Math.imul(mt,Xe)|0,F=F+Math.imul(mt,ln)|0;var Gl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Gl>>>26)|0,Gl&=67108863,P=Math.imul(ue,q),_=Math.imul(ue,st),_=_+Math.imul(ve,q)|0,F=Math.imul(ve,st),P=P+Math.imul(Ee,jt)|0,_=_+Math.imul(Ee,Kt)|0,_=_+Math.imul(Ie,jt)|0,F=F+Math.imul(Ie,Kt)|0,P=P+Math.imul(ce,Ft)|0,_=_+Math.imul(ce,on)|0,_=_+Math.imul(Me,Ft)|0,F=F+Math.imul(Me,on)|0,P=P+Math.imul(Yt,an)|0,_=_+Math.imul(Yt,cn)|0,_=_+Math.imul(ie,an)|0,F=F+Math.imul(ie,cn)|0,P=P+Math.imul(Vt,Ye)|0,_=_+Math.imul(Vt,un)|0,_=_+Math.imul(Ut,Ye)|0,F=F+Math.imul(Ut,un)|0,P=P+Math.imul(Lt,Xe)|0,_=_+Math.imul(Lt,ln)|0,_=_+Math.imul(Mt,Xe)|0,F=F+Math.imul(Mt,ln)|0,P=P+Math.imul(ft,je)|0,_=_+Math.imul(ft,fn)|0,_=_+Math.imul(mt,je)|0,F=F+Math.imul(mt,fn)|0;var kc=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(kc>>>26)|0,kc&=67108863,P=Math.imul(me,q),_=Math.imul(me,st),_=_+Math.imul(ke,q)|0,F=Math.imul(ke,st),P=P+Math.imul(ue,jt)|0,_=_+Math.imul(ue,Kt)|0,_=_+Math.imul(ve,jt)|0,F=F+Math.imul(ve,Kt)|0,P=P+Math.imul(Ee,Ft)|0,_=_+Math.imul(Ee,on)|0,_=_+Math.imul(Ie,Ft)|0,F=F+Math.imul(Ie,on)|0,P=P+Math.imul(ce,an)|0,_=_+Math.imul(ce,cn)|0,_=_+Math.imul(Me,an)|0,F=F+Math.imul(Me,cn)|0,P=P+Math.imul(Yt,Ye)|0,_=_+Math.imul(Yt,un)|0,_=_+Math.imul(ie,Ye)|0,F=F+Math.imul(ie,un)|0,P=P+Math.imul(Vt,Xe)|0,_=_+Math.imul(Vt,ln)|0,_=_+Math.imul(Ut,Xe)|0,F=F+Math.imul(Ut,ln)|0,P=P+Math.imul(Lt,je)|0,_=_+Math.imul(Lt,fn)|0,_=_+Math.imul(Mt,je)|0,F=F+Math.imul(Mt,fn)|0,P=P+Math.imul(ft,hn)|0,_=_+Math.imul(ft,dn)|0,_=_+Math.imul(mt,hn)|0,F=F+Math.imul(mt,dn)|0;var Vl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Vl>>>26)|0,Vl&=67108863,P=Math.imul(Le,q),_=Math.imul(Le,st),_=_+Math.imul(O,q)|0,F=Math.imul(O,st),P=P+Math.imul(me,jt)|0,_=_+Math.imul(me,Kt)|0,_=_+Math.imul(ke,jt)|0,F=F+Math.imul(ke,Kt)|0,P=P+Math.imul(ue,Ft)|0,_=_+Math.imul(ue,on)|0,_=_+Math.imul(ve,Ft)|0,F=F+Math.imul(ve,on)|0,P=P+Math.imul(Ee,an)|0,_=_+Math.imul(Ee,cn)|0,_=_+Math.imul(Ie,an)|0,F=F+Math.imul(Ie,cn)|0,P=P+Math.imul(ce,Ye)|0,_=_+Math.imul(ce,un)|0,_=_+Math.imul(Me,Ye)|0,F=F+Math.imul(Me,un)|0,P=P+Math.imul(Yt,Xe)|0,_=_+Math.imul(Yt,ln)|0,_=_+Math.imul(ie,Xe)|0,F=F+Math.imul(ie,ln)|0,P=P+Math.imul(Vt,je)|0,_=_+Math.imul(Vt,fn)|0,_=_+Math.imul(Ut,je)|0,F=F+Math.imul(Ut,fn)|0,P=P+Math.imul(Lt,hn)|0,_=_+Math.imul(Lt,dn)|0,_=_+Math.imul(Mt,hn)|0,F=F+Math.imul(Mt,dn)|0,P=P+Math.imul(ft,pn)|0,_=_+Math.imul(ft,gn)|0,_=_+Math.imul(mt,pn)|0,F=F+Math.imul(mt,gn)|0;var ls=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(ls>>>26)|0,ls&=67108863,P=Math.imul(E,q),_=Math.imul(E,st),_=_+Math.imul(D,q)|0,F=Math.imul(D,st),P=P+Math.imul(Le,jt)|0,_=_+Math.imul(Le,Kt)|0,_=_+Math.imul(O,jt)|0,F=F+Math.imul(O,Kt)|0,P=P+Math.imul(me,Ft)|0,_=_+Math.imul(me,on)|0,_=_+Math.imul(ke,Ft)|0,F=F+Math.imul(ke,on)|0,P=P+Math.imul(ue,an)|0,_=_+Math.imul(ue,cn)|0,_=_+Math.imul(ve,an)|0,F=F+Math.imul(ve,cn)|0,P=P+Math.imul(Ee,Ye)|0,_=_+Math.imul(Ee,un)|0,_=_+Math.imul(Ie,Ye)|0,F=F+Math.imul(Ie,un)|0,P=P+Math.imul(ce,Xe)|0,_=_+Math.imul(ce,ln)|0,_=_+Math.imul(Me,Xe)|0,F=F+Math.imul(Me,ln)|0,P=P+Math.imul(Yt,je)|0,_=_+Math.imul(Yt,fn)|0,_=_+Math.imul(ie,je)|0,F=F+Math.imul(ie,fn)|0,P=P+Math.imul(Vt,hn)|0,_=_+Math.imul(Vt,dn)|0,_=_+Math.imul(Ut,hn)|0,F=F+Math.imul(Ut,dn)|0,P=P+Math.imul(Lt,pn)|0,_=_+Math.imul(Lt,gn)|0,_=_+Math.imul(Mt,pn)|0,F=F+Math.imul(Mt,gn)|0,P=P+Math.imul(ft,yn)|0,_=_+Math.imul(ft,mn)|0,_=_+Math.imul(mt,yn)|0,F=F+Math.imul(mt,mn)|0;var Kl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Kl>>>26)|0,Kl&=67108863,P=Math.imul(E,jt),_=Math.imul(E,Kt),_=_+Math.imul(D,jt)|0,F=Math.imul(D,Kt),P=P+Math.imul(Le,Ft)|0,_=_+Math.imul(Le,on)|0,_=_+Math.imul(O,Ft)|0,F=F+Math.imul(O,on)|0,P=P+Math.imul(me,an)|0,_=_+Math.imul(me,cn)|0,_=_+Math.imul(ke,an)|0,F=F+Math.imul(ke,cn)|0,P=P+Math.imul(ue,Ye)|0,_=_+Math.imul(ue,un)|0,_=_+Math.imul(ve,Ye)|0,F=F+Math.imul(ve,un)|0,P=P+Math.imul(Ee,Xe)|0,_=_+Math.imul(Ee,ln)|0,_=_+Math.imul(Ie,Xe)|0,F=F+Math.imul(Ie,ln)|0,P=P+Math.imul(ce,je)|0,_=_+Math.imul(ce,fn)|0,_=_+Math.imul(Me,je)|0,F=F+Math.imul(Me,fn)|0,P=P+Math.imul(Yt,hn)|0,_=_+Math.imul(Yt,dn)|0,_=_+Math.imul(ie,hn)|0,F=F+Math.imul(ie,dn)|0,P=P+Math.imul(Vt,pn)|0,_=_+Math.imul(Vt,gn)|0,_=_+Math.imul(Ut,pn)|0,F=F+Math.imul(Ut,gn)|0,P=P+Math.imul(Lt,yn)|0,_=_+Math.imul(Lt,mn)|0,_=_+Math.imul(Mt,yn)|0,F=F+Math.imul(Mt,mn)|0;var ci=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(ci>>>26)|0,ci&=67108863,P=Math.imul(E,Ft),_=Math.imul(E,on),_=_+Math.imul(D,Ft)|0,F=Math.imul(D,on),P=P+Math.imul(Le,an)|0,_=_+Math.imul(Le,cn)|0,_=_+Math.imul(O,an)|0,F=F+Math.imul(O,cn)|0,P=P+Math.imul(me,Ye)|0,_=_+Math.imul(me,un)|0,_=_+Math.imul(ke,Ye)|0,F=F+Math.imul(ke,un)|0,P=P+Math.imul(ue,Xe)|0,_=_+Math.imul(ue,ln)|0,_=_+Math.imul(ve,Xe)|0,F=F+Math.imul(ve,ln)|0,P=P+Math.imul(Ee,je)|0,_=_+Math.imul(Ee,fn)|0,_=_+Math.imul(Ie,je)|0,F=F+Math.imul(Ie,fn)|0,P=P+Math.imul(ce,hn)|0,_=_+Math.imul(ce,dn)|0,_=_+Math.imul(Me,hn)|0,F=F+Math.imul(Me,dn)|0,P=P+Math.imul(Yt,pn)|0,_=_+Math.imul(Yt,gn)|0,_=_+Math.imul(ie,pn)|0,F=F+Math.imul(ie,gn)|0,P=P+Math.imul(Vt,yn)|0,_=_+Math.imul(Vt,mn)|0,_=_+Math.imul(Ut,yn)|0,F=F+Math.imul(Ut,mn)|0;var jl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(jl>>>26)|0,jl&=67108863,P=Math.imul(E,an),_=Math.imul(E,cn),_=_+Math.imul(D,an)|0,F=Math.imul(D,cn),P=P+Math.imul(Le,Ye)|0,_=_+Math.imul(Le,un)|0,_=_+Math.imul(O,Ye)|0,F=F+Math.imul(O,un)|0,P=P+Math.imul(me,Xe)|0,_=_+Math.imul(me,ln)|0,_=_+Math.imul(ke,Xe)|0,F=F+Math.imul(ke,ln)|0,P=P+Math.imul(ue,je)|0,_=_+Math.imul(ue,fn)|0,_=_+Math.imul(ve,je)|0,F=F+Math.imul(ve,fn)|0,P=P+Math.imul(Ee,hn)|0,_=_+Math.imul(Ee,dn)|0,_=_+Math.imul(Ie,hn)|0,F=F+Math.imul(Ie,dn)|0,P=P+Math.imul(ce,pn)|0,_=_+Math.imul(ce,gn)|0,_=_+Math.imul(Me,pn)|0,F=F+Math.imul(Me,gn)|0,P=P+Math.imul(Yt,yn)|0,_=_+Math.imul(Yt,mn)|0,_=_+Math.imul(ie,yn)|0,F=F+Math.imul(ie,mn)|0;var Wl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Wl>>>26)|0,Wl&=67108863,P=Math.imul(E,Ye),_=Math.imul(E,un),_=_+Math.imul(D,Ye)|0,F=Math.imul(D,un),P=P+Math.imul(Le,Xe)|0,_=_+Math.imul(Le,ln)|0,_=_+Math.imul(O,Xe)|0,F=F+Math.imul(O,ln)|0,P=P+Math.imul(me,je)|0,_=_+Math.imul(me,fn)|0,_=_+Math.imul(ke,je)|0,F=F+Math.imul(ke,fn)|0,P=P+Math.imul(ue,hn)|0,_=_+Math.imul(ue,dn)|0,_=_+Math.imul(ve,hn)|0,F=F+Math.imul(ve,dn)|0,P=P+Math.imul(Ee,pn)|0,_=_+Math.imul(Ee,gn)|0,_=_+Math.imul(Ie,pn)|0,F=F+Math.imul(Ie,gn)|0,P=P+Math.imul(ce,yn)|0,_=_+Math.imul(ce,mn)|0,_=_+Math.imul(Me,yn)|0,F=F+Math.imul(Me,mn)|0;var Tc=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Tc>>>26)|0,Tc&=67108863,P=Math.imul(E,Xe),_=Math.imul(E,ln),_=_+Math.imul(D,Xe)|0,F=Math.imul(D,ln),P=P+Math.imul(Le,je)|0,_=_+Math.imul(Le,fn)|0,_=_+Math.imul(O,je)|0,F=F+Math.imul(O,fn)|0,P=P+Math.imul(me,hn)|0,_=_+Math.imul(me,dn)|0,_=_+Math.imul(ke,hn)|0,F=F+Math.imul(ke,dn)|0,P=P+Math.imul(ue,pn)|0,_=_+Math.imul(ue,gn)|0,_=_+Math.imul(ve,pn)|0,F=F+Math.imul(ve,gn)|0,P=P+Math.imul(Ee,yn)|0,_=_+Math.imul(Ee,mn)|0,_=_+Math.imul(Ie,yn)|0,F=F+Math.imul(Ie,mn)|0;var Zl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Zl>>>26)|0,Zl&=67108863,P=Math.imul(E,je),_=Math.imul(E,fn),_=_+Math.imul(D,je)|0,F=Math.imul(D,fn),P=P+Math.imul(Le,hn)|0,_=_+Math.imul(Le,dn)|0,_=_+Math.imul(O,hn)|0,F=F+Math.imul(O,dn)|0,P=P+Math.imul(me,pn)|0,_=_+Math.imul(me,gn)|0,_=_+Math.imul(ke,pn)|0,F=F+Math.imul(ke,gn)|0,P=P+Math.imul(ue,yn)|0,_=_+Math.imul(ue,mn)|0,_=_+Math.imul(ve,yn)|0,F=F+Math.imul(ve,mn)|0;var ql=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(ql>>>26)|0,ql&=67108863,P=Math.imul(E,hn),_=Math.imul(E,dn),_=_+Math.imul(D,hn)|0,F=Math.imul(D,dn),P=P+Math.imul(Le,pn)|0,_=_+Math.imul(Le,gn)|0,_=_+Math.imul(O,pn)|0,F=F+Math.imul(O,gn)|0,P=P+Math.imul(me,yn)|0,_=_+Math.imul(me,mn)|0,_=_+Math.imul(ke,yn)|0,F=F+Math.imul(ke,mn)|0;var Ql=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Ql>>>26)|0,Ql&=67108863,P=Math.imul(E,pn),_=Math.imul(E,gn),_=_+Math.imul(D,pn)|0,F=Math.imul(D,gn),P=P+Math.imul(Le,yn)|0,_=_+Math.imul(Le,mn)|0,_=_+Math.imul(O,yn)|0,F=F+Math.imul(O,mn)|0;var Jl=(z+P|0)+((_&8191)<<13)|0;z=(F+(_>>>13)|0)+(Jl>>>26)|0,Jl&=67108863,P=Math.imul(E,yn),_=Math.imul(E,mn),_=_+Math.imul(D,yn)|0,F=Math.imul(D,mn);var to=(z+P|0)+((_&8191)<<13)|0;return z=(F+(_>>>13)|0)+(to>>>26)|0,to&=67108863,M[0]=Fl,M[1]=Ic,M[2]=$l,M[3]=Hl,M[4]=zl,M[5]=Gl,M[6]=kc,M[7]=Vl,M[8]=ls,M[9]=Kl,M[10]=ci,M[11]=jl,M[12]=Wl,M[13]=Tc,M[14]=Zl,M[15]=ql,M[16]=Ql,M[17]=Jl,M[18]=to,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,I=0,N=0;N<m.length-1;N++){var M=I;I=0;for(var z=v&67108863,P=Math.min(N,p.length-1),_=Math.max(0,N-C.length+1);_<=P;_++){var F=N-_,ct=C.words[F]|0,ft=p.words[_]|0,mt=ct*ft,Ht=mt&67108863;M=M+(mt/67108864|0)|0,Ht=Ht+z|0,z=Ht&67108863,M=M+(Ht>>>26)|0,I+=M>>>26,M&=67108863}m.words[N]=z,v=M,M=I}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,I=this.length+p.length;return this.length===10&&p.length===10?v=H(this,p,m):I<63?v=B(this,p,m):I<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,I=0;I<this.length;I++){var N=(this.words[I]|0)*p,M=(N&67108863)+(v&67108863);v>>=26,v+=N/67108864|0,v+=M>>>26,this.words[I]=M&67108863}return v!==0&&(this.words[I]=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=S(p);if(m.length===0)return new s(1);for(var v=this,I=0;I<m.length&&m[I]===0;I++,v=v.sqr());if(++I<m.length)for(var N=v.sqr();I<m.length;I++,N=N.sqr())m[I]!==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,I=67108863>>>26-m<<26-m,N;if(m!==0){var M=0;for(N=0;N<this.length;N++){var z=this.words[N]&I,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 I;m?I=(m-m%26)/26:I=0;var N=p%26,M=Math.min((p-N)/26,this.length),z=67108863^67108863>>>N<<N,P=v;if(I-=M,I=Math.max(0,I),P){for(var _=0;_<M;_++)P.words[_]=this.words[_];P.length=M}if(M!==0)if(this.length>M)for(this.length-=M,_=0;_<this.length;_++)this.words[_]=this.words[_+M];else this.words[0]=0,this.length=1;var F=0;for(_=this.length-1;_>=0&&(F!==0||_>=I);_--){var ct=this.words[_]|0;this.words[_]=F<<26-N|ct>>>N,F=ct&z}return P&&F!==0&&(P.words[P.length++]=F),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,I=1<<m;if(this.length<=v)return!1;var N=this.words[v];return!!(N&I)},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 I=67108863^67108863>>>m<<m;this.words[this.length-1]&=I}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 I=p.length+v,N;this._expand(I);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,I=this.clone(),N=p,M=N.words[N.length-1]|0,z=this._countBits(M);v=26-z,v!==0&&(N=N.ushln(v),I.iushln(v),M=N.words[N.length-1]|0);var P=I.length-N.length,_;if(m!=="mod"){_=new s(null),_.length=P+1,_.words=new Array(_.length);for(var F=0;F<_.length;F++)_.words[F]=0}var ct=I.clone()._ishlnsubmul(N,1,P);ct.negative===0&&(I=ct,_&&(_.words[P]=1));for(var ft=P-1;ft>=0;ft--){var mt=(I.words[N.length+ft]|0)*67108864+(I.words[N.length+ft-1]|0);for(mt=Math.min(mt/M|0,67108863),I._ishlnsubmul(N,mt,ft);I.negative!==0;)mt--,I.negative=0,I._ishlnsubmul(N,1,ft),I.isZero()||(I.negative^=1);_&&(_.words[ft]=mt)}return _&&_._strip(),I._strip(),m!=="div"&&v!==0&&I.iushrn(v),{div:_||null,mod:I}},s.prototype.divmod=function(p,m,v){if(r(!p.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var I,N,M;return this.negative!==0&&p.negative===0?(M=this.neg().divmod(p,m),m!=="mod"&&(I=M.div.neg()),m!=="div"&&(N=M.mod.neg(),v&&N.negative!==0&&N.iadd(p)),{div:I,mod:N}):this.negative===0&&p.negative!==0?(M=this.divmod(p.neg(),m),m!=="mod"&&(I=M.div.neg()),{div:I,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,I=p.ushrn(1),N=p.andln(1),M=v.cmp(I);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,I=0,N=this.length-1;N>=0;N--)I=(v*I+(this.words[N]|0))%p;return m?-I:I},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,I=this.length-1;I>=0;I--){var N=(this.words[I]|0)+v*67108864;this.words[I]=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 I=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 _=v.clone(),F=m.clone();!m.isZero();){for(var ct=0,ft=1;!(m.words[0]&ft)&&ct<26;++ct,ft<<=1);if(ct>0)for(m.iushrn(ct);ct-- >0;)(I.isOdd()||N.isOdd())&&(I.iadd(_),N.isub(F)),I.iushrn(1),N.iushrn(1);for(var mt=0,Ht=1;!(v.words[0]&Ht)&&mt<26;++mt,Ht<<=1);if(mt>0)for(v.iushrn(mt);mt-- >0;)(M.isOdd()||z.isOdd())&&(M.iadd(_),z.isub(F)),M.iushrn(1),z.iushrn(1);m.cmp(v)>=0?(m.isub(v),I.isub(M),N.isub(z)):(v.isub(m),M.isub(I),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 I=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;)I.isOdd()&&I.iadd(M),I.iushrn(1);for(var _=0,F=1;!(v.words[0]&F)&&_<26;++_,F<<=1);if(_>0)for(v.iushrn(_);_-- >0;)N.isOdd()&&N.iadd(M),N.iushrn(1);m.cmp(v)>=0?(m.isub(v),I.isub(N)):(v.isub(m),N.isub(I))}var ct;return m.cmpn(1)===0?ct=I: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 I=0;m.isEven()&&v.isEven();I++)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(I)},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,I=1<<m;if(this.length<=v)return this._expand(v+1),this.words[v]|=I,this;for(var N=I,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 I=this.words[0]|0;v=I===p?0:I<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 I=this.words[v]|0,N=p.words[v]|0;if(I!==N){I<N?m=-1:I>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 Y(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()}Y.prototype._tmp=function(){var p=new s(null);return p.words=new Array(Math.ceil(this.n/13)),p},Y.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 I=v<this.n?-1:m.ucmp(this.p);return I===0?(m.words[0]=0,m.length=1):I>0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},Y.prototype.split=function(p,m){p.iushrn(this.n,0,m)},Y.prototype.imulK=function(p){return p.imul(this.k)};function j(){Y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(j,Y),j.prototype.split=function(p,m){for(var v=4194303,I=Math.min(p.length,9),N=0;N<I;N++)m.words[N]=p.words[N];if(m.length=I,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 I=p.words[v]|0;m+=I*977,p.words[v]=m&67108863,m=I*64+(m/67108864|0)}return p.words[p.length-1]===0&&(p.length--,p.words[p.length-1]===0&&p.length--),p};function J(){Y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(J,Y);function it(){Y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(it,Y);function ut(){Y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ut,Y),ut.prototype.imulK=function(p){for(var m=0,v=0;v<p.length;v++){var I=(p.words[v]|0)*19+m,N=I&67108863;I>>>=26,p.words[v]=N,m=I}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 I=this.m.subn(1),N=0;!I.isZero()&&I.andln(1)===0;)N++,I.iushrn(1);r(!I.isZero());var M=new s(1).toRed(this),z=M.redNeg(),P=this.m.subn(1).iushrn(1),_=this.m.bitLength();for(_=new s(2*_*_).toRed(this);this.pow(_,P).cmp(z)!==0;)_.redIAdd(z);for(var F=this.pow(_,I),ct=this.pow(p,I.addn(1).iushrn(1)),ft=this.pow(p,I),mt=N;ft.cmp(M)!==0;){for(var Ht=ft,Lt=0;Ht.cmp(M)!==0;Lt++)Ht=Ht.redSqr();r(Lt<mt);var Mt=this.pow(F,new s(1).iushln(mt-Lt-1));ct=ct.redMul(Mt),F=Mt.redSqr(),ft=ft.redMul(F),mt=Lt}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,I=new Array(1<<v);I[0]=new s(1).toRed(this),I[1]=p;for(var N=2;N<I.length;N++)I[N]=this.mul(I[N-1],p);var M=I[0],z=0,P=0,_=m.bitLength()%26;for(_===0&&(_=26),N=m.length-1;N>=0;N--){for(var F=m.words[N],ct=_-1;ct>=0;ct--){var ft=F>>ct&1;if(M!==I[0]&&(M=this.sqr(M)),ft===0&&z===0){P=0;continue}z<<=1,z|=ft,P++,!(P!==v&&(N!==0||ct!==0))&&(M=this.mul(M,I[z]),P=0,z=0)}_=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),I=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=v.isub(I).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),I=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=v.isub(I).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,Zn)})(Gw);var Kw=Gw.exports;const Ls=ea(Kw);function p0(n){if(!Number.isSafeInteger(n)||n<0)throw new Error("positive integer expected, got "+n)}function zL(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function Fh(n,...t){if(!zL(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 GL(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");p0(n.outputLen),p0(n.blockLen)}function rl(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 Ax(n,t){Fh(n);const e=t.outputLen;if(n.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}const Lc=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function VL(n){return new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4))}function wy(n){return new DataView(n.buffer,n.byteOffset,n.byteLength)}function Oi(n,t){return n<<32-t|n>>>t}const J_=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function KL(n){return n<<24&4278190080|n<<8&16711680|n>>>8&65280|n>>>24&255}function Y_(n){for(let t=0;t<n.length;t++)n[t]=KL(n[t])}function jL(n){if(typeof n!="string")throw new Error("utf8ToBytes expected string, got "+typeof n);return new Uint8Array(new TextEncoder().encode(n))}function sp(n){return typeof n=="string"&&(n=jL(n)),Fh(n),n}function WL(...n){let t=0;for(let r=0;r<n.length;r++){const i=n[r];Fh(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 jw=class{clone(){return this._cloneInto()}};function Ww(n){const t=r=>n().update(sp(r)).digest(),e=n();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>n(),t}function Ex(n=32){if(Lc&&typeof Lc.getRandomValues=="function")return Lc.getRandomValues(new Uint8Array(n));if(Lc&&typeof Lc.randomBytes=="function")return Lc.randomBytes(n);throw new Error("crypto.getRandomValues must be defined")}function ZL(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),c=Number(e&s),u=r?4:0,f=r?0:4;n.setUint32(t+u,o,r),n.setUint32(t+f,c,r)}function qL(n,t,e){return n&t^~n&e}function QL(n,t,e){return n&t^n&e^t&e}class vx extends jw{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=wy(this.buffer)}update(t){rl(this);const{view:e,buffer:r,blockLen:i}=this;t=sp(t);const s=t.length;for(let o=0;o<s;){const c=Math.min(i-this.pos,s-o);if(c===i){const u=wy(t);for(;i<=s-o;o+=i)this.process(u,o);continue}r.set(t.subarray(o,o+c),this.pos),this.pos+=c,o+=c,this.pos===i&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){rl(this),Ax(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;ZL(r,i-8,BigInt(this.length*8),s),this.process(r,0);const c=wy(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++)c.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:c}=this;return t.length=i,t.pos=c,t.finished=s,t.destroyed=o,i%e&&t.buffer.set(r),t}}const Ad=BigInt(2**32-1),Tm=BigInt(32);function xx(n,t=!1){return t?{h:Number(n&Ad),l:Number(n>>Tm&Ad)}:{h:Number(n>>Tm&Ad)|0,l:Number(n&Ad)|0}}function Rx(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}=xx(n[i],t);[e[i],r[i]]=[s,o]}return[e,r]}const JL=(n,t)=>BigInt(n>>>0)<<Tm|BigInt(t>>>0),YL=(n,t,e)=>n>>>e,XL=(n,t,e)=>n<<32-e|t>>>e,tU=(n,t,e)=>n>>>e|t<<32-e,eU=(n,t,e)=>n<<32-e|t>>>e,nU=(n,t,e)=>n<<64-e|t>>>e-32,rU=(n,t,e)=>n>>>e-32|t<<64-e,iU=(n,t)=>t,sU=(n,t)=>n,Sx=(n,t,e)=>n<<e|t>>>32-e,Ix=(n,t,e)=>t<<e|n>>>32-e,kx=(n,t,e)=>t<<e-32|n>>>64-e,Tx=(n,t,e)=>n<<e-32|t>>>64-e;function oU(n,t,e,r){const i=(t>>>0)+(r>>>0);return{h:n+e+(i/2**32|0)|0,l:i|0}}const aU=(n,t,e)=>(n>>>0)+(t>>>0)+(e>>>0),cU=(n,t,e,r)=>t+e+r+(n/2**32|0)|0,uU=(n,t,e,r)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0),lU=(n,t,e,r,i)=>t+e+r+i+(n/2**32|0)|0,fU=(n,t,e,r,i)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0),hU=(n,t,e,r,i,s)=>t+e+r+i+s+(n/2**32|0)|0,Xt={fromBig:xx,split:Rx,toBig:JL,shrSH:YL,shrSL:XL,rotrSH:tU,rotrSL:eU,rotrBH:nU,rotrBL:rU,rotr32H:iU,rotr32L:sU,rotlSH:Sx,rotlSL:Ix,rotlBH:kx,rotlBL:Tx,add:oU,add3L:aU,add3H:cU,add4L:uU,add4H:lU,add5H:hU,add5L:fU},[dU,pU]=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))),ro=new Uint32Array(80),io=new Uint32Array(80);let gU=class extends vx{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:c,Dl:u,Eh:f,El:h,Fh:y,Fl:A,Gh:b,Gl:R,Hh:k,Hl:S}=this;return[t,e,r,i,s,o,c,u,f,h,y,A,b,R,k,S]}set(t,e,r,i,s,o,c,u,f,h,y,A,b,R,k,S){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=c|0,this.Dl=u|0,this.Eh=f|0,this.El=h|0,this.Fh=y|0,this.Fl=A|0,this.Gh=b|0,this.Gl=R|0,this.Hh=k|0,this.Hl=S|0}process(t,e){for(let U=0;U<16;U++,e+=4)ro[U]=t.getUint32(e),io[U]=t.getUint32(e+=4);for(let U=16;U<80;U++){const G=ro[U-15]|0,W=io[U-15]|0,Y=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=ro[U-2]|0,it=io[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,io[U-7],io[U-16]),C=Xt.add4H(ot,Y,ut,ro[U-7],ro[U-16]);ro[U]=C|0,io[U]=ot|0}let{Ah:r,Al:i,Bh:s,Bl:o,Ch:c,Cl:u,Dh:f,Dl:h,Eh:y,El:A,Fh:b,Fl:R,Gh:k,Gl:S,Hh:B,Hl:H}=this;for(let U=0;U<80;U++){const G=Xt.rotrSH(y,A,14)^Xt.rotrSH(y,A,18)^Xt.rotrBH(y,A,41),W=Xt.rotrSL(y,A,14)^Xt.rotrSL(y,A,18)^Xt.rotrBL(y,A,41),Y=y&b^~y&k,j=A&R^~A&S,J=Xt.add5L(H,W,j,pU[U],io[U]),it=Xt.add5H(J,B,G,Y,dU[U],ro[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&c^s&c,p=i&o^i&u^o&u;B=k|0,H=S|0,k=b|0,S=R|0,b=y|0,R=A|0,{h:y,l:A}=Xt.add(f|0,h|0,it|0,ut|0),f=c|0,h=u|0,c=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:c,l:u}=Xt.add(this.Ch|0,this.Cl|0,c|0,u|0),{h:f,l:h}=Xt.add(this.Dh|0,this.Dl|0,f|0,h|0),{h:y,l:A}=Xt.add(this.Eh|0,this.El|0,y|0,A|0),{h:b,l:R}=Xt.add(this.Fh|0,this.Fl|0,b|0,R|0),{h:k,l:S}=Xt.add(this.Gh|0,this.Gl|0,k|0,S|0),{h:B,l:H}=Xt.add(this.Hh|0,this.Hl|0,B|0,H|0),this.set(r,i,s,o,c,u,f,h,y,A,b,R,k,S,B,H)}roundClean(){ro.fill(0),io.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 yU=Ww(()=>new gU);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const op=BigInt(0),ap=BigInt(1),mU=BigInt(2);function oc(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function $h(n){if(!oc(n))throw new Error("Uint8Array expected")}function Gs(n,t){if(typeof t!="boolean")throw new Error(n+" boolean expected, got "+t)}const wU=Array.from({length:256},(n,t)=>t.toString(16).padStart(2,"0"));function ac(n){$h(n);let t="";for(let e=0;e<n.length;e++)t+=wU[n[e]];return t}function qc(n){const t=n.toString(16);return t.length&1?"0"+t:t}function Zw(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return n===""?op:BigInt("0x"+n)}const hs={_0:48,_9:57,A:65,F:70,a:97,f:102};function X_(n){if(n>=hs._0&&n<=hs._9)return n-hs._0;if(n>=hs.A&&n<=hs.F)return n-(hs.A-10);if(n>=hs.a&&n<=hs.f)return n-(hs.a-10)}function il(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=X_(n.charCodeAt(s)),c=X_(n.charCodeAt(s+1));if(o===void 0||c===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+c}return r}function Xa(n){return Zw(ac(n))}function su(n){return $h(n),Zw(ac(Uint8Array.from(n).reverse()))}function sl(n,t){return il(n.toString(16).padStart(t*2,"0"))}function Xf(n,t){return sl(n,t).reverse()}function bU(n){return il(qc(n))}function Sn(n,t,e){let r;if(typeof t=="string")try{r=il(t)}catch(s){throw new Error(n+" must be hex string or Uint8Array, cause: "+s)}else if(oc(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 cc(...n){let t=0;for(let r=0;r<n.length;r++){const i=n[r];$h(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 _U(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 AU(n){if(typeof n!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(n))}const by=n=>typeof n=="bigint"&&op<=n;function cp(n,t,e){return by(n)&&by(t)&&by(e)&&t<=n&&n<e}function ri(n,t,e,r){if(!cp(t,e,r))throw new Error("expected valid "+n+": "+e+" <= n < "+r+", got "+t)}function Ox(n){let t;for(t=0;n>op;n>>=ap,t+=1);return t}function EU(n,t){return n>>BigInt(t)&ap}function vU(n,t,e){return n|(e?ap:op)<<BigInt(t)}const qw=n=>(mU<<BigInt(n-1))-ap,_y=n=>new Uint8Array(n),tA=n=>Uint8Array.from(n);function Nx(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=_y(n),i=_y(n),s=0;const o=()=>{r.fill(1),i.fill(0),s=0},c=(...y)=>e(i,r,...y),u=(y=_y())=>{i=c(tA([0]),y),r=c(),y.length!==0&&(i=c(tA([1]),y),r=c())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let y=0;const A=[];for(;y<t;){r=c();const b=r.slice();A.push(b),y+=r.length}return cc(...A)};return(y,A)=>{o(),u(y);let b;for(;!(b=A(f()));)u();return o(),b}}const xU={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"||oc(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 Il(n,t,e={}){const r=(i,s,o)=>{const c=xU[s];if(typeof c!="function")throw new Error("invalid validator function");const u=n[i];if(!(o&&u===void 0)&&!c(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 RU=()=>{throw new Error("not implemented")};function th(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 SU=Object.freeze(Object.defineProperty({__proto__:null,aInRange:ri,abool:Gs,abytes:$h,bitGet:EU,bitLen:Ox,bitMask:qw,bitSet:vU,bytesToHex:ac,bytesToNumberBE:Xa,bytesToNumberLE:su,concatBytes:cc,createHmacDrbg:Nx,ensureBytes:Sn,equalBytes:_U,hexToBytes:il,hexToNumber:Zw,inRange:cp,isBytes:oc,memoized:th,notImplemented:RU,numberToBytesBE:sl,numberToBytesLE:Xf,numberToHexUnpadded:qc,numberToVarBytesBE:bU,utf8ToBytes:AU,validateObject:Il},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Dn=BigInt(0),nn=BigInt(1),ha=BigInt(2),IU=BigInt(3),Om=BigInt(4),eA=BigInt(5),nA=BigInt(8);function qe(n,t){const e=n%t;return e>=Dn?e:t+e}function kU(n,t,e){if(t<Dn)throw new Error("invalid exponent, negatives unsupported");if(e<=Dn)throw new Error("invalid modulus");if(e===nn)return Dn;let r=nn;for(;t>Dn;)t&nn&&(r=r*n%e),n=n*n%e,t>>=nn;return r}function wn(n,t,e){let r=n;for(;t-- >Dn;)r*=r,r%=e;return r}function Nm(n,t){if(n===Dn)throw new Error("invert: expected non-zero number");if(t<=Dn)throw new Error("invert: expected positive modulus, got "+t);let e=qe(n,t),r=t,i=Dn,s=nn;for(;e!==Dn;){const c=r/e,u=r%e,f=i-s*c;r=e,e=u,i=s,s=f}if(r!==nn)throw new Error("invert: does not exist");return qe(i,t)}function TU(n){const t=(n-nn)/ha;let e,r,i;for(e=n-nn,r=0;e%ha===Dn;e/=ha,r++);for(i=ha;i<n&&kU(i,t,n)!==n-nn;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const o=(n+nn)/Om;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+nn)/ha;return function(c,u){if(c.pow(u,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let f=r,h=c.pow(c.mul(c.ONE,i),e),y=c.pow(u,s),A=c.pow(u,e);for(;!c.eql(A,c.ONE);){if(c.eql(A,c.ZERO))return c.ZERO;let b=1;for(let k=c.sqr(A);b<f&&!c.eql(k,c.ONE);b++)k=c.sqr(k);const R=c.pow(h,nn<<BigInt(f-b-1));h=c.sqr(R),y=c.mul(y,R),A=c.mul(A,h),f=b}return y}}function OU(n){if(n%Om===IU){const t=(n+nn)/Om;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%nA===eA){const t=(n-eA)/nA;return function(r,i){const s=r.mul(i,ha),o=r.pow(s,t),c=r.mul(i,o),u=r.mul(r.mul(c,ha),o),f=r.mul(c,r.sub(u,r.ONE));if(!r.eql(r.sqr(f),i))throw new Error("Cannot find square root");return f}}return TU(n)}const NU=(n,t)=>(qe(n,t)&nn)===nn,CU=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function BU(n){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=CU.reduce((r,i)=>(r[i]="function",r),t);return Il(n,e)}function PU(n,t,e){if(e<Dn)throw new Error("invalid exponent, negatives unsupported");if(e===Dn)return n.ONE;if(e===nn)return t;let r=n.ONE,i=t;for(;e>Dn;)e&nn&&(r=n.mul(r,i)),i=n.sqr(i),e>>=nn;return r}function MU(n,t){const e=new Array(t.length),r=t.reduce((s,o,c)=>n.is0(o)?s:(e[c]=s,n.mul(s,o)),n.ONE),i=n.inv(r);return t.reduceRight((s,o,c)=>n.is0(o)?s:(e[c]=n.mul(s,e[c]),n.mul(s,o)),i),e}function Cx(n,t){const e=t!==void 0?t:n.toString(2).length,r=Math.ceil(e/8);return{nBitLength:e,nByteLength:r}}function up(n,t,e=!1,r={}){if(n<=Dn)throw new Error("invalid field: expected ORDER > 0, got "+n);const{nBitLength:i,nByteLength:s}=Cx(n,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const c=Object.freeze({ORDER:n,isLE:e,BITS:i,BYTES:s,MASK:qw(i),ZERO:Dn,ONE:nn,create:u=>qe(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&nn)===nn,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)=>PU(c,u,f),div:(u,f)=>qe(u*Nm(f,n),n),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>Nm(u,n),sqrt:r.sqrt||(u=>(o||(o=OU(n)),o(c,u))),invertBatch:u=>MU(c,u),cmov:(u,f,h)=>h?f:u,toBytes:u=>e?Xf(u,s):sl(u,s),fromBytes:u=>{if(u.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+u.length);return e?su(u):Xa(u)}});return Object.freeze(c)}function Bx(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 Px(n){const t=Bx(n);return t+Math.ceil(t/2)}function LU(n,t,e=!1){const r=n.length,i=Bx(t),s=Px(t);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const o=e?su(n):Xa(n),c=qe(o,t-nn)+nn;return e?Xf(c,i):sl(c,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const rA=BigInt(0),Ed=BigInt(1);function Ay(n,t){const e=t.negate();return n?e:t}function Mx(n,t){if(!Number.isSafeInteger(n)||n<=0||n>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+n)}function Ey(n,t){Mx(n,t);const e=Math.ceil(t/n)+1,r=2**(n-1);return{windows:e,windowSize:r}}function UU(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 DU(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 vy=new WeakMap,Lx=new WeakMap;function xy(n){return Lx.get(n)||1}function Ux(n,t){return{constTimeNegate:Ay,hasPrecomputes(e){return xy(e)!==1},unsafeLadder(e,r,i=n.ZERO){let s=e;for(;r>rA;)r&Ed&&(i=i.add(s)),s=s.double(),r>>=Ed;return i},precomputeWindow(e,r){const{windows:i,windowSize:s}=Ey(r,t),o=[];let c=e,u=c;for(let f=0;f<i;f++){u=c,o.push(u);for(let h=1;h<s;h++)u=u.add(c),o.push(u);c=u.double()}return o},wNAF(e,r,i){const{windows:s,windowSize:o}=Ey(e,t);let c=n.ZERO,u=n.BASE;const f=BigInt(2**e-1),h=2**e,y=BigInt(e);for(let A=0;A<s;A++){const b=A*o;let R=Number(i&f);i>>=y,R>o&&(R-=h,i+=Ed);const k=b,S=b+Math.abs(R)-1,B=A%2!==0,H=R<0;R===0?u=u.add(Ay(B,r[k])):c=c.add(Ay(H,r[S]))}return{p:c,f:u}},wNAFUnsafe(e,r,i,s=n.ZERO){const{windows:o,windowSize:c}=Ey(e,t),u=BigInt(2**e-1),f=2**e,h=BigInt(e);for(let y=0;y<o;y++){const A=y*c;if(i===rA)break;let b=Number(i&u);if(i>>=h,b>c&&(b-=f,i+=Ed),b===0)continue;let R=r[A+Math.abs(b)-1];b<0&&(R=R.negate()),s=s.add(R)}return s},getPrecomputes(e,r,i){let s=vy.get(r);return s||(s=this.precomputeWindow(r,e),e!==1&&vy.set(r,i(s))),s},wNAFCached(e,r,i){const s=xy(e);return this.wNAF(s,this.getPrecomputes(s,e,i),r)},wNAFCachedUnsafe(e,r,i,s){const o=xy(e);return o===1?this.unsafeLadder(e,r,s):this.wNAFUnsafe(o,this.getPrecomputes(o,e,i),r,s)},setWindowSize(e,r){Mx(r,t),Lx.set(e,r),vy.delete(e)}}}function Dx(n,t,e,r){if(UU(e,n),DU(r,t),e.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const i=n.ZERO,s=Ox(BigInt(e.length)),o=s>12?s-3:s>4?s-2:s?2:1,c=(1<<o)-1,u=new Array(c+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 b=0;b<r.length;b++){const R=r[b],k=Number(R>>BigInt(y)&BigInt(c));u[k]=u[k].add(e[b])}let A=i;for(let b=u.length-1,R=i;b>0;b--)R=R.add(u[b]),A=A.add(R);if(h=h.add(A),y!==0)for(let b=0;b<o;b++)h=h.double()}return h}function Qw(n){return BU(n.Fp),Il(n,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Cx(n.n,n.nBitLength),...n,p:n.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ui=BigInt(0),_r=BigInt(1),vd=BigInt(2),FU=BigInt(8),$U={zip215:!0};function HU(n){const t=Qw(n);return Il(n,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function zU(n){const t=HU(n),{Fp:e,n:r,prehash:i,hash:s,randomBytes:o,nByteLength:c,h:u}=t,f=vd<<BigInt(c*8)-_r,h=e.create,y=up(t.n,t.nBitLength),A=t.uvRatio||((v,I)=>{try{return{isValid:!0,value:e.sqrt(v*e.inv(I))}}catch{return{isValid:!1,value:ui}}}),b=t.adjustScalarBytes||(v=>v),R=t.domain||((v,I,N)=>{if(Gs("phflag",N),I.length||N)throw new Error("Contexts/pre-hash are not supported");return v});function k(v,I){ri("coordinate "+v,I,ui,f)}function S(v){if(!(v instanceof U))throw new Error("ExtendedPoint expected")}const B=th((v,I)=>{const{ex:N,ey:M,ez:z}=v,P=v.is0();I==null&&(I=P?FU:e.inv(z));const _=h(N*I),F=h(M*I),ct=h(z*I);if(P)return{x:ui,y:_r};if(ct!==_r)throw new Error("invZ was invalid");return{x:_,y:F}}),H=th(v=>{const{a:I,d:N}=t;if(v.is0())throw new Error("bad point: ZERO");const{ex:M,ey:z,ez:P,et:_}=v,F=h(M*M),ct=h(z*z),ft=h(P*P),mt=h(ft*ft),Ht=h(F*I),Lt=h(ft*h(Ht+ct)),Mt=h(mt+h(N*h(F*ct)));if(Lt!==Mt)throw new Error("bad point: equation left != right (1)");const Ae=h(M*z),Vt=h(P*_);if(Ae!==Vt)throw new Error("bad point: equation left != right (2)");return!0});class U{constructor(I,N,M,z){this.ex=I,this.ey=N,this.ez=M,this.et=z,k("x",I),k("y",N),k("z",M),k("t",z),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof U)throw new Error("extended point not allowed");const{x:N,y:M}=I||{};return k("x",N),k("y",M),new U(N,M,_r,h(N*M))}static normalizeZ(I){const N=e.invertBatch(I.map(M=>M.ez));return I.map((M,z)=>M.toAffine(N[z])).map(U.fromAffine)}static msm(I,N){return Dx(U,y,I,N)}_setWindowSize(I){Y.setWindowSize(this,I)}assertValidity(){H(this)}equals(I){S(I);const{ex:N,ey:M,ez:z}=this,{ex:P,ey:_,ez:F}=I,ct=h(N*F),ft=h(P*z),mt=h(M*F),Ht=h(_*z);return ct===ft&&mt===Ht}is0(){return this.equals(U.ZERO)}negate(){return new U(h(-this.ex),this.ey,this.ez,h(-this.et))}double(){const{a:I}=t,{ex:N,ey:M,ez:z}=this,P=h(N*N),_=h(M*M),F=h(vd*h(z*z)),ct=h(I*P),ft=N+M,mt=h(h(ft*ft)-P-_),Ht=ct+_,Lt=Ht-F,Mt=ct-_,Ae=h(mt*Lt),Vt=h(Ht*Mt),Ut=h(mt*Mt),Re=h(Lt*Ht);return new U(Ae,Vt,Re,Ut)}add(I){S(I);const{a:N,d:M}=t,{ex:z,ey:P,ez:_,et:F}=this,{ex:ct,ey:ft,ez:mt,et:Ht}=I;if(N===BigInt(-1)){const Ee=h((P-z)*(ft+ct)),Ie=h((P+z)*(ft-ct)),_n=h(Ie-Ee);if(_n===ui)return this.double();const ue=h(_*vd*Ht),ve=h(F*vd*mt),Je=ve+ue,me=Ie+Ee,ke=ve-ue,Jn=h(Je*_n),Le=h(me*ke),O=h(Je*ke),w=h(_n*me);return new U(Jn,Le,w,O)}const Lt=h(z*ct),Mt=h(P*ft),Ae=h(F*M*Ht),Vt=h(_*mt),Ut=h((z+P)*(ct+ft)-Lt-Mt),Re=Vt-Ae,Yt=Vt+Ae,ie=h(Mt-N*Lt),Qe=h(Ut*Re),ce=h(Yt*ie),Me=h(Ut*ie),Xs=h(Re*Yt);return new U(Qe,ce,Xs,Me)}subtract(I){return this.add(I.negate())}wNAF(I){return Y.wNAFCached(this,I,U.normalizeZ)}multiply(I){const N=I;ri("scalar",N,_r,r);const{p:M,f:z}=this.wNAF(N);return U.normalizeZ([M,z])[0]}multiplyUnsafe(I,N=U.ZERO){const M=I;return ri("scalar",M,ui,r),M===ui?W:this.is0()||M===_r?this:Y.wNAFCachedUnsafe(this,M,U.normalizeZ,N)}isSmallOrder(){return this.multiplyUnsafe(u).is0()}isTorsionFree(){return Y.unsafeLadder(this,r).is0()}toAffine(I){return B(this,I)}clearCofactor(){const{h:I}=t;return I===_r?this:this.multiplyUnsafe(I)}static fromHex(I,N=!1){const{d:M,a:z}=t,P=e.BYTES;I=Sn("pointHex",I,P),Gs("zip215",N);const _=I.slice(),F=I[P-1];_[P-1]=F&-129;const ct=su(_),ft=N?f:e.ORDER;ri("pointHex.y",ct,ui,ft);const mt=h(ct*ct),Ht=h(mt-_r),Lt=h(M*mt-z);let{isValid:Mt,value:Ae}=A(Ht,Lt);if(!Mt)throw new Error("Point.fromHex: invalid y coordinate");const Vt=(Ae&_r)===_r,Ut=(F&128)!==0;if(!N&&Ae===ui&&Ut)throw new Error("Point.fromHex: x=0 and x_0=1");return Ut!==Vt&&(Ae=h(-Ae)),U.fromAffine({x:Ae,y:ct})}static fromPrivateKey(I){return it(I).point}toRawBytes(){const{x:I,y:N}=this.toAffine(),M=Xf(N,e.BYTES);return M[M.length-1]|=I&_r?128:0,M}toHex(){return ac(this.toRawBytes())}}U.BASE=new U(t.Gx,t.Gy,_r,h(t.Gx*t.Gy)),U.ZERO=new U(ui,_r,_r,ui);const{BASE:G,ZERO:W}=U,Y=Ux(U,c*8);function j(v){return qe(v,r)}function J(v){return j(su(v))}function it(v){const I=e.BYTES;v=Sn("private key",v,I);const N=Sn("hashed private key",s(v),2*I),M=b(N.slice(0,I)),z=N.slice(I,2*I),P=J(M),_=G.multiply(P),F=_.toRawBytes();return{head:M,prefix:z,scalar:P,point:_,pointBytes:F}}function ut(v){return it(v).pointBytes}function rt(v=new Uint8Array,...I){const N=cc(...I);return J(s(R(N,Sn("context",v),!!i)))}function ot(v,I,N={}){v=Sn("message",v),i&&(v=i(v));const{prefix:M,scalar:z,pointBytes:P}=it(I),_=rt(N.context,M,v),F=G.multiply(_).toRawBytes(),ct=rt(N.context,F,P,v),ft=j(_+ct*z);ri("signature.s",ft,ui,r);const mt=cc(F,Xf(ft,e.BYTES));return Sn("result",mt,e.BYTES*2)}const C=$U;function p(v,I,N,M=C){const{context:z,zip215:P}=M,_=e.BYTES;v=Sn("signature",v,2*_),I=Sn("message",I),N=Sn("publicKey",N,_),P!==void 0&&Gs("zip215",P),i&&(I=i(I));const F=su(v.slice(_,2*_));let ct,ft,mt;try{ct=U.fromHex(N,P),ft=U.fromHex(v.slice(0,_),P),mt=G.multiplyUnsafe(F)}catch{return!1}if(!P&&ct.isSmallOrder())return!1;const Ht=rt(z,ft.toRawBytes(),ct.toRawBytes(),I);return ft.add(ct.multiplyUnsafe(Ht)).subtract(mt).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,I=U.BASE){return I._setWindowSize(v),I.multiply(BigInt(3)),I}}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Jw=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),iA=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const GU=BigInt(1),sA=BigInt(2);BigInt(3);const VU=BigInt(5),KU=BigInt(8);function jU(n){const t=BigInt(10),e=BigInt(20),r=BigInt(40),i=BigInt(80),s=Jw,c=n*n%s*n%s,u=wn(c,sA,s)*c%s,f=wn(u,GU,s)*n%s,h=wn(f,VU,s)*f%s,y=wn(h,t,s)*h%s,A=wn(y,e,s)*y%s,b=wn(A,r,s)*A%s,R=wn(b,i,s)*b%s,k=wn(R,i,s)*b%s,S=wn(k,t,s)*h%s;return{pow_p_5_8:wn(S,sA,s)*n%s,b2:c}}function WU(n){return n[0]&=248,n[31]&=127,n[31]|=64,n}function ZU(n,t){const e=Jw,r=qe(t*t*t,e),i=qe(r*r*t,e),s=jU(n*i).pow_p_5_8;let o=qe(n*r*s,e);const c=qe(t*o*o,e),u=o,f=qe(o*iA,e),h=c===n,y=c===qe(-n,e),A=c===qe(-n*iA,e);return h&&(o=u),(y||A)&&(o=f),NU(o,e)&&(o=qe(-o,e)),{isValid:h||y,value:o}}const qU=up(Jw,void 0,!0),QU={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:qU,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:KU,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:yU,randomBytes:Ex,adjustScalarBytes:WU,uvRatio:ZU},kl=zU(QU);var Cm={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(n,t){var e=Vw,r=e.Buffer;function i(o,c){for(var u in o)c[u]=o[u]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?n.exports=e:(i(e,t),t.Buffer=s);function s(o,c,u){return r(o,c,u)}s.prototype=Object.create(r.prototype),i(r,s),s.from=function(o,c,u){if(typeof o=="number")throw new TypeError("Argument must not be a number");return r(o,c,u)},s.alloc=function(o,c,u){if(typeof o!="number")throw new TypeError("Argument must be a number");var f=r(o);return c!==void 0?typeof u=="string"?f.fill(c,u):f.fill(c):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)}})(Cm,Cm.exports);var JU=Cm.exports,xd=JU.Buffer;function YU(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,c=n.charAt(0),u=Math.log(o)/Math.log(256),f=Math.log(256)/Math.log(o);function h(b){if((Array.isArray(b)||b instanceof Uint8Array)&&(b=xd.from(b)),!xd.isBuffer(b))throw new TypeError("Expected Buffer");if(b.length===0)return"";for(var R=0,k=0,S=0,B=b.length;S!==B&&b[S]===0;)S++,R++;for(var H=(B-S)*f+1>>>0,U=new Uint8Array(H);S!==B;){for(var G=b[S],W=0,Y=H-1;(G!==0||W<k)&&Y!==-1;Y--,W++)G+=256*U[Y]>>>0,U[Y]=G%o>>>0,G=G/o>>>0;if(G!==0)throw new Error("Non-zero carry");k=W,S++}for(var j=H-k;j!==H&&U[j]===0;)j++;for(var J=c.repeat(R);j<H;++j)J+=n.charAt(U[j]);return J}function y(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return xd.alloc(0);for(var R=0,k=0,S=0;b[R]===c;)k++,R++;for(var B=(b.length-R)*u+1>>>0,H=new Uint8Array(B);R<b.length;){var U=b.charCodeAt(R);if(U>255)return;var G=t[U];if(G===255)return;for(var W=0,Y=B-1;(G!==0||W<S)&&Y!==-1;Y--,W++)G+=o*H[Y]>>>0,H[Y]=G%256>>>0,G=G/256>>>0;if(G!==0)throw new Error("Non-zero carry");S=W,R++}for(var j=B-S;j!==B&&H[j]===0;)j++;var J=xd.allocUnsafe(k+(B-j));J.fill(0,0,k);for(var it=k;j!==B;)J[it++]=H[j++];return J}function A(b){var R=y(b);if(R)return R;throw new Error("Non-base"+o+" character")}return{encode:h,decodeUnsafe:y,decode:A}}var XU=YU,tD=XU,eD="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Fx=tD(eD);const In=ea(Fx),nD=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]),so=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),oo=new Uint32Array(64);let rD=class extends vx{constructor(){super(64,32,8,!1),this.A=so[0]|0,this.B=so[1]|0,this.C=so[2]|0,this.D=so[3]|0,this.E=so[4]|0,this.F=so[5]|0,this.G=so[6]|0,this.H=so[7]|0}get(){const{A:t,B:e,C:r,D:i,E:s,F:o,G:c,H:u}=this;return[t,e,r,i,s,o,c,u]}set(t,e,r,i,s,o,c,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=c|0,this.H=u|0}process(t,e){for(let y=0;y<16;y++,e+=4)oo[y]=t.getUint32(e,!1);for(let y=16;y<64;y++){const A=oo[y-15],b=oo[y-2],R=Oi(A,7)^Oi(A,18)^A>>>3,k=Oi(b,17)^Oi(b,19)^b>>>10;oo[y]=k+oo[y-7]+R+oo[y-16]|0}let{A:r,B:i,C:s,D:o,E:c,F:u,G:f,H:h}=this;for(let y=0;y<64;y++){const A=Oi(c,6)^Oi(c,11)^Oi(c,25),b=h+A+qL(c,u,f)+nD[y]+oo[y]|0,k=(Oi(r,2)^Oi(r,13)^Oi(r,22))+QL(r,i,s)|0;h=f,f=u,u=c,c=o+b|0,o=s,s=i,i=r,r=b+k|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,c=c+this.E|0,u=u+this.F|0,f=f+this.G|0,h=h+this.H|0,this.set(r,i,s,o,c,u,f,h)}roundClean(){oo.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Bm=Ww(()=>new rD);var Kn={};function Us(n,t,e){return t<=n&&n<=e}function lp(n){if(n===void 0)return{};if(n===Object(n))return n;throw TypeError("Could not convert argument to dictionary")}function iD(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 c=s&1023,u=o&1023;i.push(65536+(c<<10)+u),r+=1}else i.push(65533)}r+=1}return i}function sD(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 g0=-1;function Yw(n){this.tokens=[].slice.call(n)}Yw.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():g0},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 ol=-1;function Ry(n,t){if(n)throw TypeError("Decoder error");return t||65533}var y0="utf-8";function m0(n,t){if(!(this instanceof m0))return new m0(n,t);if(n=n!==void 0?String(n).toLowerCase():y0,n!==y0)throw new Error("Encoding not supported. Only utf-8 is supported");t=lp(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})}m0.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=lp(e),this._streaming||(this._decoder=new oD({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!e.stream;for(var i=new Yw(r),s=[],o;!i.endOfStream()&&(o=this._decoder.handler(i,i.read()),o!==ol);)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===ol)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),sD(s)}};function w0(n,t){if(!(this instanceof w0))return new w0(n,t);if(n=n!==void 0?String(n).toLowerCase():y0,n!==y0)throw new Error("Encoding not supported. Only utf-8 is supported");t=lp(t),this._streaming=!1,this._encoder=null,this._options={fatal:!!t.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}w0.prototype={encode:function(t,e){t=t?String(t):"",e=lp(e),this._streaming||(this._encoder=new aD(this._options)),this._streaming=!!e.stream;for(var r=[],i=new Yw(iD(t)),s;!i.endOfStream()&&(s=this._encoder.handler(i,i.read()),s!==ol);)Array.isArray(s)?r.push.apply(r,s):r.push(s);if(!this._streaming){for(;s=this._encoder.handler(i,i.read()),s!==ol;)Array.isArray(s)?r.push.apply(r,s):r.push(s);this._encoder=null}return new Uint8Array(r)}};function oD(n){var t=n.fatal,e=0,r=0,i=0,s=128,o=191;this.handler=function(c,u){if(u===g0&&i!==0)return i=0,Ry(t);if(u===g0)return ol;if(i===0){if(Us(u,0,127))return u;if(Us(u,194,223))i=1,e=u-192;else if(Us(u,224,239))u===224&&(s=160),u===237&&(o=159),i=2,e=u-224;else if(Us(u,240,244))u===240&&(s=144),u===244&&(o=143),i=3,e=u-240;else return Ry(t);return e=e<<6*i,null}if(!Us(u,s,o))return e=i=r=0,s=128,o=191,c.prepend(u),Ry(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 aD(n){n.fatal,this.handler=function(t,e){if(e===g0)return ol;if(Us(e,0,127))return e;var r,i;Us(e,128,2047)?(r=1,i=192):Us(e,2048,65535)?(r=2,i=224):Us(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 cD=Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:m0,TextEncoder:w0},Symbol.toStringTag,{value:"Module"})),uD=q0(cD);var lD=Zn&&Zn.__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]}),fD=Zn&&Zn.__setModuleDefault||(Object.create?function(n,t){Object.defineProperty(n,"default",{enumerable:!0,value:t})}:function(n,t){n.default=t}),os=Zn&&Zn.__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 c=n.length-1;c>=0;c--)(o=n[c])&&(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},hD=Zn&&Zn.__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)&&lD(t,n,e);return fD(t,n),t},$x=Zn&&Zn.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Kn,"__esModule",{value:!0});var Hx=Kn.deserializeUnchecked=Wx=Kn.deserialize=jx=Kn.serialize=Kn.BinaryReader=Kn.BinaryWriter=Kn.BorshError=Kn.baseDecode=Kn.baseEncode=void 0;const Uo=$x(Kw),zx=$x(Fx),dD=hD(uD),pD=typeof TextDecoder!="function"?dD.TextDecoder:TextDecoder,gD=new pD("utf-8",{fatal:!0});function yD(n){return typeof n=="string"&&(n=Zt.from(n,"utf8")),zx.default.encode(Zt.from(n))}Kn.baseEncode=yD;function mD(n){return Zt.from(zx.default.decode(n))}Kn.baseDecode=mD;const Sy=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(".")}}Kn.BorshError=hr;class Gx{constructor(){this.buf=Zt.alloc(Sy),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Zt.concat([this.buf,Zt.alloc(Sy)]))}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 Uo.default(t).toArray("le",8)))}writeU128(t){this.maybeResize(),this.writeBuffer(Zt.from(new Uo.default(t).toArray("le",16)))}writeU256(t){this.maybeResize(),this.writeBuffer(Zt.from(new Uo.default(t).toArray("le",32)))}writeU512(t){this.maybeResize(),this.writeBuffer(Zt.from(new Uo.default(t).toArray("le",64)))}writeBuffer(t){this.buf=Zt.concat([Zt.from(this.buf.subarray(0,this.length)),t,Zt.alloc(Sy)]),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)}}Kn.BinaryWriter=Gx;function as(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 Kr{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 Uo.default(t,"le")}readU128(){const t=this.readBuffer(16);return new Uo.default(t,"le")}readU256(){const t=this.readBuffer(32);return new Uo.default(t,"le")}readU512(){const t=this.readBuffer(64);return new Uo.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 gD.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}}os([as],Kr.prototype,"readU8",null);os([as],Kr.prototype,"readU16",null);os([as],Kr.prototype,"readU32",null);os([as],Kr.prototype,"readU64",null);os([as],Kr.prototype,"readU128",null);os([as],Kr.prototype,"readU256",null);os([as],Kr.prototype,"readU512",null);os([as],Kr.prototype,"readString",null);os([as],Kr.prototype,"readFixedArray",null);os([as],Kr.prototype,"readArray",null);Kn.BinaryReader=Kr;function Vx(n){return n.charAt(0).toUpperCase()+n.slice(1)}function da(n,t,e,r,i){try{if(typeof r=="string")i[`write${Vx(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++)da(n,null,e[s],r[0],i)}else i.writeArray(e,s=>{da(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),da(n,t,e,r.type,i));break}case"map":{i.writeU32(e.size),e.forEach((s,o)=>{da(n,t,o,r.key,i),da(n,t,s,r.value,i)});break}default:throw new hr(`FieldType ${r} unrecognized`)}else Kx(n,e,i)}catch(s){throw s instanceof hr&&s.addToFieldPath(t),s}}function Kx(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])=>{da(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,c]=r.values[s];if(o===i){e.writeU8(s),da(n,o,t[o],c,e);break}}}else throw new hr(`Unexpected schema kind: ${r.kind} for ${t.constructor.name}`)}function wD(n,t,e=Gx){const r=new e;return Kx(n,t,r),r.toArray()}var jx=Kn.serialize=wD;function pa(n,t,e,r){try{if(typeof e=="string")return r[`read${Vx(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(pa(n,null,e[0],r));return i}else return r.readArray(()=>pa(n,t,e[0],r))}if(e.kind==="option")return r.readU8()?pa(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 c=pa(n,t,e.key,r),u=pa(n,t,e.value,r);i.set(c,u)}return i}return Xw(n,e,r)}catch(i){throw i instanceof hr&&i.addToFieldPath(t),i}}function Xw(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]=pa(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],c=pa(n,s,o,e);return new t({[s]:c})}throw new hr(`Unexpected schema kind: ${r.kind} for ${t.constructor.name}`)}function bD(n,t,e,r=Kr){const i=new r(e),s=Xw(n,t,i);if(i.offset<e.length)throw new hr(`Unexpected ${e.length-i.offset} bytes after deserialized data`);return s}var Wx=Kn.deserialize=bD;function _D(n,t,e,r=Kr){const i=new r(e);return Xw(n,t,i)}Hx=Kn.deserializeUnchecked=_D;var et={};Object.defineProperty(et,"__esModule",{value:!0});et.s16=et.s8=et.nu64be=et.u48be=et.u40be=et.u32be=et.u24be=et.u16be=zn=et.nu64=et.u48=et.u40=Tt=et.u32=et.u24=ni=et.u16=ge=et.u8=$o=et.offset=et.greedy=et.Constant=et.UTF8=et.CString=et.Blob=et.Boolean=et.BitField=et.BitStructure=et.VariantLayout=et.Union=et.UnionLayoutDiscriminator=et.UnionDiscriminator=et.Structure=et.Sequence=et.DoubleBE=et.Double=et.FloatBE=et.Float=et.NearInt64BE=et.NearInt64=et.NearUInt64BE=et.NearUInt64=et.IntBE=et.Int=et.UIntBE=et.UInt=et.OffsetLayout=et.GreedyCount=et.ExternalLayout=et.bindConstructorLayout=et.nameWithProperty=et.Layout=et.uint8ArrayToBuffer=et.checkUint8Array=void 0;et.constant=et.utf8=et.cstr=Ge=et.blob=et.unionLayoutDiscriminator=et.union=qn=et.seq=et.bits=Ot=et.struct=et.f64be=et.f64=et.f32be=et.f32=et.ns64be=et.s48be=et.s40be=et.s32be=et.s24be=et.s16be=Hr=et.ns64=et.s48=et.s40=et.s32=et.s24=void 0;const t1=Vw;function Tl(n){if(!(n instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}et.checkUint8Array=Tl;function _e(n){return Tl(n),t1.Buffer.from(n.buffer,n.byteOffset,n.length)}et.uint8ArrayToBuffer=_e;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){}};et.Layout=Oe;function e1(n,t){return t.property?n+"["+t.property+"]":n}et.nameWithProperty=e1;function AD(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})}et.bindConstructorLayout=AD;let Ir=class extends Oe{isCount(){throw new Error("ExternalLayout is abstract")}};et.ExternalLayout=Ir;let Zx=class extends Ir{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){Tl(t);const r=t.length-e;return Math.floor(r/this.elementSpan)}encode(t,e,r){return 0}};et.GreedyCount=Zx;let n1=class extends Ir{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 si||this.layout instanceof Ai}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)}};et.OffsetLayout=n1;let si=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 _e(t).readUIntLE(e,this.span)}encode(t,e,r=0){return _e(e).writeUIntLE(t,r,this.span),this.span}};et.UInt=si;let Ai=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 _e(t).readUIntBE(e,this.span)}encode(t,e,r=0){return _e(e).writeUIntBE(t,r,this.span),this.span}};et.UIntBE=Ai;let _c=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 _e(t).readIntLE(e,this.span)}encode(t,e,r=0){return _e(e).writeIntLE(t,r,this.span),this.span}};et.Int=_c;let Ol=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 _e(t).readIntBE(e,this.span)}encode(t,e,r=0){return _e(e).writeIntBE(t,r,this.span),this.span}};et.IntBE=Ol;const Pm=Math.pow(2,32);function fp(n){const t=Math.floor(n/Pm),e=n-t*Pm;return{hi32:t,lo32:e}}function hp(n,t){return n*Pm+t}let qx=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=_e(t),i=r.readUInt32LE(e),s=r.readUInt32LE(e+4);return hp(s,i)}encode(t,e,r=0){const i=fp(t),s=_e(e);return s.writeUInt32LE(i.lo32,r),s.writeUInt32LE(i.hi32,r+4),8}};et.NearUInt64=qx;let Qx=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=_e(t),i=r.readUInt32BE(e),s=r.readUInt32BE(e+4);return hp(i,s)}encode(t,e,r=0){const i=fp(t),s=_e(e);return s.writeUInt32BE(i.hi32,r),s.writeUInt32BE(i.lo32,r+4),8}};et.NearUInt64BE=Qx;let Jx=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=_e(t),i=r.readUInt32LE(e),s=r.readInt32LE(e+4);return hp(s,i)}encode(t,e,r=0){const i=fp(t),s=_e(e);return s.writeUInt32LE(i.lo32,r),s.writeInt32LE(i.hi32,r+4),8}};et.NearInt64=Jx;let Yx=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){const r=_e(t),i=r.readInt32BE(e),s=r.readUInt32BE(e+4);return hp(i,s)}encode(t,e,r=0){const i=fp(t),s=_e(e);return s.writeInt32BE(i.hi32,r),s.writeUInt32BE(i.lo32,r+4),8}};et.NearInt64BE=Yx;let Xx=class extends Oe{constructor(t){super(4,t)}decode(t,e=0){return _e(t).readFloatLE(e)}encode(t,e,r=0){return _e(e).writeFloatLE(t,r),4}};et.Float=Xx;let t2=class extends Oe{constructor(t){super(4,t)}decode(t,e=0){return _e(t).readFloatBE(e)}encode(t,e,r=0){return _e(e).writeFloatBE(t,r),4}};et.FloatBE=t2;let e2=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){return _e(t).readDoubleLE(e)}encode(t,e,r=0){return _e(e).writeDoubleLE(t,r),8}};et.Double=e2;let n2=class extends Oe{constructor(t){super(8,t)}decode(t,e=0){return _e(t).readDoubleBE(e)}encode(t,e,r=0){return _e(e).writeDoubleBE(t,r),8}};et.DoubleBE=n2;let r2=class extends Oe{constructor(t,e,r){if(!(t instanceof Oe))throw new TypeError("elementLayout must be a Layout");if(!(e instanceof Ir&&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 Ir)&&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 Ir&&(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 Ir&&(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,c)=>o+i.encode(c,e,r+o),0);return this.count instanceof Ir&&this.count.encode(t.length,e,r),s}};et.Sequence=r2;let i2=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){Tl(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 c of this.fields){let u=c.span;if(o=0<u?u:0,c.property!==void 0){const f=t[c.property];f!==void 0&&(o=c.encode(f,e,r),0>u&&(u=c.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)}}};et.Structure=i2;let r1=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")}};et.UnionDiscriminator=r1;let b0=class extends r1{constructor(t,e){if(!(t instanceof Ir&&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)}};et.UnionLayoutDiscriminator=b0;let i1=class extends Oe{constructor(t,e,r){let i;if(t instanceof si||t instanceof Ai)i=new b0(new n1(t));else if(t instanceof Ir&&t.isCount())i=new b0(t);else if(t instanceof r1)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 si||t instanceof Ai)&&(s+=i.layout.span)),super(s,r),this.discriminator=i,this.usesPrefixDiscriminator=t instanceof si||t instanceof Ai,this.defaultLayout=e,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(c){return o(c)},this.configGetSourceVariant=function(c){o=c.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 c=this.defaultLayout;let u=0;this.usesPrefixDiscriminator&&(u=i.layout.span),r=this.makeDestinationObject(),r[i.property]=s,r[c.property]=c.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 c=0;return this.usesPrefixDiscriminator&&(c=s.layout.span),s.encode(t[s.property],e,r),c+o.encode(t[o.property],e,r+c)}return i.encode(t,e,r)}addVariant(t,e,r){const i=new s2(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]}};et.Union=i1;let s2=class extends Oe{constructor(t,e,r,i){if(!(t instanceof i1))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)}};et.VariantLayout=s2;function Gc(n){return 0>n&&(n+=4294967296),n}let s1=class extends Oe{constructor(t,e,r){if(!(t instanceof si||t instanceof Ai))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=Gc(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 o1(this,t,e);return this.fields.push(r),r}addBoolean(t){const e=new o2(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}};et.BitStructure=s1;let o1=class{constructor(t,e,r){if(!(t instanceof s1))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,c)=>o+c.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=Gc(this.valueMask<<this.start),this.property=r}decode(t,e){const r=this.container._packedGetValue();return Gc(r&this.wordMask)>>>this.start}encode(t){if(typeof t!="number"||!Number.isInteger(t)||t!==Gc(t&this.valueMask))throw new TypeError(e1("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const e=this.container._packedGetValue(),r=Gc(t<<this.start);this.container._packedSetValue(Gc(e&~this.wordMask)|r)}};et.BitField=o1;let o2=class extends o1{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)}};et.Boolean=o2;let a2=class extends Oe{constructor(t,e){if(!(t instanceof Ir&&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 Ir||(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)),_e(t).slice(e,e+r)}encode(t,e,r){let i=this.length;if(this.length instanceof Ir&&(i=t.length),!(t instanceof Uint8Array&&i===t.length))throw new TypeError(e1("Blob.encode",this)+" requires (length "+i+") Uint8Array as src");if(r+i>e.length)throw new RangeError("encoding overruns Uint8Array");const s=_e(t);return _e(e).write(s.toString("hex"),r,i,"hex"),this.length instanceof Ir&&this.length.encode(i,e,r),i}};et.Blob=a2;let c2=class extends Oe{constructor(t){super(-1,t)}getSpan(t,e=0){Tl(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 _e(t).slice(e,e+r-1).toString("utf-8")}encode(t,e,r=0){typeof t!="string"&&(t=String(t));const i=t1.Buffer.from(t,"utf8"),s=i.length;if(r+s>e.length)throw new RangeError("encoding overruns Buffer");const o=_e(e);return i.copy(o,r),o[r+s]=0,s+1}};et.CString=c2;let u2=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 Tl(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 _e(t).slice(e,e+r).toString("utf-8")}encode(t,e,r=0){typeof t!="string"&&(t=String(t));const i=t1.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(_e(e),r),s}};et.UTF8=u2;let l2=class extends Oe{constructor(t,e){super(0,e),this.value=t}decode(t,e){return this.value}encode(t,e,r){return 0}};et.Constant=l2;et.greedy=(n,t)=>new Zx(n,t);var $o=et.offset=(n,t,e)=>new n1(n,t,e),ge=et.u8=n=>new si(1,n),ni=et.u16=n=>new si(2,n);et.u24=n=>new si(3,n);var Tt=et.u32=n=>new si(4,n);et.u40=n=>new si(5,n);et.u48=n=>new si(6,n);var zn=et.nu64=n=>new qx(n);et.u16be=n=>new Ai(2,n);et.u24be=n=>new Ai(3,n);et.u32be=n=>new Ai(4,n);et.u40be=n=>new Ai(5,n);et.u48be=n=>new Ai(6,n);et.nu64be=n=>new Qx(n);et.s8=n=>new _c(1,n);et.s16=n=>new _c(2,n);et.s24=n=>new _c(3,n);et.s32=n=>new _c(4,n);et.s40=n=>new _c(5,n);et.s48=n=>new _c(6,n);var Hr=et.ns64=n=>new Jx(n);et.s16be=n=>new Ol(2,n);et.s24be=n=>new Ol(3,n);et.s32be=n=>new Ol(4,n);et.s40be=n=>new Ol(5,n);et.s48be=n=>new Ol(6,n);et.ns64be=n=>new Yx(n);et.f32=n=>new Xx(n);et.f32be=n=>new t2(n);et.f64=n=>new e2(n);et.f64be=n=>new n2(n);var Ot=et.struct=(n,t,e)=>new i2(n,t,e);et.bits=(n,t,e)=>new s1(n,t,e);var qn=et.seq=(n,t,e)=>new r2(n,t,e);et.union=(n,t,e)=>new i1(n,t,e);et.unionLayoutDiscriminator=(n,t)=>new b0(n,t);var Ge=et.blob=(n,t)=>new a2(n,t);et.cstr=n=>new c2(n);et.utf8=(n,t)=>new u2(n,t);et.constant=(n,t)=>new l2(n,t);var Hh={};Object.defineProperty(Hh,"__esModule",{value:!0});function ED(n){{const t=Zt.from(n);t.reverse();const e=t.toString("hex");return e.length===0?BigInt(0):BigInt(`0x${e}`)}}var vD=Hh.toBigIntLE=ED;function xD(n){{const t=n.toString("hex");return t.length===0?BigInt(0):BigInt(`0x${t}`)}}Hh.toBigIntBE=xD;function RD(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 f2=Hh.toBufferLE=RD;function SD(n,t){{const e=n.toString(16);return Zt.from(e.padStart(t*2,"0").slice(0,t*2),"hex")}}Hh.toBufferBE=SD;let ID=class extends TypeError{constructor(t,e){let r;const{message:i,explanation:s,...o}=t,{path:c}=t,u=c.length===0?i:`At path: ${c.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 kD(n){return zh(n)&&typeof n[Symbol.iterator]=="function"}function zh(n){return typeof n=="object"&&n!=null}function _0(n){return zh(n)&&!Array.isArray(n)}function vi(n){return typeof n=="symbol"?n.toString():typeof n=="string"?JSON.stringify(n):`${n}`}function TD(n){const{done:t,value:e}=n.next();return t?void 0:e}function OD(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:c,message:u=`Expected a value of type \`${o}\`${c?` with refinement \`${c}\``:""}, but received: \`${vi(r)}\``}=n;return{value:r,type:o,refinement:c,key:i[i.length-1],path:i,branch:s,...n,message:u}}function*oA(n,t,e,r){kD(n)||(n=[n]);for(const i of n){const s=OD(i,t,e,r);s&&(yield s)}}function*a1(n,t,e={}){const{path:r=[],branch:i=[n],coerce:s=!1,mask:o=!1}=e,c={path:r,branch:i,mask:o};s&&(n=t.coercer(n,c));let u="valid";for(const f of t.validator(n,c))f.explanation=e.message,u="not_valid",yield[f,void 0];for(let[f,h,y]of t.entries(n,c)){const A=a1(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 b of A)b[0]?(u=b[0].refinement!=null?"not_refined":"not_valid",yield[b[0],void 0]):s&&(h=b[1],f===void 0?n=h:n instanceof Map?n.set(f,h):n instanceof Set?n.add(h):zh(n)&&(h!==void 0||f in n)&&(n[f]=h))}if(u!=="not_valid")for(const f of t.refiner(n,c))f.explanation=e.message,u="not_refined",yield[f,void 0];u==="valid"&&(yield[void 0,n])}let cs=class{constructor(t){const{type:e,schema:r,validator:i,refiner:s,coercer:o=u=>u,entries:c=function*(){}}=t;this.type=e,this.schema=r,this.entries=c,this.coercer=o,i?this.validator=(u,f)=>{const h=i(u,f);return oA(h,f,this,u)}:this.validator=()=>[],s?this.refiner=(u,f)=>{const h=s(u,f);return oA(h,f,this,u)}:this.refiner=()=>[]}assert(t,e){return h2(t,this,e)}create(t,e){return wt(t,this,e)}is(t){return d2(t,this)}mask(t,e){return ND(t,this,e)}validate(t,e={}){return Gh(t,this,e)}};function h2(n,t,e){const r=Gh(n,t,{message:e});if(r[0])throw r[0]}function wt(n,t,e){const r=Gh(n,t,{coerce:!0,message:e});if(r[0])throw r[0];return r[1]}function ND(n,t,e){const r=Gh(n,t,{coerce:!0,mask:!0,message:e});if(r[0])throw r[0];return r[1]}function d2(n,t){return!Gh(n,t)[0]}function Gh(n,t,e={}){const r=a1(n,t,e),i=TD(r);return i[0]?[new ID(i[0],function*(){for(const o of r)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function Ac(n,t){return new cs({type:n,schema:null,validator:t})}function CD(){return Ac("any",()=>!0)}function Et(n){return new cs({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: ${vi(t)}`}})}function ss(){return Ac("boolean",n=>typeof n=="boolean")}function c1(n){return Ac("instance",t=>t instanceof n||`Expected a \`${n.name}\` instance, but received: ${vi(t)}`)}function en(n){const t=vi(n),e=typeof n;return new cs({type:"literal",schema:e==="string"||e==="number"||e==="boolean"?n:null,validator(r){return r===n||`Expected the literal \`${t}\`, but received: ${vi(r)}`}})}function BD(){return Ac("never",()=>!1)}function vt(n){return new cs({...n,validator:(t,e)=>t===null||n.validator(t,e),refiner:(t,e)=>t===null||n.refiner(t,e)})}function X(){return Ac("number",n=>typeof n=="number"&&!isNaN(n)||`Expected a number, but received: ${vi(n)}`)}function Dt(n){return new cs({...n,validator:(t,e)=>t===void 0||n.validator(t,e),refiner:(t,e)=>t===void 0||n.refiner(t,e)})}function p2(n,t){return new cs({type:"record",schema:null,*entries(e){if(zh(e))for(const r in e){const i=e[r];yield[r,r,n],yield[r,i,t]}},validator(e){return _0(e)||`Expected an object, but received: ${vi(e)}`},coercer(e){return _0(e)?{...e}:e}})}function yt(){return Ac("string",n=>typeof n=="string"||`Expected a string, but received: ${vi(n)}`)}function u1(n){const t=BD();return new cs({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: ${vi(e)}`},coercer(e){return Array.isArray(e)?e.slice():e}})}function dt(n){const t=Object.keys(n);return new cs({type:"type",schema:n,*entries(e){if(zh(e))for(const r of t)yield[r,e[r],n[r]]},validator(e){return _0(e)||`Expected an object, but received: ${vi(e)}`},coercer(e){return _0(e)?{...e}:e}})}function br(n){const t=n.map(e=>e.type).join(" | ");return new cs({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]=a1(e,s,r),[c]=o;if(c[0])for(const[u]of o)u&&i.push(u);else return[]}return[`Expected the value to satisfy a union of \`${t}\`, but received: ${vi(e)}`,...i]}})}function Nl(){return Ac("unknown",()=>!0)}function Vh(n,t,e){return new cs({...n,coercer:(r,i)=>d2(r,t)?n.coercer(e(r,i),i):n.coercer(r,i)})}var Rd,PD=new Uint8Array(16);function g2(){if(!Rd&&(Rd=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Rd))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Rd(PD)}const MD=/^(?:[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 dp(n){return typeof n=="string"&&MD.test(n)}var Hn=[];for(var Iy=0;Iy<256;++Iy)Hn.push((Iy+256).toString(16).substr(1));function pp(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(Hn[n[t+0]]+Hn[n[t+1]]+Hn[n[t+2]]+Hn[n[t+3]]+"-"+Hn[n[t+4]]+Hn[n[t+5]]+"-"+Hn[n[t+6]]+Hn[n[t+7]]+"-"+Hn[n[t+8]]+Hn[n[t+9]]+"-"+Hn[n[t+10]]+Hn[n[t+11]]+Hn[n[t+12]]+Hn[n[t+13]]+Hn[n[t+14]]+Hn[n[t+15]]).toLowerCase();if(!dp(e))throw TypeError("Stringified UUID is invalid");return e}var aA,ky,Ty=0,Oy=0;function LD(n,t,e){var r=t&&e||0,i=t||new Array(16);n=n||{};var s=n.node||aA,o=n.clockseq!==void 0?n.clockseq:ky;if(s==null||o==null){var c=n.random||(n.rng||g2)();s==null&&(s=aA=[c[0]|1,c[1],c[2],c[3],c[4],c[5]]),o==null&&(o=ky=(c[6]<<8|c[7])&16383)}var u=n.msecs!==void 0?n.msecs:Date.now(),f=n.nsecs!==void 0?n.nsecs:Oy+1,h=u-Ty+(f-Oy)/1e4;if(h<0&&n.clockseq===void 0&&(o=o+1&16383),(h<0||u>Ty)&&n.nsecs===void 0&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Ty=u,Oy=f,ky=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 A=u/4294967296*1e4&268435455;i[r++]=A>>>8&255,i[r++]=A&255,i[r++]=A>>>24&15|16,i[r++]=A>>>16&255,i[r++]=o>>>8|128,i[r++]=o&255;for(var b=0;b<6;++b)i[r+b]=s[b];return t||pp(i)}function y2(n){if(!dp(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 UD(n){n=unescape(encodeURIComponent(n));for(var t=[],e=0;e<n.length;++e)t.push(n.charCodeAt(e));return t}var DD="6ba7b810-9dad-11d1-80b4-00c04fd430c8",FD="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function m2(n,t,e){function r(i,s,o,c){if(typeof i=="string"&&(i=UD(i)),typeof s=="string"&&(s=y2(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){c=c||0;for(var f=0;f<16;++f)o[c+f]=u[f];return o}return pp(u)}try{r.name=n}catch{}return r.DNS=DD,r.URL=FD,r}function $D(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 HD(zD(GD(n),n.length*8))}function HD(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 w2(n){return(n+64>>>9<<4)+14+1}function zD(n,t){n[t>>5]|=128<<t%32,n[w2(t)-1]=t;for(var e=1732584193,r=-271733879,i=-1732584194,s=271733878,o=0;o<n.length;o+=16){var c=e,u=r,f=i,h=s;e=Xn(e,r,i,s,n[o],7,-680876936),s=Xn(s,e,r,i,n[o+1],12,-389564586),i=Xn(i,s,e,r,n[o+2],17,606105819),r=Xn(r,i,s,e,n[o+3],22,-1044525330),e=Xn(e,r,i,s,n[o+4],7,-176418897),s=Xn(s,e,r,i,n[o+5],12,1200080426),i=Xn(i,s,e,r,n[o+6],17,-1473231341),r=Xn(r,i,s,e,n[o+7],22,-45705983),e=Xn(e,r,i,s,n[o+8],7,1770035416),s=Xn(s,e,r,i,n[o+9],12,-1958414417),i=Xn(i,s,e,r,n[o+10],17,-42063),r=Xn(r,i,s,e,n[o+11],22,-1990404162),e=Xn(e,r,i,s,n[o+12],7,1804603682),s=Xn(s,e,r,i,n[o+13],12,-40341101),i=Xn(i,s,e,r,n[o+14],17,-1502002290),r=Xn(r,i,s,e,n[o+15],22,1236535329),e=tr(e,r,i,s,n[o+1],5,-165796510),s=tr(s,e,r,i,n[o+6],9,-1069501632),i=tr(i,s,e,r,n[o+11],14,643717713),r=tr(r,i,s,e,n[o],20,-373897302),e=tr(e,r,i,s,n[o+5],5,-701558691),s=tr(s,e,r,i,n[o+10],9,38016083),i=tr(i,s,e,r,n[o+15],14,-660478335),r=tr(r,i,s,e,n[o+4],20,-405537848),e=tr(e,r,i,s,n[o+9],5,568446438),s=tr(s,e,r,i,n[o+14],9,-1019803690),i=tr(i,s,e,r,n[o+3],14,-187363961),r=tr(r,i,s,e,n[o+8],20,1163531501),e=tr(e,r,i,s,n[o+13],5,-1444681467),s=tr(s,e,r,i,n[o+2],9,-51403784),i=tr(i,s,e,r,n[o+7],14,1735328473),r=tr(r,i,s,e,n[o+12],20,-1926607734),e=er(e,r,i,s,n[o+5],4,-378558),s=er(s,e,r,i,n[o+8],11,-2022574463),i=er(i,s,e,r,n[o+11],16,1839030562),r=er(r,i,s,e,n[o+14],23,-35309556),e=er(e,r,i,s,n[o+1],4,-1530992060),s=er(s,e,r,i,n[o+4],11,1272893353),i=er(i,s,e,r,n[o+7],16,-155497632),r=er(r,i,s,e,n[o+10],23,-1094730640),e=er(e,r,i,s,n[o+13],4,681279174),s=er(s,e,r,i,n[o],11,-358537222),i=er(i,s,e,r,n[o+3],16,-722521979),r=er(r,i,s,e,n[o+6],23,76029189),e=er(e,r,i,s,n[o+9],4,-640364487),s=er(s,e,r,i,n[o+12],11,-421815835),i=er(i,s,e,r,n[o+15],16,530742520),r=er(r,i,s,e,n[o+2],23,-995338651),e=nr(e,r,i,s,n[o],6,-198630844),s=nr(s,e,r,i,n[o+7],10,1126891415),i=nr(i,s,e,r,n[o+14],15,-1416354905),r=nr(r,i,s,e,n[o+5],21,-57434055),e=nr(e,r,i,s,n[o+12],6,1700485571),s=nr(s,e,r,i,n[o+3],10,-1894986606),i=nr(i,s,e,r,n[o+10],15,-1051523),r=nr(r,i,s,e,n[o+1],21,-2054922799),e=nr(e,r,i,s,n[o+8],6,1873313359),s=nr(s,e,r,i,n[o+15],10,-30611744),i=nr(i,s,e,r,n[o+6],15,-1560198380),r=nr(r,i,s,e,n[o+13],21,1309151649),e=nr(e,r,i,s,n[o+4],6,-145523070),s=nr(s,e,r,i,n[o+11],10,-1120210379),i=nr(i,s,e,r,n[o+2],15,718787259),r=nr(r,i,s,e,n[o+9],21,-343485551),e=Do(e,c),r=Do(r,u),i=Do(i,f),s=Do(s,h)}return[e,r,i,s]}function GD(n){if(n.length===0)return[];for(var t=n.length*8,e=new Uint32Array(w2(t)),r=0;r<t;r+=8)e[r>>5]|=(n[r/8]&255)<<r%32;return e}function Do(n,t){var e=(n&65535)+(t&65535),r=(n>>16)+(t>>16)+(e>>16);return r<<16|e&65535}function VD(n,t){return n<<t|n>>>32-t}function gp(n,t,e,r,i,s){return Do(VD(Do(Do(t,n),Do(r,s)),i),e)}function Xn(n,t,e,r,i,s,o){return gp(t&e|~t&r,n,t,i,s,o)}function tr(n,t,e,r,i,s,o){return gp(t&r|e&~r,n,t,i,s,o)}function er(n,t,e,r,i,s,o){return gp(t^e^r,n,t,i,s,o)}function nr(n,t,e,r,i,s,o){return gp(e^(t|~r),n,t,i,s,o)}var KD=m2("v3",48,$D);function jD(n,t,e){n=n||{};var r=n.random||(n.rng||g2)();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 pp(r)}function WD(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 Ny(n,t){return n<<t|n>>>32-t}function ZD(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),c=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];c[u]=f}c[o-1][14]=(n.length-1)*8/Math.pow(2,32),c[o-1][14]=Math.floor(c[o-1][14]),c[o-1][15]=(n.length-1)*8&4294967295;for(var y=0;y<o;++y){for(var A=new Uint32Array(80),b=0;b<16;++b)A[b]=c[y][b];for(var R=16;R<80;++R)A[R]=Ny(A[R-3]^A[R-8]^A[R-14]^A[R-16],1);for(var k=e[0],S=e[1],B=e[2],H=e[3],U=e[4],G=0;G<80;++G){var W=Math.floor(G/20),Y=Ny(k,5)+WD(W,S,B,H)+U+t[W]+A[G]>>>0;U=H,H=B,B=Ny(S,30)>>>0,S=k,k=Y}e[0]=e[0]+k>>>0,e[1]=e[1]+S>>>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 qD=m2("v5",80,ZD);const QD="00000000-0000-0000-0000-000000000000";function JD(n){if(!dp(n))throw TypeError("Invalid UUID");return parseInt(n.substr(14,1),16)}const YD=Object.freeze(Object.defineProperty({__proto__:null,NIL:QD,parse:y2,stringify:pp,v1:LD,v3:KD,v4:jD,v5:qD,validate:dp,version:JD},Symbol.toStringTag,{value:"Module"})),b2=q0(YD),XD=b2.v4,t9=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 XD()};s.id=o(s,r)}else i===2&&e===null?r.notificationIdNull&&(s.id=null):s.id=e;return s};var e9=t9;const n9=b2.v4,r9=e9,eh=function(n,t){if(!(this instanceof eh))return new eh(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 n9()},version:typeof t.version<"u"?t.version:2,notificationIdNull:typeof t.notificationIdNull=="boolean"?t.notificationIdNull:!1},this.callServer=n};var i9=eh;eh.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=r9(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};eh.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 s9=ea(i9);var _2={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,A){if(typeof h!="function")throw new TypeError("The listener must be a function");var b=new i(h,y||u,A),R=e?e+f:f;return u._events[R]?u._events[R].fn?u._events[R]=[u._events[R],b]:u._events[R].push(b):(u._events[R]=b,u._eventsCount++),u}function o(u,f){--u._eventsCount===0?u._events=new r:delete u._events[f]}function c(){this._events=new r,this._eventsCount=0}c.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},c.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 A=0,b=y.length,R=new Array(b);A<b;A++)R[A]=y[A].fn;return R},c.prototype.listenerCount=function(f){var h=e?e+f:f,y=this._events[h];return y?y.fn?1:y.length:0},c.prototype.emit=function(f,h,y,A,b,R){var k=e?e+f:f;if(!this._events[k])return!1;var S=this._events[k],B=arguments.length,H,U;if(S.fn){switch(S.once&&this.removeListener(f,S.fn,void 0,!0),B){case 1:return S.fn.call(S.context),!0;case 2:return S.fn.call(S.context,h),!0;case 3:return S.fn.call(S.context,h,y),!0;case 4:return S.fn.call(S.context,h,y,A),!0;case 5:return S.fn.call(S.context,h,y,A,b),!0;case 6:return S.fn.call(S.context,h,y,A,b,R),!0}for(U=1,H=new Array(B-1);U<B;U++)H[U-1]=arguments[U];S.fn.apply(S.context,H)}else{var G=S.length,W;for(U=0;U<G;U++)switch(S[U].once&&this.removeListener(f,S[U].fn,void 0,!0),B){case 1:S[U].fn.call(S[U].context);break;case 2:S[U].fn.call(S[U].context,h);break;case 3:S[U].fn.call(S[U].context,h,y);break;case 4:S[U].fn.call(S[U].context,h,y,A);break;default:if(!H)for(W=1,H=new Array(B-1);W<B;W++)H[W-1]=arguments[W];S[U].fn.apply(S[U].context,H)}}return!0},c.prototype.on=function(f,h,y){return s(this,f,h,y,!1)},c.prototype.once=function(f,h,y){return s(this,f,h,y,!0)},c.prototype.removeListener=function(f,h,y,A){var b=e?e+f:f;if(!this._events[b])return this;if(!h)return o(this,b),this;var R=this._events[b];if(R.fn)R.fn===h&&(!A||R.once)&&(!y||R.context===y)&&o(this,b);else{for(var k=0,S=[],B=R.length;k<B;k++)(R[k].fn!==h||A&&!R[k].once||y&&R[k].context!==y)&&S.push(R[k]);S.length?this._events[b]=S.length===1?S[0]:S:o(this,b)}return this},c.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},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=e,c.EventEmitter=c,n.exports=c})(_2);var o9=_2.exports;const A2=ea(o9);var a9=class extends A2{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 c9(n,t){return new a9(n,t)}var u9=class{encode(n){return JSON.stringify(n)}decode(n){return JSON.parse(n)}},l9=class extends A2{constructor(t,e="ws://localhost:8080",{autoconnect:r=!0,reconnect:i=!0,reconnect_interval:s=1e3,max_reconnects:o=5,...c}={},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=c,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 u9,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 c=this.generate_request_id(t,e),u={jsonrpc:"2.0",method:t,params:e||void 0,id:c};this.socket.send(this.dataPack.encode(u),i,f=>{if(f)return o(f);this.queue[c]={promise:[s,o]},r&&(this.queue[c].timeout=setTimeout(()=>{delete this.queue[c],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=It.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 E2=[],v2=[],x2=[],f9=BigInt(0),gf=BigInt(1),h9=BigInt(2),d9=BigInt(7),p9=BigInt(256),g9=BigInt(113);for(let n=0,t=gf,e=1,r=0;n<24;n++){[e,r]=[r,(2*e+3*r)%5],E2.push(2*(5*r+e)),v2.push((n+1)*(n+2)/2%64);let i=f9;for(let s=0;s<7;s++)t=(t<<gf^(t>>d9)*g9)%p9,t&h9&&(i^=gf<<(gf<<BigInt(s))-gf);x2.push(i)}const[y9,m9]=Rx(x2,!0),cA=(n,t,e)=>e>32?kx(n,t,e):Sx(n,t,e),uA=(n,t,e)=>e>32?Tx(n,t,e):Ix(n,t,e);function w9(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 c=(o+8)%10,u=(o+2)%10,f=e[u],h=e[u+1],y=cA(f,h,1)^e[c],A=uA(f,h,1)^e[c+1];for(let b=0;b<50;b+=10)n[o+b]^=y,n[o+b+1]^=A}let i=n[2],s=n[3];for(let o=0;o<24;o++){const c=v2[o],u=cA(i,s,c),f=uA(i,s,c),h=E2[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 c=0;c<10;c++)e[c]=n[o+c];for(let c=0;c<10;c++)n[o+c]^=~e[(c+2)%10]&e[(c+4)%10]}n[0]^=y9[r],n[1]^=m9[r]}e.fill(0)}let b9=class R2 extends jw{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,p0(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=VL(this.state)}keccak(){J_||Y_(this.state32),w9(this.state32,this.rounds),J_||Y_(this.state32),this.posOut=0,this.pos=0}update(t){rl(this);const{blockLen:e,state:r}=this;t=sp(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(e-this.pos,i-s);for(let c=0;c<o;c++)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){rl(this,!1),Fh(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 p0(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ax(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 R2(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 _9=(n,t,e)=>Ww(()=>new b9(t,n,e)),lA=_9(1,136,256/8);let S2=class extends jw{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,GL(t);const r=sp(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 rl(this),this.iHash.update(t),this}digestInto(t){rl(this),Fh(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:c}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const I2=(n,t,e)=>new S2(n,t).update(e).digest();I2.create=(n,t)=>new S2(n,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function fA(n){n.lowS!==void 0&&Gs("lowS",n.lowS),n.prehash!==void 0&&Gs("prehash",n.prehash)}function A9(n){const t=Qw(n);Il(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:E9,hexToBytes:v9}=SU;class x9 extends Error{constructor(t=""){super(t)}}const _s={Err:x9,_tlv:{encode:(n,t)=>{const{Err:e}=_s;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=qc(r);if(i.length/2&128)throw new e("tlv.encode: long form length too big");const s=r>127?qc(i.length/2|128):"";return qc(n)+s+i+t},decode(n,t){const{Err:e}=_s;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 c=t.subarray(r,r+o);if(c.length!==o)throw new e("tlv.decode: wrong value length");return{v:c,l:t.subarray(r+o)}}},_int:{encode(n){const{Err:t}=_s;if(n<Ds)throw new t("integer: negative integers are not allowed");let e=qc(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}=_s;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 E9(n)}},toSig(n){const{Err:t,_int:e,_tlv:r}=_s,i=typeof n=="string"?v9(n):n;$h(i);const{v:s,l:o}=r.decode(48,i);if(o.length)throw new t("invalid signature: left bytes after parsing");const{v:c,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(c),s:e.decode(f)}},hexFromSig(n){const{_tlv:t,_int:e}=_s,r=t.encode(2,e.encode(n.r)),i=t.encode(2,e.encode(n.s)),s=r+i;return t.encode(48,s)}},Ds=BigInt(0),Pn=BigInt(1);BigInt(2);const hA=BigInt(3);BigInt(4);function R9(n){const t=A9(n),{Fp:e}=t,r=up(t.n,t.nBitLength),i=t.toBytes||((k,S,B)=>{const H=S.toAffine();return cc(Uint8Array.from([4]),e.toBytes(H.x),e.toBytes(H.y))}),s=t.fromBytes||(k=>{const S=k.subarray(1),B=e.fromBytes(S.subarray(0,e.BYTES)),H=e.fromBytes(S.subarray(e.BYTES,2*e.BYTES));return{x:B,y:H}});function o(k){const{a:S,b:B}=t,H=e.sqr(k),U=e.mul(H,k);return e.add(e.add(U,e.mul(k,S)),B)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function c(k){return cp(k,Pn,t.n)}function u(k){const{allowedPrivateKeyLengths:S,nByteLength:B,wrapPrivateKey:H,n:U}=t;if(S&&typeof k!="bigint"){if(oc(k)&&(k=ac(k)),typeof k!="string"||!S.includes(k.length))throw new Error("invalid private key");k=k.padStart(B*2,"0")}let G;try{G=typeof k=="bigint"?k:Xa(Sn("private key",k,B))}catch{throw new Error("invalid private key, expected hex or "+B+" bytes, got "+typeof k)}return H&&(G=qe(G,U)),ri("private key",G,Pn,U),G}function f(k){if(!(k instanceof A))throw new Error("ProjectivePoint expected")}const h=th((k,S)=>{const{px:B,py:H,pz:U}=k;if(e.eql(U,e.ONE))return{x:B,y:H};const G=k.is0();S==null&&(S=G?e.ONE:e.inv(U));const W=e.mul(B,S),Y=e.mul(H,S),j=e.mul(U,S);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:Y}}),y=th(k=>{if(k.is0()){if(t.allowInfinityPoint&&!e.is0(k.py))return;throw new Error("bad point: ZERO")}const{x:S,y:B}=k.toAffine();if(!e.isValid(S)||!e.isValid(B))throw new Error("bad point: x or y not FE");const H=e.sqr(B),U=o(S);if(!e.eql(H,U))throw new Error("bad point: equation left != right");if(!k.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class A{constructor(S,B,H){if(this.px=S,this.py=B,this.pz=H,S==null||!e.isValid(S))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(S){const{x:B,y:H}=S||{};if(!S||!e.isValid(B)||!e.isValid(H))throw new Error("invalid affine point");if(S instanceof A)throw new Error("projective point not allowed");const U=G=>e.eql(G,e.ZERO);return U(B)&&U(H)?A.ZERO:new A(B,H,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(S){const B=e.invertBatch(S.map(H=>H.pz));return S.map((H,U)=>H.toAffine(B[U])).map(A.fromAffine)}static fromHex(S){const B=A.fromAffine(s(Sn("pointHex",S)));return B.assertValidity(),B}static fromPrivateKey(S){return A.BASE.multiply(u(S))}static msm(S,B){return Dx(A,r,S,B)}_setWindowSize(S){R.setWindowSize(this,S)}assertValidity(){y(this)}hasEvenY(){const{y:S}=this.toAffine();if(e.isOdd)return!e.isOdd(S);throw new Error("Field doesn't support isOdd")}equals(S){f(S);const{px:B,py:H,pz:U}=this,{px:G,py:W,pz:Y}=S,j=e.eql(e.mul(B,Y),e.mul(G,U)),J=e.eql(e.mul(H,Y),e.mul(W,U));return j&&J}negate(){return new A(this.px,e.neg(this.py),this.pz)}double(){const{a:S,b:B}=t,H=e.mul(B,hA),{px:U,py:G,pz:W}=this;let Y=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),Y=e.mul(S,J),j=e.mul(H,rt),j=e.add(Y,j),Y=e.sub(ut,j),j=e.add(ut,j),j=e.mul(Y,j),Y=e.mul(ot,Y),J=e.mul(H,J),rt=e.mul(S,rt),ot=e.sub(it,rt),ot=e.mul(S,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),Y=e.sub(Y,it),J=e.mul(rt,ut),J=e.add(J,J),J=e.add(J,J),new A(Y,j,J)}add(S){f(S);const{px:B,py:H,pz:U}=this,{px:G,py:W,pz:Y}=S;let j=e.ZERO,J=e.ZERO,it=e.ZERO;const ut=t.a,rt=e.mul(t.b,hA);let ot=e.mul(B,G),C=e.mul(H,W),p=e.mul(U,Y),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 I=e.add(G,Y);return v=e.mul(v,I),I=e.add(ot,p),v=e.sub(v,I),I=e.add(H,U),j=e.add(W,Y),I=e.mul(I,j),j=e.add(C,p),I=e.sub(I,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(I,v),j=e.mul(m,j),j=e.sub(j,ot),ot=e.mul(m,C),it=e.mul(I,it),it=e.add(it,ot),new A(j,J,it)}subtract(S){return this.add(S.negate())}is0(){return this.equals(A.ZERO)}wNAF(S){return R.wNAFCached(this,S,A.normalizeZ)}multiplyUnsafe(S){const{endo:B,n:H}=t;ri("scalar",S,Ds,H);const U=A.ZERO;if(S===Ds)return U;if(this.is0()||S===Pn)return this;if(!B||R.hasPrecomputes(this))return R.wNAFCachedUnsafe(this,S,A.normalizeZ);let{k1neg:G,k1:W,k2neg:Y,k2:j}=B.splitScalar(S),J=U,it=U,ut=this;for(;W>Ds||j>Ds;)W&Pn&&(J=J.add(ut)),j&Pn&&(it=it.add(ut)),ut=ut.double(),W>>=Pn,j>>=Pn;return G&&(J=J.negate()),Y&&(it=it.negate()),it=new A(e.mul(it.px,B.beta),it.py,it.pz),J.add(it)}multiply(S){const{endo:B,n:H}=t;ri("scalar",S,Pn,H);let U,G;if(B){const{k1neg:W,k1:Y,k2neg:j,k2:J}=B.splitScalar(S);let{p:it,f:ut}=this.wNAF(Y),{p:rt,f:ot}=this.wNAF(J);it=R.constTimeNegate(W,it),rt=R.constTimeNegate(j,rt),rt=new A(e.mul(rt.px,B.beta),rt.py,rt.pz),U=it.add(rt),G=ut.add(ot)}else{const{p:W,f:Y}=this.wNAF(S);U=W,G=Y}return A.normalizeZ([U,G])[0]}multiplyAndAddUnsafe(S,B,H){const U=A.BASE,G=(Y,j)=>j===Ds||j===Pn||!Y.equals(U)?Y.multiplyUnsafe(j):Y.multiply(j),W=G(this,B).add(G(S,H));return W.is0()?void 0:W}toAffine(S){return h(this,S)}isTorsionFree(){const{h:S,isTorsionFree:B}=t;if(S===Pn)return!0;if(B)return B(A,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:S,clearCofactor:B}=t;return S===Pn?this:B?B(A,this):this.multiplyUnsafe(t.h)}toRawBytes(S=!0){return Gs("isCompressed",S),this.assertValidity(),i(A,this,S)}toHex(S=!0){return Gs("isCompressed",S),ac(this.toRawBytes(S))}}A.BASE=new A(t.Gx,t.Gy,e.ONE),A.ZERO=new A(e.ZERO,e.ONE,e.ZERO);const b=t.nBitLength,R=Ux(A,t.endo?Math.ceil(b/2):b);return{CURVE:t,ProjectivePoint:A,normPrivateKeyToScalar:u,weierstrassEquation:o,isWithinCurveOrder:c}}function S9(n){const t=Qw(n);return Il(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function I9(n){const t=S9(n),{Fp:e,n:r}=t,i=e.BYTES+1,s=2*e.BYTES+1;function o(p){return qe(p,r)}function c(p){return Nm(p,r)}const{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:y}=R9({...t,toBytes(p,m,v){const I=m.toAffine(),N=e.toBytes(I.x),M=cc;return Gs("isCompressed",v),v?M(Uint8Array.from([m.hasEvenY()?2:3]),N):M(Uint8Array.from([4]),N,e.toBytes(I.y))},fromBytes(p){const m=p.length,v=p[0],I=p.subarray(1);if(m===i&&(v===2||v===3)){const N=Xa(I);if(!cp(N,Pn,e.ORDER))throw new Error("Point is not on curve");const M=h(N);let z;try{z=e.sqrt(M)}catch(F){const ct=F instanceof Error?": "+F.message:"";throw new Error("Point is not on curve"+ct)}const P=(z&Pn)===Pn;return(v&1)===1!==P&&(z=e.neg(z)),{x:N,y:z}}else if(m===s&&v===4){const N=e.fromBytes(I.subarray(0,e.BYTES)),M=e.fromBytes(I.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)}}}),A=p=>ac(sl(p,t.nByteLength));function b(p){const m=r>>Pn;return p>m}function R(p){return b(p)?o(-p):p}const k=(p,m,v)=>Xa(p.slice(m,v));class S{constructor(m,v,I){this.r=m,this.s=v,this.recovery=I,this.assertValidity()}static fromCompact(m){const v=t.nByteLength;return m=Sn("compactSignature",m,v*2),new S(k(m,0,v),k(m,v,2*v))}static fromDER(m){const{r:v,s:I}=_s.toSig(Sn("DER",m));return new S(v,I)}assertValidity(){ri("r",this.r,Pn,r),ri("s",this.s,Pn,r)}addRecoveryBit(m){return new S(this.r,this.s,m)}recoverPublicKey(m){const{r:v,s:I,recovery:N}=this,M=Y(Sn("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",_=u.fromHex(P+A(z)),F=c(z),ct=o(-M*F),ft=o(I*F),mt=u.BASE.multiplyAndAddUnsafe(_,ct,ft);if(!mt)throw new Error("point at infinify");return mt.assertValidity(),mt}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return il(this.toDERHex())}toDERHex(){return _s.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return il(this.toCompactHex())}toCompactHex(){return A(this.r)+A(this.s)}}const B={isValidPrivateKey(p){try{return f(p),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{const p=Px(t.n);return LU(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=oc(p),v=typeof p=="string",I=(m||v)&&p.length;return m?I===i||I===s:v?I===2*i||I===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=Xa(p),v=p.length*8-t.nBitLength;return v>0?m>>BigInt(v):m},Y=t.bits2int_modN||function(p){return o(W(p))},j=qw(t.nBitLength);function J(p){return ri("num < 2^"+t.nBitLength,p,Ds,j),sl(p,t.nByteLength)}function it(p,m,v=ut){if(["recovered","canonical"].some(Lt=>Lt in v))throw new Error("sign() legacy options not supported");const{hash:I,randomBytes:N}=t;let{lowS:M,prehash:z,extraEntropy:P}=v;M==null&&(M=!0),p=Sn("msgHash",p),fA(v),z&&(p=Sn("prehashed msgHash",I(p)));const _=Y(p),F=f(m),ct=[J(F),J(_)];if(P!=null&&P!==!1){const Lt=P===!0?N(e.BYTES):P;ct.push(Sn("extraEntropy",Lt))}const ft=cc(...ct),mt=_;function Ht(Lt){const Mt=W(Lt);if(!y(Mt))return;const Ae=c(Mt),Vt=u.BASE.multiply(Mt).toAffine(),Ut=o(Vt.x);if(Ut===Ds)return;const Re=o(Ae*o(mt+Ut*F));if(Re===Ds)return;let Yt=(Vt.x===Ut?0:2)|Number(Vt.y&Pn),ie=Re;return M&&b(Re)&&(ie=R(Re),Yt^=1),new S(Ut,ie,Yt)}return{seed:ft,k2sig:Ht}}const ut={lowS:t.lowS,prehash:!1},rt={lowS:t.lowS,prehash:!1};function ot(p,m,v=ut){const{seed:I,k2sig:N}=it(p,m,v),M=t;return Nx(M.hash.outputLen,M.nByteLength,M.hmac)(I,N)}u.BASE._setWindowSize(8);function C(p,m,v,I=rt){var Yt;const N=p;m=Sn("msgHash",m),v=Sn("publicKey",v);const{lowS:M,prehash:z,format:P}=I;if(fA(I),"strict"in I)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 _=typeof N=="string"||oc(N),F=!_&&!P&&typeof N=="object"&&N!==null&&typeof N.r=="bigint"&&typeof N.s=="bigint";if(!_&&!F)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ct,ft;try{if(F&&(ct=new S(N.r,N.s)),_){try{P!=="compact"&&(ct=S.fromDER(N))}catch(ie){if(!(ie instanceof _s.Err))throw ie}!ct&&P!=="der"&&(ct=S.fromCompact(N))}ft=u.fromHex(v)}catch{return!1}if(!ct||M&&ct.hasHighS())return!1;z&&(m=t.hash(m));const{r:mt,s:Ht}=ct,Lt=Y(m),Mt=c(Ht),Ae=o(Lt*Mt),Vt=o(mt*Mt),Ut=(Yt=u.BASE.multiplyAndAddUnsafe(ft,Ae,Vt))==null?void 0:Yt.toAffine();return Ut?o(Ut.x)===mt:!1}return{CURVE:t,getPublicKey:H,getSharedSecret:G,sign:ot,verify:C,ProjectivePoint:u,Signature:S,utils:B}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function k9(n){return{hash:n,hmac:(t,...e)=>I2(n,t,WL(...e)),randomBytes:Ex}}function T9(n,t){const e=r=>I9({...n,...k9(r)});return{...e(t),create:e}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const k2=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),dA=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),O9=BigInt(1),Mm=BigInt(2),pA=(n,t)=>(n+t/Mm)/t;function N9(n){const t=k2,e=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),c=BigInt(44),u=BigInt(88),f=n*n*n%t,h=f*f*n%t,y=wn(h,e,t)*h%t,A=wn(y,e,t)*h%t,b=wn(A,Mm,t)*f%t,R=wn(b,i,t)*b%t,k=wn(R,s,t)*R%t,S=wn(k,c,t)*k%t,B=wn(S,u,t)*S%t,H=wn(B,c,t)*k%t,U=wn(H,e,t)*h%t,G=wn(U,o,t)*R%t,W=wn(G,r,t)*f%t,Y=wn(W,Mm,t);if(!Lm.eql(Lm.sqr(Y),n))throw new Error("Cannot find square root");return Y}const Lm=up(k2,void 0,void 0,{sqrt:N9}),yp=T9({a:BigInt(0),b:BigInt(7),Fp:Lm,n:dA,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:n=>{const t=dA,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-O9*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),c=pA(s*n,t),u=pA(-r*n,t);let f=qe(n-c*e-u*i,t),h=qe(-c*r-u*s,t);const y=f>o,A=h>o;if(y&&(f=t-f),A&&(h=t-h),f>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+n);return{k1neg:y,k1:f,k2neg:A,k2:h}}}},Bm);BigInt(0);yp.ProjectivePoint;const C9=kl.utils.randomPrivateKey,gA=()=>{const n=kl.utils.randomPrivateKey(),t=A0(n),e=new Uint8Array(64);return e.set(n),e.set(t,32),{publicKey:t,secretKey:e}},A0=kl.getPublicKey;function yA(n){try{return kl.ExtendedPoint.fromHex(n),!0}catch{return!1}}const l1=(n,t)=>kl.sign(n,t.slice(0,32)),B9=kl.verify,ne=n=>It.isBuffer(n)?n:n instanceof Uint8Array?It.from(n.buffer,n.byteOffset,n.byteLength):It.from(n);let f1=class{constructor(t){Object.assign(this,t)}encode(){return It.from(jx(Nf,this))}static decode(t){return Wx(Nf,this,t)}static decodeUnchecked(t){return Hx(Nf,this,t)}};class P9 extends f1{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 Nf=new Map;var T2;const O2=32,Xi=32;function M9(n){return n._bn!==void 0}let mA=1;class pt extends f1{constructor(t){if(super({}),this._bn=void 0,M9(t))this._bn=t._bn;else{if(typeof t=="string"){const e=In.decode(t);if(e.length!=Xi)throw new Error("Invalid public key input");this._bn=new Ls(e)}else this._bn=new Ls(t);if(this._bn.byteLength()>Xi)throw new Error("Invalid public key input")}}static unique(){const t=new pt(mA);return mA+=1,new pt(t.toBuffer())}equals(t){return this._bn.eq(t._bn)}toBase58(){return In.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(It);if(t.length===Xi)return t;const e=It.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=It.concat([t.toBuffer(),It.from(e),r.toBuffer()]),s=Bm(i);return new pt(s)}static createProgramAddressSync(t,e){let r=It.alloc(0);t.forEach(function(s){if(s.length>O2)throw new TypeError("Max seed length exceeded");r=It.concat([r,ne(s)])}),r=It.concat([r,e.toBuffer(),It.from("ProgramDerivedAddress")]);const i=Bm(r);if(yA(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(It.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 yA(e.toBytes())}}T2=pt;pt.default=new T2("11111111111111111111111111111111");Nf.set(pt,{kind:"struct",fields:[["_bn","u256"]]});class L9{constructor(t){if(this._publicKey=void 0,this._secretKey=void 0,t){const e=ne(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=ne(C9()),this._publicKey=ne(A0(this._secretKey))}get publicKey(){return new pt(this._publicKey)}get secretKey(){return It.concat([this._secretKey,this._publicKey],64)}}const U9=new pt("BPFLoader1111111111111111111111111111111111"),Ho=1232,mp=127,nh=64;class h1 extends Error{constructor(t){super(`Signature ${t} has expired: block height exceeded.`),this.signature=void 0,this.signature=t}}Object.defineProperty(h1.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class d1 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(d1.prototype,"name",{value:"TransactionExpiredTimeoutError"});class Qc extends Error{constructor(t){super(`Signature ${t} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Qc.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class rh{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 ae=(n="publicKey")=>Ge(32,n),D9=(n="signature")=>Ge(64,n),_a=(n="string")=>{const t=Ot([Tt("length"),Tt("lengthPadding"),Ge($o(Tt(),-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,c)=>{const u={chars:It.from(s,"utf8")};return r(u,o,c)},i.alloc=s=>Tt().span+Tt().span+It.from(s,"utf8").length,i},F9=(n="authorized")=>Ot([ae("staker"),ae("withdrawer")],n),$9=(n="lockup")=>Ot([Hr("unixTimestamp"),Hr("epoch"),ae("custodian")],n),H9=(n="voteInit")=>Ot([ae("nodePubkey"),ae("authorizedVoter"),ae("authorizedWithdrawer"),ge("commission")],n),z9=(n="voteAuthorizeWithSeedArgs")=>Ot([Tt("voteAuthorizationType"),ae("currentAuthorityDerivedKeyOwnerPubkey"),_a("currentAuthorityDerivedKeySeed"),ae("newAuthorized")],n);function N2(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 N2({layout:i},t[i.property]);return 0};let r=0;return n.layout.fields.forEach(i=>{r+=e(i)}),r}function vr(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 zr(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 be(n,t){if(!n)throw new Error(t||"Assertion failed")}class wp{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 c=o.toBase58();let u=r.get(c);return u===void 0&&(u={isSigner:!1,isWritable:!1,isInvoked:!1},r.set(c,u)),u},s=i(e);s.isSigner=!0,s.isWritable=!0;for(const o of t){i(o.programId).isInvoked=!0;for(const c of o.keys){const u=i(c.pubkey);u.isSigner||(u.isSigner=c.isSigner),u.isWritable||(u.isWritable=c.isWritable)}}return new wp(e,r)}getMessageComponents(){const t=[...this.keyMetaMap.entries()];be(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};{be(e.length>0,"Expected at least one writable signer key");const[u]=e[0];be(u===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}const c=[...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,c]}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 c=new pt(s),u=t.findIndex(f=>f.equals(c));u>=0&&(be(u<256,"Max lookup table index exceeded"),r.push(u),i.push(c),this.keyMetaMap.delete(s))}return[r,i]}}const C2="Reached end of buffer unexpectedly";function Vi(n){if(n.length===0)throw new Error(C2);return n.shift()}function xr(n,...t){const[e]=t;if(t.length===2?e+(t[1]??0)>n.length:e>=n.length)throw new Error(C2);return n.splice(...t)}class xi{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:In.decode(t.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new rh(this.staticAccountKeys)}static compile(t){const e=wp.compile(t.instructions,t.payerKey),[r,i]=e.getMessageComponents(),o=new rh(i).compileInstructions(t.instructions).map(c=>({programIdIndex:c.programIdIndex,accounts:c.accountKeyIndexes,data:In.encode(c.data)}));return new xi({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=[];zr(e,t);const r=this.instructions.map(y=>{const{accounts:A,programIdIndex:b}=y,R=Array.from(In.decode(y.data));let k=[];zr(k,A.length);let S=[];return zr(S,R.length),{programIdIndex:b,keyIndicesCount:It.from(k),keyIndices:A,dataLength:It.from(S),data:R}});let i=[];zr(i,r.length);let s=It.alloc(Ho);It.from(i).copy(s);let o=i.length;r.forEach(y=>{const b=Ot([ge("programIdIndex"),Ge(y.keyIndicesCount.length,"keyIndicesCount"),qn(ge("keyIndex"),y.keyIndices.length,"keyIndices"),Ge(y.dataLength.length,"dataLength"),qn(ge("userdatum"),y.data.length,"data")]).encode(y,s,o);o+=b}),s=s.slice(0,o);const c=Ot([Ge(1,"numRequiredSignatures"),Ge(1,"numReadonlySignedAccounts"),Ge(1,"numReadonlyUnsignedAccounts"),Ge(e.length,"keyCount"),qn(ae("key"),t,"keys"),ae("recentBlockhash")]),u={numRequiredSignatures:It.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:It.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:It.from([this.header.numReadonlyUnsignedAccounts]),keyCount:It.from(e),keys:this.accountKeys.map(y=>ne(y.toBytes())),recentBlockhash:In.decode(this.recentBlockhash)};let f=It.alloc(2048);const h=c.encode(u,f);return s.copy(f,h),f.slice(0,h+s.length)}static from(t){let e=[...t];const r=Vi(e);if(r!==(r&mp))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const i=Vi(e),s=Vi(e),o=vr(e);let c=[];for(let A=0;A<o;A++){const b=xr(e,0,Xi);c.push(new pt(It.from(b)))}const u=xr(e,0,Xi),f=vr(e);let h=[];for(let A=0;A<f;A++){const b=Vi(e),R=vr(e),k=xr(e,0,R),S=vr(e),B=xr(e,0,S),H=In.encode(It.from(B));h.push({programIdIndex:b,accounts:k,data:H})}const y={header:{numRequiredSignatures:r,numReadonlySignedAccounts:i,numReadonlyUnsignedAccounts:s},recentBlockhash:In.encode(It.from(u)),accountKeys:c,instructions:h};return new xi(y)}}class uc{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 rh(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,c)=>o+c.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=wp.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[A,{writable:b,readonly:R}]=y;r.push(A),i.writable.push(...b),i.readonly.push(...R)}}const[o,c]=e.getMessageComponents(),f=new rh(c,i).compileInstructions(t.instructions);return new uc({header:o,staticAccountKeys:c,recentBlockhash:t.recentBlockhash,compiledInstructions:f,addressTableLookups:r})}serialize(){const t=Array();zr(t,this.staticAccountKeys.length);const e=this.serializeInstructions(),r=Array();zr(r,this.compiledInstructions.length);const i=this.serializeAddressTableLookups(),s=Array();zr(s,this.addressTableLookups.length);const o=Ot([ge("prefix"),Ot([ge("numRequiredSignatures"),ge("numReadonlySignedAccounts"),ge("numReadonlyUnsignedAccounts")],"header"),Ge(t.length,"staticAccountKeysLength"),qn(ae(),this.staticAccountKeys.length,"staticAccountKeys"),ae("recentBlockhash"),Ge(r.length,"instructionsLength"),Ge(e.length,"serializedInstructions"),Ge(s.length,"addressTableLookupsLength"),Ge(i.length,"serializedAddressTableLookups")]),c=new Uint8Array(Ho),f=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(t),staticAccountKeys:this.staticAccountKeys.map(h=>h.toBytes()),recentBlockhash:In.decode(this.recentBlockhash),instructionsLength:new Uint8Array(r),serializedInstructions:e,addressTableLookupsLength:new Uint8Array(s),serializedAddressTableLookups:i},c);return c.slice(0,f)}serializeInstructions(){let t=0;const e=new Uint8Array(Ho);for(const r of this.compiledInstructions){const i=Array();zr(i,r.accountKeyIndexes.length);const s=Array();zr(s,r.data.length);const o=Ot([ge("programIdIndex"),Ge(i.length,"encodedAccountKeyIndexesLength"),qn(ge(),r.accountKeyIndexes.length,"accountKeyIndexes"),Ge(s.length,"encodedDataLength"),Ge(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(Ho);for(const r of this.addressTableLookups){const i=Array();zr(i,r.writableIndexes.length);const s=Array();zr(s,r.readonlyIndexes.length);const o=Ot([ae("accountKey"),Ge(i.length,"encodedWritableIndexesLength"),qn(ge(),r.writableIndexes.length,"writableIndexes"),Ge(s.length,"encodedReadonlyIndexesLength"),qn(ge(),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=Vi(e),i=r&mp;be(r!==i,"Expected versioned message but received legacy message");const s=i;be(s===0,`Expected versioned message with version 0 but found version ${s}`);const o={numRequiredSignatures:Vi(e),numReadonlySignedAccounts:Vi(e),numReadonlyUnsignedAccounts:Vi(e)},c=[],u=vr(e);for(let R=0;R<u;R++)c.push(new pt(xr(e,0,Xi)));const f=In.encode(xr(e,0,Xi)),h=vr(e),y=[];for(let R=0;R<h;R++){const k=Vi(e),S=vr(e),B=xr(e,0,S),H=vr(e),U=new Uint8Array(xr(e,0,H));y.push({programIdIndex:k,accountKeyIndexes:B,data:U})}const A=vr(e),b=[];for(let R=0;R<A;R++){const k=new pt(xr(e,0,Xi)),S=vr(e),B=xr(e,0,S),H=vr(e),U=xr(e,0,H);b.push({accountKey:k,writableIndexes:B,readonlyIndexes:U})}return new uc({header:o,staticAccountKeys:c,recentBlockhash:f,compiledInstructions:y,addressTableLookups:b})}}const p1={deserializeMessageVersion(n){const t=n[0],e=t&mp;return e===t?"legacy":e},deserialize:n=>{const t=p1.deserializeMessageVersion(n);if(t==="legacy")return xi.from(n);if(t===0)return uc.deserialize(n);throw new Error(`Transaction message version ${t} deserialization is not supported`)}};let gs=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 G9=It.alloc(nh).fill(0);class Be{constructor(t){this.keys=void 0,this.programId=void 0,this.data=It.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 Te=class Um{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 Be(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 k=0;k<e.length;k++)if(e[k].programId===void 0)throw new Error(`Transaction instruction index ${k} has undefined program id`);const i=[],s=[];e.forEach(k=>{k.keys.forEach(B=>{s.push({...B})});const S=k.programId.toString();i.includes(S)||i.push(S)}),i.forEach(k=>{s.push({pubkey:new pt(k),isSigner:!1,isWritable:!1})});const o=[];s.forEach(k=>{const S=k.pubkey.toString(),B=o.findIndex(H=>H.pubkey.toString()===S);B>-1?(o[B].isWritable=o[B].isWritable||k.isWritable,o[B].isSigner=o[B].isSigner||k.isSigner):o.push(k)}),o.sort(function(k,S){if(k.isSigner!==S.isSigner)return k.isSigner?-1:1;if(k.isWritable!==S.isWritable)return k.isWritable?-1:1;const B={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return k.pubkey.toBase58().localeCompare(S.pubkey.toBase58(),"en",B)});const c=o.findIndex(k=>k.pubkey.equals(r));if(c>-1){const[k]=o.splice(c,1);k.isSigner=!0,k.isWritable=!0,o.unshift(k)}else o.unshift({pubkey:r,isSigner:!0,isWritable:!0});for(const k of this.signatures){const S=o.findIndex(B=>B.pubkey.equals(k.publicKey));if(S>-1)o[S].isSigner||(o[S].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: ${k.publicKey.toString()}`)}let u=0,f=0,h=0;const y=[],A=[];o.forEach(({pubkey:k,isSigner:S,isWritable:B})=>{S?(y.push(k.toString()),u+=1,B||(f+=1)):(A.push(k.toString()),B||(h+=1))});const b=y.concat(A),R=e.map(k=>{const{data:S,programId:B}=k;return{programIdIndex:b.indexOf(B.toString()),accounts:k.keys.map(H=>b.indexOf(H.pubkey.toString())),data:In.encode(S)}});return R.forEach(k=>{be(k.programIdIndex>=0),k.accounts.forEach(S=>be(S>=0))}),new xi({header:{numRequiredSignatures:u,numReadonlySignedAccounts:f,numReadonlyUnsignedAccounts:h},accountKeys:b,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=l1(r,i.secretKey);this._addSignature(i.publicKey,ne(s))})}addSignature(t,e){this._compile(),this._addSignature(t,e)}_addSignature(t,e){be(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=It.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):B9(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(c=>c.toBase58()).join("`, `")}\`].`),s.missing&&(o+=`
18
+ Missing signature for public key${s.missing.length===1?"":"(s)"} [\`${s.missing.map(c=>c.toBase58()).join("`, `")}\`].`),new Error(o)}}return this._serialize(i)}_serialize(t){const{signatures:e}=this,r=[];zr(r,e.length);const i=r.length+e.length*64+t.length,s=It.alloc(i);return be(e.length<256),It.from(r).copy(s,0),e.forEach(({signature:o},c)=>{o!==null&&(be(o.length===64,"signature has invalid length"),It.from(o).copy(s,r.length+c*64))}),t.copy(s,r.length+e.length*64),be(s.length<=Ho,`Transaction too large: ${s.length} > ${Ho}`),s}get keys(){return be(this.instructions.length===1),this.instructions[0].keys.map(t=>t.pubkey)}get programId(){return be(this.instructions.length===1),this.instructions[0].programId}get data(){return be(this.instructions.length===1),this.instructions[0].data}static from(t){let e=[...t];const r=vr(e);let i=[];for(let s=0;s<r;s++){const o=xr(e,0,nh);i.push(In.encode(It.from(o)))}return Um.populate(xi.from(e),i)}static populate(t,e=[]){const r=new Um;return r.recentBlockhash=t.recentBlockhash,t.header.numRequiredSignatures>0&&(r.feePayer=t.accountKeys[0]),e.forEach((i,s)=>{const o={signature:i==In.encode(G9)?null:In.decode(i),publicKey:t.accountKeys[s]};r.signatures.push(o)}),t.instructions.forEach(i=>{const s=i.accounts.map(o=>{const c=t.accountKeys[o];return{pubkey:c,isSigner:r.signatures.some(u=>u.publicKey.toString()===c.toString())||t.isAccountSigner(o),isWritable:t.isAccountWritable(o)}});r.instructions.push(new Be({keys:s,programId:t.accountKeys[i.programIdIndex],data:In.decode(i.data)}))}),r._message=t,r._json=r.toJSON(),r}};class g1{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:c,numReadonlyUnsignedAccounts:u}=r,f=o-c;be(f>0,"Message header is invalid");const h=t.staticAccountKeys.length-o-u;be(h>=0,"Message header is invalid");const y=t.getAccountKeys(e),A=y.get(0);if(A===void 0)throw new Error("Failed to decompile message because no account keys were found");const b=[];for(const R of i){const k=[];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,k.push({pubkey:H,isSigner:B<r.numRequiredSignatures,isWritable:G})}const S=y.get(R.programIdIndex);if(S===void 0)throw new Error(`Failed to find program id for program id index ${R.programIdIndex}`);b.push(new Be({programId:S,data:ne(R.data),keys:k}))}return new g1({payerKey:A,instructions:b,recentBlockhash:s})}compileToLegacyMessage(){return xi.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions})}compileToV0Message(t){return uc.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions,addressLookupTableAccounts:t})}}class y1{get version(){return this.message.version}constructor(t,e){if(this.signatures=void 0,this.message=void 0,e!==void 0)be(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(nh));this.signatures=r}this.message=t}serialize(){const t=this.message.serialize(),e=Array();zr(e,this.signatures.length);const r=Ot([Ge(e.length,"encodedSignaturesLength"),qn(D9(),this.signatures.length,"signatures"),Ge(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=vr(e);for(let o=0;o<i;o++)r.push(new Uint8Array(xr(e,0,nh)));const s=p1.deserialize(new Uint8Array(e));return new y1(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));be(s>=0,`Cannot sign with non signer key ${i.publicKey.toBase58()}`),this.signatures[s]=l1(e,i.secretKey)}}addSignature(t,e){be(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));be(i>=0,`Can not add signature; \`${t.toBase58()}\` is not required to sign this transaction`),this.signatures[i]=e}}const V9=160,K9=64,j9=V9/K9,B2=1e3/j9,zi=new pt("SysvarC1ock11111111111111111111111111111111"),W9=new pt("SysvarEpochSchedu1e111111111111111111111111"),Z9=new pt("Sysvar1nstructions1111111111111111111111111"),Gd=new pt("SysvarRecentB1ockHashes11111111111111111111"),al=new pt("SysvarRent111111111111111111111111111111111"),q9=new pt("SysvarRewards111111111111111111111111111111"),Q9=new pt("SysvarS1otHashes111111111111111111111111111"),J9=new pt("SysvarS1otHistory11111111111111111111111111"),Vd=new pt("SysvarStakeHistory1111111111111111111111111");class Jo 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 c;switch(t){case"send":c=`Transaction ${e} resulted in an error.
20
+ ${r}. `+s+o;break;case"simulate":c=`Simulation failed.
21
+ Message: ${r}.
22
+ `+s+o;break;default:c=`Unknown action '${(u=>u)(t)}'`}super(c),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 Y9={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 Pt 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 Dm(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:c}=t.nonceInfo,u=c.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 Jo({action:"send",signature:s,transactionMessage:`Status: (${JSON.stringify(o)})`}):new Error(`Transaction ${s} failed (${JSON.stringify(o)})`);return s}function ga(n){return new Promise(t=>setTimeout(t,n))}function de(n,t){const e=n.layout.span>=0?n.layout.span:N2(n,t),r=It.alloc(e),i=Object.assign({instruction:n.index},t);return n.layout.encode(i,r),r}function Se(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 P2=zn("lamportsPerSignature"),M2=Ot([Tt("version"),Tt("state"),ae("authorizedPubkey"),ae("nonce"),Ot([P2],"feeCalculator")]),Fm=M2.span;class bp{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=M2.decode(ne(t),0);return new bp({authorizedPubkey:new pt(e.authorizedPubkey),nonce:new pt(e.nonce).toString(),feeCalculator:e.feeCalculator})}}const X9=n=>{const t=n.decode.bind(n),e=n.encode.bind(n);return{decode:t,encode:e}},tF=n=>t=>{const e=Ge(n,t),{encode:r,decode:i}=X9(e),s=e;return s.decode=(o,c)=>{const u=i(o,c);return vD(It.from(u))},s.encode=(o,c,u)=>{const f=f2(o,n);return r(f,c,u)},s},cl=tF(8);class eF{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Tt("instruction").decode(t.data);let i;for(const[s,o]of Object.entries($e))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}=Se($e.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}=Se($e.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}=Se($e.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}=Se($e.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}=Se($e.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}=Se($e.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}=Se($e.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}=Se($e.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}=Se($e.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),Se($e.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}=Se($e.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}=Se($e.AuthorizeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[1].pubkey,newAuthorizedPubkey:new pt(e)}}static checkProgramId(t){if(!t.equals(Tn.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 $e=Object.freeze({Create:{index:0,layout:Ot([Tt("instruction"),Hr("lamports"),Hr("space"),ae("programId")])},Assign:{index:1,layout:Ot([Tt("instruction"),ae("programId")])},Transfer:{index:2,layout:Ot([Tt("instruction"),cl("lamports")])},CreateWithSeed:{index:3,layout:Ot([Tt("instruction"),ae("base"),_a("seed"),Hr("lamports"),Hr("space"),ae("programId")])},AdvanceNonceAccount:{index:4,layout:Ot([Tt("instruction")])},WithdrawNonceAccount:{index:5,layout:Ot([Tt("instruction"),Hr("lamports")])},InitializeNonceAccount:{index:6,layout:Ot([Tt("instruction"),ae("authorized")])},AuthorizeNonceAccount:{index:7,layout:Ot([Tt("instruction"),ae("authorized")])},Allocate:{index:8,layout:Ot([Tt("instruction"),Hr("space")])},AllocateWithSeed:{index:9,layout:Ot([Tt("instruction"),ae("base"),_a("seed"),Hr("space"),ae("programId")])},AssignWithSeed:{index:10,layout:Ot([Tt("instruction"),ae("base"),_a("seed"),ae("programId")])},TransferWithSeed:{index:11,layout:Ot([Tt("instruction"),cl("lamports"),_a("seed"),ae("programId")])},UpgradeNonceAccount:{index:12,layout:Ot([Tt("instruction")])}});class Tn{constructor(){}static createAccount(t){const e=$e.Create,r=de(e,{lamports:t.lamports,space:t.space,programId:ne(t.programId.toBuffer())});return new Be({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=$e.TransferWithSeed;e=de(i,{lamports:BigInt(t.lamports),seed:t.seed,programId:ne(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=$e.Transfer;e=de(i,{lamports:BigInt(t.lamports)}),r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}return new Be({keys:r,programId:this.programId,data:e})}static assign(t){let e,r;if("basePubkey"in t){const i=$e.AssignWithSeed;e=de(i,{base:ne(t.basePubkey.toBuffer()),seed:t.seed,programId:ne(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=$e.Assign;e=de(i,{programId:ne(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new Be({keys:r,programId:this.programId,data:e})}static createAccountWithSeed(t){const e=$e.CreateWithSeed,r=de(e,{base:ne(t.basePubkey.toBuffer()),seed:t.seed,lamports:t.lamports,space:t.space,programId:ne(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 Be({keys:i,programId:this.programId,data:r})}static createNonceAccount(t){const e=new Te;"basePubkey"in t&&"seed"in t?e.add(Tn.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:Fm,programId:this.programId})):e.add(Tn.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,lamports:t.lamports,space:Fm,programId:this.programId}));const r={noncePubkey:t.noncePubkey,authorizedPubkey:t.authorizedPubkey};return e.add(this.nonceInitialize(r)),e}static nonceInitialize(t){const e=$e.InitializeNonceAccount,r=de(e,{authorized:ne(t.authorizedPubkey.toBuffer())}),i={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:Gd,isSigner:!1,isWritable:!1},{pubkey:al,isSigner:!1,isWritable:!1}],programId:this.programId,data:r};return new Be(i)}static nonceAdvance(t){const e=$e.AdvanceNonceAccount,r=de(e),i={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:Gd,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r};return new Be(i)}static nonceWithdraw(t){const e=$e.WithdrawNonceAccount,r=de(e,{lamports:t.lamports});return new Be({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0},{pubkey:Gd,isSigner:!1,isWritable:!1},{pubkey:al,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r})}static nonceAuthorize(t){const e=$e.AuthorizeNonceAccount,r=de(e,{authorized:ne(t.newAuthorizedPubkey.toBuffer())});return new Be({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=$e.AllocateWithSeed;e=de(i,{base:ne(t.basePubkey.toBuffer()),seed:t.seed,space:t.space,programId:ne(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{const i=$e.Allocate;e=de(i,{space:t.space}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new Be({keys:r,programId:this.programId,data:e})}}Tn.programId=new pt("11111111111111111111111111111111");const nF=Ho-300;class lc{constructor(){}static getMinNumSignatures(t){return 2*(Math.ceil(t/lc.chunkSize)+1+1)}static async load(t,e,r,i,s){{const y=await t.getMinimumBalanceForRentExemption(s.length),A=await t.getAccountInfo(r.publicKey,"confirmed");let b=null;if(A!==null){if(A.executable)return console.error("Program load failed, account is already executable"),!1;A.data.length!==s.length&&(b=b||new Te,b.add(Tn.allocate({accountPubkey:r.publicKey,space:s.length}))),A.owner.equals(i)||(b=b||new Te,b.add(Tn.assign({accountPubkey:r.publicKey,programId:i}))),A.lamports<y&&(b=b||new Te,b.add(Tn.transfer({fromPubkey:e.publicKey,toPubkey:r.publicKey,lamports:y-A.lamports})))}else b=new Te().add(Tn.createAccount({fromPubkey:e.publicKey,newAccountPubkey:r.publicKey,lamports:y>0?y:1,space:s.length,programId:i}));b!==null&&await Dm(t,b,[e,r],{commitment:"confirmed"})}const o=Ot([Tt("instruction"),Tt("offset"),Tt("bytesLength"),Tt("bytesLengthPadding"),qn(ge("byte"),$o(Tt(),-8),"bytes")]),c=lc.chunkSize;let u=0,f=s,h=[];for(;f.length>0;){const y=f.slice(0,c),A=It.alloc(c+16);o.encode({instruction:0,offset:u,bytes:y,bytesLength:0,bytesLengthPadding:0},A);const b=new Te().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0}],programId:i,data:A});h.push(Dm(t,b,[e,r],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")&&await ga(1e3/4),u+=c,f=f.slice(c)}await Promise.all(h);{const y=Ot([Tt("instruction")]),A=It.alloc(y.span);y.encode({instruction:1},A);const b=new Te().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0},{pubkey:al,isSigner:!1,isWritable:!1}],programId:i,data:A}),R="processed",k=await t.sendTransaction(b,[e,r],{preflightCommitment:R}),{context:S,value:B}=await t.confirmTransaction({signature:k,lastValidBlockHeight:b.lastValidBlockHeight,blockhash:b.recentBlockhash},R);if(B.err)throw new Error(`Transaction ${k} failed (${JSON.stringify(B)})`);for(;;){try{if(await t.getSlot({commitment:R})>S.slot)break}catch{}await new Promise(H=>setTimeout(H,Math.round(B2/2)))}}return!0}}lc.chunkSize=nF;const rF=new pt("BPFLoader2111111111111111111111111111111111");class iF{static getMinNumSignatures(t){return lc.getMinNumSignatures(t)}static load(t,e,r,i,s){return lc.load(t,e,r,s,i)}}function sF(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Cy,wA;function oF(){if(wA)return Cy;wA=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,c,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(c="[",o=r.length-1,s=0;s<o;s++)c+=e(r[s],!0)+",";return o>-1&&(c+=e(r[s],!0)),c+"]"}else if(y==="[object Object]"){for(u=t(r).sort(),o=u.length,c="",s=0;s<o;)f=u[s],h=e(r[f],!1),h!==void 0&&(c&&(c+=","),c+=JSON.stringify(f)+":"+h),s++;return"{"+c+"}"}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 Cy=function(r){var i=e(r,!1);if(i!==void 0)return""+i},Cy}var aF=oF(),bA=sF(aF);const yf=32;function By(n){let t=0;for(;n>1;)n/=2,t++;return t}function cF(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 L2{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=By(cF(t+yf+1))-By(yf)-1,r=this.getSlotsInEpoch(e),i=t-(r-yf);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)*yf:(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+By(yf)):this.slotsPerEpoch}}var uF=globalThis.fetch;class lF extends l9{constructor(t,e,r){const i=s=>{const o=c9(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 fF(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 _A=56;class $m{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=fF(hF,t),r=t.length-_A;be(r>=0,"lookup table is invalid"),be(r%32===0,"lookup table is invalid");const i=r/32,{addresses:s}=Ot([qn(ae(),i,"addresses")]).decode(t.slice(_A));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 hF={index:1,layout:Ot([Tt("typeIndex"),cl("deactivationSlot"),zn("lastExtendedSlot"),ge("lastExtendedStartIndex"),ge(),qn(ae(),$o(ge(),-1),"authority")])},dF=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function pF(n){const t=n.match(dF);if(t==null)throw TypeError(`Failed to validate endpoint URL \`${n}\``);const[e,r,i,s]=t,o=n.startsWith("https:")?"wss:":"ws:",c=i==null?null:parseInt(i.slice(1),10),u=c==null?"":`:${c+1}`;return`${o}//${r}${u}${s}`}const sn=Vh(c1(pt),yt(),n=>new pt(n)),U2=u1([yt(),en("base64")]),m1=Vh(c1(It),U2,n=>It.from(n[0],"base64")),D2=30*1e3;function gF(n){if(/^https?:/.test(n)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return n}function Fe(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 AA(n){return n.map(t=>"memcmp"in t?{...t,memcmp:{...t.memcmp,encoding:t.memcmp.encoding??"base58"}}:t)}function F2(n){return br([dt({jsonrpc:en("2.0"),id:yt(),result:n}),dt({jsonrpc:en("2.0"),id:yt(),error:dt({code:Nl(),message:yt(),data:Dt(CD())})})])}const yF=F2(Nl());function ee(n){return Vh(F2(n),yF,t=>"error"in t?t:{...t,result:wt(t.result,n)})}function An(n){return ee(dt({context:dt({slot:X()}),value:n}))}function _p(n){return dt({context:dt({slot:X()}),value:n})}function Py(n,t){return n===0?new uc({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:In.decode(e.data)})),addressTableLookups:t.addressTableLookups}):new xi(t)}const mF=dt({foundation:X(),foundationTerm:X(),initial:X(),taper:X(),terminal:X()}),wF=ee(Et(vt(dt({epoch:X(),effectiveSlot:X(),amount:X(),postBalance:X(),commission:Dt(vt(X()))})))),bF=Et(dt({slot:X(),prioritizationFee:X()})),_F=dt({total:X(),validator:X(),foundation:X(),epoch:X()}),AF=dt({epoch:X(),slotIndex:X(),slotsInEpoch:X(),absoluteSlot:X(),blockHeight:Dt(X()),transactionCount:Dt(X())}),EF=dt({slotsPerEpoch:X(),leaderScheduleSlotOffset:X(),warmup:ss(),firstNormalEpoch:X(),firstNormalSlot:X()}),vF=p2(yt(),Et(X())),Ec=vt(br([dt({}),yt()])),xF=dt({err:Ec}),RF=en("receivedSignature"),SF=dt({"solana-core":yt(),"feature-set":Dt(X())}),IF=dt({program:yt(),programId:sn,parsed:Nl()}),kF=dt({programId:sn,accounts:Et(sn),data:yt()}),EA=An(dt({err:vt(br([dt({}),yt()])),logs:vt(Et(yt())),accounts:Dt(vt(Et(vt(dt({executable:ss(),owner:yt(),lamports:X(),data:Et(yt()),rentEpoch:Dt(X())}))))),unitsConsumed:Dt(X()),returnData:Dt(vt(dt({programId:yt(),data:u1([yt(),en("base64")])}))),innerInstructions:Dt(vt(Et(dt({index:X(),instructions:Et(br([IF,kF]))}))))})),TF=An(dt({byIdentity:p2(yt(),Et(X())),range:dt({firstSlot:X(),lastSlot:X()})}));function OF(n,t,e,r,i,s){const o=e||uF;let c;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 A=await new Promise((b,R)=>{try{r(h,y,(k,S)=>b([k,S]))}catch(k){R(k)}});return await o(...A)}),new s9(async(h,y)=>{const A={method:"POST",body:h,agent:c,headers:Object.assign({"Content-Type":"application/json"},t||{},O7)};try{let b=5,R,k=500;for(;u?R=await u(n,A):R=await o(n,A),!(R.status!==429||i===!0||(b-=1,b===0));)console.error(`Server responded with ${R.status} ${R.statusText}. Retrying after ${k}ms delay...`),await ga(k),k*=2;const S=await R.text();R.ok?y(null,S):y(new Error(`${R.status} ${R.statusText}: ${S}`))}catch(b){b instanceof Error&&y(b)}},{})}function NF(n){return(t,e)=>new Promise((r,i)=>{n.request(t,e,(s,o)=>{if(s){i(s);return}r(o)})})}function CF(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 BF=ee(mF),PF=ee(_F),MF=ee(bF),LF=ee(AF),UF=ee(EF),DF=ee(vF),FF=ee(X()),$F=An(dt({total:X(),circulating:X(),nonCirculating:X(),nonCirculatingAccounts:Et(sn)})),Hm=dt({amount:yt(),uiAmount:vt(X()),decimals:X(),uiAmountString:Dt(yt())}),HF=An(Et(dt({address:sn,amount:yt(),uiAmount:vt(X()),decimals:X(),uiAmountString:Dt(yt())}))),zF=An(Et(dt({pubkey:sn,account:dt({executable:ss(),owner:sn,lamports:X(),data:m1,rentEpoch:X()})}))),zm=dt({program:yt(),parsed:Nl(),space:X()}),GF=An(Et(dt({pubkey:sn,account:dt({executable:ss(),owner:sn,lamports:X(),data:zm,rentEpoch:X()})}))),VF=An(Et(dt({lamports:X(),address:sn}))),ih=dt({executable:ss(),owner:sn,lamports:X(),data:m1,rentEpoch:X()}),KF=dt({pubkey:sn,account:ih}),jF=Vh(br([c1(It),zm]),br([U2,zm]),n=>Array.isArray(n)?wt(n,m1):n),Gm=dt({executable:ss(),owner:sn,lamports:X(),data:jF,rentEpoch:X()}),WF=dt({pubkey:sn,account:Gm}),ZF=dt({state:br([en("active"),en("inactive"),en("activating"),en("deactivating")]),active:X(),inactive:X()}),qF=ee(Et(dt({signature:yt(),slot:X(),err:Ec,memo:vt(yt()),blockTime:Dt(vt(X()))}))),QF=ee(Et(dt({signature:yt(),slot:X(),err:Ec,memo:vt(yt()),blockTime:Dt(vt(X()))}))),JF=dt({subscription:X(),result:_p(ih)}),YF=dt({pubkey:sn,account:ih}),XF=dt({subscription:X(),result:_p(YF)}),t7=dt({parent:X(),slot:X(),root:X()}),e7=dt({subscription:X(),result:t7}),n7=br([dt({type:br([en("firstShredReceived"),en("completed"),en("optimisticConfirmation"),en("root")]),slot:X(),timestamp:X()}),dt({type:en("createdBank"),parent:X(),slot:X(),timestamp:X()}),dt({type:en("frozen"),slot:X(),timestamp:X(),stats:dt({numTransactionEntries:X(),numSuccessfulTransactions:X(),numFailedTransactions:X(),maxTransactionsPerEntry:X()})}),dt({type:en("dead"),slot:X(),timestamp:X(),err:yt()})]),r7=dt({subscription:X(),result:n7}),i7=dt({subscription:X(),result:_p(br([xF,RF]))}),s7=dt({subscription:X(),result:X()}),o7=dt({pubkey:yt(),gossip:vt(yt()),tpu:vt(yt()),rpc:vt(yt()),version:vt(yt())}),vA=dt({votePubkey:yt(),nodePubkey:yt(),activatedStake:X(),epochVoteAccount:ss(),epochCredits:Et(u1([X(),X(),X()])),commission:X(),lastVote:X(),rootSlot:vt(X())}),a7=ee(dt({current:Et(vA),delinquent:Et(vA)})),c7=br([en("processed"),en("confirmed"),en("finalized")]),u7=dt({slot:X(),confirmations:vt(X()),err:Ec,confirmationStatus:Dt(c7)}),l7=An(Et(vt(u7))),f7=ee(X()),$2=dt({accountKey:sn,writableIndexes:Et(X()),readonlyIndexes:Et(X())}),w1=dt({signatures:Et(yt()),message:dt({accountKeys:Et(yt()),header:dt({numRequiredSignatures:X(),numReadonlySignedAccounts:X(),numReadonlyUnsignedAccounts:X()}),instructions:Et(dt({accounts:Et(X()),data:yt(),programIdIndex:X()})),recentBlockhash:yt(),addressTableLookups:Dt(Et($2))})}),H2=dt({pubkey:sn,signer:ss(),writable:ss(),source:Dt(br([en("transaction"),en("lookupTable")]))}),z2=dt({accountKeys:Et(H2),signatures:Et(yt())}),G2=dt({parsed:Nl(),program:yt(),programId:sn}),V2=dt({accounts:Et(sn),data:yt(),programId:sn}),h7=br([V2,G2]),d7=br([dt({parsed:Nl(),program:yt(),programId:yt()}),dt({accounts:Et(yt()),data:yt(),programId:yt()})]),K2=Vh(h7,d7,n=>"accounts"in n?wt(n,V2):wt(n,G2)),j2=dt({signatures:Et(yt()),message:dt({accountKeys:Et(H2),instructions:Et(K2),recentBlockhash:yt(),addressTableLookups:Dt(vt(Et($2)))})}),E0=dt({accountIndex:X(),mint:yt(),owner:Dt(yt()),programId:Dt(yt()),uiTokenAmount:Hm}),W2=dt({writable:Et(sn),readonly:Et(sn)}),Ap=dt({err:Ec,fee:X(),innerInstructions:Dt(vt(Et(dt({index:X(),instructions:Et(dt({accounts:Et(X()),data:yt(),programIdIndex:X()}))})))),preBalances:Et(X()),postBalances:Et(X()),logMessages:Dt(vt(Et(yt()))),preTokenBalances:Dt(vt(Et(E0))),postTokenBalances:Dt(vt(Et(E0))),loadedAddresses:Dt(W2),computeUnitsConsumed:Dt(X())}),b1=dt({err:Ec,fee:X(),innerInstructions:Dt(vt(Et(dt({index:X(),instructions:Et(K2)})))),preBalances:Et(X()),postBalances:Et(X()),logMessages:Dt(vt(Et(yt()))),preTokenBalances:Dt(vt(Et(E0))),postTokenBalances:Dt(vt(Et(E0))),loadedAddresses:Dt(W2),computeUnitsConsumed:Dt(X())}),Cl=br([en(0),en("legacy")]),vc=dt({pubkey:yt(),lamports:X(),postBalance:vt(X()),rewardType:vt(yt()),commission:Dt(vt(X()))}),p7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),transactions:Et(dt({transaction:w1,meta:vt(Ap),version:Dt(Cl)})),rewards:Dt(Et(vc)),blockTime:vt(X()),blockHeight:vt(X())}))),g7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),rewards:Dt(Et(vc)),blockTime:vt(X()),blockHeight:vt(X())}))),y7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),transactions:Et(dt({transaction:z2,meta:vt(Ap),version:Dt(Cl)})),rewards:Dt(Et(vc)),blockTime:vt(X()),blockHeight:vt(X())}))),m7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),transactions:Et(dt({transaction:j2,meta:vt(b1),version:Dt(Cl)})),rewards:Dt(Et(vc)),blockTime:vt(X()),blockHeight:vt(X())}))),w7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),transactions:Et(dt({transaction:z2,meta:vt(b1),version:Dt(Cl)})),rewards:Dt(Et(vc)),blockTime:vt(X()),blockHeight:vt(X())}))),b7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),rewards:Dt(Et(vc)),blockTime:vt(X()),blockHeight:vt(X())}))),_7=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),transactions:Et(dt({transaction:w1,meta:vt(Ap)})),rewards:Dt(Et(vc)),blockTime:vt(X())}))),xA=ee(vt(dt({blockhash:yt(),previousBlockhash:yt(),parentSlot:X(),signatures:Et(yt()),blockTime:vt(X())}))),My=ee(vt(dt({slot:X(),meta:vt(Ap),blockTime:Dt(vt(X())),transaction:w1,version:Dt(Cl)}))),Sd=ee(vt(dt({slot:X(),transaction:j2,meta:vt(b1),blockTime:Dt(vt(X())),version:Dt(Cl)}))),A7=An(dt({blockhash:yt(),lastValidBlockHeight:X()})),E7=An(ss()),v7=dt({slot:X(),numTransactions:X(),numSlots:X(),samplePeriodSecs:X()}),x7=ee(Et(v7)),R7=An(vt(dt({feeCalculator:dt({lamportsPerSignature:X()})}))),S7=ee(yt()),I7=ee(yt()),k7=dt({err:Ec,logs:Et(yt()),signature:yt()}),T7=dt({result:_p(k7),subscription:X()}),O7={"solana-client":"js/1.0.0-maintenance"};class Z2{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:A}=Fe(h),b=this._buildArgs([],y,void 0,A),R=bA(b);return f[R]=f[R]??(async()=>{try{const k=await this._rpcRequest("getBlockHeight",b),S=wt(k,ee(X()));if("error"in S)throw new Pt(S.error,"failed to get block height information");return S.result}finally{delete f[R]}})(),await f[R]}})();let r,i,s,o,c,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,c=e.disableRetryOnRateLimit,u=e.httpAgent),this._rpcEndpoint=gF(t),this._rpcWsEndpoint=r||pF(t),this._rpcClient=OF(t,i,s,o,c,u),this._rpcRequest=NF(this._rpcClient),this._rpcBatchRequest=CF(this._rpcClient),this._rpcWebSocket=new lF(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}=Fe(e),s=this._buildArgs([t.toBase58()],r,void 0,i),o=await this._rpcRequest("getBalance",s),c=wt(o,An(X()));if("error"in c)throw new Pt(c.error,`failed to get balance for ${t.toBase58()}`);return c.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=wt(e,ee(vt(X())));if("error"in r)throw new Pt(r.error,`failed to get block time for slot ${t}`);return r.result}async getMinimumLedgerSlot(){const t=await this._rpcRequest("minimumLedgerSlot",[]),e=wt(t,ee(X()));if("error"in e)throw new Pt(e.error,"failed to get minimum ledger slot");return e.result}async getFirstAvailableBlock(){const t=await this._rpcRequest("getFirstAvailableBlock",[]),e=wt(t,FF);if("error"in e)throw new Pt(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=wt(r,$F);if("error"in i)throw new Pt(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=wt(i,An(Hm));if("error"in s)throw new Pt(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=wt(i,An(Hm));if("error"in s)throw new Pt(s.error,"failed to get token account balance");return s.result}async getTokenAccountsByOwner(t,e,r){const{commitment:i,config:s}=Fe(r);let o=[t.toBase58()];"mint"in e?o.push({mint:e.mint.toBase58()}):o.push({programId:e.programId.toBase58()});const c=this._buildArgs(o,i,"base64",s),u=await this._rpcRequest("getTokenAccountsByOwner",c),f=wt(u,zF);if("error"in f)throw new Pt(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),c=wt(o,GF);if("error"in c)throw new Pt(c.error,`failed to get token accounts owned by account ${t.toBase58()}`);return c.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=wt(i,VF);if("error"in s)throw new Pt(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=wt(i,HF);if("error"in s)throw new Pt(s.error,"failed to get token largest accounts");return s.result}async getAccountInfoAndContext(t,e){const{commitment:r,config:i}=Fe(e),s=this._buildArgs([t.toBase58()],r,"base64",i),o=await this._rpcRequest("getAccountInfo",s),c=wt(o,An(vt(ih)));if("error"in c)throw new Pt(c.error,`failed to get info about account ${t.toBase58()}`);return c.result}async getParsedAccountInfo(t,e){const{commitment:r,config:i}=Fe(e),s=this._buildArgs([t.toBase58()],r,"jsonParsed",i),o=await this._rpcRequest("getAccountInfo",s),c=wt(o,An(vt(Gm)));if("error"in c)throw new Pt(c.error,`failed to get info about account ${t.toBase58()}`);return c.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}=Fe(e),s=t.map(f=>f.toBase58()),o=this._buildArgs([s],r,"jsonParsed",i),c=await this._rpcRequest("getMultipleAccounts",o),u=wt(c,An(Et(vt(Gm))));if("error"in u)throw new Pt(u.error,`failed to get info for accounts ${s}`);return u.result}async getMultipleAccountsInfoAndContext(t,e){const{commitment:r,config:i}=Fe(e),s=t.map(f=>f.toBase58()),o=this._buildArgs([s],r,"base64",i),c=await this._rpcRequest("getMultipleAccounts",o),u=wt(c,An(Et(vt(ih))));if("error"in u)throw new Pt(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}=Fe(e),o=this._buildArgs([t.toBase58()],i,void 0,{...s,epoch:r??(s==null?void 0:s.epoch)}),c=await this._rpcRequest("getStakeActivation",o),u=wt(c,ee(ZF));if("error"in u)throw new Pt(u.error,`failed to get Stake Activation ${t.toBase58()}`);return u.result}async getProgramAccounts(t,e){const{commitment:r,config:i}=Fe(e),{encoding:s,...o}=i||{},c=this._buildArgs([t.toBase58()],r,s||"base64",{...o,...o.filters?{filters:AA(o.filters)}:null}),u=await this._rpcRequest("getProgramAccounts",c),f=Et(KF),h=o.withContext===!0?wt(u,An(f)):wt(u,ee(f));if("error"in h)throw new Pt(h.error,`failed to get accounts owned by program ${t.toBase58()}`);return h.result}async getParsedProgramAccounts(t,e){const{commitment:r,config:i}=Fe(e),s=this._buildArgs([t.toBase58()],r,"jsonParsed",i),o=await this._rpcRequest("getProgramAccounts",s),c=wt(o,ee(Et(WF)));if("error"in c)throw new Pt(c.error,`failed to get accounts owned by program ${t.toBase58()}`);return c.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=In.decode(r)}catch{throw new Error("signature must be base58 encoded: "+r)}return be(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,A)=>{r=void 0;const b={context:A,value:y};u({__type:gs.PROCESSED,response:b})},t);const h=new Promise(y=>{r==null?y():i=this._onSubscriptionStateChange(r,A=>{A==="subscribed"&&y()})});(async()=>{if(await h,s)return;const y=await this.getSignatureStatus(e);if(s||y==null)return;const{context:A,value:b}=y;if(b!=null)if(b!=null&&b.err)f(b.err);else{switch(t){case"confirmed":case"single":case"singleGossip":{if(b.confirmationStatus==="processed")return;break}case"finalized":case"max":case"root":{if(b.confirmationStatus==="processed"||b.confirmationStatus==="confirmed")return;break}case"processed":case"recent":}s=!0,u({__type:gs.PROCESSED,response:{context:A,value:b}})}})()}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 A=async()=>{try{return await this.getBlockHeight(t)}catch{return-1}};(async()=>{let b=await A();if(!s){for(;b<=r;)if(await ga(1e3),s||(b=await A(),s))return;y({__type:gs.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:c,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===gs.PROCESSED)h=y.response;else throw new h1(i)}finally{s=!0,c()}return h}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:e,minContextSlot:r,nonceAccountPubkey:i,nonceValue:s,signature:o}}){let c=!1;const u=new Promise(b=>{let R=s,k=null;const S=async()=>{try{const{context:B,value:H}=await this.getNonceAndContext(i,{commitment:t,minContextSlot:r});return k=B.slot,H==null?void 0:H.nonce}catch{return R}};(async()=>{if(R=await S(),!c)for(;;){if(s!==R){b({__type:gs.NONCE_INVALID,slotInWhichNonceDidAdvance:k});return}if(await ga(2e3),c||(R=await S(),c))return}})()}),{abortConfirmation:f,confirmationPromise:h}=this.getTransactionConfirmationPromise({commitment:t,signature:o}),y=this.getCancellationPromise(e);let A;try{const b=await Promise.race([y,h,u]);if(b.__type===gs.PROCESSED)A=b.response;else{let R;for(;;){const k=await this.getSignatureStatus(o);if(k==null)break;if(k.context.slot<(b.slotInWhichNonceDidAdvance??r)){await ga(400);continue}R=k;break}if(R!=null&&R.value){const k=t||"finalized",{confirmationStatus:S}=R.value;switch(k){case"processed":case"recent":if(S!=="processed"&&S!=="confirmed"&&S!=="finalized")throw new Qc(o);break;case"confirmed":case"single":case"singleGossip":if(S!=="confirmed"&&S!=="finalized")throw new Qc(o);break;case"finalized":case"max":case"root":if(S!=="finalized")throw new Qc(o);break;default:}A={context:R.context,value:{err:R.value.err}}}else throw new Qc(o)}}finally{c=!0,f()}return A}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:gs.TIMED_OUT,timeoutMs:f}),f)}),{abortConfirmation:s,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:t,signature:e});let c;try{const u=await Promise.race([o,i]);if(u.__type===gs.PROCESSED)c=u.response;else throw new d1(e,u.timeoutMs/1e3)}finally{clearTimeout(r),s()}return c}async getClusterNodes(){const t=await this._rpcRequest("getClusterNodes",[]),e=wt(t,ee(Et(o7)));if("error"in e)throw new Pt(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=wt(r,a7);if("error"in i)throw new Pt(i.error,"failed to get vote accounts");return i.result}async getSlot(t){const{commitment:e,config:r}=Fe(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getSlot",i),o=wt(s,ee(X()));if("error"in o)throw new Pt(o.error,"failed to get slot");return o.result}async getSlotLeader(t){const{commitment:e,config:r}=Fe(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getSlotLeader",i),o=wt(s,ee(yt()));if("error"in o)throw new Pt(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=wt(i,ee(Et(sn)));if("error"in s)throw new Pt(s.error,"failed to get slot leaders");return s.result}async getSignatureStatus(t,e){const{context:r,value:i}=await this.getSignatureStatuses([t],e);be(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=wt(i,l7);if("error"in s)throw new Pt(s.error,"failed to get signature status");return s.result}async getTransactionCount(t){const{commitment:e,config:r}=Fe(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getTransactionCount",i),o=wt(s,ee(X()));if("error"in o)throw new Pt(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=wt(r,BF);if("error"in i)throw new Pt(i.error,"failed to get inflation");return i.result}async getInflationReward(t,e,r){const{commitment:i,config:s}=Fe(r),o=this._buildArgs([t.map(f=>f.toBase58())],i,void 0,{...s,epoch:e??(s==null?void 0:s.epoch)}),c=await this._rpcRequest("getInflationReward",o),u=wt(c,wF);if("error"in u)throw new Pt(u.error,"failed to get inflation reward");return u.result}async getInflationRate(){const t=await this._rpcRequest("getInflationRate",[]),e=wt(t,PF);if("error"in e)throw new Pt(e.error,"failed to get inflation rate");return e.result}async getEpochInfo(t){const{commitment:e,config:r}=Fe(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getEpochInfo",i),o=wt(s,LF);if("error"in o)throw new Pt(o.error,"failed to get epoch info");return o.result}async getEpochSchedule(){const t=await this._rpcRequest("getEpochSchedule",[]),e=wt(t,UF);if("error"in e)throw new Pt(e.error,"failed to get epoch schedule");const r=e.result;return new L2(r.slotsPerEpoch,r.leaderScheduleSlotOffset,r.warmup,r.firstNormalEpoch,r.firstNormalSlot)}async getLeaderSchedule(){const t=await this._rpcRequest("getLeaderSchedule",[]),e=wt(t,DF);if("error"in e)throw new Pt(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=wt(i,f7);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=wt(e,x7);if("error"in r)throw new Pt(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=wt(i,R7);if("error"in s)throw new Pt(s.error,"failed to get fee calculator");const{context:o,value:c}=s.result;return{context:o,value:c!==null?c.feeCalculator:null}}async getFeeForMessage(t,e){const r=ne(t.serialize()).toString("base64"),i=this._buildArgs([r],e),s=await this._rpcRequest("getFeeForMessage",i),o=wt(s,An(vt(X())));if("error"in o)throw new Pt(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(c=>c.toBase58()),r=e!=null&&e.length?[e]:[],i=await this._rpcRequest("getRecentPrioritizationFees",r),s=wt(i,MF);if("error"in s)throw new Pt(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}=Fe(t),i=this._buildArgs([],e,void 0,r),s=await this._rpcRequest("getLatestBlockhash",i),o=wt(s,A7);if("error"in o)throw new Pt(o.error,"failed to get latest blockhash");return o.result}async isBlockhashValid(t,e){const{commitment:r,config:i}=Fe(e),s=this._buildArgs([t],r,void 0,i),o=await this._rpcRequest("isBlockhashValid",s),c=wt(o,E7);if("error"in c)throw new Pt(c.error,"failed to determine if the blockhash `"+t+"`is valid");return c.result}async getVersion(){const t=await this._rpcRequest("getVersion",[]),e=wt(t,ee(SF));if("error"in e)throw new Pt(e.error,"failed to get version");return e.result}async getGenesisHash(){const t=await this._rpcRequest("getGenesisHash",[]),e=wt(t,ee(yt()));if("error"in e)throw new Pt(e.error,"failed to get genesis hash");return e.result}async getBlock(t,e){const{commitment:r,config:i}=Fe(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 c=wt(o,y7);if("error"in c)throw c.error;return c.result}case"none":{const c=wt(o,g7);if("error"in c)throw c.error;return c.result}default:{const c=wt(o,p7);if("error"in c)throw c.error;const{result:u}=c;return u?{...u,transactions:u.transactions.map(({transaction:f,meta:h,version:y})=>({meta:h,transaction:{...f,message:Py(y,f.message)},version:y}))}:null}}}catch(c){throw new Pt(c,"failed to get confirmed block")}}async getParsedBlock(t,e){const{commitment:r,config:i}=Fe(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 c=wt(o,w7);if("error"in c)throw c.error;return c.result}case"none":{const c=wt(o,b7);if("error"in c)throw c.error;return c.result}default:{const c=wt(o,m7);if("error"in c)throw c.error;return c.result}}}catch(c){throw new Pt(c,"failed to get block")}}async getBlockProduction(t){let e,r;if(typeof t=="string")r=t;else if(t){const{commitment:c,...u}=t;r=c,e=u}const i=this._buildArgs([],r,"base64",e),s=await this._rpcRequest("getBlockProduction",i),o=wt(s,TF);if("error"in o)throw new Pt(o.error,"failed to get block production information");return o.result}async getTransaction(t,e){const{commitment:r,config:i}=Fe(e),s=this._buildArgsAtLeastConfirmed([t],r,void 0,i),o=await this._rpcRequest("getTransaction",s),c=wt(o,My);if("error"in c)throw new Pt(c.error,"failed to get transaction");const u=c.result;return u&&{...u,transaction:{...u.transaction,message:Py(u.version,u.transaction.message)}}}async getParsedTransaction(t,e){const{commitment:r,config:i}=Fe(e),s=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",i),o=await this._rpcRequest("getTransaction",s),c=wt(o,Sd);if("error"in c)throw new Pt(c.error,"failed to get transaction");return c.result}async getParsedTransactions(t,e){const{commitment:r,config:i}=Fe(e),s=t.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],r,"jsonParsed",i)}));return(await this._rpcBatchRequest(s)).map(u=>{const f=wt(u,Sd);if("error"in f)throw new Pt(f.error,"failed to get transactions");return f.result})}async getTransactions(t,e){const{commitment:r,config:i}=Fe(e),s=t.map(u=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([u],r,void 0,i)}));return(await this._rpcBatchRequest(s)).map(u=>{const f=wt(u,My);if("error"in f)throw new Pt(f.error,"failed to get transactions");const h=f.result;return h&&{...h,transaction:{...h.transaction,message:Py(h.version,h.transaction.message)}}})}async getConfirmedBlock(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),i=await this._rpcRequest("getBlock",r),s=wt(i,_7);if("error"in s)throw new Pt(s.error,"failed to get confirmed block");const o=s.result;if(!o)throw new Error("Confirmed block "+t+" not found");const c={...o,transactions:o.transactions.map(({transaction:u,meta:f})=>{const h=new xi(u.message);return{meta:f,transaction:{...u,message:h}}})};return{...c,transactions:c.transactions.map(({transaction:u,meta:f})=>({meta:f,transaction:Te.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=wt(s,ee(Et(X())));if("error"in o)throw new Pt(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=wt(i,xA);if("error"in s)throw new Pt(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=wt(i,xA);if("error"in s)throw new Pt(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=wt(i,My);if("error"in s)throw new Pt(s.error,"failed to get transaction");const o=s.result;if(!o)return o;const c=new xi(o.transaction.message),u=o.transaction.signatures;return{...o,transaction:Te.populate(c,u)}}async getParsedConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,"jsonParsed"),i=await this._rpcRequest("getTransaction",r),s=wt(i,Sd);if("error"in s)throw new Pt(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 c=wt(o,Sd);if("error"in c)throw new Pt(c.error,"failed to get confirmed transactions");return c.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=wt(s,qF);if("error"in o)throw new Pt(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=wt(s,QF);if("error"in o)throw new Pt(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 $m({key:t,state:$m.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=bp.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=wt(r,S7);if("error"in i)throw new Pt(i.error,`airdrop to ${t.toBase58()} failed`);return i.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await ga(100);const r=Date.now()-this._blockhashInfo.lastFetch>=D2;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 ga(B2/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}=Fe(t),i=this._buildArgs([],e,"base64",r),s=await this._rpcRequest("getStakeMinimumDelegation",i),o=wt(s,An(X()));if("error"in o)throw new Pt(o.error,"failed to get stake minimum delegation");return o.result}async simulateTransaction(t,e,r){if("message"in t){const k=t.serialize(),S=It.from(k).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=[S,B],U=await this._rpcRequest("simulateTransaction",H),G=wt(U,EA);if("error"in G)throw new Error("failed to simulate transaction: "+G.error.message);return G.result}let i;if(t instanceof Te){let R=t;i=new Te,i.feePayer=R.feePayer,i.instructions=t.instructions,i.nonceInfo=R.nonceInfo,i.signatures=R.signatures}else i=Te.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 k=await this._blockhashWithExpiryBlockHeight(R);if(i.lastValidBlockHeight=k.lastValidBlockHeight,i.recentBlockhash=k.blockhash,!s)break;if(i.sign(...s),!i.signature)throw new Error("!signature");const S=i.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(S)&&!this._blockhashInfo.transactionSignatures.includes(S)){this._blockhashInfo.simulatedSignatures.push(S);break}else R=!0}}const o=i._compile(),c=o.serialize(),f=i._serialize(c).toString("base64"),h={encoding:"base64",commitment:this.commitment};if(r){const R=(Array.isArray(r)?r:o.nonProgramIds()).map(k=>k.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],A=await this._rpcRequest("simulateTransaction",y),b=wt(A,EA);if("error"in b){let R;if("data"in b.error&&(R=b.error.data.logs,R&&Array.isArray(R))){const k=`
23
+ `,S=k+R.join(k);console.error(b.error.message,S)}throw new Jo({action:"simulate",signature:"",transactionMessage:b.error.message,logs:R})}return b.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 c=await this._blockhashWithExpiryBlockHeight(o);if(t.lastValidBlockHeight=c.lastValidBlockHeight,t.recentBlockhash=c.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=ne(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],c=await this._rpcRequest("sendTransaction",o),u=wt(c,I7);if("error"in u){let f;throw"data"in u.error&&(f=u.error.data.logs),new Jo({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 c=await this._rpcWebSocket.call(o,s);this._setSubscription(r,{...i,serverSubscriptionId:c,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[c]=i.callbacks,await this._updateSubscriptions()}catch(c){if(console.error(`Received ${c instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:s,error:c}),!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(c){if(c instanceof Error&&console.error(`${o} error:`,c.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}=wt(t,JF);this._handleServerNotification(r,[e.value,e.context])}_makeSubscription(t,e){const r=this._nextClientSubscriptionId++,i=bA([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];be(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}=Fe(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}=wt(t,XF);this._handleServerNotification(r,[{accountId:e.value.pubkey,accountInfo:e.value.account},e.context])}onProgramAccountChange(t,e,r,i){const{commitment:s,config:o}=Fe(r),c=this._buildArgs([t.toBase58()],s||this._commitment||"finalized","base64",o||(i?{filters:AA(i)}:void 0));return this._makeSubscription({callback:e,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},c)}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}=wt(t,T7);this._handleServerNotification(r,[e.value,e.context])}_wsOnSlotNotification(t){const{result:e,subscription:r}=wt(t,e7);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}=wt(t,r7);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}=wt(t,i7);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,c)=>{if(o.type==="status"){e(o.result,c);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),c=this._makeSubscription({callback:(u,f)=>{e(u,f);try{this.removeSignatureListener(c)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return c}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){const{result:e,subscription:r}=wt(t,s7);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 tc{constructor(t){this._keypair=void 0,this._keypair=t??gA()}static generate(){return new tc(gA())}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=A0(i);for(let o=0;o<32;o++)if(r[o]!==s[o])throw new Error("provided secretKey is invalid")}return new tc({publicKey:r,secretKey:t})}static fromSeed(t){const e=A0(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),new tc({publicKey:e,secretKey:r})}get publicKey(){return new pt(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const Fs=Object.freeze({CreateLookupTable:{index:0,layout:Ot([Tt("instruction"),cl("recentSlot"),ge("bumpSeed")])},FreezeLookupTable:{index:1,layout:Ot([Tt("instruction")])},ExtendLookupTable:{index:2,layout:Ot([Tt("instruction"),cl(),qn(ae(),$o(Tt(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:Ot([Tt("instruction")])},CloseLookupTable:{index:4,layout:Ot([Tt("instruction")])}});class N7{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Tt("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(Fs))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}=Se(Fs.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}=Se(Fs.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(_1.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 _1{constructor(){}static createLookupTable(t){const[e,r]=pt.findProgramAddressSync([t.authority.toBuffer(),f2(BigInt(t.recentSlot),8)],this.programId),i=Fs.CreateLookupTable,s=de(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:Tn.programId,isSigner:!1,isWritable:!1}];return[new Be({programId:this.programId,keys:o,data:s}),e]}static freezeLookupTable(t){const e=Fs.FreezeLookupTable,r=de(e),i=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Be({programId:this.programId,keys:i,data:r})}static extendLookupTable(t){const e=Fs.ExtendLookupTable,r=de(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:Tn.programId,isSigner:!1,isWritable:!1}),new Be({programId:this.programId,keys:i,data:r})}static deactivateLookupTable(t){const e=Fs.DeactivateLookupTable,r=de(e),i=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Be({programId:this.programId,keys:i,data:r})}static closeLookupTable(t){const e=Fs.CloseLookupTable,r=de(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 Be({programId:this.programId,keys:i,data:r})}}_1.programId=new pt("AddressLookupTab1e1111111111111111111111111");class C7{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=ge("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(Ki))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}=Se(Ki.RequestUnits,t.data);return{units:e,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);const{bytes:e}=Se(Ki.RequestHeapFrame,t.data);return{bytes:e}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);const{units:e}=Se(Ki.SetComputeUnitLimit,t.data);return{units:e}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);const{microLamports:e}=Se(Ki.SetComputeUnitPrice,t.data);return{microLamports:e}}static checkProgramId(t){if(!t.equals(A1.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}}const Ki=Object.freeze({RequestUnits:{index:0,layout:Ot([ge("instruction"),Tt("units"),Tt("additionalFee")])},RequestHeapFrame:{index:1,layout:Ot([ge("instruction"),Tt("bytes")])},SetComputeUnitLimit:{index:2,layout:Ot([ge("instruction"),Tt("units")])},SetComputeUnitPrice:{index:3,layout:Ot([ge("instruction"),cl("microLamports")])}});class A1{constructor(){}static requestUnits(t){const e=Ki.RequestUnits,r=de(e,t);return new Be({keys:[],programId:this.programId,data:r})}static requestHeapFrame(t){const e=Ki.RequestHeapFrame,r=de(e,t);return new Be({keys:[],programId:this.programId,data:r})}static setComputeUnitLimit(t){const e=Ki.SetComputeUnitLimit,r=de(e,t);return new Be({keys:[],programId:this.programId,data:r})}static setComputeUnitPrice(t){const e=Ki.SetComputeUnitPrice,r=de(e,{microLamports:BigInt(t.microLamports)});return new Be({keys:[],programId:this.programId,data:r})}}A1.programId=new pt("ComputeBudget111111111111111111111111111111");const RA=64,SA=32,IA=64,kA=Ot([ge("numSignatures"),ge("padding"),ni("signatureOffset"),ni("signatureInstructionIndex"),ni("publicKeyOffset"),ni("publicKeyInstructionIndex"),ni("messageDataOffset"),ni("messageDataSize"),ni("messageInstructionIndex")]);class Ep{constructor(){}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:i,instructionIndex:s}=t;be(e.length===SA,`Public Key must be ${SA} bytes but received ${e.length} bytes`),be(i.length===IA,`Signature must be ${IA} bytes but received ${i.length} bytes`);const o=kA.span,c=o+e.length,u=c+i.length,f=1,h=It.alloc(u+r.length),y=s??65535;return kA.encode({numSignatures:f,padding:0,signatureOffset:c,signatureInstructionIndex:y,publicKeyOffset:o,publicKeyInstructionIndex:y,messageDataOffset:u,messageDataSize:r.length,messageInstructionIndex:y},h),h.fill(e,o),h.fill(i,c),h.fill(r,u),new Be({keys:[],programId:Ep.programId,data:h})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:i}=t;be(e.length===RA,`Private key must be ${RA} bytes but received ${e.length} bytes`);try{const s=tc.fromSecretKey(e),o=s.publicKey.toBytes(),c=l1(r,s.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:c,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}}Ep.programId=new pt("Ed25519SigVerify111111111111111111111111111");const B7=(n,t)=>{const e=yp.sign(n,t);return[e.toCompactRawBytes(),e.recovery]};yp.utils.isValidPrivateKey;const P7=yp.getPublicKey,TA=32,Ly=20,OA=64,M7=11,Uy=Ot([ge("numSignatures"),ni("signatureOffset"),ge("signatureInstructionIndex"),ni("ethAddressOffset"),ge("ethAddressInstructionIndex"),ni("messageDataOffset"),ni("messageDataSize"),ge("messageInstructionIndex"),Ge(20,"ethAddress"),Ge(64,"signature"),ge("recoveryId")]);class ou{constructor(){}static publicKeyToEthAddress(t){be(t.length===OA,`Public key must be ${OA} bytes but received ${t.length} bytes`);try{return It.from(lA(ne(t))).slice(-Ly)}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 ou.createInstructionWithEthAddress({ethAddress:ou.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 c;typeof e=="string"?e.startsWith("0x")?c=It.from(e.substr(2),"hex"):c=It.from(e,"hex"):c=e,be(c.length===Ly,`Address must be ${Ly} bytes but received ${c.length} bytes`);const u=1+M7,f=u,h=u+c.length,y=h+i.length+1,A=1,b=It.alloc(Uy.span+r.length);return Uy.encode({numSignatures:A,signatureOffset:h,signatureInstructionIndex:o,ethAddressOffset:f,ethAddressInstructionIndex:o,messageDataOffset:y,messageDataSize:r.length,messageInstructionIndex:o,signature:ne(i),ethAddress:ne(c),recoveryId:s},b),b.fill(ne(r),Uy.span),new Be({keys:[],programId:ou.programId,data:b})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:i}=t;be(e.length===TA,`Private key must be ${TA} bytes but received ${e.length} bytes`);try{const s=ne(e),o=P7(s,!1).slice(1),c=It.from(lA(ne(r))),[u,f]=B7(c,s);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:u,recoveryId:f,instructionIndex:i})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}}ou.programId=new pt("KeccakSecp256k11111111111111111111111111111");var q2;const Q2=new pt("StakeConfig11111111111111111111111111111111");class J2{constructor(t,e){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=e}}class Kh{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}}q2=Kh;Kh.default=new q2(0,0,pt.default);class L7{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Tt("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}=Se(Ln.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new J2(new pt(e.staker),new pt(e.withdrawer)),lockup:new Kh(r.unixTimestamp,r.epoch,new pt(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),Se(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}=Se(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}=Se(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}=Se(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),Se(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}=Se(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),Se(Ln.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(vp.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:Ot([Tt("instruction"),F9(),$9()])},Authorize:{index:1,layout:Ot([Tt("instruction"),ae("newAuthorized"),Tt("stakeAuthorizationType")])},Delegate:{index:2,layout:Ot([Tt("instruction")])},Split:{index:3,layout:Ot([Tt("instruction"),Hr("lamports")])},Withdraw:{index:4,layout:Ot([Tt("instruction"),Hr("lamports")])},Deactivate:{index:5,layout:Ot([Tt("instruction")])},Merge:{index:7,layout:Ot([Tt("instruction")])},AuthorizeWithSeed:{index:8,layout:Ot([Tt("instruction"),ae("newAuthorized"),Tt("stakeAuthorizationType"),_a("authoritySeed"),ae("authorityOwner")])}}),U7=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class vp{constructor(){}static initialize(t){const{stakePubkey:e,authorized:r,lockup:i}=t,s=i||Kh.default,o=Ln.Initialize,c=de(o,{authorized:{staker:ne(r.staker.toBuffer()),withdrawer:ne(r.withdrawer.toBuffer())},lockup:{unixTimestamp:s.unixTimestamp,epoch:s.epoch,custodian:ne(s.custodian.toBuffer())}}),u={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:al,isSigner:!1,isWritable:!1}],programId:this.programId,data:c};return new Be(u)}static createAccountWithSeed(t){const e=new Te;e.add(Tn.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 Te;e.add(Tn.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=de(s);return new Te().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:Vd,isSigner:!1,isWritable:!1},{pubkey:Q2,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,c=Ln.Authorize,u=de(c,{newAuthorized:ne(i.toBuffer()),stakeAuthorizationType:s.index}),f=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:zi,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&f.push({pubkey:o,isSigner:!0,isWritable:!1}),new Te().add({keys:f,programId:this.programId,data:u})}static authorizeWithSeed(t){const{stakePubkey:e,authorityBase:r,authoritySeed:i,authorityOwner:s,newAuthorizedPubkey:o,stakeAuthorizationType:c,custodianPubkey:u}=t,f=Ln.AuthorizeWithSeed,h=de(f,{newAuthorized:ne(o.toBuffer()),stakeAuthorizationType:c.index,authoritySeed:i,authorityOwner:ne(s.toBuffer())}),y=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:zi,isSigner:!1,isWritable:!1}];return u&&y.push({pubkey:u,isSigner:!0,isWritable:!1}),new Te().add({keys:y,programId:this.programId,data:h})}static splitInstruction(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:i,lamports:s}=t,o=Ln.Split,c=de(o,{lamports:s});return new Be({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:c})}static split(t,e){const r=new Te;return r.add(Tn.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:c,lamports:u}=t,f=new Te;return f.add(Tn.allocate({accountPubkey:s,basePubkey:o,seed:c,space:this.space,programId:this.programId})),e&&e>0&&f.add(Tn.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=de(s);return new Te().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:Vd,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,c=Ln.Withdraw,u=de(c,{lamports:s}),f=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:Vd,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&f.push({pubkey:o,isSigner:!0,isWritable:!1}),new Te().add({keys:f,programId:this.programId,data:u})}static deactivate(t){const{stakePubkey:e,authorizedPubkey:r}=t,i=Ln.Deactivate,s=de(i);return new Te().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}}vp.programId=new pt("Stake11111111111111111111111111111111111111");vp.space=200;class Y2{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 D7{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=Tt("instruction").decode(t.data);let i;for(const[s,o]of Object.entries(ji))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}=Se(ji.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new Y2(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}=Se(ji.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}}=Se(ji.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}=Se(ji.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(Bl.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 ji=Object.freeze({InitializeAccount:{index:0,layout:Ot([Tt("instruction"),H9()])},Authorize:{index:1,layout:Ot([Tt("instruction"),ae("newAuthorized"),Tt("voteAuthorizationType")])},Withdraw:{index:3,layout:Ot([Tt("instruction"),Hr("lamports")])},UpdateValidatorIdentity:{index:4,layout:Ot([Tt("instruction")])},AuthorizeWithSeed:{index:10,layout:Ot([Tt("instruction"),z9()])}}),F7=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class Bl{constructor(){}static initializeAccount(t){const{votePubkey:e,nodePubkey:r,voteInit:i}=t,s=ji.InitializeAccount,o=de(s,{voteInit:{nodePubkey:ne(i.nodePubkey.toBuffer()),authorizedVoter:ne(i.authorizedVoter.toBuffer()),authorizedWithdrawer:ne(i.authorizedWithdrawer.toBuffer()),commission:i.commission}}),c={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:al,isSigner:!1,isWritable:!1},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o};return new Be(c)}static createAccount(t){const e=new Te;return e.add(Tn.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=ji.Authorize,c=de(o,{newAuthorized:ne(i.toBuffer()),voteAuthorizationType:s.index}),u=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new Te().add({keys:u,programId:this.programId,data:c})}static authorizeWithSeed(t){const{currentAuthorityDerivedKeyBasePubkey:e,currentAuthorityDerivedKeyOwnerPubkey:r,currentAuthorityDerivedKeySeed:i,newAuthorizedPubkey:s,voteAuthorizationType:o,votePubkey:c}=t,u=ji.AuthorizeWithSeed,f=de(u,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:ne(r.toBuffer()),currentAuthorityDerivedKeySeed:i,newAuthorized:ne(s.toBuffer()),voteAuthorizationType:o.index}}),h=[{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:zi,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1}];return new Te().add({keys:h,programId:this.programId,data:f})}static withdraw(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,lamports:i,toPubkey:s}=t,o=ji.Withdraw,c=de(o,{lamports:i}),u=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return new Te().add({keys:u,programId:this.programId,data:c})}static safeWithdraw(t,e,r){if(t.lamports>e-r)throw new Error("Withdraw will leave vote account with insufficient funds.");return Bl.withdraw(t)}static updateValidatorIdentity(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,nodePubkey:i}=t,s=ji.UpdateValidatorIdentity,o=de(s),c=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new Te().add({keys:c,programId:this.programId,data:o})}}Bl.programId=new pt("Vote111111111111111111111111111111111111111");Bl.space=3762;const X2=new pt("Va1idator1nfo111111111111111111111111111111"),$7=dt({name:yt(),website:Dt(yt()),details:Dt(yt()),iconUrl:Dt(yt()),keybaseUsername:Dt(yt())});class E1{constructor(t,e){this.key=void 0,this.info=void 0,this.key=t,this.info=e}static fromConfigData(t){let e=[...t];if(vr(e)!==2)return null;const i=[];for(let s=0;s<2;s++){const o=new pt(xr(e,0,Xi)),c=Vi(e)===1;i.push({publicKey:o,isSigner:c})}if(i[0].publicKey.equals(X2)&&i[1].isSigner){const s=_a().decode(It.from(e)),o=JSON.parse(s);return h2(o,$7),new E1(i[1].publicKey,o)}return null}}const H7=new pt("Vote111111111111111111111111111111111111111"),z7=Ot([ae("nodePubkey"),ae("authorizedWithdrawer"),ge("commission"),zn(),qn(Ot([zn("slot"),Tt("confirmationCount")]),$o(Tt(),-8),"votes"),ge("rootSlotValid"),zn("rootSlot"),zn(),qn(Ot([zn("epoch"),ae("authorizedVoter")]),$o(Tt(),-8),"authorizedVoters"),Ot([qn(Ot([ae("authorizedPubkey"),zn("epochOfLastAuthorizedSwitch"),zn("targetEpoch")]),32,"buf"),zn("idx"),ge("isEmpty")],"priorVoters"),zn(),qn(Ot([zn("epoch"),zn("credits"),zn("prevCredits")]),$o(Tt(),-8),"epochCredits"),Ot([zn("slot"),zn("timestamp")],"lastTimestamp")]);class v1{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=z7.decode(ne(t),4);let i=r.rootSlot;return r.rootSlotValid||(i=null),new v1({nodePubkey:new pt(r.nodePubkey),authorizedWithdrawer:new pt(r.authorizedWithdrawer),commission:r.commission,votes:r.votes,rootSlot:i,authorizedVoters:r.authorizedVoters.map(G7),priorVoters:V7(r.priorVoters),epochCredits:r.epochCredits,lastTimestamp:r.lastTimestamp})}}function G7({authorizedVoter:n,epoch:t}){return{epoch:t,authorizedVoter:new pt(n)}}function NA({authorizedPubkey:n,epochOfLastAuthorizedSwitch:t,targetEpoch:e}){return{authorizedPubkey:new pt(n),epochOfLastAuthorizedSwitch:t,targetEpoch:e}}function V7({buf:n,idx:t,isEmpty:e}){return e?[]:[...n.slice(t+1).map(NA),...n.slice(0,t).map(NA)]}const CA={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 K7(n,t){const e=t===!1?"http":"https";if(!n)return CA[e].devnet;const r=CA[e][n];if(!r)throw new Error(`Unknown ${e} cluster: ${n}`);return r}async function j7(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},c=await n.sendRawTransaction(t,o),u=s&&s.commitment,h=(await(i?n.confirmTransaction(i,u):n.confirmTransaction(c,u))).value;if(h.err)throw c!=null?new Jo({action:o!=null&&o.skipPreflight?"send":"simulate",signature:c,transactionMessage:`Status: (${JSON.stringify(h)})`}):new Error(`Raw transaction ${c} failed (${JSON.stringify(h)})`);return c}const W7=1e9,Z7=Object.freeze(Object.defineProperty({__proto__:null,Account:L9,AddressLookupTableAccount:$m,AddressLookupTableInstruction:N7,AddressLookupTableProgram:_1,Authorized:J2,BLOCKHASH_CACHE_TIMEOUT_MS:D2,BPF_LOADER_DEPRECATED_PROGRAM_ID:U9,BPF_LOADER_PROGRAM_ID:rF,BpfLoader:iF,COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:Ki,ComputeBudgetInstruction:C7,ComputeBudgetProgram:A1,Connection:Z2,Ed25519Program:Ep,Enum:P9,EpochSchedule:L2,FeeCalculatorLayout:P2,Keypair:tc,LAMPORTS_PER_SOL:W7,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:Fs,Loader:lc,Lockup:Kh,MAX_SEED_LENGTH:O2,Message:xi,MessageAccountKeys:rh,MessageV0:uc,NONCE_ACCOUNT_LENGTH:Fm,NonceAccount:bp,PACKET_DATA_SIZE:Ho,PUBLIC_KEY_LENGTH:Xi,PublicKey:pt,SIGNATURE_LENGTH_IN_BYTES:nh,SOLANA_SCHEMA:Nf,STAKE_CONFIG_ID:Q2,STAKE_INSTRUCTION_LAYOUTS:Ln,SYSTEM_INSTRUCTION_LAYOUTS:$e,SYSVAR_CLOCK_PUBKEY:zi,SYSVAR_EPOCH_SCHEDULE_PUBKEY:W9,SYSVAR_INSTRUCTIONS_PUBKEY:Z9,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:Gd,SYSVAR_RENT_PUBKEY:al,SYSVAR_REWARDS_PUBKEY:q9,SYSVAR_SLOT_HASHES_PUBKEY:Q9,SYSVAR_SLOT_HISTORY_PUBKEY:J9,SYSVAR_STAKE_HISTORY_PUBKEY:Vd,Secp256k1Program:ou,SendTransactionError:Jo,SolanaJSONRPCError:Pt,SolanaJSONRPCErrorCode:Y9,StakeAuthorizationLayout:U7,StakeInstruction:L7,StakeProgram:vp,Struct:f1,SystemInstruction:eF,SystemProgram:Tn,Transaction:Te,TransactionExpiredBlockheightExceededError:h1,TransactionExpiredNonceInvalidError:Qc,TransactionExpiredTimeoutError:d1,TransactionInstruction:Be,TransactionMessage:g1,TransactionStatus:gs,VALIDATOR_INFO_KEY:X2,VERSION_PREFIX_MASK:mp,VOTE_PROGRAM_ID:H7,ValidatorInfo:E1,VersionedMessage:p1,VersionedTransaction:y1,VoteAccount:v1,VoteAuthorizationLayout:F7,VoteInit:Y2,VoteInstruction:D7,VoteProgram:Bl,clusterApiUrl:K7,sendAndConfirmRawTransaction:j7,sendAndConfirmTransaction:Dm},Symbol.toStringTag,{value:"Module"}));var x1={exports:{}};const q7=/[\p{Lu}]/u,Q7=/[\p{Ll}]/u,BA=/^[\p{Lu}](?![\p{Lu}])/gu,tR=/([\p{Alpha}\p{N}_]|$)/u,eR=/[_.\- ]+/,J7=new RegExp("^"+eR.source),PA=new RegExp(eR.source+tR.source,"gu"),MA=new RegExp("\\d+"+tR.source,"gu"),Y7=(n,t,e)=>{let r=!1,i=!1,s=!1;for(let o=0;o<n.length;o++){const c=n[o];r&&q7.test(c)?(n=n.slice(0,o)+"-"+n.slice(o),r=!1,s=i,i=!0,o++):i&&s&&Q7.test(c)?(n=n.slice(0,o-1)+"-"+n.slice(o-1),s=i,i=!1,r=!0):(r=t(c)===c&&e(c)!==c,s=i,i=e(c)===c&&t(c)!==c)}return n},X7=(n,t)=>(BA.lastIndex=0,n.replace(BA,e=>t(e))),t$=(n,t)=>(PA.lastIndex=0,MA.lastIndex=0,n.replace(PA,(e,r)=>t(r)).replace(MA,e=>t(e))),nR=(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=Y7(n,e,r)),n=n.replace(J7,""),t.preserveConsecutiveUppercase?n=X7(n,e):n=e(n),t.pascalCase&&(n=r(n.charAt(0))+n.slice(1)),t$(n,r))};x1.exports=nR;x1.exports.default=nR;var e$=x1.exports;const n$=ea(e$);var qt={},xt={};let Ne=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){}};xt.Layout=Ne;function R1(n,t){return t.property?n+"["+t.property+"]":n}xt.nameWithProperty=R1;function r$(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 Ne))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})}xt.bindConstructorLayout=r$;let kr=class extends Ne{isCount(){throw new Error("ExternalLayout is abstract")}};class rR extends kr{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 S1=class extends kr{constructor(t,e,r){if(!(t instanceof Ne))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 us||this.layout instanceof Js}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)}},us=class extends Ne{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}},Js=class extends Ne{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 xc extends Ne{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 Pl extends Ne{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 Vm=Math.pow(2,32);function xp(n){const t=Math.floor(n/Vm),e=n-t*Vm;return{hi32:t,lo32:e}}function Rp(n,t){return n*Vm+t}let i$=class extends Ne{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readUInt32LE(e+4);return Rp(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=xp(t);return e.writeUInt32LE(i.lo32,r),e.writeUInt32LE(i.hi32,r+4),8}};class s$ extends Ne{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32BE(e),i=t.readUInt32BE(e+4);return Rp(r,i)}encode(t,e,r){r===void 0&&(r=0);const i=xp(t);return e.writeUInt32BE(i.hi32,r),e.writeUInt32BE(i.lo32,r+4),8}}let o$=class extends Ne{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readInt32LE(e+4);return Rp(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=xp(t);return e.writeUInt32LE(i.lo32,r),e.writeInt32LE(i.hi32,r+4),8}};class a$ extends Ne{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readInt32BE(e),i=t.readUInt32BE(e+4);return Rp(r,i)}encode(t,e,r){r===void 0&&(r=0);const i=xp(t);return e.writeInt32BE(i.hi32,r),e.writeUInt32BE(i.lo32,r+4),8}}class iR extends Ne{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 sR extends Ne{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 oR extends Ne{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 aR extends Ne{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 cR extends Ne{constructor(t,e,r){if(!(t instanceof Ne))throw new TypeError("elementLayout must be a Layout");if(!(e instanceof kr&&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 kr)&&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 kr&&(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 kr&&(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,c)=>o+i.encode(c,e,r+o),0);return this.count instanceof kr&&this.count.encode(t.length,e,r),s}}let uR=class extends Ne{constructor(t,e,r){if(!(Array.isArray(t)&&t.reduce((s,o)=>s&&o instanceof Ne,!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 c of this.fields){let u=c.span;if(o=0<u?u:0,c.property!==void 0){const f=t[c.property];f!==void 0&&(o=c.encode(f,e,r),0>u&&(u=c.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)}}},I1=class{constructor(t){this.property=t}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}},v0=class extends I1{constructor(t,e){if(!(t instanceof kr&&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)}},k1=class extends Ne{constructor(t,e,r){const i=t instanceof us||t instanceof Js;if(i)t=new v0(new S1(t));else if(t instanceof kr&&t.isCount())t=new v0(t);else if(!(t instanceof I1))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(e===void 0&&(e=null),!(e===null||e instanceof Ne))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(c){return o(c)},this.configGetSourceVariant=function(c){o=c.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 c=0;o=this.defaultLayout,this.usesPrefixDiscriminator&&(c=i.layout.span),r=this.makeDestinationObject(),r[i.property]=s,r[o.property]=this.defaultLayout.decode(t,e+c)}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 c=0;return this.usesPrefixDiscriminator&&(c=s.layout.span),s.encode(t[s.property],e,r),c+o.encode(t[o.property],e,r+c)}return i.encode(t,e,r)}addVariant(t,e,r){const i=new lR(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]}},lR=class extends Ne{constructor(t,e,r,i){if(!(t instanceof k1))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 Ne))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 Vc(n){return 0>n&&(n+=4294967296),n}class T1 extends Ne{constructor(t,e,r){if(!(t instanceof us||t instanceof Js))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=Vc(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 Cf(this,t,e);return this.fields.push(r),r}addBoolean(t){const e=new fR(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 Cf{constructor(t,e,r){if(!(t instanceof T1))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,c)=>o+c.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=Vc(this.valueMask<<this.start),this.property=r}decode(){const t=this.container._packedGetValue();return Vc(t&this.wordMask)>>>this.start}encode(t){if(!Number.isInteger(t)||t!==Vc(t&this.valueMask))throw new TypeError(R1("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const e=this.container._packedGetValue(),r=Vc(t<<this.start);this.container._packedSetValue(Vc(e&~this.wordMask)|r)}}let fR=class extends Cf{constructor(t,e){super(t,1,e)}decode(t,e){return!!Cf.prototype.decode.call(this,t,e)}encode(t){return typeof t=="boolean"&&(t=+t),Cf.prototype.encode.call(this,t)}},hR=class extends Ne{constructor(t,e){if(!(t instanceof kr&&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 kr||(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 kr&&(i=t.length),!(Zt.isBuffer(t)&&i===t.length))throw new TypeError(R1("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 kr&&this.length.encode(i,e,r),i}};class dR extends Ne{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 pR extends Ne{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 gR extends Ne{constructor(t,e){super(0,e),this.value=t}decode(t,e,r){return this.value}encode(t,e,r){return 0}}xt.ExternalLayout=kr;xt.GreedyCount=rR;xt.OffsetLayout=S1;xt.UInt=us;xt.UIntBE=Js;xt.Int=xc;xt.IntBE=Pl;xt.Float=iR;xt.FloatBE=sR;xt.Double=oR;xt.DoubleBE=aR;xt.Sequence=cR;xt.Structure=uR;xt.UnionDiscriminator=I1;xt.UnionLayoutDiscriminator=v0;xt.Union=k1;xt.VariantLayout=lR;xt.BitStructure=T1;xt.BitField=Cf;xt.Boolean=fR;xt.Blob=hR;xt.CString=dR;xt.UTF8=pR;xt.Constant=gR;xt.greedy=(n,t)=>new rR(n,t);xt.offset=(n,t,e)=>new S1(n,t,e);xt.u8=n=>new us(1,n);xt.u16=n=>new us(2,n);xt.u24=n=>new us(3,n);xt.u32=n=>new us(4,n);xt.u40=n=>new us(5,n);xt.u48=n=>new us(6,n);xt.nu64=n=>new i$(n);xt.u16be=n=>new Js(2,n);xt.u24be=n=>new Js(3,n);xt.u32be=n=>new Js(4,n);xt.u40be=n=>new Js(5,n);xt.u48be=n=>new Js(6,n);xt.nu64be=n=>new s$(n);xt.s8=n=>new xc(1,n);xt.s16=n=>new xc(2,n);xt.s24=n=>new xc(3,n);xt.s32=n=>new xc(4,n);xt.s40=n=>new xc(5,n);xt.s48=n=>new xc(6,n);xt.ns64=n=>new o$(n);xt.s16be=n=>new Pl(2,n);xt.s24be=n=>new Pl(3,n);xt.s32be=n=>new Pl(4,n);xt.s40be=n=>new Pl(5,n);xt.s48be=n=>new Pl(6,n);xt.ns64be=n=>new a$(n);xt.f32=n=>new iR(n);xt.f32be=n=>new sR(n);xt.f64=n=>new oR(n);xt.f64be=n=>new aR(n);xt.struct=(n,t,e)=>new uR(n,t,e);xt.bits=(n,t,e)=>new T1(n,t,e);xt.seq=(n,t,e)=>new cR(n,t,e);xt.union=(n,t,e)=>new k1(n,t,e);xt.unionLayoutDiscriminator=(n,t)=>new v0(n,t);xt.blob=(n,t)=>new hR(n,t);xt.cstr=n=>new dR(n);xt.utf8=(n,t)=>new pR(n,t);xt.const=(n,t)=>new gR(n,t);const c$=q0(Z7);(function(n){var t=Zn&&Zn.__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=c,n.i64=u,n.u128=f,n.i128=h,n.u256=y,n.i256=A,n.publicKey=R,n.option=S,n.bool=B,n.vec=G,n.tagged=W,n.vecU8=Y,n.str=j,n.rustEnum=J,n.array=it,n.map=rt;const e=xt,r=c$,i=t(Kw);var s=xt;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 c(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 A(ot){return new o(32,!0,ot)}class b 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 b((0,e.blob)(32),C=>new r.PublicKey(C),C=>C.toBuffer(),ot)}class k 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 S(ot,C){return new k(ot,C)}function B(ot){return new b((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 b(m,({values:v})=>v,v=>({values:v}),C)}function W(ot,C,p){const m=(0,e.struct)([c("tag"),C.replicate("data")]);function v({tag:I,data:N}){if(!I.eq(ot))throw new Error("Invalid tag, expected: "+ot.toString("hex")+", got: "+I.toString("hex"));return N}return new b(m,v,I=>({tag:ot,data:I}),p)}function Y(ot){const C=(0,e.u32)("length"),p=(0,e.struct)([C,(0,e.blob)((0,e.offset)(C,-C.span),"data")]);return new b(p,({data:m})=>m,m=>({data:m}),ot)}function j(ot){return new b(Y(),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,I)=>m.addVariant(I,v,v.property)),m}function it(ot,C,p){const m=(0,e.struct)([(0,e.seq)(ot,C,"values")]);return new b(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),I=this.valueLayout.encode(C[1],p,m+v);return v+I}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 b(v,({values:I})=>new Map(I),I=>({values:Array.from(I.entries())}),p)}})(qt);/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const u$=4,LA=0,UA=1,l$=2;function Ml(n){let t=n.length;for(;--t>=0;)n[t]=0}const f$=0,yR=1,h$=2,d$=3,p$=258,O1=29,jh=256,sh=jh+1+O1,au=30,N1=19,mR=2*sh+1,Aa=15,Dy=16,g$=7,C1=256,wR=16,bR=17,_R=18,Km=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]),Kd=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]),y$=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),AR=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),m$=512,As=new Array((sh+2)*2);Ml(As);const Bf=new Array(au*2);Ml(Bf);const oh=new Array(m$);Ml(oh);const ah=new Array(p$-d$+1);Ml(ah);const B1=new Array(O1);Ml(B1);const x0=new Array(au);Ml(x0);function Fy(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 ER,vR,xR;function $y(n,t){this.dyn_tree=n,this.max_code=0,this.stat_desc=t}const RR=n=>n<256?oh[n]:oh[256+(n>>>7)],ch=(n,t)=>{n.pending_buf[n.pending++]=t&255,n.pending_buf[n.pending++]=t>>>8&255},Tr=(n,t,e)=>{n.bi_valid>Dy-e?(n.bi_buf|=t<<n.bi_valid&65535,ch(n,n.bi_buf),n.bi_buf=t>>Dy-n.bi_valid,n.bi_valid+=e-Dy):(n.bi_buf|=t<<n.bi_valid&65535,n.bi_valid+=e)},Wi=(n,t,e)=>{Tr(n,e[t*2],e[t*2+1])},SR=(n,t)=>{let e=0;do e|=n&1,n>>>=1,e<<=1;while(--t>0);return e>>>1},w$=n=>{n.bi_valid===16?(ch(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)},b$=(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,c=t.stat_desc.extra_base,u=t.stat_desc.max_length;let f,h,y,A,b,R,k=0;for(A=0;A<=Aa;A++)n.bl_count[A]=0;for(e[n.heap[n.heap_max]*2+1]=0,f=n.heap_max+1;f<mR;f++)h=n.heap[f],A=e[e[h*2+1]*2+1]+1,A>u&&(A=u,k++),e[h*2+1]=A,!(h>r)&&(n.bl_count[A]++,b=0,h>=c&&(b=o[h-c]),R=e[h*2],n.opt_len+=R*(A+b),s&&(n.static_len+=R*(i[h*2+1]+b)));if(k!==0){do{for(A=u-1;n.bl_count[A]===0;)A--;n.bl_count[A]--,n.bl_count[A+1]+=2,n.bl_count[u]--,k-=2}while(k>0);for(A=u;A!==0;A--)for(h=n.bl_count[A];h!==0;)y=n.heap[--f],!(y>r)&&(e[y*2+1]!==A&&(n.opt_len+=(A-e[y*2+1])*e[y*2],e[y*2+1]=A),h--)}},IR=(n,t,e)=>{const r=new Array(Aa+1);let i=0,s,o;for(s=1;s<=Aa;s++)i=i+e[s-1]<<1,r[s]=i;for(o=0;o<=t;o++){let c=n[o*2+1];c!==0&&(n[o*2]=SR(r[c]++,c))}},_$=()=>{let n,t,e,r,i;const s=new Array(Aa+1);for(e=0,r=0;r<O1-1;r++)for(B1[r]=e,n=0;n<1<<Km[r];n++)ah[e++]=r;for(ah[e-1]=r,i=0,r=0;r<16;r++)for(x0[r]=i,n=0;n<1<<Kd[r];n++)oh[i++]=r;for(i>>=7;r<au;r++)for(x0[r]=i<<7,n=0;n<1<<Kd[r]-7;n++)oh[256+i++]=r;for(t=0;t<=Aa;t++)s[t]=0;for(n=0;n<=143;)As[n*2+1]=8,n++,s[8]++;for(;n<=255;)As[n*2+1]=9,n++,s[9]++;for(;n<=279;)As[n*2+1]=7,n++,s[7]++;for(;n<=287;)As[n*2+1]=8,n++,s[8]++;for(IR(As,sh+1,s),n=0;n<au;n++)Bf[n*2+1]=5,Bf[n*2]=SR(n,5);ER=new Fy(As,Km,jh+1,sh,Aa),vR=new Fy(Bf,Kd,0,au,Aa),xR=new Fy(new Array(0),y$,0,N1,g$)},kR=n=>{let t;for(t=0;t<sh;t++)n.dyn_ltree[t*2]=0;for(t=0;t<au;t++)n.dyn_dtree[t*2]=0;for(t=0;t<N1;t++)n.bl_tree[t*2]=0;n.dyn_ltree[C1*2]=1,n.opt_len=n.static_len=0,n.sym_next=n.matches=0},TR=n=>{n.bi_valid>8?ch(n,n.bi_buf):n.bi_valid>0&&(n.pending_buf[n.pending++]=n.bi_buf),n.bi_buf=0,n.bi_valid=0},DA=(n,t,e,r)=>{const i=t*2,s=e*2;return n[i]<n[s]||n[i]===n[s]&&r[t]<=r[e]},Hy=(n,t,e)=>{const r=n.heap[e];let i=e<<1;for(;i<=n.heap_len&&(i<n.heap_len&&DA(t,n.heap[i+1],n.heap[i],n.depth)&&i++,!DA(t,r,n.heap[i],n.depth));)n.heap[e]=n.heap[i],e=i,i<<=1;n.heap[e]=r},FA=(n,t,e)=>{let r,i,s=0,o,c;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?Wi(n,i,t):(o=ah[i],Wi(n,o+jh+1,t),c=Km[o],c!==0&&(i-=B1[o],Tr(n,i,c)),r--,o=RR(r),Wi(n,o,e),c=Kd[o],c!==0&&(r-=x0[o],Tr(n,r,c)));while(s<n.sym_next);Wi(n,C1,t)},jm=(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,c,u=-1,f;for(n.heap_len=0,n.heap_max=mR,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--)Hy(n,e,o);f=s;do o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],Hy(n,e,1),c=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=c,e[f*2]=e[o*2]+e[c*2],n.depth[f]=(n.depth[o]>=n.depth[c]?n.depth[o]:n.depth[c])+1,e[o*2+1]=e[c*2+1]=f,n.heap[1]=f++,Hy(n,e,1);while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],b$(n,t),IR(e,u,n.bl_count)},$A=(n,t,e)=>{let r,i=-1,s,o=t[0*2+1],c=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],!(++c<u&&s===o)&&(c<f?n.bl_tree[s*2]+=c:s!==0?(s!==i&&n.bl_tree[s*2]++,n.bl_tree[wR*2]++):c<=10?n.bl_tree[bR*2]++:n.bl_tree[_R*2]++,c=0,i=s,o===0?(u=138,f=3):s===o?(u=6,f=3):(u=7,f=4))},HA=(n,t,e)=>{let r,i=-1,s,o=t[0*2+1],c=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],!(++c<u&&s===o)){if(c<f)do Wi(n,s,n.bl_tree);while(--c!==0);else s!==0?(s!==i&&(Wi(n,s,n.bl_tree),c--),Wi(n,wR,n.bl_tree),Tr(n,c-3,2)):c<=10?(Wi(n,bR,n.bl_tree),Tr(n,c-3,3)):(Wi(n,_R,n.bl_tree),Tr(n,c-11,7));c=0,i=s,o===0?(u=138,f=3):s===o?(u=6,f=3):(u=7,f=4)}},A$=n=>{let t;for($A(n,n.dyn_ltree,n.l_desc.max_code),$A(n,n.dyn_dtree,n.d_desc.max_code),jm(n,n.bl_desc),t=N1-1;t>=3&&n.bl_tree[AR[t]*2+1]===0;t--);return n.opt_len+=3*(t+1)+5+5+4,t},E$=(n,t,e,r)=>{let i;for(Tr(n,t-257,5),Tr(n,e-1,5),Tr(n,r-4,4),i=0;i<r;i++)Tr(n,n.bl_tree[AR[i]*2+1],3);HA(n,n.dyn_ltree,t-1),HA(n,n.dyn_dtree,e-1)},v$=n=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&n.dyn_ltree[e*2]!==0)return LA;if(n.dyn_ltree[9*2]!==0||n.dyn_ltree[10*2]!==0||n.dyn_ltree[13*2]!==0)return UA;for(e=32;e<jh;e++)if(n.dyn_ltree[e*2]!==0)return UA;return LA};let zA=!1;const x$=n=>{zA||(_$(),zA=!0),n.l_desc=new $y(n.dyn_ltree,ER),n.d_desc=new $y(n.dyn_dtree,vR),n.bl_desc=new $y(n.bl_tree,xR),n.bi_buf=0,n.bi_valid=0,kR(n)},OR=(n,t,e,r)=>{Tr(n,(f$<<1)+(r?1:0),3),TR(n),ch(n,e),ch(n,~e),e&&n.pending_buf.set(n.window.subarray(t,t+e),n.pending),n.pending+=e},R$=n=>{Tr(n,yR<<1,3),Wi(n,C1,As),w$(n)},S$=(n,t,e,r)=>{let i,s,o=0;n.level>0?(n.strm.data_type===l$&&(n.strm.data_type=v$(n)),jm(n,n.l_desc),jm(n,n.d_desc),o=A$(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?OR(n,t,e,r):n.strategy===u$||s===i?(Tr(n,(yR<<1)+(r?1:0),3),FA(n,As,Bf)):(Tr(n,(h$<<1)+(r?1:0),3),E$(n,n.l_desc.max_code+1,n.d_desc.max_code+1,o+1),FA(n,n.dyn_ltree,n.dyn_dtree)),kR(n),r&&TR(n)},I$=(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[(ah[e]+jh+1)*2]++,n.dyn_dtree[RR(t)*2]++),n.sym_next===n.sym_end);var k$=x$,T$=OR,O$=S$,N$=I$,C$=R$,B$={_tr_init:k$,_tr_stored_block:T$,_tr_flush_block:O$,_tr_tally:N$,_tr_align:C$};const P$=(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};var uh=P$;const M$=()=>{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},L$=new Uint32Array(M$()),U$=(n,t,e,r)=>{const i=L$,s=r+e;n^=-1;for(let o=r;o<s;o++)n=n>>>8^i[(n^t[o])&255];return n^-1};var Mn=U$,ul={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"},Wh={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:D$,_tr_stored_block:Wm,_tr_flush_block:F$,_tr_tally:zo,_tr_align:$$}=B$,{Z_NO_FLUSH:Go,Z_PARTIAL_FLUSH:H$,Z_FULL_FLUSH:z$,Z_FINISH:ii,Z_BLOCK:GA,Z_OK:Vn,Z_STREAM_END:VA,Z_STREAM_ERROR:ts,Z_DATA_ERROR:G$,Z_BUF_ERROR:zy,Z_DEFAULT_COMPRESSION:V$,Z_FILTERED:K$,Z_HUFFMAN_ONLY:Id,Z_RLE:j$,Z_FIXED:W$,Z_DEFAULT_STRATEGY:Z$,Z_UNKNOWN:q$,Z_DEFLATED:Sp}=Wh,Q$=9,J$=15,Y$=8,X$=29,tH=256,Zm=tH+1+X$,eH=30,nH=19,rH=2*Zm+1,iH=15,le=3,Fo=258,es=Fo+le+1,sH=32,ll=42,P1=57,qm=69,Qm=73,Jm=91,Ym=103,Ea=113,vf=666,dr=1,Ll=2,fc=3,Ul=4,oH=3,va=(n,t)=>(n.msg=ul[t],t),KA=n=>n*2-(n>4?9:0),yo=n=>{let t=n.length;for(;--t>=0;)n[t]=0},aH=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 cH=(n,t,e)=>(t<<n.hash_shift^e)&n.hash_mask,Vo=cH;const Mr=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))},Gr=(n,t)=>{F$(n,n.block_start>=0?n.block_start:-1,n.strstart-n.block_start,t),n.block_start=n.strstart,Mr(n.strm)},xe=(n,t)=>{n.pending_buf[n.pending++]=t},mf=(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=uh(n.adler,t,i,e):n.state.wrap===2&&(n.adler=Mn(n.adler,t,i,e)),n.next_in+=i,n.total_in+=i,i)},NR=(n,t)=>{let e=n.max_chain_length,r=n.strstart,i,s,o=n.prev_length,c=n.nice_match;const u=n.strstart>n.w_size-es?n.strstart-(n.w_size-es):0,f=n.window,h=n.w_mask,y=n.prev,A=n.strstart+Fo;let b=f[r+o-1],R=f[r+o];n.prev_length>=n.good_match&&(e>>=2),c>n.lookahead&&(c=n.lookahead);do if(i=t,!(f[i+o]!==R||f[i+o-1]!==b||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<A);if(s=Fo-(A-r),r=A-Fo,s>o){if(n.match_start=t,o=s,s>=c)break;b=f[r+o-1],R=f[r+o]}}while((t=y[t&h])>u&&--e!==0);return o<=n.lookahead?o:n.lookahead},fl=n=>{const t=n.w_size;let e,r,i;do{if(r=n.window_size-n.lookahead-n.strstart,n.strstart>=t+(t-es)&&(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),aH(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=Vo(n,n.ins_h,n.window[i+1]);n.insert&&(n.ins_h=Vo(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<es&&n.strm.avail_in!==0)},CR=(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,c=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!==ii||t===Go||r!==i+n.strm.avail_in)))break;o=t===ii&&r===i+n.strm.avail_in?1:0,Wm(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,Mr(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 c-=n.strm.avail_in,c&&(c>=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<=c&&(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-c,n.strm.next_in),n.strstart),n.strstart+=c,n.insert+=c>n.w_size-n.insert?n.w_size-n.insert:c),n.block_start=n.strstart),n.high_water<n.strstart&&(n.high_water=n.strstart),o?Ul:t!==Go&&t!==ii&&n.strm.avail_in===0&&n.strstart===n.block_start?Ll:(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===ii)&&t!==Go&&n.strm.avail_in===0&&i<=s)&&(r=i>s?s:i,o=t===ii&&n.strm.avail_in===0&&r===i?1:0,Wm(n,n.block_start,r,o),n.block_start+=r,Mr(n.strm)),o?fc:dr)},Gy=(n,t)=>{let e,r;for(;;){if(n.lookahead<es){if(fl(n),n.lookahead<es&&t===Go)return dr;if(n.lookahead===0)break}if(e=0,n.lookahead>=le&&(n.ins_h=Vo(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-es&&(n.match_length=NR(n,e)),n.match_length>=le)if(r=zo(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=Vo(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=Vo(n,n.ins_h,n.window[n.strstart+1]);else r=zo(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++;if(r&&(Gr(n,!1),n.strm.avail_out===0))return dr}return n.insert=n.strstart<le-1?n.strstart:le-1,t===ii?(Gr(n,!0),n.strm.avail_out===0?fc:Ul):n.sym_next&&(Gr(n,!1),n.strm.avail_out===0)?dr:Ll},Uc=(n,t)=>{let e,r,i;for(;;){if(n.lookahead<es){if(fl(n),n.lookahead<es&&t===Go)return dr;if(n.lookahead===0)break}if(e=0,n.lookahead>=le&&(n.ins_h=Vo(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-es&&(n.match_length=NR(n,e),n.match_length<=5&&(n.strategy===K$||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=zo(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=Vo(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&&(Gr(n,!1),n.strm.avail_out===0))return dr}else if(n.match_available){if(r=zo(n,0,n.window[n.strstart-1]),r&&Gr(n,!1),n.strstart++,n.lookahead--,n.strm.avail_out===0)return dr}else n.match_available=1,n.strstart++,n.lookahead--}return n.match_available&&(r=zo(n,0,n.window[n.strstart-1]),n.match_available=0),n.insert=n.strstart<le-1?n.strstart:le-1,t===ii?(Gr(n,!0),n.strm.avail_out===0?fc:Ul):n.sym_next&&(Gr(n,!1),n.strm.avail_out===0)?dr:Ll},uH=(n,t)=>{let e,r,i,s;const o=n.window;for(;;){if(n.lookahead<=Fo){if(fl(n),n.lookahead<=Fo&&t===Go)return dr;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+Fo;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=Fo-(s-i),n.match_length>n.lookahead&&(n.match_length=n.lookahead)}if(n.match_length>=le?(e=zo(n,1,n.match_length-le),n.lookahead-=n.match_length,n.strstart+=n.match_length,n.match_length=0):(e=zo(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++),e&&(Gr(n,!1),n.strm.avail_out===0))return dr}return n.insert=0,t===ii?(Gr(n,!0),n.strm.avail_out===0?fc:Ul):n.sym_next&&(Gr(n,!1),n.strm.avail_out===0)?dr:Ll},lH=(n,t)=>{let e;for(;;){if(n.lookahead===0&&(fl(n),n.lookahead===0)){if(t===Go)return dr;break}if(n.match_length=0,e=zo(n,0,n.window[n.strstart]),n.lookahead--,n.strstart++,e&&(Gr(n,!1),n.strm.avail_out===0))return dr}return n.insert=0,t===ii?(Gr(n,!0),n.strm.avail_out===0?fc:Ul):n.sym_next&&(Gr(n,!1),n.strm.avail_out===0)?dr:Ll};function Ni(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 xf=[new Ni(0,0,0,0,CR),new Ni(4,4,8,4,Gy),new Ni(4,5,16,8,Gy),new Ni(4,6,32,32,Gy),new Ni(4,4,16,16,Uc),new Ni(8,16,32,32,Uc),new Ni(8,16,128,128,Uc),new Ni(8,32,128,256,Uc),new Ni(32,128,258,1024,Uc),new Ni(32,258,258,4096,Uc)],fH=n=>{n.window_size=2*n.w_size,yo(n.head),n.max_lazy_match=xf[n.level].max_lazy,n.good_match=xf[n.level].good_length,n.nice_match=xf[n.level].nice_length,n.max_chain_length=xf[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 hH(){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=Sp,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(rH*2),this.dyn_dtree=new Uint16Array((2*eH+1)*2),this.bl_tree=new Uint16Array((2*nH+1)*2),yo(this.dyn_ltree),yo(this.dyn_dtree),yo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(iH+1),this.heap=new Uint16Array(2*Zm+1),yo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Zm+1),yo(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 Zh=n=>{if(!n)return 1;const t=n.state;return!t||t.strm!==n||t.status!==ll&&t.status!==P1&&t.status!==qm&&t.status!==Qm&&t.status!==Jm&&t.status!==Ym&&t.status!==Ea&&t.status!==vf?1:0},BR=n=>{if(Zh(n))return va(n,ts);n.total_in=n.total_out=0,n.data_type=q$;const t=n.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?P1:t.wrap?ll:Ea,n.adler=t.wrap===2?0:1,t.last_flush=-2,D$(t),Vn},PR=n=>{const t=BR(n);return t===Vn&&fH(n.state),t},dH=(n,t)=>Zh(n)||n.state.wrap!==2?ts:(n.state.gzhead=t,Vn),MR=(n,t,e,r,i,s)=>{if(!n)return ts;let o=1;if(t===V$&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>Q$||e!==Sp||r<8||r>15||t<0||t>9||s<0||s>W$||r===8&&o!==1)return va(n,ts);r===8&&(r=9);const c=new hH;return n.state=c,c.strm=n,c.status=ll,c.wrap=o,c.gzhead=null,c.w_bits=r,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=i+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+le-1)/le),c.window=new Uint8Array(c.w_size*2),c.head=new Uint16Array(c.hash_size),c.prev=new Uint16Array(c.w_size),c.lit_bufsize=1<<i+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new Uint8Array(c.pending_buf_size),c.sym_buf=c.lit_bufsize,c.sym_end=(c.lit_bufsize-1)*3,c.level=t,c.strategy=s,c.method=e,PR(n)},pH=(n,t)=>MR(n,t,Sp,J$,Y$,Z$),gH=(n,t)=>{if(Zh(n)||t>GA||t<0)return n?va(n,ts):ts;const e=n.state;if(!n.output||n.avail_in!==0&&!n.input||e.status===vf&&t!==ii)return va(n,n.avail_out===0?zy:ts);const r=e.last_flush;if(e.last_flush=t,e.pending!==0){if(Mr(n),n.avail_out===0)return e.last_flush=-1,Vn}else if(n.avail_in===0&&KA(t)<=KA(r)&&t!==ii)return va(n,zy);if(e.status===vf&&n.avail_in!==0)return va(n,zy);if(e.status===ll&&e.wrap===0&&(e.status=Ea),e.status===ll){let i=Sp+(e.w_bits-8<<4)<<8,s=-1;if(e.strategy>=Id||e.level<2?s=0:e.level<6?s=1:e.level===6?s=2:s=3,i|=s<<6,e.strstart!==0&&(i|=sH),i+=31-i%31,mf(e,i),e.strstart!==0&&(mf(e,n.adler>>>16),mf(e,n.adler&65535)),n.adler=1,e.status=Ea,Mr(n),e.pending!==0)return e.last_flush=-1,Vn}if(e.status===P1){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>=Id||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=Mn(n.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=qm;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>=Id||e.level<2?4:0),xe(e,oH),e.status=Ea,Mr(n),e.pending!==0)return e.last_flush=-1,Vn}if(e.status===qm){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 c=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+c),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>i&&(n.adler=Mn(n.adler,e.pending_buf,e.pending-i,i)),e.gzindex+=c,Mr(n),e.pending!==0)return e.last_flush=-1,Vn;i=0,s-=c}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=Mn(n.adler,e.pending_buf,e.pending-i,i)),e.gzindex=0}e.status=Qm}if(e.status===Qm){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=Mn(n.adler,e.pending_buf,e.pending-i,i)),Mr(n),e.pending!==0)return e.last_flush=-1,Vn;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=Mn(n.adler,e.pending_buf,e.pending-i,i)),e.gzindex=0}e.status=Jm}if(e.status===Jm){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=Mn(n.adler,e.pending_buf,e.pending-i,i)),Mr(n),e.pending!==0)return e.last_flush=-1,Vn;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=Mn(n.adler,e.pending_buf,e.pending-i,i))}e.status=Ym}if(e.status===Ym){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(Mr(n),e.pending!==0))return e.last_flush=-1,Vn;xe(e,n.adler&255),xe(e,n.adler>>8&255),n.adler=0}if(e.status=Ea,Mr(n),e.pending!==0)return e.last_flush=-1,Vn}if(n.avail_in!==0||e.lookahead!==0||t!==Go&&e.status!==vf){let i=e.level===0?CR(e,t):e.strategy===Id?lH(e,t):e.strategy===j$?uH(e,t):xf[e.level].func(e,t);if((i===fc||i===Ul)&&(e.status=vf),i===dr||i===fc)return n.avail_out===0&&(e.last_flush=-1),Vn;if(i===Ll&&(t===H$?$$(e):t!==GA&&(Wm(e,0,0,!1),t===z$&&(yo(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),Mr(n),n.avail_out===0))return e.last_flush=-1,Vn}return t!==ii?Vn:e.wrap<=0?VA:(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)):(mf(e,n.adler>>>16),mf(e,n.adler&65535)),Mr(n),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?Vn:VA)},yH=n=>{if(Zh(n))return ts;const t=n.state.status;return n.state=null,t===Ea?va(n,G$):Vn},mH=(n,t)=>{let e=t.length;if(Zh(n))return ts;const r=n.state,i=r.wrap;if(i===2||i===1&&r.status!==ll||r.lookahead)return ts;if(i===1&&(n.adler=uh(n.adler,t,e,0)),r.wrap=0,e>=r.w_size){i===0&&(yo(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,c=n.input;for(n.avail_in=e,n.next_in=0,n.input=t,fl(r);r.lookahead>=le;){let u=r.strstart,f=r.lookahead-(le-1);do r.ins_h=Vo(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,fl(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=c,n.avail_in=s,r.wrap=i,Vn};var wH=pH,bH=MR,_H=PR,AH=BR,EH=dH,vH=gH,xH=yH,RH=mH,SH="pako deflate (from Nodeca project)",Pf={deflateInit:wH,deflateInit2:bH,deflateReset:_H,deflateResetKeep:AH,deflateSetHeader:EH,deflate:vH,deflateEnd:xH,deflateSetDictionary:RH,deflateInfo:SH};const IH=(n,t)=>Object.prototype.hasOwnProperty.call(n,t);var kH=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)IH(e,r)&&(n[r]=e[r])}}return n},TH=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},Ip={assign:kH,flattenChunks:TH};let LR=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{LR=!1}const lh=new Uint8Array(256);for(let n=0;n<256;n++)lh[n]=n>=252?6:n>=248?5:n>=240?4:n>=224?3:n>=192?2:1;lh[254]=lh[254]=1;var OH=n=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(n);let t,e,r,i,s,o=n.length,c=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++)),c+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(c),s=0,i=0;s<c;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 NH=(n,t)=>{if(t<65534&&n.subarray&&LR)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 CH=(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 c=lh[o];if(c>4){s[i++]=65533,r+=c-1;continue}for(o&=c===2?31:c===3?15:7;c>1&&r<e;)o=o<<6|n[r++]&63,c--;if(c>1){s[i++]=65533;continue}o<65536?s[i++]=o:(o-=65536,s[i++]=55296|o>>10&1023,s[i++]=56320|o&1023)}return NH(s,i)},BH=(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+lh[n[e]]>t?e:t},fh={string2buf:OH,buf2string:CH,utf8border:BH};function PH(){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 UR=PH;const DR=Object.prototype.toString,{Z_NO_FLUSH:MH,Z_SYNC_FLUSH:LH,Z_FULL_FLUSH:UH,Z_FINISH:DH,Z_OK:R0,Z_STREAM_END:FH,Z_DEFAULT_COMPRESSION:$H,Z_DEFAULT_STRATEGY:HH,Z_DEFLATED:zH}=Wh;function M1(n){this.options=Ip.assign({level:$H,method:zH,chunkSize:16384,windowBits:15,memLevel:8,strategy:HH},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 UR,this.strm.avail_out=0;let e=Pf.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==R0)throw new Error(ul[e]);if(t.header&&Pf.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(typeof t.dictionary=="string"?r=fh.string2buf(t.dictionary):DR.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,e=Pf.deflateSetDictionary(this.strm,r),e!==R0)throw new Error(ul[e]);this._dict_set=!0}}M1.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?DH:MH,typeof n=="string"?e.input=fh.string2buf(n):DR.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===LH||s===UH)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(i=Pf.deflate(e,s),i===FH)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),i=Pf.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===R0;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};M1.prototype.onData=function(n){this.chunks.push(n)};M1.prototype.onEnd=function(n){n===R0&&(this.result=Ip.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};const kd=16209,GH=16191;var VH=function(t,e){let r,i,s,o,c,u,f,h,y,A,b,R,k,S,B,H,U,G,W,Y,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),c=s+(t.avail_out-257),u=rt.dmax,f=rt.wsize,h=rt.whave,y=rt.wnext,A=rt.window,b=rt.hold,R=rt.bits,k=rt.lencode,S=rt.distcode,B=(1<<rt.lenbits)-1,H=(1<<rt.distbits)-1;t:do{R<15&&(b+=it[r++]<<R,R+=8,b+=it[r++]<<R,R+=8),U=k[b&B];e:for(;;){if(G=U>>>24,b>>>=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&&(b+=it[r++]<<R,R+=8),W+=b&(1<<G)-1,b>>>=G,R-=G),R<15&&(b+=it[r++]<<R,R+=8,b+=it[r++]<<R,R+=8),U=S[b&H];n:for(;;){if(G=U>>>24,b>>>=G,R-=G,G=U>>>16&255,G&16){if(Y=U&65535,G&=15,R<G&&(b+=it[r++]<<R,R+=8,R<G&&(b+=it[r++]<<R,R+=8)),Y+=b&(1<<G)-1,Y>u){t.msg="invalid distance too far back",rt.mode=kd;break t}if(b>>>=G,R-=G,G=s-o,Y>G){if(G=Y-G,G>h&&rt.sane){t.msg="invalid distance too far back",rt.mode=kd;break t}if(j=0,J=A,y===0){if(j+=f-G,G<W){W-=G;do ut[s++]=A[j++];while(--G);j=s-Y,J=ut}}else if(y<G){if(j+=f+y-G,G-=y,G<W){W-=G;do ut[s++]=A[j++];while(--G);if(j=0,y<W){G=y,W-=G;do ut[s++]=A[j++];while(--G);j=s-Y,J=ut}}}else if(j+=y-G,G<W){W-=G;do ut[s++]=A[j++];while(--G);j=s-Y,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-Y;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=kd;break t}else{U=S[(U&65535)+(b&(1<<G)-1)];continue n}break}}else if(G&64)if(G&32){rt.mode=GH;break t}else{t.msg="invalid literal/length code",rt.mode=kd;break t}else{U=k[(U&65535)+(b&(1<<G)-1)];continue e}break}}while(r<i&&s<c);W=R>>3,r-=W,R-=W<<3,b&=(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<c?257+(c-s):257-(s-c),rt.hold=b,rt.bits=R};const Dc=15,jA=852,WA=592,ZA=0,Vy=1,qA=2,KH=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]),jH=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]),WH=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]),ZH=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]),qH=(n,t,e,r,i,s,o,c)=>{const u=c.bits;let f=0,h=0,y=0,A=0,b=0,R=0,k=0,S=0,B=0,H=0,U,G,W,Y,j,J=null,it;const ut=new Uint16Array(Dc+1),rt=new Uint16Array(Dc+1);let ot=null,C,p,m;for(f=0;f<=Dc;f++)ut[f]=0;for(h=0;h<r;h++)ut[t[e+h]]++;for(b=u,A=Dc;A>=1&&ut[A]===0;A--);if(b>A&&(b=A),A===0)return i[s++]=1<<24|64<<16|0,i[s++]=1<<24|64<<16|0,c.bits=1,0;for(y=1;y<A&&ut[y]===0;y++);for(b<y&&(b=y),S=1,f=1;f<=Dc;f++)if(S<<=1,S-=ut[f],S<0)return-1;if(S>0&&(n===ZA||A!==1))return-1;for(rt[1]=0,f=1;f<Dc;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===ZA?(J=ot=o,it=20):n===Vy?(J=KH,ot=jH,it=257):(J=WH,ot=ZH,it=0),H=0,h=0,f=y,j=s,R=b,k=0,W=-1,B=1<<b,Y=B-1,n===Vy&&B>jA||n===qA&&B>WA)return 1;for(;;){C=f-k,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-k,G=1<<R,y=G;do G-=U,i[j+(H>>k)+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===A)break;f=t[e+o[h]]}if(f>b&&(H&Y)!==W){for(k===0&&(k=b),j+=y,R=f-k,S=1<<R;R+k<A&&(S-=ut[R+k],!(S<=0));)R++,S<<=1;if(B+=1<<R,n===Vy&&B>jA||n===qA&&B>WA)return 1;W=H&Y,i[W]=b<<24|R<<16|j-s|0}}return H!==0&&(i[j+H]=f-k<<24|64<<16|0),c.bits=b,0};var Mf=qH;const QH=0,FR=1,$R=2,{Z_FINISH:QA,Z_BLOCK:JH,Z_TREES:Td,Z_OK:hc,Z_STREAM_END:YH,Z_NEED_DICT:XH,Z_STREAM_ERROR:oi,Z_DATA_ERROR:HR,Z_MEM_ERROR:zR,Z_BUF_ERROR:tz,Z_DEFLATED:JA}=Wh,kp=16180,YA=16181,XA=16182,tE=16183,eE=16184,nE=16185,rE=16186,iE=16187,sE=16188,oE=16189,S0=16190,ds=16191,Ky=16192,aE=16193,jy=16194,cE=16195,uE=16196,lE=16197,fE=16198,Od=16199,Nd=16200,hE=16201,dE=16202,pE=16203,gE=16204,yE=16205,Wy=16206,mE=16207,wE=16208,We=16209,GR=16210,VR=16211,ez=852,nz=592,rz=15,iz=rz,bE=n=>(n>>>24&255)+(n>>>8&65280)+((n&65280)<<8)+((n&255)<<24);function sz(){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 Rc=n=>{if(!n)return 1;const t=n.state;return!t||t.strm!==n||t.mode<kp||t.mode>VR?1:0},KR=n=>{if(Rc(n))return oi;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=kp,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(ez),t.distcode=t.distdyn=new Int32Array(nz),t.sane=1,t.back=-1,hc},jR=n=>{if(Rc(n))return oi;const t=n.state;return t.wsize=0,t.whave=0,t.wnext=0,KR(n)},WR=(n,t)=>{let e;if(Rc(n))return oi;const r=n.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?oi:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=e,r.wbits=t,jR(n))},ZR=(n,t)=>{if(!n)return oi;const e=new sz;n.state=e,e.strm=n,e.window=null,e.mode=kp;const r=WR(n,t);return r!==hc&&(n.state=null),r},oz=n=>ZR(n,iz);let _E=!0,Zy,qy;const az=n=>{if(_E){Zy=new Int32Array(512),qy=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(Mf(FR,n.lens,0,288,Zy,0,n.work,{bits:9}),t=0;t<32;)n.lens[t++]=5;Mf($R,n.lens,0,32,qy,0,n.work,{bits:5}),_E=!1}n.lencode=Zy,n.lenbits=9,n.distcode=qy,n.distbits=5},qR=(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},cz=(n,t)=>{let e,r,i,s,o,c,u,f,h,y,A,b,R,k,S=0,B,H,U,G,W,Y,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(Rc(n)||!n.output||!n.input&&n.avail_in!==0)return oi;e=n.state,e.mode===ds&&(e.mode=Ky),o=n.next_out,i=n.output,u=n.avail_out,s=n.next_in,r=n.input,c=n.avail_in,f=e.hold,h=e.bits,y=c,A=u,J=hc;t:for(;;)switch(e.mode){case kp:if(e.wrap===0){e.mode=Ky;break}for(;h<16;){if(c===0)break t;c--,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=Mn(e.check,it,2,0),f=0,h=0,e.mode=YA;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((f&255)<<8)+(f>>8))%31){n.msg="incorrect header check",e.mode=We;break}if((f&15)!==JA){n.msg="unknown compression method",e.mode=We;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=We;break}e.dmax=1<<e.wbits,e.flags=0,n.adler=e.check=1,e.mode=f&512?oE:ds,f=0,h=0;break;case YA:for(;h<16;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}if(e.flags=f,(e.flags&255)!==JA){n.msg="unknown compression method",e.mode=We;break}if(e.flags&57344){n.msg="unknown header flags set",e.mode=We;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=Mn(e.check,it,2,0)),f=0,h=0,e.mode=XA;case XA:for(;h<32;){if(c===0)break t;c--,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=Mn(e.check,it,4,0)),f=0,h=0,e.mode=tE;case tE:for(;h<16;){if(c===0)break t;c--,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=Mn(e.check,it,2,0)),f=0,h=0,e.mode=eE;case eE:if(e.flags&1024){for(;h<16;){if(c===0)break t;c--,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=Mn(e.check,it,2,0)),f=0,h=0}else e.head&&(e.head.extra=null);e.mode=nE;case nE:if(e.flags&1024&&(b=e.length,b>c&&(b=c),b&&(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+b),j)),e.flags&512&&e.wrap&4&&(e.check=Mn(e.check,r,b,s)),c-=b,s+=b,e.length-=b),e.length))break t;e.length=0,e.mode=rE;case rE:if(e.flags&2048){if(c===0)break t;b=0;do j=r[s+b++],e.head&&j&&e.length<65536&&(e.head.name+=String.fromCharCode(j));while(j&&b<c);if(e.flags&512&&e.wrap&4&&(e.check=Mn(e.check,r,b,s)),c-=b,s+=b,j)break t}else e.head&&(e.head.name=null);e.length=0,e.mode=iE;case iE:if(e.flags&4096){if(c===0)break t;b=0;do j=r[s+b++],e.head&&j&&e.length<65536&&(e.head.comment+=String.fromCharCode(j));while(j&&b<c);if(e.flags&512&&e.wrap&4&&(e.check=Mn(e.check,r,b,s)),c-=b,s+=b,j)break t}else e.head&&(e.head.comment=null);e.mode=sE;case sE:if(e.flags&512){for(;h<16;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}if(e.wrap&4&&f!==(e.check&65535)){n.msg="header crc mismatch",e.mode=We;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=ds;break;case oE:for(;h<32;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}n.adler=e.check=bE(f),f=0,h=0,e.mode=S0;case S0:if(e.havedict===0)return n.next_out=o,n.avail_out=u,n.next_in=s,n.avail_in=c,e.hold=f,e.bits=h,XH;n.adler=e.check=1,e.mode=ds;case ds:if(t===JH||t===Td)break t;case Ky:if(e.last){f>>>=h&7,h-=h&7,e.mode=Wy;break}for(;h<3;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}switch(e.last=f&1,f>>>=1,h-=1,f&3){case 0:e.mode=aE;break;case 1:if(az(e),e.mode=Od,t===Td){f>>>=2,h-=2;break t}break;case 2:e.mode=uE;break;case 3:n.msg="invalid block type",e.mode=We}f>>>=2,h-=2;break;case aE:for(f>>>=h&7,h-=h&7;h<32;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}if((f&65535)!==(f>>>16^65535)){n.msg="invalid stored block lengths",e.mode=We;break}if(e.length=f&65535,f=0,h=0,e.mode=jy,t===Td)break t;case jy:e.mode=cE;case cE:if(b=e.length,b){if(b>c&&(b=c),b>u&&(b=u),b===0)break t;i.set(r.subarray(s,s+b),o),c-=b,s+=b,u-=b,o+=b,e.length-=b;break}e.mode=ds;break;case uE:for(;h<14;){if(c===0)break t;c--,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=We;break}e.have=0,e.mode=lE;case lE:for(;e.have<e.ncode;){for(;h<3;){if(c===0)break t;c--,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=Mf(QH,e.lens,0,19,e.lencode,0,e.work,ut),e.lenbits=ut.bits,J){n.msg="invalid code lengths set",e.mode=We;break}e.have=0,e.mode=fE;case fE:for(;e.have<e.nlen+e.ndist;){for(;S=e.lencode[f&(1<<e.lenbits)-1],B=S>>>24,H=S>>>16&255,U=S&65535,!(B<=h);){if(c===0)break t;c--,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(c===0)break t;c--,f+=r[s++]<<h,h+=8}if(f>>>=B,h-=B,e.have===0){n.msg="invalid bit length repeat",e.mode=We;break}j=e.lens[e.have-1],b=3+(f&3),f>>>=2,h-=2}else if(U===17){for(rt=B+3;h<rt;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}f>>>=B,h-=B,j=0,b=3+(f&7),f>>>=3,h-=3}else{for(rt=B+7;h<rt;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}f>>>=B,h-=B,j=0,b=11+(f&127),f>>>=7,h-=7}if(e.have+b>e.nlen+e.ndist){n.msg="invalid bit length repeat",e.mode=We;break}for(;b--;)e.lens[e.have++]=j}}if(e.mode===We)break;if(e.lens[256]===0){n.msg="invalid code -- missing end-of-block",e.mode=We;break}if(e.lenbits=9,ut={bits:e.lenbits},J=Mf(FR,e.lens,0,e.nlen,e.lencode,0,e.work,ut),e.lenbits=ut.bits,J){n.msg="invalid literal/lengths set",e.mode=We;break}if(e.distbits=6,e.distcode=e.distdyn,ut={bits:e.distbits},J=Mf($R,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,ut),e.distbits=ut.bits,J){n.msg="invalid distances set",e.mode=We;break}if(e.mode=Od,t===Td)break t;case Od:e.mode=Nd;case Nd:if(c>=6&&u>=258){n.next_out=o,n.avail_out=u,n.next_in=s,n.avail_in=c,e.hold=f,e.bits=h,VH(n,A),o=n.next_out,i=n.output,u=n.avail_out,s=n.next_in,r=n.input,c=n.avail_in,f=e.hold,h=e.bits,e.mode===ds&&(e.back=-1);break}for(e.back=0;S=e.lencode[f&(1<<e.lenbits)-1],B=S>>>24,H=S>>>16&255,U=S&65535,!(B<=h);){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}if(H&&!(H&240)){for(G=B,W=H,Y=U;S=e.lencode[Y+((f&(1<<G+W)-1)>>G)],B=S>>>24,H=S>>>16&255,U=S&65535,!(G+B<=h);){if(c===0)break t;c--,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=yE;break}if(H&32){e.back=-1,e.mode=ds;break}if(H&64){n.msg="invalid literal/length code",e.mode=We;break}e.extra=H&15,e.mode=hE;case hE:if(e.extra){for(rt=e.extra;h<rt;){if(c===0)break t;c--,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=dE;case dE:for(;S=e.distcode[f&(1<<e.distbits)-1],B=S>>>24,H=S>>>16&255,U=S&65535,!(B<=h);){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}if(!(H&240)){for(G=B,W=H,Y=U;S=e.distcode[Y+((f&(1<<G+W)-1)>>G)],B=S>>>24,H=S>>>16&255,U=S&65535,!(G+B<=h);){if(c===0)break t;c--,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=We;break}e.offset=U,e.extra=H&15,e.mode=pE;case pE:if(e.extra){for(rt=e.extra;h<rt;){if(c===0)break t;c--,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=We;break}e.mode=gE;case gE:if(u===0)break t;if(b=A-u,e.offset>b){if(b=e.offset-b,b>e.whave&&e.sane){n.msg="invalid distance too far back",e.mode=We;break}b>e.wnext?(b-=e.wnext,R=e.wsize-b):R=e.wnext-b,b>e.length&&(b=e.length),k=e.window}else k=i,R=o-e.offset,b=e.length;b>u&&(b=u),u-=b,e.length-=b;do i[o++]=k[R++];while(--b);e.length===0&&(e.mode=Nd);break;case yE:if(u===0)break t;i[o++]=e.length,u--,e.mode=Nd;break;case Wy:if(e.wrap){for(;h<32;){if(c===0)break t;c--,f|=r[s++]<<h,h+=8}if(A-=u,n.total_out+=A,e.total+=A,e.wrap&4&&A&&(n.adler=e.check=e.flags?Mn(e.check,i,A,o-A):uh(e.check,i,A,o-A)),A=u,e.wrap&4&&(e.flags?f:bE(f))!==e.check){n.msg="incorrect data check",e.mode=We;break}f=0,h=0}e.mode=mE;case mE:if(e.wrap&&e.flags){for(;h<32;){if(c===0)break t;c--,f+=r[s++]<<h,h+=8}if(e.wrap&4&&f!==(e.total&4294967295)){n.msg="incorrect length check",e.mode=We;break}f=0,h=0}e.mode=wE;case wE:J=YH;break t;case We:J=HR;break t;case GR:return zR;case VR:default:return oi}return n.next_out=o,n.avail_out=u,n.next_in=s,n.avail_in=c,e.hold=f,e.bits=h,(e.wsize||A!==n.avail_out&&e.mode<We&&(e.mode<Wy||t!==QA))&&qR(n,n.output,n.next_out,A-n.avail_out),y-=n.avail_in,A-=n.avail_out,n.total_in+=y,n.total_out+=A,e.total+=A,e.wrap&4&&A&&(n.adler=e.check=e.flags?Mn(e.check,i,A,n.next_out-A):uh(e.check,i,A,n.next_out-A)),n.data_type=e.bits+(e.last?64:0)+(e.mode===ds?128:0)+(e.mode===Od||e.mode===jy?256:0),(y===0&&A===0||t===QA)&&J===hc&&(J=tz),J},uz=n=>{if(Rc(n))return oi;let t=n.state;return t.window&&(t.window=null),n.state=null,hc},lz=(n,t)=>{if(Rc(n))return oi;const e=n.state;return e.wrap&2?(e.head=t,t.done=!1,hc):oi},fz=(n,t)=>{const e=t.length;let r,i,s;return Rc(n)||(r=n.state,r.wrap!==0&&r.mode!==S0)?oi:r.mode===S0&&(i=1,i=uh(i,t,e,0),i!==r.check)?HR:(s=qR(n,t,e,e),s?(r.mode=GR,zR):(r.havedict=1,hc))};var hz=jR,dz=WR,pz=KR,gz=oz,yz=ZR,mz=cz,wz=uz,bz=lz,_z=fz,Az="pako inflate (from Nodeca project)",Es={inflateReset:hz,inflateReset2:dz,inflateResetKeep:pz,inflateInit:gz,inflateInit2:yz,inflate:mz,inflateEnd:wz,inflateGetHeader:bz,inflateSetDictionary:_z,inflateInfo:Az};function Ez(){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 vz=Ez;const QR=Object.prototype.toString,{Z_NO_FLUSH:xz,Z_FINISH:Rz,Z_OK:hh,Z_STREAM_END:Qy,Z_NEED_DICT:Jy,Z_STREAM_ERROR:Sz,Z_DATA_ERROR:AE,Z_MEM_ERROR:Iz}=Wh;function qh(n){this.options=Ip.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 UR,this.strm.avail_out=0;let e=Es.inflateInit2(this.strm,t.windowBits);if(e!==hh)throw new Error(ul[e]);if(this.header=new vz,Es.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=fh.string2buf(t.dictionary):QR.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=Es.inflateSetDictionary(this.strm,t.dictionary),e!==hh)))throw new Error(ul[e])}qh.prototype.push=function(n,t){const e=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let s,o,c;if(this.ended)return!1;for(t===~~t?o=t:o=t===!0?Rz:xz,QR.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=Es.inflate(e,o),s===Jy&&i&&(s=Es.inflateSetDictionary(e,i),s===hh?s=Es.inflate(e,o):s===AE&&(s=Jy));e.avail_in>0&&s===Qy&&e.state.wrap>0&&n[e.next_in]!==0;)Es.inflateReset(e),s=Es.inflate(e,o);switch(s){case Sz:case AE:case Jy:case Iz:return this.onEnd(s),this.ended=!0,!1}if(c=e.avail_out,e.next_out&&(e.avail_out===0||s===Qy))if(this.options.to==="string"){let u=fh.utf8border(e.output,e.next_out),f=e.next_out-u,h=fh.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===hh&&c===0)){if(s===Qy)return s=Es.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};qh.prototype.onData=function(n){this.chunks.push(n)};qh.prototype.onEnd=function(n){n===hh&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ip.flattenChunks(this.chunks)),this.chunks=[],this.err=n,this.msg=this.strm.msg};function L1(n,t){const e=new qh(t);if(e.push(n),e.err)throw e.msg||ul[e.err];return e.result}function kz(n,t){return t=t||{},t.raw=!0,L1(n,t)}var Tz=qh,Oz=L1,Nz=kz,Cz=L1,Bz=Wh,Pz={Inflate:Tz,inflate:Oz,inflateRaw:Nz,ungzip:Cz,constants:Bz};const{Inflate:nQ,inflate:Mz,inflateRaw:rQ,ungzip:iQ}=Pz;var Lz=Mz,JR={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,A){if(typeof h!="function")throw new TypeError("The listener must be a function");var b=new i(h,y||u,A),R=e?e+f:f;return u._events[R]?u._events[R].fn?u._events[R]=[u._events[R],b]:u._events[R].push(b):(u._events[R]=b,u._eventsCount++),u}function o(u,f){--u._eventsCount===0?u._events=new r:delete u._events[f]}function c(){this._events=new r,this._eventsCount=0}c.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},c.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 A=0,b=y.length,R=new Array(b);A<b;A++)R[A]=y[A].fn;return R},c.prototype.listenerCount=function(f){var h=e?e+f:f,y=this._events[h];return y?y.fn?1:y.length:0},c.prototype.emit=function(f,h,y,A,b,R){var k=e?e+f:f;if(!this._events[k])return!1;var S=this._events[k],B=arguments.length,H,U;if(S.fn){switch(S.once&&this.removeListener(f,S.fn,void 0,!0),B){case 1:return S.fn.call(S.context),!0;case 2:return S.fn.call(S.context,h),!0;case 3:return S.fn.call(S.context,h,y),!0;case 4:return S.fn.call(S.context,h,y,A),!0;case 5:return S.fn.call(S.context,h,y,A,b),!0;case 6:return S.fn.call(S.context,h,y,A,b,R),!0}for(U=1,H=new Array(B-1);U<B;U++)H[U-1]=arguments[U];S.fn.apply(S.context,H)}else{var G=S.length,W;for(U=0;U<G;U++)switch(S[U].once&&this.removeListener(f,S[U].fn,void 0,!0),B){case 1:S[U].fn.call(S[U].context);break;case 2:S[U].fn.call(S[U].context,h);break;case 3:S[U].fn.call(S[U].context,h,y);break;case 4:S[U].fn.call(S[U].context,h,y,A);break;default:if(!H)for(W=1,H=new Array(B-1);W<B;W++)H[W-1]=arguments[W];S[U].fn.apply(S[U].context,H)}}return!0},c.prototype.on=function(f,h,y){return s(this,f,h,y,!1)},c.prototype.once=function(f,h,y){return s(this,f,h,y,!0)},c.prototype.removeListener=function(f,h,y,A){var b=e?e+f:f;if(!this._events[b])return this;if(!h)return o(this,b),this;var R=this._events[b];if(R.fn)R.fn===h&&(!A||R.once)&&(!y||R.context===y)&&o(this,b);else{for(var k=0,S=[],B=R.length;k<B;k++)(R[k].fn!==h||A&&!R[k].once||y&&R[k].context!==y)&&S.push(R[k]);S.length?this._events[b]=S.length===1?S[0]:S:o(this,b)}return this},c.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},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=e,c.EventEmitter=c,n.exports=c})(JR);var Uz=JR.exports;const Dz=ea(Uz);function Fz(n,t){return Array.apply(0,new Array(Math.ceil(n.length/t))).map((e,r)=>n.slice(r*t,(r+1)*t))}const ua=n=>"version"in n;function $z(n){return new TextDecoder("utf-8").decode(n)}function EE(n){return In.encode(n)}function YR(n){return It.from(n,"base64")}function go(n){return"accounts"in n}async function Hz(n){const t=(await pt.findProgramAddress([],n))[0];return await pt.createWithSeed(t,zz(),n)}function zz(){return"anchor:idl"}const Gz=qt.struct([qt.publicKey("authority"),qt.vecU8("data")]);function Vz(n){return Gz.decode(n)}function Kz(n){const t=["name","path","account","relations","generic"],e=s=>s.split(".").map(n$).join("."),r=s=>{for(const o in s){const c=s[o];t.includes(o)?s[o]=Array.isArray(c)?c.map(e):e(c):typeof c=="object"&&r(c)}},i=structuredClone(n);return r(i),i}function Jc(n,t,e,r){return n!=null&&n.length?n[0].name?e(n):r(n):t()}function jz(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 Wz(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 XR(n,t={}){n.forEach(e=>{if(go(e))XR(e.accounts,t[e.name]);else if(!t[e.name])throw new Error(`Account \`${e.name}\` not provided.`)})}function bi(n){return n instanceof pt?n:new pt(n)}class Zz extends TypeError{constructor(t,e){let r;const{message:i,...s}=t,{path:o}=t,c=o.length===0?i:"At path: "+o.join(".")+" -- "+i;super(c),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 qz(n){return cu(n)&&typeof n[Symbol.iterator]=="function"}function cu(n){return typeof n=="object"&&n!=null}function Yo(n){return typeof n=="string"?JSON.stringify(n):""+n}function Qz(n){const{done:t,value:e}=n.next();return t?void 0:e}function Jz(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:c,message:u="Expected a value of type `"+o+"`"+(c?" with refinement `"+c+"`":"")+", but received: `"+Yo(r)+"`"}=n;return{value:r,type:o,refinement:c,key:i[i.length-1],path:i,branch:s,...n,message:u}}function*vE(n,t,e,r){qz(n)||(n=[n]);for(const i of n){const s=Jz(i,t,e,r);s&&(yield s)}}function*U1(n,t,e){e===void 0&&(e={});const{path:r=[],branch:i=[n],coerce:s=!1,mask:o=!1}=e,c={path:r,branch:i};if(s&&(n=t.coercer(n,c),o&&t.type!=="type"&&cu(t.schema)&&cu(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,c))u=!1,yield[f,void 0];for(let[f,h,y]of t.entries(n,c)){const A=U1(h,y,{path:f===void 0?r:[...r,f],branch:f===void 0?i:[...i,h],coerce:s,mask:o});for(const b of A)b[0]?(u=!1,yield[b[0],void 0]):s&&(h=b[1],f===void 0?n=h:n instanceof Map?n.set(f,h):n instanceof Set?n.add(h):cu(n)&&(n[f]=h))}if(u)for(const f of t.refiner(n,c))u=!1,yield[f,void 0];u&&(yield[void 0,n])}class na{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:c=function*(){}}=t;this.type=e,this.schema=r,this.entries=c,this.coercer=o,i?this.validator=(u,f)=>{const h=i(u,f);return vE(h,f,this,u)}:this.validator=()=>[],s?this.refiner=(u,f)=>{const h=s(u,f);return vE(h,f,this,u)}:this.refiner=()=>[]}assert(t){return Yz(t,this)}create(t){return D1(t,this)}is(t){return tS(t,this)}mask(t){return Xz(t,this)}validate(t,e){return e===void 0&&(e={}),Qh(t,this,e)}}function Yz(n,t){const e=Qh(n,t);if(e[0])throw e[0]}function D1(n,t){const e=Qh(n,t,{coerce:!0});if(e[0])throw e[0];return e[1]}function Xz(n,t){const e=Qh(n,t,{coerce:!0,mask:!0});if(e[0])throw e[0];return e[1]}function tS(n,t){return!Qh(n,t)[0]}function Qh(n,t,e){e===void 0&&(e={});const r=U1(n,t,e),i=Qz(r);return i[0]?[new Zz(i[0],function*(){for(const o of r)o[0]&&(yield o[0])}),void 0]:[void 0,i[1]]}function Jh(n,t){return new na({type:n,schema:null,validator:t})}function tG(){return Jh("any",()=>!0)}function Yy(n){return new na({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: "+Yo(t)}})}function eG(){return Jh("boolean",n=>typeof n=="boolean")}function xE(n){const t=Yo(n);return new na({type:"literal",schema:n,validator(e){return e===n||"Expected the literal `"+t+"`, but received: "+Yo(e)}})}function Cd(n){return new na({...n,validator:(t,e)=>t===null||n.validator(t,e),refiner:(t,e)=>t===null||n.refiner(t,e)})}function jd(){return Jh("number",n=>typeof n=="number"&&!isNaN(n)||"Expected a number, but received: "+Yo(n))}function Wd(n){return new na({...n,validator:(t,e)=>t===void 0||n.validator(t,e),refiner:(t,e)=>t===void 0||n.refiner(t,e)})}function xa(){return Jh("string",n=>typeof n=="string"||"Expected a string, but received: "+Yo(n))}function Ko(n){const t=Object.keys(n);return new na({type:"type",schema:n,*entries(e){if(cu(e))for(const r of t)yield[r,e[r],n[r]]},validator(e){return cu(e)||"Expected an object, but received: "+Yo(e)}})}function eS(n){const t=n.map(e=>e.type).join(" | ");return new na({type:"union",schema:null,coercer(e,r){return(n.find(s=>{const[o]=s.validate(e,{coerce:!0});return!o})||F1()).coercer(e,r)},validator(e,r){const i=[];for(const s of n){const[...o]=U1(e,s,r),[c]=o;if(c[0])for(const[u]of o)u&&i.push(u);else return[]}return["Expected the value to satisfy a union of `"+t+"`, but received: "+Yo(e),...i]}})}function F1(){return Jh("unknown",()=>!0)}function nG(n,t,e){return new na({...n,coercer:(r,i)=>tS(r,t)?n.coercer(e(r,i),i):n.coercer(r,i)})}const RE=99;async function rG(n,t,e){if(t.length<=RE)return await SE(n,t,e);{const r=Fz(t,RE);return(await Promise.all(r.map(s=>SE(n,s,e)))).flat()}}async function SE(n,t,e){const r=e??n.commitment,{value:i,context:s}=await n.getMultipleAccountsInfoAndContext(t,r);return i.map((c,u)=>c===null?null:{publicKey:t[u],account:c,context:s})}async function iG(n,t,e,r,i){var s;e&&e.length>0&&t.sign(...e);const o=t._compile(),c=o.serialize(),f=t._serialize(c).toString("base64"),h={encoding:"base64",commitment:r??n.commitment};if(i){const R=(Array.isArray(i)?i:o.nonProgramIds()).map(k=>k.toBase58());h.accounts={encoding:"base64",addresses:R}}e&&e.length>0&&(h.sigVerify=!0);const y=[f,h],A=await n._rpcRequest("simulateTransaction",y),b=D1(A,cG);if("error"in b){let R;if("data"in b.error&&(R=(s=b.error.data)===null||s===void 0?void 0:s.logs,R&&Array.isArray(R))){const k=`
24
+ `,S=k+R.join(k);console.error(b.error.message,S)}throw new Jo("failed to simulate transaction: "+b.error.message,R)}return b.result}function sG(n){return nG(nS(n),oG,t=>"error"in t?t:{...t,result:D1(t.result,n)})}const oG=nS(F1());function nS(n){return eS([Ko({jsonrpc:xE("2.0"),id:xa(),result:n}),Ko({jsonrpc:xE("2.0"),id:xa(),error:Ko({code:F1(),message:xa(),data:Wd(tG())})})])}function aG(n){return sG(Ko({context:Ko({slot:jd()}),value:n}))}const cG=aG(Ko({err:Cd(eS([Ko({}),xa()])),logs:Cd(Yy(xa())),accounts:Wd(Cd(Yy(Cd(Ko({executable:eG(),owner:xa(),lamports:jd(),data:Yy(xa()),rentEpoch:Wd(jd())}))))),unitsConsumed:Wd(jd())}));class dh{constructor(t,e,r=dh.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=dh.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,c;if(r===void 0&&(r=this.opts),ua(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 IE(this.connection,u,r)}catch(f){if(f instanceof tw){const h=EE(ua(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=ua(t)?0:void 0,A=await this.connection.getTransaction(h,{commitment:"confirmed",maxSupportedTransactionVersion:y});if(A){const b=(c=A.meta)===null||c===void 0?void 0:c.logMessages;throw b?new Jo(f.message,b):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 c=t.map(h=>{var y,A;if(ua(h.tx)){let b=h.tx;return h.signers&&b.sign(h.signers),b}else{let b=h.tx,R=(y=h.signers)!==null&&y!==void 0?y:[];return b.feePayer=(A=b.feePayer)!==null&&A!==void 0?A:this.wallet.publicKey,b.recentBlockhash=o,R.forEach(k=>{b.partialSign(k)}),b}});const u=await this.wallet.signAllTransactions(c),f=[];for(let h=0;h<c.length;h+=1){const y=u[h],A=y.serialize();try{f.push(await IE(this.connection,A,e))}catch(b){if(b instanceof tw){const R=EE(ua(y)?((r=y.signatures)===null||r===void 0?void 0:r[0])||new Uint8Array:(i=y.signature)!==null&&i!==void 0?i:new Uint8Array),k=ua(y)?0:void 0,S=await this.connection.getTransaction(R,{commitment:"confirmed",maxSupportedTransactionVersion:k});if(S){const B=(s=S.meta)===null||s===void 0?void 0:s.logMessages;throw B?new Jo(b.message,B):b}else throw b}else throw b}}return f}async simulate(t,e,r,i){let s=(await this.connection.getLatestBlockhash(r??this.connection.commitment)).blockhash,o;if(ua(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 iG(this.connection,t,e,r,i)),o.value.err)throw new uG(o.value);return o.value}}class uG extends Error{constructor(t,e){super(e),this.simulationResponse=t}}async function IE(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 c=AbortSignal.timeout(15e3);i=(await n.confirmTransaction({abortSignal:c,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 tw(`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 tw extends Error{constructor(t){super(t)}}function ew(){return dh.local()}var lG=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof nl<"u"?nl:typeof self<"u"?self:{},tt={};Object.defineProperty(tt,"__esModule",{value:!0});var rS=tt.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=XS=tt.ANCHOR_ERROR__REQUIRE_VIOLATED=YS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=JS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=QS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=qS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=ZS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=WS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=jS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=KS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=VS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=GS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=zS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=HS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=$S=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=FS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=DS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=US=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=LS=tt.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=MS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=PS=tt.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=BS=tt.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=CS=tt.ANCHOR_ERROR__CONSTRAINT_SPACE=NS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=OS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=TS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=kS=tt.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=IS=tt.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=SS=tt.ANCHOR_ERROR__CONSTRAINT_ZERO=RS=tt.ANCHOR_ERROR__CONSTRAINT_ADDRESS=xS=tt.ANCHOR_ERROR__CONSTRAINT_CLOSE=vS=tt.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=ES=tt.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=AS=tt.ANCHOR_ERROR__CONSTRAINT_STATE=_S=tt.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=bS=tt.ANCHOR_ERROR__CONSTRAINT_SEEDS=wS=tt.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=mS=tt.ANCHOR_ERROR__CONSTRAINT_OWNER=yS=tt.ANCHOR_ERROR__CONSTRAINT_RAW=gS=tt.ANCHOR_ERROR__CONSTRAINT_SIGNER=pS=tt.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=dS=tt.ANCHOR_ERROR__CONSTRAINT_MUT=hS=tt.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=fS=tt.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=lS=tt.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=uS=tt.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=cS=tt.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=aS=tt.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=oS=tt.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=sS=tt.ANCHOR_ERROR__INSTRUCTION_MISSING=void 0,iS=tt.ANCHOR_ERROR__DEPRECATED=RI=tt.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=xI=tt.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=vI=tt.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=EI=tt.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=AI=tt.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=_I=tt.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=bI=tt.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=wI=tt.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=mI=tt.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=yI=tt.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=gI=tt.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=pI=tt.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=dI=tt.ANCHOR_ERROR__INVALID_PROGRAM_ID=hI=tt.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=fI=tt.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=lI=tt.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=uI=tt.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=cI=tt.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=aI=tt.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=oI=tt.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=sI=tt.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=iI=tt.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=rI=tt.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=nI=tt.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=eI=tt.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=tI=tt.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=void 0,sS=tt.ANCHOR_ERROR__INSTRUCTION_MISSING=100,oS=tt.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=101,aS=tt.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=102,cS=tt.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=103,uS=tt.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=1e3,lS=tt.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=1001,fS=tt.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=1002,hS=tt.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=1500,dS=tt.ANCHOR_ERROR__CONSTRAINT_MUT=2e3,pS=tt.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=2001,gS=tt.ANCHOR_ERROR__CONSTRAINT_SIGNER=2002,yS=tt.ANCHOR_ERROR__CONSTRAINT_RAW=2003,mS=tt.ANCHOR_ERROR__CONSTRAINT_OWNER=2004,wS=tt.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=2005,bS=tt.ANCHOR_ERROR__CONSTRAINT_SEEDS=2006,_S=tt.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=2007,AS=tt.ANCHOR_ERROR__CONSTRAINT_STATE=2008,ES=tt.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=2009,vS=tt.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=2010,xS=tt.ANCHOR_ERROR__CONSTRAINT_CLOSE=2011,RS=tt.ANCHOR_ERROR__CONSTRAINT_ADDRESS=2012,SS=tt.ANCHOR_ERROR__CONSTRAINT_ZERO=2013,IS=tt.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=2014,kS=tt.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=2015,TS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=2016,OS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=2017,NS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=2018,CS=tt.ANCHOR_ERROR__CONSTRAINT_SPACE=2019,BS=tt.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=2020,PS=tt.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=2021,MS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=2022,LS=tt.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=2023,US=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=2024,DS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=2025,FS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=2026,$S=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=2027,HS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=2028,zS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=2029,GS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=2030,VS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=2031,KS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=2032,jS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=2033,WS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=2034,ZS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=2035,qS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=2036,QS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=2037,JS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=2038,YS=tt.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=2039,XS=tt.ANCHOR_ERROR__REQUIRE_VIOLATED=2500;rS=tt.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=2501;var tI=tt.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=2502,eI=tt.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=2503,nI=tt.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=2504,rI=tt.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=2505,iI=tt.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=2506,sI=tt.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=3e3,oI=tt.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=3001,aI=tt.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=3002,cI=tt.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=3003,uI=tt.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=3004,lI=tt.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=3005,fI=tt.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=3006,hI=tt.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=3007,dI=tt.ANCHOR_ERROR__INVALID_PROGRAM_ID=3008,pI=tt.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=3009,gI=tt.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=3010,yI=tt.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=3011,mI=tt.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=3012,wI=tt.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=3013,bI=tt.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=3014,_I=tt.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=3015,AI=tt.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=3016,EI=tt.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=3017,vI=tt.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=4100,xI=tt.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=4101,RI=tt.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=4102;iS=tt.ANCHOR_ERROR__DEPRECATED=5e3;const fG=new Map;function SI(n){return fG.get(n)!==void 0}class fo extends Error{constructor(t){super(t),this.name="IdlError"}}class Yh{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 c=(e=r.exec(t[o]))===null||e===void 0?void 0:e[1];c&&s.push(new pt(c))}return new Yh(s)}}class Lf 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=Yh.parse(i)}static parse(t){if(!t)return null;const e=t.findIndex(A=>A.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 A=/^Program log: (.*)$/,b=A.exec(t[e+2])[1],R=A.exec(t[e+4])[1];s=[new pt(b),new pt(R)],i.push(...t.slice(e+1,e+5))}else if(t[e+1].startsWith("Program log: Left:")){const A=/^Program log: (Left|Right): (.*)$/,b=A.exec(t[e+1])[2],R=A.exec(t[e+2])[2];i.push(...t.slice(e+1,e+3)),s=[b,R]}}const c=/^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(c){const[A,b,R]=c.slice(1,4),k={code:A,number:parseInt(b)};return new Lf(k,R,i,t,void 0,s)}else if(f){const[A,b,R,k,S]=f.slice(1,6),B={code:R,number:parseInt(k)},H={file:A,line:parseInt(b)};return new Lf(B,S,i,t,H,s)}else if(y){const[A,b,R,k]=y.slice(1,5),S=A,B={code:b,number:parseInt(R)};return new Lf(B,k,i,t,S,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 I0 extends Error{constructor(t,e,r){super(),this.code=t,this.msg=e,this.logs=r,r&&(this._programErrorStack=Yh.parse(r))}static parse(t,e){const r=t.toString();let i;if(r.includes("custom program error:")){let c=r.split("custom program error: ");if(c.length!==2)return null;i=c[1]}else{const c=r.match(/"Custom":([0-9]+)}/g);if(!c||c.length>1)return null;i=c[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 I0(s,o,t.logs):(o=hG.get(s),o!==void 0?new I0(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 II(n,t){SI("debug-logs")&&console.log("Translating error:",n);const e=Lf.parse(n.logs);if(e)return e;const r=I0.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=Yh.parse(n.logs),new Proxy(n,i)}return n}const bt={InstructionMissing:sS,InstructionFallbackNotFound:oS,InstructionDidNotDeserialize:aS,InstructionDidNotSerialize:cS,IdlInstructionStub:uS,IdlInstructionInvalidProgram:lS,IdlAccountNotEmpty:fS,EventInstructionStub:hS,ConstraintMut:dS,ConstraintHasOne:pS,ConstraintSigner:gS,ConstraintRaw:yS,ConstraintOwner:mS,ConstraintRentExempt:wS,ConstraintSeeds:bS,ConstraintExecutable:_S,ConstraintState:AS,ConstraintAssociated:ES,ConstraintAssociatedInit:vS,ConstraintClose:xS,ConstraintAddress:RS,ConstraintZero:SS,ConstraintTokenMint:IS,ConstraintTokenOwner:kS,ConstraintMintMintAuthority:TS,ConstraintMintFreezeAuthority:OS,ConstraintMintDecimals:NS,ConstraintSpace:CS,ConstraintAccountIsNone:BS,ConstraintTokenTokenProgram:PS,ConstraintMintTokenProgram:MS,ConstraintAssociatedTokenTokenProgram:LS,ConstraintMintGroupPointerExtension:US,ConstraintMintGroupPointerExtensionAuthority:DS,ConstraintMintGroupPointerExtensionGroupAddress:FS,ConstraintMintGroupMemberPointerExtension:$S,ConstraintMintGroupMemberPointerExtensionAuthority:HS,ConstraintMintGroupMemberPointerExtensionMemberAddress:zS,ConstraintMintMetadataPointerExtension:GS,ConstraintMintMetadataPointerExtensionAuthority:VS,ConstraintMintMetadataPointerExtensionMetadataAddress:KS,ConstraintMintCloseAuthorityExtension:jS,ConstraintMintCloseAuthorityExtensionAuthority:WS,ConstraintMintPermanentDelegateExtension:ZS,ConstraintMintPermanentDelegateExtensionDelegate:qS,ConstraintMintTransferHookExtension:QS,ConstraintMintTransferHookExtensionAuthority:JS,ConstraintMintTransferHookExtensionProgramId:YS,RequireViolated:XS,RequireEqViolated:rS,RequireKeysEqViolated:tI,RequireNeqViolated:eI,RequireKeysNeqViolated:nI,RequireGtViolated:rI,RequireGteViolated:iI,AccountDiscriminatorAlreadySet:sI,AccountDiscriminatorNotFound:oI,AccountDiscriminatorMismatch:aI,AccountDidNotDeserialize:cI,AccountDidNotSerialize:uI,AccountNotEnoughKeys:lI,AccountNotMutable:fI,AccountOwnedByWrongProgram:hI,InvalidProgramId:dI,InvalidProgramExecutable:pI,AccountNotSigner:gI,AccountNotSystemOwned:yI,AccountNotInitialized:mI,AccountNotProgramData:wI,AccountNotAssociatedTokenAccount:bI,AccountSysvarMismatch:_I,AccountReallocExceedsLimit:AI,AccountDuplicateReallocs:EI,DeclaredProgramIdMismatch:vI,TryingToInitPayerAsProgramAccount:xI,InvalidNumericConversion:RI,Deprecated:iS},hG=new Map([[bt.InstructionMissing,"Instruction discriminator not provided"],[bt.InstructionFallbackNotFound,"Fallback functions are not supported"],[bt.InstructionDidNotDeserialize,"The program could not deserialize the given instruction"],[bt.InstructionDidNotSerialize,"The program could not serialize the given instruction"],[bt.IdlInstructionStub,"The program was compiled without idl instructions"],[bt.IdlInstructionInvalidProgram,"The transaction was given an invalid program for the IDL instruction"],[bt.IdlAccountNotEmpty,"IDL account must be empty in order to resize, try closing first"],[bt.EventInstructionStub,"The program was compiled without `event-cpi` feature"],[bt.ConstraintMut,"A mut constraint was violated"],[bt.ConstraintHasOne,"A has one constraint was violated"],[bt.ConstraintSigner,"A signer constraint was violated"],[bt.ConstraintRaw,"A raw constraint was violated"],[bt.ConstraintOwner,"An owner constraint was violated"],[bt.ConstraintRentExempt,"A rent exemption constraint was violated"],[bt.ConstraintSeeds,"A seeds constraint was violated"],[bt.ConstraintExecutable,"An executable constraint was violated"],[bt.ConstraintState,"Deprecated Error, feel free to replace with something else"],[bt.ConstraintAssociated,"An associated constraint was violated"],[bt.ConstraintAssociatedInit,"An associated init constraint was violated"],[bt.ConstraintClose,"A close constraint was violated"],[bt.ConstraintAddress,"An address constraint was violated"],[bt.ConstraintZero,"Expected zero account discriminant"],[bt.ConstraintTokenMint,"A token mint constraint was violated"],[bt.ConstraintTokenOwner,"A token owner constraint was violated"],[bt.ConstraintMintMintAuthority,"A mint mint authority constraint was violated"],[bt.ConstraintMintFreezeAuthority,"A mint freeze authority constraint was violated"],[bt.ConstraintMintDecimals,"A mint decimals constraint was violated"],[bt.ConstraintSpace,"A space constraint was violated"],[bt.ConstraintAccountIsNone,"A required account for the constraint is None"],[bt.ConstraintTokenTokenProgram,"A token account token program constraint was violated"],[bt.ConstraintMintTokenProgram,"A mint token program constraint was violated"],[bt.ConstraintAssociatedTokenTokenProgram,"An associated token account token program constraint was violated"],[bt.ConstraintMintGroupPointerExtension,"A group pointer extension constraint was violated"],[bt.ConstraintMintGroupPointerExtensionAuthority,"A group pointer extension authority constraint was violated"],[bt.ConstraintMintGroupPointerExtensionGroupAddress,"A group pointer extension group address constraint was violated"],[bt.ConstraintMintGroupMemberPointerExtension,"A group member pointer extension constraint was violated"],[bt.ConstraintMintGroupMemberPointerExtensionAuthority,"A group member pointer extension authority constraint was violated"],[bt.ConstraintMintGroupMemberPointerExtensionMemberAddress,"A group member pointer extension group address constraint was violated"],[bt.ConstraintMintMetadataPointerExtension,"A metadata pointer extension constraint was violated"],[bt.ConstraintMintMetadataPointerExtensionAuthority,"A metadata pointer extension authority constraint was violated"],[bt.ConstraintMintMetadataPointerExtensionMetadataAddress,"A metadata pointer extension metadata address constraint was violated"],[bt.ConstraintMintCloseAuthorityExtension,"A close authority constraint was violated"],[bt.ConstraintMintCloseAuthorityExtensionAuthority,"A close authority extension authority constraint was violated"],[bt.ConstraintMintPermanentDelegateExtension,"A permanent delegate extension constraint was violated"],[bt.ConstraintMintPermanentDelegateExtensionDelegate,"A permanent delegate extension delegate constraint was violated"],[bt.ConstraintMintTransferHookExtension,"A transfer hook extension constraint was violated"],[bt.ConstraintMintTransferHookExtensionAuthority,"A transfer hook extension authority constraint was violated"],[bt.ConstraintMintTransferHookExtensionProgramId,"A transfer hook extension transfer hook program id constraint was violated"],[bt.RequireViolated,"A require expression was violated"],[bt.RequireEqViolated,"A require_eq expression was violated"],[bt.RequireKeysEqViolated,"A require_keys_eq expression was violated"],[bt.RequireNeqViolated,"A require_neq expression was violated"],[bt.RequireKeysNeqViolated,"A require_keys_neq expression was violated"],[bt.RequireGtViolated,"A require_gt expression was violated"],[bt.RequireGteViolated,"A require_gte expression was violated"],[bt.AccountDiscriminatorAlreadySet,"The account discriminator was already set on this account"],[bt.AccountDiscriminatorNotFound,"No discriminator was found on the account"],[bt.AccountDiscriminatorMismatch,"Account discriminator did not match what was expected"],[bt.AccountDidNotDeserialize,"Failed to deserialize the account"],[bt.AccountDidNotSerialize,"Failed to serialize the account"],[bt.AccountNotEnoughKeys,"Not enough account keys given to the instruction"],[bt.AccountNotMutable,"The given account is not mutable"],[bt.AccountOwnedByWrongProgram,"The given account is owned by a different program than expected"],[bt.InvalidProgramId,"Program ID was not as expected"],[bt.InvalidProgramExecutable,"Program account is not executable"],[bt.AccountNotSigner,"The given account did not sign"],[bt.AccountNotSystemOwned,"The given account is not owned by the system program"],[bt.AccountNotInitialized,"The program expected this account to be already initialized"],[bt.AccountNotProgramData,"The given account is not a program data account"],[bt.AccountNotAssociatedTokenAccount,"The given account is not the associated token account"],[bt.AccountSysvarMismatch,"The given public key does not match the required sysvar"],[bt.AccountReallocExceedsLimit,"The account reallocation exceeds the MAX_PERMITTED_DATA_INCREASE limit"],[bt.AccountDuplicateReallocs,"The account was duplicated for more than one reallocation"],[bt.DeclaredProgramIdMismatch,"The declared program id does not match the actual program id"],[bt.TryingToInitPayerAsProgramAccount,"You cannot/should not initialize the payer account as a program account"],[bt.InvalidNumericConversion,"The program could not perform the numeric conversion, out of range integral type conversion attempted"],[bt.Deprecated,"The API being used is deprecated and should no longer be used"]]);class fe{static fieldLayout(t,e=[],r){const i=t.name;switch(t.type){case"bool":return qt.bool(i);case"u8":return qt.u8(i);case"i8":return qt.i8(i);case"u16":return qt.u16(i);case"i16":return qt.i16(i);case"u32":return qt.u32(i);case"i32":return qt.i32(i);case"f32":return qt.f32(i);case"u64":return qt.u64(i);case"i64":return qt.i64(i);case"f64":return qt.f64(i);case"u128":return qt.u128(i);case"i128":return qt.i128(i);case"u256":return qt.u256(i);case"i256":return qt.i256(i);case"bytes":return qt.vecU8(i);case"string":return qt.str(i);case"pubkey":return qt.publicKey(i);default:{if("option"in t.type)return qt.option(fe.fieldLayout({type:t.type.option},e,r),i);if("vec"in t.type)return qt.vec(fe.fieldLayout({type:t.type.vec},e,r),i);if("array"in t.type){let[s,o]=t.type.array;return o=fe.resolveArrayLen(o,r),qt.array(fe.fieldLayout({type:s},e,r),o,i)}if("defined"in t.type){if(!e)throw new fo("User defined types not provided");const s=t.type.defined.name,o=e.find(c=>c.name===s);if(!o)throw new fo(`Type not found: ${t.name}`);return fe.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 fo(`Invalid generic field: ${t.name}`);return fe.fieldLayout({...t,type:s.type},e)}throw new fo(`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=Jc(t.type.fields,()=>[],o=>o.map(c=>{const u=i&&fe.resolveGenericArgs({type:c.type,typeDef:t,genericArgs:i});return fe.fieldLayout(c,e,u)}),o=>o.map((c,u)=>{const f=i&&fe.resolveGenericArgs({type:c,typeDef:t,genericArgs:i});return fe.fieldLayout({name:u.toString(),type:c},e,f)}));return qt.struct(s,r)}case"enum":{const s=t.type.variants.map(o=>{const c=Jc(o.fields,()=>[],u=>u.map(f=>{const h=i&&fe.resolveGenericArgs({type:f.type,typeDef:t,genericArgs:i});return fe.fieldLayout(f,e,h)}),u=>u.map((f,h)=>{const y=i&&fe.resolveGenericArgs({type:f,typeDef:t,genericArgs:i});return fe.fieldLayout({name:h.toString(),type:f},e,y)}));return qt.struct(c,o.name)});return r!==void 0?qt.rustEnum(s).replicate(r):qt.rustEnum(s,r)}case"type":return fe.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+fe.typeSize(t.option,e,r);if("coption"in t)return 4+fe.typeSize(t.coption,e,r);if("vec"in t)return 1;if("array"in t){let[s,o]=t.array;return o=fe.resolveArrayLen(o,r),fe.typeSize(s,e,r)*o}if("defined"in t){const s=(i=e.types)===null||i===void 0?void 0:i.find(c=>c.name===t.defined.name);if(!s)throw new fo(`Type not found: ${JSON.stringify(t)}`);const o=c=>{const u=r??t.defined.generics,f=u&&fe.resolveGenericArgs({type:c,typeDef:s,genericArgs:u});return fe.typeSize(c,e,f)};switch(s.type.kind){case"struct":return Jc(s.type.fields,()=>[0],c=>c.map(u=>o(u.type)),c=>c.map(u=>o(u))).reduce((c,u)=>c+u,0);case"enum":{const c=s.type.variants.map(u=>Jc(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(...c)+1}case"type":return fe.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 fo(`Invalid generic: ${t.generic}`);return fe.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 fo("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 c=fe.resolveGenericArgs({type:t.option,typeDef:e,genericArgs:r,isDefined:i});if(!c||!i)return c;if(c[0].kind==="type")return[{kind:"type",type:{option:c[0].type}}]}if("vec"in t){const c=fe.resolveGenericArgs({type:t.vec,typeDef:e,genericArgs:r,isDefined:i});if(!c||!i)return c;if(c[0].kind==="type")return[{kind:"type",type:{vec:c[0].type}}]}if("array"in t){const[c,u]=t.array,f=typeof u=="object",h=fe.resolveGenericArgs({type:c,typeDef:e,genericArgs:r,isDefined:i});if(h){for(const y in e.generics.slice(+s)){const A=+s+ +y;f&&e.generics[A].name===u.generic&&h.push(r[A])}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:[c,+y.value]}}]:[y]}return null}if("defined"in t)return t.defined.generics?t.defined.generics.flatMap(c=>{switch(c.kind){case"type":return fe.resolveGenericArgs({type:c.type,typeDef:e,genericArgs:r,isDefined:!0});case"const":return[c]}}).filter(c=>c!==null):null}return null}}class dG{constructor(t){this.idl=t;const e=t.instructions.map(r=>{const i=r.name,s=r.args.map(c=>fe.fieldLayout(c,t.types)),o=qt.struct(s,i);return[i,{discriminator:r.discriminator,layout:o}]});this.ixLayouts=new Map(e)}encode(t,e){const r=It.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 It.concat([It.from(i.discriminator),o])}decode(t,e="hex"){typeof t=="string"&&(t=e==="hex"?It.from(t,"hex"):In.decode(t));for(const[r,i]of this.ixLayouts){const s=t.subarray(0,i.discriminator.length);if(s.equals(It.from(i.discriminator)))return{name:r,data:i.layout.decode(t.subarray(s.length))}}return null}format(t,e){return Pr.format(t,e,this.idl)}}class Pr{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:Pr.formatIdlType(u.type),data:Pr.formatIdlData(u,t.data[u.name],r.types)})),o=Pr.flattenIdlAccounts(i.accounts),c=e.map((u,f)=>f<o.length?{name:o[f].name,...u}:{name:void 0,...u});return{args:s,accounts:c}}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 Pr.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 Pr.formatIdlDataDefined(s,e,r)}return"unknown"}static formatIdlDataDefined(t,e,r){switch(t.type.kind){case"struct":return"{ "+Jc(t.type.fields,()=>"",i=>Object.entries(e).map(([s,o])=>{const c=i.find(u=>u.name===s);if(!c)throw new Error(`Field not found: ${s}`);return s+": "+Pr.formatIdlData(c,o,r)}).join(", "),i=>Object.entries(e).map(([s,o])=>s+": "+Pr.formatIdlData({name:"",type:i[s]},o,r)).join(", "))+" }";case"enum":{const i=Object.keys(e)[0],s=t.type.variants.find(c=>c.name===i);if(!s)throw new Error(`Unable to find variant: ${i}`);const o=e[i];return Jc(s.fields,()=>i,c=>{const u=Object.keys(o).map(f=>{const h=o[f],y=c.find(A=>A.name===f);if(!y)throw new Error(`Field not found: ${f}`);return f+": "+Pr.formatIdlData(y,h,r)}).join(", ");return`${i} { ${u} }`},c=>{const u=Object.entries(o).map(([f,h])=>f+": "+Pr.formatIdlData({name:"",type:c[f]},h,r)).join(", ");return`${i} { ${u} }`})}case"type":return Pr.formatIdlType(t.type.alias)}}static flattenIdlAccounts(t,e){return t.map(r=>{const i=pG(r.name);if(r.hasOwnProperty("accounts")){const s=e?`${e} > ${i}`:i;return Pr.flattenIdlAccounts(r.accounts,s)}else return{...r,name:e?`${e} > ${i}`:i}}).flat()}}function pG(n){const t=n.replace(/([A-Z])/g," $1");return t.charAt(0).toUpperCase()+t.slice(1)}class gG{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:fe.typeDefLayout({typeDef:s,types:e})}]});this.accountLayouts=new Map(r)}async encode(t,e){const r=It.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),c=this.accountDiscriminator(t);return It.concat([c,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(It.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:In.encode(e?It.concat([r,e]):r)}}size(t){return this.accountDiscriminator(t).length+fe.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 It.from(r.discriminator)}}class yG{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:fe.typeDefLayout({typeDef:s,types:e})}]});this.layouts=new Map(r)}decode(t){let e;try{e=YR(t)}catch{return null}for(const[r,i]of this.layouts){const s=e.subarray(0,i.discriminator.length);if(s.equals(It.from(i.discriminator)))return{name:r,data:i.layout.decode(e.subarray(s.length))}}return null}}class mG{constructor(t){const e=t.types;if(!e){this.typeLayouts=new Map;return}const r=e.filter(i=>!i.generics).map(i=>[i.name,fe.typeDefLayout({typeDef:i,types:e})]);this.typeLayouts=new Map(r)}encode(t,e){const r=It.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 kI{constructor(t){this.instruction=new dG(t),this.accounts=new gG(t),this.events=new yG(t),this.types=new mG(t)}}class Or{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 Tp=Or;function wG(n,t){return t.property?n+"["+t.property+"]":n}class Ra extends Or{isCount(){throw new Error("ExternalLayout is abstract")}}class TI extends Ra{constructor(t,e,r){if(!(t instanceof Or))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 Op||this.layout instanceof OI}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 Op extends Or{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 OI extends Or{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 nw=Math.pow(2,32);function NI(n){const t=Math.floor(n/nw),e=n-t*nw;return{hi32:t,lo32:e}}function CI(n,t){return n*nw+t}class bG extends Or{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readUInt32LE(e+4);return CI(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=NI(t);return e.writeUInt32LE(i.lo32,r),e.writeUInt32LE(i.hi32,r+4),8}}class _G extends Or{constructor(t){super(8,t)}decode(t,e){e===void 0&&(e=0);const r=t.readUInt32LE(e),i=t.readInt32LE(e+4);return CI(i,r)}encode(t,e,r){r===void 0&&(r=0);const i=NI(t);return e.writeUInt32LE(i.lo32,r),e.writeInt32LE(i.hi32,r+4),8}}class AG extends Or{constructor(t,e,r){if(!(Array.isArray(t)&&t.reduce((s,o)=>s&&o instanceof Or,!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 c of this.fields){let u=c.span;if(o=0<u?u:0,c.property!==void 0){const f=t[c.property];f!==void 0&&(o=c.encode(f,e,r),0>u&&(u=c.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 BI{constructor(t){this.property=t}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}}class kE extends BI{constructor(t,e){if(!(t instanceof Ra&&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 PI extends Or{constructor(t,e,r){const i=t instanceof Op||t instanceof OI;if(i)t=new kE(new TI(t));else if(t instanceof Ra&&t.isCount())t=new kE(t);else if(!(t instanceof BI))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(e===void 0&&(e=null),!(e===null||e instanceof Or))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(c){return o(c)},this.configGetSourceVariant=function(c){o=c.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 c=0;o=this.defaultLayout,this.usesPrefixDiscriminator&&(c=i.layout.span),r=this.makeDestinationObject(),r[i.property]=s,r[o.property]=this.defaultLayout.decode(t,e+c)}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 c=0;return this.usesPrefixDiscriminator&&(c=s.layout.span),s.encode(t[s.property],e,r),c+o.encode(t[o.property],e,r+c)}return i.encode(t,e,r)}addVariant(t,e,r){const i=new EG(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 EG extends Or{constructor(t,e,r,i){if(!(t instanceof PI))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 Or))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 vG extends Or{constructor(t,e){if(!(t instanceof Ra&&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 Ra||(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 Ra&&(i=t.length),!(Zt.isBuffer(t)&&i===t.length))throw new TypeError(wG("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 Ra&&this.length.encode(i,e,r),i}}var xG=(n,t,e)=>new TI(n,t,e),RG=n=>new Op(1,n),$s=n=>new Op(4,n),SG=n=>new bG(n),Ws=n=>new _G(n),On=(n,t,e)=>new AG(n,t,e),MI=(n,t,e)=>new PI(n,t,e),Xh=(n,t)=>new vG(n,t);class IG extends Tp{constructor(t){super(-1,t),this.property=t,this.layout=On([$s("length"),$s("lengthPadding"),Xh(xG($s(),-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 $s().span+$s().span+new Ls(new Uint8Array(t).slice(e,e+4),10,"le").toNumber()}}function Np(n){return new IG(n)}function ai(n){return Xh(32,n)}const jr=MI($s("instruction"));jr.addVariant(0,On([Ws("lamports"),Ws("space"),ai("owner")]),"createAccount");jr.addVariant(1,On([ai("owner")]),"assign");jr.addVariant(2,On([Ws("lamports")]),"transfer");jr.addVariant(3,On([ai("base"),Np("seed"),Ws("lamports"),Ws("space"),ai("owner")]),"createAccountWithSeed");jr.addVariant(4,On([ai("authorized")]),"advanceNonceAccount");jr.addVariant(5,On([Ws("lamports")]),"withdrawNonceAccount");jr.addVariant(6,On([ai("authorized")]),"initializeNonceAccount");jr.addVariant(7,On([ai("authorized")]),"authorizeNonceAccount");jr.addVariant(8,On([Ws("space")]),"allocate");jr.addVariant(9,On([ai("base"),Np("seed"),Ws("space"),ai("owner")]),"allocateWithSeed");jr.addVariant(10,On([ai("base"),Np("seed"),ai("owner")]),"assignWithSeed");jr.addVariant(11,On([Ws("lamports"),Np("seed"),ai("owner")]),"transferWithSeed");Math.max(...Object.values(jr.registry).map(n=>n.span));class kG extends Tp{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 TE(n){return new kG(Xh(32),t=>new pt(t),t=>t.toBuffer(),n)}On([$s("version"),$s("state"),TE("authorizedPubkey"),TE("nonce"),On([SG("lamportsPerSignature")],"feeCalculator")]);new pt("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new pt("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");var OE={exports:{}};(function(n,t){var e=typeof self<"u"?self:lG,r=function(){function s(){this.fetch=!1,this.DOMException=e.DOMException}return s.prototype=e,new s}();(function(s){(function(o){var c={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(c.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 A(p){return typeof p!="string"&&(p=String(p)),p}function b(p){var m={next:function(){var v=p.shift();return{done:v===void 0,value:v}}};return c.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=A(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)]=A(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)}),b(p)},R.prototype.values=function(){var p=[];return this.forEach(function(m){p.push(m)}),b(p)},R.prototype.entries=function(){var p=[];return this.forEach(function(m,v){p.push([v,m])}),b(p)},c.iterable&&(R.prototype[Symbol.iterator]=R.prototype.entries);function k(p){if(p.bodyUsed)return Promise.reject(new TypeError("Already read"));p.bodyUsed=!0}function S(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=S(m);return m.readAsArrayBuffer(p),v}function H(p){var m=new FileReader,v=S(m);return m.readAsText(p),v}function U(p){for(var m=new Uint8Array(p),v=new Array(m.length),I=0;I<m.length;I++)v[I]=String.fromCharCode(m[I]);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:c.blob&&Blob.prototype.isPrototypeOf(p)?this._bodyBlob=p:c.formData&&FormData.prototype.isPrototypeOf(p)?this._bodyFormData=p:c.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)?this._bodyText=p.toString():c.arrayBuffer&&c.blob&&u(p)?(this._bodyArrayBuffer=G(p.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):c.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):c.searchParams&&URLSearchParams.prototype.isPrototypeOf(p)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},c.blob&&(this.blob=function(){var p=k(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?k(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(B)}),this.text=function(){var p=k(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)},c.formData&&(this.formData=function(){return this.text().then(it)}),this.json=function(){return this.text().then(JSON.parse)},this}var Y=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function j(p){var m=p.toUpperCase();return Y.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 I=v.split("="),N=I.shift().replace(/\+/g," "),M=I.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(I){var N=I.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 I=Error(m);this.stack=I.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function C(p,m){return new Promise(function(v,I){var N=new J(p,m);if(N.signal&&N.signal.aborted)return I(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 _="response"in M?M.response:M.responseText;v(new rt(_,P))},M.onerror=function(){I(new TypeError("Network request failed"))},M.ontimeout=function(){I(new TypeError("Network request failed"))},M.onabort=function(){I(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&&c.blob&&(M.responseType="blob"),N.headers.forEach(function(P,_){M.setRequestHeader(_,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})(OE,OE.exports);qt.rustEnum([qt.struct([],"uninitialized"),qt.struct([qt.option(qt.publicKey(),"authorityAddress")],"buffer"),qt.struct([qt.publicKey("programdataAddress")],"program"),qt.struct([qt.u64("slot"),qt.option(qt.publicKey(),"upgradeAuthorityAddress")],"programData")],void 0,qt.u32());const rw="Program log: ",LI="Program data: ",TG=rw.length,OG=LI.length;class NG{constructor(t,e,r){this._programId=t,this._provider=e,this._eventParser=new UI(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,c)=>{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[,A]=y;A(u.data,c.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 UI{constructor(t,e){this.coder=e,this.programId=t}*parseLogs(t,e=!1){const r=new BG(t),i=new CG;let s=r.next();for(;s!==null;){let[o,c,u]=this.handleLog(i,s,e);o&&(yield o),c&&i.push(c),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(rw)||t.startsWith(LI)){const r=t.startsWith(rw)?t.slice(TG):t.slice(OG),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 CG{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 BG{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 Cp(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 k0{static build(t,e,r){if(t.name==="_inner")throw new fo("the _inner name is reserved");const i=(...s)=>{const[o,c]=Cp(t,[...s]);XR(t.accounts,c.accounts),PG(t,...s);const u=i.accounts(c.accounts);return c.remainingAccounts!==void 0&&u.push(...c.remainingAccounts),SI("debug-logs")&&console.log("Outgoing account metas:",u),new Be({keys:u,programId:r,data:e(t.name,Wz(t,...o))})};return i.accounts=s=>k0.accountsArray(s,t.accounts,r,t.name),i}static accountsArray(t,e,r,i){return t?e.map(s=>{if(go(s)){const h=t[s.name];return k0.accountsArray(h,s.accounts,r,i).flat()}let o;try{o=bi(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 c=s.optional&&o.equals(r),u=!!(s.writable&&!c),f=!!(s.signer&&!c);return{pubkey:o,isWritable:u,isSigner:f}}).flat():[]}}function PG(n,...t){}class MG{static build(t,e){return(...i)=>{var s,o,c;const[,u]=Cp(t,[...i]),f=new Te;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)),(c=u.postInstructions)===null||c===void 0||c.forEach(h=>f.add(h)),f}}}class LG{static build(t,e,r,i){return async(...o)=>{var c;const u=e(...o),[,f]=Cp(t,[...o]);if(i.sendAndConfirm===void 0)throw new Error("This function requires 'Provider.sendAndConfirm' to be implemented.");try{return await i.sendAndConfirm(u,(c=f.signers)!==null&&c!==void 0?c:[],f.options)}catch(h){throw II(h,r)}}}}class UG{static build(t,e,r,i){var s;return((s=t.accounts)!==null&&s!==void 0?s:[]).reduce((o,c)=>(o[c.name]=new DG(t,c,r,i,e),o),{})}}class DG{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??ew(),this._coder=s??new kI(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 rG(this._provider.connection,t.map(i=>bi(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=wf.get(t.toString());if(r)return r.ee;const i=new Dz;t=bi(t);const s=this._provider.connection.onAccountChange(t,o=>{const c=this._coder.accounts.decode(this._idlAccount.name,o.data);i.emit("change",c)},e);return wf.set(t.toString(),{ee:i,listener:s}),i}async unsubscribe(t){let e=wf.get(t.toString());if(!e){console.warn("Address is not subscribed");return}wf&&await this._provider.connection.removeAccountChangeListener(e.listener).then(()=>{wf.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 Tn.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(bi(t),e)}async getAccountInfoAndContext(t,e){return await this._provider.connection.getAccountInfoAndContext(bi(t),e)}}const wf=new Map;class FG{static build(t,e,r,i,s,o,c){return async(...f)=>{var h;const y=e(...f),[,A]=Cp(t,[...f]);let b;if(i.simulate===void 0)throw new Error("This function requires 'Provider.simulate' to be implemented.");try{b=await i.simulate(y,A.signers,(h=A.options)===null||h===void 0?void 0:h.commitment)}catch(S){throw II(S,r)}if(b===void 0)throw new Error("Unable to simulate transaction");const R=b.logs;if(!R)throw new Error("Simulated logs not found");const k=[];if(c.events){let S=new UI(o,s);for(const B of S.parseLogs(R))k.push(B)}return{events:k,raw:R}}}}function Xy(n){return new DI(Xh(8),t=>HG.fromBuffer(t),t=>t.toBuffer(),n)}function Bd(n){return new DI(Xh(32),t=>new pt(t),t=>t.toBuffer(),n)}function tm(n,t){return new $G(n,t)}class DI extends Tp{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 $G extends Tp{constructor(t,e){super(-1,e),this.layout=t,this.discriminator=$s()}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 HG=class FI extends Ls{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 FI([...t].reverse().map(e=>`00${e.toString(16)}`.slice(-2)).join(""),16)}};const zG=On([Bd("mint"),Bd("owner"),Xy("amount"),tm(Bd(),"delegate"),(n=>{const t=MI(RG("discriminator"),null,n);return t.addVariant(0,On([]),"uninitialized"),t.addVariant(1,On([]),"initialized"),t.addVariant(2,On([]),"frozen"),t})("state"),tm(Xy(),"isNative"),Xy("delegatedAmount"),tm(Bd(),"closeAuthority")]);function GG(n){return zG.decode(n)}class VG{constructor(t,e,r,i,s,o,c,u){this._args=t,this._accounts=e,this._provider=r,this._programId=i,this._idlIx=s,this._idlTypes=c,this._customResolver=u,this._accountStore=new KG(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=>go(o)?o.accounts.some(e):!!(o.address||o.pda||o.relations),r=(o,c=[],u=[])=>{for(const f of o)go(f)?u.push(...r(f.accounts,[...c,f.name])):u.push([...c,f.name]);return u},i=this._idlIx.accounts.filter(e),s=r(i).filter(o=>!this.get(o)).map(o=>o.reduce((c,u)=>c+"."+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&&($I(o)?go(i)?r[s]=this.resolveOptionalsHelper(o,i.accounts):r[s]=HI(o):o!==null?r[s]=bi(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];go(i)&&this.resolveEventCpi(i.accounts,[...e,i.name]);const s=+r+1;if(s===t.length)return;const o=t[r].name,c=t[s].name;if(o==="eventAuthority"&&c==="program"){const u=[...e,o],f=[...e,c];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(go(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],bi(s.address))}}}}async resolvePdasAndRelations(t,e=[]){let r=0;for(const i of t){const s=i.name;if(go(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 c=await Promise.all(o.pda.seeds.map(h=>this.toBuffer(h,e)));if(c.some(h=>!h))continue;const u=await this.parseProgramId(o,e),[f]=pt.findProgramAddressSync(c,u);this.set([...e,s],f)}}catch{}try{if(o.relations){const c=this.get([...e,o.relations[0]]);if(c){const u=await this._accountStore.fetchAccount({publicKey:c});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(c=>c.name===e);if(i===-1)throw new Error(`Unable to find argument for seed: ${e}`);const s=r.reduce((c,u)=>(c??{})[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 c=await this._accountStore.fetchAccount({publicKey:s,name:t.account}),u=i;for(;u.length>0;)c=c[u[0]],u=u.slice(1);if(c===void 0)return;const f=this.getType({defined:{name:t.account}},i);return this.toBufferValue(f,c)}toBufferValue(t,e){switch(t){case"u8":case"i8":return Zt.from([e]);case"u16":case"i16":return new Ls(e).toArrayLike(Zt,"le",2);case"u32":case"i32":return new Ls(e).toArrayLike(Zt,"le",4);case"u64":case"i64":return new Ls(e).toArrayLike(Zt,"le",8);case"u128":case"i128":return new Ls(e).toArrayLike(Zt,"le",16);case"u256":case"i256":return new Ls(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,...c]=e,f=s.type.fields.find(h=>h.name===o);if(!f)throw new Error(`Field not found: ${o}`);return this.getType(f.type,c)}return t}}class KG{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=GG(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 c=o.coder.accounts.decodeAny(i.data);this._cache.set(r,c)}}}}return this._cache.get(r)}async getAccountsNs(t){const e=t.toBase58();if(!this._idls[e]){const r=await hl.fetchIdl(t,this._provider);if(r){const i=new hl(r,this._provider);this._idls[e]=i.account}}return this._idls[e]}}class jG{static build(t,e,r,i,s,o,c,u,f,h,y){return(...A)=>new WG(A,i,s,o,c,u,t,e,r,f,h,y)}}function $I(n){return typeof n=="object"&&n!==null&&!("_bn"in n)}function HI(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]=$I(i)?HI(i):bi(i)}return e}class WG{constructor(t,e,r,i,s,o,c,u,f,h,y,A){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 VG(t,this._accounts,c,u,f,h,y,A)}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 ZG{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(k=>k.startsWith(h));if(!y)throw new Error("View expected return log");let A=YR(y.slice(h.length)),b=e.returns;if(!b)throw new Error("View expected return type");return fe.fieldLayout({type:b},i.types).decode(A)}}}class qG{static build(t,e,r,i,s){const o={},c={},u={},f={},h={},y={},A=jz(t),b=t.accounts?UG.build(t,e,r,i):{};return t.instructions.forEach(R=>{const k=k0.build(R,(Y,j)=>e.instruction.encode(Y,j),r),S=MG.build(R,k),B=LG.build(R,S,A,i),H=FG.build(R,S,A,i,e,r,t),U=ZG.build(r,R,H,t),G=jG.build(i,r,R,k,S,B,H,U,b,t.types||[],s==null?void 0:s(R)),W=R.name;c[W]=k,u[W]=S,o[W]=B,f[W]=H,h[W]=G,U&&(y[W]=U)}),[o,c,u,b,f,h,y]}}class hl{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=ew(),r,i){this._idl=Kz(t),this._rawIdl=t,this._provider=e,this._programId=bi(t.address),this._coder=r??new kI(this._idl),this._events=new NG(this._programId,e,this._coder);const[s,o,c,u,f,h,y]=qG.build(this._idl,this._coder,this._programId,e,i);this.rpc=s,this.instruction=o,this.transaction=c,this.account=u,this.simulate=f,this.methods=h,this.views=y}static async at(t,e){const r=bi(t),i=await hl.fetchIdl(r,e);if(!i)throw new Error(`IDL not found for program: ${t.toString()}`);return new hl(i,e)}static async fetchIdl(t,e){e=e??ew();const r=bi(t),i=await Hz(r),s=await e.connection.getAccountInfo(i);if(!s)return null;let o=Vz(s.data.slice(8));const c=Lz(o.data);return JSON.parse($z(c))}addEventListener(t,e,r){return this._events.addEventListener(t,e,r)}async removeEventListener(t){return await this._events.removeEventListener(t)}}new pt("11111111111111111111111111111111");const QG="6.13.5";function JG(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 lr(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&&JG(i,s,r),Object.defineProperty(n,r,{enumerable:!0,value:i,writable:!1})}}function Yc(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(Yc).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 Yc(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=>`${Yc(e)}: ${Yc(n[e])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Wn(n,t){return n&&n.code===t}function $1(n){return Wn(n,"CALL_EXCEPTION")}function Ze(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: ${Yc(e)}`);for(const o in e){if(o==="shortMessage")continue;const c=e[o];s.push(o+"="+Yc(c))}}s.push(`code=${t}`),s.push(`version=${QG}`),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 Ze(t,e,r)}function K(n,t,e,r){ht(n,t,"INVALID_ARGUMENT",{argument:e,value:r})}function zI(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 Bp(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 GI(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 ye(n,t){return GI(n,t,!1)}function fr(n,t){return GI(n,t,!0)}function He(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 H1(n){return He(n,!0)||n instanceof Uint8Array}const NE="0123456789abcdef";function kt(n){const t=ye(n);let e="0x";for(let r=0;r<t.length;r++){const i=t[r];e+=NE[(i&240)>>4]+NE[i&15]}return e}function Rn(n){return"0x"+n.map(t=>kt(t).substring(2)).join("")}function uu(n){return He(n,!0)?(n.length-2)/2:ye(n).length}function bn(n,t,e){const r=ye(n);return e!=null&&e>r.length&&ht(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:e}),kt(r.slice(t??0,e??r.length))}function VI(n,t,e){const r=ye(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),kt(i)}function dc(n,t){return VI(n,t,!0)}function YG(n,t){return VI(n,t,!1)}const Pp=BigInt(0),mi=BigInt(1),Xc=9007199254740991;function XG(n,t){const e=Mp(n,"value"),r=BigInt(oe(t,"width"));if(ht(e>>r===Pp,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),e>>r-mi){const i=(mi<<r)-mi;return-((~e&i)+mi)}return e}function KI(n,t){let e=Nt(n,"value");const r=BigInt(oe(t,"width")),i=mi<<r-mi;if(e<Pp){e=-e,ht(e<=i,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});const s=(mi<<r)-mi;return(~e&s)+mi}else ht(e<i,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return e}function Rf(n,t){const e=Mp(n,"value"),r=BigInt(oe(t,"bits"));return e&(mi<<r)-mi}function Nt(n,t){switch(typeof n){case"bigint":return n;case"number":return K(Number.isInteger(n),"underflow",t||"value",n),K(n>=-Xc&&n<=Xc,"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 Mp(n,t){const e=Nt(n,t);return ht(e>=Pp,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),e}const CE="0123456789abcdef";function z1(n){if(n instanceof Uint8Array){let t="0x0";for(const e of n)t+=CE[e>>4],t+=CE[e&15];return BigInt(t)}return Nt(n)}function oe(n,t){switch(typeof n){case"bigint":return K(n>=-Xc&&n<=Xc,"overflow",t||"value",n),Number(n);case"number":return K(Number.isInteger(n),"underflow",t||"value",n),K(n>=-Xc&&n<=Xc,"overflow",t||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return oe(BigInt(n),t)}catch(e){K(!1,`invalid numeric string: ${e.message}`,t||"value",n)}}K(!1,"invalid numeric value",t||"value",n)}function tV(n){return oe(z1(n))}function Xo(n,t){let r=Mp(n,"value").toString(16);if(t==null)r.length%2&&(r="0"+r);else{const i=oe(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 pr(n){const t=Mp(n,"value");if(t===Pp)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 tu(n){let t=kt(H1(n)?n:pr(n)).substring(2);for(;t.startsWith("0");)t=t.substring(1);return t===""&&(t="0"),"0x"+t}const BE="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";BigInt(0);const PE=BigInt(58);function eV(n){const t=ye(n);let e=z1(t),r="";for(;e;)r=BE[Number(e%PE)]+r,e/=PE;for(let i=0;i<t.length&&!t[i];i++)r=BE[0]+r;return r}function nV(n){n=atob(n);const t=new Uint8Array(n.length);for(let e=0;e<n.length;e++)t[e]=n.charCodeAt(e);return ye(t)}function rV(n){const t=ye(n);let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}var du;class jI{constructor(t,e,r){Z(this,"filter");Z(this,"emitter");nt(this,du);$(this,du,e),$t(this,{emitter:t,filter:r})}async removeListener(){T(this,du)!=null&&await this.emitter.off(this.filter,T(this,du))}}du=new WeakMap;function iV(n,t,e,r,i){K(!1,`invalid codepoint at offset ${t}; ${n}`,"bytes",e)}function WI(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 sV(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),WI(n,t,e))}const oV=Object.freeze({error:iV,ignore:WI,replace:sV});function aV(n,t){t==null&&(t=oV.error);const e=ye(n,"bytes"),r=[];let i=0;for(;i<e.length;){const s=e[i++];if(!(s>>7)){r.push(s);continue}let o=null,c=null;if((s&224)===192)o=1,c=127;else if((s&240)===224)o=2,c=2047;else if((s&248)===240)o=3,c=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<=c){i+=t("OVERLONG",i-1-o,e,r,u);continue}r.push(u)}}return r}function Vs(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 cV(n){return n.map(t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10&1023)+55296,(t&1023)+56320))).join("")}function T0(n,t){return cV(aV(n,t))}function ZI(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,c=setTimeout(()=>{s=Ze("request timeout","TIMEOUT"),o.abort()},e.timeout);r&&r.addListener(()=>{s=Ze("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(b){throw clearTimeout(c),s||b}clearTimeout(c);const h={};f.headers.forEach((b,R)=>{h[R.toLowerCase()]=b});const y=await f.arrayBuffer(),A=y==null?null:new Uint8Array(y);return{statusCode:f.status,statusMessage:f.statusText,headers:h,body:A}}return t}const uV=12,lV=250;let ME=ZI();const fV=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),hV=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let em=!1;async function qI(n,t){try{const e=n.match(fV);if(!e)throw new Error("invalid data");return new jo(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?nV(e[3]):pV(e[3]))}catch{return new jo(599,"BAD REQUEST (invalid data: URI)",{},null,new Zs(n))}}function QI(n){async function t(e,r){try{const i=e.match(hV);if(!i)throw new Error("invalid link");return new Zs(`${n}${i[2]}`)}catch{return new jo(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Zs(e))}}return t}const Pd={data:qI,ipfs:QI("https://gateway.ipfs.io/ipfs/")},JI=new WeakMap;var Ta,mo;class dV{constructor(t){nt(this,Ta);nt(this,mo);$(this,Ta,[]),$(this,mo,!1),JI.set(t,()=>{if(!T(this,mo)){$(this,mo,!0);for(const e of T(this,Ta))setTimeout(()=>{e()},0);$(this,Ta,[])}})}addListener(t){ht(!T(this,mo),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),T(this,Ta).push(t)}get cancelled(){return T(this,mo)}checkSignal(){ht(!this.cancelled,"cancelled","CANCELLED",{})}}Ta=new WeakMap,mo=new WeakMap;function Md(n){if(n==null)throw new Error("missing signal; should not happen");return n.checkSignal(),n}var pu,gu,hi,xs,yu,mu,Bn,Ur,Rs,Oa,Na,Ca,Bi,di,wo,Ba,Sf;const z0=class z0{constructor(t){nt(this,Ba);nt(this,pu);nt(this,gu);nt(this,hi);nt(this,xs);nt(this,yu);nt(this,mu);nt(this,Bn);nt(this,Ur);nt(this,Rs);nt(this,Oa);nt(this,Na);nt(this,Ca);nt(this,Bi);nt(this,di);nt(this,wo);$(this,mu,String(t)),$(this,pu,!1),$(this,gu,!0),$(this,hi,{}),$(this,xs,""),$(this,yu,3e5),$(this,di,{slotInterval:lV,maxAttempts:uV}),$(this,wo,null)}get url(){return T(this,mu)}set url(t){$(this,mu,String(t))}get body(){return T(this,Bn)==null?null:new Uint8Array(T(this,Bn))}set body(t){if(t==null)$(this,Bn,void 0),$(this,Ur,void 0);else if(typeof t=="string")$(this,Bn,Vs(t)),$(this,Ur,"text/plain");else if(t instanceof Uint8Array)$(this,Bn,t),$(this,Ur,"application/octet-stream");else if(typeof t=="object")$(this,Bn,Vs(JSON.stringify(t))),$(this,Ur,"application/json");else throw new Error("invalid body")}hasBody(){return T(this,Bn)!=null}get method(){return T(this,xs)?T(this,xs):this.hasBody()?"POST":"GET"}set method(t){t==null&&(t=""),$(this,xs,String(t).toUpperCase())}get headers(){const t=Object.assign({},T(this,hi));return T(this,Rs)&&(t.authorization=`Basic ${rV(Vs(T(this,Rs)))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),t["content-type"]==null&&T(this,Ur)&&(t["content-type"]=T(this,Ur)),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){T(this,hi)[String(t).toLowerCase()]=String(e)}clearHeaders(){$(this,hi,{})}[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 T(this,Rs)||null}setCredentials(t,e){K(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),$(this,Rs,`${t}:${e}`)}get allowGzip(){return T(this,gu)}set allowGzip(t){$(this,gu,!!t)}get allowInsecureAuthentication(){return!!T(this,pu)}set allowInsecureAuthentication(t){$(this,pu,!!t)}get timeout(){return T(this,yu)}set timeout(t){K(t>=0,"timeout must be non-zero","timeout",t),$(this,yu,t)}get preflightFunc(){return T(this,Oa)||null}set preflightFunc(t){$(this,Oa,t)}get processFunc(){return T(this,Na)||null}set processFunc(t){$(this,Na,t)}get retryFunc(){return T(this,Ca)||null}set retryFunc(t){$(this,Ca,t)}get getUrlFunc(){return T(this,wo)||ME}set getUrlFunc(t){$(this,wo,t)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${T(this,Bn)?kt(T(this,Bn)):"null"}>`}setThrottleParams(t){t.slotInterval!=null&&(T(this,di).slotInterval=t.slotInterval),t.maxAttempts!=null&&(T(this,di).maxAttempts=t.maxAttempts)}send(){return ht(T(this,Bi)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),$(this,Bi,new dV(this)),_t(this,Ba,Sf).call(this,0,LE()+this.timeout,0,this,new jo(0,"",{},null,this))}cancel(){ht(T(this,Bi)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const t=JI.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 z0(t);return i.method="GET",i.allowGzip=this.allowGzip,i.timeout=this.timeout,$(i,hi,Object.assign({},T(this,hi))),T(this,Bn)&&$(i,Bn,new Uint8Array(T(this,Bn))),$(i,Ur,T(this,Ur)),i}clone(){const t=new z0(this.url);return $(t,xs,T(this,xs)),T(this,Bn)&&$(t,Bn,T(this,Bn)),$(t,Ur,T(this,Ur)),$(t,hi,Object.assign({},T(this,hi))),$(t,Rs,T(this,Rs)),this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),$(t,Oa,T(this,Oa)),$(t,Na,T(this,Na)),$(t,Ca,T(this,Ca)),$(t,di,Object.assign({},T(this,di))),$(t,wo,T(this,wo)),t}static lockConfig(){em=!0}static getGateway(t){return Pd[t.toLowerCase()]||null}static registerGateway(t,e){if(t=t.toLowerCase(),t==="http"||t==="https")throw new Error(`cannot intercept ${t}; use registerGetUrl`);if(em)throw new Error("gateways locked");Pd[t]=e}static registerGetUrl(t){if(em)throw new Error("gateways locked");ME=t}static createGetUrlFunc(t){return ZI()}static createDataGateway(){return qI}static createIpfsGatewayFunc(t){return QI(t)}};pu=new WeakMap,gu=new WeakMap,hi=new WeakMap,xs=new WeakMap,yu=new WeakMap,mu=new WeakMap,Bn=new WeakMap,Ur=new WeakMap,Rs=new WeakMap,Oa=new WeakMap,Na=new WeakMap,Ca=new WeakMap,Bi=new WeakMap,di=new WeakMap,wo=new WeakMap,Ba=new WeakSet,Sf=async function(t,e,r,i,s){var h,y,A;if(t>=T(this,di).maxAttempts)return s.makeServerError("exceeded maximum retry limit");ht(LE()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:i}),r>0&&await gV(r);let o=this.clone();const c=(o.url.split(":")[0]||"").toLowerCase();if(c in Pd){const b=await Pd[c](o.url,Md(T(i,Bi)));if(b instanceof jo){let R=b;if(this.processFunc){Md(T(i,Bi));try{R=await this.processFunc(o,R)}catch(k){(k.throttle==null||typeof k.stall!="number")&&R.makeServerError("error in post-processing function",k).assertOk()}}return R}o=b}this.preflightFunc&&(o=await this.preflightFunc(o));const u=await this.getUrlFunc(o,Md(T(i,Bi)));let f=new jo(u.statusCode,u.statusMessage,u.headers,u.body,i);if(f.statusCode===301||f.statusCode===302){try{const b=f.headers.location||"";return _t(h=o.redirect(b),Ba,Sf).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 b=f.headers["retry-after"];let R=T(this,di).slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return typeof b=="string"&&b.match(/^[1-9][0-9]*$/)&&(R=parseInt(b)),_t(y=o.clone(),Ba,Sf).call(y,t+1,e,R,i,f)}if(this.processFunc){Md(T(i,Bi));try{f=await this.processFunc(o,f)}catch(b){(b.throttle==null||typeof b.stall!="number")&&f.makeServerError("error in post-processing function",b).assertOk();let R=T(this,di).slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return b.stall>=0&&(R=b.stall),_t(A=o.clone(),Ba,Sf).call(A,t+1,e,R,i,f)}}return f};let Zs=z0;var xh,Rh,Sh,Dr,wu,Pa;const lb=class lb{constructor(t,e,r,i,s){nt(this,xh);nt(this,Rh);nt(this,Sh);nt(this,Dr);nt(this,wu);nt(this,Pa);$(this,xh,t),$(this,Rh,e),$(this,Sh,Object.keys(r).reduce((o,c)=>(o[c.toLowerCase()]=String(r[c]),o),{})),$(this,Dr,i==null?null:new Uint8Array(i)),$(this,wu,s||null),$(this,Pa,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${T(this,Dr)?kt(T(this,Dr)):"null"}>`}get statusCode(){return T(this,xh)}get statusMessage(){return T(this,Rh)}get headers(){return Object.assign({},T(this,Sh))}get body(){return T(this,Dr)==null?null:new Uint8Array(T(this,Dr))}get bodyText(){try{return T(this,Dr)==null?"":T0(T(this,Dr))}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 lb(599,r,this.headers,this.body,T(this,wu)||void 0);return $(i,Pa,{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 T(this,Dr)!=null}get request(){return T(this,wu)}ok(){return T(this,Pa).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=T(this,Pa);t===""&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let i=null;try{T(this,Dr)&&(i=T0(T(this,Dr)))}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}`}})}};xh=new WeakMap,Rh=new WeakMap,Sh=new WeakMap,Dr=new WeakMap,wu=new WeakMap,Pa=new WeakMap;let jo=lb;function LE(){return new Date().getTime()}function pV(n){return Vs(n.replace(/%([0-9a-f][0-9a-f])/gi,(t,e)=>String.fromCharCode(parseInt(e,16))))}function gV(n){return new Promise(t=>setTimeout(t,n))}function yV(n){let t=n.toString(16);for(;t.length<2;)t="0"+t;return"0x"+t}function UE(n,t,e){let r=0;for(let i=0;i<e;i++)r=r*256+n[t+i];return r}function DE(n,t,e,r){const i=[];for(;e<t+1+r;){const s=YI(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 YI(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=UE(n,t+1,r);return e(t+1+r+i),DE(n,t,t+1+r,r+i)}else if(n[t]>=192){const r=n[t]-192;return e(t+1+r),DE(n,t,t+1,r)}else if(n[t]>=184){const r=n[t]-183;e(t+1+r);const i=UE(n,t+1,r);e(t+1+r+i);const s=kt(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=kt(n.slice(t+1,t+1+r));return{consumed:1+r,result:i}}return{consumed:1,result:yV(n[t])}}function Lp(n){const t=ye(n,"data"),e=YI(t,0);return K(e.consumed===t.length,"unexpected junk after rlp payload","data",n),e.result}function FE(n){const t=[];for(;n;)t.unshift(n&255),n>>=8;return t}function XI(n){if(Array.isArray(n)){let r=[];if(n.forEach(function(s){r=r.concat(XI(s))}),r.length<=55)return r.unshift(192+r.length),r;const i=FE(r.length);return i.unshift(247+i.length),i.concat(r)}const t=Array.prototype.slice.call(ye(n,"object"));if(t.length===1&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const e=FE(t.length);return e.unshift(183+e.length),e.concat(t)}const $E="0123456789abcdef";function pc(n){let t="0x";for(const e of XI(n))t+=$E[e>>4],t+=$E[e&15];return t}const gr=32,iw=new Uint8Array(gr),mV=["then"],Ld={},tk=new WeakMap;function ya(n){return tk.get(n)}function HE(n,t){tk.set(n,t)}function bf(n,t){const e=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw e.error=t,e}function sw(n,t,e){return n.indexOf(null)>=0?t.map((r,i)=>r instanceof dl?sw(ya(r),r,e):r):n.reduce((r,i,s)=>{let o=t.getValue(i);return i in r||(e&&o instanceof dl&&(o=sw(ya(o),o,e)),r[i]=o),r},{})}var bu;const eu=class eu extends Array{constructor(...e){const r=e[0];let i=e[1],s=(e[2]||[]).slice(),o=!0;r!==Ld&&(i=e,s=[],o=!1);super(i.length);nt(this,bu);i.forEach((f,h)=>{this[h]=f});const c=s.reduce((f,h)=>(typeof h=="string"&&f.set(h,(f.get(h)||0)+1),f),new Map);if(HE(this,Object.freeze(i.map((f,h)=>{const y=s[h];return y!=null&&c.get(y)===1?y:null}))),$(this,bu,[]),T(this,bu)==null&&T(this,bu),!o)return;Object.freeze(this);const u=new Proxy(this,{get:(f,h,y)=>{if(typeof h=="string"){if(h.match(/^[0-9]+$/)){const b=oe(h,"%index");if(b<0||b>=this.length)throw new RangeError("out of result range");const R=f[b];return R instanceof Error&&bf(`index ${b}`,R),R}if(mV.indexOf(h)>=0)return Reflect.get(f,h,y);const A=f[h];if(A instanceof Function)return function(...b){return A.apply(this===y?f:this,b)};if(!(h in f))return f.getValue.apply(this===y?f:this,[h])}return Reflect.get(f,h,y)}});return HE(u,ya(this)),u}toArray(e){const r=[];return this.forEach((i,s)=>{i instanceof Error&&bf(`index ${s}`,i),e&&i instanceof eu&&(i=i.toArray(e)),r.push(i)}),r}toObject(e){const r=ya(this);return r.reduce((i,s,o)=>(ht(s!=null,`value at index ${o} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),sw(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=ya(this),s=[],o=[];for(let c=e;c<r;c++)s.push(this[c]),o.push(i[c]);return new eu(Ld,s,o)}filter(e,r){const i=ya(this),s=[],o=[];for(let c=0;c<this.length;c++){const u=this[c];u instanceof Error&&bf(`index ${c}`,u),e.call(r,u,c,this)&&(s.push(u),o.push(i[c]))}return new eu(Ld,s,o)}map(e,r){const i=[];for(let s=0;s<this.length;s++){const o=this[s];o instanceof Error&&bf(`index ${s}`,o),i.push(e.call(r,o,s,this))}return i}getValue(e){const r=ya(this).indexOf(e);if(r===-1)return;const i=this[r];return i instanceof Error&&bf(`property ${JSON.stringify(e)}`,i.error),i}static fromItems(e,r){return new eu(Ld,e,r)}};bu=new WeakMap;let dl=eu;function zE(n){let t=pr(n);return ht(t.length<=gr,"value out-of-bounds","BUFFER_OVERRUN",{buffer:t,length:gr,offset:t.length}),t.length!==gr&&(t=fr(Rn([iw.slice(t.length%gr),t]))),t}class Ys{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)}}var Ss,Ma,_u,Zd;class ow{constructor(){nt(this,_u);nt(this,Ss);nt(this,Ma);$(this,Ss,[]),$(this,Ma,0)}get data(){return Rn(T(this,Ss))}get length(){return T(this,Ma)}appendWriter(t){return _t(this,_u,Zd).call(this,fr(t.data))}writeBytes(t){let e=fr(t);const r=e.length%gr;return r&&(e=fr(Rn([e,iw.slice(r)]))),_t(this,_u,Zd).call(this,e)}writeValue(t){return _t(this,_u,Zd).call(this,zE(t))}writeUpdatableValue(){const t=T(this,Ss).length;return T(this,Ss).push(iw),$(this,Ma,T(this,Ma)+gr),e=>{T(this,Ss)[t]=zE(e)}}}Ss=new WeakMap,Ma=new WeakMap,_u=new WeakSet,Zd=function(t){return T(this,Ss).push(t),$(this,Ma,T(this,Ma)+t.length),t.length};var Ar,Fr,La,Ua,bo,bc,cw,ek;const fb=class fb{constructor(t,e,r){nt(this,bc);Z(this,"allowLoose");nt(this,Ar);nt(this,Fr);nt(this,La);nt(this,Ua);nt(this,bo);$t(this,{allowLoose:!!e}),$(this,Ar,fr(t)),$(this,La,0),$(this,Ua,null),$(this,bo,r??1024),$(this,Fr,0)}get data(){return kt(T(this,Ar))}get dataLength(){return T(this,Ar).length}get consumed(){return T(this,Fr)}get bytes(){return new Uint8Array(T(this,Ar))}subReader(t){const e=new fb(T(this,Ar).slice(T(this,Fr)+t),this.allowLoose,T(this,bo));return $(e,Ua,this),e}readBytes(t,e){let r=_t(this,bc,ek).call(this,0,t,!!e);return _t(this,bc,cw).call(this,t),$(this,Fr,T(this,Fr)+r.length),r.slice(0,t)}readValue(){return z1(this.readBytes(gr))}readIndex(){return tV(this.readBytes(gr))}};Ar=new WeakMap,Fr=new WeakMap,La=new WeakMap,Ua=new WeakMap,bo=new WeakMap,bc=new WeakSet,cw=function(t){var e;if(T(this,Ua))return _t(e=T(this,Ua),bc,cw).call(e,t);$(this,La,T(this,La)+t),ht(T(this,bo)<1||T(this,La)<=T(this,bo)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${T(this,bo)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:fr(T(this,Ar)),offset:T(this,Fr),length:t,info:{bytesRead:T(this,La),dataLength:this.dataLength}})},ek=function(t,e,r){let i=Math.ceil(e/gr)*gr;return T(this,Fr)+i>T(this,Ar).length&&(this.allowLoose&&r&&T(this,Fr)+e<=T(this,Ar).length?i=e:ht(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:fr(T(this,Ar)),length:T(this,Ar).length,offset:T(this,Fr)+i})),T(this,Ar).slice(T(this,Fr),T(this,Fr)+i)};let aw=fb;function O0(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function G1(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 wV(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");O0(n.outputLen),O0(n.blockLen)}function pl(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 nk(n,t){G1(n);const e=t.outputLen;if(n.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}const nm=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const rk=n=>n instanceof Uint8Array,bV=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),rm=n=>new DataView(n.buffer,n.byteOffset,n.byteLength),Ci=(n,t)=>n<<32-t|n>>>t,_V=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!_V)throw new Error("Non little-endian hardware is not supported");function AV(n){if(typeof n!="string")throw new Error(`utf8ToBytes expected string, got ${typeof n}`);return new Uint8Array(new TextEncoder().encode(n))}function Up(n){if(typeof n=="string"&&(n=AV(n)),!rk(n))throw new Error(`expected Uint8Array, got ${typeof n}`);return n}function EV(...n){const t=new Uint8Array(n.reduce((r,i)=>r+i.length,0));let e=0;return n.forEach(r=>{if(!rk(r))throw new Error("Uint8Array expected");t.set(r,e),e+=r.length}),t}class V1{clone(){return this._cloneInto()}}function K1(n){const t=r=>n().update(Up(r)).digest(),e=n();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>n(),t}function vV(n=32){if(nm&&typeof nm.getRandomValues=="function")return nm.getRandomValues(new Uint8Array(n));throw new Error("crypto.getRandomValues must be defined")}class ik extends V1{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,wV(t);const r=Up(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 pl(this),this.iHash.update(t),this}digestInto(t){pl(this),G1(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:c}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const sk=(n,t,e)=>new ik(n,t).update(e).digest();sk.create=(n,t)=>new ik(n,t);function xV(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),c=Number(e&s),u=r?4:0,f=r?0:4;n.setUint32(t+u,o,r),n.setUint32(t+f,c,r)}class ok extends V1{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=rm(this.buffer)}update(t){pl(this);const{view:e,buffer:r,blockLen:i}=this;t=Up(t);const s=t.length;for(let o=0;o<s;){const c=Math.min(i-this.pos,s-o);if(c===i){const u=rm(t);for(;i<=s-o;o+=i)this.process(u,o);continue}r.set(t.subarray(o,o+c),this.pos),this.pos+=c,o+=c,this.pos===i&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){pl(this),nk(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;xV(r,i-8,BigInt(this.length*8),s),this.process(r,0);const c=rm(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++)c.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:c}=this;return t.length=i,t.pos=c,t.finished=s,t.destroyed=o,i%e&&t.buffer.set(r),t}}const RV=(n,t,e)=>n&t^~n&e,SV=(n,t,e)=>n&t^n&e^t&e,IV=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]),ao=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),co=new Uint32Array(64);class kV extends ok{constructor(){super(64,32,8,!1),this.A=ao[0]|0,this.B=ao[1]|0,this.C=ao[2]|0,this.D=ao[3]|0,this.E=ao[4]|0,this.F=ao[5]|0,this.G=ao[6]|0,this.H=ao[7]|0}get(){const{A:t,B:e,C:r,D:i,E:s,F:o,G:c,H:u}=this;return[t,e,r,i,s,o,c,u]}set(t,e,r,i,s,o,c,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=c|0,this.H=u|0}process(t,e){for(let y=0;y<16;y++,e+=4)co[y]=t.getUint32(e,!1);for(let y=16;y<64;y++){const A=co[y-15],b=co[y-2],R=Ci(A,7)^Ci(A,18)^A>>>3,k=Ci(b,17)^Ci(b,19)^b>>>10;co[y]=k+co[y-7]+R+co[y-16]|0}let{A:r,B:i,C:s,D:o,E:c,F:u,G:f,H:h}=this;for(let y=0;y<64;y++){const A=Ci(c,6)^Ci(c,11)^Ci(c,25),b=h+A+RV(c,u,f)+IV[y]+co[y]|0,k=(Ci(r,2)^Ci(r,13)^Ci(r,22))+SV(r,i,s)|0;h=f,f=u,u=c,c=o+b|0,o=s,s=i,i=r,r=b+k|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,c=c+this.E|0,u=u+this.F|0,f=f+this.G|0,h=h+this.H|0,this.set(r,i,s,o,c,u,f,h)}roundClean(){co.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const ak=K1(()=>new kV),Ud=BigInt(2**32-1),uw=BigInt(32);function ck(n,t=!1){return t?{h:Number(n&Ud),l:Number(n>>uw&Ud)}:{h:Number(n>>uw&Ud)|0,l:Number(n&Ud)|0}}function uk(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}=ck(n[i],t);[e[i],r[i]]=[s,o]}return[e,r]}const TV=(n,t)=>BigInt(n>>>0)<<uw|BigInt(t>>>0),OV=(n,t,e)=>n>>>e,NV=(n,t,e)=>n<<32-e|t>>>e,CV=(n,t,e)=>n>>>e|t<<32-e,BV=(n,t,e)=>n<<32-e|t>>>e,PV=(n,t,e)=>n<<64-e|t>>>e-32,MV=(n,t,e)=>n>>>e-32|t<<64-e,LV=(n,t)=>t,UV=(n,t)=>n,lk=(n,t,e)=>n<<e|t>>>32-e,fk=(n,t,e)=>t<<e|n>>>32-e,hk=(n,t,e)=>t<<e-32|n>>>64-e,dk=(n,t,e)=>n<<e-32|t>>>64-e;function DV(n,t,e,r){const i=(t>>>0)+(r>>>0);return{h:n+e+(i/2**32|0)|0,l:i|0}}const FV=(n,t,e)=>(n>>>0)+(t>>>0)+(e>>>0),$V=(n,t,e,r)=>t+e+r+(n/2**32|0)|0,HV=(n,t,e,r)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0),zV=(n,t,e,r,i)=>t+e+r+i+(n/2**32|0)|0,GV=(n,t,e,r,i)=>(n>>>0)+(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0),VV=(n,t,e,r,i,s)=>t+e+r+i+s+(n/2**32|0)|0,te={fromBig:ck,split:uk,toBig:TV,shrSH:OV,shrSL:NV,rotrSH:CV,rotrSL:BV,rotrBH:PV,rotrBL:MV,rotr32H:LV,rotr32L:UV,rotlSH:lk,rotlSL:fk,rotlBH:hk,rotlBL:dk,add:DV,add3L:FV,add3H:$V,add4L:HV,add4H:zV,add5H:VV,add5L:GV},[KV,jV]=te.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),lo=new Uint32Array(80);class WV extends ok{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:c,Dl:u,Eh:f,El:h,Fh:y,Fl:A,Gh:b,Gl:R,Hh:k,Hl:S}=this;return[t,e,r,i,s,o,c,u,f,h,y,A,b,R,k,S]}set(t,e,r,i,s,o,c,u,f,h,y,A,b,R,k,S){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=c|0,this.Dl=u|0,this.Eh=f|0,this.El=h|0,this.Fh=y|0,this.Fl=A|0,this.Gh=b|0,this.Gl=R|0,this.Hh=k|0,this.Hl=S|0}process(t,e){for(let U=0;U<16;U++,e+=4)uo[U]=t.getUint32(e),lo[U]=t.getUint32(e+=4);for(let U=16;U<80;U++){const G=uo[U-15]|0,W=lo[U-15]|0,Y=te.rotrSH(G,W,1)^te.rotrSH(G,W,8)^te.shrSH(G,W,7),j=te.rotrSL(G,W,1)^te.rotrSL(G,W,8)^te.shrSL(G,W,7),J=uo[U-2]|0,it=lo[U-2]|0,ut=te.rotrSH(J,it,19)^te.rotrBH(J,it,61)^te.shrSH(J,it,6),rt=te.rotrSL(J,it,19)^te.rotrBL(J,it,61)^te.shrSL(J,it,6),ot=te.add4L(j,rt,lo[U-7],lo[U-16]),C=te.add4H(ot,Y,ut,uo[U-7],uo[U-16]);uo[U]=C|0,lo[U]=ot|0}let{Ah:r,Al:i,Bh:s,Bl:o,Ch:c,Cl:u,Dh:f,Dl:h,Eh:y,El:A,Fh:b,Fl:R,Gh:k,Gl:S,Hh:B,Hl:H}=this;for(let U=0;U<80;U++){const G=te.rotrSH(y,A,14)^te.rotrSH(y,A,18)^te.rotrBH(y,A,41),W=te.rotrSL(y,A,14)^te.rotrSL(y,A,18)^te.rotrBL(y,A,41),Y=y&b^~y&k,j=A&R^~A&S,J=te.add5L(H,W,j,jV[U],lo[U]),it=te.add5H(J,B,G,Y,KV[U],uo[U]),ut=J|0,rt=te.rotrSH(r,i,28)^te.rotrBH(r,i,34)^te.rotrBH(r,i,39),ot=te.rotrSL(r,i,28)^te.rotrBL(r,i,34)^te.rotrBL(r,i,39),C=r&s^r&c^s&c,p=i&o^i&u^o&u;B=k|0,H=S|0,k=b|0,S=R|0,b=y|0,R=A|0,{h:y,l:A}=te.add(f|0,h|0,it|0,ut|0),f=c|0,h=u|0,c=s|0,u=o|0,s=r|0,o=i|0;const m=te.add3L(ut,ot,p);r=te.add3H(m,it,rt,C),i=m|0}({h:r,l:i}=te.add(this.Ah|0,this.Al|0,r|0,i|0)),{h:s,l:o}=te.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:c,l:u}=te.add(this.Ch|0,this.Cl|0,c|0,u|0),{h:f,l:h}=te.add(this.Dh|0,this.Dl|0,f|0,h|0),{h:y,l:A}=te.add(this.Eh|0,this.El|0,y|0,A|0),{h:b,l:R}=te.add(this.Fh|0,this.Fl|0,b|0,R|0),{h:k,l:S}=te.add(this.Gh|0,this.Gl|0,k|0,S|0),{h:B,l:H}=te.add(this.Hh|0,this.Hl|0,B|0,H|0),this.set(r,i,s,o,c,u,f,h,y,A,b,R,k,S,B,H)}roundClean(){uo.fill(0),lo.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 ZV=K1(()=>new WV);function qV(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof nl<"u")return nl;throw new Error("unable to locate global object")}const GE=qV();GE.crypto||GE.msCrypto;function QV(n){switch(n){case"sha256":return ak.create();case"sha512":return ZV.create()}K(!1,"invalid hashing algorithm name","algorithm",n)}const[pk,gk,yk]=[[],[],[]],JV=BigInt(0),_f=BigInt(1),YV=BigInt(2),XV=BigInt(7),tK=BigInt(256),eK=BigInt(113);for(let n=0,t=_f,e=1,r=0;n<24;n++){[e,r]=[r,(2*e+3*r)%5],pk.push(2*(5*r+e)),gk.push((n+1)*(n+2)/2%64);let i=JV;for(let s=0;s<7;s++)t=(t<<_f^(t>>XV)*eK)%tK,t&YV&&(i^=_f<<(_f<<BigInt(s))-_f);yk.push(i)}const[nK,rK]=uk(yk,!0),VE=(n,t,e)=>e>32?hk(n,t,e):lk(n,t,e),KE=(n,t,e)=>e>32?dk(n,t,e):fk(n,t,e);function iK(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 c=(o+8)%10,u=(o+2)%10,f=e[u],h=e[u+1],y=VE(f,h,1)^e[c],A=KE(f,h,1)^e[c+1];for(let b=0;b<50;b+=10)n[o+b]^=y,n[o+b+1]^=A}let i=n[2],s=n[3];for(let o=0;o<24;o++){const c=gk[o],u=VE(i,s,c),f=KE(i,s,c),h=pk[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 c=0;c<10;c++)e[c]=n[o+c];for(let c=0;c<10;c++)n[o+c]^=~e[(c+2)%10]&e[(c+4)%10]}n[0]^=nK[r],n[1]^=rK[r]}e.fill(0)}class j1 extends V1{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,O0(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=bV(this.state)}keccak(){iK(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){pl(this);const{blockLen:e,state:r}=this;t=Up(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(e-this.pos,i-s);for(let c=0;c<o;c++)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){pl(this,!1),G1(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 O0(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(nk(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 j1(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 sK=(n,t,e)=>K1(()=>new j1(t,n,e)),oK=sK(1,136,256/8);let mk=!1;const wk=function(n){return oK(n)};let bk=wk;function kn(n){const t=ye(n,"data");return kt(bk(t))}kn._=wk;kn.lock=function(){mk=!0};kn.register=function(n){if(mk)throw new TypeError("keccak256 is locked");bk=n};Object.freeze(kn);const _k=function(n){return QV("sha256").update(n).digest()};let Ak=_k,Ek=!1;function Dl(n){const t=ye(n,"data");return kt(Ak(t))}Dl._=_k;Dl.lock=function(){Ek=!0};Dl.register=function(n){if(Ek)throw new Error("sha256 is locked");Ak=n};Object.freeze(Dl);Object.freeze(Dl);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const vk=BigInt(0),Dp=BigInt(1),aK=BigInt(2),Fp=n=>n instanceof Uint8Array,cK=Array.from({length:256},(n,t)=>t.toString(16).padStart(2,"0"));function gl(n){if(!Fp(n))throw new Error("Uint8Array expected");let t="";for(let e=0;e<n.length;e++)t+=cK[n[e]];return t}function xk(n){const t=n.toString(16);return t.length&1?`0${t}`:t}function W1(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return BigInt(n===""?"0":`0x${n}`)}function yl(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 ec(n){return W1(gl(n))}function Z1(n){if(!Fp(n))throw new Error("Uint8Array expected");return W1(gl(Uint8Array.from(n).reverse()))}function ml(n,t){return yl(n.toString(16).padStart(t*2,"0"))}function q1(n,t){return ml(n,t).reverse()}function uK(n){return yl(xk(n))}function fi(n,t,e){let r;if(typeof t=="string")try{r=yl(t)}catch(s){throw new Error(`${n} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Fp(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 ph(...n){const t=new Uint8Array(n.reduce((r,i)=>r+i.length,0));let e=0;return n.forEach(r=>{if(!Fp(r))throw new Error("Uint8Array expected");t.set(r,e),e+=r.length}),t}function lK(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 fK(n){if(typeof n!="string")throw new Error(`utf8ToBytes expected string, got ${typeof n}`);return new Uint8Array(new TextEncoder().encode(n))}function hK(n){let t;for(t=0;n>vk;n>>=Dp,t+=1);return t}function dK(n,t){return n>>BigInt(t)&Dp}const pK=(n,t,e)=>n|(e?Dp:vk)<<BigInt(t),Q1=n=>(aK<<BigInt(n-1))-Dp,im=n=>new Uint8Array(n),jE=n=>Uint8Array.from(n);function Rk(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=im(n),i=im(n),s=0;const o=()=>{r.fill(1),i.fill(0),s=0},c=(...y)=>e(i,r,...y),u=(y=im())=>{i=c(jE([0]),y),r=c(),y.length!==0&&(i=c(jE([1]),y),r=c())},f=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let y=0;const A=[];for(;y<t;){r=c();const b=r.slice();A.push(b),y+=r.length}return ph(...A)};return(y,A)=>{o(),u(y);let b;for(;!(b=A(f()));)u();return o(),b}}const gK={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 td(n,t,e={}){const r=(i,s,o)=>{const c=gK[s];if(typeof c!="function")throw new Error(`Invalid validator "${s}", expected function`);const u=n[i];if(!(o&&u===void 0)&&!c(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 yK=Object.freeze(Object.defineProperty({__proto__:null,bitGet:dK,bitLen:hK,bitMask:Q1,bitSet:pK,bytesToHex:gl,bytesToNumberBE:ec,bytesToNumberLE:Z1,concatBytes:ph,createHmacDrbg:Rk,ensureBytes:fi,equalBytes:lK,hexToBytes:yl,hexToNumber:W1,numberToBytesBE:ml,numberToBytesLE:q1,numberToHexUnpadded:xk,numberToVarBytesBE:uK,utf8ToBytes:fK,validateObject:td},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Fn=BigInt(0),vn=BigInt(1),ma=BigInt(2),mK=BigInt(3),lw=BigInt(4),WE=BigInt(5),ZE=BigInt(8);BigInt(9);BigInt(16);function Rr(n,t){const e=n%t;return e>=Fn?e:t+e}function wK(n,t,e){if(e<=Fn||t<Fn)throw new Error("Expected power/modulo > 0");if(e===vn)return Fn;let r=vn;for(;t>Fn;)t&vn&&(r=r*n%e),n=n*n%e,t>>=vn;return r}function Wr(n,t,e){let r=n;for(;t-- >Fn;)r*=r,r%=e;return r}function fw(n,t){if(n===Fn||t<=Fn)throw new Error(`invert: expected positive integers, got n=${n} mod=${t}`);let e=Rr(n,t),r=t,i=Fn,s=vn;for(;e!==Fn;){const c=r/e,u=r%e,f=i-s*c;r=e,e=u,i=s,s=f}if(r!==vn)throw new Error("invert: does not exist");return Rr(i,t)}function bK(n){const t=(n-vn)/ma;let e,r,i;for(e=n-vn,r=0;e%ma===Fn;e/=ma,r++);for(i=ma;i<n&&wK(i,t,n)!==n-vn;i++);if(r===1){const o=(n+vn)/lw;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+vn)/ma;return function(c,u){if(c.pow(u,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let f=r,h=c.pow(c.mul(c.ONE,i),e),y=c.pow(u,s),A=c.pow(u,e);for(;!c.eql(A,c.ONE);){if(c.eql(A,c.ZERO))return c.ZERO;let b=1;for(let k=c.sqr(A);b<f&&!c.eql(k,c.ONE);b++)k=c.sqr(k);const R=c.pow(h,vn<<BigInt(f-b-1));h=c.sqr(R),y=c.mul(y,R),A=c.mul(A,h),f=b}return y}}function _K(n){if(n%lw===mK){const t=(n+vn)/lw;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%ZE===WE){const t=(n-WE)/ZE;return function(r,i){const s=r.mul(i,ma),o=r.pow(s,t),c=r.mul(i,o),u=r.mul(r.mul(c,ma),o),f=r.mul(c,r.sub(u,r.ONE));if(!r.eql(r.sqr(f),i))throw new Error("Cannot find square root");return f}}return bK(n)}const AK=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function EK(n){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=AK.reduce((r,i)=>(r[i]="function",r),t);return td(n,e)}function vK(n,t,e){if(e<Fn)throw new Error("Expected power > 0");if(e===Fn)return n.ONE;if(e===vn)return t;let r=n.ONE,i=t;for(;e>Fn;)e&vn&&(r=n.mul(r,i)),i=n.sqr(i),e>>=vn;return r}function xK(n,t){const e=new Array(t.length),r=t.reduce((s,o,c)=>n.is0(o)?s:(e[c]=s,n.mul(s,o)),n.ONE),i=n.inv(r);return t.reduceRight((s,o,c)=>n.is0(o)?s:(e[c]=n.mul(s,e[c]),n.mul(s,o)),i),e}function Sk(n,t){const e=t!==void 0?t:n.toString(2).length,r=Math.ceil(e/8);return{nBitLength:e,nByteLength:r}}function RK(n,t,e=!1,r={}){if(n<=Fn)throw new Error(`Expected Field ORDER > 0, got ${n}`);const{nBitLength:i,nByteLength:s}=Sk(n,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=_K(n),c=Object.freeze({ORDER:n,BITS:i,BYTES:s,MASK:Q1(i),ZERO:Fn,ONE:vn,create:u=>Rr(u,n),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return Fn<=u&&u<n},is0:u=>u===Fn,isOdd:u=>(u&vn)===vn,neg:u=>Rr(-u,n),eql:(u,f)=>u===f,sqr:u=>Rr(u*u,n),add:(u,f)=>Rr(u+f,n),sub:(u,f)=>Rr(u-f,n),mul:(u,f)=>Rr(u*f,n),pow:(u,f)=>vK(c,u,f),div:(u,f)=>Rr(u*fw(f,n),n),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>fw(u,n),sqrt:r.sqrt||(u=>o(c,u)),invertBatch:u=>xK(c,u),cmov:(u,f,h)=>h?f:u,toBytes:u=>e?q1(u,s):ml(u,s),fromBytes:u=>{if(u.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${u.length}`);return e?Z1(u):ec(u)}});return Object.freeze(c)}function Ik(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 kk(n){const t=Ik(n);return t+Math.ceil(t/2)}function SK(n,t,e=!1){const r=n.length,i=Ik(t),s=kk(t);if(r<16||r<s||r>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${r}`);const o=e?ec(n):Z1(n),c=Rr(o,t-vn)+vn;return e?q1(c,i):ml(c,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const IK=BigInt(0),sm=BigInt(1);function kK(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,c=i;for(;s>IK;)s&sm&&(o=o.add(c)),c=c.double(),s>>=sm;return o},precomputeWindow(i,s){const{windows:o,windowSize:c}=r(s),u=[];let f=i,h=f;for(let y=0;y<o;y++){h=f,u.push(h);for(let A=1;A<c;A++)h=h.add(f),u.push(h);f=h.double()}return u},wNAF(i,s,o){const{windows:c,windowSize:u}=r(i);let f=n.ZERO,h=n.BASE;const y=BigInt(2**i-1),A=2**i,b=BigInt(i);for(let R=0;R<c;R++){const k=R*u;let S=Number(o&y);o>>=b,S>u&&(S-=A,o+=sm);const B=k,H=k+Math.abs(S)-1,U=R%2!==0,G=S<0;S===0?h=h.add(e(U,s[B])):f=f.add(e(G,s[H]))}return{p:f,f:h}},wNAFCached(i,s,o,c){const u=i._WINDOW_SIZE||1;let f=s.get(i);return f||(f=this.precomputeWindow(i,u),u!==1&&s.set(i,c(f))),this.wNAF(u,f,o)}}}function Tk(n){return EK(n.Fp),td(n,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Sk(n.n,n.nBitLength),...n,p:n.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function TK(n){const t=Tk(n);td(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:OK,hexToBytes:NK}=yK,Sa={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(n){const{Err:t}=Sa;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:OK(r),l:n.subarray(e+2)}},toSig(n){const{Err:t}=Sa,e=typeof n=="string"?NK(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}=Sa._parseInt(e.subarray(2)),{d:o,l:c}=Sa._parseInt(s);if(c.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,c=e(s),u=e(o);return`30${e(o+s+4)}02${u}${i}02${c}${r}`}},Hs=BigInt(0),ei=BigInt(1);BigInt(2);const qE=BigInt(3);BigInt(4);function CK(n){const t=TK(n),{Fp:e}=t,r=t.toBytes||((R,k,S)=>{const B=k.toAffine();return ph(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),i=t.fromBytes||(R=>{const k=R.subarray(1),S=e.fromBytes(k.subarray(0,e.BYTES)),B=e.fromBytes(k.subarray(e.BYTES,2*e.BYTES));return{x:S,y:B}});function s(R){const{a:k,b:S}=t,B=e.sqr(R),H=e.mul(B,R);return e.add(e.add(H,e.mul(R,k)),S)}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"&&Hs<R&&R<t.n}function c(R){if(!o(R))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(R){const{allowedPrivateKeyLengths:k,nByteLength:S,wrapPrivateKey:B,n:H}=t;if(k&&typeof R!="bigint"){if(R instanceof Uint8Array&&(R=gl(R)),typeof R!="string"||!k.includes(R.length))throw new Error("Invalid key");R=R.padStart(S*2,"0")}let U;try{U=typeof R=="bigint"?R:ec(fi("private key",R,S))}catch{throw new Error(`private key must be ${S} bytes, hex or bigint, not ${typeof R}`)}return B&&(U=Rr(U,H)),c(U),U}const f=new Map;function h(R){if(!(R instanceof y))throw new Error("ProjectivePoint expected")}class y{constructor(k,S,B){if(this.px=k,this.py=S,this.pz=B,k==null||!e.isValid(k))throw new Error("x required");if(S==null||!e.isValid(S))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required")}static fromAffine(k){const{x:S,y:B}=k||{};if(!k||!e.isValid(S)||!e.isValid(B))throw new Error("invalid affine point");if(k instanceof y)throw new Error("projective point not allowed");const H=U=>e.eql(U,e.ZERO);return H(S)&&H(B)?y.ZERO:new y(S,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(k){const S=e.invertBatch(k.map(B=>B.pz));return k.map((B,H)=>B.toAffine(S[H])).map(y.fromAffine)}static fromHex(k){const S=y.fromAffine(i(fi("pointHex",k)));return S.assertValidity(),S}static fromPrivateKey(k){return y.BASE.multiply(u(k))}_setWindowSize(k){this._WINDOW_SIZE=k,f.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:k,y:S}=this.toAffine();if(!e.isValid(k)||!e.isValid(S))throw new Error("bad point: x or y not FE");const B=e.sqr(S),H=s(k);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:k}=this.toAffine();if(e.isOdd)return!e.isOdd(k);throw new Error("Field doesn't support isOdd")}equals(k){h(k);const{px:S,py:B,pz:H}=this,{px:U,py:G,pz:W}=k,Y=e.eql(e.mul(S,W),e.mul(U,H)),j=e.eql(e.mul(B,W),e.mul(G,H));return Y&&j}negate(){return new y(this.px,e.neg(this.py),this.pz)}double(){const{a:k,b:S}=t,B=e.mul(S,qE),{px:H,py:U,pz:G}=this;let W=e.ZERO,Y=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(k,j),Y=e.mul(B,ut),Y=e.add(W,Y),W=e.sub(it,Y),Y=e.add(it,Y),Y=e.mul(W,Y),W=e.mul(rt,W),j=e.mul(B,j),ut=e.mul(k,ut),rt=e.sub(J,ut),rt=e.mul(k,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),Y=e.add(Y,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,Y,j)}add(k){h(k);const{px:S,py:B,pz:H}=this,{px:U,py:G,pz:W}=k;let Y=e.ZERO,j=e.ZERO,J=e.ZERO;const it=t.a,ut=e.mul(t.b,qE);let rt=e.mul(S,U),ot=e.mul(B,G),C=e.mul(H,W),p=e.add(S,B),m=e.add(U,G);p=e.mul(p,m),m=e.add(rt,ot),p=e.sub(p,m),m=e.add(S,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),Y=e.add(G,W),v=e.mul(v,Y),Y=e.add(ot,C),v=e.sub(v,Y),J=e.mul(it,m),Y=e.mul(ut,C),J=e.add(Y,J),Y=e.sub(ot,J),J=e.add(ot,J),j=e.mul(Y,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),Y=e.mul(p,Y),Y=e.sub(Y,rt),rt=e.mul(p,ot),J=e.mul(v,J),J=e.add(J,rt),new y(Y,j,J)}subtract(k){return this.add(k.negate())}is0(){return this.equals(y.ZERO)}wNAF(k){return b.wNAFCached(this,f,k,S=>{const B=e.invertBatch(S.map(H=>H.pz));return S.map((H,U)=>H.toAffine(B[U])).map(y.fromAffine)})}multiplyUnsafe(k){const S=y.ZERO;if(k===Hs)return S;if(c(k),k===ei)return this;const{endo:B}=t;if(!B)return b.unsafeLadder(this,k);let{k1neg:H,k1:U,k2neg:G,k2:W}=B.splitScalar(k),Y=S,j=S,J=this;for(;U>Hs||W>Hs;)U&ei&&(Y=Y.add(J)),W&ei&&(j=j.add(J)),J=J.double(),U>>=ei,W>>=ei;return H&&(Y=Y.negate()),G&&(j=j.negate()),j=new y(e.mul(j.px,B.beta),j.py,j.pz),Y.add(j)}multiply(k){c(k);let S=k,B,H;const{endo:U}=t;if(U){const{k1neg:G,k1:W,k2neg:Y,k2:j}=U.splitScalar(S);let{p:J,f:it}=this.wNAF(W),{p:ut,f:rt}=this.wNAF(j);J=b.constTimeNegate(G,J),ut=b.constTimeNegate(Y,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(S);B=G,H=W}return y.normalizeZ([B,H])[0]}multiplyAndAddUnsafe(k,S,B){const H=y.BASE,U=(W,Y)=>Y===Hs||Y===ei||!W.equals(H)?W.multiplyUnsafe(Y):W.multiply(Y),G=U(this,S).add(U(k,B));return G.is0()?void 0:G}toAffine(k){const{px:S,py:B,pz:H}=this,U=this.is0();k==null&&(k=U?e.ONE:e.inv(H));const G=e.mul(S,k),W=e.mul(B,k),Y=e.mul(H,k);if(U)return{x:e.ZERO,y:e.ZERO};if(!e.eql(Y,e.ONE))throw new Error("invZ was invalid");return{x:G,y:W}}isTorsionFree(){const{h:k,isTorsionFree:S}=t;if(k===ei)return!0;if(S)return S(y,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:k,clearCofactor:S}=t;return k===ei?this:S?S(y,this):this.multiplyUnsafe(t.h)}toRawBytes(k=!0){return this.assertValidity(),r(y,this,k)}toHex(k=!0){return gl(this.toRawBytes(k))}}y.BASE=new y(t.Gx,t.Gy,e.ONE),y.ZERO=new y(e.ZERO,e.ONE,e.ZERO);const A=t.nBitLength,b=kK(y,t.endo?Math.ceil(A/2):A);return{CURVE:t,ProjectivePoint:y,normPrivateKeyToScalar:u,weierstrassEquation:s,isWithinCurveOrder:o}}function BK(n){const t=Tk(n);return td(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function PK(n){const t=BK(n),{Fp:e,n:r}=t,i=e.BYTES+1,s=2*e.BYTES+1;function o(m){return Hs<m&&m<e.ORDER}function c(m){return Rr(m,r)}function u(m){return fw(m,r)}const{ProjectivePoint:f,normPrivateKeyToScalar:h,weierstrassEquation:y,isWithinCurveOrder:A}=CK({...t,toBytes(m,v,I){const N=v.toAffine(),M=e.toBytes(N.x),z=ph;return I?z(Uint8Array.from([v.hasEvenY()?2:3]),M):z(Uint8Array.from([4]),M,e.toBytes(N.y))},fromBytes(m){const v=m.length,I=m[0],N=m.subarray(1);if(v===i&&(I===2||I===3)){const M=ec(N);if(!o(M))throw new Error("Point is not on curve");const z=y(M);let P=e.sqrt(z);const _=(P&ei)===ei;return(I&1)===1!==_&&(P=e.neg(P)),{x:M,y:P}}else if(v===s&&I===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`)}}),b=m=>gl(ml(m,t.nByteLength));function R(m){const v=r>>ei;return m>v}function k(m){return R(m)?c(-m):m}const S=(m,v,I)=>ec(m.slice(v,I));class B{constructor(v,I,N){this.r=v,this.s=I,this.recovery=N,this.assertValidity()}static fromCompact(v){const I=t.nByteLength;return v=fi("compactSignature",v,I*2),new B(S(v,0,I),S(v,I,2*I))}static fromDER(v){const{r:I,s:N}=Sa.toSig(fi("DER",v));return new B(I,N)}assertValidity(){if(!A(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!A(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:I,s:N,recovery:M}=this,z=j(fi("msgHash",v));if(M==null||![0,1,2,3].includes(M))throw new Error("recovery id invalid");const P=M===2||M===3?I+t.n:I;if(P>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");const _=M&1?"03":"02",F=f.fromHex(_+b(P)),ct=u(P),ft=c(-z*ct),mt=c(N*ct),Ht=f.BASE.multiplyAndAddUnsafe(F,ft,mt);if(!Ht)throw new Error("point at infinify");return Ht.assertValidity(),Ht}hasHighS(){return R(this.s)}normalizeS(){return this.hasHighS()?new B(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return yl(this.toDERHex())}toDERHex(){return Sa.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return yl(this.toCompactHex())}toCompactHex(){return b(this.r)+b(this.s)}}const H={isValidPrivateKey(m){try{return h(m),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const m=kk(t.n);return SK(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,I=typeof m=="string",N=(v||I)&&m.length;return v?N===i||N===s:I?N===2*i||N===2*s:m instanceof f}function W(m,v,I=!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(I)}const Y=t.bits2int||function(m){const v=ec(m),I=m.length*8-t.nBitLength;return I>0?v>>BigInt(I):v},j=t.bits2int_modN||function(m){return c(Y(m))},J=Q1(t.nBitLength);function it(m){if(typeof m!="bigint")throw new Error("bigint expected");if(!(Hs<=m&&m<J))throw new Error(`bigint expected < 2^${t.nBitLength}`);return ml(m,t.nByteLength)}function ut(m,v,I=rt){if(["recovered","canonical"].some(Mt=>Mt in I))throw new Error("sign() legacy options not supported");const{hash:N,randomBytes:M}=t;let{lowS:z,prehash:P,extraEntropy:_}=I;z==null&&(z=!0),m=fi("msgHash",m),P&&(m=fi("prehashed msgHash",N(m)));const F=j(m),ct=h(v),ft=[it(ct),it(F)];if(_!=null){const Mt=_===!0?M(e.BYTES):_;ft.push(fi("extraEntropy",Mt))}const mt=ph(...ft),Ht=F;function Lt(Mt){const Ae=Y(Mt);if(!A(Ae))return;const Vt=u(Ae),Ut=f.BASE.multiply(Ae).toAffine(),Re=c(Ut.x);if(Re===Hs)return;const Yt=c(Vt*c(Ht+Re*ct));if(Yt===Hs)return;let ie=(Ut.x===Re?0:2)|Number(Ut.y&ei),Qe=Yt;return z&&R(Yt)&&(Qe=k(Yt),ie^=1),new B(Re,Qe,ie)}return{seed:mt,k2sig:Lt}}const rt={lowS:t.lowS,prehash:!1},ot={lowS:t.lowS,prehash:!1};function C(m,v,I=rt){const{seed:N,k2sig:M}=ut(m,v,I),z=t;return Rk(z.hash.outputLen,z.nByteLength,z.hmac)(N,M)}f.BASE._setWindowSize(8);function p(m,v,I,N=ot){var Ut;const M=m;if(v=fi("msgHash",v),I=fi("publicKey",I),"strict"in N)throw new Error("options.strict was renamed to lowS");const{lowS:z,prehash:P}=N;let _,F;try{if(typeof M=="string"||M instanceof Uint8Array)try{_=B.fromDER(M)}catch(Re){if(!(Re instanceof Sa.Err))throw Re;_=B.fromCompact(M)}else if(typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint"){const{r:Re,s:Yt}=M;_=new B(Re,Yt)}else throw new Error("PARSE");F=f.fromHex(I)}catch(Re){if(Re.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(z&&_.hasHighS())return!1;P&&(v=t.hash(v));const{r:ct,s:ft}=_,mt=j(v),Ht=u(ft),Lt=c(mt*Ht),Mt=c(ct*Ht),Ae=(Ut=f.BASE.multiplyAndAddUnsafe(F,Lt,Mt))==null?void 0:Ut.toAffine();return Ae?c(Ae.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 MK(n){return{hash:n,hmac:(t,...e)=>sk(n,t,EV(...e)),randomBytes:vV}}function LK(n,t){const e=r=>PK({...n,...MK(r)});return Object.freeze({...e(t),create:e})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ok=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),QE=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),UK=BigInt(1),hw=BigInt(2),JE=(n,t)=>(n+t/hw)/t;function DK(n){const t=Ok,e=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),c=BigInt(44),u=BigInt(88),f=n*n*n%t,h=f*f*n%t,y=Wr(h,e,t)*h%t,A=Wr(y,e,t)*h%t,b=Wr(A,hw,t)*f%t,R=Wr(b,i,t)*b%t,k=Wr(R,s,t)*R%t,S=Wr(k,c,t)*k%t,B=Wr(S,u,t)*S%t,H=Wr(B,c,t)*k%t,U=Wr(H,e,t)*h%t,G=Wr(U,o,t)*R%t,W=Wr(G,r,t)*f%t,Y=Wr(W,hw,t);if(!dw.eql(dw.sqr(Y),n))throw new Error("Cannot find square root");return Y}const dw=RK(Ok,void 0,void 0,{sqrt:DK}),ho=LK({a:BigInt(0),b:BigInt(7),Fp:dw,n:QE,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:n=>{const t=QE,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-UK*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,o=BigInt("0x100000000000000000000000000000000"),c=JE(s*n,t),u=JE(-r*n,t);let f=Rr(n-c*e-u*i,t),h=Rr(-c*r-u*s,t);const y=f>o,A=h>o;if(y&&(f=t-f),A&&(h=t-h),f>o||h>o)throw new Error("splitScalar: Endomorphism failed, k="+n);return{k1neg:y,k1:f,k2neg:A,k2:h}}}},ak);BigInt(0);ho.ProjectivePoint;const gh="0x0000000000000000000000000000000000000000",YE="0x0000000000000000000000000000000000000000000000000000000000000000",XE=BigInt(0),tv=BigInt(1),ev=BigInt(2),nv=BigInt(27),rv=BigInt(28),Dd=BigInt(35),Fc={};function iv(n){return dc(pr(n),32)}var Au,Eu,vu,Da;const li=class li{constructor(t,e,r,i){nt(this,Au);nt(this,Eu);nt(this,vu);nt(this,Da);Bp(t,Fc,"Signature"),$(this,Au,e),$(this,Eu,r),$(this,vu,i),$(this,Da,null)}get r(){return T(this,Au)}set r(t){K(uu(t)===32,"invalid r","value",t),$(this,Au,kt(t))}get s(){return T(this,Eu)}set s(t){K(uu(t)===32,"invalid s","value",t);const e=kt(t);K(parseInt(e.substring(0,3))<8,"non-canonical s","value",e),$(this,Eu,e)}get v(){return T(this,vu)}set v(t){const e=oe(t,"value");K(e===27||e===28,"invalid v","v",t),$(this,vu,e)}get networkV(){return T(this,Da)}get legacyChainId(){const t=this.networkV;return t==null?null:li.getChainId(t)}get yParity(){return this.v===27?0:1}get yParityAndS(){const t=ye(this.s);return this.yParity&&(t[0]|=128),kt(t)}get compactSerialized(){return Rn([this.r,this.yParityAndS])}get serialized(){return Rn([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 li(Fc,this.r,this.s,this.v);return this.networkV&&$(t,Da,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=Nt(t,"v");return e==nv||e==rv?XE:(K(e>=Dd,"invalid EIP-155 v","v",t),(e-Dd)/ev)}static getChainIdV(t,e){return Nt(t)*ev+BigInt(35+e-27)}static getNormalizedV(t){const e=Nt(t);return e===XE||e===nv?27:e===tv||e===rv?28:(K(e>=Dd,"invalid v","v",t),e&tv?27:28)}static from(t){function e(f,h){K(f,h,"signature",t)}if(t==null)return new li(Fc,YE,YE,27);if(typeof t=="string"){const f=ye(t,"signature");if(f.length===64){const h=kt(f.slice(0,32)),y=f.slice(32,64),A=y[0]&128?28:27;return y[0]&=127,new li(Fc,h,kt(y),A)}if(f.length===65){const h=kt(f.slice(0,32)),y=f.slice(32,64);e((y[0]&128)===0,"non-canonical s");const A=li.getNormalizedV(f[64]);return new li(Fc,h,kt(y),A)}e(!1,"invalid raw signature length")}if(t instanceof li)return t.clone();const r=t.r;e(r!=null,"missing r");const i=iv(r),s=function(f,h){if(f!=null)return iv(f);if(h!=null){e(He(h,32),"invalid yParityAndS");const y=ye(h);return y[0]&=127,kt(y)}e(!1,"missing s")}(t.s,t.yParityAndS);e((ye(s)[0]&128)==0,"non-canonical s");const{networkV:o,v:c}=function(f,h,y){if(f!=null){const A=Nt(f);return{networkV:A>=Dd?A:void 0,v:li.getNormalizedV(A)}}if(h!=null)return e(He(h,32),"invalid yParityAndS"),{v:ye(h)[0]&128?28:27};if(y!=null){switch(oe(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 li(Fc,i,s,c);return o&&$(u,Da,o),e(t.yParity==null||oe(t.yParity,"sig.yParity")===u.yParity,"yParity mismatch"),e(t.yParityAndS==null||t.yParityAndS===u.yParityAndS,"yParityAndS mismatch"),u}};Au=new WeakMap,Eu=new WeakMap,vu=new WeakMap,Da=new WeakMap;let Ri=li;var Is;const wa=class wa{constructor(t){nt(this,Is);K(uu(t)===32,"invalid private key","privateKey","[REDACTED]"),$(this,Is,kt(t))}get privateKey(){return T(this,Is)}get publicKey(){return wa.computePublicKey(T(this,Is))}get compressedPublicKey(){return wa.computePublicKey(T(this,Is),!0)}sign(t){K(uu(t)===32,"invalid digest length","digest",t);const e=ho.sign(fr(t),fr(T(this,Is)),{lowS:!0});return Ri.from({r:Xo(e.r,32),s:Xo(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){const e=wa.computePublicKey(t);return kt(ho.getSharedSecret(fr(T(this,Is)),ye(e),!1))}static computePublicKey(t,e){let r=ye(t,"key");if(r.length===32){const s=ho.getPublicKey(r,!!e);return kt(s)}if(r.length===64){const s=new Uint8Array(65);s[0]=4,s.set(r,1),r=s}const i=ho.ProjectivePoint.fromHex(r);return kt(i.toRawBytes(e))}static recoverPublicKey(t,e){K(uu(t)===32,"invalid digest length","digest",t);const r=Ri.from(e);let i=ho.Signature.fromCompact(fr(Rn([r.r,r.s])));i=i.addRecoveryBit(r.yParity);const s=i.recoverPublicKey(fr(t));return K(s!=null,"invalid signautre for digest","signature",e),"0x"+s.toHex(!1)}static addPoints(t,e,r){const i=ho.ProjectivePoint.fromHex(wa.computePublicKey(t).substring(2)),s=ho.ProjectivePoint.fromHex(wa.computePublicKey(e).substring(2));return"0x"+i.add(s).toHex(!!r)}};Is=new WeakMap;let yh=wa;const FK=BigInt(0),$K=BigInt(36);function sv(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=ye(kn(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 J1={};for(let n=0;n<10;n++)J1[String(n)]=String(n);for(let n=0;n<26;n++)J1[String.fromCharCode(65+n)]=String(10+n);const ov=15;function HK(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let t=n.split("").map(r=>J1[r]).join("");for(;t.length>=ov;){let r=t.substring(0,ov);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 zK=function(){const n={};for(let t=0;t<36;t++){const e="0123456789abcdefghijklmnopqrstuvwxyz"[t];n[e]=BigInt(t)}return n}();function GK(n){n=n.toLowerCase();let t=FK;for(let e=0;e<n.length;e++)t=t*$K+zK[n[e]];return t}function Pe(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=sv(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)===HK(n),"bad icap checksum","address",n);let t=GK(n.substring(4)).toString(16);for(;t.length<40;)t="0"+t;return sv("0x"+t)}K(!1,"invalid address","address",n)}function VK(n){const t=Pe(n.from);let r=Nt(n.nonce,"tx.nonce").toString(16);return r==="0"?r="0x":r.length%2?r="0x0"+r:r="0x"+r,Pe(bn(kn(pc([t,r])),12))}function Nk(n){return n&&typeof n.getAddress=="function"}async function om(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)),Pe(e)}function yr(n,t){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?Pe(n):(ht(t!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),om(n,t.resolveName(n)));if(Nk(n))return om(n,n.getAddress());if(n&&typeof n.then=="function")return om(n,n);K(!1,"unsupported addressable value","target",n)}const ys={};function St(n,t){let e=!1;return t<0&&(e=!0,t*=-1),new ar(ys,`${e?"":"u"}int${t}`,n,{signed:e,width:t})}function we(n,t){return new ar(ys,`bytes${t||""}`,n,{size:t})}const av=Symbol.for("_ethers_typed");var Fa;const ms=class ms{constructor(t,e,r,i){Z(this,"type");Z(this,"value");nt(this,Fa);Z(this,"_typedSymbol");i==null&&(i=null),Bp(ys,t,"Typed"),$t(this,{_typedSymbol:av,type:e,value:r}),$(this,Fa,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 T(this,Fa)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return T(this,Fa)===!0?-1:T(this,Fa)===!1?this.value.length:null}static from(t,e){return new ms(ys,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 we(t,1)}static bytes2(t){return we(t,2)}static bytes3(t){return we(t,3)}static bytes4(t){return we(t,4)}static bytes5(t){return we(t,5)}static bytes6(t){return we(t,6)}static bytes7(t){return we(t,7)}static bytes8(t){return we(t,8)}static bytes9(t){return we(t,9)}static bytes10(t){return we(t,10)}static bytes11(t){return we(t,11)}static bytes12(t){return we(t,12)}static bytes13(t){return we(t,13)}static bytes14(t){return we(t,14)}static bytes15(t){return we(t,15)}static bytes16(t){return we(t,16)}static bytes17(t){return we(t,17)}static bytes18(t){return we(t,18)}static bytes19(t){return we(t,19)}static bytes20(t){return we(t,20)}static bytes21(t){return we(t,21)}static bytes22(t){return we(t,22)}static bytes23(t){return we(t,23)}static bytes24(t){return we(t,24)}static bytes25(t){return we(t,25)}static bytes26(t){return we(t,26)}static bytes27(t){return we(t,27)}static bytes28(t){return we(t,28)}static bytes29(t){return we(t,29)}static bytes30(t){return we(t,30)}static bytes31(t){return we(t,31)}static bytes32(t){return we(t,32)}static address(t){return new ms(ys,"address",t)}static bool(t){return new ms(ys,"bool",!!t)}static bytes(t){return new ms(ys,"bytes",t)}static string(t){return new ms(ys,"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 ms(ys,"overrides",Object.assign({},t))}static isTyped(t){return t&&typeof t=="object"&&"_typedSymbol"in t&&t._typedSymbol===av}static dereference(t,e){if(ms.isTyped(t)){if(t.type!==e)throw new Error(`invalid type: expecetd ${e}, got ${t.type}`);return t.value}return t}};Fa=new WeakMap;let ar=ms;class KK extends Ys{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){let r=ar.dereference(e,"string");try{r=Pe(r)}catch(i){return this._throwError(i.message,e)}return t.writeValue(r)}decode(t){return Pe(Xo(t.readValue(),20))}}class jK extends Ys{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 Ck(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 ow,s=new ow,o=[];t.forEach((u,f)=>{let h=r[f];if(u.dynamic){let y=s.length;u.encode(s,h);let A=i.writeUpdatableValue();o.push(b=>{A(b+y)})}else u.encode(i,h)}),o.forEach(u=>{u(i.length)});let c=n.appendWriter(i);return c+=n.appendWriter(s),c}function Bk(n,t){let e=[],r=[],i=n.subReader(0);return t.forEach(s=>{let o=null;if(s.dynamic){let c=n.readIndex(),u=i.subReader(c);try{o=s.decode(u)}catch(f){if(Wn(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(c){if(Wn(c,"BUFFER_OVERRUN"))throw c;o=c,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)}),dl.fromItems(e,r)}class WK extends Ys{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=ar.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)),zI(i.length,s,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let c=0;c<i.length;c++)o.push(this.coder);return Ck(e,o,i)}decode(e){let r=this.length;r===-1&&(r=e.readIndex(),ht(r*gr<=e.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:e.bytes,offset:r*gr,length:e.dataLength}));let i=[];for(let s=0;s<r;s++)i.push(new jK(this.coder));return Bk(e,i)}}class ZK extends Ys{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){const r=ar.dereference(e,"bool");return t.writeValue(r?1:0)}decode(t){return!!t.readValue()}}class Pk extends Ys{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){e=fr(e);let r=t.writeValue(e.length);return r+=t.writeBytes(e),r}decode(t){return t.readBytes(t.readIndex(),!0)}}class qK extends Pk{constructor(t){super("bytes",t)}decode(t){return kt(super.decode(t))}}class QK extends Ys{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=fr(ar.dereference(r,this.type));return i.length!==this.size&&this._throwError("incorrect data length",r),e.writeBytes(i)}decode(e){return kt(e.readBytes(this.size))}}const JK=new Uint8Array([]);class YK extends Ys{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return e!=null&&this._throwError("not null",e),t.writeBytes(JK)}decode(t){return t.readBytes(0),null}}const XK=BigInt(0),tj=BigInt(1),ej=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class nj extends Ys{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=Nt(ar.dereference(r,this.type)),s=Rf(ej,gr*8);if(this.signed){let o=Rf(s,this.size*8-1);(i>o||i<-(o+tj))&&this._throwError("value out-of-bounds",r),i=KI(i,8*gr)}else(i<XK||i>Rf(s,this.size*8))&&this._throwError("value out-of-bounds",r);return e.writeValue(i)}decode(e){let r=Rf(e.readValue(),this.size*8);return this.signed&&(r=XG(r,this.size*8)),r}}class rj extends Pk{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,Vs(ar.dereference(e,"string")))}decode(t){return T0(super.decode(t))}}class Fd extends Ys{constructor(e,r){let i=!1;const s=[];e.forEach(c=>{c.dynamic&&(i=!0),s.push(c.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=ar.dereference(r,"tuple");return Ck(e,this.coders,i)}decode(e){return Bk(e,this.coders)}}function gc(n){return kn(Vs(n))}var ij="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 cv=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),uv=4;function sj(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(),c=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,A=2**y,b=A>>>1,R=b>>1,k=A-1;let S=0;for(let W=0;W<y;W++)S=S<<1|h();let B=[],H=0,U=A;for(;;){let W=Math.floor(((S-H+1)*i-1)/U),Y=0,j=r;for(;j-Y>1;){let ut=Y+j>>>1;W<s[ut]?j=ut:Y=ut}if(Y==0)break;B.push(Y);let J=H+Math.floor(U*s[Y]/i),it=H+Math.floor(U*s[Y+1]/i)-1;for(;!((J^it)&b);)S=S<<1&k|h(),J=J<<1&k,it=it<<1&k|1;for(;J&~it&R;)S=S&b|S<<1&k>>>1|h(),J=J<<1^b,it=(it^b)<<1|b|1;H=J,U=1+it-J}let G=r-4;return B.map(W=>{switch(W-G){case 3:return G+65792+(n[c++]<<16|n[c++]<<8|n[c++]);case 2:return G+256+(n[c++]<<8|n[c++]);case 1:return G+n[c++];default:return W-1}})}function oj(n){let t=0;return()=>n[t++]}function Mk(n){return oj(sj(aj(n)))}function aj(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,c=0;i<e;i++)c=c<<6|t[n.charCodeAt(i)],o+=6,o>=8&&(r[s++]=c>>(o-=8));return r}function cj(n){return n&1?~n>>1:n>>1}function uj(n,t){let e=Array(n);for(let r=0,i=0;r<n;r++)e[r]=i+=cj(t());return e}function mh(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 Lk(n){return wh(()=>{let t=mh(n);if(t.length)return t})}function Uk(n){let t=[];for(;;){let e=n();if(e==0)break;t.push(lj(e,n))}for(;;){let e=n()-1;if(e<0)break;t.push(fj(e,n))}return t.flat()}function wh(n){let t=[];for(;;){let e=n(t.length);if(!e)break;t.push(e)}return t}function Dk(n,t,e){let r=Array(n).fill().map(()=>[]);for(let i=0;i<t;i++)uj(n,e).forEach((s,o)=>r[o].push(s));return r}function lj(n,t){let e=1+t(),r=t(),i=wh(t);return Dk(i.length,1+n,t).flatMap((o,c)=>{let[u,...f]=o;return Array(i[c]).fill().map((h,y)=>{let A=y*r;return[u+y*e,f.map(b=>b+A)]})})}function fj(n,t){let e=1+t();return Dk(e,1+n,t).map(i=>[i[0],i.slice(1)])}function hj(n){let t=[],e=mh(n);return i(r([]),[]),t;function r(s){let o=n(),c=wh(()=>{let u=mh(n).map(f=>e[f]);if(u.length)return r(u)});return{S:o,B:c,Q:s}}function i({S:s,B:o},c,u){if(!(s&4&&u===c[c.length-1])){s&2&&(u=c[c.length-1]),s&1&&t.push(c);for(let f of o)for(let h of f.Q)i(f,[...c,h],u)}}}function dj(n){return n.toString(16).toUpperCase().padStart(2,"0")}function Fk(n){return`{${dj(n)}}`}function pj(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 wl(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 gj(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 yj="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 bh=44032,N0=4352,C0=4449,B0=4519,$k=19,Hk=21,bl=28,P0=Hk*bl,mj=$k*P0,wj=bh+mj,bj=N0+$k,_j=C0+Hk,Aj=B0+bl;function If(n){return n>>24&255}function zk(n){return n&16777215}let pw,lv,gw,qd;function Ej(){let n=Mk(yj);pw=new Map(Lk(n).flatMap((t,e)=>t.map(r=>[r,e+1<<24]))),lv=new Set(mh(n)),gw=new Map,qd=new Map;for(let[t,e]of Uk(n)){if(!lv.has(t)&&e.length==2){let[r,i]=e,s=qd.get(r);s||(s=new Map,qd.set(r,s)),s.set(i,t)}gw.set(t,e.reverse())}}function Gk(n){return n>=bh&&n<wj}function vj(n,t){if(n>=N0&&n<bj&&t>=C0&&t<_j)return bh+(n-N0)*P0+(t-C0)*bl;if(Gk(n)&&t>B0&&t<Aj&&(n-bh)%bl==0)return n+(t-B0);{let e=qd.get(n);return e&&(e=e.get(t),e)?e:-1}}function Vk(n){pw||Ej();let t=[],e=[],r=!1;function i(s){let o=pw.get(s);o&&(r=!0,s|=o),t.push(s)}for(let s of n)for(;;){if(s<128)t.push(s);else if(Gk(s)){let o=s-bh,c=o/P0|0,u=o%P0/bl|0,f=o%bl;i(N0+c),i(C0+u),f>0&&i(B0+f)}else{let o=gw.get(s);o?e.push(...o):i(s)}if(!e.length)break;s=e.pop()}if(r&&t.length>1){let s=If(t[0]);for(let o=1;o<t.length;o++){let c=If(t[o]);if(c==0||s<=c){s=c;continue}let u=o-1;for(;;){let f=t[u+1];if(t[u+1]=t[u],t[u]=f,!u||(s=If(t[--u]),s<=c))break}s=If(t[o])}}return t}function xj(n){let t=[],e=[],r=-1,i=0;for(let s of n){let o=If(s),c=zk(s);if(r==-1)o==0?r=c:t.push(c);else if(i>0&&i>=o)o==0?(t.push(r,...e),e.length=0,r=c):e.push(c),i=o;else{let u=vj(r,c);u>=0?r=u:i==0&&o==0?(t.push(r),r=c):(e.push(c),i=o)}}return r>=0&&t.push(r,...e),t}function Kk(n){return Vk(n).map(zk)}function Rj(n){return xj(Vk(n))}const fv=45,jk=".",Wk=65039,Zk=1,M0=n=>Array.from(n);function _h(n,t){return n.P.has(t)||n.Q.has(t)}class Sj extends Array{get is_emoji(){return!0}}let yw,qk,Ia,mw,Qk,lu,am,Kc,fa,hv,ww;function Y1(){if(yw)return;let n=Mk(ij);const t=()=>mh(n),e=()=>new Set(t()),r=(h,y)=>y.forEach(A=>h.add(A));yw=new Map(Uk(n)),qk=e(),Ia=t(),mw=new Set(t().map(h=>Ia[h])),Ia=new Set(Ia),Qk=e(),e();let i=Lk(n),s=n();const o=()=>{let h=new Set;return t().forEach(y=>r(h,i[y])),r(h,t()),h};lu=wh(h=>{let y=wh(n).map(A=>A+96);if(y.length){let A=h>=s;y[0]-=32,y=wl(y),A&&(y=`Restricted[${y}]`);let b=o(),R=o(),k=!n();return{N:y,P:b,Q:R,M:k,R:A}}}),am=e(),Kc=new Map;let c=t().concat(M0(am)).sort((h,y)=>h-y);c.forEach((h,y)=>{let A=n(),b=c[y]=A?c[y-A]:{V:[],M:new Map};b.V.push(h),am.has(h)||Kc.set(h,b)});for(let{V:h,M:y}of new Set(Kc.values())){let A=[];for(let R of h){let k=lu.filter(B=>_h(B,R)),S=A.find(({G:B})=>k.some(H=>B.has(H)));S||(S={G:new Set,V:[]},A.push(S)),S.V.push(R),r(S.G,k)}let b=A.flatMap(R=>M0(R.G));for(let{G:R,V:k}of A){let S=new Set(b.filter(B=>!R.has(B)));for(let B of k)y.set(B,S)}}fa=new Set;let u=new Set;const f=h=>fa.has(h)?u.add(h):fa.add(h);for(let h of lu){for(let y of h.P)f(y);for(let y of h.Q)f(y)}for(let h of fa)!Kc.has(h)&&!u.has(h)&&Kc.set(h,Zk);r(fa,Kk(fa)),hv=hj(n).map(h=>Sj.from(h)).sort(gj),ww=new Map;for(let h of hv){let y=[ww];for(let A of h){let b=y.map(R=>{let k=R.get(A);return k||(k=new Map,R.set(A,k)),k});A===Wk?y.push(...b):y=b}for(let A of y)A.V=h}}function X1(n){return(Jk(n)?"":`${tb($p([n]))} `)+Fk(n)}function tb(n){return`"${n}"‎`}function Ij(n){if(n.length>=4&&n[2]==fv&&n[3]==fv)throw new Error(`invalid label extension: "${wl(n.slice(0,4))}"`)}function kj(n){for(let e=n.lastIndexOf(95);e>0;)if(n[--e]!==95)throw new Error("underscore allowed only at start")}function Tj(n){let t=n[0],e=cv.get(t);if(e)throw Uf(`leading ${e}`);let r=n.length,i=-1;for(let s=1;s<r;s++){t=n[s];let o=cv.get(t);if(o){if(i==s)throw Uf(`${e} + ${o}`);i=s+1,e=o}}if(i==r)throw Uf(`trailing ${e}`)}function $p(n,t=1/0,e=Fk){let r=[];Oj(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 c=n[o];Jk(c)&&(r.push(wl(n.slice(i,o))),r.push(e(c)),i=o+1)}return r.push(wl(n.slice(i,s))),r.join("")}function Oj(n){return Y1(),Ia.has(n)}function Jk(n){return Y1(),Qk.has(n)}function Nj(n){return Mj(Cj(n,Rj,Dj))}function Cj(n,t,e){if(!n)return[];Y1();let r=0;return n.split(jk).map(i=>{let s=pj(i),o={input:s,offset:r};r+=s.length+1;try{let c=o.tokens=Uj(s,t,e),u=c.length,f;if(!u)throw new Error("empty label");let h=o.output=c.flat();if(kj(h),!(o.emoji=u>1||c[0].is_emoji)&&h.every(A=>A<128))Ij(h),f="ASCII";else{let A=c.flatMap(b=>b.is_emoji?[]:b);if(!A.length)f="Emoji";else{if(Ia.has(h[0]))throw Uf("leading combining mark");for(let k=1;k<u;k++){let S=c[k];if(!S.is_emoji&&Ia.has(S[0]))throw Uf(`emoji + combining mark: "${wl(c[k-1])} + ${$p([S[0]])}"`)}Tj(h);let b=M0(new Set(A)),[R]=Pj(b);Lj(R,A),Bj(R,b),f=R.N}}o.type=f}catch(c){o.error=c}return o})}function Bj(n,t){let e,r=[];for(let i of t){let s=Kc.get(i);if(s===Zk)return;if(s){let o=s.M.get(i);if(e=e?e.filter(c=>o.has(c)):M0(o),!e.length)return}else r.push(i)}if(e){for(let i of e)if(r.every(s=>_h(i,s)))throw new Error(`whole-script confusable: ${n.N}/${i.N}`)}}function Pj(n){let t=lu;for(let e of n){let r=t.filter(i=>_h(i,e));if(!r.length)throw lu.some(i=>_h(i,e))?Xk(t[0],e):Yk(e);if(t=r,r.length==1)break}return t}function Mj(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 ${tb($p(t,63))}: ${i}`)}return wl(r)}).join(jk)}function Yk(n){return new Error(`disallowed character: ${X1(n)}`)}function Xk(n,t){let e=X1(t),r=lu.find(i=>i.P.has(t));return r&&(e=`${r.N} ${e}`),new Error(`illegal mixture: ${n.N} + ${e}`)}function Uf(n){return new Error(`illegal placement: ${n}`)}function Lj(n,t){for(let e of t)if(!_h(n,e))throw Xk(n,e);if(n.M){let e=Kk(t);for(let r=1,i=e.length;r<i;r++)if(mw.has(e[r])){let s=r+1;for(let o;s<i&&mw.has(o=e[s]);s++)for(let c=r;c<s;c++)if(e[c]==o)throw new Error(`duplicate non-spacing marks: ${X1(o)}`);if(s-r>uv)throw new Error(`excessive non-spacing marks: ${tb($p(e.slice(r-1,s)))} (${s-r}/${uv})`);r=s}}}function Uj(n,t,e){let r=[],i=[];for(n=n.slice().reverse();n.length;){let s=Fj(n);if(s)i.length&&(r.push(t(i)),i=[]),r.push(e(s));else{let o=n.pop();if(fa.has(o))i.push(o);else{let c=yw.get(o);if(c)i.push(...c);else if(!qk.has(o))throw Yk(o)}}}return i.length&&r.push(t(i)),r}function Dj(n){return n.filter(t=>t!=Wk)}function Fj(n,t){let e=ww,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 tT=new Uint8Array(32);tT.fill(0);function dv(n){return K(n.length!==0,"invalid ENS name; empty component","comp",n),n}function eT(n){const t=Vs($j(n)),e=[];if(n.length===0)return e;let r=0;for(let i=0;i<t.length;i++)t[i]===46&&(e.push(dv(t.slice(r,i))),r=i+1);return K(r<t.length,"invalid ENS name; empty component","name",n),e.push(dv(t.slice(r))),e}function $j(n){try{if(n.length===0)throw new Error("empty label");return Nj(n)}catch(t){K(!1,`invalid ENS name (${t.message})`,"name",n)}}function bw(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=tT;const e=eT(n);for(;e.length;)t=kn(Rn([t,kn(e.pop())]));return kt(t)}function Hj(n,t){const e=t;return K(e<=255,"DNS encoded label cannot exceed 255","length",e),kt(Rn(eT(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 cm(n,t){return{address:Pe(n),storageKeys:t.map((e,r)=>(K(He(e,32),"invalid slot",`storageKeys[${r}]`,e),e.toLowerCase()))}}function Sc(n){if(Array.isArray(n))return n.map((e,r)=>Array.isArray(e)?(K(e.length===2,"invalid slot set",`value[${r}]`,e),cm(e[0],e[1])):(K(e!=null&&typeof e=="object","invalid address-slot set","value",n),cm(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 cm(e,Object.keys(r).sort())});return t.sort((e,r)=>e.address.localeCompare(r.address)),t}function zj(n){let t;return typeof n=="string"?t=yh.computePublicKey(n,!1):t=n.publicKey,Pe(kn("0x"+t.substring(4)).substring(26))}function Gj(n,t){return zj(yh.recoverPublicKey(n,t))}const Un=BigInt(0),Vj=BigInt(2),Kj=BigInt(27),jj=BigInt(28),Wj=BigInt(35),Zj=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),um=4096*32;function pv(n,t){let e=n.toString(16);for(;e.length<2;)e="0"+e;return e+=Dl(t).substring(4),"0x"+e}function Hp(n){return n==="0x"?null:Pe(n)}function eb(n,t){try{return Sc(n)}catch(e){K(!1,e.message,t,n)}}function ed(n,t){return n==="0x"?0:oe(n,t)}function xn(n,t){if(n==="0x")return Un;const e=Nt(n,t);return K(e<=Zj,"value exceeds uint size",t,e),e}function Ve(n,t){const e=Nt(n,"value"),r=pr(e);return K(r.length<=32,"value too large",`tx.${t}`,e),r}function nb(n){return Sc(n).map(t=>[t.address,t.storageKeys])}function qj(n,t){K(Array.isArray(n),`invalid ${t}`,"value",n);for(let e=0;e<n.length;e++)K(He(n[e],32),"invalid ${ param } hash",`value[${e}]`,n[e]);return n}function Qj(n){const t=Lp(n);K(Array.isArray(t)&&(t.length===9||t.length===6),"invalid field count for legacy transaction","data",n);const e={type:0,nonce:ed(t[0],"nonce"),gasPrice:xn(t[1],"gasPrice"),gasLimit:xn(t[2],"gasLimit"),to:Hp(t[3]),value:xn(t[4],"value"),data:kt(t[5]),chainId:Un};if(t.length===6)return e;const r=xn(t[6],"v"),i=xn(t[7],"r"),s=xn(t[8],"s");if(i===Un&&s===Un)e.chainId=r;else{let o=(r-Wj)/Vj;o<Un&&(o=Un),e.chainId=o,K(o!==Un||r===Kj||r===jj,"non-canonical legacy v","v",t[6]),e.signature=Ri.from({r:dc(t[7],32),s:dc(t[8],32),v:r})}return e}function Jj(n,t){const e=[Ve(n.nonce,"nonce"),Ve(n.gasPrice||0,"gasPrice"),Ve(n.gasLimit,"gasLimit"),n.to||"0x",Ve(n.value,"value"),n.data];let r=Un;if(n.chainId!=Un)r=Nt(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!==Un&&(e.push(pr(r)),e.push("0x"),e.push("0x")),pc(e);let i=BigInt(27+t.yParity);return r!==Un?i=Ri.getChainIdV(r,t.v):BigInt(t.v)!==i&&K(!1,"tx.chainId/sig.v mismatch","sig",t),e.push(pr(i)),e.push(pr(t.r)),e.push(pr(t.s)),pc(e)}function rb(n,t){let e;try{if(e=ed(t[0],"yParity"),e!==0&&e!==1)throw new Error("bad yParity")}catch{K(!1,"invalid yParity","yParity",t[0])}const r=dc(t[1],32),i=dc(t[2],32),s=Ri.from({r,s:i,yParity:e});n.signature=s}function Yj(n){const t=Lp(ye(n).slice(1));K(Array.isArray(t)&&(t.length===9||t.length===12),"invalid field count for transaction type: 2","data",kt(n));const e={type:2,chainId:xn(t[0],"chainId"),nonce:ed(t[1],"nonce"),maxPriorityFeePerGas:xn(t[2],"maxPriorityFeePerGas"),maxFeePerGas:xn(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:xn(t[4],"gasLimit"),to:Hp(t[5]),value:xn(t[6],"value"),data:kt(t[7]),accessList:eb(t[8],"accessList")};return t.length===9||rb(e,t.slice(9)),e}function Xj(n,t){const e=[Ve(n.chainId,"chainId"),Ve(n.nonce,"nonce"),Ve(n.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Ve(n.maxFeePerGas||0,"maxFeePerGas"),Ve(n.gasLimit,"gasLimit"),n.to||"0x",Ve(n.value,"value"),n.data,nb(n.accessList||[])];return t&&(e.push(Ve(t.yParity,"yParity")),e.push(pr(t.r)),e.push(pr(t.s))),Rn(["0x02",pc(e)])}function tW(n){const t=Lp(ye(n).slice(1));K(Array.isArray(t)&&(t.length===8||t.length===11),"invalid field count for transaction type: 1","data",kt(n));const e={type:1,chainId:xn(t[0],"chainId"),nonce:ed(t[1],"nonce"),gasPrice:xn(t[2],"gasPrice"),gasLimit:xn(t[3],"gasLimit"),to:Hp(t[4]),value:xn(t[5],"value"),data:kt(t[6]),accessList:eb(t[7],"accessList")};return t.length===8||rb(e,t.slice(8)),e}function eW(n,t){const e=[Ve(n.chainId,"chainId"),Ve(n.nonce,"nonce"),Ve(n.gasPrice||0,"gasPrice"),Ve(n.gasLimit,"gasLimit"),n.to||"0x",Ve(n.value,"value"),n.data,nb(n.accessList||[])];return t&&(e.push(Ve(t.yParity,"recoveryParam")),e.push(pr(t.r)),e.push(pr(t.s))),Rn(["0x01",pc(e)])}function nW(n){let t=Lp(ye(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],c=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(c),"invalid network format: proofs not an array","fields[3]",c),K(s.length===o.length,"invalid network format: blobs/commitments length mismatch","fields",t),K(s.length===c.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:c[u]});t=t[0]}K(Array.isArray(t)&&(t.length===11||t.length===14),`invalid field count for transaction type: ${e}`,"data",kt(n));const i={type:3,chainId:xn(t[0],"chainId"),nonce:ed(t[1],"nonce"),maxPriorityFeePerGas:xn(t[2],"maxPriorityFeePerGas"),maxFeePerGas:xn(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:xn(t[4],"gasLimit"),to:Hp(t[5]),value:xn(t[6],"value"),data:kt(t[7]),accessList:eb(t[8],"accessList"),maxFeePerBlobGas:xn(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(He(i.blobVersionedHashes[s],32),`invalid blobVersionedHash at index ${s}: must be length 32`,"data",n);return t.length===11||rb(i,t.slice(11)),i}function rW(n,t,e){const r=[Ve(n.chainId,"chainId"),Ve(n.nonce,"nonce"),Ve(n.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Ve(n.maxFeePerGas||0,"maxFeePerGas"),Ve(n.gasLimit,"gasLimit"),n.to||gh,Ve(n.value,"value"),n.data,nb(n.accessList||[]),Ve(n.maxFeePerBlobGas||0,"maxFeePerBlobGas"),qj(n.blobVersionedHashes||[],"blobVersionedHashes")];return t&&(r.push(Ve(t.yParity,"yParity")),r.push(pr(t.r)),r.push(pr(t.s)),e)?Rn(["0x03",pc([r,e.map(i=>i.data),e.map(i=>i.commitment),e.map(i=>i.proof)])]):Rn(["0x03",pc(r)])}var Pi,xu,Ru,Su,Iu,ku,Tu,Ou,Nu,Cu,Bu,Pu,$a,_o,ks,Ao,Mu,Qd;const ws=class ws{constructor(){nt(this,Mu);nt(this,Pi);nt(this,xu);nt(this,Ru);nt(this,Su);nt(this,Iu);nt(this,ku);nt(this,Tu);nt(this,Ou);nt(this,Nu);nt(this,Cu);nt(this,Bu);nt(this,Pu);nt(this,$a);nt(this,_o);nt(this,ks);nt(this,Ao);$(this,Pi,null),$(this,xu,null),$(this,Su,0),$(this,Iu,Un),$(this,ku,null),$(this,Tu,null),$(this,Ou,null),$(this,Ru,"0x"),$(this,Nu,Un),$(this,Cu,Un),$(this,Bu,null),$(this,Pu,null),$(this,$a,null),$(this,_o,null),$(this,Ao,null),$(this,ks,null)}get type(){return T(this,Pi)}set type(t){switch(t){case null:$(this,Pi,null);break;case 0:case"legacy":$(this,Pi,0);break;case 1:case"berlin":case"eip-2930":$(this,Pi,1);break;case 2:case"london":case"eip-1559":$(this,Pi,2);break;case 3:case"cancun":case"eip-4844":$(this,Pi,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=T(this,xu);return t==null&&this.type===3?gh:t}set to(t){$(this,xu,t==null?null:Pe(t))}get nonce(){return T(this,Su)}set nonce(t){$(this,Su,oe(t,"value"))}get gasLimit(){return T(this,Iu)}set gasLimit(t){$(this,Iu,Nt(t))}get gasPrice(){const t=T(this,ku);return t==null&&(this.type===0||this.type===1)?Un:t}set gasPrice(t){$(this,ku,t==null?null:Nt(t,"gasPrice"))}get maxPriorityFeePerGas(){const t=T(this,Tu);return t??(this.type===2||this.type===3?Un:null)}set maxPriorityFeePerGas(t){$(this,Tu,t==null?null:Nt(t,"maxPriorityFeePerGas"))}get maxFeePerGas(){const t=T(this,Ou);return t??(this.type===2||this.type===3?Un:null)}set maxFeePerGas(t){$(this,Ou,t==null?null:Nt(t,"maxFeePerGas"))}get data(){return T(this,Ru)}set data(t){$(this,Ru,kt(t))}get value(){return T(this,Nu)}set value(t){$(this,Nu,Nt(t,"value"))}get chainId(){return T(this,Cu)}set chainId(t){$(this,Cu,Nt(t))}get signature(){return T(this,Bu)||null}set signature(t){$(this,Bu,t==null?null:Ri.from(t))}get accessList(){const t=T(this,Pu)||null;return t??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(t){$(this,Pu,t==null?null:Sc(t))}get maxFeePerBlobGas(){const t=T(this,$a);return t==null&&this.type===3?Un:t}set maxFeePerBlobGas(t){$(this,$a,t==null?null:Nt(t,"maxFeePerBlobGas"))}get blobVersionedHashes(){let t=T(this,_o);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(He(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}$(this,_o,t)}get blobs(){return T(this,Ao)==null?null:T(this,Ao).map(t=>Object.assign({},t))}set blobs(t){if(t==null){$(this,Ao,null);return}const e=[],r=[];for(let i=0;i<t.length;i++){const s=t[i];if(H1(s)){ht(T(this,ks),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=ye(s);if(K(o.length<=um,"blob is too large",`blobs[${i}]`,s),o.length!==um){const f=new Uint8Array(um);f.set(o),o=f}const c=T(this,ks).blobToKzgCommitment(o),u=kt(T(this,ks).computeBlobKzgProof(o,c));e.push({data:kt(o),commitment:kt(c),proof:u}),r.push(pv(1,c))}else{const o=kt(s.commitment);e.push({data:kt(s.data),commitment:o,proof:kt(s.proof)}),r.push(pv(1,o))}}$(this,Ao,e),$(this,_o,r)}get kzg(){return T(this,ks)}set kzg(t){$(this,ks,t)}get hash(){return this.signature==null?null:kn(_t(this,Mu,Qd).call(this,!0,!1))}get unsignedHash(){return kn(this.unsignedSerialized)}get from(){return this.signature==null?null:Gj(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:yh.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return _t(this,Mu,Qd).call(this,!0,!0)}get unsignedSerialized(){return _t(this,Mu,Qd).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=T(this,$a)!=null||T(this,_o);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 ws.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 ws;if(typeof t=="string"){const r=ye(t);if(r[0]>=127)return ws.from(Qj(r));switch(r[0]){case 1:return ws.from(tW(r));case 2:return ws.from(Yj(r));case 3:return ws.from(nW(r))}ht(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const e=new ws;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}};Pi=new WeakMap,xu=new WeakMap,Ru=new WeakMap,Su=new WeakMap,Iu=new WeakMap,ku=new WeakMap,Tu=new WeakMap,Ou=new WeakMap,Nu=new WeakMap,Cu=new WeakMap,Bu=new WeakMap,Pu=new WeakMap,$a=new WeakMap,_o=new WeakMap,ks=new WeakMap,Ao=new WeakMap,Mu=new WeakSet,Qd=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 Jj(this,r);case 1:return eW(this,r);case 2:return Xj(this,r);case 3:return rW(this,r,e?this.blobs:null)}ht(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};let L0=ws;const nT=new Uint8Array(32);nT.fill(0);const iW=BigInt(-1),rT=BigInt(0),iT=BigInt(1),sW=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function oW(n){const t=ye(n),e=t.length%32;return e?Rn([t,nT.slice(e)]):kt(t)}const aW=Xo(iT,32),cW=Xo(rT,32),gv={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},lm=["name","version","chainId","verifyingContract","salt"];function yv(n){return function(t){return K(typeof t=="string",`invalid domain value for ${JSON.stringify(n)}`,`domain.${n}`,t),t}}const uW={name:yv("name"),version:yv("version"),chainId:function(n){const t=Nt(n,"domain.chainId");return K(t>=0,"invalid chain ID","domain.chainId",n),Number.isSafeInteger(t)?Number(t):tu(t)},verifyingContract:function(n){try{return Pe(n).toLowerCase()}catch{}K(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",n)},salt:function(n){const t=ye(n,"domain.salt");return K(t.length===32,'invalid domain value "salt"',"domain.salt",n),kt(t)}};function fm(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=Rf(sW,e?r-1:r),s=e?(i+iT)*iW:rT;return function(o){const c=Nt(o,"value");return K(c>=s&&c<=i,`value out-of-bounds for ${n}`,"value",c),Xo(e?KI(c,256):c,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=ye(r);return K(i.length===e,`invalid length for ${n}`,"value",r),oW(r)}}}switch(n){case"address":return function(t){return dc(Pe(t),32)};case"bool":return function(t){return t?aW:cW};case"bytes":return function(t){return kn(t)};case"string":return function(t){return gc(t)}}return null}function mv(n,t){return`${n}(${t.map(({name:e,type:r})=>r+" "+e).join(",")})`}function $d(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}}var Ih,Ts,Lu,G0,sT;const Zr=class Zr{constructor(t){nt(this,G0);Z(this,"primaryType");nt(this,Ih);nt(this,Ts);nt(this,Lu);$(this,Ts,new Map),$(this,Lu,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:A}=$d(h);return y==="int"&&!t.int&&(y="int256"),y==="uint"&&!t.uint&&(y="uint256"),{name:f,type:y+(A||"")}}),e.set(u,new Set),r.set(u,[]),i.set(u,new Set)}),$(this,Ih,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=$d(h.type).base;K(y!==u,`circular type reference to ${JSON.stringify(y)}`,"types",t),!fm(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 c(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)){c(h,f);for(const y of f)i.get(y).add(h)}f.delete(u)}c(this.primaryType,new Set);for(const[u,f]of i){const h=Array.from(f);h.sort(),T(this,Ts).set(u,mv(u,s[u])+h.map(y=>mv(y,s[y])).join(""))}}get types(){return JSON.parse(T(this,Ih))}getEncoder(t){let e=T(this,Lu).get(t);return e||(e=_t(this,G0,sT).call(this,t),T(this,Lu).set(t,e)),e}encodeType(t){const e=T(this,Ts).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 kn(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(fm(t))return r(t,e);const i=$d(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:c,type:u})=>(o[c]=this._visit(u,e[c],r),o),{});K(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new Zr(t)}static getPrimaryType(t){return Zr.from(t).primaryType}static hashStruct(t,e,r){return Zr.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){if(t[r]==null)continue;const i=gv[r];K(i,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort((r,i)=>lm.indexOf(r.name)-lm.indexOf(i.name)),Zr.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return Rn(["0x1901",Zr.hashDomain(t),Zr.from(e).hash(r)])}static hash(t,e,r){return kn(Zr.encode(t,e,r))}static async resolveNames(t,e,r,i){t=Object.assign({},t);for(const c in t)t[c]==null&&delete t[c];const s={};t.verifyingContract&&!He(t.verifyingContract,20)&&(s[t.verifyingContract]="0x");const o=Zr.from(e);o.visit(r,(c,u)=>(c==="address"&&!He(u,20)&&(s[u]="0x"),u));for(const c in s)s[c]=await i(c);return t.verifyingContract&&s[t.verifyingContract]&&(t.verifyingContract=s[t.verifyingContract]),r=o.visit(r,(c,u)=>c==="address"&&s[u]?s[u]:u),{domain:t,value:r}}static getPayload(t,e,r){Zr.hashDomain(t);const i={},s=[];lm.forEach(u=>{const f=t[u];f!=null&&(i[u]=uW[u](f),s.push({name:u,type:gv[u]}))});const o=Zr.from(e);e=o.types;const c=Object.assign({},e);return K(c.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",e),c.EIP712Domain=s,o.encode(r),{types:c,domain:i,primaryType:o.primaryType,message:o.visit(r,(u,f)=>{if(u.match(/^bytes(\d*)/))return kt(ye(f));if(u.match(/^u?int/))return Nt(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)})}}};Ih=new WeakMap,Ts=new WeakMap,Lu=new WeakMap,G0=new WeakSet,sT=function(t){{const i=fm(t);if(i)return i}const e=$d(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 c=o.map(s);return T(this,Ts).has(i)&&(c=c.map(kn)),kn(Rn(c))}}const r=this.types[t];if(r){const i=gc(T(this,Ts).get(t));return s=>{const o=r.map(({name:c,type:u})=>{const f=this.getEncoder(u)(s[c]);return T(this,Ts).has(u)?kn(f):f});return o.unshift(i),Rn(o)}}K(!1,`unknown type: ${t}`,"type",t)};let U0=Zr;function mr(n){const t=new Set;return n.forEach(e=>t.add(e)),Object.freeze(t)}const lW="external public payable override",fW=mr(lW.split(" ")),oT="constant external internal payable private public pure view override",hW=mr(oT.split(" ")),aT="constructor error event fallback function receive struct",cT=mr(aT.split(" ")),uT="calldata memory storage payable indexed",dW=mr(uT.split(" ")),pW="tuple returns",gW=[aT,uT,pW,oT].join(" "),yW=mr(gW.split(" ")),mW={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},wW=new RegExp("^(\\s*)"),bW=new RegExp("^([0-9]+)"),_W=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),lT=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),fT=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var Gn,pi,kh,_w;const V0=class V0{constructor(t){nt(this,kh);nt(this,Gn);nt(this,pi);$(this,Gn,0),$(this,pi,t.slice())}get offset(){return T(this,Gn)}get length(){return T(this,pi).length-T(this,Gn)}clone(){return new V0(T(this,pi))}reset(){$(this,Gn,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=_t(this,kh,_w).call(this,T(this,Gn)+1,t.match+1);return $(this,Gn,t.match+1),e}popParams(){const t=this.peek();if(t.type!=="OPEN_PAREN")throw new Error("bad start");const e=[];for(;T(this,Gn)<t.match-1;){const r=this.peek().linkNext;e.push(_t(this,kh,_w).call(this,T(this,Gn)+1,r)),$(this,Gn,r)}return $(this,Gn,t.match+1),e}peek(){if(T(this,Gn)>=T(this,pi).length)throw new Error("out-of-bounds");return T(this,pi)[T(this,Gn)]}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 df(this,Gn)._++,t}toString(){const t=[];for(let e=T(this,Gn);e<T(this,pi).length;e++){const r=T(this,pi)[e];t.push(`${r.type}:${r.text}`)}return`<TokenString ${t.join(" ")}>`}};Gn=new WeakMap,pi=new WeakMap,kh=new WeakSet,_w=function(t=0,e=0){return new V0(T(this,pi).slice(t,e).map(r=>Object.freeze(Object.assign({},r,{match:r.match-t,linkBack:r.linkBack-t,linkNext:r.linkNext-t}))))};let Si=V0;function ra(n){const t=[],e=o=>{const c=s<n.length?JSON.stringify(n[s]):"$EOI";throw new Error(`invalid token ${c} at ${s}: ${o}`)};let r=[],i=[],s=0;for(;s<n.length;){let o=n.substring(s),c=o.match(wW);c&&(s+=c[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=mW[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=oe(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(c=o.match(_W),c){if(u.text=c[1],s+=u.text.length,yW.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(fT)){u.type="TYPE";continue}u.type="ID";continue}if(c=o.match(bW),c){u.text=c[1],u.type="NUMBER",s+=u.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${s}`)}return new Si(t.map(o=>Object.freeze(o)))}function wv(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 zp(n,t){if(t.peekKeyword(cT)){const e=t.pop().text;if(e!==n)throw new Error(`expected ${n}, got ${e}`)}return t.popType("ID")}function qs(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 hT(n){let t=qs(n,hW);return wv(t,mr("constant payable nonpayable".split(" "))),wv(t,mr("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 Ks(n,t){return n.popParams().map(e=>Qn.from(e,t))}function dT(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return Nt(n.pop().text);throw new Error("invalid gas")}return null}function yc(n){if(n.length)throw new Error(`unexpected tokens at offset ${n.offset}: ${n.toString()}`)}const AW=new RegExp(/^(.*)\[([0-9]*)\]$/);function bv(n){const t=n.match(fT);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"),_v="_ParamTypeInternal",Av="_ErrorInternal",Ev="_EventInternal",vv="_ConstructorInternal",xv="_FallbackInternal",Rv="_FunctionInternal",Sv="_StructInternal";var Uu,Jd;const qr=class qr{constructor(t,e,r,i,s,o,c,u){nt(this,Uu);Z(this,"name");Z(this,"type");Z(this,"baseType");Z(this,"indexed");Z(this,"components");Z(this,"arrayLength");Z(this,"arrayChildren");if(Bp(t,rn,"ParamType"),Object.defineProperty(this,Nr,{value:_v}),o&&(o=Object.freeze(o.slice())),i==="array"){if(c==null||u==null)throw new Error("")}else if(c!=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:c,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 _t(this,Uu,Jd).call(this,r,t,e,s=>{i[0]=s}),r.length&&await Promise.all(r),i[0]}static from(t,e){if(qr.isParamType(t))return t;if(typeof t=="string")try{return qr.from(ra(t),e)}catch{K(!1,"invalid param type","obj",t)}else if(t instanceof Si){let c="",u="",f=null;qs(t,mr(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(u="tuple",f=t.popParams().map(k=>qr.from(k)),c=`tuple(${f.map(k=>k.format()).join(",")})`):(c=bv(t.popType("TYPE")),u=c);let h=null,y=null;for(;t.length&&t.peekType("BRACKET");){const k=t.pop();h=new qr(rn,"",c,u,null,f,y,h),y=k.value,c+=k.text,u="array",f=null}let A=null;if(qs(t,dW).has("indexed")){if(!e)throw new Error("");A=!0}const R=t.peekType("ID")?t.pop().text:"";if(t.length)throw new Error("leftover tokens");return new qr(rn,R,c,u,A,f,y,h)}const r=t.name;K(!r||typeof r=="string"&&r.match(lT),"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(AW);if(o){const c=parseInt(o[2]||"-1"),u=qr.from({type:o[1],components:t.components});return new qr(rn,r||"",s,"array",i,null,c,u)}if(s==="tuple"||s.startsWith("tuple(")||s.startsWith("(")){const c=t.components!=null?t.components.map(f=>qr.from(f)):null;return new qr(rn,r||"",s,"tuple",i,c,null,null)}return s=bv(t.type),new qr(rn,r||"",s,s,i,null,null,null)}static isParamType(t){return t&&t[Nr]===_v}};Uu=new WeakSet,Jd=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,c=e.slice();c.forEach((u,f)=>{var h;_t(h=o,Uu,Jd).call(h,t,u,r,y=>{c[f]=y})}),i(c);return}if(this.isTuple()){const o=this.components;let c;if(Array.isArray(e))c=e.slice();else{if(e==null||typeof e!="object")throw new Error("invalid tuple value");c=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(c.length!==this.components.length)throw new Error("array is wrong length");c.forEach((u,f)=>{var h;_t(h=o[f],Uu,Jd).call(h,t,u,r,y=>{c[f]=y})}),i(c);return}const s=r(this.type,e);s.then?t.push(async function(){i(await s)}()):i(s)};let Qn=qr;class mc{constructor(t,e,r){Z(this,"type");Z(this,"inputs");Bp(t,rn,"Fragment"),r=Object.freeze(r.slice()),$t(this,{type:e,inputs:r})}static from(t){if(typeof t=="string"){try{mc.from(JSON.parse(t))}catch{}return mc.from(ra(t))}if(t instanceof Si)switch(t.peekKeyword(cT)){case"constructor":return zs.from(t);case"error":return Sr.from(t);case"event":return Zi.from(t);case"fallback":case"receive":return vs.from(t);case"function":return qi.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 Sr.from(t);case"event":return Zi.from(t);case"fallback":case"receive":return vs.from(t);case"function":return qi.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 Sr.isFragment(t)}static isEvent(t){return Zi.isFragment(t)}static isFunction(t){return qi.isFragment(t)}static isStruct(t){return nc.isFragment(t)}}class Gp extends mc{constructor(e,r,i,s){super(e,r,s);Z(this,"name");K(typeof i=="string"&&i.match(lT),"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 Sr extends Gp{constructor(t,e,r){super(t,"error",e,r),Object.defineProperty(this,Nr,{value:Av})}get selector(){return gc(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(Sr.isFragment(t))return t;if(typeof t=="string")return Sr.from(ra(t));if(t instanceof Si){const e=zp("error",t),r=Ks(t);return yc(t),new Sr(rn,e,r)}return new Sr(rn,t.name,t.inputs?t.inputs.map(Qn.from):[])}static isFragment(t){return t&&t[Nr]===Av}}class Zi extends Gp{constructor(e,r,i,s){super(e,"event",r,i);Z(this,"anonymous");Object.defineProperty(this,Nr,{value:Ev}),$t(this,{anonymous:s})}get topicHash(){return gc(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 Zi(rn,e,r,!1).topicHash}static from(e){if(Zi.isFragment(e))return e;if(typeof e=="string")try{return Zi.from(ra(e))}catch{K(!1,"invalid event fragment","obj",e)}else if(e instanceof Si){const r=zp("event",e),i=Ks(e,!0),s=!!qs(e,mr(["anonymous"])).has("anonymous");return yc(e),new Zi(rn,r,i,s)}return new Zi(rn,e.name,e.inputs?e.inputs.map(r=>Qn.from(r,!0)):[],!!e.anonymous)}static isFragment(e){return e&&e[Nr]===Ev}}class zs extends mc{constructor(e,r,i,s,o){super(e,r,i);Z(this,"payable");Z(this,"gas");Object.defineProperty(this,Nr,{value:vv}),$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(ra(e))}catch{K(!1,"invalid constuctor fragment","obj",e)}else if(e instanceof Si){qs(e,mr(["constructor"]));const r=Ks(e),i=!!qs(e,fW).has("payable"),s=dT(e);return yc(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]===vv}}class vs extends mc{constructor(e,r,i){super(e,"fallback",r);Z(this,"payable");Object.defineProperty(this,Nr,{value:xv}),$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(vs.isFragment(e))return e;if(typeof e=="string")try{return vs.from(ra(e))}catch{K(!1,"invalid fallback fragment","obj",e)}else if(e instanceof Si){const r=e.toString(),i=e.peekKeyword(mr(["fallback","receive"]));if(K(i,"type must be fallback or receive","obj",r),e.popKeyword(mr(["fallback","receive"]))==="receive"){const u=Ks(e);return K(u.length===0,"receive cannot have arguments","obj.inputs",u),qs(e,mr(["payable"])),yc(e),new vs(rn,[],!0)}let o=Ks(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 c=hT(e);if(K(c==="nonpayable"||c==="payable","fallback cannot be constants","obj.stateMutability",c),qs(e,mr(["returns"])).has("returns")){const u=Ks(e);K(u.length===1&&u[0].type==="bytes","invalid fallback outputs","obj.outputs",u.map(f=>f.format("minimal")).join(", "))}return yc(e),new vs(rn,o,c==="payable")}if(e.type==="receive")return new vs(rn,[],!0);if(e.type==="fallback"){const r=[Qn.from("bytes")],i=e.stateMutability==="payable";return new vs(rn,r,i)}K(!1,"invalid fallback description","obj",e)}static isFragment(e){return e&&e[Nr]===xv}}class qi extends Gp{constructor(e,r,i,s,o,c){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:Rv}),o=Object.freeze(o.slice()),$t(this,{constant:i==="view"||i==="pure",gas:c,outputs:o,payable:i==="payable",stateMutability:i})}get selector(){return gc(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 qi(rn,e,"view",r,[],null).selector}static from(e){if(qi.isFragment(e))return e;if(typeof e=="string")try{return qi.from(ra(e))}catch{K(!1,"invalid function fragment","obj",e)}else if(e instanceof Si){const i=zp("function",e),s=Ks(e),o=hT(e);let c=[];qs(e,mr(["returns"])).has("returns")&&(c=Ks(e));const u=dT(e);return yc(e),new qi(rn,i,o,s,c,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 qi(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]===Rv}}class nc extends Gp{constructor(t,e,r){super(t,"struct",e,r),Object.defineProperty(this,Nr,{value:Sv})}format(){throw new Error("@TODO")}static from(t){if(typeof t=="string")try{return nc.from(ra(t))}catch{K(!1,"invalid struct fragment","obj",t)}else if(t instanceof Si){const e=zp("struct",t),r=Ks(t);return yc(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]===Sv}}const Ii=new Map;Ii.set(0,"GENERIC_PANIC");Ii.set(1,"ASSERT_FALSE");Ii.set(17,"OVERFLOW");Ii.set(18,"DIVIDE_BY_ZERO");Ii.set(33,"ENUM_RANGE_ERROR");Ii.set(34,"BAD_STORAGE_DATA");Ii.set(49,"STACK_UNDERFLOW");Ii.set(50,"ARRAY_RANGE_ERROR");Ii.set(65,"OUT_OF_MEMORY");Ii.set(81,"UNINITIALIZED_FUNCTION_CALL");const EW=new RegExp(/^bytes([0-9]*)$/),vW=new RegExp(/^(u?int)([0-9]*)$/);let hm=null,Iv=1024;function xW(n,t,e,r){let i="missing revert data",s=null;const o=null;let c=null;if(e){i="execution reverted";const f=ye(e);if(e=kt(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(kt(f.slice(0,4))==="0x08c379a0")try{s=r.decode(["string"],f.slice(4))[0],c={signature:"Error(string)",name:"Error",args:[s]},i+=`: ${JSON.stringify(s)}`}catch{i+=" (could not decode reason; invalid string data)"}else if(kt(f.slice(0,4))==="0x4e487b71")try{const h=Number(r.decode(["uint256"],f.slice(4))[0]);c={signature:"Panic(uint256)",name:"Panic",args:[h]},s=`Panic due to ${Ii.get(h)||"UNKNOWN"}(${h})`,i+=`: ${s}`}catch{i+=" (could not decode panic code)"}else i+=" (unknown custom error)"}const u={to:t.to?Pe(t.to):null,data:t.data||"0x"};return t.from&&(u.from=Pe(t.from)),Ze(i,"CALL_EXCEPTION",{action:n,data:e,reason:s,transaction:u,invocation:o,revert:c})}var Eo,jc;const K0=class K0{constructor(){nt(this,Eo)}getDefaultValue(t){const e=t.map(i=>_t(this,Eo,jc).call(this,Qn.from(i)));return new Fd(e,"_").defaultValue()}encode(t,e){zI(e.length,t.length,"types/values length mismatch");const r=t.map(o=>_t(this,Eo,jc).call(this,Qn.from(o))),i=new Fd(r,"_"),s=new ow;return i.encode(s,e),s.data}decode(t,e,r){const i=t.map(o=>_t(this,Eo,jc).call(this,Qn.from(o)));return new Fd(i,"_").decode(new aw(e,r,Iv))}static _setDefaultMaxInflation(t){K(typeof t=="number"&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),Iv=t}static defaultAbiCoder(){return hm==null&&(hm=new K0),hm}static getBuiltinCallException(t,e,r){return xW(t,e,r,K0.defaultAbiCoder())}};Eo=new WeakSet,jc=function(t){if(t.isArray())return new WK(_t(this,Eo,jc).call(this,t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new Fd(t.components.map(r=>_t(this,Eo,jc).call(this,r)),t.name);switch(t.baseType){case"address":return new KK(t.name);case"bool":return new ZK(t.name);case"string":return new rj(t.name);case"bytes":return new qK(t.name);case"":return new YK(t.name)}let e=t.type.match(vW);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 nj(r/8,e[1]==="int",t.name)}if(e=t.type.match(EW),e){let r=parseInt(e[1]);return K(r!==0&&r<=32,"invalid bytes length","param",t),new QK(r,t.name)}K(!1,"invalid type","type",t.type)};let Eh=K0;class RW{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 SW{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 IW{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 kv{constructor(t){Z(this,"hash");Z(this,"_isIndexed");$t(this,{hash:t,_isIndexed:!0})}static isIndexed(t){return!!(t&&t._isIndexed)}}const Tv={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"},Ov={"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&&Tv[n.toString()]&&(t=Tv[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${t})`}}};var Mi,Li,Ui,rr,ns,Yd,Xd;const ba=class ba{constructor(t){nt(this,ns);Z(this,"fragments");Z(this,"deploy");Z(this,"fallback");Z(this,"receive");nt(this,Mi);nt(this,Li);nt(this,Ui);nt(this,rr);let e=[];typeof t=="string"?e=JSON.parse(t):e=t,$(this,Ui,new Map),$(this,Mi,new Map),$(this,Li,new Map);const r=[];for(const o of e)try{r.push(mc.from(o))}catch(c){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,c.message)}$t(this,{fragments:Object.freeze(r)});let i=null,s=!1;$(this,rr,this.getAbiCoder()),this.fragments.forEach((o,c)=>{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[${c}]`,o),i=o,s=i.payable);return;case"function":u=T(this,Ui);break;case"event":u=T(this,Li);break;case"error":u=T(this,Mi);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=_t(this,ns,Yd).call(this,t,null,!1);return K(e,"no matching function","key",t),e.name}hasFunction(t){return!!_t(this,ns,Yd).call(this,t,null,!1)}getFunction(t,e){return _t(this,ns,Yd).call(this,t,e||null,!0)}forEachFunction(t){const e=Array.from(T(this,Ui).keys());e.sort((r,i)=>r.localeCompare(i));for(let r=0;r<e.length;r++){const i=e[r];t(T(this,Ui).get(i),r)}}getEventName(t){const e=_t(this,ns,Xd).call(this,t,null,!1);return K(e,"no matching event","key",t),e.name}hasEvent(t){return!!_t(this,ns,Xd).call(this,t,null,!1)}getEvent(t,e){return _t(this,ns,Xd).call(this,t,e||null,!0)}forEachEvent(t){const e=Array.from(T(this,Li).keys());e.sort((r,i)=>r.localeCompare(i));for(let r=0;r<e.length;r++){const i=e[r];t(T(this,Li).get(i),r)}}getError(t,e){if(He(t)){const i=t.toLowerCase();if(Ov[i])return Sr.from(Ov[i].signature);for(const s of T(this,Mi).values())if(i===s.selector)return s;return null}if(t.indexOf("(")===-1){const i=[];for(const[s,o]of T(this,Mi))s.split("(")[0]===t&&i.push(o);if(i.length===0)return t==="Error"?Sr.from("error Error(string)"):t==="Panic"?Sr.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=Sr.from(t).format(),t==="Error(string)")return Sr.from("error Error(string)");if(t==="Panic(uint256)")return Sr.from("error Panic(uint256)");const r=T(this,Mi).get(t);return r||null}forEachError(t){const e=Array.from(T(this,Mi).keys());e.sort((r,i)=>r.localeCompare(i));for(let r=0;r<e.length;r++){const i=e[r];t(T(this,Mi).get(i),r)}}_decodeParams(t,e){return T(this,rr).decode(t,e)}_encodeParams(t,e){return T(this,rr).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(bn(e,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",e),this._decodeParams(t.inputs,bn(e,4))}encodeErrorResult(t,e){if(typeof t=="string"){const r=this.getError(t);K(r,"unknown error","fragment",t),t=r}return Rn([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(bn(e,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",e),this._decodeParams(t.inputs,bn(e,4))}encodeFunctionData(t,e){if(typeof t=="string"){const r=this.getFunction(t);K(r,"unknown function","fragment",t),t=r}return Rn([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=fr(e);if(i.length%32===0)try{return T(this,rr).decode(t.outputs,i)}catch{r="could not decode result data"}ht(!1,r,"BAD_DATA",{value:kt(i),info:{method:t.name,signature:t.format()}})}makeError(t,e){const r=ye(t,"data"),i=Eh.getBuiltinCallException("call",e,r);if(i.message.startsWith("execution reverted (unknown custom error)")){const c=kt(r.slice(0,4)),u=this.getError(c);if(u)try{const f=T(this,rr).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 kt(T(this,rr).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"?gc(o):s.type==="bytes"?kn(kt(o)):(s.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":s.type.match(/^u?int/)?o=Xo(o):s.type.match(/^bytes/)?o=YG(o,32):s.type==="address"&&T(this,rr).encode(["address"],[o]),dc(kt(o),32));for(e.forEach((s,o)=>{const c=t.inputs[o];if(!c.indexed){K(s==null,"cannot filter non-indexed parameters; must be null","contract."+c.name,s);return}s==null?r.push(null):c.baseType==="array"||c.baseType==="tuple"?K(!1,"filtering with tuples or arrays not supported","contract."+c.name,s):Array.isArray(s)?r.push(s.map(u=>i(c,u))):r.push(i(c,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,c)=>{const u=e[c];if(o.indexed)if(o.type==="string")r.push(gc(u));else if(o.type==="bytes")r.push(kn(u));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(T(this,rr).encode([o.type],[u]))}else i.push(o),s.push(u)}),{data:T(this,rr).encode(i,s),topics:r}}decodeEventLog(t,e,r){if(typeof t=="string"){const b=this.getEvent(t);K(b,"unknown event","eventFragment",t),t=b}if(r!=null&&!t.anonymous){const b=t.topicHash;K(He(r[0],32)&&r[0].toLowerCase()===b,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}const i=[],s=[],o=[];t.inputs.forEach((b,R)=>{b.indexed?b.type==="string"||b.type==="bytes"||b.baseType==="tuple"||b.baseType==="array"?(i.push(Qn.from({type:"bytes32",name:b.name})),o.push(!0)):(i.push(b),o.push(!1)):(s.push(b),o.push(!1))});const c=r!=null?T(this,rr).decode(i,Rn(r)):null,u=T(this,rr).decode(s,e,!0),f=[],h=[];let y=0,A=0;return t.inputs.forEach((b,R)=>{let k=null;if(b.indexed)if(c==null)k=new kv(null);else if(o[R])k=new kv(c[A++]);else try{k=c[A++]}catch(S){k=S}else try{k=u[y++]}catch(S){k=S}f.push(k),h.push(b.name||null)}),dl.fromItems(f,h)}parseTransaction(t){const e=ye(t.data,"tx.data"),r=Nt(t.value!=null?t.value:0,"tx.value"),i=this.getFunction(kt(e.slice(0,4)));if(!i)return null;const s=T(this,rr).decode(i.inputs,e.slice(4));return new SW(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 RW(e,e.topicHash,this.decodeEventLog(e,t.data,t.topics))}parseError(t){const e=kt(t),r=this.getError(bn(e,0,4));if(!r)return null;const i=T(this,rr).decode(r.inputs,bn(e,4));return new IW(r,r.selector,i)}static from(t){return t instanceof ba?t:typeof t=="string"?new ba(JSON.parse(t)):typeof t.formatJson=="function"?new ba(t.formatJson()):typeof t.format=="function"?new ba(t.format("json")):new ba(t)}};Mi=new WeakMap,Li=new WeakMap,Ui=new WeakMap,rr=new WeakMap,ns=new WeakSet,Yd=function(t,e,r){if(He(t)){const s=t.toLowerCase();for(const o of T(this,Ui).values())if(s===o.selector)return o;return null}if(t.indexOf("(")===-1){const s=[];for(const[o,c]of T(this,Ui))o.split("(")[0]===t&&s.push(c);if(e){const o=e.length>0?e[e.length-1]:null;let c=e.length,u=!0;ar.isTyped(o)&&o.type==="overrides"&&(u=!1,c--);for(let f=s.length-1;f>=0;f--){const h=s[f].inputs.length;h!==c&&(!u||h!==c-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(ar.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(c=>JSON.stringify(c.format())).join(", ");K(!1,`ambiguous function description (i.e. matches ${o})`,"key",t)}return s[0]}const i=T(this,Ui).get(qi.from(t).format());return i||null},Xd=function(t,e,r){if(He(t)){const s=t.toLowerCase();for(const o of T(this,Li).values())if(s===o.topicHash)return o;return null}if(t.indexOf("(")===-1){const s=[];for(const[o,c]of T(this,Li))o.split("(")[0]===t&&s.push(c);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 c=s[o].inputs;for(let u=0;u<e.length;u++)if(ar.isTyped(e[u])&&e[u].type!==c[u].baseType){s.splice(o,1);break}}}if(s.length===0)return null;if(s.length>1&&r){const o=s.map(c=>JSON.stringify(c.format())).join(", ");K(!1,`ambiguous event description (i.e. matches ${o})`,"key",t)}return s[0]}const i=T(this,Li).get(Zi.from(t).format());return i||null};let Aw=ba;const pT=BigInt(0);function fu(n){return n??null}function En(n){return n==null?null:n.toString()}class Nv{constructor(t,e,r){Z(this,"gasPrice");Z(this,"maxFeePerGas");Z(this,"maxPriorityFeePerGas");$t(this,{gasPrice:fu(t),maxFeePerGas:fu(e),maxPriorityFeePerGas:fu(r)})}toJSON(){const{gasPrice:t,maxFeePerGas:e,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:En(t),maxFeePerGas:En(e),maxPriorityFeePerGas:En(r)}}}function D0(n){const t={};n.to&&(t.to=n.to),n.from&&(t.from=n.from),n.data&&(t.data=kt(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]=Nt(n[i],`request.${i}`));const r="type,nonce".split(/,/);for(const i of r)!(i in n)||n[i]==null||(t[i]=oe(n[i],`request.${i}`));return n.accessList&&(t.accessList=Sc(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=>H1(i)?kt(i):Object.assign({},i))),t}var Os;class kW{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");nt(this,Os);$(this,Os,t.transactions.map(r=>typeof r!="string"?new vh(r,e):r)),$t(this,{provider:e,hash:fu(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:fu(t.prevRandao),extraData:t.extraData,baseFeePerGas:fu(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return T(this,Os).map(t=>typeof t=="string"?t:t.hash)}get prefetchedTransactions(){const t=T(this,Os).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:c,prevRandao:u,nonce:f,number:h,parentHash:y,parentBeaconBlockRoot:A,stateRoot:b,receiptsRoot:R,timestamp:k,transactions:S}=this;return{_type:"Block",baseFeePerGas:En(t),difficulty:En(e),extraData:r,gasLimit:En(i),gasUsed:En(s),blobGasUsed:En(this.blobGasUsed),excessBlobGas:En(this.excessBlobGas),hash:o,miner:c,prevRandao:u,nonce:f,number:h,parentHash:y,timestamp:k,parentBeaconBlockRoot:A,stateRoot:b,receiptsRoot:R,transactions:S}}[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 T(this,Os).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(t){let e;if(typeof t=="number")e=T(this,Os)[t];else{const r=t.toLowerCase();for(const i of T(this,Os))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 TW(this)}}Os=new WeakMap;class nd{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:c,transactionHash:u,transactionIndex:f}=this;return{_type:"log",address:t,blockHash:e,blockNumber:r,data:i,index:s,removed:o,topics:c,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 OW(this)}}var Th;class gT{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");nt(this,Th);$(this,Th,Object.freeze(t.logs.map(i=>new nd(i,e))));let r=pT;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 T(this,Th)}toJSON(){const{to:t,from:e,contractAddress:r,hash:i,index:s,blockHash:o,blockNumber:c,logsBloom:u,logs:f,status:h,root:y}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:c,contractAddress:r,cumulativeGasUsed:En(this.cumulativeGasUsed),from:e,gasPrice:En(this.gasPrice),blobGasUsed:En(this.blobGasUsed),blobGasPrice:En(this.blobGasPrice),gasUsed:En(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 mT(this)}reorderedEvent(t){return ht(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),yT(this,t)}}Th=new WeakMap;var vo;const hb=class hb{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");nt(this,vo);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,$(this,vo,-1)}toJSON(){const{blockNumber:t,blockHash:e,index:r,hash:i,type:s,to:o,from:c,nonce:u,data:f,signature:h,accessList:y,blobVersionedHashes:A}=this;return{_type:"TransactionResponse",accessList:y,blockNumber:t,blockHash:e,blobVersionedHashes:A,chainId:En(this.chainId),data:f,from:c,gasLimit:En(this.gasLimit),gasPrice:En(this.gasPrice),hash:i,maxFeePerGas:En(this.maxFeePerGas),maxPriorityFeePerGas:En(this.maxPriorityFeePerGas),maxFeePerBlobGas:En(this.maxFeePerBlobGas),nonce:u,signature:h,to:o,index:r,type:s,value:En(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 lr({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=T(this,vo),o=-1,c=s===-1;const u=async()=>{if(c)return null;const{blockNumber:A,nonce:b}=await lr({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(b<this.nonce){s=A;return}if(c)return null;const R=await this.getTransaction();if(!(R&&R.blockNumber!=null))for(o===-1&&(o=s-3,o<T(this,vo)&&(o=T(this,vo)));o<=A;){if(c)return null;const k=await this.provider.getBlock(o,!0);if(k==null)return;for(const S of k)if(S===this.hash)return;for(let S=0;S<k.length;S++){const B=await k.getTransaction(S);if(B.from===this.from&&B.nonce===this.nonce){if(c)return null;const H=await this.provider.getTransactionReceipt(B.hash);if(H==null||A-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===pT&&(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=A=>{if(A==null||A.status!==0)return A;ht(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:A.to,from:A.from,data:""},receipt:A})},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((A,b)=>{const R=[],k=()=>{R.forEach(B=>B())};if(R.push(()=>{c=!0}),i>0){const B=setTimeout(()=>{k(),b(Ze("wait for transaction timeout","TIMEOUT"))},i);R.push(()=>{clearTimeout(B)})}const S=async B=>{if(await B.confirmations()>=r){k();try{A(f(B))}catch(H){b(H)}}};if(R.push(()=>{this.provider.off(this.hash,S)}),this.provider.on(this.hash,S),s>=0){const B=async()=>{try{await u()}catch(H){if(Wn(H,"TRANSACTION_REPLACED")){k(),b(H);return}}c||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()"}),mT(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()"}),yT(this,t)}replaceableTransaction(t){K(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);const e=new hb(this,this.provider);return $(e,vo,t),e}};vo=new WeakMap;let vh=hb;function TW(n){return{orphan:"drop-block",hash:n.hash,number:n.number}}function yT(n,t){return{orphan:"reorder-transaction",tx:n,other:t}}function mT(n){return{orphan:"drop-transaction",tx:n}}function OW(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 ib extends nd{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 wT extends nd{constructor(e,r){super(e,e.provider);Z(this,"error");$t(this,{error:r})}}var Du;class NW extends gT{constructor(e,r,i){super(i,r);nt(this,Du);$(this,Du,e)}get logs(){return super.logs.map(e=>{const r=e.topics.length?T(this,Du).getEvent(e.topics[0]):null;if(r)try{return new ib(e,T(this,Du),r)}catch(i){return new wT(e,i)}return e})}}Du=new WeakMap;var Oh;class sb extends vh{constructor(e,r,i){super(i,r);nt(this,Oh);$(this,Oh,e)}async wait(e,r){const i=await super.wait(e,r);return i==null?null:new NW(T(this,Oh),this.provider,i)}}Oh=new WeakMap;class bT extends jI{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 CW extends bT{constructor(t,e,r,i,s){super(t,e,r,new ib(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 Cv=BigInt(0);function _T(n){return n&&typeof n.call=="function"}function AT(n){return n&&typeof n.estimateGas=="function"}function Vp(n){return n&&typeof n.resolveName=="function"}function ET(n){return n&&typeof n.sendTransaction=="function"}function vT(n){if(n!=null){if(Vp(n))return n;if(n.provider)return n.provider}}var Nh;class BW{constructor(t,e,r){nt(this,Nh);Z(this,"fragment");if($t(this,{fragment:e}),e.inputs.length<r.length)throw new Error("too many arguments");const i=wc(t.runner,"resolveName"),s=Vp(i)?i:null;$(this,Nh,async function(){const o=await Promise.all(e.inputs.map((c,u)=>r[u]==null?null:c.walkAsync(r[u],(h,y)=>h==="address"?Array.isArray(y)?Promise.all(y.map(A=>yr(A,s))):yr(y,s):y)));return t.interface.encodeFilterTopics(e,o)}())}getTopicFilter(){return T(this,Nh)}}Nh=new WeakMap;function wc(n,t){return n==null?null:typeof n[t]=="function"?n:n.provider&&typeof n.provider[t]=="function"?n.provider:null}function ka(n){return n==null?null:n.provider||null}async function xT(n,t){const e=ar.dereference(n,"overrides");K(typeof e=="object","invalid overrides parameter","overrides",n);const r=D0(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 PW(n,t,e){const r=wc(n,"resolveName"),i=Vp(r)?r:null;return await Promise.all(t.map((s,o)=>s.walkAsync(e[o],(c,u)=>(u=ar.dereference(u,c),c==="address"?yr(u,i):u))))}function MW(n){const t=async function(o){const c=await xT(o,["data"]);c.to=await n.getAddress(),c.from&&(c.from=await yr(c.from,vT(n.runner)));const u=n.interface,f=Nt(c.value||Cv,"overrides.value")===Cv,h=(c.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",c.data);const y=u.receive||u.fallback&&u.fallback.payable;return K(y||f,"cannot send value to non-payable fallback","overrides.value",c.value),K(u.fallback||h,"cannot send data to receive-only contract","overrides.data",c.data),c},e=async function(o){const c=wc(n.runner,"call");ht(_T(c),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const u=await t(o);try{return await c.call(u)}catch(f){throw $1(f)&&f.data?n.interface.makeError(f.data,u):f}},r=async function(o){const c=n.runner;ht(ET(c),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const u=await c.sendTransaction(await t(o)),f=ka(n.runner);return new sb(n.interface,f,u)},i=async function(o){const c=wc(n.runner,"estimateGas");return ht(AT(c),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await c.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 LW(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 xT(f.pop()),y.from&&(y.from=await yr(y.from,vT(n.runner)))),h.inputs.length!==f.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const A=await PW(n.runner,h.inputs,f);return Object.assign({},y,await lr({to:n.getAddress(),data:n.interface.encodeFunctionData(h,A)}))},i=async function(...f){const h=await c(...f);return h.length===1?h[0]:h},s=async function(...f){const h=n.runner;ht(ET(h),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const y=await h.sendTransaction(await r(...f)),A=ka(n.runner);return new sb(n.interface,A,y)},o=async function(...f){const h=wc(n.runner,"estimateGas");return ht(AT(h),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await h.estimateGas(await r(...f))},c=async function(...f){const h=wc(n.runner,"call");ht(_T(h),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const y=await r(...f);let A="0x";try{A=await h.call(y)}catch(R){throw $1(R)&&R.data?n.interface.makeError(R.data,y):R}const b=e(...f);return n.interface.decodeFunctionResult(b,A)},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:c}),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 UW(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 BW(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 F0=Symbol.for("_ethersInternal_contract"),RT=new WeakMap;function DW(n,t){RT.set(n[F0],t)}function Lr(n){return RT.get(n[F0])}function FW(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function ob(n,t){let e,r=null;if(Array.isArray(t)){const s=function(o){if(He(o,32))return o;const c=n.interface.getEvent(o);return K(c,"unknown fragment","name",o),c.topicHash};e=t.map(o=>o==null?null:Array.isArray(o)?o.map(s):s(o))}else t==="*"?e=[null]:typeof t=="string"?He(t,32)?e=[t]:(r=n.interface.getEvent(t),K(r,"unknown fragment","event",t),e=[r.topicHash]):FW(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(c=>c.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 kf(n,t){const{subs:e}=Lr(n);return e.get((await ob(n,t)).tag)||null}async function Bv(n,t,e){const r=ka(n.runner);ht(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:t});const{fragment:i,tag:s,topics:o}=await ob(n,e),{addr:c,subs:u}=Lr(n);let f=u.get(s);if(!f){const y={address:c||n,topics:o},A=S=>{let B=i;if(B==null)try{B=n.interface.getEvent(S.topics[0])}catch{}if(B){const H=B,U=i?n.interface.decodeEventLog(i,S.data,S.topics):[];vw(n,e,U,G=>new CW(n,G,e,H,S))}else vw(n,e,[],H=>new bT(n,H,e,S))};let b=[];f={tag:s,listeners:[],start:()=>{b.length||b.push(r.on(y,A))},stop:async()=>{if(b.length==0)return;let S=b;b=[],await Promise.all(S),r.off(y,A)}},u.set(s,f)}return f}let Ew=Promise.resolve();async function $W(n,t,e,r){await Ew;const i=await kf(n,t);if(!i)return!1;const s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:o,once:c})=>{const u=Array.from(e);r&&u.push(r(c?null:o));try{o.call(n,...u)}catch{}return!c}),i.listeners.length===0&&(i.stop(),Lr(n).subs.delete(i.tag)),s>0}async function vw(n,t,e,r){try{await Ew}catch{}const i=$W(n,t,e,r);return Ew=i,await i}const Hd=["then"];var Wv;Wv=F0;const Df=class Df{constructor(t,e,r,i){Z(this,"target");Z(this,"interface");Z(this,"runner");Z(this,"filters");Z(this,Wv);Z(this,"fallback");K(typeof t=="string"||Nk(t),"invalid value for Contract target","target",t),r==null&&(r=null);const s=Aw.from(e);$t(this,{target:t,runner:r,interface:s}),Object.defineProperty(this,F0,{value:{}});let o,c=null,u=null;if(i){const y=ka(r);u=new sb(this.interface,y,i)}let f=new Map;if(typeof t=="string")if(He(t))c=t,o=Promise.resolve(t);else{const y=wc(r,"resolveName");if(!Vp(y))throw Ze("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=y.resolveName(t).then(A=>{if(A==null)throw Ze("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return Lr(this).addr=A,A})}else o=t.getAddress().then(y=>{if(y==null)throw new Error("TODO");return Lr(this).addr=y,y});DW(this,{addrPromise:o,addr:c,deployTx:u,subs:f});const h=new Proxy({},{get:(y,A,b)=>{if(typeof A=="symbol"||Hd.indexOf(A)>=0)return Reflect.get(y,A,b);try{return this.getEvent(A)}catch(R){if(!Wn(R,"INVALID_ARGUMENT")||R.argument!=="key")throw R}},has:(y,A)=>Hd.indexOf(A)>=0?Reflect.has(y,A):Reflect.has(y,A)||this.interface.hasEvent(String(A))});return $t(this,{filters:h}),$t(this,{fallback:s.receive||s.fallback?MW(this):null}),new Proxy(this,{get:(y,A,b)=>{if(typeof A=="symbol"||A in y||Hd.indexOf(A)>=0)return Reflect.get(y,A,b);try{return y.getFunction(A)}catch(R){if(!Wn(R,"INVALID_ARGUMENT")||R.argument!=="key")throw R}},has:(y,A)=>typeof A=="symbol"||A in y||Hd.indexOf(A)>=0?Reflect.has(y,A):y.interface.hasFunction(A)})}connect(t){return new Df(this.target,this.interface,t)}attach(t){return new Df(t,this.interface,this.runner)}async getAddress(){return await Lr(this).addrPromise}async getDeployedCode(){const t=ka(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=ka(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(c){s(c)}};o()})}deploymentTransaction(){return Lr(this).deployTx}getFunction(t){return typeof t!="string"&&(t=t.format()),LW(this,t)}getEvent(t){return typeof t!="string"&&(t=t.format()),UW(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}=Lr(this),o=i||await s,{fragment:c,topics:u}=await ob(this,t),f={address:o,topics:u,fromBlock:e,toBlock:r},h=ka(this.runner);return ht(h,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await h.getLogs(f)).map(y=>{let A=c;if(A==null)try{A=this.interface.getEvent(y.topics[0])}catch{}if(A)try{return new ib(y,this.interface,A)}catch(b){return new wT(y,b)}return new nd(y,h)})}async on(t,e){const r=await Bv(this,"on",t);return r.listeners.push({listener:e,once:!1}),r.start(),this}async once(t,e){const r=await Bv(this,"once",t);return r.listeners.push({listener:e,once:!0}),r.start(),this}async emit(t,...e){return await vw(this,t,e,null)}async listenerCount(t){if(t){const i=await kf(this,t);return i?i.listeners.length:0}const{subs:e}=Lr(this);let r=0;for(const{listeners:i}of e.values())r+=i.length;return r}async listeners(t){if(t){const i=await kf(this,t);return i?i.listeners.map(({listener:s})=>s):[]}const{subs:e}=Lr(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 kf(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(),Lr(this).subs.delete(r.tag)),this}async removeAllListeners(t){if(t){const e=await kf(this,t);if(!e)return this;e.stop(),Lr(this).subs.delete(e.tag)}else{const{subs:e}=Lr(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 Df{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 xw=Df;function HW(){return xw}class hu extends HW(){}function dm(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 zW{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 ST=new RegExp("^(ipfs)://(.*)$","i"),Pv=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),ST,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];var xo,Ha,Ro,Wc,j0,IT;const nu=class nu{constructor(t,e,r){nt(this,Ro);Z(this,"provider");Z(this,"address");Z(this,"name");nt(this,xo);nt(this,Ha);$t(this,{provider:t,address:e,name:r}),$(this,xo,null),$(this,Ha,new hu(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 T(this,xo)==null&&$(this,xo,(async()=>{try{return await T(this,Ha).supportsInterface("0x9061b923")}catch(t){if(Wn(t,"CALL_EXCEPTION"))return!1;throw $(this,xo,null),t}})()),await T(this,xo)}async getAddress(t){if(t==null&&(t=60),t===60)try{const s=await _t(this,Ro,Wc).call(this,"addr(bytes32)");return s==null||s===gh?null:s}catch(s){if(Wn(s,"CALL_EXCEPTION"))return null;throw s}if(t>=0&&t<2147483648){let s=t+2147483648;const o=await _t(this,Ro,Wc).call(this,"addr(bytes32,uint)",[s]);if(He(o,20))return Pe(o)}let e=null;for(const s of this.provider.plugins)if(s instanceof zW&&s.supportsCoinType(t)){e=s;break}if(e==null)return null;const r=await _t(this,Ro,Wc).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 _t(this,Ro,Wc).call(this,"text(bytes32,string)",[t]);return e==null||e==="0x"?null:e}async getContentHash(){const t=await _t(this,Ro,Wc).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}://${eV("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<Pv.length;r++){const i=e.match(Pv[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=dm(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 c=await this.getAddress();if(c==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 hu(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 k=await h.ownerOf(f);if(c!==k)return t.push({type:"!owner",value:k}),{url:null,linkage:t};t.push({type:"owner",value:k})}else if(s==="erc1155"){const k=await h.balanceOf(c,f);if(!k)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:k.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}",Xo(f,32).substring(2)),t.push({type:"metadata-url-expanded",value:y})),y.match(/^ipfs:/i)&&(y=dm(y)),t.push({type:"metadata-url",value:y});let A={};const b=await new Zs(y).send();b.assertOk();try{A=b.bodyJson}catch{try{t.push({type:"!metadata",value:b.bodyText})}catch{const B=b.body;return B&&t.push({type:"!metadata",value:kt(B)}),{url:null,linkage:t}}return{url:null,linkage:t}}if(!A)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(A)});let R=A.image;if(typeof R!="string")return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(!R.match(/^(https:\/\/|data:)/i)){if(R.match(ST)==null)return t.push({type:"!imageUrl-ipfs",value:R}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:R}),R=dm(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 _t(i=nu,j0,IT).call(i,t,r);if(s!=null){const o=new nu(t,s,e);return r!==e&&!await o.supportsWildcard()?null:o}r=r.split(".").slice(1).join(".")}}};xo=new WeakMap,Ha=new WeakMap,Ro=new WeakSet,Wc=async function(t,e){e=(e||[]).slice();const r=T(this,Ha).interface;e.unshift(bw(this.name));let i=null;await this.supportsWildcard()&&(i=r.getFunction(t),ht(i,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[Hj(this.name,255),r.encodeFunctionData(i,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{const s=await T(this,Ha)[t](...e);return i?r.decodeFunctionResult(i,s)[0]:s}catch(s){if(!Wn(s,"CALL_EXCEPTION"))throw s}return null},j0=new WeakSet,IT=async function(t,e){const r=await nu.getEnsAddress(t);try{const s=await new hu(r,["function resolver(bytes32) view returns (address)"],t).resolver(bw(e),{enableCcipRead:!0});return s===gh?null:s}catch(i){throw i}return null},nt(nu,j0);let $0=nu;const Mv=BigInt(0);function he(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 rd(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 c=o instanceof Error?o.message:"not-an-error";ht(!1,`invalid value for value.${i} (${c})`,"BAD_DATA",{value:e})}}return r}}function GW(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 _l(n){return K(He(n,!0),"invalid data","value",n),n}function jn(n){return K(He(n,32),"invalid hash","value",n),n}const VW=rd({address:Pe,blockHash:jn,blockNumber:oe,data:_l,index:oe,removed:he(GW,!1),topics:Kp(jn),transactionHash:jn,transactionIndex:oe},{index:["logIndex"]});function KW(n){return VW(n)}const jW=rd({hash:he(jn),parentHash:jn,parentBeaconBlockRoot:he(jn,null),number:oe,timestamp:oe,nonce:he(_l),difficulty:Nt,gasLimit:Nt,gasUsed:Nt,stateRoot:he(jn,null),receiptsRoot:he(jn,null),blobGasUsed:he(Nt,null),excessBlobGas:he(Nt,null),miner:he(Pe),prevRandao:he(jn,null),extraData:_l,baseFeePerGas:he(Nt)},{prevRandao:["mixHash"]});function WW(n){const t=jW(n);return t.transactions=n.transactions.map(e=>typeof e=="string"?e:kT(e)),t}const ZW=rd({transactionIndex:oe,blockNumber:oe,transactionHash:jn,address:Pe,topics:Kp(jn),data:_l,index:oe,blockHash:jn},{index:["logIndex"]});function qW(n){return ZW(n)}const QW=rd({to:he(Pe,null),from:he(Pe,null),contractAddress:he(Pe,null),index:oe,root:he(kt),gasUsed:Nt,blobGasUsed:he(Nt,null),logsBloom:he(_l),blockHash:jn,hash:jn,logs:Kp(qW),blockNumber:oe,cumulativeGasUsed:Nt,effectiveGasPrice:he(Nt),blobGasPrice:he(Nt,null),status:he(oe),type:he(oe,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function JW(n){return QW(n)}function kT(n){n.to&&Nt(n.to)===Mv&&(n.to="0x0000000000000000000000000000000000000000");const t=rd({hash:jn,index:he(oe,void 0),type:e=>e==="0x"||e==null?0:oe(e),accessList:he(Sc,null),blobVersionedHashes:he(Kp(jn,!0),null),blockHash:he(jn,null),blockNumber:he(oe,null),transactionIndex:he(oe,null),from:Pe,gasPrice:he(Nt),maxPriorityFeePerGas:he(Nt),maxFeePerGas:he(Nt),maxFeePerBlobGas:he(Nt,null),gasLimit:Nt,to:he(Pe,null),value:Nt,nonce:oe,data:_l,creates:he(Pe,null),chainId:he(Nt,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(n);if(t.to==null&&t.creates==null&&(t.creates=VK(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&&Nt(t.blockHash)===Mv&&(t.blockHash=null),t}const YW="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class id{constructor(t){Z(this,"name");$t(this,{name:t})}clone(){return new id(this.name)}}class jp extends id{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,c){let u=(r||{})[o];u==null&&(u=c),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 jp(this.effectiveBlock,this)}}class Wp extends id{constructor(e,r){super("org.ethers.plugins.network.Ens");Z(this,"address");Z(this,"targetNetwork");$t(this,{address:e||YW,targetNetwork:r??1})}clone(){return new Wp(this.address,this.targetNetwork)}}var Ch,Bh;class XW extends id{constructor(e,r){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");nt(this,Ch);nt(this,Bh);$(this,Ch,e),$(this,Bh,r)}get url(){return T(this,Ch)}get processFunc(){return T(this,Bh)}clone(){return this}}Ch=new WeakMap,Bh=new WeakMap;const pm=new Map;var Fu,$u,So;const ru=class ru{constructor(t,e){nt(this,Fu);nt(this,$u);nt(this,So);$(this,Fu,t),$(this,$u,Nt(e)),$(this,So,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return T(this,Fu)}set name(t){$(this,Fu,t)}get chainId(){return T(this,$u)}set chainId(t){$(this,$u,Nt(t,"chainId"))}matches(t){if(t==null)return!1;if(typeof t=="string"){try{return this.chainId===Nt(t)}catch{}return this.name===t}if(typeof t=="number"||typeof t=="bigint"){try{return this.chainId===Nt(t)}catch{}return!1}if(typeof t=="object"){if(t.chainId!=null){try{return this.chainId===Nt(t.chainId)}catch{}return!1}return t.name!=null?this.name===t.name:!1}return!1}get plugins(){return Array.from(T(this,So).values())}attachPlugin(t){if(T(this,So).get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return T(this,So).set(t.name,t.clone()),this}getPlugin(t){return T(this,So).get(t)||null}getPlugins(t){return this.plugins.filter(e=>e.name.split("#")[0]===t)}clone(){const t=new ru(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 jp;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=Sc(t.accessList);for(const s in i)r+=e.txAccessListAddress+e.txAccessListStorageKey*i[s].storageKeys.length}return r}static from(t){if(tZ(),t==null)return ru.from("mainnet");if(typeof t=="number"&&(t=BigInt(t)),typeof t=="string"||typeof t=="bigint"){const e=pm.get(t);if(e)return e();if(typeof t=="bigint")return new ru("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 ru(t.name,t.chainId);return(t.ensAddress||t.ensNetwork!=null)&&e.attachPlugin(new Wp(t.ensAddress,t.ensNetwork)),e}K(!1,"invalid network","network",t)}static register(t,e){typeof t=="number"&&(t=BigInt(t));const r=pm.get(t);r&&K(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",t),pm.set(t,e)}};Fu=new WeakMap,$u=new WeakMap,So=new WeakMap;let Ji=ru;function Lv(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 Uv(n){return new XW(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 c=i.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:Lv(c.maxFee,9),maxPriorityFeePerGas:Lv(c.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 Dv=!1;function tZ(){if(Dv)return;Dv=!0;function n(t,e,r){const i=function(){const s=new Ji(t,e);return r.ensNetwork!=null&&s.attachPlugin(new Wp(null,r.ensNetwork)),s.attachPlugin(new jp),(r.plugins||[]).forEach(o=>{s.attachPlugin(o)}),s};Ji.register(t,i),Ji.register(e,i),r.altNames&&r.altNames.forEach(s=>{Ji.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:[Uv("https://gasstation.polygon.technology/v2")]}),n("matic-amoy",80002,{}),n("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Uv("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 Rw(n){return JSON.parse(JSON.stringify(n))}var Ns,Jr,Io,Di,Hu,t0;class eZ{constructor(t){nt(this,Hu);nt(this,Ns);nt(this,Jr);nt(this,Io);nt(this,Di);$(this,Ns,t),$(this,Jr,null),$(this,Io,4e3),$(this,Di,-2)}get pollingInterval(){return T(this,Io)}set pollingInterval(t){$(this,Io,t)}start(){T(this,Jr)||($(this,Jr,T(this,Ns)._setTimeout(_t(this,Hu,t0).bind(this),T(this,Io))),_t(this,Hu,t0).call(this))}stop(){T(this,Jr)&&(T(this,Ns)._clearTimeout(T(this,Jr)),$(this,Jr,null))}pause(t){this.stop(),t&&$(this,Di,-2)}resume(){this.start()}}Ns=new WeakMap,Jr=new WeakMap,Io=new WeakMap,Di=new WeakMap,Hu=new WeakSet,t0=async function(){try{const t=await T(this,Ns).getBlockNumber();if(T(this,Di)===-2){$(this,Di,t);return}if(t!==T(this,Di)){for(let e=T(this,Di)+1;e<=t;e++){if(T(this,Jr)==null)return;await T(this,Ns).emit("block",e)}$(this,Di,t)}}catch{}T(this,Jr)!=null&&$(this,Jr,T(this,Ns)._setTimeout(_t(this,Hu,t0).bind(this),T(this,Io)))};var za,Ga,ko;class ab{constructor(t){nt(this,za);nt(this,Ga);nt(this,ko);$(this,za,t),$(this,ko,!1),$(this,Ga,e=>{this._poll(e,T(this,za))})}async _poll(t,e){throw new Error("sub-classes must override this")}start(){T(this,ko)||($(this,ko,!0),T(this,Ga).call(this,-2),T(this,za).on("block",T(this,Ga)))}stop(){T(this,ko)&&($(this,ko,!1),T(this,za).off("block",T(this,Ga)))}pause(t){this.stop()}resume(){this.start()}}za=new WeakMap,Ga=new WeakMap,ko=new WeakMap;var zu,Cs;class nZ extends ab{constructor(e,r){super(e);nt(this,zu);nt(this,Cs);$(this,zu,r),$(this,Cs,-2)}pause(e){e&&$(this,Cs,-2),super.pause(e)}async _poll(e,r){const i=await r.getBlock(T(this,zu));i!=null&&(T(this,Cs)===-2?$(this,Cs,i.number):i.number>T(this,Cs)&&(r.emit(T(this,zu),i.number),$(this,Cs,i.number)))}}zu=new WeakMap,Cs=new WeakMap;var W0;class rZ extends ab{constructor(e,r){super(e);nt(this,W0);$(this,W0,Rw(r))}async _poll(e,r){throw new Error("@TODO")}}W0=new WeakMap;var Gu;class iZ extends ab{constructor(e,r){super(e);nt(this,Gu);$(this,Gu,r)}async _poll(e,r){const i=await r.getTransactionReceipt(T(this,Gu));i&&r.emit(T(this,Gu),i)}}Gu=new WeakMap;var Bs,Vu,Ku,To,Yr,Z0,TT;class cb{constructor(t,e){nt(this,Z0);nt(this,Bs);nt(this,Vu);nt(this,Ku);nt(this,To);nt(this,Yr);$(this,Bs,t),$(this,Vu,Rw(e)),$(this,Ku,_t(this,Z0,TT).bind(this)),$(this,To,!1),$(this,Yr,-2)}start(){T(this,To)||($(this,To,!0),T(this,Yr)===-2&&T(this,Bs).getBlockNumber().then(t=>{$(this,Yr,t)}),T(this,Bs).on("block",T(this,Ku)))}stop(){T(this,To)&&($(this,To,!1),T(this,Bs).off("block",T(this,Ku)))}pause(t){this.stop(),t&&$(this,Yr,-2)}resume(){this.start()}}Bs=new WeakMap,Vu=new WeakMap,Ku=new WeakMap,To=new WeakMap,Yr=new WeakMap,Z0=new WeakSet,TT=async function(t){if(T(this,Yr)===-2)return;const e=Rw(T(this,Vu));e.fromBlock=T(this,Yr)+1,e.toBlock=t;const r=await T(this,Bs).getLogs(e);if(r.length===0){T(this,Yr)<t-60&&$(this,Yr,t-60);return}for(const i of r)T(this,Bs).emit(T(this,Vu),i),$(this,Yr,i.blockNumber)};const sZ=BigInt(2),oZ=10;function zd(n){return n&&typeof n.then=="function"}function e0(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 H0{constructor(t){Z(this,"name");$t(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}function aZ(n){return JSON.parse(JSON.stringify(n))}function Sw(n){return n=Array.from(new Set(n).values()),n.sort(),n}async function gm(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(He(n,32)){const e=n.toLowerCase();return{type:"transaction",tag:e0("tx",{hash:e}),hash:e}}if(n.orphan){const e=n;return{type:"orphan",tag:e0("orphan",e),filter:aZ(e)}}if(n.address||n.topics){const e=n,r={topics:(e.topics||[]).map(i=>i==null?null:Array.isArray(i)?Sw(i.map(s=>s.toLowerCase())):i.toLowerCase())};if(e.address){const i=[],s=[],o=c=>{He(c)?i.push(c):s.push((async()=>{i.push(await yr(c,t))})())};Array.isArray(e.address)?e.address.forEach(o):o(e.address),s.length&&await Promise.all(s),r.address=Sw(i.map(c=>c.toLowerCase()))}return{filter:r,tag:e0("event",r),type:"event"}}K(!1,"unknown ProviderEvent","event",n)}function ym(){return new Date().getTime()}const cZ={cacheTimeout:250,pollingInterval:4e3};var ir,Oo,sr,ju,$r,Va,No,Ps,Ph,Xr,Wu,Zu,se,Cr,Iw,kw,Tf,Tw,Of,n0;class uZ{constructor(t,e){nt(this,se);nt(this,ir);nt(this,Oo);nt(this,sr);nt(this,ju);nt(this,$r);nt(this,Va);nt(this,No);nt(this,Ps);nt(this,Ph);nt(this,Xr);nt(this,Wu);nt(this,Zu);if($(this,Zu,Object.assign({},cZ,e||{})),t==="any")$(this,Va,!0),$(this,$r,null);else if(t){const r=Ji.from(t);$(this,Va,!1),$(this,$r,Promise.resolve(r)),setTimeout(()=>{this.emit("network",r,null)},0)}else $(this,Va,!1),$(this,$r,null);$(this,Ps,-1),$(this,No,new Map),$(this,ir,new Map),$(this,Oo,new Map),$(this,sr,null),$(this,ju,!1),$(this,Ph,1),$(this,Xr,new Map),$(this,Wu,!1)}get pollingInterval(){return T(this,Zu).pollingInterval}get provider(){return this}get plugins(){return Array.from(T(this,Oo).values())}attachPlugin(t){if(T(this,Oo).get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return T(this,Oo).set(t.name,t.connect(this)),this}getPlugin(t){return T(this,Oo).get(t)||null}get disableCcipRead(){return T(this,Wu)}set disableCcipRead(t){$(this,Wu,!!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 c=0;c<r.length;c++){const u=r[c],f=u.replace("{sender}",i).replace("{data}",s),h=new Zs(f);u.indexOf("{data}")===-1&&(h.body={data:s,sender:i}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:h,index:c,urls:r});let y="unknown error",A;try{A=await h.send()}catch(b){o.push(b.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:h,result:{error:b}});continue}try{const b=A.bodyJson;if(b.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:h,result:b}),b.data;b.message&&(y=b.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:h,result:b})}catch{}ht(A.statusCode<400||A.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(c=>JSON.stringify(c)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:r,errorMessages:o}})}_wrapBlock(t,e){return new kW(WW(t),this)}_wrapLog(t,e){return new nd(KW(t),this)}_wrapTransactionReceipt(t,e){return new gT(JW(t),this)}_wrapTransactionResponse(t,e){return new vh(kT(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=oe(await _t(this,se,Cr).call(this,{method:"getBlockNumber"}),"%response");return T(this,Ps)>=0&&$(this,Ps,t),t}_getAddress(t){return yr(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(He(t))return He(t,32)?t:tu(t);if(typeof t=="bigint"&&(t=oe(t,"blockTag")),typeof t=="number")return t>=0?tu(t):T(this,Ps)>=0?tu(T(this,Ps)+t):this.getBlockNumber().then(e=>tu(e+t));K(!1,"invalid blockTag","blockTag",t)}_getFilter(t){const e=(t.topics||[]).map(u=>u==null?null:Array.isArray(u)?Sw(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 A={};return y&&(A.address=y),e.length&&(A.topics=e),f&&(A.fromBlock=f),h&&(A.toBlock=h),r&&(A.blockHash=r),A};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 c;return"toBlock"in t&&(c=this._getBlockTag(t.toBlock)),s.filter(u=>typeof u!="string").length||o!=null&&typeof o!="string"||c!=null&&typeof c!="string"?Promise.all([Promise.all(s),o,c]).then(u=>i(u[0],u[1],u[2])):i(s,o,c)}_getTransactionRequest(t){const e=D0(t),r=[];if(["to","from"].forEach(i=>{if(e[i]==null)return;const s=yr(e[i],this);zd(s)?r.push(async function(){e[i]=await s}()):e[i]=s}),e.blockTag!=null){const i=this._getBlockTag(e.blockTag);zd(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(T(this,$r)==null){const i=(async()=>{try{const s=await this._detectNetwork();return this.emit("network",s,null),s}catch(s){throw T(this,$r)===i&&$(this,$r,null),s}})();return $(this,$r,i),(await i).clone()}const t=T(this,$r),[e,r]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==r.chainId&&(T(this,Va)?(this.emit("network",r,e),T(this,$r)===t&&$(this,$r,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 lr({_block:_t(this,se,Tw).call(this,"latest",!1),gasPrice:(async()=>{try{const h=await _t(this,se,Cr).call(this,{method:"getGasPrice"});return Nt(h,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const h=await _t(this,se,Cr).call(this,{method:"getPriorityFee"});return Nt(h,"%response")}catch{}return null})()});let c=null,u=null;const f=this._wrapBlock(i,t);return f&&f.baseFeePerGas&&(u=o??BigInt("1000000000"),c=f.baseFeePerGas*sZ+u),new Nv(s,c,u)},r=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){const i=new Zs(r.url),s=await r.processFunc(e,this,i);return new Nv(s.gasPrice,s.maxFeePerGas,s.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return zd(e)&&(e=await e),Nt(await _t(this,se,Cr).call(this,{method:"estimateGas",transaction:e}),"%response")}async call(t){const{tx:e,blockTag:r}=await lr({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await _t(this,se,kw).call(this,_t(this,se,Iw).call(this,e,r,t.enableCcipRead?0:-1))}async getBalance(t,e){return Nt(await _t(this,se,Tf).call(this,{method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return oe(await _t(this,se,Tf).call(this,{method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return kt(await _t(this,se,Tf).call(this,{method:"getCode"},t,e))}async getStorage(t,e,r){const i=Nt(e,"position");return kt(await _t(this,se,Tf).call(this,{method:"getStorage",position:i},t,r))}async broadcastTransaction(t){const{blockNumber:e,hash:r,network:i}=await lr({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),s=L0.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 lr({network:this.getNetwork(),params:_t(this,se,Tw).call(this,t,!!e)});return i==null?null:this._wrapBlock(i,r)}async getTransaction(t){const{network:e,params:r}=await lr({network:this.getNetwork(),params:_t(this,se,Cr).call(this,{method:"getTransaction",hash:t})});return r==null?null:this._wrapTransactionResponse(r,e)}async getTransactionReceipt(t){const{network:e,params:r}=await lr({network:this.getNetwork(),params:_t(this,se,Cr).call(this,{method:"getTransactionReceipt",hash:t})});if(r==null)return null;if(r.gasPrice==null&&r.effectiveGasPrice==null){const i=await _t(this,se,Cr).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 lr({network:this.getNetwork(),result:_t(this,se,Cr).call(this,{method:"getTransactionResult",hash:t})});return e==null?null:kt(e)}async getLogs(t){let e=this._getFilter(t);zd(e)&&(e=await e);const{network:r,params:i}=await lr({network:this.getNetwork(),params:_t(this,se,Cr).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 $0.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=Pe(t);const e=bw(t.substring(2).toLowerCase()+".addr.reverse");try{const r=await $0.getEnsAddress(this),s=await new hu(r,["function resolver(bytes32) view returns (address)"],this).resolver(e);if(s==null||s===gh)return null;const c=await new hu(s,["function name(bytes32) view returns (string)"],this).name(e);return await this.resolveName(c)!==t?null:c}catch(r){if(Wn(r,"BAD_DATA")&&r.value==="0x"||Wn(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 c=null;const u=async f=>{try{const h=await this.getTransactionReceipt(t);if(h!=null&&f-h.blockNumber+1>=i){s(h),c&&(clearTimeout(c),c=null);return}}catch(h){console.log("EEE",h)}this.once("block",u)};r!=null&&(c=setTimeout(()=>{c!=null&&(c=null,this.off("block",u),o(Ze("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=T(this,Xr).get(t);e&&(e.timer&&clearTimeout(e.timer),T(this,Xr).delete(t))}_setTimeout(t,e){e==null&&(e=0);const r=df(this,Ph)._++,i=()=>{T(this,Xr).delete(r),t()};if(this.paused)T(this,Xr).set(r,{timer:null,func:i,time:e});else{const s=setTimeout(i,e);T(this,Xr).set(r,{timer:s,func:i,time:ym()})}return r}_forEachSubscriber(t){for(const e of T(this,ir).values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new H0(t.type);case"block":{const e=new eZ(this);return e.pollingInterval=this.pollingInterval,e}case"safe":case"finalized":return new nZ(this,t.type);case"event":return new cb(this,t.filter);case"transaction":return new iZ(this,t.hash);case"orphan":return new rZ(this,t.filter)}throw new Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(const r of T(this,ir).values())if(r.subscriber===t){r.started&&r.subscriber.stop(),r.subscriber=e,r.started&&e.start(),T(this,sr)!=null&&e.pause(T(this,sr));break}}async on(t,e){const r=await _t(this,se,n0).call(this,t);return r.listeners.push({listener:e,once:!1}),r.started||(r.subscriber.start(),r.started=!0,T(this,sr)!=null&&r.subscriber.pause(T(this,sr))),this}async once(t,e){const r=await _t(this,se,n0).call(this,t);return r.listeners.push({listener:e,once:!0}),r.started||(r.subscriber.start(),r.started=!0,T(this,sr)!=null&&r.subscriber.pause(T(this,sr))),this}async emit(t,...e){const r=await _t(this,se,Of).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 c=new jI(this,o?null:s,t);try{s.call(this,...e,c)}catch{}return!o}),r.listeners.length===0&&(r.started&&r.subscriber.stop(),T(this,ir).delete(r.tag)),i>0}async listenerCount(t){if(t){const r=await _t(this,se,Of).call(this,t);return r?r.listeners.length:0}let e=0;for(const{listeners:r}of T(this,ir).values())e+=r.length;return e}async listeners(t){if(t){const r=await _t(this,se,Of).call(this,t);return r?r.listeners.map(({listener:i})=>i):[]}let e=[];for(const{listeners:r}of T(this,ir).values())e=e.concat(r.map(({listener:i})=>i));return e}async off(t,e){const r=await _t(this,se,Of).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(),T(this,ir).delete(r.tag)),this}async removeAllListeners(t){if(t){const{tag:e,started:r,subscriber:i}=await _t(this,se,n0).call(this,t);r&&i.stop(),T(this,ir).delete(e)}else for(const[e,{started:r,subscriber:i}]of T(this,ir))r&&i.stop(),T(this,ir).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 T(this,ju)}destroy(){this.removeAllListeners();for(const t of T(this,Xr).keys())this._clearTimeout(t);$(this,ju,!0)}get paused(){return T(this,sr)!=null}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if($(this,Ps,-1),T(this,sr)!=null){if(T(this,sr)==!!t)return;ht(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(e=>e.pause(t)),$(this,sr,!!t);for(const e of T(this,Xr).values())e.timer&&clearTimeout(e.timer),e.time=ym()-e.time}resume(){if(T(this,sr)!=null){this._forEachSubscriber(t=>t.resume()),$(this,sr,null);for(const t of T(this,Xr).values()){let e=t.time;e<0&&(e=0),t.time=ym(),setTimeout(t.func,e)}}}}ir=new WeakMap,Oo=new WeakMap,sr=new WeakMap,ju=new WeakMap,$r=new WeakMap,Va=new WeakMap,No=new WeakMap,Ps=new WeakMap,Ph=new WeakMap,Xr=new WeakMap,Wu=new WeakMap,Zu=new WeakMap,se=new WeakSet,Cr=async function(t){const e=T(this,Zu).cacheTimeout;if(e<0)return await this._perform(t);const r=e0(t.method,t);let i=T(this,No).get(r);return i||(i=this._perform(t),T(this,No).set(r,i),setTimeout(()=>{T(this,No).get(r)===i&&T(this,No).delete(r)},e)),await i},Iw=async function(t,e,r){ht(r<oZ,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});const i=D0(t);try{return kt(await this._perform({method:"call",transaction:i,blockTag:e}))}catch(s){if(!this.disableCcipRead&&$1(s)&&s.data&&r>=0&&e==="latest"&&i.to!=null&&bn(s.data,0,4)==="0x556f1830"){const o=s.data,c=await yr(i.to,this);let u;try{u=pZ(bn(s.data,4))}catch(y){ht(!1,y.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:i,info:{data:o}})}ht(u.sender.toLowerCase()===c.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:c,data:Rn([u.selector,dZ([f,u.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:h});try{const y=await _t(this,se,Iw).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}},kw=async function(t){const{value:e}=await lr({network:this.getNetwork(),value:t});return e},Tf=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 _t(this,se,kw).call(this,_t(this,se,Cr).call(this,Object.assign(t,{address:i,blockTag:s})))},Tw=async function(t,e){if(He(t,32))return await _t(this,se,Cr).call(this,{method:"getBlock",blockHash:t,includeTransactions:e});let r=this._getBlockTag(t);return typeof r!="string"&&(r=await r),await _t(this,se,Cr).call(this,{method:"getBlock",blockTag:r,includeTransactions:e})},Of=async function(t,e){let r=await gm(t,this);return r.type==="event"&&e&&e.length>0&&e[0].removed===!0&&(r=await gm({orphan:"drop-log",log:e[0]},this)),T(this,ir).get(r.tag)||null},n0=async function(t){const e=await gm(t,this),r=e.tag;let i=T(this,ir).get(r);return i||(i={subscriber:this._getSubscriber(e),tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},T(this,ir).set(r,i)),i};function lZ(n,t){try{const e=Ow(n,t);if(e)return T0(e)}catch{}return null}function Ow(n,t){if(n==="0x")return null;try{const e=oe(bn(n,t,t+32)),r=oe(bn(n,e,e+32));return bn(n,e+32,e+32+r)}catch{}return null}function Fv(n){const t=pr(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 fZ(n){if(n.length%32===0)return n;const t=new Uint8Array(Math.ceil(n.length/32)*32);return t.set(n),t}const hZ=new Uint8Array([]);function dZ(n){const t=[];let e=0;for(let r=0;r<n.length;r++)t.push(hZ),e+=32;for(let r=0;r<n.length;r++){const i=ye(n[r]);t[r]=Fv(e),t.push(Fv(i.length)),t.push(fZ(i)),e+=32+Math.ceil(i.length/32)*32}return Rn(t)}const $v="0x0000000000000000000000000000000000000000000000000000000000000000";function pZ(n){const t={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};ht(uu(n)>=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const e=bn(n,0,32);ht(bn(e,0,12)===bn($v,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),t.sender=bn(e,12);try{const r=[],i=oe(bn(n,32,64)),s=oe(bn(n,i,i+32)),o=bn(n,i+32);for(let c=0;c<s;c++){const u=lZ(o,c*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=Ow(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(bn(n,100,128)===bn($v,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),t.selector=bn(n,96,100);try{const r=Ow(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 $c(n,t){if(n.provider)return n.provider;ht(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:t})}async function Hv(n,t){let e=D0(t);if(e.to!=null&&(e.to=yr(e.to,n)),e.from!=null){const r=e.from;e.from=Promise.all([n.getAddress(),yr(r,n)]).then(([i,s])=>(K(i.toLowerCase()===s.toLowerCase(),"transaction from mismatch","tx.from",s),i))}else e.from=n.getAddress();return await lr(e)}class gZ{constructor(t){Z(this,"provider");$t(this,{provider:t||null})}async getNonce(t){return $c(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}async populateCall(t){return await Hv(this,t)}async populateTransaction(t){const e=$c(this,"populateTransaction"),r=await Hv(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=Nt(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 c=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=c,r.maxPriorityFeePerGas=c}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 lr(r)}async estimateGas(t){return $c(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return $c(this,"call").call(await this.populateCall(t))}async resolveName(t){return await $c(this,"resolveName").resolveName(t)}async sendTransaction(t){const e=$c(this,"sendTransaction"),r=await this.populateTransaction(t);delete r.from;const i=L0.from(r);return await e.broadcastTransaction(await this.signTransaction(i))}}function yZ(n){return JSON.parse(JSON.stringify(n))}var ur,Fi,Ka,Co,ja,qu,ta,Nw,Cw;class OT{constructor(t){nt(this,ta);nt(this,ur);nt(this,Fi);nt(this,Ka);nt(this,Co);nt(this,ja);nt(this,qu);$(this,ur,t),$(this,Fi,null),$(this,Ka,_t(this,ta,Nw).bind(this)),$(this,Co,!1),$(this,ja,null),$(this,qu,!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(){T(this,Co)||($(this,Co,!0),_t(this,ta,Nw).call(this,-2))}stop(){T(this,Co)&&($(this,Co,!1),$(this,qu,!0),_t(this,ta,Cw).call(this),T(this,ur).off("block",T(this,Ka)))}pause(t){t&&_t(this,ta,Cw).call(this),T(this,ur).off("block",T(this,Ka))}resume(){this.start()}}ur=new WeakMap,Fi=new WeakMap,Ka=new WeakMap,Co=new WeakMap,ja=new WeakMap,qu=new WeakMap,ta=new WeakSet,Nw=async function(t){try{T(this,Fi)==null&&$(this,Fi,this._subscribe(T(this,ur)));let e=null;try{e=await T(this,Fi)}catch(s){if(!Wn(s,"UNSUPPORTED_OPERATION")||s.operation!=="eth_newFilter")throw s}if(e==null){$(this,Fi,null),T(this,ur)._recoverSubscriber(this,this._recover(T(this,ur)));return}const r=await T(this,ur).getNetwork();if(T(this,ja)||$(this,ja,r),T(this,ja).chainId!==r.chainId)throw new Error("chaid changed");if(T(this,qu))return;const i=await T(this,ur).send("eth_getFilterChanges",[e]);await this._emitResults(T(this,ur),i)}catch(e){console.log("@TODO",e)}T(this,ur).once("block",T(this,Ka))},Cw=function(){const t=T(this,Fi);t&&($(this,Fi,null),t.then(e=>{T(this,ur).destroyed||T(this,ur).send("eth_uninstallFilter",[e])}))};var Wa;class mZ extends OT{constructor(e,r){super(e);nt(this,Wa);$(this,Wa,yZ(r))}_recover(e){return new cb(e,T(this,Wa))}async _subscribe(e){return await e.send("eth_newFilter",[T(this,Wa)])}async _emitResults(e,r){for(const i of r)e.emit(T(this,Wa),e._wrapLog(i,e._network))}}Wa=new WeakMap;class wZ extends OT{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(const r of e)t.emit("pending",r)}}const bZ="bigint,boolean,function,number,string,symbol".split(/,/g);function r0(n){if(n==null||bZ.indexOf(typeof n)>=0||typeof n.getAddress=="function")return n;if(Array.isArray(n))return n.map(r0);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 _Z(n){return new Promise(t=>{setTimeout(t,n)})}function Hc(n){return n&&n.toLowerCase()}function zv(n){return n&&typeof n.pollingInterval=="number"}const NT={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class mm extends gZ{constructor(e,r){super(e);Z(this,"address");r=Pe(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=r0(e),i=[];if(r.from){const o=r.from;i.push((async()=>{const c=await yr(o,this.provider);K(c!=null&&c.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=c})())}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 yr(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 c=[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(Wn(h,"CANCELLED")||Wn(h,"BAD_DATA")||Wn(h,"NETWORK_ERROR")||Wn(h,"UNSUPPORTED_OPERATION")){h.info==null&&(h.info={}),h.info.sendTransactionHash=i,o(h);return}if(Wn(h,"INVALID_ARGUMENT")&&(u++,h.info==null&&(h.info={}),h.info.sendTransactionHash=i,u>10)){o(h);return}this.provider.emit("error",Ze("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:h}))}this.provider._setTimeout(()=>{f()},c.pop()||4e3)};f()})}async signTransaction(e){const r=r0(e);if(r.from){const s=await yr(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"?Vs(e):e;return await this.provider.send("personal_sign",[kt(r),this.address.toLowerCase()])}async signTypedData(e,r,i){const s=r0(i),o=await U0.resolveNames(e,r,s,async c=>{const u=await yr(c);return K(u!=null,"TypedData does not support null address","value",c),u});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(U0.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"?Vs(e):e;return await this.provider.send("eth_sign",[this.address.toLowerCase(),kt(r)])}}var Za,Qu,Ms,$i,gi,ti,Er,Mh,Bw;class CT extends uZ{constructor(e,r){super(e,r);nt(this,Mh);nt(this,Za);nt(this,Qu);nt(this,Ms);nt(this,$i);nt(this,gi);nt(this,ti);nt(this,Er);$(this,Qu,1),$(this,Za,Object.assign({},NT,r||{})),$(this,Ms,[]),$(this,$i,null),$(this,ti,null),$(this,Er,null);{let s=null;const o=new Promise(c=>{s=c});$(this,gi,{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&&$(this,ti,Ji.from(e))):i&&(K(e==null||i.matches(e),"staticNetwork MUST match network object","options",r),$(this,ti,i))}_getOption(e){return T(this,Za)[e]}get _network(){return ht(T(this,ti),"network is not available yet","NETWORK_ERROR"),T(this,ti)}async _perform(e){if(e.method==="call"||e.method==="estimateGas"){let i=e.transaction;if(i&&i.type!=null&&Nt(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(T(this,ti))return T(this,ti)}else return e;return T(this,Er)?await T(this,Er):this.ready?($(this,Er,(async()=>{try{const r=Ji.from(Nt(await this.send("eth_chainId",[])));return $(this,Er,null),r}catch(r){throw $(this,Er,null),r}})()),await T(this,Er)):($(this,Er,(async()=>{const r={id:df(this,Qu)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:r});let i;try{i=(await this._send(r))[0],$(this,Er,null)}catch(s){throw $(this,Er,null),this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:i}),"result"in i)return Ji.from(Nt(i.result));throw this.getRpcError(r,i)})()),await T(this,Er))}_start(){T(this,gi)==null||T(this,gi).resolve==null||(T(this,gi).resolve(),$(this,gi,null),(async()=>{for(;T(this,ti)==null&&!this.destroyed;)try{$(this,ti,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",Ze("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:e}})),await _Z(1e3)}_t(this,Mh,Bw).call(this)})())}async _waitUntilReady(){if(T(this,gi)!=null)return await T(this,gi).promise}_getSubscriber(e){return e.type==="pending"?new wZ(this):e.type==="event"?this._getOption("polling")?new cb(this,e.filter):new mZ(this,e.filter):e.type==="orphan"&&e.filter.orphan==="drop-log"?new H0("orphan"):super._getSubscriber(e)}get ready(){return T(this,gi)==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]=tu(Nt(e[i],`tx.${i}`))}),["from","to","data"].forEach(i=>{e[i]!=null&&(r[i]=kt(e[i]))}),e.accessList&&(r.accessList=Sc(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:[Hc(e.address),e.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Hc(e.address),e.blockTag]};case"getCode":return{method:"eth_getCode",args:[Hc(e.address),e.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Hc(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(Hc):e.filter.address=Hc(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 Ze("insufficient funds","INSUFFICIENT_FUNDS",{transaction:e.params[0],info:{payload:e,error:s}})}if(i==="eth_call"||i==="eth_estimateGas"){const u=Pw(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(vZ(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Ze("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 Ze("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:u,info:{error:s}});if(o.match(/nonce/i)&&o.match(/too low/i))return Ze("nonce has already been used","NONCE_EXPIRED",{transaction:u,info:{error:s}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Ze("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:u,info:{error:s}});if(o.match(/only replay-protected/i))return Ze("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:i,info:{transaction:u,info:{error:s}}})}let c=!!o.match(/the method .* does not exist/i);return c||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(c=!0),c?Ze("unsupported operation","UNSUPPORTED_OPERATION",{operation:e.method,info:{error:s,payload:e}}):Ze("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:e})}send(e,r){if(this.destroyed)return Promise.reject(Ze("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e}));const i=df(this,Qu)._++,s=new Promise((o,c)=>{T(this,Ms).push({resolve:o,reject:c,payload:{method:e,params:r,id:i,jsonrpc:"2.0"}})});return _t(this,Mh,Bw).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 mm(this,s[e])}const{accounts:i}=await lr({network:this.getNetwork(),accounts:r});e=Pe(e);for(const s of i)if(Pe(s)===e)return new mm(this,e);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(r=>new mm(this,r))}destroy(){T(this,$i)&&(clearTimeout(T(this,$i)),$(this,$i,null));for(const{payload:e,reject:r}of T(this,Ms))r(Ze("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e.method}));$(this,Ms,[]),super.destroy()}}Za=new WeakMap,Qu=new WeakMap,Ms=new WeakMap,$i=new WeakMap,gi=new WeakMap,ti=new WeakMap,Er=new WeakMap,Mh=new WeakSet,Bw=function(){if(T(this,$i))return;const e=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");$(this,$i,setTimeout(()=>{$(this,$i,null);const r=T(this,Ms);for($(this,Ms,[]);r.length;){const i=[r.shift()];for(;r.length&&i.length!==T(this,Za).batchMaxCount;)if(i.push(r.shift()),JSON.stringify(i.map(o=>o.payload)).length>T(this,Za).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:c,reject:u,payload:f}of i){if(this.destroyed){u(Ze("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=Ze("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}c(h.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(const{reject:c}of i)c(o)}})()}},e))};var Bo;class AZ extends CT{constructor(e,r){super(e,r);nt(this,Bo);let i=this._getOption("pollingInterval");i==null&&(i=NT.pollingInterval),$(this,Bo,i)}_getSubscriber(e){const r=super._getSubscriber(e);return zv(r)&&(r.pollingInterval=T(this,Bo)),r}get pollingInterval(){return T(this,Bo)}set pollingInterval(e){if(!Number.isInteger(e)||e<0)throw new Error("invalid interval");$(this,Bo,e),this._forEachSubscriber(r=>{zv(r)&&(r.pollingInterval=T(this,Bo))})}}Bo=new WeakMap;var Ju;class EZ extends AZ{constructor(e,r,i){e==null&&(e="http://localhost:8545");super(r,i);nt(this,Ju);typeof e=="string"?$(this,Ju,new Zs(e)):$(this,Ju,e.clone())}_getConnection(){return T(this,Ju).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}}Ju=new WeakMap;function Pw(n){if(n==null)return null;if(typeof n.message=="string"&&n.message.match(/revert/i)&&He(n.data))return{message:n.message,data:n.data};if(typeof n=="object"){for(const t in n){const e=Pw(n[t]);if(e)return e}return null}if(typeof n=="string")try{return Pw(JSON.parse(n))}catch{}return null}function Mw(n,t){if(n!=null){if(typeof n.message=="string"&&t.push(n.message),typeof n=="object")for(const e in n)Mw(n[e],t);if(typeof n=="string")try{return Mw(JSON.parse(n),t)}catch{}}}function vZ(n){const t=[];return Mw(n,t),t}function xZ(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof nl<"u")return nl;throw new Error("unable to locate global object")}const RZ=xZ().WebSocket;var Hi,Lh,Po,qa,Mo;class ub{constructor(t,e){nt(this,Hi);nt(this,Lh);nt(this,Po);nt(this,qa);nt(this,Mo);$(this,Hi,t),$(this,Lh,JSON.stringify(e)),$(this,Po,null),$(this,qa,null),$(this,Mo,null)}get filter(){return JSON.parse(T(this,Lh))}start(){$(this,Po,T(this,Hi).send("eth_subscribe",this.filter).then(t=>(T(this,Hi)._register(t,this),t)))}stop(){T(this,Po).then(t=>{T(this,Hi).destroyed||T(this,Hi).send("eth_unsubscribe",[t])}),$(this,Po,null)}pause(t){ht(t,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),$(this,qa,!!t)}resume(){$(this,qa,null)}_handleMessage(t){if(T(this,Po)!=null&&T(this,qa)===null){let e=T(this,Mo);e==null?e=this._emit(T(this,Hi),t):e=e.then(async()=>{await this._emit(T(this,Hi),t)}),$(this,Mo,e.then(()=>{T(this,Mo)===e&&$(this,Mo,null)}))}}async _emit(t,e){throw new Error("sub-classes must implemente this; _emit")}}Hi=new WeakMap,Lh=new WeakMap,Po=new WeakMap,qa=new WeakMap,Mo=new WeakMap;class SZ extends ub{constructor(t){super(t,["newHeads"])}async _emit(t,e){t.emit("block",parseInt(e.number))}}class IZ extends ub{constructor(t){super(t,["newPendingTransactions"])}async _emit(t,e){t.emit("pending",e)}}var Uh;class kZ extends ub{constructor(e,r){super(e,["logs",r]);nt(this,Uh);$(this,Uh,JSON.stringify(r))}get logFilter(){return JSON.parse(T(this,Uh))}async _emit(e,r){e.emit(this.logFilter,e._wrapLog(r,e._network))}}Uh=new WeakMap;var Qa,Yu,Lo;class TZ extends CT{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);nt(this,Qa);nt(this,Yu);nt(this,Lo);$(this,Qa,new Map),$(this,Yu,new Map),$(this,Lo,new Map)}_getSubscriber(e){switch(e.type){case"close":return new H0("close");case"block":return new SZ(this);case"pending":return new IZ(this);case"event":return new kZ(this,e.filter);case"orphan":if(e.filter.orphan==="drop-log")return new H0("drop-log")}return super._getSubscriber(e)}_register(e,r){T(this,Yu).set(e,r);const i=T(this,Lo).get(e);if(i){for(const s of i)r._handleMessage(s);T(this,Lo).delete(e)}}async _send(e){K(!Array.isArray(e),"WebSocket does not support batch send","payload",e);const r=new Promise((i,s)=>{T(this,Qa).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=T(this,Qa).get(r.id);if(i==null){this.emit("error",Ze("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:r}));return}T(this,Qa).delete(r.id),i.resolve(r)}else if(r&&r.method==="eth_subscription"){const i=r.params.subscription,s=T(this,Yu).get(i);if(s)s._handleMessage(r.params.result);else{let o=T(this,Lo).get(i);o==null&&(o=[],T(this,Lo).set(i,o)),o.push(r.params.result)}}else{this.emit("error",Ze("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:r}));return}}async _write(e){throw new Error("sub-classes must override this")}}Qa=new WeakMap,Yu=new WeakMap,Lo=new WeakMap;var Ja,yi;class OZ extends TZ{constructor(e,r,i){super(r,i);nt(this,Ja);nt(this,yi);typeof e=="string"?($(this,Ja,()=>new RZ(e)),$(this,yi,T(this,Ja).call(this))):typeof e=="function"?($(this,Ja,e),$(this,yi,e())):($(this,Ja,null),$(this,yi,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(T(this,yi)==null)throw new Error("websocket closed");return T(this,yi)}async _write(e){this.websocket.send(e)}async destroy(){T(this,yi)!=null&&(T(this,yi).close(),$(this,yi,null)),super.destroy()}}Ja=new WeakMap,yi=new WeakMap;const NZ="hh-sol-artifact-1",CZ="SwarmEventEmitter",BZ="contracts/SwarmEventEmitter.sol",PZ=[{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"}],MZ="0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a26107b08061013b6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632ac0df261461005c5780638ab1d68114610078578063d936547e14610094578063e43252d7146100c4578063f851a440146100e0575b600080fd5b610076600480360381019061007191906104e8565b6100fe565b005b610092600480360381019061008d9190610593565b6101de565b005b6100ae60048036038101906100a99190610593565b61030a565b6040516100bb91906105db565b60405180910390f35b6100de60048036038101906100d99190610593565b61032a565b005b6100e8610455565b6040516100f59190610605565b60405180910390f35b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101819061067d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fda502b164eb5cfccfa9f947e0fdc1a0bd060adfef2947810b256321c1a74ca4183836040516101d29291906106ea565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102639061075a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df75760405160405180910390a250565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061075a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126104a8576104a7610483565b5b8235905067ffffffffffffffff8111156104c5576104c4610488565b5b6020830191508360018202830111156104e1576104e061048d565b5b9250929050565b600080602083850312156104ff576104fe610479565b5b600083013567ffffffffffffffff81111561051d5761051c61047e565b5b61052985828601610492565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061056082610535565b9050919050565b61057081610555565b811461057b57600080fd5b50565b60008135905061058d81610567565b92915050565b6000602082840312156105a9576105a8610479565b5b60006105b78482850161057e565b91505092915050565b60008115159050919050565b6105d5816105c0565b82525050565b60006020820190506105f060008301846105cc565b92915050565b6105ff81610555565b82525050565b600060208201905061061a60008301846105f6565b92915050565b600082825260208201905092915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000610667600f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006106c98385610620565b93506106d683858461069d565b6106df836106ac565b840190509392505050565b600060208201905081810360008301526107058184866106bd565b90509392505050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000610744600983610620565b915061074f8261070e565b602082019050919050565b6000602082019050818103600083015261077381610737565b905091905056fea26469706673582212202ad433ea9240cc561f6b9168c7880800e372f26e322166cedd6ce135222e699764736f6c634300081c0033",LZ="0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632ac0df261461005c5780638ab1d68114610078578063d936547e14610094578063e43252d7146100c4578063f851a440146100e0575b600080fd5b610076600480360381019061007191906104e8565b6100fe565b005b610092600480360381019061008d9190610593565b6101de565b005b6100ae60048036038101906100a99190610593565b61030a565b6040516100bb91906105db565b60405180910390f35b6100de60048036038101906100d99190610593565b61032a565b005b6100e8610455565b6040516100f59190610605565b60405180910390f35b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101819061067d565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fda502b164eb5cfccfa9f947e0fdc1a0bd060adfef2947810b256321c1a74ca4183836040516101d29291906106ea565b60405180910390a25050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461026c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102639061075a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df75760405160405180910390a250565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103af9061075a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167faab7954e9d246b167ef88aeddad35209ca2489d95a8aeb59e288d9b19fae5a5460405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126104a8576104a7610483565b5b8235905067ffffffffffffffff8111156104c5576104c4610488565b5b6020830191508360018202830111156104e1576104e061048d565b5b9250929050565b600080602083850312156104ff576104fe610479565b5b600083013567ffffffffffffffff81111561051d5761051c61047e565b5b61052985828601610492565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061056082610535565b9050919050565b61057081610555565b811461057b57600080fd5b50565b60008135905061058d81610567565b92915050565b6000602082840312156105a9576105a8610479565b5b60006105b78482850161057e565b91505092915050565b60008115159050919050565b6105d5816105c0565b82525050565b60006020820190506105f060008301846105cc565b92915050565b6105ff81610555565b82525050565b600060208201905061061a60008301846105f6565b92915050565b600082825260208201905092915050565b7f4e6f742077686974656c69737465640000000000000000000000000000000000600082015250565b6000610667600f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006106c98385610620565b93506106d683858461069d565b6106df836106ac565b840190509392505050565b600060208201905081810360008301526107058184866106bd565b90509392505050565b7f4e6f742061646d696e0000000000000000000000000000000000000000000000600082015250565b6000610744600983610620565b915061074f8261070e565b602082019050919050565b6000602082019050818103600083015261077381610737565b905091905056fea26469706673582212202ad433ea9240cc561f6b9168c7880800e372f26e322166cedd6ce135222e699764736f6c634300081c0033",UZ={},DZ={},FZ={_format:NZ,contractName:CZ,sourceName:BZ,abi:PZ,bytecode:MZ,deployedBytecode:LZ,linkReferences:UZ,deployedLinkReferences:DZ},$Z="Eai8D93JKad51sYmft1r74fzLkBSwRGPQVAmwZoLoWDf",HZ={name:"swarm_event_emitter",version:"0.1.0",spec:"0.1.0",description:"Created with Anchor"},zZ=[{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"}]}],GZ=[{name:"State",discriminator:[216,146,107,94,104,75,182,177]}],VZ=[{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]}],KZ=[{code:6e3,name:"NotAdmin",msg:"Only the admin can perform this action."},{code:6001,name:"NotWhitelisted",msg:"You are not whitelisted."}],jZ=[{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"}]}}],WZ={address:$Z,metadata:HZ,instructions:zZ,accounts:GZ,events:VZ,errors:KZ,types:jZ};class ZZ{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 OZ(t):new EZ(t),i=new hu(e,FZ.abi,r);this.evm={provider:r,contract:i}}initSvm(){const t=new Z2(this.settings.rpcUrl,"confirmed"),e=tc.generate(),r={signTransaction:async o=>o,signAllTransactions:async o=>o,publicKey:e.publicKey},i=new dh(t,r,{}),s=new hl(WZ,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,c]=s.split("_");Ff(i.toLowerCase())===Ff(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:c}=s,[u,f]=c.split("_");o.toBase58()===this.settings.swarmEmitterAddress&&u===t&&e(o.toBase58(),c)});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 qZ=new TextEncoder,Gv=1,Vv=4096,wm=4096,QZ=32;function JZ(n,t){return t=typeof t=="number"?Qt.FeedIndex.fromBigInt(BigInt(t)):t,new Qt.Identifier(or.keccak256(or.concatBytes(n.toUint8Array(),t.toUint8Array())))}function YZ(n){const t=n.slice(0,Qt.Span.LENGTH),e=n.slice(Qt.Span.LENGTH),r=XZ(e),i=or.keccak256(or.concatBytes(t,r));return new Qt.Reference(i)}function XZ(n){if(n.length>wm)throw new Qt.BeeArgumentError(`payload size ${n.length} exceeds maximum chunk payload size ${wm}`,n);const t=new Uint8Array(wm);return t.set(n),or.log2Reduce(or.partition(t,QZ),(e,r)=>or.keccak256(or.concatBytes(e,r)))}function Kv(n){if(n instanceof Uint8Array||(n=qZ.encode(n)),n.length<Gv||n.length>Vv)throw new RangeError(`payload size ${n.length} exceeds limits [${Gv}, ${Vv}]`);const t=Qt.Span.fromBigInt(BigInt(n.length)),e=or.concatBytes(t.toUint8Array(),n);return{data:e,span:t,payload:Qt.Bytes.fromSlice(e,Qt.Span.LENGTH),address:YZ(e)}}function tq(n,t){return new Qt.Reference(or.keccak256(or.concatBytes(n.toUint8Array(),t.toUint8Array())))}function jv(n,t,e){t=new Qt.Identifier(t),e=new Qt.PrivateKey(e);const r=tq(t,e.publicKey().address()),i=e.sign(or.concatBytes(t.toUint8Array(),n.address.toUint8Array())),s=or.concatBytes(t.toUint8Array(),i.toUint8Array(),n.data),o=Qt.Span.fromSlice(n.data,0),c=Qt.Bytes.fromSlice(n.data,Qt.Span.LENGTH);return{data:s,identifier:t,signature:i,span:o,payload:c,address:r,owner:e.publicKey().address()}}class eq{constructor(t,e){this.userDetails=t,this.swarmSettings=e,this.depth=24,this.logger=Qi.getInstance(),this.errorHandler=new np,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:c}=this.userDetails,u=this.generateUserOwnedFeedId(s,c),f=Qt.Topic.fromString(u);console.log("DEBUG: feedID write",f.toString(),c,t,u),await r.makeFeedWriter(f,new Qt.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:c}=this.userDetails,u=new Qt.PrivateKey(o),f=Qt.Stamper.fromBlank(o,i,this.depth),h=this.generateUserOwnedFeedId(s,c),y=Qt.Topic.fromString(h),A=JZ(y,t),b=Kv(e),R=jv(b,A,u),k={hash:()=>R.address.toUint8Array()},S=f.stamp(k),{upload:B}=r.makeSOCWriter(u),H=Qt.Bytes.fromUtf8(e);return(await B(S,A,H.toUint8Array())).reference.toHex()}async fetchUserFeedDataByIndex(t,e,r){const{bee:i,chatTopic:s}=this.swarmSettings,o=(r==null?void 0:r.timeout)??1500,c=this.generateUserOwnedFeedId(s,t),u=Qt.Topic.fromString(c);return console.log("DEBUG: feedID read",u.toString(),t,e,c),(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=Qt.Stamper.fromBlank(i,r,this.depth),o=Qt.Bytes.fromUtf8(JSON.stringify(t)),c=new mM(async f=>{await e.uploadChunk(s.stamp(f),f.build())});await c.append(o.toUint8Array());const u=await c.finalize();return or.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=Qt.Topic.fromString(i),c=await t.makeFeedReader(s,r).downloadPayload(),u=Number(c.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(Qt.Topic.fromString(e),Ff(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(Qt.Topic.fromString(r),Ff(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 Qt.PrivateKey(s),c=Qt.Identifier.fromString(i),u=Qt.Bytes.fromUtf8(t),{upload:f}=e.makeSOCWriter(o,{timeout:this.UPLOAD_GSOC_TIMEOUT});await f(r,c,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,c=Qt.Stamper.fromBlank(o,r,this.depth),u=new Qt.PrivateKey(s),f=Qt.Identifier.fromString(i),h=Qt.Bytes.fromUtf8(t),y=Kv(h.toUint8Array()),A=jv(y,f,u),b={hash:()=>A.address.toUint8Array()},R=c.stamp(b),{upload:k}=e.makeSOCWriter(u,{timeout:this.UPLOAD_GSOC_TIMEOUT});await k(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 nq{constructor(t){var r,i,s;this.logger=Qi.getInstance(),this.errorHandler=new np,this.messagesQueue=new Z_({clearWaitTime:200}),this.gsocListenerQueue=new Z_({clearWaitTime:200}),this.activeUsers={},this.latestMessage=null,this.userIndexCache={};const e=new Qt.PrivateKey(Ff(t.user.privateKey));this.userDetails={privateKey:t.user.privateKey,ownAddress:e.publicKey().address().toString(),nickname:t.user.nickname,ownIndex:-1},this.swarmSettings={bee:new Qt.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 yM,this.utils=new eq(this.userDetails,this.swarmSettings),this.history=new CL(this.utils,this.emitter),this.swarmEventEmitterReader=new ZZ(t.infra.chain)}start(){this.init(),this.swarmSettings.customGsocCallback||this.subscribeToGSOCEvent(),this.startMessagesFetchProcess(),this.startIdleUserCleanup()}stop(){this.stopMessagesFetchProcess(),this.stopIdleUserCleanup(),this.unsubFromGSOCEvent(),this.emitter.cleanAll()}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||gM(),username:this.userDetails.nickname,address:this.userDetails.ownAddress,timestamp:Date.now(),index:r,message:t};try{this.emitter.emit(Br.MESSAGE_REQUEST_INITIATED,i),await this.utils.writeOwnFeedDataByIndex(r,JSON.stringify(i)),this.userDetails.ownIndex=r,this.emitter.emit(Br.MESSAGE_REQUEST_UPLOADED,i),await this.broadcastUserMessage()}catch(s){this.emitter.emit(Br.MESSAGE_REQUEST_ERROR,i),this.errorHandler.handleError(s,"Chat.sendMessage")}}async fetchPreviousMessages(){try{return this.emitter.emit(Br.LOADING_PREVIOUS_MESSAGES,!0),await this.history.fetchPreviousMessages()}finally{this.emitter.emit(Br.LOADING_PREVIOUS_MESSAGES,!1)}}async retrySendMessage(t){this.sendMessage(t.message,t.id)}async retryBroadcastUserMessage(t){this.broadcastUserMessage()}async init(){try{this.emitter.emit(Br.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(Br.LOADING_INIT,!1)}catch(t){this.errorHandler.handleError(t,"Chat.initSelfState"),this.emitter.emit(Br.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.enqueue(()=>this.processGsocEvent(e)))}catch(t){this.errorHandler.handleError(t,"Chat.subscribeToGSOCEvent"),this.emitter.emit(Br.CRITICAL_ERROR,t)}}callbackProcessGsocEvent(t){try{this.gsocListenerQueue.enqueue(()=>this.processGsocEvent(t))}catch(e){this.errorHandler.handleError(e,"Chat.callbackProcessGsocEvent"),this.emitter.emit(Br.CRITICAL_ERROR,e)}}async processGsocEvent(t){try{console.log("processGsocMessage CALLED",t);const[e,r]=t.split("_"),i=Qt.FeedIndex.fromBigInt(BigInt(`0x${r}`)),s=await this.utils.fetchChatMessage(i);if(console.log("DEBUG processGsocMessage",s),!IL(s)){this.logger.warn("Invalid GSOC message during processing");return}if(this.logger.debug("New GSOC message:",s),lM(this.latestMessage,s))return;this.updateActiveUsers(s.messageSender),this.latestMessage=s}catch(e){this.errorHandler.handleError(e,"Chat.processGsocMessage")}}async waitForMessageBroadcast(t){return OL({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 Qt.EthAddress(t).toString(),s=new Qt.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 c=Date.now(),u=s.sign(JSON.stringify({username:r,address:i,timestamp:c}));return{address:i,timestamp:c,signature:u.toHex(),index:this.getOwnIndex(),username:r}}async readAllActiveUserMessage(){if(!await this.messagesQueue.waitForProcessing())for(const e of Object.values(this.activeUsers))this.messagesQueue.enqueue(()=>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(Br.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*NL&&delete this.activeUsers[e.address]}updateActiveUsers(t){this.activeUsers[t.address]=t}}exports.EVENTS=Br;exports.SwarmChat=nq;