@snapshot-labs/snapshot.js 0.12.46 → 0.12.48
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/snapshot.cjs.js +2 -1
- package/dist/snapshot.esm.js +2 -1
- package/dist/snapshot.min.js +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/utils/delegation.d.ts +1 -0
- package/dist/src/utils.d.ts +1 -0
- package/package.json +1 -1
- package/src/delegationSubgraphs.json +1 -0
- package/src/networks.json +1 -1
package/dist/snapshot.min.js
CHANGED
|
@@ -27,4 +27,4 @@ function mv(t){const{Fp:e,mds:r,reversePartialPowIdx:i,roundConstants:n}=t,{roun
|
|
|
27
27
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const yv=BigInt(0),vv=BigInt(1);function wv(t){return hv(t.Fp),uy(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...lv(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}
|
|
28
28
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:bv,hexToBytes:Mv}=ly,_v={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){const{Err:e}=_v;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");const r=t[1],i=t.subarray(2,r+2);if(!r||i.length!==r)throw new e("Invalid signature integer: wrong length");if(128&i[0])throw new e("Invalid signature integer: negative");if(0===i[0]&&!(128&i[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:bv(i),l:t.subarray(r+2)}},toSig(t){const{Err:e}=_v,r="string"==typeof t?Mv(t):t;if(!Dg(r))throw new Error("ui8a expected");let i=r.length;if(i<2||48!=r[0])throw new e("Invalid signature tag");if(r[1]!==i-2)throw new e("Invalid signature: incorrect length");const{d:n,l:o}=_v._parseInt(r.subarray(2)),{d:s,l:a}=_v._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:n,s:s}},hexFromSig(t){const e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,r=t=>{const e=t.toString(16);return 1&e.length?`0${e}`:e},i=e(r(t.s)),n=e(r(t.r)),o=i.length/2,s=n.length/2,a=r(o),h=r(s);return`30${r(s+o+4)}02${h}${n}02${a}${i}`}},Ev=BigInt(0),Av=BigInt(1),kv=BigInt(2),xv=BigInt(3),Nv=BigInt(4);function Sv(t){const e=function(t){const e=wv(t);uy(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:r,Fp:i,a:n}=e;if(r){if(!i.eql(n,i.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:r}=e,i=e.toBytes||((t,e,i)=>{const n=e.toAffine();return iy(Uint8Array.from([4]),r.toBytes(n.x),r.toBytes(n.y))}),n=e.fromBytes||(t=>{const e=t.subarray(1);return{x:r.fromBytes(e.subarray(0,r.BYTES)),y:r.fromBytes(e.subarray(r.BYTES,2*r.BYTES))}});function o(t){const{a:i,b:n}=e,o=r.sqr(t),s=r.mul(o,t);return r.add(r.add(s,r.mul(t,i)),n)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(t){return"bigint"==typeof t&&Ev<t&&t<e.n}function a(t){if(!s(t))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function h(t){const{allowedPrivateKeyLengths:r,nByteLength:i,wrapPrivateKey:n,n:o}=e;if(r&&"bigint"!=typeof t){if(Dg(t)&&(t=Fg(t)),"string"!=typeof t||!r.includes(t.length))throw new Error("Invalid key");t=t.padStart(2*i,"0")}let s;try{s="bigint"==typeof t?t:Yg(ry("private key",t,i))}catch(e){throw new Error(`private key must be ${i} bytes, hex or bigint, not ${typeof t}`)}return n&&(s=iv(s,o)),a(s),s}const u=new Map;function l(t){if(!(t instanceof c))throw new Error("ProjectivePoint expected")}class c{constructor(t,e,i){if(this.px=t,this.py=e,this.pz=i,null==t||!r.isValid(t))throw new Error("x required");if(null==e||!r.isValid(e))throw new Error("y required");if(null==i||!r.isValid(i))throw new Error("z required")}static fromAffine(t){const{x:e,y:i}=t||{};if(!t||!r.isValid(e)||!r.isValid(i))throw new Error("invalid affine point");if(t instanceof c)throw new Error("projective point not allowed");const n=t=>r.eql(t,r.ZERO);return n(e)&&n(i)?c.ZERO:new c(e,i,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){const e=r.invertBatch(t.map((t=>t.pz)));return t.map(((t,r)=>t.toAffine(e[r]))).map(c.fromAffine)}static fromHex(t){const e=c.fromAffine(n(ry("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return c.BASE.multiply(h(t))}_setWindowSize(t){this._WINDOW_SIZE=t,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:t,y:i}=this.toAffine();if(!r.isValid(t)||!r.isValid(i))throw new Error("bad point: x or y not FE");const n=r.sqr(i),s=o(t);if(!r.eql(n,s))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:t}=this.toAffine();if(r.isOdd)return!r.isOdd(t);throw new Error("Field doesn't support isOdd")}equals(t){l(t);const{px:e,py:i,pz:n}=this,{px:o,py:s,pz:a}=t,h=r.eql(r.mul(e,a),r.mul(o,n)),u=r.eql(r.mul(i,a),r.mul(s,n));return h&&u}negate(){return new c(this.px,r.neg(this.py),this.pz)}double(){const{a:t,b:i}=e,n=r.mul(i,xv),{px:o,py:s,pz:a}=this;let h=r.ZERO,u=r.ZERO,l=r.ZERO,f=r.mul(o,o),d=r.mul(s,s),m=r.mul(a,a),p=r.mul(o,s);return p=r.add(p,p),l=r.mul(o,a),l=r.add(l,l),h=r.mul(t,l),u=r.mul(n,m),u=r.add(h,u),h=r.sub(d,u),u=r.add(d,u),u=r.mul(h,u),h=r.mul(p,h),l=r.mul(n,l),m=r.mul(t,m),p=r.sub(f,m),p=r.mul(t,p),p=r.add(p,l),l=r.add(f,f),f=r.add(l,f),f=r.add(f,m),f=r.mul(f,p),u=r.add(u,f),m=r.mul(s,a),m=r.add(m,m),f=r.mul(m,p),h=r.sub(h,f),l=r.mul(m,d),l=r.add(l,l),l=r.add(l,l),new c(h,u,l)}add(t){l(t);const{px:i,py:n,pz:o}=this,{px:s,py:a,pz:h}=t;let u=r.ZERO,f=r.ZERO,d=r.ZERO;const m=e.a,p=r.mul(e.b,xv);let g=r.mul(i,s),y=r.mul(n,a),v=r.mul(o,h),w=r.add(i,n),b=r.add(s,a);w=r.mul(w,b),b=r.add(g,y),w=r.sub(w,b),b=r.add(i,o);let M=r.add(s,h);return b=r.mul(b,M),M=r.add(g,v),b=r.sub(b,M),M=r.add(n,o),u=r.add(a,h),M=r.mul(M,u),u=r.add(y,v),M=r.sub(M,u),d=r.mul(m,b),u=r.mul(p,v),d=r.add(u,d),u=r.sub(y,d),d=r.add(y,d),f=r.mul(u,d),y=r.add(g,g),y=r.add(y,g),v=r.mul(m,v),b=r.mul(p,b),y=r.add(y,v),v=r.sub(g,v),v=r.mul(m,v),b=r.add(b,v),g=r.mul(y,b),f=r.add(f,g),g=r.mul(M,b),u=r.mul(w,u),u=r.sub(u,g),g=r.mul(w,y),d=r.mul(M,d),d=r.add(d,g),new c(u,f,d)}subtract(t){return this.add(t.negate())}is0(){return this.equals(c.ZERO)}wNAF(t){return d.wNAFCached(this,u,t,(t=>{const e=r.invertBatch(t.map((t=>t.pz)));return t.map(((t,r)=>t.toAffine(e[r]))).map(c.fromAffine)}))}multiplyUnsafe(t){const i=c.ZERO;if(t===Ev)return i;if(a(t),t===Av)return this;const{endo:n}=e;if(!n)return d.unsafeLadder(this,t);let{k1neg:o,k1:s,k2neg:h,k2:u}=n.splitScalar(t),l=i,f=i,m=this;for(;s>Ev||u>Ev;)s&Av&&(l=l.add(m)),u&Av&&(f=f.add(m)),m=m.double(),s>>=Av,u>>=Av;return o&&(l=l.negate()),h&&(f=f.negate()),f=new c(r.mul(f.px,n.beta),f.py,f.pz),l.add(f)}multiply(t){a(t);let i,n,o=t;const{endo:s}=e;if(s){const{k1neg:t,k1:e,k2neg:a,k2:h}=s.splitScalar(o);let{p:u,f:l}=this.wNAF(e),{p:f,f:m}=this.wNAF(h);u=d.constTimeNegate(t,u),f=d.constTimeNegate(a,f),f=new c(r.mul(f.px,s.beta),f.py,f.pz),i=u.add(f),n=l.add(m)}else{const{p:t,f:e}=this.wNAF(o);i=t,n=e}return c.normalizeZ([i,n])[0]}multiplyAndAddUnsafe(t,e,r){const i=c.BASE,n=(t,e)=>e!==Ev&&e!==Av&&t.equals(i)?t.multiply(e):t.multiplyUnsafe(e),o=n(this,e).add(n(t,r));return o.is0()?void 0:o}toAffine(t){const{px:e,py:i,pz:n}=this,o=this.is0();null==t&&(t=o?r.ONE:r.inv(n));const s=r.mul(e,t),a=r.mul(i,t),h=r.mul(n,t);if(o)return{x:r.ZERO,y:r.ZERO};if(!r.eql(h,r.ONE))throw new Error("invZ was invalid");return{x:s,y:a}}isTorsionFree(){const{h:t,isTorsionFree:r}=e;if(t===Av)return!0;if(r)return r(c,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:t,clearCofactor:r}=e;return t===Av?this:r?r(c,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),i(c,this,t)}toHex(t=!0){return Fg(this.toRawBytes(t))}}c.BASE=new c(e.Gx,e.Gy,r.ONE),c.ZERO=new c(r.ZERO,r.ONE,r.ZERO);const f=e.nBitLength,d=function(t,e){const r=(t,e)=>{const r=e.negate();return t?r:e},i=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let i=t.ZERO,n=e;for(;r>yv;)r&vv&&(i=i.add(n)),n=n.double(),r>>=vv;return i},precomputeWindow(t,e){const{windows:r,windowSize:n}=i(e),o=[];let s=t,a=s;for(let t=0;t<r;t++){a=s,o.push(a);for(let t=1;t<n;t++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(e,n,o){const{windows:s,windowSize:a}=i(e);let h=t.ZERO,u=t.BASE;const l=BigInt(2**e-1),c=2**e,f=BigInt(e);for(let t=0;t<s;t++){const e=t*a;let i=Number(o&l);o>>=f,i>a&&(i-=c,o+=vv);const s=e,d=e+Math.abs(i)-1,m=t%2!=0,p=i<0;0===i?u=u.add(r(m,n[s])):h=h.add(r(p,n[d]))}return{p:h,f:u}},wNAFCached(t,e,r,i){const n=t._WINDOW_SIZE||1;let o=e.get(t);return o||(o=this.precomputeWindow(t,n),1!==n&&e.set(t,i(o))),this.wNAF(n,o,r)}}}(c,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:c,normPrivateKeyToScalar:h,weierstrassEquation:o,isWithinCurveOrder:s}}function Iv(t){const e=function(t){const e=wv(t);return uy(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:r,n:i}=e,n=r.BYTES+1,o=2*r.BYTES+1;function s(t){return iv(t,i)}function a(t){return ov(t,i)}const{ProjectivePoint:h,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:c}=Sv({...e,toBytes(t,e,i){const n=e.toAffine(),o=r.toBytes(n.x),s=iy;return i?s(Uint8Array.from([e.hasEvenY()?2:3]),o):s(Uint8Array.from([4]),o,r.toBytes(n.y))},fromBytes(t){const e=t.length,i=t[0],s=t.subarray(1);if(e!==n||2!==i&&3!==i){if(e===o&&4===i){return{x:r.fromBytes(s.subarray(0,r.BYTES)),y:r.fromBytes(s.subarray(r.BYTES,2*r.BYTES))}}throw new Error(`Point of length ${e} was invalid. Expected ${n} compressed bytes or ${o} uncompressed bytes`)}{const t=Yg(s);if(!(Ev<(a=t)&&a<r.ORDER))throw new Error("Point is not on curve");const e=l(t);let n=r.sqrt(e);return 1==(1&i)!==((n&Av)===Av)&&(n=r.neg(n)),{x:t,y:n}}var a}}),f=t=>Fg(Xg(t,e.nByteLength));function d(t){return t>i>>Av}const m=(t,e,r)=>Yg(t.slice(e,r));class p{constructor(t,e,r){this.r=t,this.s=e,this.recovery=r,this.assertValidity()}static fromCompact(t){const r=e.nByteLength;return t=ry("compactSignature",t,2*r),new p(m(t,0,r),m(t,r,2*r))}static fromDER(t){const{r:e,s:r}=_v.toSig(ry("DER",t));return new p(e,r)}assertValidity(){if(!c(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new p(this.r,this.s,t)}recoverPublicKey(t){const{r:i,s:n,recovery:o}=this,u=w(ry("msgHash",t));if(null==o||![0,1,2,3].includes(o))throw new Error("recovery id invalid");const l=2===o||3===o?i+e.n:i;if(l>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const c=0==(1&o)?"02":"03",d=h.fromHex(c+f(l)),m=a(l),p=s(-u*m),g=s(n*m),y=h.BASE.multiplyAndAddUnsafe(d,p,g);if(!y)throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return Qg(this.toDERHex())}toDERHex(){return _v.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Qg(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const g={isValidPrivateKey(t){try{return u(t),!0}catch(t){return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const t=dv(e.n);return function(t,e,r=!1){const i=t.length,n=fv(e),o=dv(e);if(i<16||i<o||i>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${i}`);const s=iv(r?Yg(t):Wg(t),e-Yy)+Yy;return r?ty(s,n):Xg(s,n)}(e.randomBytes(t),e.n)},precompute:(t=8,e=h.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)};function y(t){const e=Dg(t),r="string"==typeof t,i=(e||r)&&t.length;return e?i===n||i===o:r?i===2*n||i===2*o:t instanceof h}const v=e.bits2int||function(t){const r=Yg(t),i=8*t.length-e.nBitLength;return i>0?r>>BigInt(i):r},w=e.bits2int_modN||function(t){return s(v(t))},b=ny(e.nBitLength);function M(t){if("bigint"!=typeof t)throw new Error("bigint expected");if(!(Ev<=t&&t<b))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Xg(t,e.nByteLength)}function _(t,i,n=E){if(["recovered","canonical"].some((t=>t in n)))throw new Error("sign() legacy options not supported");const{hash:o,randomBytes:l}=e;let{lowS:f,prehash:m,extraEntropy:g}=n;null==f&&(f=!0),t=ry("msgHash",t),m&&(t=ry("prehashed msgHash",o(t)));const y=w(t),b=u(i),_=[M(b),M(y)];if(null!=g){const t=!0===g?l(r.BYTES):g;_.push(ry("extraEntropy",t))}const A=iy(..._),k=y;return{seed:A,k2sig:function(t){const e=v(t);if(!c(e))return;const r=a(e),i=h.BASE.multiply(e).toAffine(),n=s(i.x);if(n===Ev)return;const o=s(r*s(k+n*b));if(o===Ev)return;let u=(i.x===n?0:2)|Number(i.y&Av),l=o;return f&&d(o)&&(l=function(t){return d(t)?s(-t):t}(o),u^=1),new p(n,l,u)}}}const E={lowS:e.lowS,prehash:!1},A={lowS:e.lowS,prehash:!1};return h.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return h.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,r=!0){if(y(t))throw new Error("first arg must be private key");if(!y(e))throw new Error("second arg must be public key");return h.fromHex(e).multiply(u(t)).toRawBytes(r)},sign:function(t,r,i=E){const{seed:n,k2sig:o}=_(t,r,i),s=e;return ay(s.hash.outputLen,s.nByteLength,s.hmac)(n,o)},verify:function(t,r,i,n=A){const o=t;if(r=ry("msgHash",r),i=ry("publicKey",i),"strict"in n)throw new Error("options.strict was renamed to lowS");const{lowS:u,prehash:l}=n;let c,f;try{if("string"==typeof o||Dg(o))try{c=p.fromDER(o)}catch(t){if(!(t instanceof _v.Err))throw t;c=p.fromCompact(o)}else{if("object"!=typeof o||"bigint"!=typeof o.r||"bigint"!=typeof o.s)throw new Error("PARSE");{const{r:t,s:e}=o;c=new p(t,e)}}f=h.fromHex(i)}catch(t){if("PARSE"===t.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(u&&c.hasHighS())return!1;l&&(r=e.hash(r));const{r:d,s:m}=c,g=w(r),y=a(m),v=s(g*y),b=s(d*y),M=h.BASE.multiplyAndAddUnsafe(f,v,b)?.toAffine();return!!M&&s(M.x)===d},ProjectivePoint:h,Signature:p,utils:g}}function Rv(t,e){const r=t.ORDER;let i=Ev;for(let t=r-Av;t%kv===Ev;t/=kv)i+=Av;const n=i,o=kv<<n-Av-Av,s=o*kv,a=(r-Av)/s,h=(a-Av)/kv,u=s-Av,l=o,c=t.pow(e,a),f=t.pow(e,(a+Av)/kv);let d=(e,r)=>{let i=c,o=t.pow(r,u),s=t.sqr(o);s=t.mul(s,r);let a=t.mul(e,s);a=t.pow(a,h),a=t.mul(a,o),o=t.mul(a,r),s=t.mul(a,e);let d=t.mul(s,o);a=t.pow(d,l);let m=t.eql(a,t.ONE);o=t.mul(s,f),a=t.mul(d,i),s=t.cmov(o,s,m),d=t.cmov(a,d,m);for(let e=n;e>Av;e--){let r=e-kv;r=kv<<r-Av;let n=t.pow(d,r);const a=t.eql(n,t.ONE);o=t.mul(s,i),i=t.mul(i,i),n=t.mul(d,i),s=t.cmov(o,s,a),d=t.cmov(n,d,a)}return{isValid:m,value:s}};if(t.ORDER%Nv===xv){const r=(t.ORDER-xv)/Nv,i=t.sqrt(t.neg(e));d=(e,n)=>{let o=t.sqr(n);const s=t.mul(e,n);o=t.mul(o,s);let a=t.pow(o,r);a=t.mul(a,s);const h=t.mul(a,i),u=t.mul(t.sqr(a),n),l=t.eql(u,e);return{isValid:l,value:t.cmov(h,a,l)}}}return d}var Tv=Object.freeze({__proto__:null,DER:_v,weierstrassPoints:Sv,weierstrass:Iv,SWUFpSqrtRatio:Rv,mapToCurveSimpleSWU:function(t,e){if(hv(t),!t.isValid(e.A)||!t.isValid(e.B)||!t.isValid(e.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");const r=Rv(t,e.Z);if(!t.isOdd)throw new Error("Fp.isOdd is not implemented!");return i=>{let n,o,s,a,h,u,l,c;n=t.sqr(i),n=t.mul(n,e.Z),o=t.sqr(n),o=t.add(o,n),s=t.add(o,t.ONE),s=t.mul(s,e.B),a=t.cmov(e.Z,t.neg(o),!t.eql(o,t.ZERO)),a=t.mul(a,e.A),o=t.sqr(s),u=t.sqr(a),h=t.mul(u,e.A),o=t.add(o,h),o=t.mul(o,s),u=t.mul(u,a),h=t.mul(u,e.B),o=t.add(o,h),l=t.mul(n,s);const{isValid:f,value:d}=r(o,u);c=t.mul(n,i),c=t.mul(c,d),l=t.cmov(l,s,f),c=t.cmov(c,d,f);const m=t.isOdd(i)===t.isOdd(c);return c=t.cmov(t.neg(c),c,m),l=t.div(l,a),{x:l,y:c}}}});class Cv extends ky{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");cy(t.outputLen),cy(t.blockLen)}(t);const r=Ay(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)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,n=new Uint8Array(i);n.set(r.length>i?t.create().update(r).digest():r);for(let t=0;t<n.length;t++)n[t]^=54;this.iHash.update(n),this.oHash=t.create();for(let t=0;t<n.length;t++)n[t]^=106;this.oHash.update(n),n.fill(0)}update(t){return dy(this),this.iHash.update(t),this}digestInto(t){dy(this),fy(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:n,blockLen:o,outputLen:s}=this;return t.finished=i,t.destroyed=n,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Pv=(t,e,r)=>new Cv(t,e).update(r).digest();Pv.create=(t,e)=>new Cv(t,e)
|
|
29
29
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const Ov=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),Bv=BigInt("0x800000000000000000000000000000000000000000000000000000000000000");function $v(t){for(;0===t[0];)t=t.subarray(1);const e=8*t.length-252,r=Yg(t);return e>0?r>>BigInt(e):r}function Uv(t){return"string"==typeof t&&1&(t=Qv(t)).length&&(t="0"+t),Qg(t)}const Dv=Iv({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:cv(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:Ov,nBitLength:252,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...function(t){return{hash:t,hmac:(e,...r)=>Pv(t,e,function(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];if(!by(i))throw new Error("Uint8Array expected");e+=i.length}const r=new Uint8Array(e);for(let e=0,i=0;e<t.length;e++){const n=t[e];r.set(n,i),i+=n.length}return r}(...r)),randomBytes:Ny}}(Jy),bits2int:$v,bits2int_modN:t=>{const e=Yg(t).toString(16);return 63===e.length&&(t=Uv(e+"0")),iv($v(t),Ov)}}),Lv=Dv;function Fv(t){return ry("","string"==typeof t?Uv(t):t)}function jv(t){return Fg(Fv(t)).padStart(64,"0")}function zv(t,e=!1){return Dv.getPublicKey(jv(t),e)}function qv(t){const{r:e,s:r}=t;if(e<0n||e>=Bv)throw new Error(`Signature.r should be [1, ${Bv})`);const i=ov(r,Ov);if(i<0n||i>=Bv)throw new Error(`inv(Signature.s) should be [1, ${Bv})`)}function Hv(t){const e=Fv(t);if(Yg(e)>=Bv)throw new Error(`msgHash should be [0, ${Bv})`);return e}const{CURVE:Vv,ProjectivePoint:Zv,Signature:Gv,utils:Kv}=Dv;function Jv(t){return`0x${Fg(t.subarray(1)).replace(/^0+/gm,"")}`}function Qv(t){return t.replace(/^0x/i,"")}function Yv(t){const e=Fv(t),r=2n**256n,i=r-iv(r,Ov);for(let t=0;;t++){const r=uw(iy(e,ey(BigInt(t))));if(r<i)return iv(r,Ov).toString(16);if(1e5===t)throw new Error("grindKey is broken: tried 100k vals")}}function Wv(t){return Jv(zv(t,!0))}const Xv=2n**31n-1n,tw=t=>Number(t&Xv);const ew=[new Zv(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new Zv(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new Zv(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new Zv(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new Zv(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function rw(t,e){const r=[];let i=t;for(let t=0;t<248;t++)r.push(i),i=i.double();i=e;for(let t=0;t<4;t++)r.push(i),i=i.double();return r}const iw=rw(ew[1],ew[2]),nw=rw(ew[3],ew[4]);function ow(t,e,r){let i=function(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t){if(!Number.isSafeInteger(t))throw new Error(`Invalid pedersenArg: ${t}`);e=BigInt(t)}else e=Yg(Fv(t));if(!(0n<=e&&e<Dv.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${e}`);return e}(e);for(let e=0;e<252;e++){const n=r[e];if(n.equals(t))throw new Error("Same point");0n!==(1n&i)&&(t=t.add(n)),i>>=1n}return t}function sw(t,e){let r=ew[0];return r=ow(r,t,iw),r=ow(r,e,nw),Jv(r.toRawBytes(!0))}const aw=ny(250),hw=t=>Yg(zy(t))&aw,uw=t=>Yg(Jy(t)),lw=cv(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function cw(t,e,r){const i=t.fromBytes(Jy(Ey(`${e}${r}`)));return t.create(i)}function fw(t,e,r,i=0){const n=[],o=[];for(let s=0;s<r;s++)n.push(cw(t,`${e}x`,i*r+s)),o.push(cw(t,`${e}y`,i*r+s));if(new Set([...n,...o]).size!==2*r)throw new Error("X and Y values are not distinct");return n.map((e=>o.map((r=>t.inv(t.sub(e,r))))))}function dw(t,e){if(hv(t.Fp),!Number.isSafeInteger(t.rate)||!Number.isSafeInteger(t.capacity))throw new Error(`Wrong poseidon opts: ${t}`);const r=t.rate+t.capacity,i=t.roundsFull+t.roundsPartial,n=[];for(let e=0;e<i;e++){const i=[];for(let n=0;n<r;n++)i.push(cw(t.Fp,"Hades",r*e+n));n.push(i)}const o=pv({...t,t:r,sboxPower:3,reversePartialPowIdx:!0,mds:e,roundConstants:n});return o.m=r,o.rate=t.rate,o.capacity=t.capacity,o}const mw=dw({Fp:lw,rate:2,capacity:1,roundsFull:8,roundsPartial:83},[[3,1,1],[1,-1,1],[1,1,-2]].map((t=>t.map(BigInt))));function pw(t,e,r=mw){return r([t,e,2n])[0]}function gw(t,e=mw){const{m:r,rate:i}=e;if(!Array.isArray(t))throw new Error("bigint array expected in values");const n=Array.from(t);for(n.push(1n);n.length%i!=0;)n.push(0n);let o=new Array(r).fill(0n);for(let t=0;t<n.length;t+=i){for(let e=0;e<i;e++)o[e]+=n[t+e];o=e(o)}return o[0]}var yw=Object.freeze({__proto__:null,MAX_VALUE:Bv,_starkCurve:Lv,getPublicKey:zv,getSharedSecret:function(t,e){return Dv.getSharedSecret(jv(t),e)},sign:function(t,e,r){const i=Dv.sign(Hv(t),jv(e),r);return qv(i),i},verify:function(t,e,r){if(!(t instanceof Gv)){const e=Fv(t);try{t=Gv.fromDER(e)}catch(r){if(!(r instanceof _v.Err))throw r;t=Gv.fromCompact(e)}}return qv(t),Dv.verify(t,Hv(e),Fv(r))},CURVE:Vv,ProjectivePoint:Zv,Signature:Gv,utils:Kv,grindKey:Yv,getStarkKey:Wv,ethSigToPrivate:function(t){if(130!==(t=Qv(t)).length)throw new Error("Wrong ethereum signature");return Yv(t.substring(0,64))},getAccountPath:function(t,e,r,i){const n=tw(uw(t)),o=tw(uw(e)),s=zg(Qv(r));return`m/2645'/${n}'/${o}'/${tw(s)}'/${tw(s>>31n)}'/${i}`},pedersen:sw,computeHashOnElements:(t,e=sw)=>[0,...t,t.length].reduce(((t,r)=>e(t,r))),keccak:hw,Fp251:lw,_poseidonMDS:fw,poseidonBasic:dw,poseidonCreate:function(t,e=0){const r=t.rate+t.capacity;if(!Number.isSafeInteger(e))throw new Error(`Wrong mdsAttempt=${e}`);return dw(t,fw(t.Fp,"HadesMDS",r,e))},poseidonSmall:mw,poseidonHash:pw,poseidonHashFunc:function(t,e,r=mw){return ey(pw(Yg(t),Yg(e),r))},poseidonHashSingle:function(t,e=mw){return e([t,0n,1n])[0]},poseidonHashMany:gw});function vw(t){return ww.test(t)}var ww=/^-?[0-9]+$/;function bw(t){return Mw.test(t)}var Mw=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;var _w=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function Ew(t){if(!function(t,e){var r=parseFloat(t),i=String(r),n=Aw(t),o=Aw(i);if(n===o)return!0;if(!0===(null==e?void 0:e.approx)&&!vw(t)&&o.length>=14&&n.startsWith(o.substring(0,14)))return!0;return!1}(t,{approx:!1})){if(vw(t))return _w.truncate_integer;var e=parseFloat(t);return isFinite(e)?0===e?_w.underflow:_w.truncate_float:_w.overflow}}function Aw(t){return t.replace(kw,"").replace(Nw,"").replace(Sw,"").replace(xw,"")}var kw=/[eE][+-]?\d+$/,xw=/^-?(0*)?/,Nw=/\./,Sw=/0+$/;function Iw(t){return Iw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Iw(t)}function Rw(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,Tw(i.key),i)}}function Tw(t){var e=function(t,e){if("object"!==Iw(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!==Iw(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===Iw(e)?e:String(e)}var Cw=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),function(t,e,r){(e=Tw(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}(this,"isLosslessNumber",!0),!bw(e))throw new Error('Invalid number (value: "'+e+'")');this.value=e}var e,r,i;return e=t,(r=[{key:"valueOf",value:function(){var t=Ew(this.value);if(void 0===t||t===_w.truncate_float)return parseFloat(this.value);if(vw(this.value))return BigInt(this.value);throw new Error("Cannot safely convert to number: "+"the value '".concat(this.value,"' would ").concat(t," and become ").concat(parseFloat(this.value)))}},{key:"toString",value:function(){return this.value}}])&&Rw(e.prototype,r),i&&Rw(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Pw(t){return new Cw(t)}function Ow(t){return vw(t)?BigInt(t):parseFloat(t)}function Bw(t){return Bw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bw(t)}function $w(t,e){return Uw({"":t},"",t,e)}function Uw(t,e,r,i){return Array.isArray(r)?i.call(t,e,function(t,e){for(var r=0;r<t.length;r++)t[r]=Uw(t,r+"",t[r],e);return t}(r,i)):r&&"object"===Bw(r)&&!function(t){return t&&"object"===Iw(t)&&!0===t.isLosslessNumber||!1}(r)?i.call(t,e,function(t,e){return Object.keys(t).forEach((function(r){var i=Uw(t,r,t[r],e);void 0!==i?t[r]=i:delete t[r]})),t}(r,i)):i.call(t,e,r)}function Dw(t){return Dw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dw(t)}function Lw(t){return function(t){if(Array.isArray(t))return Fw(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Fw(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Fw(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fw(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function jw(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Pw,i=0,n=a();return m(n),g(),e?$w(n,e):n;function o(){if(t.charCodeAt(i)===Yw){i++,u();for(var e={},r=!0;i<t.length&&t.charCodeAt(i)!==Ww;){r?r=!1:(f(),u());var n=i,o=l();void 0===o&&w(),u(),d();var s=a();void 0===s&&k(),Object.prototype.hasOwnProperty.call(e,o)&&!Gw(s,e[o])&&b(o,n+1),e[o]=s}return t.charCodeAt(i)!==Ww&&M(),i++,e}}function s(){if(t.charCodeAt(i)===Xw){i++,u();for(var e=[],r=!0;i<t.length&&t.charCodeAt(i)!==tb;){r?r=!1:f();var n=a();p(n),e.push(n)}return t.charCodeAt(i)!==tb&&_(),i++,e}}function a(){var t,e,r,i,n,a;u();var f=null!==(t=null!==(e=null!==(r=null!==(i=null!==(n=null!==(a=l())&&void 0!==a?a:c())&&void 0!==n?n:o())&&void 0!==i?i:s())&&void 0!==r?r:h("true",!0))&&void 0!==e?e:h("false",!1))&&void 0!==t?t:h("null",null);return u(),f}function h(e,r){if(t.slice(i,i+e.length)===e)return i+=e.length,r}function u(){for(;zw(t.charCodeAt(i));)i++}function l(){if(t.charCodeAt(i)===ob){i++;for(var e="";i<t.length&&t.charCodeAt(i)!==ob;){if(t.charCodeAt(i)===Qw){var r=t[i+1],n=Jw[r];void 0!==n?(e+=n,i++):"u"===r?qw(t.charCodeAt(i+2))&&qw(t.charCodeAt(i+3))&&qw(t.charCodeAt(i+4))&&qw(t.charCodeAt(i+5))?(e+=String.fromCharCode(parseInt(t.slice(i+2,i+6),16)),i+=5):x(i):A(i)}else Zw(t.charCodeAt(i))?e+=t[i]:E(t[i]);i++}return v(),i++,e}}function c(){var e=i;if(t.charCodeAt(i)===ab&&(i++,y(e)),t.charCodeAt(i)===hb)i++;else if(Vw(t.charCodeAt(i)))for(i++;Hw(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===fb)for(i++,y(e);Hw(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===yb||t.charCodeAt(i)===gb)for(i++,t.charCodeAt(i)!==ab&&t.charCodeAt(i)!==sb||i++,y(e);Hw(t.charCodeAt(i));)i++;if(i>e)return r(t.slice(e,i))}function f(){if(t.charCodeAt(i)!==cb)throw new SyntaxError("Comma ',' expected after value ".concat(I()));i++}function d(){if(t.charCodeAt(i)!==db)throw new SyntaxError("Colon ':' expected after property name ".concat(I()));i++}function m(t){if(void 0===t)throw new SyntaxError("JSON value expected ".concat(I()))}function p(t){if(void 0===t)throw new SyntaxError("Array item expected ".concat(I()))}function g(){if(i<t.length)throw new SyntaxError("Expected end of input ".concat(I()))}function y(e){if(!Hw(t.charCodeAt(i))){var r=t.slice(e,i);throw new SyntaxError("Invalid number '".concat(r,"', expecting a digit ").concat(I()))}}function v(){if(t.charCodeAt(i)!==ob)throw new SyntaxError("End of string '\"' expected ".concat(I()))}function w(){throw new SyntaxError("Quoted object key expected ".concat(I()))}function b(t,e){throw new SyntaxError("Duplicate key '".concat(t,"' encountered at position ").concat(e))}function M(){throw new SyntaxError("Quoted object key or end of object '}' expected ".concat(I()))}function _(){throw new SyntaxError("Array item or end of array ']' expected ".concat(I()))}function E(t){throw new SyntaxError("Invalid character '".concat(t,"' ").concat(N()))}function A(e){var r=t.slice(e,e+2);throw new SyntaxError("Invalid escape character '".concat(r,"' ").concat(N()))}function k(){throw new SyntaxError("Object value expected after ':' ".concat(N()))}function x(e){for(var r=e+2;/\w/.test(t[r]);)r++;var i=t.slice(e,r);throw new SyntaxError("Invalid unicode character '".concat(i,"' ").concat(N()))}function N(){return"at position ".concat(i)}function S(){return i<t.length?"but got '".concat(t[i],"'"):"but reached end of input"}function I(){return S()+" "+N()}}function zw(t){return t===eb||t===rb||t===ib||t===nb}function qw(t){return t>=hb&&t<=lb||t>=mb&&t<=vb||t>=pb&&t<=wb}function Hw(t){return t>=hb&&t<=lb}function Vw(t){return t>=ub&&t<=lb}function Zw(t){return t>=32&&t<=1114111}function Gw(t,e){return t===e||(Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((function(t,r){return Gw(t,e[r])})):!(!Kw(t)||!Kw(e))&&Lw(new Set([].concat(Lw(Object.keys(t)),Lw(Object.keys(e))))).every((function(r){return Gw(t[r],e[r])})))}function Kw(t){return"object"===Dw(t)&&null!==t}var Jw={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},Qw=92,Yw=123,Ww=125,Xw=91,tb=93,eb=32,rb=10,ib=9,nb=13,ob=34,sb=43,ab=45,hb=48,ub=49,lb=57,cb=44,fb=46,db=58,mb=65,pb=97,gb=69,yb=101,vb=70,wb=102;function bb(t){return bb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bb(t)}function Mb(t,e,r,i){var n=function(t){if("number"==typeof t)return" ".repeat(t);if("string"==typeof t&&""!==t)return t;return}
|
|
30
|
-
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(r);return o("function"==typeof e?e.call({"":t},"",t):t,"");function o(t,s){if(Array.isArray(i)){var a=i.find((function(e){return e.test(t)}));if(a){var h=a.stringify(t);if("string"!=typeof h||!bw(h))throw new Error("Invalid JSON number: output of a number stringifier must be a string containing a JSON number "+"(output: ".concat(h,")"));return h}}return"boolean"==typeof t||"number"==typeof t||"string"==typeof t||null===t||t instanceof Date||t instanceof Boolean||t instanceof Number||t instanceof String?JSON.stringify(t):t&&t.isLosslessNumber||"bigint"==typeof t?t.toString():Array.isArray(t)?function(t,r){if(0===t.length)return"[]";for(var i=n?r+n:void 0,s=n?"[\n":"[",a=0;a<t.length;a++){var h="function"==typeof e?e.call(t,String(a),t[a]):t[a];n&&(s+=i),s+=void 0!==h&&"function"!=typeof h?o(h,i):"null",a<t.length-1&&(s+=n?",\n":",")}return s+=n?"\n"+r+"]":"]"}(t,s):t&&"object"===bb(t)?function(t,i){if("function"==typeof t.toJSON)return Mb(t.toJSON(),e,r,void 0);var s=Array.isArray(e)?e.map(String):Object.keys(t);if(0===s.length)return"{}";var a=n?i+n:void 0,h=!0,u=n?"{\n":"{";return s.forEach((function(r){var i="function"==typeof e?e.call(t,r,t[r]):t[r];if(function(t,e){return void 0!==e&&"function"!=typeof e&&"symbol"!==bb(e)}(0,i)){h?h=!1:u+=n?",\n":",";var s=JSON.stringify(r);u+=n?a+s+": ":s+":",u+=o(i,a)}})),u+=n?"\n"+i+"}":"}"}(t,s):void 0}}function _b(t){let e=t.length;for(;--e>=0;)t[e]=0}const Eb=256,Ab=286,kb=30,xb=15,Nb=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]),Sb=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]),Ib=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Rb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Tb=new Array(576);_b(Tb);const Cb=new Array(60);_b(Cb);const Pb=new Array(512);_b(Pb);const Ob=new Array(256);_b(Ob);const Bb=new Array(29);_b(Bb);const $b=new Array(kb);function Ub(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let Db,Lb,Fb;function jb(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}_b($b);const zb=t=>t<256?Pb[t]:Pb[256+(t>>>7)],qb=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Hb=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,qb(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},Vb=(t,e,r)=>{Hb(t,r[2*e],r[2*e+1])},Zb=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},Gb=(t,e,r)=>{const i=new Array(16);let n,o,s=0;for(n=1;n<=xb;n++)s=s+r[n-1]<<1,i[n]=s;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=Zb(i[e]++,e))}},Kb=t=>{let e;for(e=0;e<Ab;e++)t.dyn_ltree[2*e]=0;for(e=0;e<kb;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Jb=t=>{t.bi_valid>8?qb(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Qb=(t,e,r,i)=>{const n=2*e,o=2*r;return t[n]<t[o]||t[n]===t[o]&&i[e]<=i[r]},Yb=(t,e,r)=>{const i=t.heap[r];let n=r<<1;for(;n<=t.heap_len&&(n<t.heap_len&&Qb(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!Qb(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i},Wb=(t,e,r)=>{let i,n,o,s,a=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+a++],i+=(255&t.pending_buf[t.sym_buf+a++])<<8,n=t.pending_buf[t.sym_buf+a++],0===i?Vb(t,n,e):(o=Ob[n],Vb(t,o+Eb+1,e),s=Nb[o],0!==s&&(n-=Bb[o],Hb(t,n,s)),i--,o=zb(i),Vb(t,o,r),s=Sb[o],0!==s&&(i-=$b[o],Hb(t,i,s)))}while(a<t.sym_next);Vb(t,256,e)},Xb=(t,e)=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,h,u=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==r[2*s]?(t.heap[++t.heap_len]=u=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=u<2?++u:0,r[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=u,s=t.heap_len>>1;s>=1;s--)Yb(t,r,s);h=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Yb(t,r,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,r[2*h]=r[2*s]+r[2*a],t.depth[h]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,r[2*s+1]=r[2*a+1]=h,t.heap[1]=h++,Yb(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,h=e.stat_desc.max_length;let u,l,c,f,d,m,p=0;for(f=0;f<=xb;f++)t.bl_count[f]=0;for(r[2*t.heap[t.heap_max]+1]=0,u=t.heap_max+1;u<573;u++)l=t.heap[u],f=r[2*r[2*l+1]+1]+1,f>h&&(f=h,p++),r[2*l+1]=f,l>i||(t.bl_count[f]++,d=0,l>=a&&(d=s[l-a]),m=r[2*l],t.opt_len+=m*(f+d),o&&(t.static_len+=m*(n[2*l+1]+d)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(l=t.bl_count[f];0!==l;)c=t.heap[--u],c>i||(r[2*c+1]!==f&&(t.opt_len+=(f-r[2*c+1])*r[2*c],r[2*c+1]=f),l--)}})(t,e),Gb(r,u,t.bl_count)},tM=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=e[2*(i+1)+1],++a<h&&n===s||(a<u?t.bl_tree[2*n]+=a:0!==n?(n!==o&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4))},eM=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),i=0;i<=r;i++)if(n=s,s=e[2*(i+1)+1],!(++a<h&&n===s)){if(a<u)do{Vb(t,n,t.bl_tree)}while(0!=--a);else 0!==n?(n!==o&&(Vb(t,n,t.bl_tree),a--),Vb(t,16,t.bl_tree),Hb(t,a-3,2)):a<=10?(Vb(t,17,t.bl_tree),Hb(t,a-3,3)):(Vb(t,18,t.bl_tree),Hb(t,a-11,7));a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4)}};let rM=!1;const iM=(t,e,r,i)=>{Hb(t,0+(i?1:0),3),Jb(t),qb(t,r),qb(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var nM=t=>{rM||((()=>{let t,e,r,i,n;const o=new Array(16);for(r=0,i=0;i<28;i++)for(Bb[i]=r,t=0;t<1<<Nb[i];t++)Ob[r++]=i;for(Ob[r-1]=i,n=0,i=0;i<16;i++)for($b[i]=n,t=0;t<1<<Sb[i];t++)Pb[n++]=i;for(n>>=7;i<kb;i++)for($b[i]=n<<7,t=0;t<1<<Sb[i]-7;t++)Pb[256+n++]=i;for(e=0;e<=xb;e++)o[e]=0;for(t=0;t<=143;)Tb[2*t+1]=8,t++,o[8]++;for(;t<=255;)Tb[2*t+1]=9,t++,o[9]++;for(;t<=279;)Tb[2*t+1]=7,t++,o[7]++;for(;t<=287;)Tb[2*t+1]=8,t++,o[8]++;for(Gb(Tb,287,o),t=0;t<kb;t++)Cb[2*t+1]=5,Cb[2*t]=Zb(t,5);Db=new Ub(Tb,Nb,257,Ab,xb),Lb=new Ub(Cb,Sb,0,kb,xb),Fb=new Ub(new Array(0),Ib,0,19,7)})(),rM=!0),t.l_desc=new jb(t.dyn_ltree,Db),t.d_desc=new jb(t.dyn_dtree,Lb),t.bl_desc=new jb(t.bl_tree,Fb),t.bi_buf=0,t.bi_valid=0,Kb(t)},oM=(t,e,r,i)=>{let n,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<Eb;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Xb(t,t.l_desc),Xb(t,t.d_desc),s=(t=>{let e;for(tM(t,t.dyn_ltree,t.l_desc.max_code),tM(t,t.dyn_dtree,t.d_desc.max_code),Xb(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Rb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),n=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?iM(t,e,r,i):4===t.strategy||o===n?(Hb(t,2+(i?1:0),3),Wb(t,Tb,Cb)):(Hb(t,4+(i?1:0),3),((t,e,r,i)=>{let n;for(Hb(t,e-257,5),Hb(t,r-1,5),Hb(t,i-4,4),n=0;n<i;n++)Hb(t,t.bl_tree[2*Rb[n]+1],3);eM(t,t.dyn_ltree,e-1),eM(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Wb(t,t.dyn_ltree,t.dyn_dtree)),Kb(t),i&&Jb(t)},sM=(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Ob[r]+Eb+1)]++,t.dyn_dtree[2*zb(e)]++),t.sym_next===t.sym_end),aM=t=>{Hb(t,2,3),Vb(t,256,Tb),(t=>{16===t.bi_valid?(qb(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)},hM={_tr_init:nM,_tr_stored_block:iM,_tr_flush_block:oM,_tr_tally:sM,_tr_align:aM};var uM=(t,e,r,i)=>{let n=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+e[i++]|0,o=o+n|0}while(--s);n%=65521,o%=65521}return n|o<<16|0};const lM=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var cM=(t,e,r,i)=>{const n=lM,o=i+r;t^=-1;for(let r=i;r<o;r++)t=t>>>8^n[255&(t^e[r])];return-1^t},fM={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"},dM={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:mM,_tr_stored_block:pM,_tr_flush_block:gM,_tr_tally:yM,_tr_align:vM}=hM,{Z_NO_FLUSH:wM,Z_PARTIAL_FLUSH:bM,Z_FULL_FLUSH:MM,Z_FINISH:_M,Z_BLOCK:EM,Z_OK:AM,Z_STREAM_END:kM,Z_STREAM_ERROR:xM,Z_DATA_ERROR:NM,Z_BUF_ERROR:SM,Z_DEFAULT_COMPRESSION:IM,Z_FILTERED:RM,Z_HUFFMAN_ONLY:TM,Z_RLE:CM,Z_FIXED:PM,Z_DEFAULT_STRATEGY:OM,Z_UNKNOWN:BM,Z_DEFLATED:$M}=dM,UM=258,DM=262,LM=42,FM=113,jM=666,zM=(t,e)=>(t.msg=fM[e],e),qM=t=>2*t-(t>4?9:0),HM=t=>{let e=t.length;for(;--e>=0;)t[e]=0},VM=t=>{let e,r,i,n=t.w_size;e=t.hash_size,i=e;do{r=t.head[--i],t.head[i]=r>=n?r-n:0}while(--e);e=n,i=e;do{r=t.prev[--i],t.prev[i]=r>=n?r-n:0}while(--e)};let ZM=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const GM=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},KM=(t,e)=>{gM(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,GM(t.strm)},JM=(t,e)=>{t.pending_buf[t.pending++]=e},QM=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},YM=(t,e,r,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),r),1===t.state.wrap?t.adler=uM(t.adler,e,n,r):2===t.state.wrap&&(t.adler=cM(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)},WM=(t,e)=>{let r,i,n=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const h=t.strstart>t.w_size-DM?t.strstart-(t.w_size-DM):0,u=t.window,l=t.w_mask,c=t.prev,f=t.strstart+UM;let d=u[o+s-1],m=u[o+s];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=e,u[r+s]===m&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(i=UM-(f-o),o=f-UM,i>s){if(t.match_start=e,s=i,i>=a)break;d=u[o+s-1],m=u[o+s]}}}while((e=c[e&l])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead},XM=t=>{const e=t.w_size;let r,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-DM)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),VM(t),i+=e),0===t.strm.avail_in)break;if(r=YM(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=ZM(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=ZM(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<DM&&0!==t.strm.avail_in)},t_=(t,e)=>{let r,i,n,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(r=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>n&&(r=n),r<o&&(0===r&&e!==_M||e===wM||r!==i+t.strm.avail_in))break;s=e===_M&&r===i+t.strm.avail_in?1:0,pM(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,GM(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(YM(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==wM&&e!==_M&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(YM(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,o=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=o||(i||e===_M)&&e!==wM&&0===t.strm.avail_in&&i<=n)&&(r=i>n?n:i,s=e===_M&&0===t.strm.avail_in&&r===i?1:0,pM(t,t.block_start,r,s),t.block_start+=r,GM(t.strm)),s?3:1)},e_=(t,e)=>{let r,i;for(;;){if(t.lookahead<DM){if(XM(t),t.lookahead<DM&&e===wM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-DM&&(t.match_length=WM(t,r)),t.match_length>=3)if(i=yM(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+1]);else i=yM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(KM(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2},r_=(t,e)=>{let r,i,n;for(;;){if(t.lookahead<DM){if(XM(t),t.lookahead<DM&&e===wM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-DM&&(t.match_length=WM(t,r),t.match_length<=5&&(t.strategy===RM||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=yM(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(KM(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=yM(t,0,t.window[t.strstart-1]),i&&KM(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=yM(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2};function i_(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}const n_=[new i_(0,0,0,0,t_),new i_(4,4,8,4,e_),new i_(4,5,16,8,e_),new i_(4,6,32,32,e_),new i_(4,4,16,16,r_),new i_(8,16,32,32,r_),new i_(8,16,128,128,r_),new i_(8,32,128,256,r_),new i_(32,128,258,1024,r_),new i_(32,258,258,4096,r_)];function o_(){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=$M,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(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),HM(this.dyn_ltree),HM(this.dyn_dtree),HM(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),HM(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),HM(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 s_=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==LM&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==FM&&e.status!==jM?1:0},a_=t=>{if(s_(t))return zM(t,xM);t.total_in=t.total_out=0,t.data_type=BM;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?LM:FM,t.adler=2===e.wrap?0:1,e.last_flush=-2,mM(e),AM},h_=t=>{const e=a_(t);return e===AM&&(t=>{t.window_size=2*t.w_size,HM(t.head),t.max_lazy_match=n_[t.level].max_lazy,t.good_match=n_[t.level].good_length,t.nice_match=n_[t.level].nice_length,t.max_chain_length=n_[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},u_=(t,e,r,i,n,o)=>{if(!t)return xM;let s=1;if(e===IM&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||r!==$M||i<8||i>15||e<0||e>9||o<0||o>PM||8===i&&1!==s)return zM(t,xM);8===i&&(i=9);const a=new o_;return t.state=a,a.strm=t,a.status=LM,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=e,a.strategy=o,a.method=r,h_(t)};var l_=(t,e)=>{if(s_(t)||e>EM||e<0)return t?zM(t,xM):xM;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===jM&&e!==_M)return zM(t,0===t.avail_out?SM:xM);const i=r.last_flush;if(r.last_flush=e,0!==r.pending){if(GM(t),0===t.avail_out)return r.last_flush=-1,AM}else if(0===t.avail_in&&qM(e)<=qM(i)&&e!==_M)return zM(t,SM);if(r.status===jM&&0!==t.avail_in)return zM(t,SM);if(r.status===LM&&0===r.wrap&&(r.status=FM),r.status===LM){let e=$M+(r.w_bits-8<<4)<<8,i=-1;if(i=r.strategy>=TM||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,QM(r,e),0!==r.strstart&&(QM(r,t.adler>>>16),QM(r,65535&t.adler)),t.adler=1,r.status=FM,GM(t),0!==r.pending)return r.last_flush=-1,AM}if(57===r.status)if(t.adler=0,JM(r,31),JM(r,139),JM(r,8),r.gzhead)JM(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),JM(r,255&r.gzhead.time),JM(r,r.gzhead.time>>8&255),JM(r,r.gzhead.time>>16&255),JM(r,r.gzhead.time>>24&255),JM(r,9===r.level?2:r.strategy>=TM||r.level<2?4:0),JM(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(JM(r,255&r.gzhead.extra.length),JM(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=cM(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(JM(r,0),JM(r,0),JM(r,0),JM(r,0),JM(r,0),JM(r,9===r.level?2:r.strategy>=TM||r.level<2?4:0),JM(r,3),r.status=FM,GM(t),0!==r.pending)return r.last_flush=-1,AM;if(69===r.status){if(r.gzhead.extra){let e=r.pending,i=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let n=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=cM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=n,GM(t),0!==r.pending)return r.last_flush=-1,AM;e=0,i-=n}let n=new Uint8Array(r.gzhead.extra);r.pending_buf.set(n.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>e&&(t.adler=cM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i)),GM(t),0!==r.pending)return r.last_flush=-1,AM;i=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,JM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i)),GM(t),0!==r.pending)return r.last_flush=-1,AM;i=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,JM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(GM(t),0!==r.pending))return r.last_flush=-1,AM;JM(r,255&t.adler),JM(r,t.adler>>8&255),t.adler=0}if(r.status=FM,GM(t),0!==r.pending)return r.last_flush=-1,AM}if(0!==t.avail_in||0!==r.lookahead||e!==wM&&r.status!==jM){let i=0===r.level?t_(r,e):r.strategy===TM?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(XM(t),0===t.lookahead)){if(e===wM)return 1;break}if(t.match_length=0,r=yM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(KM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===CM?((t,e)=>{let r,i,n,o;const s=t.window;for(;;){if(t.lookahead<=UM){if(XM(t),t.lookahead<=UM&&e===wM)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){o=t.strstart+UM;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<o);t.match_length=UM-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=yM(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=yM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(KM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2})(r,e):n_[r.level].func(r,e);if(3!==i&&4!==i||(r.status=jM),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),AM;if(2===i&&(e===bM?vM(r):e!==EM&&(pM(r,0,0,!1),e===MM&&(HM(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),GM(t),0===t.avail_out))return r.last_flush=-1,AM}return e!==_M?AM:r.wrap<=0?kM:(2===r.wrap?(JM(r,255&t.adler),JM(r,t.adler>>8&255),JM(r,t.adler>>16&255),JM(r,t.adler>>24&255),JM(r,255&t.total_in),JM(r,t.total_in>>8&255),JM(r,t.total_in>>16&255),JM(r,t.total_in>>24&255)):(QM(r,t.adler>>>16),QM(r,65535&t.adler)),GM(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?AM:kM)},c_=(t,e)=>{let r=e.length;if(s_(t))return xM;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==LM||i.lookahead)return xM;if(1===n&&(t.adler=uM(t.adler,e,r,0)),i.wrap=0,r>=i.w_size){0===n&&(HM(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(r-i.w_size,r),0),e=t,r=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,XM(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=ZM(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,XM(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=n,AM},f_={deflateInit:(t,e)=>u_(t,e,$M,15,8,OM),deflateInit2:u_,deflateReset:h_,deflateResetKeep:a_,deflateSetHeader:(t,e)=>s_(t)||2!==t.state.wrap?xM:(t.state.gzhead=e,AM),deflate:l_,deflateEnd:t=>{if(s_(t))return xM;const e=t.state.status;return t.state=null,e===FM?zM(t,NM):AM},deflateSetDictionary:c_,deflateInfo:"pako deflate (from Nodeca project)"};const d_=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var m_=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)d_(r,e)&&(t[e]=r[e])}}return t},p_=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];r.set(n,i),i+=n.length}return r};let g_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){g_=!1}const y_=new Uint8Array(256);for(let t=0;t<256;t++)y_[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;y_[254]=y_[254]=1;var v_=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,i,n,o,s=t.length,a=0;for(n=0;n<s;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},w_=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const o=new Array(2*r);for(n=0,i=0;i<r;){let e=t[i++];if(e<128){o[n++]=e;continue}let s=y_[e];if(s>4)o[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<r;)e=e<<6|63&t[i++],s--;s>1?o[n++]=65533:e<65536?o[n++]=e:(e-=65536,o[n++]=55296|e>>10&1023,o[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&g_)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r})(o,n)},b_=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+y_[t[r]]>e?r:e};var M_=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const __=Object.prototype.toString,{Z_NO_FLUSH:E_,Z_SYNC_FLUSH:A_,Z_FULL_FLUSH:k_,Z_FINISH:x_,Z_OK:N_,Z_STREAM_END:S_,Z_DEFAULT_COMPRESSION:I_,Z_DEFAULT_STRATEGY:R_,Z_DEFLATED:T_}=dM;function C_(t){this.options=m_({level:I_,method:T_,chunkSize:16384,windowBits:15,memLevel:8,strategy:R_},t||{});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 M_,this.strm.avail_out=0;let r=f_.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==N_)throw new Error(fM[r]);if(e.header&&f_.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?v_(e.dictionary):"[object ArrayBuffer]"===__.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=f_.deflateSetDictionary(this.strm,t),r!==N_)throw new Error(fM[r]);this._dict_set=!0}}function P_(t,e){const r=new C_(e);if(r.push(t,!0),r.err)throw r.msg||fM[r.err];return r.result}C_.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize;let n,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?x_:E_,"string"==typeof t?r.input=v_(t):"[object ArrayBuffer]"===__.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(o===A_||o===k_)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(n=f_.deflate(r,o),n===S_)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),n=f_.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===N_;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},C_.prototype.onData=function(t){this.chunks.push(t)},C_.prototype.onEnd=function(t){t===N_&&(this.result=p_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var O_={Deflate:C_,deflate:P_,deflateRaw:function(t,e){return(e=e||{}).raw=!0,P_(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,P_(t,e)},constants:dM};const B_=16209;var $_=function(t,e){let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A,k;const x=t.state;r=t.next_in,A=t.input,i=r+(t.avail_in-5),n=t.next_out,k=t.output,o=n-(e-t.avail_out),s=n+(t.avail_out-257),a=x.dmax,h=x.wsize,u=x.whave,l=x.wnext,c=x.window,f=x.hold,d=x.bits,m=x.lencode,p=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=m[f&g];e:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,0===w)k[n++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(f&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=B_;break t}b=65535&v,w&=15,w&&(d<w&&(f+=A[r++]<<d,d+=8),b+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=p[f&y];r:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,!(16&w)){if(0==(64&w)){v=p[(65535&v)+(f&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=B_;break t}if(M=65535&v,w&=15,d<w&&(f+=A[r++]<<d,d+=8,d<w&&(f+=A[r++]<<d,d+=8)),M+=f&(1<<w)-1,M>a){t.msg="invalid distance too far back",x.mode=B_;break t}if(f>>>=w,d-=w,w=n-o,M>w){if(w=M-w,w>u&&x.sane){t.msg="invalid distance too far back",x.mode=B_;break t}if(_=0,E=c,0===l){if(_+=h-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}else if(l<w){if(_+=h+l-w,w-=l,w<b){b-=w;do{k[n++]=c[_++]}while(--w);if(_=0,l<b){w=l,b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}}else if(_+=l-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}for(;b>2;)k[n++]=E[_++],k[n++]=E[_++],k[n++]=E[_++],b-=3;b&&(k[n++]=E[_++],b>1&&(k[n++]=E[_++]))}else{_=n-M;do{k[n++]=k[_++],k[n++]=k[_++],k[n++]=k[_++],b-=3}while(b>2);b&&(k[n++]=k[_++],b>1&&(k[n++]=k[_++]))}break}}break}}while(r<i&&n<s);b=d>>3,r-=b,d-=b<<3,f&=(1<<d)-1,t.next_in=r,t.next_out=n,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=n<s?s-n+257:257-(n-s),x.hold=f,x.bits=d};const U_=15,D_=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]),L_=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]),F_=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]),j_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var z_=(t,e,r,i,n,o,s,a)=>{const h=a.bits;let u,l,c,f,d,m,p=0,g=0,y=0,v=0,w=0,b=0,M=0,_=0,E=0,A=0,k=null;const x=new Uint16Array(16),N=new Uint16Array(16);let S,I,R,T=null;for(p=0;p<=U_;p++)x[p]=0;for(g=0;g<i;g++)x[e[r+g]]++;for(w=h,v=U_;v>=1&&0===x[v];v--);if(w>v&&(w=v),0===v)return n[o++]=20971520,n[o++]=20971520,a.bits=1,0;for(y=1;y<v&&0===x[y];y++);for(w<y&&(w=y),_=1,p=1;p<=U_;p++)if(_<<=1,_-=x[p],_<0)return-1;if(_>0&&(0===t||1!==v))return-1;for(N[1]=0,p=1;p<U_;p++)N[p+1]=N[p]+x[p];for(g=0;g<i;g++)0!==e[r+g]&&(s[N[e[r+g]]++]=g);if(0===t?(k=T=s,m=20):1===t?(k=D_,T=L_,m=257):(k=F_,T=j_,m=0),A=0,g=0,p=y,d=o,b=w,M=0,c=-1,E=1<<w,f=E-1,1===t&&E>852||2===t&&E>592)return 1;for(;;){S=p-M,s[g]+1<m?(I=0,R=s[g]):s[g]>=m?(I=T[s[g]-m],R=k[s[g]-m]):(I=96,R=0),u=1<<p-M,l=1<<b,y=l;do{l-=u,n[d+(A>>M)+l]=S<<24|I<<16|R|0}while(0!==l);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,g++,0==--x[p]){if(p===v)break;p=e[r+s[g]]}if(p>w&&(A&f)!==c){for(0===M&&(M=w),d+=y,b=p-M,_=1<<b;b+M<v&&(_-=x[b+M],!(_<=0));)b++,_<<=1;if(E+=1<<b,1===t&&E>852||2===t&&E>592)return 1;c=A&f,n[c]=w<<24|b<<16|d-o|0}}return 0!==A&&(n[d+A]=p-M<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:q_,Z_BLOCK:H_,Z_TREES:V_,Z_OK:Z_,Z_STREAM_END:G_,Z_NEED_DICT:K_,Z_STREAM_ERROR:J_,Z_DATA_ERROR:Q_,Z_MEM_ERROR:Y_,Z_BUF_ERROR:W_,Z_DEFLATED:X_}=dM,tE=16180,eE=16190,rE=16191,iE=16192,nE=16194,oE=16199,sE=16200,aE=16206,hE=16209,uE=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function lE(){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 cE=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<tE||e.mode>16211?1:0},fE=t=>{if(cE(t))return J_;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=tE,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(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Z_},dE=t=>{if(cE(t))return J_;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,fE(t)},mE=(t,e)=>{let r;if(cE(t))return J_;const i=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?J_:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,dE(t))},pE=(t,e)=>{if(!t)return J_;const r=new lE;t.state=r,r.strm=t,r.window=null,r.mode=tE;const i=mE(t,e);return i!==Z_&&(t.state=null),i};let gE,yE,vE=!0;const wE=t=>{if(vE){gE=new Int32Array(512),yE=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(z_(1,t.lens,0,288,gE,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;z_(2,t.lens,0,32,yE,0,t.work,{bits:5}),vE=!1}t.lencode=gE,t.lenbits=9,t.distcode=yE,t.distbits=5},bE=(t,e,r,i)=>{let n;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>i&&(n=i),o.window.set(e.subarray(r-i,r-i+n),o.wnext),(i-=n)?(o.window.set(e.subarray(r-i,r),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0};var ME=(t,e)=>{let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A=0;const k=new Uint8Array(4);let x,N;const S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(cE(t)||!t.output||!t.input&&0!==t.avail_in)return J_;r=t.state,r.mode===rE&&(r.mode=iE),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,c=a,f=h,E=Z_;t:for(;;)switch(r.mode){case tE:if(0===r.wrap){r.mode=iE;break}for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=hE;break}if((15&u)!==X_){t.msg="unknown compression method",r.mode=hE;break}if(u>>>=4,l-=4,_=8+(15&u),0===r.wbits&&(r.wbits=_),_>15||_>r.wbits){t.msg="invalid window size",r.mode=hE;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&u?16189:rE,u=0,l=0;break;case 16181:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==X_){t.msg="unknown compression method",r.mode=hE;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=hE;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,k[2]=u>>>16&255,k[3]=u>>>24&255,r.check=cM(r.check,k,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>a&&(d=a),d&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(i.subarray(o,o+d),_)),512&r.flags&&4&r.wrap&&(r.check=cM(r.check,i,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=cM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=cM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=hE;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=rE;break;case 16189:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}t.adler=r.check=uE(u),u=0,l=0,r.mode=eE;case eE:if(0===r.havedict)return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,K_;t.adler=r.check=1,r.mode=rE;case rE:if(e===H_||e===V_)break t;case iE:if(r.last){u>>>=7&l,l-=7&l,r.mode=aE;break}for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(wE(r),r.mode=oE,e===V_){u>>>=2,l-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=hE}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=hE;break}if(r.length=65535&u,u=0,l=0,r.mode=nE,e===V_)break t;case nE:r.mode=16195;case 16195:if(d=r.length,d){if(d>a&&(d=a),d>h&&(d=h),0===d)break t;n.set(i.subarray(o,o+d),s),a-=d,o+=d,h-=d,s+=d,r.length-=d;break}r.mode=rE;break;case 16196:for(;l<14;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=hE;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.lens[S[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},E=z_(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid code lengths set",r.mode=hE;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(v<16)u>>>=g,l-=g,r.lens[r.have++]=v;else{if(16===v){for(N=g+2;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(u>>>=g,l-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=hE;break}_=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===v){for(N=g+3;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=3+(7&u),u>>>=3,l-=3}else{for(N=g+7;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=11+(127&u),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=hE;break}for(;d--;)r.lens[r.have++]=_}}if(r.mode===hE)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=hE;break}if(r.lenbits=9,x={bits:r.lenbits},E=z_(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid literal/lengths set",r.mode=hE;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},E=z_(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,E){t.msg="invalid distances set",r.mode=hE;break}if(r.mode=oE,e===V_)break t;case oE:r.mode=sE;case sE:if(a>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,$_(t,f),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,r.mode===rE&&(r.back=-1);break}for(r.back=0;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(y&&0==(240&y)){for(w=g,b=y,M=v;A=r.lencode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,r.length=v,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=rE;break}if(64&y){t.msg="invalid literal/length code",r.mode=hE;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;A=r.distcode[u&(1<<r.distbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(0==(240&y)){for(w=g,b=y,M=v;A=r.distcode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=hE;break}r.offset=v,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=hE;break}r.mode=16204;case 16204:if(0===h)break t;if(d=f-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=hE;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=n,m=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{n[s++]=p[m++]}while(--d);0===r.length&&(r.mode=sE);break;case 16205:if(0===h)break t;n[s++]=r.length,h--,r.mode=sE;break;case aE:if(r.wrap){for(;l<32;){if(0===a)break t;a--,u|=i[o++]<<l,l+=8}if(f-=h,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?cM(r.check,n,f,s-f):uM(r.check,n,f,s-f)),f=h,4&r.wrap&&(r.flags?u:uE(u))!==r.check){t.msg="incorrect data check",r.mode=hE;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=hE;break}u=0,l=0}r.mode=16208;case 16208:E=G_;break t;case hE:E=Q_;break t;case 16210:return Y_;default:return J_}return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,(r.wsize||f!==t.avail_out&&r.mode<hE&&(r.mode<aE||e!==q_))&&bE(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?cM(r.check,n,f,t.next_out-f):uM(r.check,n,f,t.next_out-f)),t.data_type=r.bits+(r.last?64:0)+(r.mode===rE?128:0)+(r.mode===oE||r.mode===nE?256:0),(0===c&&0===f||e===q_)&&E===Z_&&(E=W_),E},_E={inflateReset:dE,inflateReset2:mE,inflateResetKeep:fE,inflateInit:t=>pE(t,15),inflateInit2:pE,inflate:ME,inflateEnd:t=>{if(cE(t))return J_;let e=t.state;return e.window&&(e.window=null),t.state=null,Z_},inflateGetHeader:(t,e)=>{if(cE(t))return J_;const r=t.state;return 0==(2&r.wrap)?J_:(r.head=e,e.done=!1,Z_)},inflateSetDictionary:(t,e)=>{const r=e.length;let i,n,o;return cE(t)?J_:(i=t.state,0!==i.wrap&&i.mode!==eE?J_:i.mode===eE&&(n=1,n=uM(n,e,r,0),n!==i.check)?Q_:(o=bE(t,e,r,r),o?(i.mode=16210,Y_):(i.havedict=1,Z_)))},inflateInfo:"pako inflate (from Nodeca project)"};var EE=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const AE=Object.prototype.toString,{Z_NO_FLUSH:kE,Z_FINISH:xE,Z_OK:NE,Z_STREAM_END:SE,Z_NEED_DICT:IE,Z_STREAM_ERROR:RE,Z_DATA_ERROR:TE,Z_MEM_ERROR:CE}=dM;function PE(t){this.options=m_({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new M_,this.strm.avail_out=0;let r=_E.inflateInit2(this.strm,e.windowBits);if(r!==NE)throw new Error(fM[r]);if(this.header=new EE,_E.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=v_(e.dictionary):"[object ArrayBuffer]"===AE.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=_E.inflateSetDictionary(this.strm,e.dictionary),r!==NE)))throw new Error(fM[r])}function OE(t,e){const r=new PE(e);if(r.push(t),r.err)throw r.msg||fM[r.err];return r.result}PE.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?xE:kE,"[object ArrayBuffer]"===AE.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),o=_E.inflate(r,s),o===IE&&n&&(o=_E.inflateSetDictionary(r,n),o===NE?o=_E.inflate(r,s):o===TE&&(o=IE));r.avail_in>0&&o===SE&&r.state.wrap>0&&0!==t[r.next_in];)_E.inflateReset(r),o=_E.inflate(r,s);switch(o){case RE:case TE:case IE:case CE:return this.onEnd(o),this.ended=!0,!1}if(a=r.avail_out,r.next_out&&(0===r.avail_out||o===SE))if("string"===this.options.to){let t=b_(r.output,r.next_out),e=r.next_out-t,n=w_(r.output,t);r.next_out=e,r.avail_out=i-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==NE||0!==a){if(o===SE)return o=_E.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},PE.prototype.onData=function(t){this.chunks.push(t)},PE.prototype.onEnd=function(t){t===NE&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=p_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var BE={Inflate:PE,inflate:OE,inflateRaw:function(t,e){return(e=e||{}).raw=!0,OE(t,e)},ungzip:OE,constants:dM};const{Deflate:$E,deflate:UE,deflateRaw:DE,gzip:LE}=O_,{Inflate:FE,inflate:jE,inflateRaw:zE,ungzip:qE}=BE;var HE=LE,VE=qE,ZE="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==$&&$||{},GE="URLSearchParams"in ZE,KE="Symbol"in ZE&&"iterator"in Symbol,JE="FileReader"in ZE&&"Blob"in ZE&&function(){try{return new Blob,!0}catch(t){return!1}}(),QE="FormData"in ZE,YE="ArrayBuffer"in ZE;if(YE)var WE=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],XE=ArrayBuffer.isView||function(t){return t&&WE.indexOf(Object.prototype.toString.call(t))>-1};function tA(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function eA(t){return"string"!=typeof t&&(t=String(t)),t}function rA(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return KE&&(e[Symbol.iterator]=function(){return e}),e}function iA(t){this.map={},t instanceof iA?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function nA(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function oA(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function sA(t){var e=new FileReader,r=oA(e);return e.readAsArrayBuffer(t),r}function aA(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function hA(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:JE&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:QE&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:GE&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():YE&&JE&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=aA(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):YE&&(ArrayBuffer.prototype.isPrototypeOf(t)||XE(t))?this._bodyArrayBuffer=aA(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):GE&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},JE&&(this.blob=function(){var t=nA(this);if(t)return t;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(){if(this._bodyArrayBuffer){var t=nA(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(JE)return this.blob().then(sA);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,i,n,o=nA(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=oA(e),i=/charset=([A-Za-z0-9_-]+)/.exec(t.type),n=i?i[1]:"utf-8",e.readAsText(t,n),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),i=0;i<e.length;i++)r[i]=String.fromCharCode(e[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},QE&&(this.formData=function(){return this.text().then(cA)}),this.json=function(){return this.text().then(JSON.parse)},this}iA.prototype.append=function(t,e){t=tA(t),e=eA(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},iA.prototype.delete=function(t){delete this.map[tA(t)]},iA.prototype.get=function(t){return t=tA(t),this.has(t)?this.map[t]:null},iA.prototype.has=function(t){return this.map.hasOwnProperty(tA(t))},iA.prototype.set=function(t,e){this.map[tA(t)]=eA(e)},iA.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},iA.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),rA(t)},iA.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),rA(t)},iA.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),rA(t)},KE&&(iA.prototype[Symbol.iterator]=iA.prototype.entries);var uA=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function lA(t,e){if(!(this instanceof lA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(e=e||{}).body;if(t instanceof lA){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new iA(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new iA(e.headers)),this.method=(r=e.method||this.method||"GET",i=r.toUpperCase(),uA.indexOf(i)>-1?i:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in ZE)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function cA(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),i=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(n))}})),e}function fA(t,e){if(!(this instanceof fA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new iA(e.headers),this.url=e.url||"",this._initBody(t)}lA.prototype.clone=function(){return new lA(this,{body:this._bodyInit})},hA.call(lA.prototype),hA.call(fA.prototype),fA.prototype.clone=function(){return new fA(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new iA(this.headers),url:this.url})},fA.error=function(){var t=new fA(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var dA=[301,302,303,307,308];fA.redirect=function(t,e){if(-1===dA.indexOf(e))throw new RangeError("Invalid status code");return new fA(null,{status:e,headers:{location:t}})};var mA=ZE.DOMException;try{new mA}catch(zM){mA=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},mA.prototype=Object.create(Error.prototype),mA.prototype.constructor=mA}function pA(t,e){return new Promise((function(r,i){var n=new lA(t,e);if(n.signal&&n.signal.aborted)return i(new mA("Aborted","AbortError"));var o=new XMLHttpRequest;function s(){o.abort()}if(o.onload=function(){var t,e,i={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new iA,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),i=r.shift().trim();if(i){var n=r.join(":").trim();try{e.append(i,n)}catch(t){console.warn("Response "+t.message)}}})),e)};0===n.url.indexOf("file://")&&(o.status<200||o.status>599)?i.status=200:i.status=o.status,i.url="responseURL"in o?o.responseURL:i.headers.get("X-Request-URL");var s="response"in o?o.response:o.responseText;setTimeout((function(){r(new fA(s,i))}),0)},o.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){i(new mA("Aborted","AbortError"))}),0)},o.open(n.method,function(t){try{return""===t&&ZE.location.href?ZE.location.href:t}catch(e){return t}}(n.url),!0),"include"===n.credentials?o.withCredentials=!0:"omit"===n.credentials&&(o.withCredentials=!1),"responseType"in o&&(JE?o.responseType="blob":YE&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof iA||ZE.Headers&&e.headers instanceof ZE.Headers)){var a=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){a.push(tA(t)),o.setRequestHeader(t,eA(e.headers[t]))})),n.headers.forEach((function(t,e){-1===a.indexOf(e)&&o.setRequestHeader(e,t)}))}else n.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));n.signal&&(n.signal.addEventListener("abort",s),o.onreadystatechange=function(){4===o.readyState&&n.signal.removeEventListener("abort",s)}),o.send(void 0===n._bodyInit?null:n._bodyInit)}))}pA.polyfill=!0,ZE.fetch||(ZE.fetch=pA,ZE.Headers=iA,ZE.Request=lA,ZE.Response=fA);var gA=self.fetch.bind(self),yA=o((function(t){var e,i;e=r,i=function(){function t(t){var e=[];if(0===t.length)return"";if("string"!=typeof t[0])throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i<t.length;i++){var n=t[i];if("string"!=typeof n)throw new TypeError("Url must be a string. Received "+n);""!==n&&(i>0&&(n=n.replace(/^[\/]+/,"")),n=i<t.length-1?n.replace(/[\/]+$/,""):n.replace(/[\/]+$/,"/"),e.push(n))}var o=e.join("/"),s=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=s.shift()+(s.length>0?"?":"")+s.join("&")}return function(){return t("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},t.exports?t.exports=i():e.urljoin=i()})),vA=Object.defineProperty,wA=(t,e)=>{for(var r in e)vA(t,r,{get:e[r],enumerable:!0})};wA({},{ADDR_BOUND:()=>VA,API_VERSION:()=>qA,BN_FEE_TRANSACTION_VERSION_1:()=>LA,BN_FEE_TRANSACTION_VERSION_2:()=>FA,BN_TRANSACTION_VERSION_1:()=>UA,BN_TRANSACTION_VERSION_2:()=>DA,BaseUrl:()=>ZA,HEX_STR_TRANSACTION_VERSION_1:()=>BA,HEX_STR_TRANSACTION_VERSION_2:()=>$A,IS_BROWSER:()=>bA,MASK_250:()=>zA,MAX_STORAGE_ITEM_SIZE:()=>HA,NetworkName:()=>GA,RPC_DEFAULT_VERSION:()=>YA,RPC_NODES:()=>WA,StarknetChainId:()=>KA,TEXT_TO_FELT_MAX_LEN:()=>OA,TransactionHashPrefix:()=>JA,UDC:()=>QA,ZERO:()=>jA});wA({},{IS_BROWSER:()=>bA,addHexPrefix:()=>SA,arrayBufferToString:()=>MA,atobUniversal:()=>AA,btoaUniversal:()=>kA,buf2hex:()=>xA,calcByteLength:()=>RA,padLeft:()=>IA,pascalToSnake:()=>PA,removeHexPrefix:()=>NA,sanitizeBytes:()=>TA,sanitizeHex:()=>CA,stringToArrayBuffer:()=>EA,utf8ToArray:()=>_A});var bA="undefined"!=typeof window;function MA(t){return new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),"")}function _A(t){return(new TextEncoder).encode(t)}function EA(t){return _A(t)}function AA(t){return Og.decode(t)}function kA(t){return Og.encode(new Uint8Array(t))}function xA(t){return t.reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}function NA(t){return t.replace(/^0x/i,"")}function SA(t){return`0x${NA(t)}`}function IA(t,e,r="0"){return function(t,e,r,i="0"){const n=e-t.length;let o=t;if(n>0){const e=i.repeat(n);o=r?e+t:t+e}return o}(t,e,!0,r)}function RA(t,e=8){const{length:r}=t,i=r%e;return i?(r-i)/e*e+e:r}function TA(t,e=8,r="0"){return IA(t,RA(t,e),r)}function CA(t){return(t=TA(t=NA(t),2))&&(t=SA(t)),t}var PA=t=>/[a-z]/.test(t)?t.split(/(?=[A-Z])/).join("_").toUpperCase():t,OA=31,BA="0x1",$A="0x2",UA=1n,DA=2n,LA=2n**128n+UA,FA=2n**128n+DA,jA=0n,zA=2n**250n-1n,qA=jA,HA=256n,VA=2n**251n-HA,ZA=(t=>(t.SN_MAIN="https://alpha-mainnet.starknet.io",t.SN_GOERLI="https://alpha4.starknet.io",t.SN_SEPOLIA="https://alpha-sepolia.starknet.io",t))(ZA||{}),GA=(t=>(t.SN_MAIN="SN_MAIN",t.SN_GOERLI="SN_GOERLI",t.SN_SEPOLIA="SN_SEPOLIA",t))(GA||{}),KA=(t=>(t.SN_MAIN="0x534e5f4d41494e",t.SN_GOERLI="0x534e5f474f45524c49",t.SN_SEPOLIA="0x534e5f5345504f4c4941",t))(KA||{}),JA=(t=>(t.DECLARE="0x6465636c617265",t.DEPLOY="0x6465706c6f79",t.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",t.INVOKE="0x696e766f6b65",t.L1_HANDLER="0x6c315f68616e646c6572",t))(JA||{}),QA={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},YA="v0_5",WA={SN_GOERLI:["https://starknet-testnet.public.blastapi.io/rpc/","https://free-rpc.nethermind.io/goerli-juno/"],SN_MAIN:["https://starknet-mainnet.public.blastapi.io/rpc/","https://free-rpc.nethermind.io/mainnet-juno/"],SN_SEPOLIA:["https://starknet-sepolia.public.blastapi.io/rpc/","https://free-rpc.nethermind.io/sepolia-juno/"]};wA({},{BlockStatus:()=>hk,BlockTag:()=>uk,EntryPointType:()=>ik,Literal:()=>rk,RPC:()=>ck,SIMULATION_FLAG:()=>XA,Sequencer:()=>_k,TransactionExecutionStatus:()=>ak,TransactionFinalityStatus:()=>sk,TransactionStatus:()=>ok,TransactionType:()=>nk,TypedDataRevision:()=>lk,Uint:()=>ek,ValidateType:()=>tk});var XA=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_EXECUTE="SKIP_EXECUTE",t))(XA||{}),tk=(t=>(t.DEPLOY="DEPLOY",t.CALL="CALL",t.INVOKE="INVOKE",t))(tk||{}),ek=(t=>(t.u8="core::integer::u8",t.u16="core::integer::u16",t.u32="core::integer::u32",t.u64="core::integer::u64",t.u128="core::integer::u128",t.u256="core::integer::u256",t))(ek||{}),rk=(t=>(t.ClassHash="core::starknet::class_hash::ClassHash",t.ContractAddress="core::starknet::contract_address::ContractAddress",t))(rk||{}),ik=(t=>(t.EXTERNAL="EXTERNAL",t.L1_HANDLER="L1_HANDLER",t.CONSTRUCTOR="CONSTRUCTOR",t))(ik||{}),nk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE_FUNCTION",t))(nk||{}),ok=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.REJECTED="REJECTED",t.REVERTED="REVERTED",t))(ok||{}),sk=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(sk||{}),ak=(t=>(t.REJECTED="REJECTED",t.REVERTED="REVERTED",t.SUCCEEDED="SUCCEEDED",t))(ak||{}),hk=(t=>(t.PENDING="PENDING",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.REJECTED="REJECTED",t))(hk||{}),uk=(t=>(t.pending="pending",t.latest="latest",t))(uk||{}),lk=(t=>(t.Active="1",t.Legacy="0",t))(lk||{}),ck={};wA(ck,{EBlockTag:()=>bk,EDataAvailabilityMode:()=>Mk,ESimulationFlag:()=>gk,ETransactionExecutionStatus:()=>wk,ETransactionFinalityStatus:()=>vk,ETransactionStatus:()=>yk,ETransactionType:()=>pk,Errors:()=>dk,JRPC:()=>fk,SPEC:()=>mk});var fk={},dk={},mk={},pk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE",t.L1_HANDLER="L1_HANDLER",t))(pk||{}),gk=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_FEE_CHARGE="SKIP_FEE_CHARGE",t))(gk||{}),yk=(t=>(t.RECEIVED="RECEIVED",t.REJECTED="REJECTED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(yk||{}),vk=(t=>(t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(vk||{}),wk=(t=>(t.SUCCEEDED="SUCCEEDED",t.REVERTED="REVERTED",t))(wk||{}),bk=(t=>(t.LATEST="latest",t.PENDING="pending",t))(bk||{}),Mk=(t=>(t.L1="L1",t.L2="L2",t))(Mk||{}),_k={};function Ek(t,e){if(!t)throw new Error(e||"Assertion failure")}function Ak(t){return/^0x[0-9a-f]*$/i.test(t)}function kk(t){return BigInt(t)}function xk(t){return"bigint"==typeof t}function Nk(t){return SA(kk(t).toString(16))}wA({},{assertInRange:()=>Ck,bigNumberishArrayToDecimalStringArray:()=>Pk,bigNumberishArrayToHexadecimalStringArray:()=>Ok,cleanHex:()=>Tk,getDecimalString:()=>$k,getHexString:()=>Uk,getHexStringArray:()=>Dk,hexToBytes:()=>Fk,hexToDecimalString:()=>Rk,isBigInt:()=>xk,isHex:()=>Ak,isStringWholeNumber:()=>Bk,toBigInt:()=>kk,toCairoBool:()=>Lk,toHex:()=>Nk,toHexString:()=>Sk,toStorageKey:()=>Ik});var Sk=Nk;function Ik(t){return SA(kk(t).toString(16).padStart(64,"0"))}function Rk(t){return BigInt(SA(t)).toString(10)}var Tk=t=>t.toLowerCase().replace(/^(0x)0+/,"$1");function Ck(t,e,r,i=""){const n=""===i?"invalid length":`invalid ${i} length`,o=BigInt(t),s=BigInt(e),a=BigInt(r);Ek(o>=s&&o<=a,`Message not signable, ${n}.`)}function Pk(t){return t.map((t=>kk(t).toString(10)))}function Ok(t){return t.map((t=>Nk(t)))}var Bk=t=>/^\d+$/.test(t);function $k(t){if(Ak(t))return Rk(t);if(Bk(t))return t;throw new Error(`${t} need to be hex-string or whole-number-string`)}function Uk(t){if(Ak(t))return t;if(Bk(t))return Sk(t);throw new Error(`${t} need to be hex-string or whole-number-string`)}function Dk(t){return t.map((t=>Uk(t)))}var Lk=t=>(+t).toString();function Fk(t){if(!Ak(t))throw new Error(`${t} need to be a hex-string`);let e=NA(t);return e.length%2!=0&&(e=`0${e}`),Qg(e)}function jk(t){const e=NA(Nk(BigInt(t))),r=e.length%2==0?e:`0${e}`;return SA(hw(Fk(SA(r))).toString(16))}function zk(t){const e=BigInt(function(t){return SA(hw(_A(t)).toString(16))}(t));return e&zA}function qk(t){return Nk(zk(t))}function Hk(t){return Ak(t)?t:Bk(t)?Sk(t):qk(t)}wA({},{getSelector:()=>Hk,getSelectorFromName:()=>qk,keccakBn:()=>jk,starknetKeccak:()=>zk});function Vk(t){return/^[\x00-\x7F]*$/.test(t)}function Zk(t){return t.length<=OA}function Gk(t){return/^[0-9]*$/i.test(t)}function Kk(t){return"string"==typeof t&&!Ak(t)&&!Bk(t)}wA({},{decodeShortString:()=>Xk,encodeShortString:()=>Wk,isASCII:()=>Vk,isDecimalString:()=>Gk,isLongText:()=>Qk,isShortString:()=>Zk,isShortText:()=>Jk,isText:()=>Kk,splitLongString:()=>Yk});var Jk=t=>Kk(t)&&Zk(t),Qk=t=>Kk(t)&&!Zk(t);function Yk(t){const e=RegExp(`[^]{1,${OA}}`,"g");return t.match(e)||[]}function Wk(t){if(!Vk(t))throw new Error(`${t} is not an ASCII string`);if(!Zk(t))throw new Error(`${t} is too long`);return SA(t.replace(/./g,(t=>t.charCodeAt(0).toString(16))))}function Xk(t){if(!Vk(t))throw new Error(`${t} is not an ASCII string`);if(Ak(t))return NA(t).replace(/.{2}/g,(t=>String.fromCharCode(parseInt(t,16))));if(Gk(t))return Xk("0X".concat(BigInt(t).toString(16)));throw new Error(`${t} is not Hex or decimal`)}var tx={};wA(tx,{felt:()=>Nx,getAbiContractVersion:()=>Ax,getArrayType:()=>_x,isCairo1Abi:()=>Ex,isCairo1Type:()=>Mx,isLen:()=>sx,isTypeArray:()=>hx,isTypeBool:()=>vx,isTypeContractAddress:()=>wx,isTypeEnum:()=>fx,isTypeEthAddress:()=>bx,isTypeFelt:()=>ax,isTypeLiteral:()=>gx,isTypeNamedTuple:()=>lx,isTypeOption:()=>dx,isTypeResult:()=>mx,isTypeStruct:()=>cx,isTypeTuple:()=>ux,isTypeUint:()=>px,isTypeUint256:()=>yx,tuple:()=>xx,uint256:()=>kx});wA({},{UINT_128_MAX:()=>ex,UINT_256_MAX:()=>rx,bnToUint256:()=>ox,isUint256:()=>nx,uint256ToBN:()=>ix});var ex=(1n<<128n)-1n,rx=(1n<<256n)-1n;function ix(t){return(kk(t.high)<<128n)+kk(t.low)}function nx(t){return kk(t)<=rx}function ox(t){const e=kk(t);if(!nx(e))throw new Error("Number is too large");return{low:SA((e&ex).toString(16)),high:SA((e>>128n).toString(16))}}var sx=t=>/_len$/.test(t),ax=t=>"felt"===t||"core::felt252"===t,hx=t=>/\*/.test(t)||t.startsWith("core::array::Array::")||t.startsWith("core::array::Span::"),ux=t=>/^\(.*\)$/i.test(t),lx=t=>/\(.*\)/i.test(t)&&t.includes(":"),cx=(t,e)=>t in e,fx=(t,e)=>t in e,dx=t=>t.startsWith("core::option::Option::"),mx=t=>t.startsWith("core::result::Result::"),px=t=>Object.values(ek).includes(t),gx=t=>Object.values(rk).includes(t),yx=t=>"core::integer::u256"===t,vx=t=>"core::bool"===t,wx=t=>"core::starknet::contract_address::ContractAddress"===t,bx=t=>"core::starknet::eth_address::EthAddress"===t,Mx=t=>t.includes("::"),_x=t=>Mx(t)?t.substring(t.indexOf("<")+1,t.lastIndexOf(">")):t.replace("*","");function Ex(t){const{cairo:e}=Ax(t);if(void 0===e)throw Error("Unable to determine Cairo version");return"1"===e}function Ax(t){if(t.find((t=>"interface"===t.type)))return{cairo:"1",compiler:"2"};const e=t.find((t=>"function"===t.type&&(t.inputs.length||t.outputs.length)));if(!e)return{cairo:void 0,compiler:void 0};const r=e.inputs.length?e.inputs:e.outputs;return Mx(r[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var kx=t=>{const e=BigInt(t);if(!nx(e))throw new Error("Number is too large");return{low:(e&ex).toString(10),high:(e>>128n).toString(10)}},xx=(...t)=>({...t});function Nx(t){if(xk(t)||"number"==typeof t&&Number.isInteger(t))return t.toString();if(Kk(t)){if(!Zk(t))throw new Error(`${t} is a long string > 31 chars, felt can store short strings, split it to array of short strings`);const e=Wk(t);return BigInt(e).toString()}if("string"==typeof t&&Ak(t))return BigInt(t).toString();if("string"==typeof t&&Bk(t))return t;if("boolean"==typeof t)return""+ +t;throw new Error(`${t} can't be computed by felt()`)}var Sx=class{variant;constructor(t){const e=Object.values(t);if(0===e.length)throw new Error("This Enum must have at least 1 variant");if(1!==e.filter((t=>void 0!==t)).length)throw new Error("This Enum must have exactly one active variant");this.variant=t}unwrap(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));if(void 0!==t)return t[1]}activeVariant(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));return void 0===t?"":t[0]}},Ix=(t=>(t[t.Some=0]="Some",t[t.None=1]="None",t))(Ix||{}),Rx=class{Some;None;constructor(t,e){if(!(t in Ix))throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");if(0===t){if(void 0===e)throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=e,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){if(!this.None)return this.Some}isSome(){return!(void 0===this.Some)}isNone(){return!0===this.None}},Tx=(t=>(t[t.Ok=0]="Ok",t[t.Err=1]="Err",t))(Tx||{}),Cx=class{Ok;Err;constructor(t,e){if(!(t in Tx))throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");0===t?(this.Ok=e,this.Err=void 0):(this.Ok=void 0,this.Err=e)}unwrap(){if(void 0!==this.Ok)return this.Ok;if(void 0!==this.Err)return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!(void 0===this.Ok)}isErr(){return!(void 0===this.Err)}},Px=(t,e,r)=>{if(!xk(t[r]))throw new Error(`Data and formatter mismatch on ${r}:${e[r]}, expected response data ${r}:${t[r]} to be BN instead it is ${typeof t[r]}`)},Ox=(t,e,r)=>{throw new Error(`Unhandled formatter type on ${r}:${e[r]} for data ${r}:${t[r]}`)};function Bx(t,e,r){return Object.entries(t).reduce(((i,[n,o])=>{const s=r??e[n];if(!(n in e)&&!r)return i[n]=o,i;if("string"===s){if(Array.isArray(t[n])){const e=Bx(t[n],t[n].map((t=>s)));return i[n]=Object.values(e).join(""),i}return Px(t,e,n),i[n]=Xk(o),i}if("number"===s)return Px(t,e,n),i[n]=Number(o),i;if("function"==typeof s)return i[n]=s(o),i;if(Array.isArray(s)){const e=Bx(t[n],s,s[0]);return i[n]=Object.values(e),i}return"object"==typeof s?(i[n]=Bx(t[n],s),i):(Ox(t,e,n),i)}),{})}function $x(t){const e=function(t){return t.find((t=>"interface"===t.type))?2:Ex(t)?1:0}(t);if(0===e||1===e)return new class{abi;constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.reduce(((t,e)=>sx(e.name)?t:t+1),0)}getMethod(t){return this.abi.find((e=>e.name===t))}getLegacyFormat(){return this.abi}}(t);if(2===e)return new class{abi;constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.length}getMethod(t){return this.abi.find((t=>"interface"===t.type)).items.find((e=>e.name===t))}getLegacyFormat(){return this.abi.flatMap((t=>"interface"===t.type?t.items:t))}}(t);throw Error(`Unsupported ABI version ${e}`)}function Ux(t,e,r){return"constructor"===t&&!r&&!e.length}function Dx(t){if(!t.includes("("))return{subTuple:[],result:t};const e=[];let r="",i=0;for(;i<t.length;){if("("===t[i]){let n=1;const o=i;for(i++;n;)")"===t[i]&&n--,"("===t[i]&&n++,i++;e.push(t.substring(o,i)),r+=" ",i--}else r+=t[i];i++}return{subTuple:e,result:r}}function Lx(t){return Mx(t)?function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Dx(e);return i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t))}(t):function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Dx(e);let n=i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t));return lx(t)&&(n=n.reduce(((t,e)=>t.concat(function(t){const e=t.substring(0,t.indexOf(":"));return{name:e,type:t.substring(e.length+":".length)}}(e))),[])),n}(t)}function Fx(t,e,r,i){const n=(t,e)=>{if(hx(e))return function(t,e){const r=_x(e);if("string"==typeof t)return t;return t.map((t=>n(t,r)))}(t,e);if(fx(e,i)){const r=i[e];return s(t,r)}if(ux(e))return function(t,e){const r=Lx(e).reduce(((e,r,i)=>{const o=Object.keys(t),s=r=>Object.defineProperty(e,i.toString(),{enumerable:!0,value:r??t[o[i]]}),a=r?.type?r.type:r;return s(n(t[o[i]],a)),e}),{});return r}(t,e);if(bx(e))return t;if(yx(e)){const r=t;if("object"!=typeof r)return r;if(!("low"in r)||!("high"in r))throw function(t){return Error(`Your object includes the property : ${t}, containing an Uint256 object without the 'low' and 'high' keys.`)}(e);return{low:r.low,high:r.high}}if(cx(e,r)){const i=r[e].members;return o(t,i)}return t},o=(t,e)=>e.reduce(((e,r)=>{if("undefined"===t[r.name]&&(Mx(r.type)||!sx(r.name)))throw Error(`Your object needs a property with key : ${r.name} .`);var i;return i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i??t[r.name]}),e}),{});const s=(t,e)=>{if(mx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(",")),o=e.name.substring(e.name.indexOf(",")+1,e.name.lastIndexOf(">"));return r.isOk()?new Cx(0,n(t.unwrap(),i)):new Cx(1,n(t.unwrap(),o))}if(dx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(">"));return r.isSome()?new Rx(0,n(r.unwrap(),i)):new Rx(1,{})}const r=t,i=Object.entries(r.variant).map((t=>{if(void 0===t[1])return t;const i=e.type.substring(e.type.lastIndexOf("<")+1,e.type.lastIndexOf(">"));return"()"===i?t:[t[0],n(r.unwrap(),i)]}));return new Sx(Object.fromEntries(i))};return e.reduce(((e,r)=>{return sx(r.name)&&!Mx(r.type)||(i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i})),e;var i}),{})}function jx(t,e){if(!0===yx(t)){const t=kx(e);return[Nx(t.low),Nx(t.high)]}return Nx(e)}function zx(t){if("object"==typeof t){const{low:e,high:r}=t;return[Nx(e),Nx(r)]}const e=kx(t);return[Nx(e.low),Nx(e.high)]}function qx(t,e,r,i){if(void 0===t)throw Error(`Missing parameter for type ${e}`);if(Array.isArray(t)){const n=[];n.push(Nx(t.length));const o=_x(e);return t.reduce(((t,e)=>t.concat(qx(e,o,r,i))),n)}if(r[e]&&r[e].members.length){if(yx(e))return zx(t);if("core::starknet::eth_address::EthAddress"===e)return jx(e,t);const{members:n}=r[e],o=t;return n.reduce(((t,e)=>t.concat(qx(o[e.name],e.type,r,i))),[])}if(ux(e)){const n=function(t,e){const r=Lx(e),i=Object.values(t);if(i.length!==r.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.\n provided: ${i} \n expected: ${r}`);return r.map(((t,e)=>({element:i[e],type:t.type??t})))}(t,e);return n.reduce(((t,e)=>{const n=qx(e.element,e.type,r,i);return t.concat(n)}),[])}if(yx(e))return zx(t);if(fx(e,i)){const{variants:n}=i[e];if(dx(e)){const e=t;if(e.isSome()){const t=n.find((t=>"Some"===t.name));if(void 0===t)throw Error("Error in abi : Option has no 'Some' variant.");const o=t.type;if("()"===o)return(0).toString();const s=qx(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}return 1..toString()}if(mx(e)){const e=t;if(e.isOk()){const t=n.find((t=>"Ok"===t.name));if(void 0===t)throw Error("Error in abi : Result has no 'Ok' variant.");const o=t.type;if("()"===o)return(0).toString();const s=qx(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}const o=n.find((t=>"Err"===t.name));if(void 0===o)throw Error("Error in abi : Result has no 'Err' variant.");const s=o.type;if("()"===s)return 1..toString();const a=qx(e.unwrap(),s,r,i);return Array.isArray(a)?[1..toString(),...a]:[1..toString(),a]}const o=t,s=o.activeVariant(),a=n.find((t=>t.name===s));if(void 0===a)throw Error(`Not find in abi : Enum has no '${s}' variant.`);const h=a.type,u=n.findIndex((t=>t.name===s));if("()"===h)return u.toString();const l=qx(o.unwrap(),h,r,i);return Array.isArray(l)?[u.toString(),...l]:[u.toString(),l]}if("object"==typeof t)throw Error(`Parameter ${t} do not align with abi parameter ${e}`);return jx(e,t)}function Hx(t,e){let r;switch(!0){case vx(t):return r=e.next().value,Boolean(BigInt(r));case yx(t):return ix({low:e.next().value,high:e.next().value});default:return r=e.next().value,BigInt(r)}}function Vx(t,e,r,i){if("()"===e.type)return{};if(yx(e.type)){return ix({low:t.next().value,high:t.next().value})}if(hx(e.type)){const n=[],o={name:"",type:_x(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Vx(t,o,r,i));return n}if(r&&e.type in r&&r[e.type])return"core::starknet::eth_address::EthAddress"===e.type?Hx(e.type,t):r[e.type].members.reduce(((e,n)=>(e[n.name]=Vx(t,n,r,i),e)),{});if(i&&e.type in i&&i[e.type]){const n=Number(t.next().value),o=i[e.type].variants.reduce(((e,o,s)=>s===n?(e[o.name]=Vx(t,{name:"",type:o.type},r,i),e):(e[o.name]=void 0,e)),{});if(e.type.startsWith("core::option::Option")){const t=0===n?o.Some:void 0;return new Rx(n,t)}if(e.type.startsWith("core::result::Result")){let t;return t=0===n?o.Ok:o.Err,new Cx(n,t)}return new Sx(o)}if(ux(e.type)){return Lx(e.type).reduce(((e,n,o)=>{const s=n?.name?n.name:o,a={name:s,type:n?.type?n.type:n};return e[s]=Vx(t,a,r,i),e}),{})}if(hx(e.type)){const n=[],o={name:"",type:_x(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Vx(t,o,r,i));return n}return Hx(e.type,t)}function Zx(t,e,r,i,n){const{name:o,type:s}=e;let a;switch(!0){case sx(o):return a=t.next().value,BigInt(a);case r&&s in r||ux(s):case i&&fx(s,i):return Vx(t,e,r,i);case hx(s):if(Mx(s))return Vx(t,e,r,i);const h=[];if(n&&n[`${o}_len`]){const s=n[`${o}_len`];for(;h.length<s;)h.push(Vx(t,{name:o,type:e.type.replace("*","")},r,i))}return h;default:return Hx(s,t)}}var Gx=(t,e)=>{if(Ek("string"==typeof t||"number"==typeof t||"bigint"==typeof t,`Validate: arg ${e.name} should be a felt typed as (String, Number or BigInt)`),"string"==typeof t&&!Ak(t))return;const r=BigInt(t.toString(10));Ek(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)},Kx=(t,e)=>{"number"==typeof t&&Ek(t<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is to large to be typed as Number use (BigInt or String)"),Ek("string"==typeof t||"number"==typeof t||"bigint"==typeof t||"object"==typeof t&&"low"in t&&"high"in t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (String, Number or BigInt), but is ${typeof t} ${t}.`);const r="object"==typeof t?ix(t):kk(t);switch(e.type){case"core::integer::u8":Ek(r>=0n&&r<=255n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0 - 255]`);break;case"core::integer::u16":Ek(r>=0n&&r<=65535n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 65535]`);break;case"core::integer::u32":Ek(r>=0n&&r<=4294967295n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 4294967295]`);break;case"core::integer::u64":Ek(r>=0n&&r<=2n**64n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^64-1]`);break;case"core::integer::u128":Ek(r>=0n&&r<=2n**128n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^128-1]`);break;case"core::integer::u256":Ek(r>=0n&&r<=2n**256n-1n,`Validate: arg ${e.name} is ${e.type} 0 - 2^256-1`);break;case"core::starknet::class_hash::ClassHash":case"core::starknet::contract_address::ContractAddress":Ek(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)}},Jx=(t,e)=>{Ek("boolean"==typeof t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (Boolean)`)},Qx=(t,e,r)=>{if("core::integer::u256"!==e.type)if("core::starknet::eth_address::EthAddress"!==e.type)Ek("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type struct (${e.type}), and should be defined as js object (not array)`),r[e.type].members.forEach((({name:r})=>{Ek(Object.keys(t).includes(r),`Validate: arg ${e.name} should have a property ${r}`)}));else{Ek("object"!=typeof t,`EthAddress type is waiting a BigNumberish. Got ${t}`);const r=BigInt(t.toString(10));Ek(r>=0n&&r<=2n**160n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^160-1]`)}else Kx(t,e)},Yx=(t,e)=>{Ek("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type Enum (${e.type}), and should be defined as js object (not array)`);const r=Object.getOwnPropertyNames(Object.getPrototypeOf(t)),i=[...Object.getOwnPropertyNames(t),...r];if(!(dx(e.type)&&i.includes("isSome")&&i.includes("isNone")||mx(e.type)&&i.includes("isOk")&&i.includes("isErr")||i.includes("variant")&&i.includes("activeVariant")))throw new Error(`Validate Enum: argument ${e.name}, type ${e.type}, value received ${t}, is not an Enum.`)},Wx=(t,e)=>{Ek("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} should be a tuple (defined as object)`)},Xx=(t,e,r,i)=>{const n=_x(e.type);if(!ax(n)||!Qk(t))switch(Ek(Array.isArray(t),`Validate: arg ${e.name} should be an Array`),!0){case ax(n):t.forEach((t=>Gx(t,e)));break;case ux(n):t.forEach((t=>Wx(t,{name:e.name,type:n})));break;case hx(n):t.forEach((t=>Xx(t,{name:"",type:n},r,i)));break;case cx(n,r):t.forEach((t=>Qx(t,{name:e.name,type:n},r)));break;case fx(n,i):t.forEach((t=>Yx(t,{name:e.name,type:n})));break;case px(n)||gx(n):t.forEach((t=>Kx(t,e)));break;case vx(n):t.forEach((t=>Jx(t,e)));break;default:throw new Error(`Validate Unhandled: argument ${e.name}, type ${e.type}, value ${t}`)}};function tN(t,e,r,i){t.inputs.reduce(((t,n)=>{const o=e[t];switch(!0){case sx(n.name):return t;case ax(n.type):Gx(o,n);break;case px(n.type)||gx(n.type):Kx(o,n);break;case vx(n.type):Jx(o,n);break;case hx(n.type):Xx(o,n,r,i);break;case cx(n.type,r):Qx(o,n,r);break;case fx(n.type,i):Yx(o,n);break;case ux(n.type):Wx(o,n);break;default:throw new Error(`Validate Unhandled: argument ${n.name}, type ${n.type}, value ${o}`)}return t+1}),0)}var eN=class{abi;parser;structs;enums;constructor(t){this.structs=eN.getAbiStruct(t),this.enums=eN.getAbiEnum(t),this.parser=$x(t),this.abi=this.parser.getLegacyFormat()}validate(t,e,r=[]){if("DEPLOY"!==t){Ek(this.abi.filter((e=>{if("function"!==e.type)return!1;const r="view"===e.stateMutability||"view"===e.state_mutability;return"INVOKE"===t?!r:r})).map((t=>t.name)).includes(e),("INVOKE"===t?"invocable":"viewable")+" method not found in abi")}const i=this.abi.find((r=>"DEPLOY"===t?r.name===e&&"constructor"===r.type:r.name===e&&"function"===r.type));if(Ux(e,r,i))return;const n=this.parser.methodInputsLength(i);if(r.length!==n)throw Error(`Invalid number of arguments, expected ${n} arguments, but got ${r.length}`);tN(i,r,this.structs,this.enums)}compile(t,e){const r=this.abi.find((e=>e.name===t));if(Ux(t,e,r))return[];let i;if(Array.isArray(e))i=e;else{const t=Fx(e,r.inputs,this.structs,this.enums);i=Object.values(t),tN(r,i,this.structs,this.enums)}const n=i[Symbol.iterator](),o=r.inputs.reduce(((t,e)=>sx(e.name)&&!Mx(e.type)?t:t.concat(function(t,e,r,i){const{name:n,type:o}=e;let{value:s}=t.next();switch(!0){case hx(o):if(!Array.isArray(s)&&!Kk(s))throw Error(`ABI expected parameter ${n} to be array or long string, got ${s}`);return"string"==typeof s&&(s=Yk(s)),qx(s,e.type,r,i);case"core::starknet::eth_address::EthAddress"===o:return jx(o,s);case cx(o,r)||ux(o)||yx(o):case fx(o,i):return qx(s,o,r,i);default:return jx(o,s)}}(n,e,this.structs,this.enums))),[]);return Object.defineProperty(o,"__compiled__",{enumerable:!1,writable:!1,value:!0}),o}static compile(t){const e=t=>{const e=(t,r=".")=>{const i=Array.isArray(t)?[t.length.toString(),...t]:t;return Object.entries(i).flatMap((([t,n])=>{let o=n;"entrypoint"===t?o=qk(o):Qk(o)&&(o=Yk(o));const s=Array.isArray(i)&&"0"===t?"$$len":t;if(xk(o))return[[`${r}${s}`,Nx(o)]];if(Object(o)===o){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),i=[...Object.getOwnPropertyNames(o),...t];if(i.includes("isSome")&&i.includes("isNone")){const t=o,i=t.isSome()?0:1;return t.isSome()?e({0:i,1:t.unwrap()},`${r}${s}.`):[[`${r}${s}`,Nx(i)]]}if(i.includes("isOk")&&i.includes("isErr")){const t=o,i=t.isOk()?0:1;return e({0:i,1:t.unwrap()},`${r}${s}.`)}if(i.includes("variant")&&i.includes("activeVariant")){const t=o,i=t.activeVariant(),n=Object.keys(t.variant).findIndex((t=>t===i));return"object"==typeof t.unwrap()&&0===Object.keys(t.unwrap()).length?[[`${r}${s}`,Nx(n)]]:e({0:n,1:t.unwrap()},`${r}${s}.`)}return e(o,`${r}${s}.`)}return[[`${r}${s}`,Nx(o)]]}))};return Object.fromEntries(e(t))};let r;if(Array.isArray(t)){const i=e({...t});r=Object.values(i)}else{const i=e(t);r=Object.values(i)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,e){const{outputs:r}=this.abi.find((e=>e.name===t)),i=e.flat()[Symbol.iterator](),n=r.flat().reduce(((t,e,r)=>{const n=e.name??r;return t[n]=Zx(i,e,this.structs,this.enums,t),t[n]&&t[`${n}_len`]&&delete t[`${n}_len`],t}),{});return 1===Object.keys(n).length&&0 in n?n[0]:n}format(t,e,r){return Bx(this.parse(t,e),r)}static getAbiStruct(t){return t.filter((t=>"struct"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{})}static getAbiEnum(t){const e=t.filter((t=>"enum"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{});return delete e["core::bool"],e}static toCalldata(t=[]){return eN.compile(t)}static toHex(t=[]){return eN.compile(t).map((t=>Nk(t)))}decodeParameters(t,e){const r=Array.isArray(t)?t:[t],i=e.flat()[Symbol.iterator](),n=r.map((t=>Zx(i,{name:"",type:t},this.structs,this.enums)));return 1===n.length?n[0]:n}};wA({},{calculateContractAddressFromHash:()=>_N,calculateDeclareTransactionHash:()=>wN,calculateDeployAccountTransactionHash:()=>bN,calculateDeployTransactionHash:()=>vN,calculateTransactionHash:()=>MN,calculateTransactionHashCommon:()=>yN,computeCompiledClassHash:()=>SN,computeContractClassHash:()=>TN,computeHashOnElements:()=>mN,computeLegacyContractClassHash:()=>xN,computePedersenHash:()=>fN,computePedersenHashOnElements:()=>pN,computePoseidonHash:()=>dN,computePoseidonHashOnElements:()=>gN,computeSierraContractClassHash:()=>RN,default:()=>kN,feeTransactionVersion:()=>uN,feeTransactionVersion_2:()=>lN,formatSpaces:()=>AN,getSelector:()=>Hk,getSelectorFromName:()=>qk,getVersionsByType:()=>cN,keccakBn:()=>jk,poseidon:()=>gv,starknetKeccak:()=>zk,transactionVersion:()=>aN,transactionVersion_2:()=>hN});wA({},{starkCurve:()=>yw,weierstrass:()=>Tv});wA({},{parse:()=>iN,parseAlwaysAsBig:()=>nN,stringify:()=>oN,stringifyAlwaysAsBig:()=>sN});var rN=t=>{if(!vw(t))return parseFloat(t);const e=parseInt(t,10);return Number.isSafeInteger(e)?e:BigInt(t)},iN=t=>jw(String(t),void 0,rN),nN=t=>jw(String(t),void 0,Ow),oN=(t,e,r,i)=>Mb(t,e,r,i),sN=oN,aN=UA,hN=DA,uN=LA,lN=FA;function cN(t){return"fee"===t?{v1:uN,v2:lN}:{v1:aN,v2:hN}}function fN(t,e){return sw(BigInt(t),BigInt(e))}function dN(t,e){return Nk(pw(BigInt(t),BigInt(e)))}function mN(t){return[...t,t.length].reduce(((t,e)=>sw(BigInt(t),BigInt(e))),0).toString()}var pN=mN;function gN(t){return Nk(gw(t.map((t=>BigInt(t)))))}function yN(t,e,r,i,n,o,s,a=[]){const h=mN(n);return mN([t,e,r,i,h,o,s,...a])}function vN(t,e,r,i,n="constructor"){return yN("0x6465706c6f79",r,t,qk(n),e,0,i)}function wN(t,e,r,i,n,o,s){return yN("0x6465636c617265",r,e,0,[t],i,n,[o,...s?[s]:[]])}function bN(t,e,r,i,n,o,s,a){return yN("0x6465706c6f795f6163636f756e74",n,t,0,[e,i,...r],o,s,[a])}function MN(t,e,r,i,n,o){return yN("0x696e766f6b65",e,t,0,r,i,n,[o])}function _N(t,e,r,i){const n=mN(eN.compile(r)),o=mN([Nx("0x535441524b4e45545f434f4e54524143545f41444452455353"),i,t,e,n]);return Nk(BigInt(o)%VA)}function EN(t,e){return"attributes"===t||"accessible_scopes"===t?Array.isArray(e)&&0===e.length?void 0:e:"debug_info"===t?null:null===e?void 0:e}function AN(t){let e=!1;const r=[];for(const i of t)'"'===i&&!1==(r.length>0&&"\\"===r.slice(-1)[0])&&(e=!e),e?r.push(i):r.push(":"===i?": ":","===i?", ":i);return r.join("")}function kN(t){const{abi:e,program:r}=t,i=AN(oN({abi:e,program:r},EN));return SA(hw(_A(i)).toString(16))}function xN(t){const e="string"==typeof t?iN(t):t,r=Nk(qA),i=mN(e.entry_points_by_type.EXTERNAL.flatMap((t=>[t.selector,t.offset]))),n=mN(e.entry_points_by_type.L1_HANDLER.flatMap((t=>[t.selector,t.offset]))),o=mN(e.entry_points_by_type.CONSTRUCTOR.flatMap((t=>[t.selector,t.offset]))),s=mN(e.program.builtins.map((t=>Wk(t)))),a=kN(e),h=mN(e.program.data);return mN([r,i,n,o,s,a,h])}function NN(t){const e=t.flatMap((t=>{return[BigInt(t.selector),BigInt(t.offset),(e=t.builtins,gw(e.flatMap((t=>BigInt(Wk(t))))))];var e}));return gw(e)}function SN(t){const e=BigInt(Wk("COMPILED_CLASS_V1")),r=NN(t.entry_points_by_type.EXTERNAL),i=NN(t.entry_points_by_type.L1_HANDLER),n=NN(t.entry_points_by_type.CONSTRUCTOR),o=gw(t.bytecode.map((t=>BigInt(t))));return Nk(gw([e,r,i,n,o]))}function IN(t){return gw(t.flatMap((t=>[BigInt(t.selector),BigInt(t.function_idx)])))}function RN(t){const e=BigInt(Wk("CONTRACT_CLASS_V0.1.0")),r=IN(t.entry_points_by_type.EXTERNAL),i=IN(t.entry_points_by_type.L1_HANDLER),n=IN(t.entry_points_by_type.CONSTRUCTOR),o=function(t){const e=AN(oN(t.abi,null));return BigInt(SA(hw(_A(e)).toString(16)))}(t),s=gw(t.sierra_program.map((t=>BigInt(t))));return Nk(gw([e,r,i,n,o,s]))}function TN(t){const e="string"==typeof t?iN(t):t;return"sierra_program"in e?RN(e):xN(e)}function CN(t){const e="string"==typeof t?t:oN(t);return kA(HE(e))}function PN(t){if(Array.isArray(t))return t;const e=MA(VE(AA(t)));return iN(e)}function ON(){return Wv(Kv.randomPrivateKey())}function BN(t){return SA(t).toLowerCase()}function $N(t){if(!t)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(t))return t.map((t=>Nk(t)));try{const{r:e,s:r}=t;return[Nk(e),Nk(r)]}catch(t){throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function UN(t){return Pk($N(t))}function DN(t){return Ok($N(t))}function LN(t,e=.5){const r=Math.round(100*(1+e));return kk(t)*kk(r)/100n}function FN(t){return"sierra_program"in("string"==typeof t?iN(t):t)}wA({},{compressProgram:()=>CN,decompressProgram:()=>PN,estimatedFeeToMaxFee:()=>LN,formatSignature:()=>$N,makeAddress:()=>BN,randomAddress:()=>ON,signatureToDecimalArray:()=>UN,signatureToHexArray:()=>DN});var jN="undefined"!=typeof window&&window.fetch||"undefined"!=typeof global&&global.fetch||gA;function zN(t){return new Promise((e=>{setTimeout(e,t)}))}function qN(t){const e={...t};return delete e.sierra_program_debug_info,e.abi=AN(oN(t.abi)),e.sierra_program=AN(oN(t.sierra_program)),e.sierra_program=CN(e.sierra_program),e}function HN(t){const e="string"==typeof t?iN(t):t;return FN(t)?qN(e):{...e,..."program"in e&&{program:CN(e.program)}}}wA({},{createSierraContractClass:()=>qN,parseContract:()=>HN,wait:()=>zN});var VN=class extends Error{name;constructor(t){super(t),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),function(t,e){const{setPrototypeOf:r}=Object;r?r(t,e):t.__proto__=e}(this,new.target.prototype),function(t,e=t.constructor){const{captureStackTrace:r}=Error;r&&r(t,e)}(this)}},ZN=class extends VN{},GN=class extends ZN{constructor(t,e){super(t),this.errorCode=e}},KN=class extends ZN{constructor(t,e){super(t),this.errorCode=e}};wA({},{StarknetIdContract:()=>nS,getStarknetIdContract:()=>oS,useDecoded:()=>rS,useEncoded:()=>iS});var JN="abcdefghijklmnopqrstuvwxyz0123456789-",QN=BigInt(JN.length+1),YN="这来",WN=BigInt(JN.length),XN=BigInt(YN.length),tS=BigInt(YN.length+1);function eS(t){let e=0;for(;t.endsWith(YN[YN.length-1]);)t=t.substring(0,t.length-1),e+=1;return[t,e]}function rS(t){let e="";return t.forEach((t=>{for(;t!==jA;){const r=t%QN;if(t/=QN,r===BigInt(JN.length)){const r=t/tS;if(r===jA){const i=t%tS;t=r,e+=i===jA?JN[0]:YN[Number(i)-1]}else{e+=YN[Number(t%XN)],t/=XN}}else e+=JN[Number(r)]}const[r,i]=eS(e);i&&(e=r+(i%2==0?YN[YN.length-1].repeat(i/2-1)+YN[0]+JN[1]:YN[YN.length-1].repeat((i-1)/2+1))),e+="."})),e?e.concat("stark"):e}function iS(t){let e=BigInt(0),r=BigInt(1);if(t.endsWith(YN[0]+JN[1])){const[e,r]=eS(t.substring(0,t.length-2));t=e+YN[YN.length-1].repeat(2*(r+1))}else{const[e,r]=eS(t);r&&(t=e+YN[YN.length-1].repeat(1+2*(r-1)))}for(let i=0;i<t.length;i+=1){const n=t[i],o=JN.indexOf(n),s=BigInt(JN.indexOf(n));if(-1!==o)i===t.length-1&&t[i]===JN[0]?(e+=r*WN,r*=QN,r*=QN):(e+=r*s,r*=QN);else if(-1!==YN.indexOf(n)){e+=r*WN,r*=QN;const o=(i===t.length-1?1:0)+YN.indexOf(n);e+=r*BigInt(o),r*=XN}}return e}var nS=(t=>(t.MAINNET="0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",t.TESTNET="0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce",t))(nS||{});function oS(t){switch(t){case"0x534e5f4d41494e":return"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678";case"0x534e5f474f45524c49":return"0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce";default:throw new Error("Starknet.id is not yet deployed on this network")}}async function sS(t,e,r){const i=await t.getChainId(),n=r??oS(i);try{const r=await t.callContract({contractAddress:n,entrypoint:"address_to_domain",calldata:eN.compile({address:e})}),i=rS(r.result.map((t=>BigInt(t))).slice(1));if(!i)throw Error("Starkname not found");return i}catch(t){if(t instanceof Error&&"Starkname not found"===t.message)throw t;throw Error("Could not get stark name")}}async function aS(t,e,r){const i=await t.getChainId(),n=r??oS(i);try{return(await t.callContract({contractAddress:n,entrypoint:"domain_to_address",calldata:eN.compile({domain:[iS(e.replace(".stark","")).toString(10)]})})).result[0]}catch{throw Error("Could not get address from stark name")}}var hS=Object.values(uk),uS=class{hash=null;number=null;tag=null;setIdentifier(t){"string"==typeof t&&Ak(t)?this.hash=t:"bigint"==typeof t?this.hash=Nk(t):"number"==typeof t?this.number=t:"string"==typeof t&&hS.includes(t)?this.tag=t:this.tag="pending"}constructor(t){this.setIdentifier(t)}get queryIdentifier(){return null!==this.number?`blockNumber=${this.number}`:null!==this.hash?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return null!==this.number?{block_number:this.number}:null!==this.hash?{block_hash:this.hash}:this.tag}set identifier(t){this.setIdentifier(t)}valueOf=()=>this.number;toString=()=>this.hash;get sequencerIdentifier(){return null!==this.hash?{blockHash:this.hash}:{blockNumber:this.number??this.tag}}},lS=(t,e=!1,r=YA)=>{e||console.warn("Using default public node url, please provide nodeUrl in provider options!");const i=WA[t??"SN_GOERLI"];return`${i[Math.floor(Math.random()*i.length)]}${r}`},cS={"Content-Type":"application/json"},fS="pending",dS=200,mS=class{nodeUrl;headers;responseParser=new class{parseGetBlockResponse(t){return{timestamp:t.timestamp,block_hash:"block_hash"in t?t.block_hash:"",block_number:"block_number"in t?t.block_number:-1,new_root:"new_root"in t?t.new_root:"",parent_hash:t.parent_hash,status:"status"in t?t.status:"PENDING",transactions:t.transactions}}parseGetTransactionResponse(t){return{calldata:"calldata"in t?t.calldata:[],contract_address:"contract_address"in t?t.contract_address:"",sender_address:"sender_address"in t?t.sender_address:"",max_fee:"max_fee"in t?t.max_fee:"",nonce:"nonce"in t?t.nonce:"",signature:"signature"in t?t.signature:[],transaction_hash:t.transaction_hash,version:t.version}}parseFeeEstimateResponse(t){return{overall_fee:kk(t[0].overall_fee),gas_consumed:kk(t[0].gas_consumed),gas_price:kk(t[0].gas_price)}}parseFeeEstimateBulkResponse(t){return t.map((t=>({overall_fee:kk(t.overall_fee),gas_consumed:kk(t.gas_consumed),gas_price:kk(t.gas_price)})))}parseCallContractResponse(t){return{result:t}}parseSimulateTransactionResponse(t){return t.map((t=>({...t,suggestedMaxFee:LN(BigInt(t.fee_estimation.overall_fee))})))}parseContractClassResponse(t){return{...t,abi:"string"==typeof t.abi?JSON.parse(t.abi):t.abi}}};retries;blockIdentifier;chainId;constructor(t){const{nodeUrl:e,retries:r,headers:i,blockIdentifier:n,chainId:o,rpcVersion:s}=t||{};Object.values(GA).includes(e)?this.nodeUrl=lS(e,t?.default,s):this.nodeUrl=e||lS(void 0,t?.default,s),this.retries=r||dS,this.headers={...cS,...i},this.blockIdentifier=n||fS,this.chainId=o}fetch(t,e,r=0){const i={id:r,jsonrpc:"2.0",method:t,...e&&{params:e}};return jN(this.nodeUrl,{method:"POST",body:oN(i),headers:this.headers})}errorHandler(t,e,r,i){if(r){const{code:i,message:n,data:o}=r;throw new ZN(`RPC: ${t} with params ${oN(e)}\n ${i}: ${n}: ${oN(o)}`)}if(i instanceof ZN)throw i;if(i)throw Error(i.message)}async fetchEndpoint(t,e){try{const r=await this.fetch(t,e),{error:i,result:n}=await r.json();return this.errorHandler(t,e,i),n}catch(r){throw this.errorHandler(t,e,r?.response?.data,r),r}}async getChainId(){return this.chainId??=await this.fetchEndpoint("starknet_chainId"),this.chainId}async getSpecVersion(){return this.fetchEndpoint("starknet_specVersion")}async getNonceForAddress(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:r,block_id:i})}async getBlock(t=this.blockIdentifier){return this.getBlockWithTxHashes(t).then(this.responseParser.parseGetBlockResponse)}getBlockHashAndNumber=this.getBlockLatestAccepted;async getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}async getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}async getBlockWithTxHashes(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:e})}async getBlockWithTxs(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:e})}async getBlockStateUpdate(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:e})}getStateUpdate=this.getBlockStateUpdate;async getBlockTransactionsTraces(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:e})}traceBlockTransactions=this.getBlockTransactionsTraces;async getBlockTransactionCount(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:e})}getTransactionCount=this.getBlockTransactionCount;async getPendingTransactions(){const{transactions:t}=await this.getBlock("pending");return Promise.all(t.map((t=>this.getTransactionByHash(t))))}async getTransaction(t){return this.getTransactionByHash(t).then(this.responseParser.parseGetTransactionResponse)}async getTransactionByHash(t){const e=Nk(t);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:e})}async getTransactionByBlockIdAndIndex(t,e){const r=new uS(t).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:r,index:e})}async getTransactionReceipt(t){const e=Nk(t);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:e})}async getTransactionTrace(t){const e=Nk(t);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:e})}traceTransaction=this.getTransactionTrace;async getTransactionStatus(t){const e=Nk(t);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:e})}getSimulateTransaction=this.simulateTransaction;async simulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipFeeCharge:i=!0}){const n=new uS(e).identifier,o=[];return r&&o.push(ck.ESimulationFlag.SKIP_VALIDATE),i&&o.push(ck.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:n,transactions:t.map((t=>this.buildTransaction(t))),simulation_flags:o}).then(this.responseParser.parseSimulateTransactionResponse)}async waitForTransaction(t,e){const r=Nk(t);let{retries:i}=this,n=!1,o=!1;const s=e?.retryInterval??5e3,a=e?.errorStates??[ck.ETransactionStatus.REJECTED],h=e?.successStates??[ck.ETransactionExecutionStatus.SUCCEEDED,ck.ETransactionStatus.ACCEPTED_ON_L2,ck.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!n;){await zN(s);try{u=await this.getTransactionStatus(r);const t=u.execution_status,e=u.finality_status;if(!e){throw new Error("waiting for transaction status")}if(a.includes(t)||a.includes(e)){const r=`${t}: ${e}`,i=new Error(r);throw i.response=u,o=!0,i}(h.includes(t)||h.includes(e))&&(n=!0)}catch(t){if(t instanceof Error&&o)throw t;if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1}let l=null;for(;null===l;){try{l=await this.getTransactionReceipt(r)}catch(t){if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1,await zN(s)}return l}async getStorageAt(t,e,r=this.blockIdentifier){const i=Nk(t),n=Ik(e),o=new uS(r).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:i,key:n,block_id:o})}async getClassHashAt(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:i,contract_address:r})}async getClassByHash(t){return this.getClass(t)}async getClass(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:r,block_id:i}).then(this.responseParser.parseContractClassResponse)}async getClassAt(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:i,contract_address:r}).then(this.responseParser.parseContractClassResponse)}async getCode(t,e){throw new Error("RPC does not implement getCode function")}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClass(e,r)}if(FN(n)){if(i){return{cairo:"1",compiler:Ax(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async getEstimateFee(t,e,r=this.blockIdentifier){return this.getInvokeEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier){const i=new uS(r).identifier,n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier){const i=new uS(r).identifier,n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier){const i=new uS(r).identifier,n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){r&&console.warn("getEstimateFeeBulk RPC does not support skipValidate");const i=new uS(e).identifier;return this.fetchEndpoint("starknet_estimateFee",{request:t.map((t=>this.buildTransaction(t,"fee"))),block_id:i}).then(this.responseParser.parseFeeEstimateBulkResponse)}async invokeFunction(t,e){return this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:t.contractAddress,calldata:eN.toHex(t.calldata),type:ck.ETransactionType.INVOKE,max_fee:Nk(e.maxFee||0),version:"0x1",signature:DN(t.signature),nonce:Nk(e.nonce)}})}async declareContract({contract:t,signature:e,senderAddress:r,compiledClassHash:i},n){return FN(t)?this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ck.ETransactionType.DECLARE,contract_class:{sierra_program:PN(t.sierra_program),contract_class_version:t.contract_class_version,entry_points_by_type:t.entry_points_by_type,abi:t.abi},compiled_class_hash:i||"",version:$A,max_fee:Nk(n.maxFee||0),signature:DN(e),sender_address:r,nonce:Nk(n.nonce)}}):this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ck.ETransactionType.DECLARE,contract_class:{program:t.program,entry_points_by_type:t.entry_points_by_type,abi:t.abi},version:BA,max_fee:Nk(n.maxFee||0),signature:DN(e),sender_address:r,nonce:Nk(n.nonce)}})}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:eN.toHex(e||[]),class_hash:Nk(t),contract_address_salt:Nk(r||0),type:ck.ETransactionType.DEPLOY_ACCOUNT,max_fee:Nk(n.maxFee||0),version:Nk(n.version||0),signature:DN(i),nonce:Nk(n.nonce)}})}async callContract(t,e=this.blockIdentifier){const r=new uS(e).identifier,i=await this.fetchEndpoint("starknet_call",{request:{contract_address:t.contractAddress,entry_point_selector:qk(t.entrypoint),calldata:eN.toHex(t.calldata)},block_id:r});return this.responseParser.parseCallContractResponse(i)}async estimateMessageFee(t,e=this.blockIdentifier){const{from_address:r,to_address:i,entry_point_selector:n,payload:o}=t,s={from_address:Nk(r),to_address:Nk(i),entry_point_selector:Hk(n),payload:Dk(o)},a=new uS(e).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:s,block_id:a})}async getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}async getEvents(t){return this.fetchEndpoint("starknet_getEvents",{filter:t})}async getStarkName(t,e){return sS(this,t,e)}async getAddressFromStarkName(t,e){return aS(this,t,e)}buildTransaction(t,e){const r=cN(e),i={signature:DN(t.signature),nonce:Nk(t.nonce),max_fee:Nk(t.maxFee||0)};if("INVOKE_FUNCTION"===t.type)return{type:ck.ETransactionType.INVOKE,sender_address:t.contractAddress,calldata:eN.toHex(t.calldata),version:Nk(t.version||r.v1),...i};if("DECLARE"===t.type)return FN(t.contract)?{type:t.type,contract_class:{...t.contract,sierra_program:PN(t.contract.sierra_program)},compiled_class_hash:t.compiledClassHash||"",sender_address:t.senderAddress,version:Nk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Nk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:eN.toHex(t.constructorCalldata||[]),class_hash:Nk(t.classHash),contract_address_salt:Nk(t.addressSalt||0),version:Nk(t.version||r.v1),...i};throw Error("RPC buildTransaction received unknown TransactionType")}},pS=/^(?:\w+:)?\/\/(\S+)$/,gS=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,yS=/^[^\s.]+\.\S{2,}$/;function vS(t,e,r){return function(t){if(!t)return!1;if("string"!=typeof t)return!1;const e=t.match(pS);if(!e)return!1;const r=e[1];return!(!r||!gS.test(r)&&!yS.test(r))}(r)?r:yA(t,r??e)}var wS={network:"SN_GOERLI",blockIdentifier:"pending"},bS=class{baseUrl;feederGatewayUrl;gatewayUrl;headers;blockIdentifier;chainId;responseParser=new class extends class{}{parseGetBlockResponse(t){return{...t,new_root:t.state_root,parent_hash:t.parent_block_hash,transactions:Object.values(t.transactions).map((t=>"transaction_hash"in t&&t.transaction_hash)).filter(Boolean)}}parseGetTransactionResponse(t){if("NOT_RECEIVED"===t.status&&"NOT_RECEIVED"===t.finality_status)throw new ZN;return{...t,calldata:"calldata"in t.transaction?t.transaction.calldata:[],contract_class:"contract_class"in t.transaction?t.transaction.contract_class:void 0,entry_point_selector:"entry_point_selector"in t.transaction?t.transaction.entry_point_selector:void 0,max_fee:"max_fee"in t.transaction?t.transaction.max_fee:void 0,nonce:t.transaction.nonce,sender_address:"sender_address"in t.transaction?t.transaction.sender_address:void 0,signature:"signature"in t.transaction?t.transaction.signature:void 0,transaction_hash:"transaction_hash"in t.transaction?t.transaction.transaction_hash:void 0,version:"version"in t.transaction?t.transaction.version:void 0}}parseGetTransactionReceiptResponse(t){return{...t,messages_sent:t.l2_to_l1_messages,..."revert_error"in t&&{revert_reason:t.revert_error}}}parseFeeEstimateResponse(t){if("overall_fee"in t){let e={};try{e={gas_consumed:kk(t.gas_usage),gas_price:kk(t.gas_price)}}catch{}return{overall_fee:kk(t.overall_fee),...e}}return{overall_fee:kk(t.amount)}}parseFeeEstimateBulkResponse(t){return[].concat(t).map((t=>{if("overall_fee"in t){let e={};try{e={gas_consumed:kk(t.gas_usage),gas_price:kk(t.gas_price)}}catch{}return{overall_fee:kk(t.overall_fee),...e}}return{overall_fee:kk(t.amount)}}))}parseSimulateTransactionResponse(t){const e="overall_fee"in t.fee_estimation?t.fee_estimation.overall_fee:t.fee_estimation.amount;return[{transaction_trace:t.trace,fee_estimation:t.fee_estimation,suggestedMaxFee:LN(BigInt(e))}]}parseCallContractResponse(t){return{result:t.result}}parseInvokeFunctionResponse(t){return{transaction_hash:t.transaction_hash}}parseDeployContractResponse(t){return{transaction_hash:t.transaction_hash,contract_address:t.address}}parseDeclareContractResponse(t){return{transaction_hash:t.transaction_hash,class_hash:t.class_hash}}parseGetStateUpdateResponse(t){const e=Object.entries(t.state_diff.nonces).map((([t,e])=>({contract_address:t,nonce:e}))),r=Object.entries(t.state_diff.storage_diffs).map((([t,e])=>({address:t,storage_entries:e})));return{...t,state_diff:{...t.state_diff,storage_diffs:r,nonces:e}}}parseContractClassResponse(t){const e=FN(t)?t:HN(t);return{...e,abi:"string"==typeof e.abi?JSON.parse(e.abi):e.abi}}};constructor(t=wS){"network"in t?(this.baseUrl=bS.getNetworkFromName(t.network),this.feederGatewayUrl=vS(this.baseUrl,"feeder_gateway"),this.gatewayUrl=vS(this.baseUrl,"gateway")):(this.baseUrl=t.baseUrl,this.feederGatewayUrl=vS(this.baseUrl,"feeder_gateway",t.feederGatewayUrl),this.gatewayUrl=vS(this.baseUrl,"gateway",t.gatewayUrl)),this.chainId=t?.chainId??bS.getChainIdFromBaseUrl(this.baseUrl),this.headers=t.headers,this.blockIdentifier=t?.blockIdentifier||wS.blockIdentifier}static getNetworkFromName(t){switch(t){case"SN_MAIN":case"0x534e5f4d41494e":return"https://alpha-mainnet.starknet.io";case"SN_GOERLI":case"0x534e5f474f45524c49":return"https://alpha4.starknet.io";default:throw new Error("Could not detect base url from NetworkName")}}static getChainIdFromBaseUrl(t){try{return new URL(t).host.includes("mainnet.starknet.io")?"0x534e5f4d41494e":"0x534e5f474f45524c49"}catch{return console.error(`Could not parse baseUrl: ${t}`),"0x534e5f474f45524c49"}}getFetchUrl(t){return["add_transaction"].includes(t)?this.gatewayUrl:this.feederGatewayUrl}getFetchMethod(t){return["add_transaction","call_contract","estimate_fee","estimate_message_fee","estimate_fee_bulk","simulate_transaction"].includes(t)?"POST":"GET"}getQueryString(t){if(void 0===(e=t)||0===Object.keys(e).length||1===Object.keys(e).length&&Object.entries(e).every((([t,e])=>"blockIdentifier"===t&&null===e)))return"";var e;const r=Object.entries(t).map((([t,e])=>{if("blockIdentifier"===t){return`${new uS(e).queryIdentifier}`}return`${t}=${e}`})).join("&");return`?${r}`}getHeaders(t){return"POST"===t?{"Content-Type":"application/json",...this.headers}:this.headers}async fetchEndpoint(t,...[e,r]){const i=this.getFetchUrl(t),n=this.getFetchMethod(t),o=this.getQueryString(e),s=yA(i,t,o);return this.fetch(s,{method:n,body:r})}async fetch(t,e){const r=vS(this.baseUrl,"",t),i=e?.method??"GET",n=this.getHeaders(i),o=oN(e?.body);try{const t=await jN(r,{method:i,body:o,headers:n}),s=await t.text();if(!t.ok){let e;try{e=iN(s)}catch{throw new KN(t.statusText,t.status)}throw new GN(e.message,e.code)}return(e?.parseAlwaysAsBigInt?nN:iN)(s)}catch(t){if(t instanceof Error&&!(t instanceof ZN))throw Error(`Could not ${i} from endpoint \`${r}\`: ${t.message}`);throw t}}async getChainId(){return Promise.resolve(this.chainId)}async callContract({contractAddress:t,entrypoint:e,calldata:r=[]},i=this.blockIdentifier){return this.fetchEndpoint("call_contract",{blockIdentifier:i},{contract_address:t,entry_point_selector:qk(e),calldata:eN.compile(r)}).then(this.responseParser.parseCallContractResponse)}async getBlock(t=this.blockIdentifier){return this.fetchEndpoint("get_block",{blockIdentifier:t}).then(this.responseParser.parseGetBlockResponse)}async getNonceForAddress(t,e=this.blockIdentifier){return this.fetchEndpoint("get_nonce",{contractAddress:t,blockIdentifier:e})}async getStorageAt(t,e,r=this.blockIdentifier){const i=kk(e).toString(10);return this.fetchEndpoint("get_storage_at",{blockIdentifier:r,contractAddress:t,key:i})}async getTransaction(t){const e=Nk(t);return this.fetchEndpoint("get_transaction",{transactionHash:e}).then((t=>{if(1===Object.values(t).length)throw new ZN(t.status);return this.responseParser.parseGetTransactionResponse(t)}))}async getTransactionReceipt(t){const e=Nk(t);return this.fetchEndpoint("get_transaction_receipt",{transactionHash:e}).then(this.responseParser.parseGetTransactionReceiptResponse)}async getClassAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_full_contract",{blockIdentifier:e,contractAddress:t}).then(this.responseParser.parseContractClassResponse)}async getClassHashAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_hash_at",{blockIdentifier:e,contractAddress:t})}async getClassByHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_by_hash",{classHash:t,blockIdentifier:e}).then(this.responseParser.parseContractClassResponse)}async getCompiledClassByClassHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_compiled_class_by_class_hash",{classHash:t,blockIdentifier:e})}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion requires contractAddress or classHash");n=await this.getClassByHash(e,r)}if(FN(n)){if(i){return{cairo:"1",compiler:Ax(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async invokeFunction(t,e){return this.fetchEndpoint("add_transaction",void 0,{type:"INVOKE_FUNCTION",sender_address:t.contractAddress,calldata:eN.compile(t.calldata??[]),signature:UN(t.signature),nonce:Nk(e.nonce),max_fee:Nk(e.maxFee||0),version:"0x1"}).then(this.responseParser.parseInvokeFunctionResponse)}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("add_transaction",void 0,{type:"DEPLOY_ACCOUNT",contract_address_salt:r??ON(),constructor_calldata:eN.compile(e??[]),class_hash:Nk(t),max_fee:Nk(n.maxFee||0),version:Nk(n.version||0),nonce:Nk(n.nonce),signature:UN(i)}).then(this.responseParser.parseDeployContractResponse)}async declareContract({senderAddress:t,contract:e,signature:r,compiledClassHash:i},n){return FN(e)?this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",sender_address:t,compiled_class_hash:i,contract_class:e,nonce:Nk(n.nonce),signature:UN(r),max_fee:Nk(n.maxFee||0),version:Nk(hN)}).then(this.responseParser.parseDeclareContractResponse):this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",contract_class:e,nonce:Nk(n.nonce),signature:UN(r),sender_address:t,max_fee:Nk(n.maxFee||0),version:Nk(aN)}).then(this.responseParser.parseDeclareContractResponse)}async getEstimateFee(t,e,r=this.blockIdentifier,i=!1){return this.getInvokeEstimateFee(t,e,r,i)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){const i=t.map((t=>this.buildTransaction(t,"fee")));return this.fetchEndpoint("estimate_fee_bulk",{blockIdentifier:e,skipValidate:r},i).then(this.responseParser.parseFeeEstimateBulkResponse)}async getCode(t,e=this.blockIdentifier){return this.fetchEndpoint("get_code",{contractAddress:t,blockIdentifier:e})}async waitForTransaction(t,e){let r,i=!1,n=0;const o=e?.retryInterval??5e3,s=e?.errorStates??["REJECTED","NOT_RECEIVED","REVERTED"],a=e?.successStates??["SUCCEEDED","ACCEPTED_ON_L1","ACCEPTED_ON_L2"];for(;!i;)if(await zN(o),r=await this.getTransactionStatus(t),"NOT_RECEIVED"===r.finality_status&&n<3)n+=1;else if(a.includes(r.finality_status)||a.includes(r.execution_status))i=!0;else if(s.includes(r.finality_status)||s.includes(r.execution_status)){let t;t=r.tx_failure_reason?`${r.tx_status}: ${r.tx_failure_reason.code}\n${r.tx_failure_reason.error_message}`:r.tx_revert_reason?`${r.tx_status}: ${r.tx_revert_reason}`:r.tx_status;const e=new Error(t);throw e.response=r,e}return await this.getTransactionReceipt(t)}async getTransactionStatus(t){const e=Nk(t);return this.fetchEndpoint("get_transaction_status",{transactionHash:e})}async getContractAddresses(){return this.fetchEndpoint("get_contract_addresses")}async getTransactionTrace(t){const e=Nk(t);return this.fetchEndpoint("get_transaction_trace",{transactionHash:e})}async estimateMessageFee({from_address:t,to_address:e,entry_point_selector:r,payload:i},n=this.blockIdentifier){const o={from_address:$k(t),to_address:Uk(e),entry_point_selector:Hk(r),payload:Dk(i)};return this.fetchEndpoint("estimate_message_fee",{blockIdentifier:n},o)}async getSimulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipExecute:i=!1}){t.length>1&&console.warn("Sequencer simulate process only first element from invocations list"),i&&console.warn("Sequencer can't skip account __execute__");const n=this.buildTransaction(t[0]);return this.fetchEndpoint("simulate_transaction",{blockIdentifier:e,skipValidate:r??!1},n).then(this.responseParser.parseSimulateTransactionResponse)}async getStateUpdate(t=this.blockIdentifier){const e=new uS(t).sequencerIdentifier;return this.fetchEndpoint("get_state_update",{...e}).then(this.responseParser.parseGetStateUpdateResponse)}async getBlockTraces(t=this.blockIdentifier){const e=new uS(t).sequencerIdentifier;return this.fetchEndpoint("get_block_traces",{...e})}async getStarkName(t,e){return sS(this,t,e)}async getAddressFromStarkName(t,e){return aS(this,t,e)}buildTransaction(t,e){const r=cN(e),i={signature:UN(t.signature),nonce:Nk(t.nonce)};if("INVOKE_FUNCTION"===t.type)return{type:t.type,sender_address:t.contractAddress,calldata:eN.compile(t.calldata??[]),version:Nk(t.version||r.v1),...i};if("DECLARE"===t.type)return FN(t.contract)?{type:t.type,contract_class:t.contract,compiled_class_hash:t.compiledClassHash,sender_address:t.senderAddress,version:Nk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Nk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:eN.compile(t.constructorCalldata||[]),class_hash:Nk(t.classHash),contract_address_salt:Nk(t.addressSalt||0),version:Nk(t.version||r.v1),...i};throw Error("Sequencer buildTransaction received unknown TransactionType")}},MS=class{provider;constructor(t){this.provider=t instanceof MS?t.provider:t instanceof mS||t instanceof bS?t:t&&"rpc"in t?new mS(t.rpc):t&&"sequencer"in t?new bS(t.sequencer):new mS}async getChainId(){return this.provider.getChainId()}async getBlock(t){return this.provider.getBlock(t)}async getClassAt(t,e){return this.provider.getClassAt(t,e)}async getClassHashAt(t,e){return this.provider.getClassHashAt(t,e)}getClassByHash(t){return this.provider.getClassByHash(t)}async getEstimateFee(t,e,r){return this.provider.getEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r,i){return this.provider.getInvokeEstimateFee(t,e,r,i)}async getEstimateFeeBulk(t,e){return this.provider.getEstimateFeeBulk(t,e)}async getNonceForAddress(t,e){return this.provider.getNonceForAddress(t,e)}async getStorageAt(t,e,r){return this.provider.getStorageAt(t,e,r)}async getTransaction(t){return this.provider.getTransaction(t)}async getTransactionReceipt(t){return this.provider.getTransactionReceipt(t)}async callContract(t,e){return this.provider.callContract(t,e)}async invokeFunction(t,e){return this.provider.invokeFunction(t,e)}async deployAccountContract(t,e){return this.provider.deployAccountContract(t,e)}async declareContract(t,e){return this.provider.declareContract(t,e)}async getDeclareEstimateFee(t,e,r,i){return this.provider.getDeclareEstimateFee(t,e,r,i)}getDeployAccountEstimateFee(t,e,r,i){return this.provider.getDeployAccountEstimateFee(t,e,r,i)}async getCode(t,e){return this.provider.getCode(t,e)}async waitForTransaction(t,e){return this.provider.waitForTransaction(t,e)}async getSimulateTransaction(t,e){return this.provider.getSimulateTransaction(t,e)}async getStateUpdate(t){return this.provider.getStateUpdate(t)}async getStarkName(t,e){return sS(this,t,e)}async getAddressFromStarkName(t,e){return aS(this,t,e)}async getContractVersion(t,e,r){return this.provider.getContractVersion(t,e,r)}};wA({},{fromCallsToExecuteCalldata:()=>ES,fromCallsToExecuteCalldataWithNonce:()=>AS,fromCallsToExecuteCalldata_cairo1:()=>xS,getExecuteCalldata:()=>NS,transformCallsToMulticallArrays:()=>_S,transformCallsToMulticallArrays_cairo1:()=>kS});var _S=t=>{const e=[],r=[];return t.forEach((t=>{const i=eN.compile(t.calldata||[]);e.push({to:kk(t.contractAddress).toString(10),selector:kk(qk(t.entrypoint)).toString(10),data_offset:r.length.toString(),data_len:i.length.toString()}),r.push(...i)})),{callArray:e,calldata:eN.compile({calldata:r})}},ES=t=>{const{callArray:e,calldata:r}=_S(t);return[...eN.compile({callArray:e}),...r]},AS=(t,e)=>[...ES(t),kk(e).toString()],kS=t=>{const e=t.map((t=>({to:kk(t.contractAddress).toString(10),selector:kk(qk(t.entrypoint)).toString(10),calldata:eN.compile(t.calldata||[])})));return e},xS=t=>{const e=t.map((t=>({contractAddress:t.contractAddress,entrypoint:t.entrypoint,calldata:Array.isArray(t.calldata)&&"__compiled__"in t.calldata?t.calldata:eN.compile(t.calldata)})));return eN.compile({orderCalls:e})},NS=(t,e="0")=>"1"===e?xS(t):ES(t),SS={};wA(SS,{TypedDataRevision:()=>lk,byteArrayFromString:()=>CS,encodeData:()=>jS,encodeType:()=>DS,encodeValue:()=>FS,getDependencies:()=>US,getMessageHash:()=>qS,getStructHash:()=>zS,getTypeHash:()=>LS,isMerkleTreeType:()=>$S,prepareSelector:()=>BS});wA({},{MerkleTree:()=>IS,proofMerklePath:()=>RS});var IS=class{leaves;branches=[];root;hashMethod;constructor(t,e=fN){this.hashMethod=e,this.leaves=t,this.root=this.build(t)}build(t){if(1===t.length)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const e=[];for(let r=0;r<t.length;r+=2)r+1===t.length?e.push(IS.hash(t[r],"0x0",this.hashMethod)):e.push(IS.hash(t[r],t[r+1],this.hashMethod));return this.build(e)}static hash(t,e,r=fN){const[i,n]=[BigInt(t),BigInt(e)].sort(((t,e)=>t>=e?1:-1));return r(i,n)}getProof(t,e=this.leaves,r=[]){const i=e.indexOf(t);if(-1===i)throw new Error("leaf not found");if(1===e.length)return r;const n=i%2==0,o=(n?e[i+1]:e[i-1])??"0x0",s=[...r,o],a=this.leaves.length===e.length?-1:this.branches.findIndex((t=>t.length===e.length)),h=this.branches[a+1]??[this.root];return this.getProof(IS.hash(n?t:o,n?o:t,this.hashMethod),h,s)}};function RS(t,e,r,i=fN){if(0===r.length)return t===e;const[n,...o]=r;return RS(t,IS.hash(e,n,i),o,i)}var TS={1:{domain:"StarknetDomain",hashMethod:gN,hashMerkleMethod:dN,escapeTypeString:t=>`"${t}"`,presetTypes:{u256:JSON.parse('[{ "name": "low", "type": "u128" }, { "name": "high", "type": "u128" }]'),TokenAmount:JSON.parse('[{ "name": "token_address", "type": "ContractAddress" }, { "name": "amount", "type": "u256" }]'),NftId:JSON.parse('[{ "name": "collection_address", "type": "ContractAddress" }, { "name": "token_id", "type": "u256" }]')}},0:{domain:"StarkNetDomain",hashMethod:pN,hashMerkleMethod:fN,escapeTypeString:t=>t,presetTypes:{}}};function CS(t){const e=Yk(t),r=e[e.length-1],i=e.map(Wk),[n,o]=void 0===r||31===r.length?["0x00",0]:[i.pop(),r.length];return{data:0===i.length?["0x00"]:i,pending_word:n,pending_word_len:o}}function PS({types:t,domain:e}){return TS[1].domain in t&&"1"===e.revision?"1":TS[0].domain in t&&"0"===(e.revision??"0")?"0":void 0}function OS(t){try{return Nk(t)}catch(e){if("string"==typeof t)return Nk(Wk(t));throw new Error(`Invalid BigNumberish: ${t}`)}}function BS(t){return Ak(t)?t:qk(t)}function $S(t){return"merkletree"===t.type}function US(t,e,r=[],i="",n="0"){return"*"===e[e.length-1]?e=e.slice(0,-1):"1"===n&&("enum"===e?e=i:e.match(/^\(.*\)$/)&&(e=e.slice(1,-1))),r.includes(e)||!t[e]?r:[e,...t[e].reduce(((e,r)=>[...e,...US(t,r.type,e,r.contains,n).filter((t=>!e.includes(t)))]),[])]}function DS(t,e,r="0"){const[i,...n]=US(t,e,void 0,void 0,r),o=i?[i,...n.sort()]:[],s=TS[r].escapeTypeString;return o.map((e=>{const i=t[e].map((t=>{const e="enum"===t.type&&"1"===r?t.contains:t.type,i=e.match(/^\(.*\)$/)?`(${e.slice(1,-1).split(",").map((t=>t?s(t):t)).join(",")})`:s(e);return`${s(t.name)}:${i}`}));return`${s(e)}(${i})`})).join("")}function LS(t,e,r="0"){return qk(DS(t,e,r))}function FS(t,e,r,i={},n="0"){if(t[e])return[e,zS(t,e,r,n)];if(TS[n].presetTypes[e])return[e,zS(TS[n].presetTypes,e,r,n)];if(e.endsWith("*")){const i=r.map((r=>FS(t,e.slice(0,-1),r,void 0,n)[1]));return[e,TS[n].hashMethod(i)]}switch(e){case"enum":if("1"===n){const[o,s]=Object.entries(r)[0],a=t[i.parent][0],h=t[a.contains],u=h.find((t=>t.name===o)),l=h.indexOf(u),c=u.type.slice(1,-1).split(",").map(((e,r)=>{if(!e)return e;const i=s[r];return FS(t,e,i,void 0,n)[1]}));return[e,TS[n].hashMethod([l,...c])]}return[e,OS(r)];case"merkletree":{const e=function(t,e){if(e.parent&&e.key){const r=t[e.parent].find((t=>t.name===e.key));if(!$S(r))throw new Error(`${e.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${e.key}`);return r.contains}return"raw"}(t,i),o=r.map((r=>FS(t,e,r,void 0,n)[1])),{root:s}=new IS(o,TS[n].hashMerkleMethod);return["felt",s]}case"selector":return["felt",BS(r)];case"string":if("1"===n){const t=CS(r),i=[t.data.length,...t.data,t.pending_word,t.pending_word_len];return[e,TS[n].hashMethod(i)]}return[e,OS(r)];case"felt":case"bool":case"u128":case"i128":case"ContractAddress":case"ClassHash":case"timestamp":case"shortstring":return[e,OS(r)];default:if("1"===n)throw new Error(`Unsupported type: ${e}`);return[e,OS(r)]}}function jS(t,e,r,i="0"){const n=t[e]??TS[i].presetTypes[e],[o,s]=n.reduce((([n,o],s)=>{if(void 0===r[s.name]||null===r[s.name]&&"enum"!==s.type)throw new Error(`Cannot encode data: missing data for '${s.name}'`);const a=r[s.name],h={parent:e,key:s.name},[u,l]=FS(t,s.type,a,h,i);return[[...n,u],[...o,l]]}),[["felt"],[LS(t,e,i)]]);return[o,s]}function zS(t,e,r,i="0"){return TS[i].hashMethod(jS(t,e,r,i)[1])}function qS(t,e){if(!function(t){const e=t;return Boolean(e.message&&e.primaryType&&e.types&&PS(e))}(t))throw new Error("Typed data does not match JSON schema");const r=PS(t),{domain:i,hashMethod:n}=TS[r];return n([Wk("StarkNet Message"),zS(t.types,i,t.domain,r),e,zS(t.types,t.primaryType,t.message,r)])}var HS=new MS({rpc:{default:!0}});function VS(t){return t.filter((t=>"event"===t.type&&(t.size||"enum"!==t.kind))).reduce(((t,e)=>{const r=e.name.slice(e.name.lastIndexOf(":")+1),i={...e};return i.name=r,{...t,[SA(hw(_A(r)).toString(16))]:i}}),{})}function ZS(t,e,r,i){const n=t.flat().reduce(((t,n)=>{const o=e[n.keys[0]];if(!o)return t;const s={};s[o.name]={},n.keys.shift();const a=n.keys[Symbol.iterator](),h=n.data[Symbol.iterator](),u=o.members?.filter((t=>"key"===t.kind))||o.keys,l=o.members?.filter((t=>"data"===t.kind))||o.data;return u.forEach((t=>{s[o.name][t.name]=Zx(a,t,r,i,s[o.name])})),l.forEach((t=>{s[o.name][t.name]=Zx(h,t,r,i,s[o.name])})),t.push(s),t}),[]);return n}wA({},{getAbiEvents:()=>VS,parseEvents:()=>ZS});var GS=t=>{const e=t[t.length-1];return"object"==typeof e&&["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"].some((t=>t in e))?{args:t,options:t.pop()}:{args:t}};function KS(t,e){return async function(...r){const i=GS(r);return t.call(e.name,i.args,{parseRequest:!0,parseResponse:!0,...i.options})}}function JS(t,e){return"view"===e.stateMutability||"view"===e.state_mutability?KS(t,e):function(t,e){return async function(...r){const i=GS(r);return t.invoke(e.name,i.args,{parseRequest:!0,...i.options})}}(t,e)}function QS(t,e){return function(...r){return t.estimate(e.name,r)}}function YS(t,e){return Array.isArray(t)&&"__compiled__"in t?t:Array.isArray(t)&&Array.isArray(t[0])&&"__compiled__"in t[0]?t[0]:e()}var WS=class{abi;address;providerOrAccount;deployTransactionHash;structs;events;functions;callStatic;populateTransaction;estimateFee;callData;constructor(t,e,r=HS){this.address=e&&e.toLowerCase(),this.providerOrAccount=r,this.callData=new eN(t),this.structs=eN.getAbiStruct(t),this.events=VS(t);const i=$x(t);this.abi=i.getLegacyFormat();const n={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach((t=>{if("function"!==t.type)return;const e=t.name;var r,i;this[e]||Object.defineProperty(this,e,{...n,value:JS(this,t)}),this.functions[e]||Object.defineProperty(this.functions,e,{...n,value:JS(this,t)}),this.callStatic[e]||Object.defineProperty(this.callStatic,e,{...n,value:KS(this,t)}),this.populateTransaction[e]||Object.defineProperty(this.populateTransaction,e,{...n,value:(r=this,i=t,function(...t){return r.populate(i.name,t)})}),this.estimateFee[e]||Object.defineProperty(this.estimateFee,e,{...n,value:QS(this,t)})}))}attach(t){this.address=t}connect(t){this.providerOrAccount=t}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(t,e=[],{parseRequest:r=!0,parseResponse:i=!0,formatResponse:n,blockIdentifier:o}={}){Ek(null!==this.address,"contract is not connected to an address");const s=YS(e,(()=>r?(this.callData.validate("CALL",t,e),this.callData.compile(t,e)):(console.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),e)));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:s,entrypoint:t},o).then((e=>i?n?this.callData.format(t,e.result,n):this.callData.parse(t,e.result):e.result))}invoke(t,e=[],{parseRequest:r=!0,maxFee:i,nonce:n,signature:o}={}){Ek(null!==this.address,"contract is not connected to an address");const s=YS(e,(()=>r?(this.callData.validate("INVOKE",t,e),this.callData.compile(t,e)):(console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),e))),a={contractAddress:this.address,calldata:s,entrypoint:t};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(a,void 0,{maxFee:i,nonce:n});if(!n)throw new Error("Nonce is required when invoking a function without an account");return console.warn(`Invoking ${t} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...a,signature:o},{nonce:n})}async estimate(t,e=[]){Ek(null!==this.address,"contract is not connected to an address"),YS(e,(()=>!1))||this.callData.validate("INVOKE",t,e);const r=this.populate(t,e);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(r);throw Error("Contract must be connected to the account contract to estimate")}populate(t,e=[]){const r=YS(e,(()=>this.callData.compile(t,e)));return{contractAddress:this.address,entrypoint:t,calldata:r}}parseEvents(t){return ZS(t.events?.filter((t=>Tk(t.from_address)===Tk(this.address)),[])||[],this.events,this.structs,eN.getAbiEnum(this.abi))}isCairo1(){return tx.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typedv1(t){return this}typedv2(t){return this}};function XS(t){Ck(t,jA,VA-1n,"Starknet Address");const e=function(t){return SA(NA(Nk(t)).padStart(64,"0"))}(t);if(!e.match(/^(0x)?[0-9a-fA-F]{64}$/))throw new Error("Invalid Address Format");return e}const tI={SN_MAIN:"https://starknet-mainnet.public.blastapi.io",SN_SEPOLIA:"https://starknet-sepolia.public.blastapi.io"},eI=[{name:"argent::common::account::IAccount",type:"interface",items:[{name:"is_valid_signature",type:"function",inputs:[{name:"hash",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]}];function rI(t,e){var r;if(!tI[t])throw new Error("Invalid network");return new mS({nodeUrl:null!==(r=null==e?void 0:e.broviderUrl)&&void 0!==r?r:tI[t]})}function iI(t){return!!t.primaryType&&!!t.types.StarkNetDomain}function nI(t,e){const{domain:r,types:i,primaryType:n,message:o}=t;return SS.getMessageHash({types:i,primaryType:n,domain:r,message:o},e)}var oI=Object.freeze({__proto__:null,isStarknetMessage:iI,getHash:nI,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="SN_MAIN",n={}){try{const o=new WS(eI,t,rI(i,n));if(e.length<2)throw new Error("Invalid signature format");const s=yield o.is_valid_signature(nI(r,t),e.slice(-2));return Bh.from(s).eq(Bh.from("370462705988"))}catch(t){if(t.message.includes("Contract not found"))throw new Error("Contract not deployed");throw t}}))}});function sI(t){return we(qi(t))}var aI=o((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:$t.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h<a;h++){var u=t.charCodeAt(h)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,a=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,l=r;l<a;l+=i)u=h(t,l,l+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var c=1;for(u=h(t,l,t.length,e),l=0;l<s;l++)c*=e;this.imuln(c),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){n.prototype.inspect=l}else n.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var c=["","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"],f=[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],d=[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];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var a=this.words[s],h=(16777215&(a<<n|o)).toString(16);o=a>>>24-n&16777215,(n+=2)>=26&&(n-=26,s--),i=0!==o||s!==this.length-1?c[6-h.length]+h+i:h+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],l=d[t];i="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modrn(l).toString(t);i=(m=m.idivn(l)).isZero()?p+i:c[u-p.length]+p+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u<i;u++){for(var l=h>>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(n=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var i,n,o,s=t.words,a=e.words,h=r.words,u=0,l=0|s[0],c=8191&l,f=l>>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,A=_>>>13,k=0|s[5],x=8191&k,N=k>>>13,S=0|s[6],I=8191&S,R=S>>>13,T=0|s[7],C=8191&T,P=T>>>13,O=0|s[8],B=8191&O,$=O>>>13,U=0|s[9],D=8191&U,L=U>>>13,F=0|a[0],j=8191&F,z=F>>>13,q=0|a[1],H=8191&q,V=q>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,J=0|a[3],Q=8191&J,Y=J>>>13,W=0|a[4],X=8191&W,tt=W>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(c,j))|0)+((8191&(n=(n=Math.imul(c,z))+Math.imul(f,j)|0))<<13)|0;u=((o=Math.imul(f,z))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(m,j),n=(n=Math.imul(m,z))+Math.imul(p,j)|0,o=Math.imul(p,z);var yt=(u+(i=i+Math.imul(c,H)|0)|0)+((8191&(n=(n=n+Math.imul(c,V)|0)+Math.imul(f,H)|0))<<13)|0;u=((o=o+Math.imul(f,V)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,j),n=(n=Math.imul(y,z))+Math.imul(v,j)|0,o=Math.imul(v,z),i=i+Math.imul(m,H)|0,n=(n=n+Math.imul(m,V)|0)+Math.imul(p,H)|0,o=o+Math.imul(p,V)|0;var vt=(u+(i=i+Math.imul(c,G)|0)|0)+((8191&(n=(n=n+Math.imul(c,K)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(b,j),n=(n=Math.imul(b,z))+Math.imul(M,j)|0,o=Math.imul(M,z),i=i+Math.imul(y,H)|0,n=(n=n+Math.imul(y,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0,i=i+Math.imul(m,G)|0,n=(n=n+Math.imul(m,K)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,K)|0;var wt=(u+(i=i+Math.imul(c,Q)|0)|0)+((8191&(n=(n=n+Math.imul(c,Y)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,Y)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(E,j),n=(n=Math.imul(E,z))+Math.imul(A,j)|0,o=Math.imul(A,z),i=i+Math.imul(b,H)|0,n=(n=n+Math.imul(b,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,i=i+Math.imul(y,G)|0,n=(n=n+Math.imul(y,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,i=i+Math.imul(m,Q)|0,n=(n=n+Math.imul(m,Y)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,Y)|0;var bt=(u+(i=i+Math.imul(c,X)|0)|0)+((8191&(n=(n=n+Math.imul(c,tt)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(x,j),n=(n=Math.imul(x,z))+Math.imul(N,j)|0,o=Math.imul(N,z),i=i+Math.imul(E,H)|0,n=(n=n+Math.imul(E,V)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,V)|0,i=i+Math.imul(b,G)|0,n=(n=n+Math.imul(b,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(m,X)|0,n=(n=n+Math.imul(m,tt)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(i=i+Math.imul(c,rt)|0)|0)+((8191&(n=(n=n+Math.imul(c,it)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(I,j),n=(n=Math.imul(I,z))+Math.imul(R,j)|0,o=Math.imul(R,z),i=i+Math.imul(x,H)|0,n=(n=n+Math.imul(x,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,i=i+Math.imul(E,G)|0,n=(n=n+Math.imul(E,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,Y)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(m,rt)|0,n=(n=n+Math.imul(m,it)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,it)|0;var _t=(u+(i=i+Math.imul(c,ot)|0)|0)+((8191&(n=(n=n+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,j),n=(n=Math.imul(C,z))+Math.imul(P,j)|0,o=Math.imul(P,z),i=i+Math.imul(I,H)|0,n=(n=n+Math.imul(I,V)|0)+Math.imul(R,H)|0,o=o+Math.imul(R,V)|0,i=i+Math.imul(x,G)|0,n=(n=n+Math.imul(x,K)|0)+Math.imul(N,G)|0,o=o+Math.imul(N,K)|0,i=i+Math.imul(E,Q)|0,n=(n=n+Math.imul(E,Y)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,Y)|0,i=i+Math.imul(b,X)|0,n=(n=n+Math.imul(b,tt)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(m,ot)|0,n=(n=n+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(i=i+Math.imul(c,ht)|0)|0)+((8191&(n=(n=n+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(B,j),n=(n=Math.imul(B,z))+Math.imul($,j)|0,o=Math.imul($,z),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,V)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,V)|0,i=i+Math.imul(I,G)|0,n=(n=n+Math.imul(I,K)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,Y)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,Y)|0,i=i+Math.imul(E,X)|0,n=(n=n+Math.imul(E,tt)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,tt)|0,i=i+Math.imul(b,rt)|0,n=(n=n+Math.imul(b,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(m,ht)|0,n=(n=n+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var At=(u+(i=i+Math.imul(c,ct)|0)|0)+((8191&(n=(n=n+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,j),n=(n=Math.imul(D,z))+Math.imul(L,j)|0,o=Math.imul(L,z),i=i+Math.imul(B,H)|0,n=(n=n+Math.imul(B,V)|0)+Math.imul($,H)|0,o=o+Math.imul($,V)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,Y)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(x,X)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,tt)|0,i=i+Math.imul(E,rt)|0,n=(n=n+Math.imul(E,it)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,it)|0,i=i+Math.imul(b,ot)|0,n=(n=n+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(m,ct)|0,n=(n=n+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var kt=(u+(i=i+Math.imul(c,mt)|0)|0)+((8191&(n=(n=n+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,H),n=(n=Math.imul(D,V))+Math.imul(L,H)|0,o=Math.imul(L,V),i=i+Math.imul(B,G)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul($,G)|0,o=o+Math.imul($,K)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(I,X)|0,n=(n=n+Math.imul(I,tt)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,it)|0,i=i+Math.imul(E,ot)|0,n=(n=n+Math.imul(E,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,i=i+Math.imul(b,ht)|0,n=(n=n+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,ct)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,ft)|0;var xt=(u+(i=i+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,G),n=(n=Math.imul(D,K))+Math.imul(L,G)|0,o=Math.imul(L,K),i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul($,Q)|0,o=o+Math.imul($,Y)|0,i=i+Math.imul(C,X)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(I,rt)|0,n=(n=n+Math.imul(I,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(x,ot)|0,n=(n=n+Math.imul(x,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,i=i+Math.imul(E,ht)|0,n=(n=n+Math.imul(E,ut)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,ut)|0,i=i+Math.imul(b,ct)|0,n=(n=n+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(i=i+Math.imul(y,mt)|0)|0)+((8191&(n=(n=n+Math.imul(y,pt)|0)+Math.imul(v,mt)|0))<<13)|0;u=((o=o+Math.imul(v,pt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,Y))+Math.imul(L,Q)|0,o=Math.imul(L,Y),i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul($,X)|0,o=o+Math.imul($,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(I,ot)|0,n=(n=n+Math.imul(I,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,i=i+Math.imul(E,ct)|0,n=(n=n+Math.imul(E,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var St=(u+(i=i+Math.imul(b,mt)|0)|0)+((8191&(n=(n=n+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,tt))+Math.imul(L,X)|0,o=Math.imul(L,tt),i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul($,rt)|0,o=o+Math.imul($,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(I,ht)|0,n=(n=n+Math.imul(I,ut)|0)+Math.imul(R,ht)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(x,ct)|0,n=(n=n+Math.imul(x,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var It=(u+(i=i+Math.imul(E,mt)|0)|0)+((8191&(n=(n=n+Math.imul(E,pt)|0)+Math.imul(A,mt)|0))<<13)|0;u=((o=o+Math.imul(A,pt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(L,rt)|0,o=Math.imul(L,it),i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul($,ot)|0,o=o+Math.imul($,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(I,ct)|0,n=(n=n+Math.imul(I,ft)|0)+Math.imul(R,ct)|0,o=o+Math.imul(R,ft)|0;var Rt=(u+(i=i+Math.imul(x,mt)|0)|0)+((8191&(n=(n=n+Math.imul(x,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(L,ot)|0,o=Math.imul(L,st),i=i+Math.imul(B,ht)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul($,ht)|0,o=o+Math.imul($,ut)|0,i=i+Math.imul(C,ct)|0,n=(n=n+Math.imul(C,ft)|0)+Math.imul(P,ct)|0,o=o+Math.imul(P,ft)|0;var Tt=(u+(i=i+Math.imul(I,mt)|0)|0)+((8191&(n=(n=n+Math.imul(I,pt)|0)+Math.imul(R,mt)|0))<<13)|0;u=((o=o+Math.imul(R,pt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,ht),n=(n=Math.imul(D,ut))+Math.imul(L,ht)|0,o=Math.imul(L,ut),i=i+Math.imul(B,ct)|0,n=(n=n+Math.imul(B,ft)|0)+Math.imul($,ct)|0,o=o+Math.imul($,ft)|0;var Ct=(u+(i=i+Math.imul(C,mt)|0)|0)+((8191&(n=(n=n+Math.imul(C,pt)|0)+Math.imul(P,mt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(D,ct),n=(n=Math.imul(D,ft))+Math.imul(L,ct)|0,o=Math.imul(L,ft);var Pt=(u+(i=i+Math.imul(B,mt)|0)|0)+((8191&(n=(n=n+Math.imul(B,pt)|0)+Math.imul($,mt)|0))<<13)|0;u=((o=o+Math.imul($,pt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Ot=(u+(i=Math.imul(D,mt))|0)+((8191&(n=(n=Math.imul(D,pt))+Math.imul(L,mt)|0))<<13)|0;return u=((o=Math.imul(L,pt))+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,h[0]=gt,h[1]=yt,h[2]=vt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=At,h[9]=kt,h[10]=xt,h[11]=Nt,h[12]=St,h[13]=It,h[14]=Rt,h[15]=Tt,h[16]=Ct,h[17]=Pt,h[18]=Ot,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var a=67108863&i,h=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=h;u++){var l=o-u,c=(0|t.words[l])*(0|e.words[u]),f=67108863&c;a=67108863&(f=f+a|0),n+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(p=m),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?m(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,h=(0|this.words[e])-a<<i;this.words[e]=h|s,s=a>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,h=i;if(n-=s,n=Math.max(0,n),h){for(var u=0;u<s;u++)h.words[u]=this.words[u];h.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var a=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+a;var h=(0|t.words[n])*e;a=((o-=67108863&h)>>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)a=(o=(0|this.words[n+i])+a)>>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(o=-(0|this.words[n])+a)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var l=i.clone()._ishlnsubmul(o,1,h);0===l.negative&&(i=l,a&&(a.words[h]=1));for(var c=h-1;c>=0;c--){var f=67108864*(0|i.words[o.length+c])+(0|i.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,c);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,c),i.isZero()||(i.negative^=1);a&&(a.words[c]=f)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var l=i.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(l),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(i.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(i.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(i.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new A(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(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)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(b,w),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,w),i(_,w),i(E,w),E.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return v[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g<m);var y=this.pow(c,new n(1).iushln(m-g-1));f=f.redMul(y),c=y.redSqr(),d=d.redMul(c),m=g}return f},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,a=0,h=e.bitLength()%26;for(0===h&&(h=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],l=h-1;l>=0;l--){var c=u>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===i&&0===l)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,A),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));var hI=aI.BN;const uI=new y("bignumber/5.6.2"),lI={},cI=9007199254740991;let fI=!1;class dI{constructor(t,e){t!==lI&&uI.throwError("cannot call constructor directly; use BigNumber.from",y.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return pI(gI(this).fromTwos(t))}toTwos(t){return pI(gI(this).toTwos(t))}abs(){return"-"===this._hex[0]?dI.from(this._hex.substring(1)):this}add(t){return pI(gI(this).add(gI(t)))}sub(t){return pI(gI(this).sub(gI(t)))}div(t){return dI.from(t).isZero()&&yI("division-by-zero","div"),pI(gI(this).div(gI(t)))}mul(t){return pI(gI(this).mul(gI(t)))}mod(t){const e=gI(t);return e.isNeg()&&yI("division-by-zero","mod"),pI(gI(this).umod(e))}pow(t){const e=gI(t);return e.isNeg()&&yI("negative-power","pow"),pI(gI(this).pow(e))}and(t){const e=gI(t);return(this.isNegative()||e.isNeg())&&yI("unbound-bitwise-result","and"),pI(gI(this).and(e))}or(t){const e=gI(t);return(this.isNegative()||e.isNeg())&&yI("unbound-bitwise-result","or"),pI(gI(this).or(e))}xor(t){const e=gI(t);return(this.isNegative()||e.isNeg())&&yI("unbound-bitwise-result","xor"),pI(gI(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&yI("negative-width","mask"),pI(gI(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&yI("negative-width","shl"),pI(gI(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&yI("negative-width","shr"),pI(gI(this).shrn(t))}eq(t){return gI(this).eq(gI(t))}lt(t){return gI(this).lt(gI(t))}lte(t){return gI(this).lte(gI(t))}gt(t){return gI(this).gt(gI(t))}gte(t){return gI(this).gte(gI(t))}isNegative(){return"-"===this._hex[0]}isZero(){return gI(this).isZero()}toNumber(){try{return gI(this).toNumber()}catch(t){yI("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return uI.throwError("this platform does not support BigInt",y.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?fI||(fI=!0,uI.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?uI.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",y.errors.UNEXPECTED_ARGUMENT,{}):uI.throwError("BigNumber.toString does not accept parameters",y.errors.UNEXPECTED_ARGUMENT,{})),gI(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof dI)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new dI(lI,mI(t)):t.match(/^-?[0-9]+$/)?new dI(lI,mI(new hI(t))):uI.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&yI("underflow","BigNumber.from",t),(t>=cI||t<=-cI)&&yI("overflow","BigNumber.from",t),dI.from(String(t));const e=t;if("bigint"==typeof e)return dI.from(e.toString());if(E(e))return dI.from(I(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return dI.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(N(t)||"-"===t[0]&&N(t.substring(1))))return dI.from(t)}return uI.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function mI(t){if("string"!=typeof t)return mI(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&uI.throwArgumentError("invalid hex","value",t),"0x00"===(t=mI(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function pI(t){return dI.from(mI(t))}function gI(t){const e=dI.from(t).toHexString();return"-"===e[0]?new hI("-"+e.substring(3),16):new hI(e.substring(2),16)}function yI(t,e,r){const i={fault:t,operation:e};return null!=r&&(i.value=r),uI.throwError(t,y.errors.NUMERIC_FAULT,i)}var vI=window&&window.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{h(i.next(t))}catch(t){o(t)}}function a(t){try{h(i.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((i=i.apply(t,e||[])).next())}))};const wI=new y("hash/5.6.1"),bI=new Uint8Array(32);bI.fill(0);const MI=dI.from(-1),_I=dI.from(0),EI=dI.from(1),AI=dI.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const kI=O(EI.toHexString(),32),xI=O(_I.toHexString(),32),NI={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},SI=["name","version","chainId","verifyingContract","salt"];function II(t){return function(e){return"string"!=typeof e&&wI.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const RI={name:II("name"),version:II("version"),chainId:function(t){try{return dI.from(t).toString()}catch(t){}return wI.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return Ce(t).toLowerCase()}catch(t){}return wI.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=A(t);if(32!==e.length)throw new Error("bad length");return I(e)}catch(t){}return wI.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function TI(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=""===e[1],i=parseInt(e[2]||"256");(i%8!=0||i>256||e[2]&&e[2]!==String(i))&&wI.throwArgumentError("invalid numeric width","type",t);const n=AI.mask(r?i-1:i),o=r?n.add(EI).mul(MI):_I;return function(e){const r=dI.from(e);return(r.lt(o)||r.gt(n))&&wI.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),O(r.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(0===r||r>32||e[1]!==String(r))&&wI.throwArgumentError("invalid bytes width","type",t),function(e){return A(e).length!==r&&wI.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=A(t),r=e.length%32;return r?C([e,bI.slice(r)]):I(e)}(e)}}}switch(t){case"address":return function(t){return O(Ce(t),32)};case"bool":return function(t){return t?kI:xI};case"bytes":return function(t){return we(t)};case"string":return function(t){return sI(t)}}return null}function CI(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class PI{constructor(t){Nr(this,"types",Object.freeze(Or(t))),Nr(this,"_encoderCache",{}),Nr(this,"_types",{});const e={},r={},i={};Object.keys(t).forEach((t=>{e[t]={},r[t]=[],i[t]={}}));for(const i in t){const n={};t[i].forEach((o=>{n[o.name]&&wI.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(i)}`,"types",t),n[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&wI.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);TI(s)||(r[s]||wI.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),r[s].push(i),e[i][s]=!0)}))}const n=Object.keys(r).filter((t=>0===r[t].length));0===n.length?wI.throwArgumentError("missing primary type","types",t):n.length>1&&wI.throwArgumentError(`ambiguous primary types or unused types: ${n.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Nr(this,"primaryType",n[0]),function n(o,s){s[o]&&wI.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach((t=>{r[t]&&(n(t,s),Object.keys(s).forEach((e=>{i[e][t]=!0})))})),delete s[o]}(this.primaryType,{});for(const e in i){const r=Object.keys(i[e]);r.sort(),this._types[e]=CI(e,t[e])+r.map((e=>CI(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=TI(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],r=this.getEncoder(t),i=parseInt(e[3]);return e=>{i>=0&&e.length!==i&&wI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(r);return this._types[t]&&(n=n.map(we)),we(C(n))}}const r=this.types[t];if(r){const e=sI(this._types[t]);return t=>{const i=r.map((({name:e,type:r})=>{const i=this.getEncoder(r)(t[e]);return this._types[r]?we(i):i}));return i.unshift(e),C(i)}}return wI.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||wI.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return we(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(TI(t))return r(t,e);const i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const t=i[1],n=parseInt(i[3]);return n>=0&&e.length!==n&&wI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,r)))}const n=this.types[t];return n?n.reduce(((t,{name:i,type:n})=>(t[i]=this._visit(n,e[i],r),t)),{}):wI.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new PI(t)}static getPrimaryType(t){return PI.from(t).primaryType}static hashStruct(t,e,r){return PI.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){const i=NI[r];i||wI.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort(((t,e)=>SI.indexOf(t.name)-SI.indexOf(e.name))),PI.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return C(["0x1901",PI.hashDomain(t),PI.from(e).hash(r)])}static hash(t,e,r){return we(PI.encode(t,e,r))}static resolveNames(t,e,r,i){return vI(this,void 0,void 0,(function*(){t=Rr(t);const n={};t.verifyingContract&&!N(t.verifyingContract,20)&&(n[t.verifyingContract]="0x");const o=PI.from(e);o.visit(r,((t,e)=>("address"!==t||N(e,20)||(n[e]="0x"),e)));for(const t in n)n[t]=yield i(t);return t.verifyingContract&&n[t.verifyingContract]&&(t.verifyingContract=n[t.verifyingContract]),r=o.visit(r,((t,e)=>"address"===t&&n[e]?n[e]:e)),{domain:t,value:r}}))}static getPayload(t,e,r){PI.hashDomain(t);const i={},n=[];SI.forEach((e=>{const r=t[e];null!=r&&(i[e]=RI[e](r),n.push({name:e,type:NI[e]}))}));const o=PI.from(e),s=Rr(e);return s.EIP712Domain?wI.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=n,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,((t,e)=>{if(t.match(/^bytes(\d*)/))return I(A(e));if(t.match(/^u?int/))return dI.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&wI.throwArgumentError("invalid string","value",e),e}return wI.throwArgumentError("unsupported type","type",t)}))}}}window&&window.__awaiter;new y("wallet/5.6.2");function OI(t,e,r,i){return Fa(PI.hash(t,e,r),i)}const BI="6492649264926492649264926492649264926492649264926492649264926492";function $I(t,e){return t.toLowerCase()===e.toLowerCase()}function UI(t){const{domain:e,types:r,message:i}=t;return zl.hash(e,r,i)}function DI(t,r,i,n){return e(this,void 0,void 0,(function*(){let e;try{e=yield wR(n,["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]])}catch(t){if(t.message.startsWith("missing revert data in call exception"))return!1;throw t}return $I(e,"0x1626ba7e")}))}function LI(t,r,i,n){return e(this,void 0,void 0,(function*(){return $I(yield wR(n,["function isValidSignature(bytes _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]]),"0x20c13b0b")}))}var FI=Object.freeze({__proto__:null,getHash:UI,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){const{domain:o,types:s,message:a}=r;try{if($I(t,OI(o,s,a,e)))return!0}catch(t){}const h=Eg(i,n),u=UI(r);if(e.endsWith(BI))try{return"0x01"===(yield h.call({data:k(["0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",(new ln).encode(["address","bytes32","bytes"],[t,A(u),e])])}))}catch(t){return!1}return!!(yield DI(t,e,u,h))||(yield LI(t,e,u,h))}))}});var jI=["ipfs.snapshot.box","snapshot.4everland.link","ipfs.io","ipfs.fleek.co","gateway.pinata.cloud","dweb.link","ipfs.infura.io"],zI={1:{key:"1",name:"Ethereum",chainId:1,network:"homestead",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",ensResolvers:["0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41"],ensNameWrapper:"0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH",rpc:["https://rpc.ankr.com/eth",{url:"https://api-geth-archive.ankr.com",user:"balancer_user",password:"balancerAnkr20201015"},"https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/eth/mainnet/archive","https://apis.ankr.com/e62bc219f9c9462b8749defe472d2dc5/6106d4a3ec1d1bcc87ec72158f8fd089/eth/archive/main","https://eth-archival.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://eth-mainnet.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],light:["https://cloudflare-eth.com"],ws:["wss://eth-mainnet.ws.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],explorer:{url:"https://etherscan.io",apiUrl:"https://api.etherscan.io"},start:7929876,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},8:{key:"8",name:"Ubiq",chainId:8,network:"Ubiq",multicall:"0x6668750957e4083725926B71C41bDF1434C73262",rpc:["https://rpc.octano.dev"],ws:["wss://ws.octano.dev"],explorer:{url:"https://ubiqscan.io"},start:1,logo:"ipfs://Qmec3HLoN4QhwZAhw4XTi2aN8Wwmcko5hHN22sHARzb9tw"},10:{key:"10",name:"Optimism",chainId:10,network:"Optimism mainnet",multicall:"0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7",rpc:["https://opt-mainnet.g.alchemy.com/v2/JzmIL4Q3jBj7it2duxLFeuCa9Wobmm7D"],explorer:{url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io"},start:657806,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb"},19:{key:"19",name:"Songbird Canary-Network",shortName:"Songbird",chainId:19,network:"songbird",multicall:"0x17032Ea9c3a13Ed337665145364c0d2aD1108c91",rpc:["https://songbird-api.flare.network/ext/C/rpc"],explorer:{url:"https://songbird-explorer.flare.network"},start:21807126,logo:"ipfs://QmXyvnrZY8FUxSULfnKKA99sAEkjAHtvhRx5WeHixgaEdu"},24:{key:"24",name:"KardiaChain Mainnet",shortName:"KAI",chainId:24,network:"mainnet",multicall:"0xd9c92F2287B7802A37eC9BEce96Aa65fb5f31E1b",rpc:["https://kai-internal.kardiachain.io"],explorer:{url:"https://explorer.kardiachain.io"},start:8260245,logo:"ipfs://bafkreig73yfyqzbxydv6e3dbj5nks3f57px2iez7tywayey4rilfhhrr34"},25:{key:"25",name:"Cronos",shortName:"Cronos",chainId:25,network:"mainnet",multicall:"0x6F522a3982e8F9A50A2EDc9E46ed1A3aE2B3FD3a",rpc:["https://evm-cronos.crypto.org"],explorer:{url:"https://cronos.crypto.org/explorer"},start:4067,logo:"ipfs://QmfSJbtirJoa3Pt7o5Fdm85wbyw9V1hpzqLr5PQbdnfsAj"},30:{key:"30",name:"RSK",chainId:30,network:"rsk mainnet",multicall:"0x4eeebb5580769ba6d26bfd07be636300076d1831",rpc:["https://public-node.rsk.co"],explorer:{url:"https://explorer.rsk.co"},start:2516442,logo:"ipfs://QmXTwpE1SqoNZmyY4c3fYWy6qUgQELsyWKbgJo2Pg6K6V9"},46:{key:"46",name:"Darwinia Network",shortName:"Darwinia",chainId:46,network:"mainnet",multicall:"0x67f9ae42EaA9a8aBf065D60ec6Ab3C1A11370607",rpc:["https://rpc.darwinia.network"],explorer:{url:"https://darwinia.subscan.io"},start:141853,logo:"ipfs://bafkreicf55maidhx46pyu3mwsshlr43xbewr6tkckkonh4nesbkp7krwkm"},56:{key:"56",name:"BNB Smart Chain",shortName:"BSC",chainId:56,network:"mainnet",multicall:"0x1ee38d535d541c55c9dae27b12edf090c608e6fb",rpc:["https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/bsc/mainnet/archive","https://rpc.ankr.com/bsc","https://bsc.getblock.io/mainnet/?api_key=91f8195f-bf46-488f-846a-73d6853790e7","https://bsc-private-dataseed1.nariox.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed1.binance.org"],explorer:{url:"https://bscscan.com"},start:461230,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},61:{key:"61",name:"Ethereum Classic",shortName:"Ethereum Classic",chainId:61,network:"mainnet",multicall:"0x51be3a92C56ae7E207C5b5Fd87F7798Ce82C1AC2",rpc:["https://www.ethercluster.com/etc"],explorer:{url:"https://blockscout.com/etc/mainnet"},start:13307544,logo:"ipfs://QmVegc28DvA7LjKUFysab81c9BSuN4wQVDQkRXyAtuEBis"},66:{key:"66",name:"OKExChain",shortName:"OEC Mainnet",chainId:66,network:"oec mainnet",multicall:"0x6EB187d8197Ac265c945b69f3c3064A6f3831866",rpc:["https://exchainrpc.okex.org"],ws:["wss://exchainws.okex.org:8443"],explorer:{url:"https://www.oklink.com/okexchain"},start:5076543,logo:"ipfs://Qmd7dKnNwHRZ4HRCbCXUbkNV7gP28fGqPdjbHtjRtT9sQF"},75:{key:"75",name:"Decimal",shortName:"mainnet",chainId:75,network:"mainnet",multicall:"0x949d1A0757803C51F2EfFFEb5472C861A898B8E8",rpc:[],explorer:{url:"https://explorer.decimalchain.com"},start:16031065,logo:"ipfs://bafkreihkdhbce5rkogl63xegaarlirjrvbfarxbtbf5mqme3s5grvbjyxm"},81:{key:"81",name:"Shibuya Network",shortName:"Shibuya",chainId:81,network:"testnet",testnet:!0,multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shibuya.astar.network:8545"],explorer:{url:"https://blockscout.com/shibuya"},start:856303,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},82:{key:"82",name:"Meter",shortName:"Meter",chainId:82,network:"mainnet",multicall:"0x579De77CAEd0614e3b158cb738fcD5131B9719Ae",rpc:["https://rpc.meter.io"],explorer:{url:"https://scan.meter.io"},start:4992871,logo:"ipfs://QmSZvT9w9eUDvV1YVaq3BKKEbubtNVqu1Rin44FuN4wz11"},97:{key:"97",name:"BNB Smart Chain Testnet",shortName:"BSC Testnet",chainId:97,network:"testnet",testnet:!0,multicall:"0x8b54247c6BAe96A6ccAFa468ebae96c4D7445e46",rpc:["https://data-seed-prebsc-1-s1.binance.org:8545","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/bsc/testnet/archive"],explorer:{url:"https://testnet.bscscan.com"},start:3599656,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},100:{key:"100",name:"Gnosis Chain",shortName:"xDAI",chainId:100,network:"mainnet",multicall:"0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",rpc:["https://gno.getblock.io/mainnet/6c1d1e6e-75d9-452f-a863-a694bff93d5c/","https://xdai-archive.blockscout.com","https://poa-xdai.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://rpc.gnosischain.com"],light:["https://rpc.gnosischain.com"],ws:["wss://rpc.xdaichain.com/wss"],explorer:{url:"https://gnosis.blockscout.com"},start:4108192,logo:"ipfs://QmZeiy8Ax4133wzxUQM9ky8z5XFVf6YLFjJMmTWbWVniZR"},108:{key:"108",name:"Thundercore",chainId:108,network:"mainnet",multicall:"0x3017086deef56679e267f67f66c4415109b7a97f",rpc:["https://mainnet-rpc.thundercore.com/archived/SNAPSHOTEuR82a75fLYA"],explorer:{url:"https://viewblock.io/thundercore"},start:94425385,logo:"ipfs://bafkreifc5z5vtvqx2luzgateyvoocwpd2ifv2hwufxdnyl2a767wa6icli"},109:{key:"109",name:"Shibarium",shortName:"mainnet",chainId:109,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://shibariumscan.io"},start:3485946,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm"},122:{key:"122",name:"Fuse",shortName:"Fuse",chainId:122,network:"mainnet",multicall:"0x7a59441fb06666F6d2D766393d876945D06a169c",rpc:["https://explorer-node.fuse.io/","https://oefusefull1.liquify.info/"],explorer:{url:"https://explorer.fuse.io"},start:11923459,logo:"ipfs://QmXjWb64nako7voaVEifgdjAbDbswpTY8bghsiHpv8yWtb"},137:{key:"137",name:"Polygon PoS",shortName:"Polygon",chainId:137,network:"mainnet",multicall:"0xCBca837161be50EfA5925bB9Cc77406468e76751",rpc:["https://rpc.ankr.com/polygon","https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/polygon/mainnet/archive","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/polygon/mainnet/archive","https://rpc-mainnet.maticvigil.com/v1/1cfd7598e5ba6dcf0b4db58e8be484badc6ea08e"],ws:["wss://ws-mainnet.matic.network"],explorer:{url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com"},start:9834491,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},144:{key:"144",name:"PHI Network",shortName:"PHI",chainId:144,network:"mainnet",multicall:"0xc2f41B404a6757863AAeF49ff93039421acCd630",rpc:["https://connect.phi.network"],explorer:{url:"https://phiscan.com"},start:360030,logo:"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a"},146:{key:"146",name:"Sonic",shortName:"mainnet",chainId:146,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.soniclabs.com"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44"},148:{key:"148",name:"ShimmerEVM",shortName:"ShimmerEVM",chainId:148,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.evm.shimmer.network"},start:1290,logo:"ipfs://bafkreib4xhbgbhrwkmizp4d4nz3wzbpyhdm6wpz2v2pbkk7jxsgg3hdt74"},157:{key:"157",name:"Shibarium Puppynet Testnet",shortName:"testnet",chainId:157,network:"testnet",multicall:"0xA4029b74FBA366c926eDFA7Dd10B21C621170a4c",rpc:[],explorer:{url:"https://puppyscan.shib.io"},start:3035769,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm",testnet:!0},169:{key:"169",name:"Manta Pacific",shortName:"Manta",chainId:169,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://www.oklink.com/manta"},start:332890,logo:"ipfs://bafkreibbrwgwdcfh755dqh4ndta6tja77qbaa36bfv4pstub6prhhore7a"},204:{key:"204",name:"opBNB",shortName:"mainnet",chainId:204,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"http://opbnbscan.com"},start:512881,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},246:{key:"246",name:"Energy Web Chain",shortName:"EWC",chainId:246,network:"mainnet",multicall:"0x0767F26d0D568aB61A98b279C0b28a4164A6f05e",rpc:["https://voting-rpc.carbonswap.exchange"],explorer:{url:"https://explorer.energyweb.org"},start:12086501,logo:"ipfs://Qmai7AGHgs8NpeGeXgbMZz7pS2i4kw44qubCJYGrZW2f3a"},250:{key:"250",name:"Fantom Opera",shortName:"fantom",chainId:250,network:"Mainnet",multicall:"0x7f6A10218264a22B4309F3896745687E712962a0",rpc:["https://rpc.ankr.com/fantom","https://rpc.ftm.tools","https://rpcapi.fantom.network"],explorer:{url:"https://ftmscan.com"},start:2497732,logo:"ipfs://QmVEgNeQDKnXygeGxfY9FywZpNGQu98ktZtRJ9bToYF6g7"},252:{key:"252",name:"Fraxtal",shortName:"mainnet",chainId:252,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu"},269:{key:"269",name:"High Performance Blockchain",shortName:"HPB",chainId:269,network:"mainnet",multicall:"0x67D0f263aef2F6167FA77353695D75b582Ff4Bca",rpc:["https://hpbnode.com"],ws:["wss://ws.hpbnode.com"],explorer:{url:"https://hscan.org"},start:13960096,logo:"ipfs://QmU7f1MyRz8rLELFfypnWZQjGbDGYgZtC9rjw47jYMYrnu"},300:{key:"300",name:"zkSync Sepolia Testnet",shortName:"testnet",chainId:300,network:"testnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:[],explorer:{url:"https://sepolia.explorer.zksync.dev"},start:2292,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy",testnet:!0},314:{key:"314",name:"Filecoin",shortName:"mainnet",chainId:314,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://filfox.io"},start:3328594,logo:"ipfs://bafybeibyvjfmk6aqlfdrczvth55jkmnoadtrch7ht3rdmvqmy2bfxynecm"},321:{key:"321",name:"KCC",shortName:"KCC",chainId:321,network:"mainnet",multicall:"0xa64D6AFb48225BDA3259246cfb418c0b91de6D7a",rpc:["https://rpc-mainnet.kcc.network"],ws:["wss://rpc-ws-mainnet.kcc.network"],explorer:{url:"https://explorer.kcc.io"},start:1487453,logo:"ipfs://QmRdzYGhFRG8QLzMJahHrw3vETE2YZ9sywQbEkenSjKEvb"},324:{key:"324",name:"zkSync Era",shortName:"zkSync-era",chainId:324,network:"zkSync Era Mainnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:["https://mainnet.era.zksync.io"],explorer:{url:"https://explorer.zksync.io"},start:3908235,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy"},336:{key:"336",name:"Shiden Network",shortName:"Shiden",chainId:336,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shiden.astar.network:8545","https://shiden.api.onfinality.io/public"],explorer:{url:"https://blockscout.com/shiden"},start:1170016,logo:"ipfs://QmcqGQE4Sk73zXc3e91TUFFefKBVeaNgbxV141XkSNE4xj"},369:{key:"369",name:"Pulsechain",shortName:"Pulsechain",chainId:369,network:"mainnet",multicall:"0xdbdd0FD8B16F0092f306392b699D7fbddaA9011B",rpc:["https://rpc.pulsechain.com"],explorer:{url:"https://scan.pulsechain.com"},start:17657774,logo:"ipfs://QmWUsiEWdejtHZ9B9981TYXn7Ds8C7fkB1S4h5rP3kCCZR"},416:{key:"416",name:"SX Network",shortName:"SX",chainId:416,network:"mainnet",multicall:"0x834a005DDCF990Ba1a79f259e840e58F2D14F49a",rpc:["https://rpc.sx.technology"],ws:["wss://rpc.sx.technology/ws"],explorer:{url:"https://explorer.sx.technology"},start:2680605,logo:"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF"},592:{key:"592",name:"Astar Network",shortName:"Astar",chainId:592,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://astar.api.onfinality.io/public","https://rpc.astar.network:8545"],explorer:{url:"https://blockscout.com/astar"},start:366482,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},813:{key:"813",name:"Qitmeer",shortName:"MEER",chainId:813,network:"mainnet",multicall:"0x55034b2cF530ae3A8fC1e2e4523F58496796610F",rpc:["https://evm-dataseed1.meerscan.io","https://evm-dataseed.meerscan.com","https://evm-dataseed2.meerscan.io","https://evm-dataseed3.meerscan.io"],explorer:{url:"https://evm.meerscan.io"},start:43317,logo:"ipfs://QmXvum7SNVaAqAc2jNzR1NpNZN1GGvNaKWydg8a1GEDQ7y"},841:{key:"841",name:"Taraxa",shortName:"841",chainId:841,network:"mainnet",multicall:"0xFCe7a3121B42664AaD145712e1c2Bf2e38f60AA1",rpc:["https://rpc.mainnet.taraxa.io"],ws:["wss://ws.mainnet.taraxa.io"],explorer:{url:"https://mainnet.explorer.taraxa.io"},start:1515906,logo:"ipfs://Qmcc6ZCAGESMzZzoj5LsTVcCo2E35x3Ydk71uPJyov6Mwx"},888:{key:"888",name:"Wanchain",chainId:888,network:"mainnet",multicall:"0xba5934ab3056fca1fa458d30fbb3810c3eb5145f",rpc:["https://gwan-ssl.wandevs.org:56891"],ws:["wss://api.wanchain.org:8443/ws/v3/ddd16770c68f30350a21114802d5418eafe039b722de52b488e7eee1ee2cd73f"],explorer:{url:"https://www.wanscan.org"},start:11302663,logo:"ipfs://QmewFFN44rkxESFsHG8edaLt1znr62hjvZhGynfXqruzX3"},1001:{key:"1001",name:"Kaia Kairos Testnet",shortName:"kaia-kairos",chainId:1001,network:"testnet",testnet:!0,multicall:"0x40643B8Aeaaca0b87Ea1A1E596e64a0e14B1d244",rpc:["https://archive-en-kairos.node.kaia.io"],ws:["wss://archive-en-kairos.node.kaia.io/ws"],explorer:{url:"https://kairos.kaiascan.com"},start:87232478,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},1072:{key:"1072",name:"Shimmer EVM Testnet",shortName:"ShimmerEVM",chainId:1072,network:"testnet",testnet:!0,multicall:"0x751d21047C116413895c259f3f305e38C10B7cF6",rpc:["https://archive.evm.testnet.shimmer.network/v1/chains/rms1pr75wa5xuepg2hew44vnr28wz5h6n6x99zptk2g68sp2wuu2karywgrztx3/evm"],explorer:{url:"https://explorer.evm.testnet.shimmer.network"},start:10614,logo:"ipfs://bafkreihtwfwrue7klzedwx4rqlk6agklz4lbbk7owsyw6xzn6c2m4t5tgy"},1088:{key:"1088",name:"Metis",shortName:"metis",chainId:1088,network:"mainnet",multicall:"0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",rpc:["https://andromeda.metis.io/?owner=1088"],explorer:{url:"https://andromeda-explorer.metis.io"},start:451,logo:"ipfs://bafkreiaqr4atnjpdnk3c4vu4377ai7bzqpgaefefbl5j5imfsvr4puimtu"},1101:{key:"1101",name:"Polygon zkEVM",shortName:"mainnet",chainId:1101,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://zkevm.polygonscan.com"},start:57746,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm"},1116:{key:"1116",name:"Core Chain",shortName:"Core",chainId:1116,network:"mainnet",multicall:"0x024f0041b76B598c2A0a75004F8447FaF67BD004",rpc:["https://rpcar.coredao.org/"],explorer:{url:"https://scan.coredao.org"},start:853908,logo:"ipfs://bafkreigjv5yb7uhlrryzib7j2f73nnwqan2tmfnwjdu26vkk365fyesoiu"},1284:{key:"1284",name:"Moonbeam",shortName:"GLMR",chainId:1284,network:"mainnet",multicall:"0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",rpc:["https://rpc.api.moonbeam.network"],explorer:{url:"https://moonscan.io"},start:171135,logo:"ipfs://QmWKTEK2pj5sBBbHnMHQbWgw6euVdBrk2Ligpi2chrWASk"},1285:{key:"1285",name:"Moonriver (Kusama)",shortName:"Moonriver",chainId:1285,network:"mainnet",multicall:"0x537004440ffFE1D4AE9F009031Fc2b0385FCA9F1",rpc:["https://rpc.api.moonriver.moonbeam.network"],explorer:{url:"https://blockscout.moonriver.moonbeam.network"},start:413539,logo:"ipfs://QmXtgPesL87Ejhq2Y7yxsaPYpf4RcnoTYPJWPcv6iiYhoi"},1287:{key:"1287",name:"Moonbase Alpha TestNet",shortName:"Moonbase",chainId:1287,network:"testnet",testnet:!0,multicall:"0xf09FD6B6FF3f41614b9d6be2166A0D07045A3A97",rpc:["https://rpc.testnet.moonbeam.network"],explorer:{url:"https://moonbase-blockscout.testnet.moonbeam.network"},start:859041,logo:"ipfs://QmeGbNTU2Jqwg8qLTMGW8n8HSi2VdgCncAaeGzLx6gYnD7"},1328:{key:"1328",name:"Sei atlantic testnet",shortName:"testnet",chainId:1328,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://seitrace.com"},start:96978658,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},1329:{key:"1329",name:"Sei",shortName:"mainnet",chainId:1329,network:"mainnet",multicall:"0xe033Bed7cae4114Af84Be1e9F1CA7DEa07Dfe1Cf",rpc:[],explorer:{url:"https://seitrace.com"},start:79164574,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq"},1480:{key:"1480",name:"Vana",shortName:"mainnet",chainId:1480,network:"mainnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://islander.vanascan.io"},start:716763,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa"},1559:{key:"1559",name:"Tenet",shortName:"tenet",chainId:1559,network:"mainnet",multicall:"0xcCB3F00bE353950E4C08501ac8Af48765EAAa738",rpc:[],explorer:{url:"https://tenetscan.io"},start:944415,logo:"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA"},1663:{key:"1663",name:"Horizen Gobi Testnet",shortName:"Gobi",chainId:1663,network:"testnet",testnet:!0,multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:["https://gobi-testnet.horizenlabs.io/ethv1"],explorer:{url:"https://gobi-explorer.horizen.io"},start:1,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},2e3:{key:"2000",name:"Doge Chain",shortName:"dogechain",chainId:2e3,network:"mainnet",multicall:"0x6f9D3f3932B417bd4957585D236Cbc32b32C0BDc",rpc:["https://rpc.dogechain.dog"],explorer:{url:"https://explorer.dogechain.dog"},start:877115,logo:"ipfs://bafkreigovfh3pinsdih777issfgaflwu2yjzroljs2642gbvwikcd3nm4i"},2109:{key:"2109",name:"Exosama Network",shortName:"EXN",chainId:2109,network:"mainnet",multicall:"0x2feFC828e2fEfdE0C9f7740919c6A9139F886067",rpc:["https://rpc.exosama.com"],explorer:{url:"https://explorer.exosama.com"},start:94085,logo:"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS"},2152:{key:"2152",name:"Findora",shortName:"Findora",chainId:2152,network:"mainnet",multicall:"0xCF7D1e21CBe9bdEF235aef06C5d8051B3d4DF0f5",rpc:["https://archive.prod.findora.org:8545/"],explorer:{url:"https://evm.findorascan.io"},start:4219343,logo:"ipfs://QmXkneyRB6HbHTHRLCZpZqSsawiyJY7b2kZ2V8ydvKYAgv"},2192:{key:"2192",name:"SnaxChain",shortName:"mainnet",chainId:2192,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.snaxchain.io"},start:1554893,logo:"ipfs://bafkreibzz757piho2llzkbiszpvalf5k5hpmxcwhvrmgp7vpz2vp4vj7ly"},2221:{key:"2221",name:"Kava Testnet",shortName:"testnet",chainId:2221,network:"testnet",multicall:"0xc7193EFE367DF0C9349a1149F4E95A2A35604262",rpc:[],explorer:{url:"https://testnet.kavascan.com"},start:6193104,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4",testnet:!0},2222:{key:"2222",name:"Kava",shortName:"mainnet",chainId:2222,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://kavascan.com"},start:3661165,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4"},2400:{key:"2400",name:"TCG Verse",shortName:"TCGV",chainId:2400,network:"mainnet",multicall:"0xceC65DEE0b5012F1b7321b2647681F997c7204FC",rpc:["https://rpc.tcgverse.xyz"],explorer:{url:"https://explorer.tcgverse.xyz"},start:57500,logo:"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe"},2522:{key:"2522",name:"Fraxtal Testnet",shortName:"testnet",chainId:2522,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://holesky.fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu",testnet:!0},3338:{key:"3338",name:"peaq",shortName:"mainnet",chainId:3338,network:"mainnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://peaq.subscan.io"},start:3525964,logo:"ipfs://bafkreidqkleori7pmilesz4t52iebebaqf3oflzmoz646qfuaznanb3sgm"},4200:{key:"4200",name:"Merlin",shortName:"merlin",chainId:4200,network:"mainnet",multicall:"0x830E7E548F4D80947a40A7Cf3a2a53166a0C3980",rpc:[],explorer:{url:"https://scan.merlinchain.io"},start:589494,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe"},4337:{key:"4337",name:"Beam",shortName:"Beam",chainId:4337,network:"mainnet",multicall:"0x4956F15eFdc3dC16645e90Cc356eAFA65fFC65Ec",rpc:[],explorer:{url:"https://subnets.avax.network/beam"},start:1,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF"},4689:{key:"4689",name:"IoTeX",shortName:"IoTeX",chainId:4689,network:"mainnet",multicall:"0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",rpc:["https://babel-api.mainnet.iotex.io"],explorer:{url:"https://iotexscan.io"},start:11533283,logo:"ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"},5e3:{key:"5000",name:"Mantle",chainId:5e3,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.mantle.xyz"],explorer:{url:"https://explorer.mantle.xyz"},start:304717,logo:"ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"},5555:{key:"5555",name:"Chain Verse",shortName:"ChainVerse",chainId:5555,network:"ChainVerse",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.chainverse.info"],explorer:{url:"https://explorer.chainverse.info"},start:6334180,logo:"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk"},5611:{key:"5611",name:"opBNB Testnet",shortName:"testnet",chainId:5611,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://opbnb-testnet.bscscan.com"},start:3705108,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64",testnet:!0},6102:{key:"6102",name:"Cascadia Testnet",shortName:"Cascadia",chainId:6102,network:"testnet",multicall:"0x728989819bAD588F193563008E0a03E8cD6a3e4a",rpc:["https://testnet.cascadia.foundation"],explorer:{url:"https://explorer.cascadia.foundation"},testnet:!0,start:370457,logo:"ipfs://QmWkhZYhReYyaa5pQXj32hEGxoRcBqarFMcfQScELmjYQj"},7332:{key:"7332",name:"Horizen EON",shortName:"EON",chainId:7332,network:"mainnet",multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:[],explorer:{url:"https://eon-explorer.horizenlabs.io"},start:85108,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},7341:{key:"7341",name:"Shyft",shortName:"Shyft",chainId:7341,network:"mainnet",multicall:"0xceb10e9133D771cA93c8002Be527A465E85381a2",rpc:["https://rpc.shyft.network"],explorer:{url:"https://bx.shyft.network"},start:3673983,logo:"ipfs://bafkreifwxnnfk6koabzmxgcxcwlrwt6b5gijdain2gyqee77q4ajfb7fu4"},7560:{key:"7560",name:"Cyber",shortName:"mainnet",chainId:7560,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://cyberscan.co"},start:1731707,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm"},8217:{key:"8217",name:"Kaia Mainnet",shortName:"kaia-mainnet",chainId:8217,network:"mainnet",multicall:"0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",rpc:["https://archive-en.node.kaia.io"],ws:["wss://archive-en.node.kaia.io/ws"],explorer:{url:"https://kaiascan.com"},start:91582357,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},8453:{key:"8453",name:"Base",shortName:"mainnet",chainId:8453,network:"mainnet",multicall:"0xca11bde05977b3631167028862be2a173976ca11",rpc:[],explorer:{url:"https://basescan.org"},start:5022,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv"},9001:{key:"9001",name:"Evmos Network",shortName:"Evmos",chainId:9001,network:"mainnet",multicall:"0x37763d16f8dBf6F185368E0f256350cAb7E24b26",rpc:["https://eth.bd.evmos.org:8545"],ws:["wss://eth.bd.evmos.org:8546"],explorer:{url:"https://escan.live"},start:13959539,logo:"ipfs://bafkreif4obrdoiretpozdd56seziywc6clha7wwkbldng3ovry2bpzly34"},9990:{key:"9990",name:"Agung testnet",shortName:"testnet",chainId:9990,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://agung-testnet.subscan.io"},start:2031789,logo:"ipfs://bafkreidqkleori7pmilesz4t52iebebaqf3oflzmoz646qfuaznanb3sgm",testnet:!0},1e4:{key:"10000",name:"smartBCH",shortName:"BCH",chainId:1e4,network:"mainnet",multicall:"0x1b38EBAd553f218e2962Cb1C0539Abb5d6A37774",rpc:["https://smartbch.greyh.at/"],explorer:{url:"https://smartbch-explorer.web.app"},start:268248,logo:"ipfs://QmWG1p7om4hZ4Yi4uQvDpxg4si7qVYhtppGbcDGrhVFvMd"},10243:{key:"10243",name:"Arthera Testnet",shortName:"Arthera_",chainId:10243,network:"testnet",testnet:!0,multicall:"0x27c7FC597aD2E81C4c1cA1769972f79DaF042Da7",rpc:["https://rpc-test.arthera.net"],explorer:{url:"https://explorer-test.arthera.net"},start:10523,logo:"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak"},13337:{key:"13337",name:"Beam Testnet",shortName:"testnet",chainId:13337,network:"testnet",multicall:"0x9BF49b704EE2A095b95c1f2D4EB9010510c41C9E",rpc:[],explorer:{url:"https://subnets-test.avax.network/beam"},start:3,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF",testnet:!0},13371:{key:"13371",name:"Immutable zkEVM",shortName:"mainnet",chainId:13371,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.immutable.com"},start:3680945,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi"},13473:{key:"13473",name:"Immutable zkEVM Testnet",shortName:"testnet",chainId:13473,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.testnet.immutable.com"},start:5307209,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi",testnet:!0},14800:{key:"14800",name:"Vana Moksha Testnet",shortName:"testnet",chainId:14800,network:"testnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://moksha.vanascan.io"},start:732283,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa",testnet:!0},16718:{key:"16718",name:"AirDAO",chainId:16718,network:"mainnet",multicall:"0x25e81aC81A8B03389D78CB45faB78353aB528574",rpc:["https://network-archive.ambrosus.io"],ws:["wss://network-archive.ambrosus.io/ws"],explorer:{url:"https://airdao.io/explorer"},start:22922566,logo:"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom"},29548:{key:"29548",name:"MCH Verse",shortName:"mainnet",chainId:29548,network:"mainnet",multicall:"0x1d39652386488CE1fE4254E105F5A42a04d43dB2",rpc:[],explorer:{url:"https://explorer.oasys.mycryptoheroes.net"},start:27458402,logo:"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU"},33111:{key:"33111",name:"Curtis",shortName:"apechain",chainId:33111,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://explorer.curtis.apechain.com"},start:6661339,logo:"ipfs://bafkreicljxttjq2xkgfwwpii5xegirgq2ctrnsjnzelxudjj33qzq65apu",testnet:!0},33139:{key:"33139",name:"ApeChain",shortName:"mainnet",chainId:33139,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://apechain.calderaexplorer.xyz"},start:20889,logo:"ipfs://bafkreielbgcox2jsw3g6pqulqb7pyjgx7czjt6ahnibihaij6lozoy53w4"},42161:{key:"42161",name:"Arbitrum One",chainId:42161,network:"Arbitrum mainnet",multicall:"0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee",rpc:["https://rpc.ankr.com/arbitrum","https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/arbitrum/mainnet","https://arb-mainnet.g.alchemy.com/v2/JDvtNGwnHhTltIwfnxQocKwKkCTKA1DL"],explorer:{url:"https://arbiscan.io"},start:256508,logo:"ipfs://QmWZ5SMRfvcK8tycsDqojQaSiKedgtVkS7CkZdxPgeCVsZ"},42170:{key:"42170",name:"Arbitrum Nova",chainId:42170,network:"Arbitrum Nova",multicall:"0x4E74EBd9CABff51cE9a43EFe059bA8c5A28E4A14",rpc:["https://nova.arbitrum.io/rpc","https://arbitrum-nova.public.blastapi.io"],explorer:{url:"https://nova.arbiscan.io"},start:6006607,logo:"ipfs://bafkreie5xsqt3mrrwu7v32qpmmctibhzhgxf4emfzzddsdhdlfsa7fmplu"},42220:{key:"42220",name:"Celo",shortName:"Celo",chainId:42220,network:"mainnet",multicall:"0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",rpc:["https://celo.snapshot.org","https://forno.celo.org","https://celo-mainnet--rpc.datahub.figment.io/apikey/e892a66dc36e4d2d98a5d6406d609796/"],explorer:{url:"https://explorer.celo.org"},start:6599803,logo:"ipfs://QmS2tVJ7rdJRe1NHXAi2L86yCbUwVVrmB2mHQeNdJxvQti"},43113:{key:"43113",name:"Avalanche FUJI Testnet",chainId:43113,network:"testnet",testnet:!0,multicall:"0x984476ea55e32e785A9D8FF14329f99D74E3d2A2",rpc:["https://api.avax-test.network/ext/bc/C/rpc"],explorer:{url:"https://testnet.snowtrace.io"},start:10528153,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},43114:{key:"43114",name:"Avalanche",chainId:43114,network:"mainnet",multicall:"0x7E9985aE4C8248fdB07607648406a48C76e9e7eD",rpc:["https://nd-784-543-849.p2pify.com/aa7b29fc5fed65b34f0ee6b8de33f8c0/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://api.avax.network/ext/bc/C/rpc"],explorer:{url:"https://snowtrace.io"},start:536483,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},47805:{key:"47805",name:"REI Mainnet",chainId:47805,network:"mainnet",multicall:"0x9eE9904815B80C39C1a27294E69a8626EAa7952d",rpc:["https://rpc.rei.network"],explorer:{url:"https://scan.rei.network"},start:1715902,logo:"ipfs://QmTogMDLmDgJjDjUKDHDuc2KVTVDbXf8bXJLFiVe8PRxgo"},53935:{key:"53935",name:"DFK Chain",chainId:53935,network:"mainnet",multicall:"0x5b24224dC16508DAD755756639E420817DD4c99E",rpc:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"],explorer:{url:"https://subnets.avax.network/defi-kingdoms"},start:62,logo:"ipfs://QmZNkpVgPbuVbDcsi6arwH1om3456FGnwfDqYQJWUfHDEx"},57054:{key:"57054",name:"Sonic Blaze Testnet",shortName:"testnet",chainId:57054,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://testnet.sonicscan.org"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44",testnet:!0},59141:{key:"59141",name:"Linea Sepolia",shortName:"testnet",chainId:59141,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.lineascan.build"},start:227427,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce",testnet:!0},59144:{key:"59144",name:"Linea",shortName:"linea",chainId:59144,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://lineascan.build"},start:42,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce"},80001:{key:"80001",name:"Polygon Mumbai",chainId:80001,network:"testnet",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/polygon/mumbai/archive","https://rpc-mumbai.matic.today"],ws:["wss://ws-mumbai.matic.today"],explorer:{url:"https://mumbai.polygonscan.com",apiUrl:"https://api-mumbai.polygonscan.com"},start:12011090,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},80002:{key:"80002",name:"Polygon Amoy Testnet",shortName:"testnet",chainId:80002,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://amoy.polygonscan.com"},start:3127388,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm",testnet:!0},81457:{key:"81457",name:"Blast",shortName:"mainnet",chainId:81457,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://blastscan.io"},start:88189,logo:"ipfs://bafkreicqhrimt2zyp2kvhmbpvffxlmxovkg5vw6zkissyzibcfy45kbvrm"},84532:{key:"84532",name:"Base Sepolia",shortName:"testnet",chainId:84532,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://base-sepolia.blockscout.com"},start:1059647,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv",testnet:!0},686868:{key:"686868",name:"Merlin Testnet",shortName:"merlin",chainId:686868,network:"testnet",multicall:"0x758BC6321b7c68F4986d62a4D46E83A2DCb58c80",rpc:[],explorer:{url:"https://testnet-scan.merlinchain.io"},start:3562021,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe",testnet:!0},713715:{key:"713715",name:"Sei EVM Devnet",shortName:"devnet",chainId:713715,network:"testnet",multicall:"0xEe8d287B844959ADe40d718Dc23077ba920e2f07",rpc:[],explorer:{url:"https://seitrace.com"},start:1463669,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},810180:{key:"810180",name:"zkLink Nova",shortName:"zlink",chainId:810180,network:"mainnet",multicall:"0x825267E0fA5CAe92F98540828a54198dcB3Eaeb5",rpc:[],explorer:{url:"https://explorer.zklink.io"},start:146055,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74"},810181:{key:"810181",name:"zkLink Nova Sepolia",shortName:"testnet",chainId:810181,network:"testnet",multicall:"0x97148F8fDdd9A1620f72EC1Bb2932916623d9da5",rpc:[],explorer:{url:"https://sepolia.explorer.zklink.io"},start:43723,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74",testnet:!0},11155111:{key:"11155111",name:"Sepolia testnet",shortName:"Sepolia",chainId:11155111,network:"sepolia",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://sepolia.infura.io/v3/d26b4fd748814fe994b05899fd89e667"],ensResolvers:["0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],ensNameWrapper:"0x0635513f179D50A207757E05759CbD106d7dFcE8",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/DmMXLtMZnGbQXASJ7p1jfzLUbBYnYUD9zNBTxpkjHYXV",explorer:{url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io"},start:751532,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},11155420:{key:"11155420",name:"OP Sepolia",shortName:"testnet",chainId:11155420,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia-optimism.etherscan.io"},start:1620204,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb",testnet:!0},111557560:{key:"111557560",name:"Cyber Testnet",shortName:"testnet",chainId:111557560,network:"testnet",multicall:"0xffc391F0018269d4758AEA1a144772E8FB99545E",rpc:[],explorer:{url:"https://testnet.cyberscan.co"},start:304545,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm",testnet:!0},168587773:{key:"168587773",name:"Blast Sepolia",shortName:"testnet",chainId:168587773,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.blastexplorer.io"},start:756690,logo:"ipfs://bafkreibfmkjg22cozxppzcoxswj45clvh2rqhxzax57cmmgudbtkf4dkce",testnet:!0},245022926:{key:"245022926",name:"Neon Devnet",shortName:"devnet",chainId:245022926,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://devnet.neonscan.org"},start:205206112,logo:"ipfs://QmecRPQGa4bU7tybg1sUQY48Md9rWnmhrT6WW5ueqvhg6P",testnet:!0},1313161554:{key:"1313161554",name:"Aurora",shortName:"Aurora",chainId:1313161554,network:"mainnet",multicall:"0x32b50c286DEFd2932a0247b8bb940b78c063F16c",rpc:["https://mainnet.aurora.dev"],explorer:{url:"https://explorer.mainnet.aurora.dev"},start:57190533,logo:"ipfs://QmeRhsR1UPRTQCizdhmgr2XxphXebVKU5di97uCV2UMFpa"},16666e5:{key:"1666600000",name:"Harmony",shortName:"HarmonyMainnet",chainId:16666e5,network:"mainnet",multicall:"0x9c31392D2e0229dC4Aa250F043d46B9E82074BF8",rpc:["https://a.api.s0.t.hmny.io"],ws:["wss://ws.s0.t.hmny.io"],explorer:{url:"https://explorer.harmony.one"},start:10911984,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"},16667e5:{key:"1666700000",name:"Harmony Testnet",shortName:"HarmonyTestnet",chainId:16667e5,network:"testnet",testnet:!0,multicall:"0x9923589503Fd205feE3d367DDFF2378f0F7dD2d4",rpc:["https://api.s0.b.hmny.io"],ws:["wss://ws.s0.b.hmny.io"],explorer:{url:"https://explorer.pops.one"},start:7521509,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"}};class qI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"number"==typeof t&&void 0!==(null==e?void 0:e[t-1])}getValidVotes(){return this.votes.filter((t=>qI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>{const r=this.getValidVotes().filter((t=>t.choice===e+1));return r.reduce(((t,e)=>t+e.balance),0)}))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>{const r=this.strategies.map(((t,r)=>{const i=this.getValidVotes().filter((t=>t.choice===e+1));return i.reduce(((t,e)=>t+e.scores[r]),0)}));return r}))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices[this.selected-1]}}class HI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size}getValidVotes(){return this.votes.filter((t=>HI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.balance),0)))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.scores[r]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected?this.proposal.choices.filter(((t,e)=>this.selected.includes(e+1))).join(", "):""}}function VI(t,e){const r=t/e.reduce(((t,e)=>t+e),0);return isNaN(r)?0:r}function ZI(t,e){return Math.sqrt(t*e)}function GI(t){return t*t}function KI(t,e){return t.map((t=>e*t))}class JI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>JI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>{const i=t.map((t=>ZI(VI(t.choice[r+1],Object.values(t.choice)),t.balance))).reduce(((t,e)=>t+e),0);return GI(i)}));return KI(r.map(((t,e)=>VI(r[e],r))),e)}getScoresByStrategy(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.map((t=>ZI(VI(t.choice[r+1],Object.values(t.choice)),t.scores[i]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[GI(t)]))));return r.map(((t,i)=>KI(this.strategies.map(((t,e)=>VI(r[i][e][0],r.flat(2)))),e)))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1]){const r=VI(this.selected[e+1],Object.values(this.selected));return`${Math.round(1e3*r)/10}% for ${t}`}})).filter((t=>null!=t)).join(", ")}}function QI(t,e){const r=[...new Set(t.map((t=>t[0])).flat())],i=Object.entries(t.reduce(((t,[e],r,i)=>{const n=i[r][1];t[e[0]][0]+=n;const o=i[r][2];return o.length>1?t[e[0]][1]=o.map(((r,i)=>r+t[e[0]][1][i]||r)):t[e[0]][1]=[t[e[0]][1].concat(o).reduce(((t,e)=>t+e),0)],t}),Object.assign({},...r.map((t=>({[t]:[0,[]]})))))),n=i.map((t=>[t[0],t[1][0]])),[o,s]=n.reduce((([t,e],[r,i])=>i>e?[r,i]:[t,e]),["?",-1/0]),[a,h]=n.reduce((([t,e],[r,i])=>i<e?[r,i]:[t,e]),["?",1/0]),u=i.sort(((t,e)=>e[1][0]-t[1][0])),l=t.map((t=>t[1])).reduce(((t,e)=>t+e),0);return e.push({round:e.length+1,sortedByHighest:u}),s>l/2||u.length<3?e:QI(t.map((t=>[t[0].filter((t=>t!=a)),t[1],t[2]])).filter((t=>t[0].length>0)),e)}function YI(t){const e=QI(t.map((t=>[t.choice,t.balance,t.scores])),[]);return e[e.length-1].sortedByHighest}class WI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size&&t.length>0&&t.length===e.length}getValidVotes(){return this.votes.filter((t=>WI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return function(t,e){const r=YI(t);return e.choices.map(((t,e)=>r.filter((t=>Number(t[0])===e+1)).reduce(((t,e)=>t+e[1][0]),0)))}(this.getValidVotes(),this.proposal)}getScoresByStrategy(){const t=YI(this.getValidVotes());return this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.filter((t=>Number(t[0])===r+1)).reduce(((t,e)=>t+e[1][1][i]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected.map((t=>{if(this.proposal.choices[t-1])return this.proposal.choices[t-1]})).map(((t,e)=>`(${xR(e+1)}) ${t}`)).join(", ")}}function XI(t,e,r){const i=r.reduce(((t,e)=>t+e),0),n=e[t]/i*100;return isNaN(n)?0:n}function tR(t,e,r){return XI(t+1,e,Object.values(e))/100*r}class eR{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>eR.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.proposal.choices.map(((t,e)=>this.getValidVotes().map((t=>tR(e,t.choice,t.balance))).reduce(((t,e)=>t+e),0))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((e,r)=>XI(r,t,t))).map((t=>e/100*t))}getScoresByStrategy(){const t=this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().map((t=>tR(e,t.choice,t.scores[r]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[t])))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((r,i)=>this.strategies.map(((e,r)=>XI(0,t[i][r],t.flat(2)))).map((t=>[e/100*t])).flat()))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1])return`${Math.round(10*XI(e+1,this.selected,Object.values(this.selected)))/10}% for ${t}`})).filter((t=>null!=t)).join(", ")}}var rR={"single-choice":qI,approval:HI,quadratic:JI,"ranked-choice":WI,weighted:eR,basic:qI};const iR={1:"https://subgrapher.snapshot.org/delegation/1",10:"https://subgrapher.snapshot.org/delegation/10",56:"https://subgrapher.snapshot.org/delegation/56",100:"https://subgrapher.snapshot.org/delegation/100",137:"https://subgrapher.snapshot.org/delegation/137",146:"https://subgrapher.snapshot.org/delegation/146",250:"https://subgrapher.snapshot.org/delegation/250",8453:"https://subgrapher.snapshot.org/delegation/8453",42161:"https://subgrapher.snapshot.org/delegation/42161",59144:"https://subgrapher.snapshot.org/delegation/59144",81457:"https://subgrapher.snapshot.org/delegation/81457",84532:"https://subgrapher.snapshot.org/delegation/84532",11155111:"https://subgrapher.snapshot.org/delegation/11155111"},nR=1e3;function oR(t){return t.length===nR&&t[0].timestamp===t[t.length-1].timestamp}function sR(t,e){const r=function(t){return`${t.delegator}-${t.delegate}-${t.space}`}(e);t.has(r)||t.set(r,e)}function aR(t){const e=["",t];return t.includes(".eth")&&e.push(t.replace(".eth","")),e}function hR(t){return e(this,arguments,void 0,(function*({url:t,spaces:e,pivot:r,snapshot:i}){const n={delegations:{__args:{where:{timestamp_gte:r},first:nR,skip:0,orderBy:"timestamp",orderDirection:"asc"},delegator:!0,space:!0,delegate:!0,timestamp:!0}};return"latest"!==i&&(n.delegations.__args.block={number:i}),null!==e&&(n.delegations.__args.where.space_in=e),(yield MR(t,n)).delegations||[]}))}const uR="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",lR=["function text(bytes32 node, string calldata key) external view returns (string memory)","function resolver(bytes32 node) view returns (address)"],cR={"0x534e5f4d41494e":{name:"Starknet",testnet:!1},"0x534e5f5345504f4c4941":{name:"Starknet Sepolia",testnet:!0}},fR={Accept:"application/json","Content-Type":"application/json"},dR="https://score.snapshot.org";function mR(t=dR,e={path:""}){const r=new URL(t);e.path&&(r.pathname=e.path);const i=r.searchParams.get("apiKey");let n=Object.assign({},fR);return i&&(r.searchParams.delete("apiKey"),n=Object.assign(Object.assign({},fR),{"X-API-KEY":i})),{url:r.toString(),headers:n}}function pR(t){return e(this,void 0,void 0,(function*(){let e=yield t.text();try{e=JSON.parse(e)}catch(r){return Promise.reject({code:t.status||500,message:"Failed to parse response from score API",data:e})}return e.error?Promise.reject(e.error):e}))}const gR=new Ed({allErrors:!0,allowUnionTypes:!0,$data:!0,passContext:!0});Nd(gR),Id(gR),gR.addFormat("address",{validate:t=>{try{return t===Ce(t)}catch(t){return!1}}}),gR.addFormat("evmAddress",{validate:t=>{try{return Ce(t),!0}catch(t){return!1}}}),gR.addFormat("starknetAddress",{validate:t=>{try{return XS(t)===t}catch(t){return!1}}}),gR.addFormat("long",{validate:()=>!0}),gR.addFormat("lowercase",{validate:t=>t===t.toLowerCase()}),gR.addFormat("color",{validate:t=>!!t&&!!t.match(/^#[0-9A-F]{6}$/)}),gR.addFormat("ethValue",{validate:t=>{if(!t.match(/^([0-9]|[1-9][0-9]+)(\.[0-9]+)?$/))return!1;try{return function(t,e){if("string"!=typeof t&&uu.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=lu.indexOf(e);-1!==t&&(e=3*t)}Kh(t,null!=e?e:18)}(t,18),!0}catch(t){return!1}}});const yR=Object.keys(zI),vR=Object.keys(zI).filter((t=>!zI[t].testnet));function wR(t,r,i,n){return e(this,void 0,void 0,(function*(){const e=new hh(i[0],r,t);try{const t=i[2]||[];return yield e[i[1]](...t,n||{})}catch(t){return Promise.reject(t)}}))}function bR(t,r,i,n,o){return e(this,void 0,void 0,(function*(){const e=(null==o?void 0:o.multicallAddress)||zI[t].multicall,s=new hh(e,["function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"],r),a=new bn(i);try{const t=(null==o?void 0:o.limit)||500;(null==o?void 0:o.limit)&&delete o.limit;const e=Math.ceil(n.length/t),r=[];Array.from(Array(e)).forEach(((e,i)=>{const h=n.slice(t*i,t*(i+1));r.push(s.aggregate(h.map((t=>[t[0].toLowerCase(),a.encodeFunctionData(t[1],t[2])])),o||{}))}));let i=yield Promise.all(r);return i=i.reduce(((t,[,e])=>t.concat(e)),[]),i.map(((t,e)=>a.decodeFunctionResult(n[e][1],t)))}catch(t){return Promise.reject(t)}}))}function MR(t,r){return e(this,arguments,void 0,(function*(t,e,r={}){const i={query:Kl.jsonToGraphQLQuery({query:e})};r.variables&&(i.variables=r.variables);const n=yield a(t,{method:"POST",headers:Object.assign({Accept:"application/json","Content-Type":"application/json"},null==r?void 0:r.headers),body:JSON.stringify(i)});let o=yield n.text();try{o=JSON.parse(o)}catch(e){throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${o.substring(0,400)}`)}if(o.errors)throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${JSON.stringify(o.errors).substring(0,400)}`);const{data:s}=o;return s||{}}))}function _R(t,e=jI[0]){const r=`https://${e}`;if(!t)return null;if(!(t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("https://")||t.startsWith("http://")))return`${r}/ipfs/${t}`;const i=t.split("://")[0];return"ipfs"===i?t.replace("ipfs://",`${r}/ipfs/`):"ipns"===i?t.replace("ipns://",`${r}/ipns/`):t}function ER(r,i){return e(this,arguments,void 0,(function*(e,r,i="1",n={}){var o,s;const{ensResolvers:a=(null===(o=zI[i])||void 0===o?void 0:o.ensResolvers)||zI[1].ensResolvers,broviderUrl:h}=n,u=t(n,["ensResolvers","broviderUrl"]);let l;try{l=ml(dl(e))}catch(t){return null}const c=Eg(i,{broviderUrl:h}),f=[[uR,"resolver",[l]],...a.map((t=>[t,"text",[l,r]]))],[[d],...m]=yield bR(i,c,lR,f,u),p=a.indexOf(d);return-1!==p?null===(s=m[p])||void 0===s?void 0:s[0]:null}))}function AR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){try{return yield ER(t,"snapshot",e,r)}catch(t){return console.log(t),null}}))}function kR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=Eg(e,r),n=new hh(uR,["function owner(bytes32) view returns (address)"],i);let o;try{o=ml(dl(t))}catch(t){return null}const s=r.ensNameWrapper||zI[e].ensNameWrapper;let a=yield n.owner(o);if(a===s){const t=new hh(s,["function ownerOf(uint256) view returns (address)"],i);a=yield t.ownerOf(o)}return a}))}function xR(t){const e=["th","st","nd","rd"],r=t%100;return t+(e[(r-20)%10]||e[r]||e[0])}function NR(t){return!!zI[t]}function SR(t){return Pe(t)&&"0x0000000000000000000000000000000000000000"!==t}function IR(t,e){return"latest"===t||"number"==typeof t&&t>=zI[e].start}function RR(t){if(!t)return!1;try{return XS(t),!0}catch(t){return!1}}function TR(t){return Pe(t)}function CR(t){return Promise.reject(new Error(t))}gR.addKeyword({keyword:"snapshotNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?vR.includes(e):yR.includes(e)},error:{message:"network not allowed"}}),gR.addKeyword({keyword:"starknetNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?Object.keys(cR).filter((t=>!cR[t].testnet)).includes(e):Object.keys(cR).includes(e)},error:{message:"network not allowed"}}),gR.addFormat("customUrl",{type:"string",validate:t=>!t.length||(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("snapshot://"))}),gR.addFormat("domain",{validate:t=>!!t&&!!t.match(/^(https:\/\/)?([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}(\/)?$/)});var PR={call:wR,multicall:bR,subgraphRequest:MR,ipfsGet:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="ipfs"){return a(`https://${t}/${r}/${e}`).then((t=>t.json()))}))},getUrl:_R,getJSON:function(t){return e(this,arguments,void 0,(function*(t,e={}){const r=_R(t,e.gateways);return a(r).then((t=>t.json()))}))},sendTransaction:function(t,r,i,n,o){return e(this,arguments,void 0,(function*(t,e,r,i,n,o={}){const s=t.getSigner(),a=new hh(e,r,t).connect(s);return yield a[i](...n,o)}))},getScores:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n="latest",o=dR,s={}){if(!Array.isArray(i))return CR("addresses should be an array of addresses");if(0===i.length)return CR("addresses can not be empty");const h=i.find((t=>!SR(t)));if(h)return CR(`Invalid address: ${h}`);if(!NR(r))return CR(`Invalid network: ${r}`);const u=e.find((t=>t.network&&!NR(t.network)));if(u)return CR(`Invalid network (${u.network}) in strategy ${u.name}`);if(!IR(n,r))return CR(`Snapshot (${n}) must be 'latest' or greater than network start block (${zI[r].start})`);new URL(o).pathname="/api/scores";const{url:l,headers:c}=mR(o,{path:"/api/scores"});try{const o={space:t,network:r,snapshot:n,strategies:e,addresses:i},h=yield a(l,{method:"POST",headers:c,body:JSON.stringify({params:o})}),u=yield pR(h);return"all"===s.returnValue?u.result:u.result[s.returnValue||"scores"]}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},getVp:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){const{url:e,headers:u}=mR(null==h?void 0:h.url);if(!SR(t))return CR(`Invalid voter address: ${t}`);if(!NR(r))return CR(`Invalid network: ${r}`);const l=i.find((t=>t.network&&!NR(t.network)));if(l)return CR(`Invalid network (${l.network}) in strategy ${l.name}`);if(!IR(n,r))return CR(`Snapshot (${n}) must be 'latest' or greater than network start block (${zI[r].start})`);const c={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"get_vp",params:{address:t,network:r,strategies:i,snapshot:n,space:o,delegation:s}})};try{const t=yield a(e,c);return(yield pR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},validateSchema:function(t,e,r={snapshotEnv:"default",spaceType:"default"}){const i=gR.compile(t),n=i.call(r,e);return n||i.errors},getEnsTextRecord:ER,getSpaceUri:AR,getEnsOwner:kR,getSpaceController:function(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=yield AR(t,e,r);if(i){let t=Pe(i);if(t)return i;const e=i.split("/"),r=e.includes("testnet")?5:4,n=e[r];if(t=Pe(n),t)return n}return yield kR(t,e,r)}))},getDelegatesBySpace:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="latest",i={}){const n=i.subgraphUrl||iR[t];if(!n)return Promise.reject(`Delegation subgraph not available for network ${t}`);let o=0;const s=new Map,a=e?aR(e):null;for(;;){const t=yield hR({url:n,spaces:a,pivot:o,snapshot:r});if(oR(t))throw new Error("Unable to paginate delegation");if(t.forEach((t=>{sR(s,t),o=t.timestamp})),t.length<nR)break}return[...s.values()]}))},clone:function(t){return JSON.parse(JSON.stringify(t))},sleep:function(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>{setTimeout(e,t)}))}))},getNumberWithOrdinal:xR,voting:rR,getProvider:Eg,signMessage:function(t,r,i){return e(this,void 0,void 0,(function*(){return r=I(new Buffer(r,"utf8")),yield t.send("personal_sign",[r,i])}))},getBlockNumber:function(t){return e(this,void 0,void 0,(function*(){try{const e=yield t.getBlockNumber();return parseInt(e)}catch(t){return Promise.reject()}}))},Multicaller:class{constructor(t,e,r,i){this.options={},this.calls=[],this.paths=[],this.network=t,this.provider=e,this.abi=r,this.options=i||{}}call(t,e,r,i){return this.calls.push([e,r,i]),this.paths.push(t),this}execute(t){return e(this,void 0,void 0,(function*(){const e=t||{};return(yield bR(this.network,this.provider,this.abi,this.calls,this.options)).forEach(((t,r)=>_m(e,this.paths[r],t.length>1?t:t[0]))),this.calls=[],this.paths=[],e}))}},getSnapshots:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n={}){const o={};if(i.forEach((t=>o[t]="latest")),"latest"===e)return o;const s=`${t}-${e}-${i.join("-")}`,a=Em[s],h=Date.now();if(a&&Am>h)return a;Am<h&&(Em={},Am=h+36e5-h%36e5),o[t]=e;const u=Object.keys(o).filter((e=>t!==e));if(0===u.length)return o;const l={blocks:{__args:{where:{ts:(yield r.getBlock(e)).timestamp,network_in:u}},network:!0,number:!0}},c=n.blockFinderUrl||"https://blockfinder.snapshot.org";return(yield MR(c,l)).blocks.forEach((t=>o[t.network]=t.number)),Em[s]=o,o}))},getHash:function(t,e){return(iI(t)?oI:FI).getHash(t,e)},verify:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){if(!RR(t)&&!TR(t))throw new Error("Invalid address");const o=iI(r)?oI:FI;return yield o.default(t,e,r,i,n)}))},validate:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){if(!SR(r))return CR(`Invalid author: ${r}`);if(!NR(n))return CR(`Invalid network: ${n}`);if(!IR(o,n))return CR(`Snapshot (${o}) must be 'latest' or greater than network start block (${zI[n].start})`);h||(h={});const{url:e,headers:u}=mR(h.url),l={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"validate",params:{validation:t,author:r,space:i,network:n,snapshot:o,params:s}})};try{const t=yield a(e,l);return(yield pR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},isStarknetAddress:RR,isEvmAddress:TR,getFormattedAddress:function(t,e){if("evm"===e&&TR(t))return Ce(t);if("starknet"===e&&RR(t))return XS(t);throw new Error(`Invalid address: ${t}`)},SNAPSHOT_SUBGRAPH_URL:iR};return{Client:or,Client712:or,schemas:dr,utils:PR}}));
|
|
30
|
+
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(r);return o("function"==typeof e?e.call({"":t},"",t):t,"");function o(t,s){if(Array.isArray(i)){var a=i.find((function(e){return e.test(t)}));if(a){var h=a.stringify(t);if("string"!=typeof h||!bw(h))throw new Error("Invalid JSON number: output of a number stringifier must be a string containing a JSON number "+"(output: ".concat(h,")"));return h}}return"boolean"==typeof t||"number"==typeof t||"string"==typeof t||null===t||t instanceof Date||t instanceof Boolean||t instanceof Number||t instanceof String?JSON.stringify(t):t&&t.isLosslessNumber||"bigint"==typeof t?t.toString():Array.isArray(t)?function(t,r){if(0===t.length)return"[]";for(var i=n?r+n:void 0,s=n?"[\n":"[",a=0;a<t.length;a++){var h="function"==typeof e?e.call(t,String(a),t[a]):t[a];n&&(s+=i),s+=void 0!==h&&"function"!=typeof h?o(h,i):"null",a<t.length-1&&(s+=n?",\n":",")}return s+=n?"\n"+r+"]":"]"}(t,s):t&&"object"===bb(t)?function(t,i){if("function"==typeof t.toJSON)return Mb(t.toJSON(),e,r,void 0);var s=Array.isArray(e)?e.map(String):Object.keys(t);if(0===s.length)return"{}";var a=n?i+n:void 0,h=!0,u=n?"{\n":"{";return s.forEach((function(r){var i="function"==typeof e?e.call(t,r,t[r]):t[r];if(function(t,e){return void 0!==e&&"function"!=typeof e&&"symbol"!==bb(e)}(0,i)){h?h=!1:u+=n?",\n":",";var s=JSON.stringify(r);u+=n?a+s+": ":s+":",u+=o(i,a)}})),u+=n?"\n"+i+"}":"}"}(t,s):void 0}}function _b(t){let e=t.length;for(;--e>=0;)t[e]=0}const Eb=256,Ab=286,kb=30,xb=15,Nb=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]),Sb=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]),Ib=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Rb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Tb=new Array(576);_b(Tb);const Cb=new Array(60);_b(Cb);const Pb=new Array(512);_b(Pb);const Ob=new Array(256);_b(Ob);const Bb=new Array(29);_b(Bb);const $b=new Array(kb);function Ub(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let Db,Lb,Fb;function jb(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}_b($b);const zb=t=>t<256?Pb[t]:Pb[256+(t>>>7)],qb=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Hb=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,qb(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},Vb=(t,e,r)=>{Hb(t,r[2*e],r[2*e+1])},Zb=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},Gb=(t,e,r)=>{const i=new Array(16);let n,o,s=0;for(n=1;n<=xb;n++)s=s+r[n-1]<<1,i[n]=s;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=Zb(i[e]++,e))}},Kb=t=>{let e;for(e=0;e<Ab;e++)t.dyn_ltree[2*e]=0;for(e=0;e<kb;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Jb=t=>{t.bi_valid>8?qb(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Qb=(t,e,r,i)=>{const n=2*e,o=2*r;return t[n]<t[o]||t[n]===t[o]&&i[e]<=i[r]},Yb=(t,e,r)=>{const i=t.heap[r];let n=r<<1;for(;n<=t.heap_len&&(n<t.heap_len&&Qb(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!Qb(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i},Wb=(t,e,r)=>{let i,n,o,s,a=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+a++],i+=(255&t.pending_buf[t.sym_buf+a++])<<8,n=t.pending_buf[t.sym_buf+a++],0===i?Vb(t,n,e):(o=Ob[n],Vb(t,o+Eb+1,e),s=Nb[o],0!==s&&(n-=Bb[o],Hb(t,n,s)),i--,o=zb(i),Vb(t,o,r),s=Sb[o],0!==s&&(i-=$b[o],Hb(t,i,s)))}while(a<t.sym_next);Vb(t,256,e)},Xb=(t,e)=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,h,u=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==r[2*s]?(t.heap[++t.heap_len]=u=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=u<2?++u:0,r[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=u,s=t.heap_len>>1;s>=1;s--)Yb(t,r,s);h=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Yb(t,r,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,r[2*h]=r[2*s]+r[2*a],t.depth[h]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,r[2*s+1]=r[2*a+1]=h,t.heap[1]=h++,Yb(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,h=e.stat_desc.max_length;let u,l,c,f,d,m,p=0;for(f=0;f<=xb;f++)t.bl_count[f]=0;for(r[2*t.heap[t.heap_max]+1]=0,u=t.heap_max+1;u<573;u++)l=t.heap[u],f=r[2*r[2*l+1]+1]+1,f>h&&(f=h,p++),r[2*l+1]=f,l>i||(t.bl_count[f]++,d=0,l>=a&&(d=s[l-a]),m=r[2*l],t.opt_len+=m*(f+d),o&&(t.static_len+=m*(n[2*l+1]+d)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(l=t.bl_count[f];0!==l;)c=t.heap[--u],c>i||(r[2*c+1]!==f&&(t.opt_len+=(f-r[2*c+1])*r[2*c],r[2*c+1]=f),l--)}})(t,e),Gb(r,u,t.bl_count)},tM=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=e[2*(i+1)+1],++a<h&&n===s||(a<u?t.bl_tree[2*n]+=a:0!==n?(n!==o&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4))},eM=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),i=0;i<=r;i++)if(n=s,s=e[2*(i+1)+1],!(++a<h&&n===s)){if(a<u)do{Vb(t,n,t.bl_tree)}while(0!=--a);else 0!==n?(n!==o&&(Vb(t,n,t.bl_tree),a--),Vb(t,16,t.bl_tree),Hb(t,a-3,2)):a<=10?(Vb(t,17,t.bl_tree),Hb(t,a-3,3)):(Vb(t,18,t.bl_tree),Hb(t,a-11,7));a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4)}};let rM=!1;const iM=(t,e,r,i)=>{Hb(t,0+(i?1:0),3),Jb(t),qb(t,r),qb(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var nM=t=>{rM||((()=>{let t,e,r,i,n;const o=new Array(16);for(r=0,i=0;i<28;i++)for(Bb[i]=r,t=0;t<1<<Nb[i];t++)Ob[r++]=i;for(Ob[r-1]=i,n=0,i=0;i<16;i++)for($b[i]=n,t=0;t<1<<Sb[i];t++)Pb[n++]=i;for(n>>=7;i<kb;i++)for($b[i]=n<<7,t=0;t<1<<Sb[i]-7;t++)Pb[256+n++]=i;for(e=0;e<=xb;e++)o[e]=0;for(t=0;t<=143;)Tb[2*t+1]=8,t++,o[8]++;for(;t<=255;)Tb[2*t+1]=9,t++,o[9]++;for(;t<=279;)Tb[2*t+1]=7,t++,o[7]++;for(;t<=287;)Tb[2*t+1]=8,t++,o[8]++;for(Gb(Tb,287,o),t=0;t<kb;t++)Cb[2*t+1]=5,Cb[2*t]=Zb(t,5);Db=new Ub(Tb,Nb,257,Ab,xb),Lb=new Ub(Cb,Sb,0,kb,xb),Fb=new Ub(new Array(0),Ib,0,19,7)})(),rM=!0),t.l_desc=new jb(t.dyn_ltree,Db),t.d_desc=new jb(t.dyn_dtree,Lb),t.bl_desc=new jb(t.bl_tree,Fb),t.bi_buf=0,t.bi_valid=0,Kb(t)},oM=(t,e,r,i)=>{let n,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<Eb;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Xb(t,t.l_desc),Xb(t,t.d_desc),s=(t=>{let e;for(tM(t,t.dyn_ltree,t.l_desc.max_code),tM(t,t.dyn_dtree,t.d_desc.max_code),Xb(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Rb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),n=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?iM(t,e,r,i):4===t.strategy||o===n?(Hb(t,2+(i?1:0),3),Wb(t,Tb,Cb)):(Hb(t,4+(i?1:0),3),((t,e,r,i)=>{let n;for(Hb(t,e-257,5),Hb(t,r-1,5),Hb(t,i-4,4),n=0;n<i;n++)Hb(t,t.bl_tree[2*Rb[n]+1],3);eM(t,t.dyn_ltree,e-1),eM(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Wb(t,t.dyn_ltree,t.dyn_dtree)),Kb(t),i&&Jb(t)},sM=(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Ob[r]+Eb+1)]++,t.dyn_dtree[2*zb(e)]++),t.sym_next===t.sym_end),aM=t=>{Hb(t,2,3),Vb(t,256,Tb),(t=>{16===t.bi_valid?(qb(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)},hM={_tr_init:nM,_tr_stored_block:iM,_tr_flush_block:oM,_tr_tally:sM,_tr_align:aM};var uM=(t,e,r,i)=>{let n=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+e[i++]|0,o=o+n|0}while(--s);n%=65521,o%=65521}return n|o<<16|0};const lM=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var cM=(t,e,r,i)=>{const n=lM,o=i+r;t^=-1;for(let r=i;r<o;r++)t=t>>>8^n[255&(t^e[r])];return-1^t},fM={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"},dM={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:mM,_tr_stored_block:pM,_tr_flush_block:gM,_tr_tally:yM,_tr_align:vM}=hM,{Z_NO_FLUSH:wM,Z_PARTIAL_FLUSH:bM,Z_FULL_FLUSH:MM,Z_FINISH:_M,Z_BLOCK:EM,Z_OK:AM,Z_STREAM_END:kM,Z_STREAM_ERROR:xM,Z_DATA_ERROR:NM,Z_BUF_ERROR:SM,Z_DEFAULT_COMPRESSION:IM,Z_FILTERED:RM,Z_HUFFMAN_ONLY:TM,Z_RLE:CM,Z_FIXED:PM,Z_DEFAULT_STRATEGY:OM,Z_UNKNOWN:BM,Z_DEFLATED:$M}=dM,UM=258,DM=262,LM=42,FM=113,jM=666,zM=(t,e)=>(t.msg=fM[e],e),qM=t=>2*t-(t>4?9:0),HM=t=>{let e=t.length;for(;--e>=0;)t[e]=0},VM=t=>{let e,r,i,n=t.w_size;e=t.hash_size,i=e;do{r=t.head[--i],t.head[i]=r>=n?r-n:0}while(--e);e=n,i=e;do{r=t.prev[--i],t.prev[i]=r>=n?r-n:0}while(--e)};let ZM=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const GM=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},KM=(t,e)=>{gM(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,GM(t.strm)},JM=(t,e)=>{t.pending_buf[t.pending++]=e},QM=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},YM=(t,e,r,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),r),1===t.state.wrap?t.adler=uM(t.adler,e,n,r):2===t.state.wrap&&(t.adler=cM(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)},WM=(t,e)=>{let r,i,n=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const h=t.strstart>t.w_size-DM?t.strstart-(t.w_size-DM):0,u=t.window,l=t.w_mask,c=t.prev,f=t.strstart+UM;let d=u[o+s-1],m=u[o+s];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=e,u[r+s]===m&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(i=UM-(f-o),o=f-UM,i>s){if(t.match_start=e,s=i,i>=a)break;d=u[o+s-1],m=u[o+s]}}}while((e=c[e&l])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead},XM=t=>{const e=t.w_size;let r,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-DM)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),VM(t),i+=e),0===t.strm.avail_in)break;if(r=YM(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=ZM(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=ZM(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<DM&&0!==t.strm.avail_in)},t_=(t,e)=>{let r,i,n,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(r=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>n&&(r=n),r<o&&(0===r&&e!==_M||e===wM||r!==i+t.strm.avail_in))break;s=e===_M&&r===i+t.strm.avail_in?1:0,pM(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,GM(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(YM(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==wM&&e!==_M&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(YM(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,o=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=o||(i||e===_M)&&e!==wM&&0===t.strm.avail_in&&i<=n)&&(r=i>n?n:i,s=e===_M&&0===t.strm.avail_in&&r===i?1:0,pM(t,t.block_start,r,s),t.block_start+=r,GM(t.strm)),s?3:1)},e_=(t,e)=>{let r,i;for(;;){if(t.lookahead<DM){if(XM(t),t.lookahead<DM&&e===wM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-DM&&(t.match_length=WM(t,r)),t.match_length>=3)if(i=yM(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+1]);else i=yM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(KM(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2},r_=(t,e)=>{let r,i,n;for(;;){if(t.lookahead<DM){if(XM(t),t.lookahead<DM&&e===wM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-DM&&(t.match_length=WM(t,r),t.match_length<=5&&(t.strategy===RM||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=yM(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=ZM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(KM(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=yM(t,0,t.window[t.strstart-1]),i&&KM(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=yM(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2};function i_(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}const n_=[new i_(0,0,0,0,t_),new i_(4,4,8,4,e_),new i_(4,5,16,8,e_),new i_(4,6,32,32,e_),new i_(4,4,16,16,r_),new i_(8,16,32,32,r_),new i_(8,16,128,128,r_),new i_(8,32,128,256,r_),new i_(32,128,258,1024,r_),new i_(32,258,258,4096,r_)];function o_(){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=$M,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(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),HM(this.dyn_ltree),HM(this.dyn_dtree),HM(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),HM(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),HM(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 s_=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==LM&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==FM&&e.status!==jM?1:0},a_=t=>{if(s_(t))return zM(t,xM);t.total_in=t.total_out=0,t.data_type=BM;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?LM:FM,t.adler=2===e.wrap?0:1,e.last_flush=-2,mM(e),AM},h_=t=>{const e=a_(t);return e===AM&&(t=>{t.window_size=2*t.w_size,HM(t.head),t.max_lazy_match=n_[t.level].max_lazy,t.good_match=n_[t.level].good_length,t.nice_match=n_[t.level].nice_length,t.max_chain_length=n_[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},u_=(t,e,r,i,n,o)=>{if(!t)return xM;let s=1;if(e===IM&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||r!==$M||i<8||i>15||e<0||e>9||o<0||o>PM||8===i&&1!==s)return zM(t,xM);8===i&&(i=9);const a=new o_;return t.state=a,a.strm=t,a.status=LM,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=e,a.strategy=o,a.method=r,h_(t)};var l_=(t,e)=>{if(s_(t)||e>EM||e<0)return t?zM(t,xM):xM;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===jM&&e!==_M)return zM(t,0===t.avail_out?SM:xM);const i=r.last_flush;if(r.last_flush=e,0!==r.pending){if(GM(t),0===t.avail_out)return r.last_flush=-1,AM}else if(0===t.avail_in&&qM(e)<=qM(i)&&e!==_M)return zM(t,SM);if(r.status===jM&&0!==t.avail_in)return zM(t,SM);if(r.status===LM&&0===r.wrap&&(r.status=FM),r.status===LM){let e=$M+(r.w_bits-8<<4)<<8,i=-1;if(i=r.strategy>=TM||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,QM(r,e),0!==r.strstart&&(QM(r,t.adler>>>16),QM(r,65535&t.adler)),t.adler=1,r.status=FM,GM(t),0!==r.pending)return r.last_flush=-1,AM}if(57===r.status)if(t.adler=0,JM(r,31),JM(r,139),JM(r,8),r.gzhead)JM(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),JM(r,255&r.gzhead.time),JM(r,r.gzhead.time>>8&255),JM(r,r.gzhead.time>>16&255),JM(r,r.gzhead.time>>24&255),JM(r,9===r.level?2:r.strategy>=TM||r.level<2?4:0),JM(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(JM(r,255&r.gzhead.extra.length),JM(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=cM(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(JM(r,0),JM(r,0),JM(r,0),JM(r,0),JM(r,0),JM(r,9===r.level?2:r.strategy>=TM||r.level<2?4:0),JM(r,3),r.status=FM,GM(t),0!==r.pending)return r.last_flush=-1,AM;if(69===r.status){if(r.gzhead.extra){let e=r.pending,i=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let n=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=cM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=n,GM(t),0!==r.pending)return r.last_flush=-1,AM;e=0,i-=n}let n=new Uint8Array(r.gzhead.extra);r.pending_buf.set(n.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>e&&(t.adler=cM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i)),GM(t),0!==r.pending)return r.last_flush=-1,AM;i=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,JM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i)),GM(t),0!==r.pending)return r.last_flush=-1,AM;i=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,JM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=cM(t.adler,r.pending_buf,r.pending-i,i))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(GM(t),0!==r.pending))return r.last_flush=-1,AM;JM(r,255&t.adler),JM(r,t.adler>>8&255),t.adler=0}if(r.status=FM,GM(t),0!==r.pending)return r.last_flush=-1,AM}if(0!==t.avail_in||0!==r.lookahead||e!==wM&&r.status!==jM){let i=0===r.level?t_(r,e):r.strategy===TM?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(XM(t),0===t.lookahead)){if(e===wM)return 1;break}if(t.match_length=0,r=yM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(KM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===CM?((t,e)=>{let r,i,n,o;const s=t.window;for(;;){if(t.lookahead<=UM){if(XM(t),t.lookahead<=UM&&e===wM)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){o=t.strstart+UM;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<o);t.match_length=UM-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=yM(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=yM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(KM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===_M?(KM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(KM(t,!1),0===t.strm.avail_out)?1:2})(r,e):n_[r.level].func(r,e);if(3!==i&&4!==i||(r.status=jM),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),AM;if(2===i&&(e===bM?vM(r):e!==EM&&(pM(r,0,0,!1),e===MM&&(HM(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),GM(t),0===t.avail_out))return r.last_flush=-1,AM}return e!==_M?AM:r.wrap<=0?kM:(2===r.wrap?(JM(r,255&t.adler),JM(r,t.adler>>8&255),JM(r,t.adler>>16&255),JM(r,t.adler>>24&255),JM(r,255&t.total_in),JM(r,t.total_in>>8&255),JM(r,t.total_in>>16&255),JM(r,t.total_in>>24&255)):(QM(r,t.adler>>>16),QM(r,65535&t.adler)),GM(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?AM:kM)},c_=(t,e)=>{let r=e.length;if(s_(t))return xM;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==LM||i.lookahead)return xM;if(1===n&&(t.adler=uM(t.adler,e,r,0)),i.wrap=0,r>=i.w_size){0===n&&(HM(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(r-i.w_size,r),0),e=t,r=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,XM(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=ZM(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,XM(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=n,AM},f_={deflateInit:(t,e)=>u_(t,e,$M,15,8,OM),deflateInit2:u_,deflateReset:h_,deflateResetKeep:a_,deflateSetHeader:(t,e)=>s_(t)||2!==t.state.wrap?xM:(t.state.gzhead=e,AM),deflate:l_,deflateEnd:t=>{if(s_(t))return xM;const e=t.state.status;return t.state=null,e===FM?zM(t,NM):AM},deflateSetDictionary:c_,deflateInfo:"pako deflate (from Nodeca project)"};const d_=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var m_=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)d_(r,e)&&(t[e]=r[e])}}return t},p_=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];r.set(n,i),i+=n.length}return r};let g_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){g_=!1}const y_=new Uint8Array(256);for(let t=0;t<256;t++)y_[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;y_[254]=y_[254]=1;var v_=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,i,n,o,s=t.length,a=0;for(n=0;n<s;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},w_=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const o=new Array(2*r);for(n=0,i=0;i<r;){let e=t[i++];if(e<128){o[n++]=e;continue}let s=y_[e];if(s>4)o[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<r;)e=e<<6|63&t[i++],s--;s>1?o[n++]=65533:e<65536?o[n++]=e:(e-=65536,o[n++]=55296|e>>10&1023,o[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&g_)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r})(o,n)},b_=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+y_[t[r]]>e?r:e};var M_=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const __=Object.prototype.toString,{Z_NO_FLUSH:E_,Z_SYNC_FLUSH:A_,Z_FULL_FLUSH:k_,Z_FINISH:x_,Z_OK:N_,Z_STREAM_END:S_,Z_DEFAULT_COMPRESSION:I_,Z_DEFAULT_STRATEGY:R_,Z_DEFLATED:T_}=dM;function C_(t){this.options=m_({level:I_,method:T_,chunkSize:16384,windowBits:15,memLevel:8,strategy:R_},t||{});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 M_,this.strm.avail_out=0;let r=f_.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==N_)throw new Error(fM[r]);if(e.header&&f_.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?v_(e.dictionary):"[object ArrayBuffer]"===__.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=f_.deflateSetDictionary(this.strm,t),r!==N_)throw new Error(fM[r]);this._dict_set=!0}}function P_(t,e){const r=new C_(e);if(r.push(t,!0),r.err)throw r.msg||fM[r.err];return r.result}C_.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize;let n,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?x_:E_,"string"==typeof t?r.input=v_(t):"[object ArrayBuffer]"===__.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(o===A_||o===k_)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(n=f_.deflate(r,o),n===S_)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),n=f_.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===N_;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},C_.prototype.onData=function(t){this.chunks.push(t)},C_.prototype.onEnd=function(t){t===N_&&(this.result=p_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var O_={Deflate:C_,deflate:P_,deflateRaw:function(t,e){return(e=e||{}).raw=!0,P_(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,P_(t,e)},constants:dM};const B_=16209;var $_=function(t,e){let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A,k;const x=t.state;r=t.next_in,A=t.input,i=r+(t.avail_in-5),n=t.next_out,k=t.output,o=n-(e-t.avail_out),s=n+(t.avail_out-257),a=x.dmax,h=x.wsize,u=x.whave,l=x.wnext,c=x.window,f=x.hold,d=x.bits,m=x.lencode,p=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=m[f&g];e:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,0===w)k[n++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(f&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=B_;break t}b=65535&v,w&=15,w&&(d<w&&(f+=A[r++]<<d,d+=8),b+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=p[f&y];r:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,!(16&w)){if(0==(64&w)){v=p[(65535&v)+(f&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=B_;break t}if(M=65535&v,w&=15,d<w&&(f+=A[r++]<<d,d+=8,d<w&&(f+=A[r++]<<d,d+=8)),M+=f&(1<<w)-1,M>a){t.msg="invalid distance too far back",x.mode=B_;break t}if(f>>>=w,d-=w,w=n-o,M>w){if(w=M-w,w>u&&x.sane){t.msg="invalid distance too far back",x.mode=B_;break t}if(_=0,E=c,0===l){if(_+=h-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}else if(l<w){if(_+=h+l-w,w-=l,w<b){b-=w;do{k[n++]=c[_++]}while(--w);if(_=0,l<b){w=l,b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}}else if(_+=l-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}for(;b>2;)k[n++]=E[_++],k[n++]=E[_++],k[n++]=E[_++],b-=3;b&&(k[n++]=E[_++],b>1&&(k[n++]=E[_++]))}else{_=n-M;do{k[n++]=k[_++],k[n++]=k[_++],k[n++]=k[_++],b-=3}while(b>2);b&&(k[n++]=k[_++],b>1&&(k[n++]=k[_++]))}break}}break}}while(r<i&&n<s);b=d>>3,r-=b,d-=b<<3,f&=(1<<d)-1,t.next_in=r,t.next_out=n,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=n<s?s-n+257:257-(n-s),x.hold=f,x.bits=d};const U_=15,D_=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]),L_=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]),F_=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]),j_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var z_=(t,e,r,i,n,o,s,a)=>{const h=a.bits;let u,l,c,f,d,m,p=0,g=0,y=0,v=0,w=0,b=0,M=0,_=0,E=0,A=0,k=null;const x=new Uint16Array(16),N=new Uint16Array(16);let S,I,R,T=null;for(p=0;p<=U_;p++)x[p]=0;for(g=0;g<i;g++)x[e[r+g]]++;for(w=h,v=U_;v>=1&&0===x[v];v--);if(w>v&&(w=v),0===v)return n[o++]=20971520,n[o++]=20971520,a.bits=1,0;for(y=1;y<v&&0===x[y];y++);for(w<y&&(w=y),_=1,p=1;p<=U_;p++)if(_<<=1,_-=x[p],_<0)return-1;if(_>0&&(0===t||1!==v))return-1;for(N[1]=0,p=1;p<U_;p++)N[p+1]=N[p]+x[p];for(g=0;g<i;g++)0!==e[r+g]&&(s[N[e[r+g]]++]=g);if(0===t?(k=T=s,m=20):1===t?(k=D_,T=L_,m=257):(k=F_,T=j_,m=0),A=0,g=0,p=y,d=o,b=w,M=0,c=-1,E=1<<w,f=E-1,1===t&&E>852||2===t&&E>592)return 1;for(;;){S=p-M,s[g]+1<m?(I=0,R=s[g]):s[g]>=m?(I=T[s[g]-m],R=k[s[g]-m]):(I=96,R=0),u=1<<p-M,l=1<<b,y=l;do{l-=u,n[d+(A>>M)+l]=S<<24|I<<16|R|0}while(0!==l);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,g++,0==--x[p]){if(p===v)break;p=e[r+s[g]]}if(p>w&&(A&f)!==c){for(0===M&&(M=w),d+=y,b=p-M,_=1<<b;b+M<v&&(_-=x[b+M],!(_<=0));)b++,_<<=1;if(E+=1<<b,1===t&&E>852||2===t&&E>592)return 1;c=A&f,n[c]=w<<24|b<<16|d-o|0}}return 0!==A&&(n[d+A]=p-M<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:q_,Z_BLOCK:H_,Z_TREES:V_,Z_OK:Z_,Z_STREAM_END:G_,Z_NEED_DICT:K_,Z_STREAM_ERROR:J_,Z_DATA_ERROR:Q_,Z_MEM_ERROR:Y_,Z_BUF_ERROR:W_,Z_DEFLATED:X_}=dM,tE=16180,eE=16190,rE=16191,iE=16192,nE=16194,oE=16199,sE=16200,aE=16206,hE=16209,uE=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function lE(){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 cE=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<tE||e.mode>16211?1:0},fE=t=>{if(cE(t))return J_;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=tE,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(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Z_},dE=t=>{if(cE(t))return J_;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,fE(t)},mE=(t,e)=>{let r;if(cE(t))return J_;const i=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?J_:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,dE(t))},pE=(t,e)=>{if(!t)return J_;const r=new lE;t.state=r,r.strm=t,r.window=null,r.mode=tE;const i=mE(t,e);return i!==Z_&&(t.state=null),i};let gE,yE,vE=!0;const wE=t=>{if(vE){gE=new Int32Array(512),yE=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(z_(1,t.lens,0,288,gE,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;z_(2,t.lens,0,32,yE,0,t.work,{bits:5}),vE=!1}t.lencode=gE,t.lenbits=9,t.distcode=yE,t.distbits=5},bE=(t,e,r,i)=>{let n;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>i&&(n=i),o.window.set(e.subarray(r-i,r-i+n),o.wnext),(i-=n)?(o.window.set(e.subarray(r-i,r),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0};var ME=(t,e)=>{let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A=0;const k=new Uint8Array(4);let x,N;const S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(cE(t)||!t.output||!t.input&&0!==t.avail_in)return J_;r=t.state,r.mode===rE&&(r.mode=iE),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,c=a,f=h,E=Z_;t:for(;;)switch(r.mode){case tE:if(0===r.wrap){r.mode=iE;break}for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=hE;break}if((15&u)!==X_){t.msg="unknown compression method",r.mode=hE;break}if(u>>>=4,l-=4,_=8+(15&u),0===r.wbits&&(r.wbits=_),_>15||_>r.wbits){t.msg="invalid window size",r.mode=hE;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&u?16189:rE,u=0,l=0;break;case 16181:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==X_){t.msg="unknown compression method",r.mode=hE;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=hE;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,k[2]=u>>>16&255,k[3]=u>>>24&255,r.check=cM(r.check,k,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=cM(r.check,k,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>a&&(d=a),d&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(i.subarray(o,o+d),_)),512&r.flags&&4&r.wrap&&(r.check=cM(r.check,i,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=cM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=cM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=hE;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=rE;break;case 16189:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}t.adler=r.check=uE(u),u=0,l=0,r.mode=eE;case eE:if(0===r.havedict)return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,K_;t.adler=r.check=1,r.mode=rE;case rE:if(e===H_||e===V_)break t;case iE:if(r.last){u>>>=7&l,l-=7&l,r.mode=aE;break}for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(wE(r),r.mode=oE,e===V_){u>>>=2,l-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=hE}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=hE;break}if(r.length=65535&u,u=0,l=0,r.mode=nE,e===V_)break t;case nE:r.mode=16195;case 16195:if(d=r.length,d){if(d>a&&(d=a),d>h&&(d=h),0===d)break t;n.set(i.subarray(o,o+d),s),a-=d,o+=d,h-=d,s+=d,r.length-=d;break}r.mode=rE;break;case 16196:for(;l<14;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=hE;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.lens[S[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},E=z_(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid code lengths set",r.mode=hE;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(v<16)u>>>=g,l-=g,r.lens[r.have++]=v;else{if(16===v){for(N=g+2;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(u>>>=g,l-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=hE;break}_=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===v){for(N=g+3;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=3+(7&u),u>>>=3,l-=3}else{for(N=g+7;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=11+(127&u),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=hE;break}for(;d--;)r.lens[r.have++]=_}}if(r.mode===hE)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=hE;break}if(r.lenbits=9,x={bits:r.lenbits},E=z_(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid literal/lengths set",r.mode=hE;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},E=z_(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,E){t.msg="invalid distances set",r.mode=hE;break}if(r.mode=oE,e===V_)break t;case oE:r.mode=sE;case sE:if(a>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,$_(t,f),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,r.mode===rE&&(r.back=-1);break}for(r.back=0;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(y&&0==(240&y)){for(w=g,b=y,M=v;A=r.lencode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,r.length=v,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=rE;break}if(64&y){t.msg="invalid literal/length code",r.mode=hE;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;A=r.distcode[u&(1<<r.distbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(0==(240&y)){for(w=g,b=y,M=v;A=r.distcode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=hE;break}r.offset=v,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=hE;break}r.mode=16204;case 16204:if(0===h)break t;if(d=f-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=hE;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=n,m=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{n[s++]=p[m++]}while(--d);0===r.length&&(r.mode=sE);break;case 16205:if(0===h)break t;n[s++]=r.length,h--,r.mode=sE;break;case aE:if(r.wrap){for(;l<32;){if(0===a)break t;a--,u|=i[o++]<<l,l+=8}if(f-=h,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?cM(r.check,n,f,s-f):uM(r.check,n,f,s-f)),f=h,4&r.wrap&&(r.flags?u:uE(u))!==r.check){t.msg="incorrect data check",r.mode=hE;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=hE;break}u=0,l=0}r.mode=16208;case 16208:E=G_;break t;case hE:E=Q_;break t;case 16210:return Y_;default:return J_}return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,(r.wsize||f!==t.avail_out&&r.mode<hE&&(r.mode<aE||e!==q_))&&bE(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?cM(r.check,n,f,t.next_out-f):uM(r.check,n,f,t.next_out-f)),t.data_type=r.bits+(r.last?64:0)+(r.mode===rE?128:0)+(r.mode===oE||r.mode===nE?256:0),(0===c&&0===f||e===q_)&&E===Z_&&(E=W_),E},_E={inflateReset:dE,inflateReset2:mE,inflateResetKeep:fE,inflateInit:t=>pE(t,15),inflateInit2:pE,inflate:ME,inflateEnd:t=>{if(cE(t))return J_;let e=t.state;return e.window&&(e.window=null),t.state=null,Z_},inflateGetHeader:(t,e)=>{if(cE(t))return J_;const r=t.state;return 0==(2&r.wrap)?J_:(r.head=e,e.done=!1,Z_)},inflateSetDictionary:(t,e)=>{const r=e.length;let i,n,o;return cE(t)?J_:(i=t.state,0!==i.wrap&&i.mode!==eE?J_:i.mode===eE&&(n=1,n=uM(n,e,r,0),n!==i.check)?Q_:(o=bE(t,e,r,r),o?(i.mode=16210,Y_):(i.havedict=1,Z_)))},inflateInfo:"pako inflate (from Nodeca project)"};var EE=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const AE=Object.prototype.toString,{Z_NO_FLUSH:kE,Z_FINISH:xE,Z_OK:NE,Z_STREAM_END:SE,Z_NEED_DICT:IE,Z_STREAM_ERROR:RE,Z_DATA_ERROR:TE,Z_MEM_ERROR:CE}=dM;function PE(t){this.options=m_({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new M_,this.strm.avail_out=0;let r=_E.inflateInit2(this.strm,e.windowBits);if(r!==NE)throw new Error(fM[r]);if(this.header=new EE,_E.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=v_(e.dictionary):"[object ArrayBuffer]"===AE.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=_E.inflateSetDictionary(this.strm,e.dictionary),r!==NE)))throw new Error(fM[r])}function OE(t,e){const r=new PE(e);if(r.push(t),r.err)throw r.msg||fM[r.err];return r.result}PE.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?xE:kE,"[object ArrayBuffer]"===AE.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),o=_E.inflate(r,s),o===IE&&n&&(o=_E.inflateSetDictionary(r,n),o===NE?o=_E.inflate(r,s):o===TE&&(o=IE));r.avail_in>0&&o===SE&&r.state.wrap>0&&0!==t[r.next_in];)_E.inflateReset(r),o=_E.inflate(r,s);switch(o){case RE:case TE:case IE:case CE:return this.onEnd(o),this.ended=!0,!1}if(a=r.avail_out,r.next_out&&(0===r.avail_out||o===SE))if("string"===this.options.to){let t=b_(r.output,r.next_out),e=r.next_out-t,n=w_(r.output,t);r.next_out=e,r.avail_out=i-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==NE||0!==a){if(o===SE)return o=_E.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},PE.prototype.onData=function(t){this.chunks.push(t)},PE.prototype.onEnd=function(t){t===NE&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=p_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var BE={Inflate:PE,inflate:OE,inflateRaw:function(t,e){return(e=e||{}).raw=!0,OE(t,e)},ungzip:OE,constants:dM};const{Deflate:$E,deflate:UE,deflateRaw:DE,gzip:LE}=O_,{Inflate:FE,inflate:jE,inflateRaw:zE,ungzip:qE}=BE;var HE=LE,VE=qE,ZE="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==$&&$||{},GE="URLSearchParams"in ZE,KE="Symbol"in ZE&&"iterator"in Symbol,JE="FileReader"in ZE&&"Blob"in ZE&&function(){try{return new Blob,!0}catch(t){return!1}}(),QE="FormData"in ZE,YE="ArrayBuffer"in ZE;if(YE)var WE=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],XE=ArrayBuffer.isView||function(t){return t&&WE.indexOf(Object.prototype.toString.call(t))>-1};function tA(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function eA(t){return"string"!=typeof t&&(t=String(t)),t}function rA(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return KE&&(e[Symbol.iterator]=function(){return e}),e}function iA(t){this.map={},t instanceof iA?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function nA(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function oA(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function sA(t){var e=new FileReader,r=oA(e);return e.readAsArrayBuffer(t),r}function aA(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function hA(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:JE&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:QE&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:GE&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():YE&&JE&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=aA(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):YE&&(ArrayBuffer.prototype.isPrototypeOf(t)||XE(t))?this._bodyArrayBuffer=aA(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):GE&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},JE&&(this.blob=function(){var t=nA(this);if(t)return t;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(){if(this._bodyArrayBuffer){var t=nA(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(JE)return this.blob().then(sA);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,i,n,o=nA(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=oA(e),i=/charset=([A-Za-z0-9_-]+)/.exec(t.type),n=i?i[1]:"utf-8",e.readAsText(t,n),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),i=0;i<e.length;i++)r[i]=String.fromCharCode(e[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},QE&&(this.formData=function(){return this.text().then(cA)}),this.json=function(){return this.text().then(JSON.parse)},this}iA.prototype.append=function(t,e){t=tA(t),e=eA(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},iA.prototype.delete=function(t){delete this.map[tA(t)]},iA.prototype.get=function(t){return t=tA(t),this.has(t)?this.map[t]:null},iA.prototype.has=function(t){return this.map.hasOwnProperty(tA(t))},iA.prototype.set=function(t,e){this.map[tA(t)]=eA(e)},iA.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},iA.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),rA(t)},iA.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),rA(t)},iA.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),rA(t)},KE&&(iA.prototype[Symbol.iterator]=iA.prototype.entries);var uA=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function lA(t,e){if(!(this instanceof lA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(e=e||{}).body;if(t instanceof lA){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new iA(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new iA(e.headers)),this.method=(r=e.method||this.method||"GET",i=r.toUpperCase(),uA.indexOf(i)>-1?i:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in ZE)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function cA(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),i=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(n))}})),e}function fA(t,e){if(!(this instanceof fA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new iA(e.headers),this.url=e.url||"",this._initBody(t)}lA.prototype.clone=function(){return new lA(this,{body:this._bodyInit})},hA.call(lA.prototype),hA.call(fA.prototype),fA.prototype.clone=function(){return new fA(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new iA(this.headers),url:this.url})},fA.error=function(){var t=new fA(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var dA=[301,302,303,307,308];fA.redirect=function(t,e){if(-1===dA.indexOf(e))throw new RangeError("Invalid status code");return new fA(null,{status:e,headers:{location:t}})};var mA=ZE.DOMException;try{new mA}catch(zM){mA=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},mA.prototype=Object.create(Error.prototype),mA.prototype.constructor=mA}function pA(t,e){return new Promise((function(r,i){var n=new lA(t,e);if(n.signal&&n.signal.aborted)return i(new mA("Aborted","AbortError"));var o=new XMLHttpRequest;function s(){o.abort()}if(o.onload=function(){var t,e,i={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new iA,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),i=r.shift().trim();if(i){var n=r.join(":").trim();try{e.append(i,n)}catch(t){console.warn("Response "+t.message)}}})),e)};0===n.url.indexOf("file://")&&(o.status<200||o.status>599)?i.status=200:i.status=o.status,i.url="responseURL"in o?o.responseURL:i.headers.get("X-Request-URL");var s="response"in o?o.response:o.responseText;setTimeout((function(){r(new fA(s,i))}),0)},o.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){i(new mA("Aborted","AbortError"))}),0)},o.open(n.method,function(t){try{return""===t&&ZE.location.href?ZE.location.href:t}catch(e){return t}}(n.url),!0),"include"===n.credentials?o.withCredentials=!0:"omit"===n.credentials&&(o.withCredentials=!1),"responseType"in o&&(JE?o.responseType="blob":YE&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof iA||ZE.Headers&&e.headers instanceof ZE.Headers)){var a=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){a.push(tA(t)),o.setRequestHeader(t,eA(e.headers[t]))})),n.headers.forEach((function(t,e){-1===a.indexOf(e)&&o.setRequestHeader(e,t)}))}else n.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));n.signal&&(n.signal.addEventListener("abort",s),o.onreadystatechange=function(){4===o.readyState&&n.signal.removeEventListener("abort",s)}),o.send(void 0===n._bodyInit?null:n._bodyInit)}))}pA.polyfill=!0,ZE.fetch||(ZE.fetch=pA,ZE.Headers=iA,ZE.Request=lA,ZE.Response=fA);var gA=self.fetch.bind(self),yA=o((function(t){var e,i;e=r,i=function(){function t(t){var e=[];if(0===t.length)return"";if("string"!=typeof t[0])throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i<t.length;i++){var n=t[i];if("string"!=typeof n)throw new TypeError("Url must be a string. Received "+n);""!==n&&(i>0&&(n=n.replace(/^[\/]+/,"")),n=i<t.length-1?n.replace(/[\/]+$/,""):n.replace(/[\/]+$/,"/"),e.push(n))}var o=e.join("/"),s=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=s.shift()+(s.length>0?"?":"")+s.join("&")}return function(){return t("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},t.exports?t.exports=i():e.urljoin=i()})),vA=Object.defineProperty,wA=(t,e)=>{for(var r in e)vA(t,r,{get:e[r],enumerable:!0})};wA({},{ADDR_BOUND:()=>VA,API_VERSION:()=>qA,BN_FEE_TRANSACTION_VERSION_1:()=>LA,BN_FEE_TRANSACTION_VERSION_2:()=>FA,BN_TRANSACTION_VERSION_1:()=>UA,BN_TRANSACTION_VERSION_2:()=>DA,BaseUrl:()=>ZA,HEX_STR_TRANSACTION_VERSION_1:()=>BA,HEX_STR_TRANSACTION_VERSION_2:()=>$A,IS_BROWSER:()=>bA,MASK_250:()=>zA,MAX_STORAGE_ITEM_SIZE:()=>HA,NetworkName:()=>GA,RPC_DEFAULT_VERSION:()=>YA,RPC_NODES:()=>WA,StarknetChainId:()=>KA,TEXT_TO_FELT_MAX_LEN:()=>OA,TransactionHashPrefix:()=>JA,UDC:()=>QA,ZERO:()=>jA});wA({},{IS_BROWSER:()=>bA,addHexPrefix:()=>SA,arrayBufferToString:()=>MA,atobUniversal:()=>AA,btoaUniversal:()=>kA,buf2hex:()=>xA,calcByteLength:()=>RA,padLeft:()=>IA,pascalToSnake:()=>PA,removeHexPrefix:()=>NA,sanitizeBytes:()=>TA,sanitizeHex:()=>CA,stringToArrayBuffer:()=>EA,utf8ToArray:()=>_A});var bA="undefined"!=typeof window;function MA(t){return new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),"")}function _A(t){return(new TextEncoder).encode(t)}function EA(t){return _A(t)}function AA(t){return Og.decode(t)}function kA(t){return Og.encode(new Uint8Array(t))}function xA(t){return t.reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}function NA(t){return t.replace(/^0x/i,"")}function SA(t){return`0x${NA(t)}`}function IA(t,e,r="0"){return function(t,e,r,i="0"){const n=e-t.length;let o=t;if(n>0){const e=i.repeat(n);o=r?e+t:t+e}return o}(t,e,!0,r)}function RA(t,e=8){const{length:r}=t,i=r%e;return i?(r-i)/e*e+e:r}function TA(t,e=8,r="0"){return IA(t,RA(t,e),r)}function CA(t){return(t=TA(t=NA(t),2))&&(t=SA(t)),t}var PA=t=>/[a-z]/.test(t)?t.split(/(?=[A-Z])/).join("_").toUpperCase():t,OA=31,BA="0x1",$A="0x2",UA=1n,DA=2n,LA=2n**128n+UA,FA=2n**128n+DA,jA=0n,zA=2n**250n-1n,qA=jA,HA=256n,VA=2n**251n-HA,ZA=(t=>(t.SN_MAIN="https://alpha-mainnet.starknet.io",t.SN_GOERLI="https://alpha4.starknet.io",t.SN_SEPOLIA="https://alpha-sepolia.starknet.io",t))(ZA||{}),GA=(t=>(t.SN_MAIN="SN_MAIN",t.SN_GOERLI="SN_GOERLI",t.SN_SEPOLIA="SN_SEPOLIA",t))(GA||{}),KA=(t=>(t.SN_MAIN="0x534e5f4d41494e",t.SN_GOERLI="0x534e5f474f45524c49",t.SN_SEPOLIA="0x534e5f5345504f4c4941",t))(KA||{}),JA=(t=>(t.DECLARE="0x6465636c617265",t.DEPLOY="0x6465706c6f79",t.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",t.INVOKE="0x696e766f6b65",t.L1_HANDLER="0x6c315f68616e646c6572",t))(JA||{}),QA={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},YA="v0_5",WA={SN_GOERLI:["https://starknet-testnet.public.blastapi.io/rpc/","https://free-rpc.nethermind.io/goerli-juno/"],SN_MAIN:["https://starknet-mainnet.public.blastapi.io/rpc/","https://free-rpc.nethermind.io/mainnet-juno/"],SN_SEPOLIA:["https://starknet-sepolia.public.blastapi.io/rpc/","https://free-rpc.nethermind.io/sepolia-juno/"]};wA({},{BlockStatus:()=>hk,BlockTag:()=>uk,EntryPointType:()=>ik,Literal:()=>rk,RPC:()=>ck,SIMULATION_FLAG:()=>XA,Sequencer:()=>_k,TransactionExecutionStatus:()=>ak,TransactionFinalityStatus:()=>sk,TransactionStatus:()=>ok,TransactionType:()=>nk,TypedDataRevision:()=>lk,Uint:()=>ek,ValidateType:()=>tk});var XA=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_EXECUTE="SKIP_EXECUTE",t))(XA||{}),tk=(t=>(t.DEPLOY="DEPLOY",t.CALL="CALL",t.INVOKE="INVOKE",t))(tk||{}),ek=(t=>(t.u8="core::integer::u8",t.u16="core::integer::u16",t.u32="core::integer::u32",t.u64="core::integer::u64",t.u128="core::integer::u128",t.u256="core::integer::u256",t))(ek||{}),rk=(t=>(t.ClassHash="core::starknet::class_hash::ClassHash",t.ContractAddress="core::starknet::contract_address::ContractAddress",t))(rk||{}),ik=(t=>(t.EXTERNAL="EXTERNAL",t.L1_HANDLER="L1_HANDLER",t.CONSTRUCTOR="CONSTRUCTOR",t))(ik||{}),nk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE_FUNCTION",t))(nk||{}),ok=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.REJECTED="REJECTED",t.REVERTED="REVERTED",t))(ok||{}),sk=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(sk||{}),ak=(t=>(t.REJECTED="REJECTED",t.REVERTED="REVERTED",t.SUCCEEDED="SUCCEEDED",t))(ak||{}),hk=(t=>(t.PENDING="PENDING",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.REJECTED="REJECTED",t))(hk||{}),uk=(t=>(t.pending="pending",t.latest="latest",t))(uk||{}),lk=(t=>(t.Active="1",t.Legacy="0",t))(lk||{}),ck={};wA(ck,{EBlockTag:()=>bk,EDataAvailabilityMode:()=>Mk,ESimulationFlag:()=>gk,ETransactionExecutionStatus:()=>wk,ETransactionFinalityStatus:()=>vk,ETransactionStatus:()=>yk,ETransactionType:()=>pk,Errors:()=>dk,JRPC:()=>fk,SPEC:()=>mk});var fk={},dk={},mk={},pk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE",t.L1_HANDLER="L1_HANDLER",t))(pk||{}),gk=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_FEE_CHARGE="SKIP_FEE_CHARGE",t))(gk||{}),yk=(t=>(t.RECEIVED="RECEIVED",t.REJECTED="REJECTED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(yk||{}),vk=(t=>(t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(vk||{}),wk=(t=>(t.SUCCEEDED="SUCCEEDED",t.REVERTED="REVERTED",t))(wk||{}),bk=(t=>(t.LATEST="latest",t.PENDING="pending",t))(bk||{}),Mk=(t=>(t.L1="L1",t.L2="L2",t))(Mk||{}),_k={};function Ek(t,e){if(!t)throw new Error(e||"Assertion failure")}function Ak(t){return/^0x[0-9a-f]*$/i.test(t)}function kk(t){return BigInt(t)}function xk(t){return"bigint"==typeof t}function Nk(t){return SA(kk(t).toString(16))}wA({},{assertInRange:()=>Ck,bigNumberishArrayToDecimalStringArray:()=>Pk,bigNumberishArrayToHexadecimalStringArray:()=>Ok,cleanHex:()=>Tk,getDecimalString:()=>$k,getHexString:()=>Uk,getHexStringArray:()=>Dk,hexToBytes:()=>Fk,hexToDecimalString:()=>Rk,isBigInt:()=>xk,isHex:()=>Ak,isStringWholeNumber:()=>Bk,toBigInt:()=>kk,toCairoBool:()=>Lk,toHex:()=>Nk,toHexString:()=>Sk,toStorageKey:()=>Ik});var Sk=Nk;function Ik(t){return SA(kk(t).toString(16).padStart(64,"0"))}function Rk(t){return BigInt(SA(t)).toString(10)}var Tk=t=>t.toLowerCase().replace(/^(0x)0+/,"$1");function Ck(t,e,r,i=""){const n=""===i?"invalid length":`invalid ${i} length`,o=BigInt(t),s=BigInt(e),a=BigInt(r);Ek(o>=s&&o<=a,`Message not signable, ${n}.`)}function Pk(t){return t.map((t=>kk(t).toString(10)))}function Ok(t){return t.map((t=>Nk(t)))}var Bk=t=>/^\d+$/.test(t);function $k(t){if(Ak(t))return Rk(t);if(Bk(t))return t;throw new Error(`${t} need to be hex-string or whole-number-string`)}function Uk(t){if(Ak(t))return t;if(Bk(t))return Sk(t);throw new Error(`${t} need to be hex-string or whole-number-string`)}function Dk(t){return t.map((t=>Uk(t)))}var Lk=t=>(+t).toString();function Fk(t){if(!Ak(t))throw new Error(`${t} need to be a hex-string`);let e=NA(t);return e.length%2!=0&&(e=`0${e}`),Qg(e)}function jk(t){const e=NA(Nk(BigInt(t))),r=e.length%2==0?e:`0${e}`;return SA(hw(Fk(SA(r))).toString(16))}function zk(t){const e=BigInt(function(t){return SA(hw(_A(t)).toString(16))}(t));return e&zA}function qk(t){return Nk(zk(t))}function Hk(t){return Ak(t)?t:Bk(t)?Sk(t):qk(t)}wA({},{getSelector:()=>Hk,getSelectorFromName:()=>qk,keccakBn:()=>jk,starknetKeccak:()=>zk});function Vk(t){return/^[\x00-\x7F]*$/.test(t)}function Zk(t){return t.length<=OA}function Gk(t){return/^[0-9]*$/i.test(t)}function Kk(t){return"string"==typeof t&&!Ak(t)&&!Bk(t)}wA({},{decodeShortString:()=>Xk,encodeShortString:()=>Wk,isASCII:()=>Vk,isDecimalString:()=>Gk,isLongText:()=>Qk,isShortString:()=>Zk,isShortText:()=>Jk,isText:()=>Kk,splitLongString:()=>Yk});var Jk=t=>Kk(t)&&Zk(t),Qk=t=>Kk(t)&&!Zk(t);function Yk(t){const e=RegExp(`[^]{1,${OA}}`,"g");return t.match(e)||[]}function Wk(t){if(!Vk(t))throw new Error(`${t} is not an ASCII string`);if(!Zk(t))throw new Error(`${t} is too long`);return SA(t.replace(/./g,(t=>t.charCodeAt(0).toString(16))))}function Xk(t){if(!Vk(t))throw new Error(`${t} is not an ASCII string`);if(Ak(t))return NA(t).replace(/.{2}/g,(t=>String.fromCharCode(parseInt(t,16))));if(Gk(t))return Xk("0X".concat(BigInt(t).toString(16)));throw new Error(`${t} is not Hex or decimal`)}var tx={};wA(tx,{felt:()=>Nx,getAbiContractVersion:()=>Ax,getArrayType:()=>_x,isCairo1Abi:()=>Ex,isCairo1Type:()=>Mx,isLen:()=>sx,isTypeArray:()=>hx,isTypeBool:()=>vx,isTypeContractAddress:()=>wx,isTypeEnum:()=>fx,isTypeEthAddress:()=>bx,isTypeFelt:()=>ax,isTypeLiteral:()=>gx,isTypeNamedTuple:()=>lx,isTypeOption:()=>dx,isTypeResult:()=>mx,isTypeStruct:()=>cx,isTypeTuple:()=>ux,isTypeUint:()=>px,isTypeUint256:()=>yx,tuple:()=>xx,uint256:()=>kx});wA({},{UINT_128_MAX:()=>ex,UINT_256_MAX:()=>rx,bnToUint256:()=>ox,isUint256:()=>nx,uint256ToBN:()=>ix});var ex=(1n<<128n)-1n,rx=(1n<<256n)-1n;function ix(t){return(kk(t.high)<<128n)+kk(t.low)}function nx(t){return kk(t)<=rx}function ox(t){const e=kk(t);if(!nx(e))throw new Error("Number is too large");return{low:SA((e&ex).toString(16)),high:SA((e>>128n).toString(16))}}var sx=t=>/_len$/.test(t),ax=t=>"felt"===t||"core::felt252"===t,hx=t=>/\*/.test(t)||t.startsWith("core::array::Array::")||t.startsWith("core::array::Span::"),ux=t=>/^\(.*\)$/i.test(t),lx=t=>/\(.*\)/i.test(t)&&t.includes(":"),cx=(t,e)=>t in e,fx=(t,e)=>t in e,dx=t=>t.startsWith("core::option::Option::"),mx=t=>t.startsWith("core::result::Result::"),px=t=>Object.values(ek).includes(t),gx=t=>Object.values(rk).includes(t),yx=t=>"core::integer::u256"===t,vx=t=>"core::bool"===t,wx=t=>"core::starknet::contract_address::ContractAddress"===t,bx=t=>"core::starknet::eth_address::EthAddress"===t,Mx=t=>t.includes("::"),_x=t=>Mx(t)?t.substring(t.indexOf("<")+1,t.lastIndexOf(">")):t.replace("*","");function Ex(t){const{cairo:e}=Ax(t);if(void 0===e)throw Error("Unable to determine Cairo version");return"1"===e}function Ax(t){if(t.find((t=>"interface"===t.type)))return{cairo:"1",compiler:"2"};const e=t.find((t=>"function"===t.type&&(t.inputs.length||t.outputs.length)));if(!e)return{cairo:void 0,compiler:void 0};const r=e.inputs.length?e.inputs:e.outputs;return Mx(r[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var kx=t=>{const e=BigInt(t);if(!nx(e))throw new Error("Number is too large");return{low:(e&ex).toString(10),high:(e>>128n).toString(10)}},xx=(...t)=>({...t});function Nx(t){if(xk(t)||"number"==typeof t&&Number.isInteger(t))return t.toString();if(Kk(t)){if(!Zk(t))throw new Error(`${t} is a long string > 31 chars, felt can store short strings, split it to array of short strings`);const e=Wk(t);return BigInt(e).toString()}if("string"==typeof t&&Ak(t))return BigInt(t).toString();if("string"==typeof t&&Bk(t))return t;if("boolean"==typeof t)return""+ +t;throw new Error(`${t} can't be computed by felt()`)}var Sx=class{variant;constructor(t){const e=Object.values(t);if(0===e.length)throw new Error("This Enum must have at least 1 variant");if(1!==e.filter((t=>void 0!==t)).length)throw new Error("This Enum must have exactly one active variant");this.variant=t}unwrap(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));if(void 0!==t)return t[1]}activeVariant(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));return void 0===t?"":t[0]}},Ix=(t=>(t[t.Some=0]="Some",t[t.None=1]="None",t))(Ix||{}),Rx=class{Some;None;constructor(t,e){if(!(t in Ix))throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");if(0===t){if(void 0===e)throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=e,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){if(!this.None)return this.Some}isSome(){return!(void 0===this.Some)}isNone(){return!0===this.None}},Tx=(t=>(t[t.Ok=0]="Ok",t[t.Err=1]="Err",t))(Tx||{}),Cx=class{Ok;Err;constructor(t,e){if(!(t in Tx))throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");0===t?(this.Ok=e,this.Err=void 0):(this.Ok=void 0,this.Err=e)}unwrap(){if(void 0!==this.Ok)return this.Ok;if(void 0!==this.Err)return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!(void 0===this.Ok)}isErr(){return!(void 0===this.Err)}},Px=(t,e,r)=>{if(!xk(t[r]))throw new Error(`Data and formatter mismatch on ${r}:${e[r]}, expected response data ${r}:${t[r]} to be BN instead it is ${typeof t[r]}`)},Ox=(t,e,r)=>{throw new Error(`Unhandled formatter type on ${r}:${e[r]} for data ${r}:${t[r]}`)};function Bx(t,e,r){return Object.entries(t).reduce(((i,[n,o])=>{const s=r??e[n];if(!(n in e)&&!r)return i[n]=o,i;if("string"===s){if(Array.isArray(t[n])){const e=Bx(t[n],t[n].map((t=>s)));return i[n]=Object.values(e).join(""),i}return Px(t,e,n),i[n]=Xk(o),i}if("number"===s)return Px(t,e,n),i[n]=Number(o),i;if("function"==typeof s)return i[n]=s(o),i;if(Array.isArray(s)){const e=Bx(t[n],s,s[0]);return i[n]=Object.values(e),i}return"object"==typeof s?(i[n]=Bx(t[n],s),i):(Ox(t,e,n),i)}),{})}function $x(t){const e=function(t){return t.find((t=>"interface"===t.type))?2:Ex(t)?1:0}(t);if(0===e||1===e)return new class{abi;constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.reduce(((t,e)=>sx(e.name)?t:t+1),0)}getMethod(t){return this.abi.find((e=>e.name===t))}getLegacyFormat(){return this.abi}}(t);if(2===e)return new class{abi;constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.length}getMethod(t){return this.abi.find((t=>"interface"===t.type)).items.find((e=>e.name===t))}getLegacyFormat(){return this.abi.flatMap((t=>"interface"===t.type?t.items:t))}}(t);throw Error(`Unsupported ABI version ${e}`)}function Ux(t,e,r){return"constructor"===t&&!r&&!e.length}function Dx(t){if(!t.includes("("))return{subTuple:[],result:t};const e=[];let r="",i=0;for(;i<t.length;){if("("===t[i]){let n=1;const o=i;for(i++;n;)")"===t[i]&&n--,"("===t[i]&&n++,i++;e.push(t.substring(o,i)),r+=" ",i--}else r+=t[i];i++}return{subTuple:e,result:r}}function Lx(t){return Mx(t)?function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Dx(e);return i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t))}(t):function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Dx(e);let n=i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t));return lx(t)&&(n=n.reduce(((t,e)=>t.concat(function(t){const e=t.substring(0,t.indexOf(":"));return{name:e,type:t.substring(e.length+":".length)}}(e))),[])),n}(t)}function Fx(t,e,r,i){const n=(t,e)=>{if(hx(e))return function(t,e){const r=_x(e);if("string"==typeof t)return t;return t.map((t=>n(t,r)))}(t,e);if(fx(e,i)){const r=i[e];return s(t,r)}if(ux(e))return function(t,e){const r=Lx(e).reduce(((e,r,i)=>{const o=Object.keys(t),s=r=>Object.defineProperty(e,i.toString(),{enumerable:!0,value:r??t[o[i]]}),a=r?.type?r.type:r;return s(n(t[o[i]],a)),e}),{});return r}(t,e);if(bx(e))return t;if(yx(e)){const r=t;if("object"!=typeof r)return r;if(!("low"in r)||!("high"in r))throw function(t){return Error(`Your object includes the property : ${t}, containing an Uint256 object without the 'low' and 'high' keys.`)}(e);return{low:r.low,high:r.high}}if(cx(e,r)){const i=r[e].members;return o(t,i)}return t},o=(t,e)=>e.reduce(((e,r)=>{if("undefined"===t[r.name]&&(Mx(r.type)||!sx(r.name)))throw Error(`Your object needs a property with key : ${r.name} .`);var i;return i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i??t[r.name]}),e}),{});const s=(t,e)=>{if(mx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(",")),o=e.name.substring(e.name.indexOf(",")+1,e.name.lastIndexOf(">"));return r.isOk()?new Cx(0,n(t.unwrap(),i)):new Cx(1,n(t.unwrap(),o))}if(dx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(">"));return r.isSome()?new Rx(0,n(r.unwrap(),i)):new Rx(1,{})}const r=t,i=Object.entries(r.variant).map((t=>{if(void 0===t[1])return t;const i=e.type.substring(e.type.lastIndexOf("<")+1,e.type.lastIndexOf(">"));return"()"===i?t:[t[0],n(r.unwrap(),i)]}));return new Sx(Object.fromEntries(i))};return e.reduce(((e,r)=>{return sx(r.name)&&!Mx(r.type)||(i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i})),e;var i}),{})}function jx(t,e){if(!0===yx(t)){const t=kx(e);return[Nx(t.low),Nx(t.high)]}return Nx(e)}function zx(t){if("object"==typeof t){const{low:e,high:r}=t;return[Nx(e),Nx(r)]}const e=kx(t);return[Nx(e.low),Nx(e.high)]}function qx(t,e,r,i){if(void 0===t)throw Error(`Missing parameter for type ${e}`);if(Array.isArray(t)){const n=[];n.push(Nx(t.length));const o=_x(e);return t.reduce(((t,e)=>t.concat(qx(e,o,r,i))),n)}if(r[e]&&r[e].members.length){if(yx(e))return zx(t);if("core::starknet::eth_address::EthAddress"===e)return jx(e,t);const{members:n}=r[e],o=t;return n.reduce(((t,e)=>t.concat(qx(o[e.name],e.type,r,i))),[])}if(ux(e)){const n=function(t,e){const r=Lx(e),i=Object.values(t);if(i.length!==r.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.\n provided: ${i} \n expected: ${r}`);return r.map(((t,e)=>({element:i[e],type:t.type??t})))}(t,e);return n.reduce(((t,e)=>{const n=qx(e.element,e.type,r,i);return t.concat(n)}),[])}if(yx(e))return zx(t);if(fx(e,i)){const{variants:n}=i[e];if(dx(e)){const e=t;if(e.isSome()){const t=n.find((t=>"Some"===t.name));if(void 0===t)throw Error("Error in abi : Option has no 'Some' variant.");const o=t.type;if("()"===o)return(0).toString();const s=qx(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}return 1..toString()}if(mx(e)){const e=t;if(e.isOk()){const t=n.find((t=>"Ok"===t.name));if(void 0===t)throw Error("Error in abi : Result has no 'Ok' variant.");const o=t.type;if("()"===o)return(0).toString();const s=qx(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}const o=n.find((t=>"Err"===t.name));if(void 0===o)throw Error("Error in abi : Result has no 'Err' variant.");const s=o.type;if("()"===s)return 1..toString();const a=qx(e.unwrap(),s,r,i);return Array.isArray(a)?[1..toString(),...a]:[1..toString(),a]}const o=t,s=o.activeVariant(),a=n.find((t=>t.name===s));if(void 0===a)throw Error(`Not find in abi : Enum has no '${s}' variant.`);const h=a.type,u=n.findIndex((t=>t.name===s));if("()"===h)return u.toString();const l=qx(o.unwrap(),h,r,i);return Array.isArray(l)?[u.toString(),...l]:[u.toString(),l]}if("object"==typeof t)throw Error(`Parameter ${t} do not align with abi parameter ${e}`);return jx(e,t)}function Hx(t,e){let r;switch(!0){case vx(t):return r=e.next().value,Boolean(BigInt(r));case yx(t):return ix({low:e.next().value,high:e.next().value});default:return r=e.next().value,BigInt(r)}}function Vx(t,e,r,i){if("()"===e.type)return{};if(yx(e.type)){return ix({low:t.next().value,high:t.next().value})}if(hx(e.type)){const n=[],o={name:"",type:_x(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Vx(t,o,r,i));return n}if(r&&e.type in r&&r[e.type])return"core::starknet::eth_address::EthAddress"===e.type?Hx(e.type,t):r[e.type].members.reduce(((e,n)=>(e[n.name]=Vx(t,n,r,i),e)),{});if(i&&e.type in i&&i[e.type]){const n=Number(t.next().value),o=i[e.type].variants.reduce(((e,o,s)=>s===n?(e[o.name]=Vx(t,{name:"",type:o.type},r,i),e):(e[o.name]=void 0,e)),{});if(e.type.startsWith("core::option::Option")){const t=0===n?o.Some:void 0;return new Rx(n,t)}if(e.type.startsWith("core::result::Result")){let t;return t=0===n?o.Ok:o.Err,new Cx(n,t)}return new Sx(o)}if(ux(e.type)){return Lx(e.type).reduce(((e,n,o)=>{const s=n?.name?n.name:o,a={name:s,type:n?.type?n.type:n};return e[s]=Vx(t,a,r,i),e}),{})}if(hx(e.type)){const n=[],o={name:"",type:_x(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Vx(t,o,r,i));return n}return Hx(e.type,t)}function Zx(t,e,r,i,n){const{name:o,type:s}=e;let a;switch(!0){case sx(o):return a=t.next().value,BigInt(a);case r&&s in r||ux(s):case i&&fx(s,i):return Vx(t,e,r,i);case hx(s):if(Mx(s))return Vx(t,e,r,i);const h=[];if(n&&n[`${o}_len`]){const s=n[`${o}_len`];for(;h.length<s;)h.push(Vx(t,{name:o,type:e.type.replace("*","")},r,i))}return h;default:return Hx(s,t)}}var Gx=(t,e)=>{if(Ek("string"==typeof t||"number"==typeof t||"bigint"==typeof t,`Validate: arg ${e.name} should be a felt typed as (String, Number or BigInt)`),"string"==typeof t&&!Ak(t))return;const r=BigInt(t.toString(10));Ek(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)},Kx=(t,e)=>{"number"==typeof t&&Ek(t<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is to large to be typed as Number use (BigInt or String)"),Ek("string"==typeof t||"number"==typeof t||"bigint"==typeof t||"object"==typeof t&&"low"in t&&"high"in t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (String, Number or BigInt), but is ${typeof t} ${t}.`);const r="object"==typeof t?ix(t):kk(t);switch(e.type){case"core::integer::u8":Ek(r>=0n&&r<=255n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0 - 255]`);break;case"core::integer::u16":Ek(r>=0n&&r<=65535n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 65535]`);break;case"core::integer::u32":Ek(r>=0n&&r<=4294967295n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 4294967295]`);break;case"core::integer::u64":Ek(r>=0n&&r<=2n**64n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^64-1]`);break;case"core::integer::u128":Ek(r>=0n&&r<=2n**128n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^128-1]`);break;case"core::integer::u256":Ek(r>=0n&&r<=2n**256n-1n,`Validate: arg ${e.name} is ${e.type} 0 - 2^256-1`);break;case"core::starknet::class_hash::ClassHash":case"core::starknet::contract_address::ContractAddress":Ek(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)}},Jx=(t,e)=>{Ek("boolean"==typeof t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (Boolean)`)},Qx=(t,e,r)=>{if("core::integer::u256"!==e.type)if("core::starknet::eth_address::EthAddress"!==e.type)Ek("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type struct (${e.type}), and should be defined as js object (not array)`),r[e.type].members.forEach((({name:r})=>{Ek(Object.keys(t).includes(r),`Validate: arg ${e.name} should have a property ${r}`)}));else{Ek("object"!=typeof t,`EthAddress type is waiting a BigNumberish. Got ${t}`);const r=BigInt(t.toString(10));Ek(r>=0n&&r<=2n**160n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^160-1]`)}else Kx(t,e)},Yx=(t,e)=>{Ek("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type Enum (${e.type}), and should be defined as js object (not array)`);const r=Object.getOwnPropertyNames(Object.getPrototypeOf(t)),i=[...Object.getOwnPropertyNames(t),...r];if(!(dx(e.type)&&i.includes("isSome")&&i.includes("isNone")||mx(e.type)&&i.includes("isOk")&&i.includes("isErr")||i.includes("variant")&&i.includes("activeVariant")))throw new Error(`Validate Enum: argument ${e.name}, type ${e.type}, value received ${t}, is not an Enum.`)},Wx=(t,e)=>{Ek("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} should be a tuple (defined as object)`)},Xx=(t,e,r,i)=>{const n=_x(e.type);if(!ax(n)||!Qk(t))switch(Ek(Array.isArray(t),`Validate: arg ${e.name} should be an Array`),!0){case ax(n):t.forEach((t=>Gx(t,e)));break;case ux(n):t.forEach((t=>Wx(t,{name:e.name,type:n})));break;case hx(n):t.forEach((t=>Xx(t,{name:"",type:n},r,i)));break;case cx(n,r):t.forEach((t=>Qx(t,{name:e.name,type:n},r)));break;case fx(n,i):t.forEach((t=>Yx(t,{name:e.name,type:n})));break;case px(n)||gx(n):t.forEach((t=>Kx(t,e)));break;case vx(n):t.forEach((t=>Jx(t,e)));break;default:throw new Error(`Validate Unhandled: argument ${e.name}, type ${e.type}, value ${t}`)}};function tN(t,e,r,i){t.inputs.reduce(((t,n)=>{const o=e[t];switch(!0){case sx(n.name):return t;case ax(n.type):Gx(o,n);break;case px(n.type)||gx(n.type):Kx(o,n);break;case vx(n.type):Jx(o,n);break;case hx(n.type):Xx(o,n,r,i);break;case cx(n.type,r):Qx(o,n,r);break;case fx(n.type,i):Yx(o,n);break;case ux(n.type):Wx(o,n);break;default:throw new Error(`Validate Unhandled: argument ${n.name}, type ${n.type}, value ${o}`)}return t+1}),0)}var eN=class{abi;parser;structs;enums;constructor(t){this.structs=eN.getAbiStruct(t),this.enums=eN.getAbiEnum(t),this.parser=$x(t),this.abi=this.parser.getLegacyFormat()}validate(t,e,r=[]){if("DEPLOY"!==t){Ek(this.abi.filter((e=>{if("function"!==e.type)return!1;const r="view"===e.stateMutability||"view"===e.state_mutability;return"INVOKE"===t?!r:r})).map((t=>t.name)).includes(e),("INVOKE"===t?"invocable":"viewable")+" method not found in abi")}const i=this.abi.find((r=>"DEPLOY"===t?r.name===e&&"constructor"===r.type:r.name===e&&"function"===r.type));if(Ux(e,r,i))return;const n=this.parser.methodInputsLength(i);if(r.length!==n)throw Error(`Invalid number of arguments, expected ${n} arguments, but got ${r.length}`);tN(i,r,this.structs,this.enums)}compile(t,e){const r=this.abi.find((e=>e.name===t));if(Ux(t,e,r))return[];let i;if(Array.isArray(e))i=e;else{const t=Fx(e,r.inputs,this.structs,this.enums);i=Object.values(t),tN(r,i,this.structs,this.enums)}const n=i[Symbol.iterator](),o=r.inputs.reduce(((t,e)=>sx(e.name)&&!Mx(e.type)?t:t.concat(function(t,e,r,i){const{name:n,type:o}=e;let{value:s}=t.next();switch(!0){case hx(o):if(!Array.isArray(s)&&!Kk(s))throw Error(`ABI expected parameter ${n} to be array or long string, got ${s}`);return"string"==typeof s&&(s=Yk(s)),qx(s,e.type,r,i);case"core::starknet::eth_address::EthAddress"===o:return jx(o,s);case cx(o,r)||ux(o)||yx(o):case fx(o,i):return qx(s,o,r,i);default:return jx(o,s)}}(n,e,this.structs,this.enums))),[]);return Object.defineProperty(o,"__compiled__",{enumerable:!1,writable:!1,value:!0}),o}static compile(t){const e=t=>{const e=(t,r=".")=>{const i=Array.isArray(t)?[t.length.toString(),...t]:t;return Object.entries(i).flatMap((([t,n])=>{let o=n;"entrypoint"===t?o=qk(o):Qk(o)&&(o=Yk(o));const s=Array.isArray(i)&&"0"===t?"$$len":t;if(xk(o))return[[`${r}${s}`,Nx(o)]];if(Object(o)===o){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),i=[...Object.getOwnPropertyNames(o),...t];if(i.includes("isSome")&&i.includes("isNone")){const t=o,i=t.isSome()?0:1;return t.isSome()?e({0:i,1:t.unwrap()},`${r}${s}.`):[[`${r}${s}`,Nx(i)]]}if(i.includes("isOk")&&i.includes("isErr")){const t=o,i=t.isOk()?0:1;return e({0:i,1:t.unwrap()},`${r}${s}.`)}if(i.includes("variant")&&i.includes("activeVariant")){const t=o,i=t.activeVariant(),n=Object.keys(t.variant).findIndex((t=>t===i));return"object"==typeof t.unwrap()&&0===Object.keys(t.unwrap()).length?[[`${r}${s}`,Nx(n)]]:e({0:n,1:t.unwrap()},`${r}${s}.`)}return e(o,`${r}${s}.`)}return[[`${r}${s}`,Nx(o)]]}))};return Object.fromEntries(e(t))};let r;if(Array.isArray(t)){const i=e({...t});r=Object.values(i)}else{const i=e(t);r=Object.values(i)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,e){const{outputs:r}=this.abi.find((e=>e.name===t)),i=e.flat()[Symbol.iterator](),n=r.flat().reduce(((t,e,r)=>{const n=e.name??r;return t[n]=Zx(i,e,this.structs,this.enums,t),t[n]&&t[`${n}_len`]&&delete t[`${n}_len`],t}),{});return 1===Object.keys(n).length&&0 in n?n[0]:n}format(t,e,r){return Bx(this.parse(t,e),r)}static getAbiStruct(t){return t.filter((t=>"struct"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{})}static getAbiEnum(t){const e=t.filter((t=>"enum"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{});return delete e["core::bool"],e}static toCalldata(t=[]){return eN.compile(t)}static toHex(t=[]){return eN.compile(t).map((t=>Nk(t)))}decodeParameters(t,e){const r=Array.isArray(t)?t:[t],i=e.flat()[Symbol.iterator](),n=r.map((t=>Zx(i,{name:"",type:t},this.structs,this.enums)));return 1===n.length?n[0]:n}};wA({},{calculateContractAddressFromHash:()=>_N,calculateDeclareTransactionHash:()=>wN,calculateDeployAccountTransactionHash:()=>bN,calculateDeployTransactionHash:()=>vN,calculateTransactionHash:()=>MN,calculateTransactionHashCommon:()=>yN,computeCompiledClassHash:()=>SN,computeContractClassHash:()=>TN,computeHashOnElements:()=>mN,computeLegacyContractClassHash:()=>xN,computePedersenHash:()=>fN,computePedersenHashOnElements:()=>pN,computePoseidonHash:()=>dN,computePoseidonHashOnElements:()=>gN,computeSierraContractClassHash:()=>RN,default:()=>kN,feeTransactionVersion:()=>uN,feeTransactionVersion_2:()=>lN,formatSpaces:()=>AN,getSelector:()=>Hk,getSelectorFromName:()=>qk,getVersionsByType:()=>cN,keccakBn:()=>jk,poseidon:()=>gv,starknetKeccak:()=>zk,transactionVersion:()=>aN,transactionVersion_2:()=>hN});wA({},{starkCurve:()=>yw,weierstrass:()=>Tv});wA({},{parse:()=>iN,parseAlwaysAsBig:()=>nN,stringify:()=>oN,stringifyAlwaysAsBig:()=>sN});var rN=t=>{if(!vw(t))return parseFloat(t);const e=parseInt(t,10);return Number.isSafeInteger(e)?e:BigInt(t)},iN=t=>jw(String(t),void 0,rN),nN=t=>jw(String(t),void 0,Ow),oN=(t,e,r,i)=>Mb(t,e,r,i),sN=oN,aN=UA,hN=DA,uN=LA,lN=FA;function cN(t){return"fee"===t?{v1:uN,v2:lN}:{v1:aN,v2:hN}}function fN(t,e){return sw(BigInt(t),BigInt(e))}function dN(t,e){return Nk(pw(BigInt(t),BigInt(e)))}function mN(t){return[...t,t.length].reduce(((t,e)=>sw(BigInt(t),BigInt(e))),0).toString()}var pN=mN;function gN(t){return Nk(gw(t.map((t=>BigInt(t)))))}function yN(t,e,r,i,n,o,s,a=[]){const h=mN(n);return mN([t,e,r,i,h,o,s,...a])}function vN(t,e,r,i,n="constructor"){return yN("0x6465706c6f79",r,t,qk(n),e,0,i)}function wN(t,e,r,i,n,o,s){return yN("0x6465636c617265",r,e,0,[t],i,n,[o,...s?[s]:[]])}function bN(t,e,r,i,n,o,s,a){return yN("0x6465706c6f795f6163636f756e74",n,t,0,[e,i,...r],o,s,[a])}function MN(t,e,r,i,n,o){return yN("0x696e766f6b65",e,t,0,r,i,n,[o])}function _N(t,e,r,i){const n=mN(eN.compile(r)),o=mN([Nx("0x535441524b4e45545f434f4e54524143545f41444452455353"),i,t,e,n]);return Nk(BigInt(o)%VA)}function EN(t,e){return"attributes"===t||"accessible_scopes"===t?Array.isArray(e)&&0===e.length?void 0:e:"debug_info"===t?null:null===e?void 0:e}function AN(t){let e=!1;const r=[];for(const i of t)'"'===i&&!1==(r.length>0&&"\\"===r.slice(-1)[0])&&(e=!e),e?r.push(i):r.push(":"===i?": ":","===i?", ":i);return r.join("")}function kN(t){const{abi:e,program:r}=t,i=AN(oN({abi:e,program:r},EN));return SA(hw(_A(i)).toString(16))}function xN(t){const e="string"==typeof t?iN(t):t,r=Nk(qA),i=mN(e.entry_points_by_type.EXTERNAL.flatMap((t=>[t.selector,t.offset]))),n=mN(e.entry_points_by_type.L1_HANDLER.flatMap((t=>[t.selector,t.offset]))),o=mN(e.entry_points_by_type.CONSTRUCTOR.flatMap((t=>[t.selector,t.offset]))),s=mN(e.program.builtins.map((t=>Wk(t)))),a=kN(e),h=mN(e.program.data);return mN([r,i,n,o,s,a,h])}function NN(t){const e=t.flatMap((t=>{return[BigInt(t.selector),BigInt(t.offset),(e=t.builtins,gw(e.flatMap((t=>BigInt(Wk(t))))))];var e}));return gw(e)}function SN(t){const e=BigInt(Wk("COMPILED_CLASS_V1")),r=NN(t.entry_points_by_type.EXTERNAL),i=NN(t.entry_points_by_type.L1_HANDLER),n=NN(t.entry_points_by_type.CONSTRUCTOR),o=gw(t.bytecode.map((t=>BigInt(t))));return Nk(gw([e,r,i,n,o]))}function IN(t){return gw(t.flatMap((t=>[BigInt(t.selector),BigInt(t.function_idx)])))}function RN(t){const e=BigInt(Wk("CONTRACT_CLASS_V0.1.0")),r=IN(t.entry_points_by_type.EXTERNAL),i=IN(t.entry_points_by_type.L1_HANDLER),n=IN(t.entry_points_by_type.CONSTRUCTOR),o=function(t){const e=AN(oN(t.abi,null));return BigInt(SA(hw(_A(e)).toString(16)))}(t),s=gw(t.sierra_program.map((t=>BigInt(t))));return Nk(gw([e,r,i,n,o,s]))}function TN(t){const e="string"==typeof t?iN(t):t;return"sierra_program"in e?RN(e):xN(e)}function CN(t){const e="string"==typeof t?t:oN(t);return kA(HE(e))}function PN(t){if(Array.isArray(t))return t;const e=MA(VE(AA(t)));return iN(e)}function ON(){return Wv(Kv.randomPrivateKey())}function BN(t){return SA(t).toLowerCase()}function $N(t){if(!t)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(t))return t.map((t=>Nk(t)));try{const{r:e,s:r}=t;return[Nk(e),Nk(r)]}catch(t){throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function UN(t){return Pk($N(t))}function DN(t){return Ok($N(t))}function LN(t,e=.5){const r=Math.round(100*(1+e));return kk(t)*kk(r)/100n}function FN(t){return"sierra_program"in("string"==typeof t?iN(t):t)}wA({},{compressProgram:()=>CN,decompressProgram:()=>PN,estimatedFeeToMaxFee:()=>LN,formatSignature:()=>$N,makeAddress:()=>BN,randomAddress:()=>ON,signatureToDecimalArray:()=>UN,signatureToHexArray:()=>DN});var jN="undefined"!=typeof window&&window.fetch||"undefined"!=typeof global&&global.fetch||gA;function zN(t){return new Promise((e=>{setTimeout(e,t)}))}function qN(t){const e={...t};return delete e.sierra_program_debug_info,e.abi=AN(oN(t.abi)),e.sierra_program=AN(oN(t.sierra_program)),e.sierra_program=CN(e.sierra_program),e}function HN(t){const e="string"==typeof t?iN(t):t;return FN(t)?qN(e):{...e,..."program"in e&&{program:CN(e.program)}}}wA({},{createSierraContractClass:()=>qN,parseContract:()=>HN,wait:()=>zN});var VN=class extends Error{name;constructor(t){super(t),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),function(t,e){const{setPrototypeOf:r}=Object;r?r(t,e):t.__proto__=e}(this,new.target.prototype),function(t,e=t.constructor){const{captureStackTrace:r}=Error;r&&r(t,e)}(this)}},ZN=class extends VN{},GN=class extends ZN{constructor(t,e){super(t),this.errorCode=e}},KN=class extends ZN{constructor(t,e){super(t),this.errorCode=e}};wA({},{StarknetIdContract:()=>nS,getStarknetIdContract:()=>oS,useDecoded:()=>rS,useEncoded:()=>iS});var JN="abcdefghijklmnopqrstuvwxyz0123456789-",QN=BigInt(JN.length+1),YN="这来",WN=BigInt(JN.length),XN=BigInt(YN.length),tS=BigInt(YN.length+1);function eS(t){let e=0;for(;t.endsWith(YN[YN.length-1]);)t=t.substring(0,t.length-1),e+=1;return[t,e]}function rS(t){let e="";return t.forEach((t=>{for(;t!==jA;){const r=t%QN;if(t/=QN,r===BigInt(JN.length)){const r=t/tS;if(r===jA){const i=t%tS;t=r,e+=i===jA?JN[0]:YN[Number(i)-1]}else{e+=YN[Number(t%XN)],t/=XN}}else e+=JN[Number(r)]}const[r,i]=eS(e);i&&(e=r+(i%2==0?YN[YN.length-1].repeat(i/2-1)+YN[0]+JN[1]:YN[YN.length-1].repeat((i-1)/2+1))),e+="."})),e?e.concat("stark"):e}function iS(t){let e=BigInt(0),r=BigInt(1);if(t.endsWith(YN[0]+JN[1])){const[e,r]=eS(t.substring(0,t.length-2));t=e+YN[YN.length-1].repeat(2*(r+1))}else{const[e,r]=eS(t);r&&(t=e+YN[YN.length-1].repeat(1+2*(r-1)))}for(let i=0;i<t.length;i+=1){const n=t[i],o=JN.indexOf(n),s=BigInt(JN.indexOf(n));if(-1!==o)i===t.length-1&&t[i]===JN[0]?(e+=r*WN,r*=QN,r*=QN):(e+=r*s,r*=QN);else if(-1!==YN.indexOf(n)){e+=r*WN,r*=QN;const o=(i===t.length-1?1:0)+YN.indexOf(n);e+=r*BigInt(o),r*=XN}}return e}var nS=(t=>(t.MAINNET="0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",t.TESTNET="0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce",t))(nS||{});function oS(t){switch(t){case"0x534e5f4d41494e":return"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678";case"0x534e5f474f45524c49":return"0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce";default:throw new Error("Starknet.id is not yet deployed on this network")}}async function sS(t,e,r){const i=await t.getChainId(),n=r??oS(i);try{const r=await t.callContract({contractAddress:n,entrypoint:"address_to_domain",calldata:eN.compile({address:e})}),i=rS(r.result.map((t=>BigInt(t))).slice(1));if(!i)throw Error("Starkname not found");return i}catch(t){if(t instanceof Error&&"Starkname not found"===t.message)throw t;throw Error("Could not get stark name")}}async function aS(t,e,r){const i=await t.getChainId(),n=r??oS(i);try{return(await t.callContract({contractAddress:n,entrypoint:"domain_to_address",calldata:eN.compile({domain:[iS(e.replace(".stark","")).toString(10)]})})).result[0]}catch{throw Error("Could not get address from stark name")}}var hS=Object.values(uk),uS=class{hash=null;number=null;tag=null;setIdentifier(t){"string"==typeof t&&Ak(t)?this.hash=t:"bigint"==typeof t?this.hash=Nk(t):"number"==typeof t?this.number=t:"string"==typeof t&&hS.includes(t)?this.tag=t:this.tag="pending"}constructor(t){this.setIdentifier(t)}get queryIdentifier(){return null!==this.number?`blockNumber=${this.number}`:null!==this.hash?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return null!==this.number?{block_number:this.number}:null!==this.hash?{block_hash:this.hash}:this.tag}set identifier(t){this.setIdentifier(t)}valueOf=()=>this.number;toString=()=>this.hash;get sequencerIdentifier(){return null!==this.hash?{blockHash:this.hash}:{blockNumber:this.number??this.tag}}},lS=(t,e=!1,r=YA)=>{e||console.warn("Using default public node url, please provide nodeUrl in provider options!");const i=WA[t??"SN_GOERLI"];return`${i[Math.floor(Math.random()*i.length)]}${r}`},cS={"Content-Type":"application/json"},fS="pending",dS=200,mS=class{nodeUrl;headers;responseParser=new class{parseGetBlockResponse(t){return{timestamp:t.timestamp,block_hash:"block_hash"in t?t.block_hash:"",block_number:"block_number"in t?t.block_number:-1,new_root:"new_root"in t?t.new_root:"",parent_hash:t.parent_hash,status:"status"in t?t.status:"PENDING",transactions:t.transactions}}parseGetTransactionResponse(t){return{calldata:"calldata"in t?t.calldata:[],contract_address:"contract_address"in t?t.contract_address:"",sender_address:"sender_address"in t?t.sender_address:"",max_fee:"max_fee"in t?t.max_fee:"",nonce:"nonce"in t?t.nonce:"",signature:"signature"in t?t.signature:[],transaction_hash:t.transaction_hash,version:t.version}}parseFeeEstimateResponse(t){return{overall_fee:kk(t[0].overall_fee),gas_consumed:kk(t[0].gas_consumed),gas_price:kk(t[0].gas_price)}}parseFeeEstimateBulkResponse(t){return t.map((t=>({overall_fee:kk(t.overall_fee),gas_consumed:kk(t.gas_consumed),gas_price:kk(t.gas_price)})))}parseCallContractResponse(t){return{result:t}}parseSimulateTransactionResponse(t){return t.map((t=>({...t,suggestedMaxFee:LN(BigInt(t.fee_estimation.overall_fee))})))}parseContractClassResponse(t){return{...t,abi:"string"==typeof t.abi?JSON.parse(t.abi):t.abi}}};retries;blockIdentifier;chainId;constructor(t){const{nodeUrl:e,retries:r,headers:i,blockIdentifier:n,chainId:o,rpcVersion:s}=t||{};Object.values(GA).includes(e)?this.nodeUrl=lS(e,t?.default,s):this.nodeUrl=e||lS(void 0,t?.default,s),this.retries=r||dS,this.headers={...cS,...i},this.blockIdentifier=n||fS,this.chainId=o}fetch(t,e,r=0){const i={id:r,jsonrpc:"2.0",method:t,...e&&{params:e}};return jN(this.nodeUrl,{method:"POST",body:oN(i),headers:this.headers})}errorHandler(t,e,r,i){if(r){const{code:i,message:n,data:o}=r;throw new ZN(`RPC: ${t} with params ${oN(e)}\n ${i}: ${n}: ${oN(o)}`)}if(i instanceof ZN)throw i;if(i)throw Error(i.message)}async fetchEndpoint(t,e){try{const r=await this.fetch(t,e),{error:i,result:n}=await r.json();return this.errorHandler(t,e,i),n}catch(r){throw this.errorHandler(t,e,r?.response?.data,r),r}}async getChainId(){return this.chainId??=await this.fetchEndpoint("starknet_chainId"),this.chainId}async getSpecVersion(){return this.fetchEndpoint("starknet_specVersion")}async getNonceForAddress(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:r,block_id:i})}async getBlock(t=this.blockIdentifier){return this.getBlockWithTxHashes(t).then(this.responseParser.parseGetBlockResponse)}getBlockHashAndNumber=this.getBlockLatestAccepted;async getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}async getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}async getBlockWithTxHashes(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:e})}async getBlockWithTxs(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:e})}async getBlockStateUpdate(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:e})}getStateUpdate=this.getBlockStateUpdate;async getBlockTransactionsTraces(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:e})}traceBlockTransactions=this.getBlockTransactionsTraces;async getBlockTransactionCount(t=this.blockIdentifier){const e=new uS(t).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:e})}getTransactionCount=this.getBlockTransactionCount;async getPendingTransactions(){const{transactions:t}=await this.getBlock("pending");return Promise.all(t.map((t=>this.getTransactionByHash(t))))}async getTransaction(t){return this.getTransactionByHash(t).then(this.responseParser.parseGetTransactionResponse)}async getTransactionByHash(t){const e=Nk(t);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:e})}async getTransactionByBlockIdAndIndex(t,e){const r=new uS(t).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:r,index:e})}async getTransactionReceipt(t){const e=Nk(t);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:e})}async getTransactionTrace(t){const e=Nk(t);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:e})}traceTransaction=this.getTransactionTrace;async getTransactionStatus(t){const e=Nk(t);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:e})}getSimulateTransaction=this.simulateTransaction;async simulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipFeeCharge:i=!0}){const n=new uS(e).identifier,o=[];return r&&o.push(ck.ESimulationFlag.SKIP_VALIDATE),i&&o.push(ck.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:n,transactions:t.map((t=>this.buildTransaction(t))),simulation_flags:o}).then(this.responseParser.parseSimulateTransactionResponse)}async waitForTransaction(t,e){const r=Nk(t);let{retries:i}=this,n=!1,o=!1;const s=e?.retryInterval??5e3,a=e?.errorStates??[ck.ETransactionStatus.REJECTED],h=e?.successStates??[ck.ETransactionExecutionStatus.SUCCEEDED,ck.ETransactionStatus.ACCEPTED_ON_L2,ck.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!n;){await zN(s);try{u=await this.getTransactionStatus(r);const t=u.execution_status,e=u.finality_status;if(!e){throw new Error("waiting for transaction status")}if(a.includes(t)||a.includes(e)){const r=`${t}: ${e}`,i=new Error(r);throw i.response=u,o=!0,i}(h.includes(t)||h.includes(e))&&(n=!0)}catch(t){if(t instanceof Error&&o)throw t;if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1}let l=null;for(;null===l;){try{l=await this.getTransactionReceipt(r)}catch(t){if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1,await zN(s)}return l}async getStorageAt(t,e,r=this.blockIdentifier){const i=Nk(t),n=Ik(e),o=new uS(r).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:i,key:n,block_id:o})}async getClassHashAt(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:i,contract_address:r})}async getClassByHash(t){return this.getClass(t)}async getClass(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:r,block_id:i}).then(this.responseParser.parseContractClassResponse)}async getClassAt(t,e=this.blockIdentifier){const r=Nk(t),i=new uS(e).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:i,contract_address:r}).then(this.responseParser.parseContractClassResponse)}async getCode(t,e){throw new Error("RPC does not implement getCode function")}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClass(e,r)}if(FN(n)){if(i){return{cairo:"1",compiler:Ax(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async getEstimateFee(t,e,r=this.blockIdentifier){return this.getInvokeEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier){const i=new uS(r).identifier,n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier){const i=new uS(r).identifier,n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier){const i=new uS(r).identifier,n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){r&&console.warn("getEstimateFeeBulk RPC does not support skipValidate");const i=new uS(e).identifier;return this.fetchEndpoint("starknet_estimateFee",{request:t.map((t=>this.buildTransaction(t,"fee"))),block_id:i}).then(this.responseParser.parseFeeEstimateBulkResponse)}async invokeFunction(t,e){return this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:t.contractAddress,calldata:eN.toHex(t.calldata),type:ck.ETransactionType.INVOKE,max_fee:Nk(e.maxFee||0),version:"0x1",signature:DN(t.signature),nonce:Nk(e.nonce)}})}async declareContract({contract:t,signature:e,senderAddress:r,compiledClassHash:i},n){return FN(t)?this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ck.ETransactionType.DECLARE,contract_class:{sierra_program:PN(t.sierra_program),contract_class_version:t.contract_class_version,entry_points_by_type:t.entry_points_by_type,abi:t.abi},compiled_class_hash:i||"",version:$A,max_fee:Nk(n.maxFee||0),signature:DN(e),sender_address:r,nonce:Nk(n.nonce)}}):this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:ck.ETransactionType.DECLARE,contract_class:{program:t.program,entry_points_by_type:t.entry_points_by_type,abi:t.abi},version:BA,max_fee:Nk(n.maxFee||0),signature:DN(e),sender_address:r,nonce:Nk(n.nonce)}})}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:eN.toHex(e||[]),class_hash:Nk(t),contract_address_salt:Nk(r||0),type:ck.ETransactionType.DEPLOY_ACCOUNT,max_fee:Nk(n.maxFee||0),version:Nk(n.version||0),signature:DN(i),nonce:Nk(n.nonce)}})}async callContract(t,e=this.blockIdentifier){const r=new uS(e).identifier,i=await this.fetchEndpoint("starknet_call",{request:{contract_address:t.contractAddress,entry_point_selector:qk(t.entrypoint),calldata:eN.toHex(t.calldata)},block_id:r});return this.responseParser.parseCallContractResponse(i)}async estimateMessageFee(t,e=this.blockIdentifier){const{from_address:r,to_address:i,entry_point_selector:n,payload:o}=t,s={from_address:Nk(r),to_address:Nk(i),entry_point_selector:Hk(n),payload:Dk(o)},a=new uS(e).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:s,block_id:a})}async getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}async getEvents(t){return this.fetchEndpoint("starknet_getEvents",{filter:t})}async getStarkName(t,e){return sS(this,t,e)}async getAddressFromStarkName(t,e){return aS(this,t,e)}buildTransaction(t,e){const r=cN(e),i={signature:DN(t.signature),nonce:Nk(t.nonce),max_fee:Nk(t.maxFee||0)};if("INVOKE_FUNCTION"===t.type)return{type:ck.ETransactionType.INVOKE,sender_address:t.contractAddress,calldata:eN.toHex(t.calldata),version:Nk(t.version||r.v1),...i};if("DECLARE"===t.type)return FN(t.contract)?{type:t.type,contract_class:{...t.contract,sierra_program:PN(t.contract.sierra_program)},compiled_class_hash:t.compiledClassHash||"",sender_address:t.senderAddress,version:Nk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Nk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:eN.toHex(t.constructorCalldata||[]),class_hash:Nk(t.classHash),contract_address_salt:Nk(t.addressSalt||0),version:Nk(t.version||r.v1),...i};throw Error("RPC buildTransaction received unknown TransactionType")}},pS=/^(?:\w+:)?\/\/(\S+)$/,gS=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,yS=/^[^\s.]+\.\S{2,}$/;function vS(t,e,r){return function(t){if(!t)return!1;if("string"!=typeof t)return!1;const e=t.match(pS);if(!e)return!1;const r=e[1];return!(!r||!gS.test(r)&&!yS.test(r))}(r)?r:yA(t,r??e)}var wS={network:"SN_GOERLI",blockIdentifier:"pending"},bS=class{baseUrl;feederGatewayUrl;gatewayUrl;headers;blockIdentifier;chainId;responseParser=new class extends class{}{parseGetBlockResponse(t){return{...t,new_root:t.state_root,parent_hash:t.parent_block_hash,transactions:Object.values(t.transactions).map((t=>"transaction_hash"in t&&t.transaction_hash)).filter(Boolean)}}parseGetTransactionResponse(t){if("NOT_RECEIVED"===t.status&&"NOT_RECEIVED"===t.finality_status)throw new ZN;return{...t,calldata:"calldata"in t.transaction?t.transaction.calldata:[],contract_class:"contract_class"in t.transaction?t.transaction.contract_class:void 0,entry_point_selector:"entry_point_selector"in t.transaction?t.transaction.entry_point_selector:void 0,max_fee:"max_fee"in t.transaction?t.transaction.max_fee:void 0,nonce:t.transaction.nonce,sender_address:"sender_address"in t.transaction?t.transaction.sender_address:void 0,signature:"signature"in t.transaction?t.transaction.signature:void 0,transaction_hash:"transaction_hash"in t.transaction?t.transaction.transaction_hash:void 0,version:"version"in t.transaction?t.transaction.version:void 0}}parseGetTransactionReceiptResponse(t){return{...t,messages_sent:t.l2_to_l1_messages,..."revert_error"in t&&{revert_reason:t.revert_error}}}parseFeeEstimateResponse(t){if("overall_fee"in t){let e={};try{e={gas_consumed:kk(t.gas_usage),gas_price:kk(t.gas_price)}}catch{}return{overall_fee:kk(t.overall_fee),...e}}return{overall_fee:kk(t.amount)}}parseFeeEstimateBulkResponse(t){return[].concat(t).map((t=>{if("overall_fee"in t){let e={};try{e={gas_consumed:kk(t.gas_usage),gas_price:kk(t.gas_price)}}catch{}return{overall_fee:kk(t.overall_fee),...e}}return{overall_fee:kk(t.amount)}}))}parseSimulateTransactionResponse(t){const e="overall_fee"in t.fee_estimation?t.fee_estimation.overall_fee:t.fee_estimation.amount;return[{transaction_trace:t.trace,fee_estimation:t.fee_estimation,suggestedMaxFee:LN(BigInt(e))}]}parseCallContractResponse(t){return{result:t.result}}parseInvokeFunctionResponse(t){return{transaction_hash:t.transaction_hash}}parseDeployContractResponse(t){return{transaction_hash:t.transaction_hash,contract_address:t.address}}parseDeclareContractResponse(t){return{transaction_hash:t.transaction_hash,class_hash:t.class_hash}}parseGetStateUpdateResponse(t){const e=Object.entries(t.state_diff.nonces).map((([t,e])=>({contract_address:t,nonce:e}))),r=Object.entries(t.state_diff.storage_diffs).map((([t,e])=>({address:t,storage_entries:e})));return{...t,state_diff:{...t.state_diff,storage_diffs:r,nonces:e}}}parseContractClassResponse(t){const e=FN(t)?t:HN(t);return{...e,abi:"string"==typeof e.abi?JSON.parse(e.abi):e.abi}}};constructor(t=wS){"network"in t?(this.baseUrl=bS.getNetworkFromName(t.network),this.feederGatewayUrl=vS(this.baseUrl,"feeder_gateway"),this.gatewayUrl=vS(this.baseUrl,"gateway")):(this.baseUrl=t.baseUrl,this.feederGatewayUrl=vS(this.baseUrl,"feeder_gateway",t.feederGatewayUrl),this.gatewayUrl=vS(this.baseUrl,"gateway",t.gatewayUrl)),this.chainId=t?.chainId??bS.getChainIdFromBaseUrl(this.baseUrl),this.headers=t.headers,this.blockIdentifier=t?.blockIdentifier||wS.blockIdentifier}static getNetworkFromName(t){switch(t){case"SN_MAIN":case"0x534e5f4d41494e":return"https://alpha-mainnet.starknet.io";case"SN_GOERLI":case"0x534e5f474f45524c49":return"https://alpha4.starknet.io";default:throw new Error("Could not detect base url from NetworkName")}}static getChainIdFromBaseUrl(t){try{return new URL(t).host.includes("mainnet.starknet.io")?"0x534e5f4d41494e":"0x534e5f474f45524c49"}catch{return console.error(`Could not parse baseUrl: ${t}`),"0x534e5f474f45524c49"}}getFetchUrl(t){return["add_transaction"].includes(t)?this.gatewayUrl:this.feederGatewayUrl}getFetchMethod(t){return["add_transaction","call_contract","estimate_fee","estimate_message_fee","estimate_fee_bulk","simulate_transaction"].includes(t)?"POST":"GET"}getQueryString(t){if(void 0===(e=t)||0===Object.keys(e).length||1===Object.keys(e).length&&Object.entries(e).every((([t,e])=>"blockIdentifier"===t&&null===e)))return"";var e;const r=Object.entries(t).map((([t,e])=>{if("blockIdentifier"===t){return`${new uS(e).queryIdentifier}`}return`${t}=${e}`})).join("&");return`?${r}`}getHeaders(t){return"POST"===t?{"Content-Type":"application/json",...this.headers}:this.headers}async fetchEndpoint(t,...[e,r]){const i=this.getFetchUrl(t),n=this.getFetchMethod(t),o=this.getQueryString(e),s=yA(i,t,o);return this.fetch(s,{method:n,body:r})}async fetch(t,e){const r=vS(this.baseUrl,"",t),i=e?.method??"GET",n=this.getHeaders(i),o=oN(e?.body);try{const t=await jN(r,{method:i,body:o,headers:n}),s=await t.text();if(!t.ok){let e;try{e=iN(s)}catch{throw new KN(t.statusText,t.status)}throw new GN(e.message,e.code)}return(e?.parseAlwaysAsBigInt?nN:iN)(s)}catch(t){if(t instanceof Error&&!(t instanceof ZN))throw Error(`Could not ${i} from endpoint \`${r}\`: ${t.message}`);throw t}}async getChainId(){return Promise.resolve(this.chainId)}async callContract({contractAddress:t,entrypoint:e,calldata:r=[]},i=this.blockIdentifier){return this.fetchEndpoint("call_contract",{blockIdentifier:i},{contract_address:t,entry_point_selector:qk(e),calldata:eN.compile(r)}).then(this.responseParser.parseCallContractResponse)}async getBlock(t=this.blockIdentifier){return this.fetchEndpoint("get_block",{blockIdentifier:t}).then(this.responseParser.parseGetBlockResponse)}async getNonceForAddress(t,e=this.blockIdentifier){return this.fetchEndpoint("get_nonce",{contractAddress:t,blockIdentifier:e})}async getStorageAt(t,e,r=this.blockIdentifier){const i=kk(e).toString(10);return this.fetchEndpoint("get_storage_at",{blockIdentifier:r,contractAddress:t,key:i})}async getTransaction(t){const e=Nk(t);return this.fetchEndpoint("get_transaction",{transactionHash:e}).then((t=>{if(1===Object.values(t).length)throw new ZN(t.status);return this.responseParser.parseGetTransactionResponse(t)}))}async getTransactionReceipt(t){const e=Nk(t);return this.fetchEndpoint("get_transaction_receipt",{transactionHash:e}).then(this.responseParser.parseGetTransactionReceiptResponse)}async getClassAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_full_contract",{blockIdentifier:e,contractAddress:t}).then(this.responseParser.parseContractClassResponse)}async getClassHashAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_hash_at",{blockIdentifier:e,contractAddress:t})}async getClassByHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_by_hash",{classHash:t,blockIdentifier:e}).then(this.responseParser.parseContractClassResponse)}async getCompiledClassByClassHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_compiled_class_by_class_hash",{classHash:t,blockIdentifier:e})}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion requires contractAddress or classHash");n=await this.getClassByHash(e,r)}if(FN(n)){if(i){return{cairo:"1",compiler:Ax(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async invokeFunction(t,e){return this.fetchEndpoint("add_transaction",void 0,{type:"INVOKE_FUNCTION",sender_address:t.contractAddress,calldata:eN.compile(t.calldata??[]),signature:UN(t.signature),nonce:Nk(e.nonce),max_fee:Nk(e.maxFee||0),version:"0x1"}).then(this.responseParser.parseInvokeFunctionResponse)}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("add_transaction",void 0,{type:"DEPLOY_ACCOUNT",contract_address_salt:r??ON(),constructor_calldata:eN.compile(e??[]),class_hash:Nk(t),max_fee:Nk(n.maxFee||0),version:Nk(n.version||0),nonce:Nk(n.nonce),signature:UN(i)}).then(this.responseParser.parseDeployContractResponse)}async declareContract({senderAddress:t,contract:e,signature:r,compiledClassHash:i},n){return FN(e)?this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",sender_address:t,compiled_class_hash:i,contract_class:e,nonce:Nk(n.nonce),signature:UN(r),max_fee:Nk(n.maxFee||0),version:Nk(hN)}).then(this.responseParser.parseDeclareContractResponse):this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",contract_class:e,nonce:Nk(n.nonce),signature:UN(r),sender_address:t,max_fee:Nk(n.maxFee||0),version:Nk(aN)}).then(this.responseParser.parseDeclareContractResponse)}async getEstimateFee(t,e,r=this.blockIdentifier,i=!1){return this.getInvokeEstimateFee(t,e,r,i)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){const i=t.map((t=>this.buildTransaction(t,"fee")));return this.fetchEndpoint("estimate_fee_bulk",{blockIdentifier:e,skipValidate:r},i).then(this.responseParser.parseFeeEstimateBulkResponse)}async getCode(t,e=this.blockIdentifier){return this.fetchEndpoint("get_code",{contractAddress:t,blockIdentifier:e})}async waitForTransaction(t,e){let r,i=!1,n=0;const o=e?.retryInterval??5e3,s=e?.errorStates??["REJECTED","NOT_RECEIVED","REVERTED"],a=e?.successStates??["SUCCEEDED","ACCEPTED_ON_L1","ACCEPTED_ON_L2"];for(;!i;)if(await zN(o),r=await this.getTransactionStatus(t),"NOT_RECEIVED"===r.finality_status&&n<3)n+=1;else if(a.includes(r.finality_status)||a.includes(r.execution_status))i=!0;else if(s.includes(r.finality_status)||s.includes(r.execution_status)){let t;t=r.tx_failure_reason?`${r.tx_status}: ${r.tx_failure_reason.code}\n${r.tx_failure_reason.error_message}`:r.tx_revert_reason?`${r.tx_status}: ${r.tx_revert_reason}`:r.tx_status;const e=new Error(t);throw e.response=r,e}return await this.getTransactionReceipt(t)}async getTransactionStatus(t){const e=Nk(t);return this.fetchEndpoint("get_transaction_status",{transactionHash:e})}async getContractAddresses(){return this.fetchEndpoint("get_contract_addresses")}async getTransactionTrace(t){const e=Nk(t);return this.fetchEndpoint("get_transaction_trace",{transactionHash:e})}async estimateMessageFee({from_address:t,to_address:e,entry_point_selector:r,payload:i},n=this.blockIdentifier){const o={from_address:$k(t),to_address:Uk(e),entry_point_selector:Hk(r),payload:Dk(i)};return this.fetchEndpoint("estimate_message_fee",{blockIdentifier:n},o)}async getSimulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipExecute:i=!1}){t.length>1&&console.warn("Sequencer simulate process only first element from invocations list"),i&&console.warn("Sequencer can't skip account __execute__");const n=this.buildTransaction(t[0]);return this.fetchEndpoint("simulate_transaction",{blockIdentifier:e,skipValidate:r??!1},n).then(this.responseParser.parseSimulateTransactionResponse)}async getStateUpdate(t=this.blockIdentifier){const e=new uS(t).sequencerIdentifier;return this.fetchEndpoint("get_state_update",{...e}).then(this.responseParser.parseGetStateUpdateResponse)}async getBlockTraces(t=this.blockIdentifier){const e=new uS(t).sequencerIdentifier;return this.fetchEndpoint("get_block_traces",{...e})}async getStarkName(t,e){return sS(this,t,e)}async getAddressFromStarkName(t,e){return aS(this,t,e)}buildTransaction(t,e){const r=cN(e),i={signature:UN(t.signature),nonce:Nk(t.nonce)};if("INVOKE_FUNCTION"===t.type)return{type:t.type,sender_address:t.contractAddress,calldata:eN.compile(t.calldata??[]),version:Nk(t.version||r.v1),...i};if("DECLARE"===t.type)return FN(t.contract)?{type:t.type,contract_class:t.contract,compiled_class_hash:t.compiledClassHash,sender_address:t.senderAddress,version:Nk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:Nk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:eN.compile(t.constructorCalldata||[]),class_hash:Nk(t.classHash),contract_address_salt:Nk(t.addressSalt||0),version:Nk(t.version||r.v1),...i};throw Error("Sequencer buildTransaction received unknown TransactionType")}},MS=class{provider;constructor(t){this.provider=t instanceof MS?t.provider:t instanceof mS||t instanceof bS?t:t&&"rpc"in t?new mS(t.rpc):t&&"sequencer"in t?new bS(t.sequencer):new mS}async getChainId(){return this.provider.getChainId()}async getBlock(t){return this.provider.getBlock(t)}async getClassAt(t,e){return this.provider.getClassAt(t,e)}async getClassHashAt(t,e){return this.provider.getClassHashAt(t,e)}getClassByHash(t){return this.provider.getClassByHash(t)}async getEstimateFee(t,e,r){return this.provider.getEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r,i){return this.provider.getInvokeEstimateFee(t,e,r,i)}async getEstimateFeeBulk(t,e){return this.provider.getEstimateFeeBulk(t,e)}async getNonceForAddress(t,e){return this.provider.getNonceForAddress(t,e)}async getStorageAt(t,e,r){return this.provider.getStorageAt(t,e,r)}async getTransaction(t){return this.provider.getTransaction(t)}async getTransactionReceipt(t){return this.provider.getTransactionReceipt(t)}async callContract(t,e){return this.provider.callContract(t,e)}async invokeFunction(t,e){return this.provider.invokeFunction(t,e)}async deployAccountContract(t,e){return this.provider.deployAccountContract(t,e)}async declareContract(t,e){return this.provider.declareContract(t,e)}async getDeclareEstimateFee(t,e,r,i){return this.provider.getDeclareEstimateFee(t,e,r,i)}getDeployAccountEstimateFee(t,e,r,i){return this.provider.getDeployAccountEstimateFee(t,e,r,i)}async getCode(t,e){return this.provider.getCode(t,e)}async waitForTransaction(t,e){return this.provider.waitForTransaction(t,e)}async getSimulateTransaction(t,e){return this.provider.getSimulateTransaction(t,e)}async getStateUpdate(t){return this.provider.getStateUpdate(t)}async getStarkName(t,e){return sS(this,t,e)}async getAddressFromStarkName(t,e){return aS(this,t,e)}async getContractVersion(t,e,r){return this.provider.getContractVersion(t,e,r)}};wA({},{fromCallsToExecuteCalldata:()=>ES,fromCallsToExecuteCalldataWithNonce:()=>AS,fromCallsToExecuteCalldata_cairo1:()=>xS,getExecuteCalldata:()=>NS,transformCallsToMulticallArrays:()=>_S,transformCallsToMulticallArrays_cairo1:()=>kS});var _S=t=>{const e=[],r=[];return t.forEach((t=>{const i=eN.compile(t.calldata||[]);e.push({to:kk(t.contractAddress).toString(10),selector:kk(qk(t.entrypoint)).toString(10),data_offset:r.length.toString(),data_len:i.length.toString()}),r.push(...i)})),{callArray:e,calldata:eN.compile({calldata:r})}},ES=t=>{const{callArray:e,calldata:r}=_S(t);return[...eN.compile({callArray:e}),...r]},AS=(t,e)=>[...ES(t),kk(e).toString()],kS=t=>{const e=t.map((t=>({to:kk(t.contractAddress).toString(10),selector:kk(qk(t.entrypoint)).toString(10),calldata:eN.compile(t.calldata||[])})));return e},xS=t=>{const e=t.map((t=>({contractAddress:t.contractAddress,entrypoint:t.entrypoint,calldata:Array.isArray(t.calldata)&&"__compiled__"in t.calldata?t.calldata:eN.compile(t.calldata)})));return eN.compile({orderCalls:e})},NS=(t,e="0")=>"1"===e?xS(t):ES(t),SS={};wA(SS,{TypedDataRevision:()=>lk,byteArrayFromString:()=>CS,encodeData:()=>jS,encodeType:()=>DS,encodeValue:()=>FS,getDependencies:()=>US,getMessageHash:()=>qS,getStructHash:()=>zS,getTypeHash:()=>LS,isMerkleTreeType:()=>$S,prepareSelector:()=>BS});wA({},{MerkleTree:()=>IS,proofMerklePath:()=>RS});var IS=class{leaves;branches=[];root;hashMethod;constructor(t,e=fN){this.hashMethod=e,this.leaves=t,this.root=this.build(t)}build(t){if(1===t.length)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const e=[];for(let r=0;r<t.length;r+=2)r+1===t.length?e.push(IS.hash(t[r],"0x0",this.hashMethod)):e.push(IS.hash(t[r],t[r+1],this.hashMethod));return this.build(e)}static hash(t,e,r=fN){const[i,n]=[BigInt(t),BigInt(e)].sort(((t,e)=>t>=e?1:-1));return r(i,n)}getProof(t,e=this.leaves,r=[]){const i=e.indexOf(t);if(-1===i)throw new Error("leaf not found");if(1===e.length)return r;const n=i%2==0,o=(n?e[i+1]:e[i-1])??"0x0",s=[...r,o],a=this.leaves.length===e.length?-1:this.branches.findIndex((t=>t.length===e.length)),h=this.branches[a+1]??[this.root];return this.getProof(IS.hash(n?t:o,n?o:t,this.hashMethod),h,s)}};function RS(t,e,r,i=fN){if(0===r.length)return t===e;const[n,...o]=r;return RS(t,IS.hash(e,n,i),o,i)}var TS={1:{domain:"StarknetDomain",hashMethod:gN,hashMerkleMethod:dN,escapeTypeString:t=>`"${t}"`,presetTypes:{u256:JSON.parse('[{ "name": "low", "type": "u128" }, { "name": "high", "type": "u128" }]'),TokenAmount:JSON.parse('[{ "name": "token_address", "type": "ContractAddress" }, { "name": "amount", "type": "u256" }]'),NftId:JSON.parse('[{ "name": "collection_address", "type": "ContractAddress" }, { "name": "token_id", "type": "u256" }]')}},0:{domain:"StarkNetDomain",hashMethod:pN,hashMerkleMethod:fN,escapeTypeString:t=>t,presetTypes:{}}};function CS(t){const e=Yk(t),r=e[e.length-1],i=e.map(Wk),[n,o]=void 0===r||31===r.length?["0x00",0]:[i.pop(),r.length];return{data:0===i.length?["0x00"]:i,pending_word:n,pending_word_len:o}}function PS({types:t,domain:e}){return TS[1].domain in t&&"1"===e.revision?"1":TS[0].domain in t&&"0"===(e.revision??"0")?"0":void 0}function OS(t){try{return Nk(t)}catch(e){if("string"==typeof t)return Nk(Wk(t));throw new Error(`Invalid BigNumberish: ${t}`)}}function BS(t){return Ak(t)?t:qk(t)}function $S(t){return"merkletree"===t.type}function US(t,e,r=[],i="",n="0"){return"*"===e[e.length-1]?e=e.slice(0,-1):"1"===n&&("enum"===e?e=i:e.match(/^\(.*\)$/)&&(e=e.slice(1,-1))),r.includes(e)||!t[e]?r:[e,...t[e].reduce(((e,r)=>[...e,...US(t,r.type,e,r.contains,n).filter((t=>!e.includes(t)))]),[])]}function DS(t,e,r="0"){const[i,...n]=US(t,e,void 0,void 0,r),o=i?[i,...n.sort()]:[],s=TS[r].escapeTypeString;return o.map((e=>{const i=t[e].map((t=>{const e="enum"===t.type&&"1"===r?t.contains:t.type,i=e.match(/^\(.*\)$/)?`(${e.slice(1,-1).split(",").map((t=>t?s(t):t)).join(",")})`:s(e);return`${s(t.name)}:${i}`}));return`${s(e)}(${i})`})).join("")}function LS(t,e,r="0"){return qk(DS(t,e,r))}function FS(t,e,r,i={},n="0"){if(t[e])return[e,zS(t,e,r,n)];if(TS[n].presetTypes[e])return[e,zS(TS[n].presetTypes,e,r,n)];if(e.endsWith("*")){const i=r.map((r=>FS(t,e.slice(0,-1),r,void 0,n)[1]));return[e,TS[n].hashMethod(i)]}switch(e){case"enum":if("1"===n){const[o,s]=Object.entries(r)[0],a=t[i.parent][0],h=t[a.contains],u=h.find((t=>t.name===o)),l=h.indexOf(u),c=u.type.slice(1,-1).split(",").map(((e,r)=>{if(!e)return e;const i=s[r];return FS(t,e,i,void 0,n)[1]}));return[e,TS[n].hashMethod([l,...c])]}return[e,OS(r)];case"merkletree":{const e=function(t,e){if(e.parent&&e.key){const r=t[e.parent].find((t=>t.name===e.key));if(!$S(r))throw new Error(`${e.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${e.key}`);return r.contains}return"raw"}(t,i),o=r.map((r=>FS(t,e,r,void 0,n)[1])),{root:s}=new IS(o,TS[n].hashMerkleMethod);return["felt",s]}case"selector":return["felt",BS(r)];case"string":if("1"===n){const t=CS(r),i=[t.data.length,...t.data,t.pending_word,t.pending_word_len];return[e,TS[n].hashMethod(i)]}return[e,OS(r)];case"felt":case"bool":case"u128":case"i128":case"ContractAddress":case"ClassHash":case"timestamp":case"shortstring":return[e,OS(r)];default:if("1"===n)throw new Error(`Unsupported type: ${e}`);return[e,OS(r)]}}function jS(t,e,r,i="0"){const n=t[e]??TS[i].presetTypes[e],[o,s]=n.reduce((([n,o],s)=>{if(void 0===r[s.name]||null===r[s.name]&&"enum"!==s.type)throw new Error(`Cannot encode data: missing data for '${s.name}'`);const a=r[s.name],h={parent:e,key:s.name},[u,l]=FS(t,s.type,a,h,i);return[[...n,u],[...o,l]]}),[["felt"],[LS(t,e,i)]]);return[o,s]}function zS(t,e,r,i="0"){return TS[i].hashMethod(jS(t,e,r,i)[1])}function qS(t,e){if(!function(t){const e=t;return Boolean(e.message&&e.primaryType&&e.types&&PS(e))}(t))throw new Error("Typed data does not match JSON schema");const r=PS(t),{domain:i,hashMethod:n}=TS[r];return n([Wk("StarkNet Message"),zS(t.types,i,t.domain,r),e,zS(t.types,t.primaryType,t.message,r)])}var HS=new MS({rpc:{default:!0}});function VS(t){return t.filter((t=>"event"===t.type&&(t.size||"enum"!==t.kind))).reduce(((t,e)=>{const r=e.name.slice(e.name.lastIndexOf(":")+1),i={...e};return i.name=r,{...t,[SA(hw(_A(r)).toString(16))]:i}}),{})}function ZS(t,e,r,i){const n=t.flat().reduce(((t,n)=>{const o=e[n.keys[0]];if(!o)return t;const s={};s[o.name]={},n.keys.shift();const a=n.keys[Symbol.iterator](),h=n.data[Symbol.iterator](),u=o.members?.filter((t=>"key"===t.kind))||o.keys,l=o.members?.filter((t=>"data"===t.kind))||o.data;return u.forEach((t=>{s[o.name][t.name]=Zx(a,t,r,i,s[o.name])})),l.forEach((t=>{s[o.name][t.name]=Zx(h,t,r,i,s[o.name])})),t.push(s),t}),[]);return n}wA({},{getAbiEvents:()=>VS,parseEvents:()=>ZS});var GS=t=>{const e=t[t.length-1];return"object"==typeof e&&["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"].some((t=>t in e))?{args:t,options:t.pop()}:{args:t}};function KS(t,e){return async function(...r){const i=GS(r);return t.call(e.name,i.args,{parseRequest:!0,parseResponse:!0,...i.options})}}function JS(t,e){return"view"===e.stateMutability||"view"===e.state_mutability?KS(t,e):function(t,e){return async function(...r){const i=GS(r);return t.invoke(e.name,i.args,{parseRequest:!0,...i.options})}}(t,e)}function QS(t,e){return function(...r){return t.estimate(e.name,r)}}function YS(t,e){return Array.isArray(t)&&"__compiled__"in t?t:Array.isArray(t)&&Array.isArray(t[0])&&"__compiled__"in t[0]?t[0]:e()}var WS=class{abi;address;providerOrAccount;deployTransactionHash;structs;events;functions;callStatic;populateTransaction;estimateFee;callData;constructor(t,e,r=HS){this.address=e&&e.toLowerCase(),this.providerOrAccount=r,this.callData=new eN(t),this.structs=eN.getAbiStruct(t),this.events=VS(t);const i=$x(t);this.abi=i.getLegacyFormat();const n={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach((t=>{if("function"!==t.type)return;const e=t.name;var r,i;this[e]||Object.defineProperty(this,e,{...n,value:JS(this,t)}),this.functions[e]||Object.defineProperty(this.functions,e,{...n,value:JS(this,t)}),this.callStatic[e]||Object.defineProperty(this.callStatic,e,{...n,value:KS(this,t)}),this.populateTransaction[e]||Object.defineProperty(this.populateTransaction,e,{...n,value:(r=this,i=t,function(...t){return r.populate(i.name,t)})}),this.estimateFee[e]||Object.defineProperty(this.estimateFee,e,{...n,value:QS(this,t)})}))}attach(t){this.address=t}connect(t){this.providerOrAccount=t}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(t,e=[],{parseRequest:r=!0,parseResponse:i=!0,formatResponse:n,blockIdentifier:o}={}){Ek(null!==this.address,"contract is not connected to an address");const s=YS(e,(()=>r?(this.callData.validate("CALL",t,e),this.callData.compile(t,e)):(console.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),e)));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:s,entrypoint:t},o).then((e=>i?n?this.callData.format(t,e.result,n):this.callData.parse(t,e.result):e.result))}invoke(t,e=[],{parseRequest:r=!0,maxFee:i,nonce:n,signature:o}={}){Ek(null!==this.address,"contract is not connected to an address");const s=YS(e,(()=>r?(this.callData.validate("INVOKE",t,e),this.callData.compile(t,e)):(console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),e))),a={contractAddress:this.address,calldata:s,entrypoint:t};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(a,void 0,{maxFee:i,nonce:n});if(!n)throw new Error("Nonce is required when invoking a function without an account");return console.warn(`Invoking ${t} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...a,signature:o},{nonce:n})}async estimate(t,e=[]){Ek(null!==this.address,"contract is not connected to an address"),YS(e,(()=>!1))||this.callData.validate("INVOKE",t,e);const r=this.populate(t,e);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(r);throw Error("Contract must be connected to the account contract to estimate")}populate(t,e=[]){const r=YS(e,(()=>this.callData.compile(t,e)));return{contractAddress:this.address,entrypoint:t,calldata:r}}parseEvents(t){return ZS(t.events?.filter((t=>Tk(t.from_address)===Tk(this.address)),[])||[],this.events,this.structs,eN.getAbiEnum(this.abi))}isCairo1(){return tx.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typedv1(t){return this}typedv2(t){return this}};function XS(t){Ck(t,jA,VA-1n,"Starknet Address");const e=function(t){return SA(NA(Nk(t)).padStart(64,"0"))}(t);if(!e.match(/^(0x)?[0-9a-fA-F]{64}$/))throw new Error("Invalid Address Format");return e}const tI={SN_MAIN:"https://starknet-mainnet.public.blastapi.io",SN_SEPOLIA:"https://starknet-sepolia.public.blastapi.io"},eI=[{name:"argent::common::account::IAccount",type:"interface",items:[{name:"is_valid_signature",type:"function",inputs:[{name:"hash",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]}];function rI(t,e){var r;if(!tI[t])throw new Error("Invalid network");return new mS({nodeUrl:null!==(r=null==e?void 0:e.broviderUrl)&&void 0!==r?r:tI[t]})}function iI(t){return!!t.primaryType&&!!t.types.StarkNetDomain}function nI(t,e){const{domain:r,types:i,primaryType:n,message:o}=t;return SS.getMessageHash({types:i,primaryType:n,domain:r,message:o},e)}var oI=Object.freeze({__proto__:null,isStarknetMessage:iI,getHash:nI,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="SN_MAIN",n={}){try{const o=new WS(eI,t,rI(i,n));if(e.length<2)throw new Error("Invalid signature format");const s=yield o.is_valid_signature(nI(r,t),e.slice(-2));return Bh.from(s).eq(Bh.from("370462705988"))}catch(t){if(t.message.includes("Contract not found"))throw new Error("Contract not deployed");throw t}}))}});function sI(t){return we(qi(t))}var aI=o((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:$t.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h<a;h++){var u=t.charCodeAt(h)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,a=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,l=r;l<a;l+=i)u=h(t,l,l+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var c=1;for(u=h(t,l,t.length,e),l=0;l<s;l++)c*=e;this.imuln(c),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){n.prototype.inspect=l}else n.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var c=["","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"],f=[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],d=[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];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var a=this.words[s],h=(16777215&(a<<n|o)).toString(16);o=a>>>24-n&16777215,(n+=2)>=26&&(n-=26,s--),i=0!==o||s!==this.length-1?c[6-h.length]+h+i:h+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],l=d[t];i="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modrn(l).toString(t);i=(m=m.idivn(l)).isZero()?p+i:c[u-p.length]+p+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u<i;u++){for(var l=h>>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(n=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var i,n,o,s=t.words,a=e.words,h=r.words,u=0,l=0|s[0],c=8191&l,f=l>>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,A=_>>>13,k=0|s[5],x=8191&k,N=k>>>13,S=0|s[6],I=8191&S,R=S>>>13,T=0|s[7],C=8191&T,P=T>>>13,O=0|s[8],B=8191&O,$=O>>>13,U=0|s[9],D=8191&U,L=U>>>13,F=0|a[0],j=8191&F,z=F>>>13,q=0|a[1],H=8191&q,V=q>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,J=0|a[3],Q=8191&J,Y=J>>>13,W=0|a[4],X=8191&W,tt=W>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(c,j))|0)+((8191&(n=(n=Math.imul(c,z))+Math.imul(f,j)|0))<<13)|0;u=((o=Math.imul(f,z))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(m,j),n=(n=Math.imul(m,z))+Math.imul(p,j)|0,o=Math.imul(p,z);var yt=(u+(i=i+Math.imul(c,H)|0)|0)+((8191&(n=(n=n+Math.imul(c,V)|0)+Math.imul(f,H)|0))<<13)|0;u=((o=o+Math.imul(f,V)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,j),n=(n=Math.imul(y,z))+Math.imul(v,j)|0,o=Math.imul(v,z),i=i+Math.imul(m,H)|0,n=(n=n+Math.imul(m,V)|0)+Math.imul(p,H)|0,o=o+Math.imul(p,V)|0;var vt=(u+(i=i+Math.imul(c,G)|0)|0)+((8191&(n=(n=n+Math.imul(c,K)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(b,j),n=(n=Math.imul(b,z))+Math.imul(M,j)|0,o=Math.imul(M,z),i=i+Math.imul(y,H)|0,n=(n=n+Math.imul(y,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0,i=i+Math.imul(m,G)|0,n=(n=n+Math.imul(m,K)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,K)|0;var wt=(u+(i=i+Math.imul(c,Q)|0)|0)+((8191&(n=(n=n+Math.imul(c,Y)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,Y)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(E,j),n=(n=Math.imul(E,z))+Math.imul(A,j)|0,o=Math.imul(A,z),i=i+Math.imul(b,H)|0,n=(n=n+Math.imul(b,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,i=i+Math.imul(y,G)|0,n=(n=n+Math.imul(y,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,i=i+Math.imul(m,Q)|0,n=(n=n+Math.imul(m,Y)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,Y)|0;var bt=(u+(i=i+Math.imul(c,X)|0)|0)+((8191&(n=(n=n+Math.imul(c,tt)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(x,j),n=(n=Math.imul(x,z))+Math.imul(N,j)|0,o=Math.imul(N,z),i=i+Math.imul(E,H)|0,n=(n=n+Math.imul(E,V)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,V)|0,i=i+Math.imul(b,G)|0,n=(n=n+Math.imul(b,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(m,X)|0,n=(n=n+Math.imul(m,tt)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(i=i+Math.imul(c,rt)|0)|0)+((8191&(n=(n=n+Math.imul(c,it)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(I,j),n=(n=Math.imul(I,z))+Math.imul(R,j)|0,o=Math.imul(R,z),i=i+Math.imul(x,H)|0,n=(n=n+Math.imul(x,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,i=i+Math.imul(E,G)|0,n=(n=n+Math.imul(E,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,Y)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(m,rt)|0,n=(n=n+Math.imul(m,it)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,it)|0;var _t=(u+(i=i+Math.imul(c,ot)|0)|0)+((8191&(n=(n=n+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,j),n=(n=Math.imul(C,z))+Math.imul(P,j)|0,o=Math.imul(P,z),i=i+Math.imul(I,H)|0,n=(n=n+Math.imul(I,V)|0)+Math.imul(R,H)|0,o=o+Math.imul(R,V)|0,i=i+Math.imul(x,G)|0,n=(n=n+Math.imul(x,K)|0)+Math.imul(N,G)|0,o=o+Math.imul(N,K)|0,i=i+Math.imul(E,Q)|0,n=(n=n+Math.imul(E,Y)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,Y)|0,i=i+Math.imul(b,X)|0,n=(n=n+Math.imul(b,tt)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(m,ot)|0,n=(n=n+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(i=i+Math.imul(c,ht)|0)|0)+((8191&(n=(n=n+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(B,j),n=(n=Math.imul(B,z))+Math.imul($,j)|0,o=Math.imul($,z),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,V)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,V)|0,i=i+Math.imul(I,G)|0,n=(n=n+Math.imul(I,K)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,Y)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,Y)|0,i=i+Math.imul(E,X)|0,n=(n=n+Math.imul(E,tt)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,tt)|0,i=i+Math.imul(b,rt)|0,n=(n=n+Math.imul(b,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(m,ht)|0,n=(n=n+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var At=(u+(i=i+Math.imul(c,ct)|0)|0)+((8191&(n=(n=n+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,j),n=(n=Math.imul(D,z))+Math.imul(L,j)|0,o=Math.imul(L,z),i=i+Math.imul(B,H)|0,n=(n=n+Math.imul(B,V)|0)+Math.imul($,H)|0,o=o+Math.imul($,V)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,Y)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(x,X)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,tt)|0,i=i+Math.imul(E,rt)|0,n=(n=n+Math.imul(E,it)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,it)|0,i=i+Math.imul(b,ot)|0,n=(n=n+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(m,ct)|0,n=(n=n+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var kt=(u+(i=i+Math.imul(c,mt)|0)|0)+((8191&(n=(n=n+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,H),n=(n=Math.imul(D,V))+Math.imul(L,H)|0,o=Math.imul(L,V),i=i+Math.imul(B,G)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul($,G)|0,o=o+Math.imul($,K)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(I,X)|0,n=(n=n+Math.imul(I,tt)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,it)|0,i=i+Math.imul(E,ot)|0,n=(n=n+Math.imul(E,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,i=i+Math.imul(b,ht)|0,n=(n=n+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,ct)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,ft)|0;var xt=(u+(i=i+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,G),n=(n=Math.imul(D,K))+Math.imul(L,G)|0,o=Math.imul(L,K),i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul($,Q)|0,o=o+Math.imul($,Y)|0,i=i+Math.imul(C,X)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(I,rt)|0,n=(n=n+Math.imul(I,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(x,ot)|0,n=(n=n+Math.imul(x,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,i=i+Math.imul(E,ht)|0,n=(n=n+Math.imul(E,ut)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,ut)|0,i=i+Math.imul(b,ct)|0,n=(n=n+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(i=i+Math.imul(y,mt)|0)|0)+((8191&(n=(n=n+Math.imul(y,pt)|0)+Math.imul(v,mt)|0))<<13)|0;u=((o=o+Math.imul(v,pt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,Y))+Math.imul(L,Q)|0,o=Math.imul(L,Y),i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul($,X)|0,o=o+Math.imul($,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(I,ot)|0,n=(n=n+Math.imul(I,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,i=i+Math.imul(E,ct)|0,n=(n=n+Math.imul(E,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var St=(u+(i=i+Math.imul(b,mt)|0)|0)+((8191&(n=(n=n+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,tt))+Math.imul(L,X)|0,o=Math.imul(L,tt),i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul($,rt)|0,o=o+Math.imul($,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(I,ht)|0,n=(n=n+Math.imul(I,ut)|0)+Math.imul(R,ht)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(x,ct)|0,n=(n=n+Math.imul(x,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var It=(u+(i=i+Math.imul(E,mt)|0)|0)+((8191&(n=(n=n+Math.imul(E,pt)|0)+Math.imul(A,mt)|0))<<13)|0;u=((o=o+Math.imul(A,pt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(L,rt)|0,o=Math.imul(L,it),i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul($,ot)|0,o=o+Math.imul($,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(I,ct)|0,n=(n=n+Math.imul(I,ft)|0)+Math.imul(R,ct)|0,o=o+Math.imul(R,ft)|0;var Rt=(u+(i=i+Math.imul(x,mt)|0)|0)+((8191&(n=(n=n+Math.imul(x,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(L,ot)|0,o=Math.imul(L,st),i=i+Math.imul(B,ht)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul($,ht)|0,o=o+Math.imul($,ut)|0,i=i+Math.imul(C,ct)|0,n=(n=n+Math.imul(C,ft)|0)+Math.imul(P,ct)|0,o=o+Math.imul(P,ft)|0;var Tt=(u+(i=i+Math.imul(I,mt)|0)|0)+((8191&(n=(n=n+Math.imul(I,pt)|0)+Math.imul(R,mt)|0))<<13)|0;u=((o=o+Math.imul(R,pt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,ht),n=(n=Math.imul(D,ut))+Math.imul(L,ht)|0,o=Math.imul(L,ut),i=i+Math.imul(B,ct)|0,n=(n=n+Math.imul(B,ft)|0)+Math.imul($,ct)|0,o=o+Math.imul($,ft)|0;var Ct=(u+(i=i+Math.imul(C,mt)|0)|0)+((8191&(n=(n=n+Math.imul(C,pt)|0)+Math.imul(P,mt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(D,ct),n=(n=Math.imul(D,ft))+Math.imul(L,ct)|0,o=Math.imul(L,ft);var Pt=(u+(i=i+Math.imul(B,mt)|0)|0)+((8191&(n=(n=n+Math.imul(B,pt)|0)+Math.imul($,mt)|0))<<13)|0;u=((o=o+Math.imul($,pt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Ot=(u+(i=Math.imul(D,mt))|0)+((8191&(n=(n=Math.imul(D,pt))+Math.imul(L,mt)|0))<<13)|0;return u=((o=Math.imul(L,pt))+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,h[0]=gt,h[1]=yt,h[2]=vt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=At,h[9]=kt,h[10]=xt,h[11]=Nt,h[12]=St,h[13]=It,h[14]=Rt,h[15]=Tt,h[16]=Ct,h[17]=Pt,h[18]=Ot,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var a=67108863&i,h=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=h;u++){var l=o-u,c=(0|t.words[l])*(0|e.words[u]),f=67108863&c;a=67108863&(f=f+a|0),n+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(p=m),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?m(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,h=(0|this.words[e])-a<<i;this.words[e]=h|s,s=a>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,h=i;if(n-=s,n=Math.max(0,n),h){for(var u=0;u<s;u++)h.words[u]=this.words[u];h.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var a=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+a;var h=(0|t.words[n])*e;a=((o-=67108863&h)>>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)a=(o=(0|this.words[n+i])+a)>>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(o=-(0|this.words[n])+a)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var l=i.clone()._ishlnsubmul(o,1,h);0===l.negative&&(i=l,a&&(a.words[h]=1));for(var c=h-1;c>=0;c--){var f=67108864*(0|i.words[o.length+c])+(0|i.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,c);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,c),i.isZero()||(i.negative^=1);a&&(a.words[c]=f)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var l=i.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(l),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(i.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(i.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(i.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new A(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(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)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(b,w),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,w),i(_,w),i(E,w),E.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return v[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g<m);var y=this.pow(c,new n(1).iushln(m-g-1));f=f.redMul(y),c=y.redSqr(),d=d.redMul(c),m=g}return f},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,a=0,h=e.bitLength()%26;for(0===h&&(h=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],l=h-1;l>=0;l--){var c=u>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===i&&0===l)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,A),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));var hI=aI.BN;const uI=new y("bignumber/5.6.2"),lI={},cI=9007199254740991;let fI=!1;class dI{constructor(t,e){t!==lI&&uI.throwError("cannot call constructor directly; use BigNumber.from",y.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return pI(gI(this).fromTwos(t))}toTwos(t){return pI(gI(this).toTwos(t))}abs(){return"-"===this._hex[0]?dI.from(this._hex.substring(1)):this}add(t){return pI(gI(this).add(gI(t)))}sub(t){return pI(gI(this).sub(gI(t)))}div(t){return dI.from(t).isZero()&&yI("division-by-zero","div"),pI(gI(this).div(gI(t)))}mul(t){return pI(gI(this).mul(gI(t)))}mod(t){const e=gI(t);return e.isNeg()&&yI("division-by-zero","mod"),pI(gI(this).umod(e))}pow(t){const e=gI(t);return e.isNeg()&&yI("negative-power","pow"),pI(gI(this).pow(e))}and(t){const e=gI(t);return(this.isNegative()||e.isNeg())&&yI("unbound-bitwise-result","and"),pI(gI(this).and(e))}or(t){const e=gI(t);return(this.isNegative()||e.isNeg())&&yI("unbound-bitwise-result","or"),pI(gI(this).or(e))}xor(t){const e=gI(t);return(this.isNegative()||e.isNeg())&&yI("unbound-bitwise-result","xor"),pI(gI(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&yI("negative-width","mask"),pI(gI(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&yI("negative-width","shl"),pI(gI(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&yI("negative-width","shr"),pI(gI(this).shrn(t))}eq(t){return gI(this).eq(gI(t))}lt(t){return gI(this).lt(gI(t))}lte(t){return gI(this).lte(gI(t))}gt(t){return gI(this).gt(gI(t))}gte(t){return gI(this).gte(gI(t))}isNegative(){return"-"===this._hex[0]}isZero(){return gI(this).isZero()}toNumber(){try{return gI(this).toNumber()}catch(t){yI("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return uI.throwError("this platform does not support BigInt",y.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?fI||(fI=!0,uI.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?uI.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",y.errors.UNEXPECTED_ARGUMENT,{}):uI.throwError("BigNumber.toString does not accept parameters",y.errors.UNEXPECTED_ARGUMENT,{})),gI(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof dI)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new dI(lI,mI(t)):t.match(/^-?[0-9]+$/)?new dI(lI,mI(new hI(t))):uI.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&yI("underflow","BigNumber.from",t),(t>=cI||t<=-cI)&&yI("overflow","BigNumber.from",t),dI.from(String(t));const e=t;if("bigint"==typeof e)return dI.from(e.toString());if(E(e))return dI.from(I(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return dI.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(N(t)||"-"===t[0]&&N(t.substring(1))))return dI.from(t)}return uI.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function mI(t){if("string"!=typeof t)return mI(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&uI.throwArgumentError("invalid hex","value",t),"0x00"===(t=mI(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function pI(t){return dI.from(mI(t))}function gI(t){const e=dI.from(t).toHexString();return"-"===e[0]?new hI("-"+e.substring(3),16):new hI(e.substring(2),16)}function yI(t,e,r){const i={fault:t,operation:e};return null!=r&&(i.value=r),uI.throwError(t,y.errors.NUMERIC_FAULT,i)}var vI=window&&window.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{h(i.next(t))}catch(t){o(t)}}function a(t){try{h(i.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((i=i.apply(t,e||[])).next())}))};const wI=new y("hash/5.6.1"),bI=new Uint8Array(32);bI.fill(0);const MI=dI.from(-1),_I=dI.from(0),EI=dI.from(1),AI=dI.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const kI=O(EI.toHexString(),32),xI=O(_I.toHexString(),32),NI={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},SI=["name","version","chainId","verifyingContract","salt"];function II(t){return function(e){return"string"!=typeof e&&wI.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const RI={name:II("name"),version:II("version"),chainId:function(t){try{return dI.from(t).toString()}catch(t){}return wI.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return Ce(t).toLowerCase()}catch(t){}return wI.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=A(t);if(32!==e.length)throw new Error("bad length");return I(e)}catch(t){}return wI.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function TI(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=""===e[1],i=parseInt(e[2]||"256");(i%8!=0||i>256||e[2]&&e[2]!==String(i))&&wI.throwArgumentError("invalid numeric width","type",t);const n=AI.mask(r?i-1:i),o=r?n.add(EI).mul(MI):_I;return function(e){const r=dI.from(e);return(r.lt(o)||r.gt(n))&&wI.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),O(r.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(0===r||r>32||e[1]!==String(r))&&wI.throwArgumentError("invalid bytes width","type",t),function(e){return A(e).length!==r&&wI.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=A(t),r=e.length%32;return r?C([e,bI.slice(r)]):I(e)}(e)}}}switch(t){case"address":return function(t){return O(Ce(t),32)};case"bool":return function(t){return t?kI:xI};case"bytes":return function(t){return we(t)};case"string":return function(t){return sI(t)}}return null}function CI(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class PI{constructor(t){Nr(this,"types",Object.freeze(Or(t))),Nr(this,"_encoderCache",{}),Nr(this,"_types",{});const e={},r={},i={};Object.keys(t).forEach((t=>{e[t]={},r[t]=[],i[t]={}}));for(const i in t){const n={};t[i].forEach((o=>{n[o.name]&&wI.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(i)}`,"types",t),n[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&wI.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);TI(s)||(r[s]||wI.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),r[s].push(i),e[i][s]=!0)}))}const n=Object.keys(r).filter((t=>0===r[t].length));0===n.length?wI.throwArgumentError("missing primary type","types",t):n.length>1&&wI.throwArgumentError(`ambiguous primary types or unused types: ${n.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Nr(this,"primaryType",n[0]),function n(o,s){s[o]&&wI.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach((t=>{r[t]&&(n(t,s),Object.keys(s).forEach((e=>{i[e][t]=!0})))})),delete s[o]}(this.primaryType,{});for(const e in i){const r=Object.keys(i[e]);r.sort(),this._types[e]=CI(e,t[e])+r.map((e=>CI(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=TI(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],r=this.getEncoder(t),i=parseInt(e[3]);return e=>{i>=0&&e.length!==i&&wI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(r);return this._types[t]&&(n=n.map(we)),we(C(n))}}const r=this.types[t];if(r){const e=sI(this._types[t]);return t=>{const i=r.map((({name:e,type:r})=>{const i=this.getEncoder(r)(t[e]);return this._types[r]?we(i):i}));return i.unshift(e),C(i)}}return wI.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||wI.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return we(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(TI(t))return r(t,e);const i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const t=i[1],n=parseInt(i[3]);return n>=0&&e.length!==n&&wI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,r)))}const n=this.types[t];return n?n.reduce(((t,{name:i,type:n})=>(t[i]=this._visit(n,e[i],r),t)),{}):wI.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new PI(t)}static getPrimaryType(t){return PI.from(t).primaryType}static hashStruct(t,e,r){return PI.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){const i=NI[r];i||wI.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort(((t,e)=>SI.indexOf(t.name)-SI.indexOf(e.name))),PI.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return C(["0x1901",PI.hashDomain(t),PI.from(e).hash(r)])}static hash(t,e,r){return we(PI.encode(t,e,r))}static resolveNames(t,e,r,i){return vI(this,void 0,void 0,(function*(){t=Rr(t);const n={};t.verifyingContract&&!N(t.verifyingContract,20)&&(n[t.verifyingContract]="0x");const o=PI.from(e);o.visit(r,((t,e)=>("address"!==t||N(e,20)||(n[e]="0x"),e)));for(const t in n)n[t]=yield i(t);return t.verifyingContract&&n[t.verifyingContract]&&(t.verifyingContract=n[t.verifyingContract]),r=o.visit(r,((t,e)=>"address"===t&&n[e]?n[e]:e)),{domain:t,value:r}}))}static getPayload(t,e,r){PI.hashDomain(t);const i={},n=[];SI.forEach((e=>{const r=t[e];null!=r&&(i[e]=RI[e](r),n.push({name:e,type:NI[e]}))}));const o=PI.from(e),s=Rr(e);return s.EIP712Domain?wI.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=n,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,((t,e)=>{if(t.match(/^bytes(\d*)/))return I(A(e));if(t.match(/^u?int/))return dI.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&wI.throwArgumentError("invalid string","value",e),e}return wI.throwArgumentError("unsupported type","type",t)}))}}}window&&window.__awaiter;new y("wallet/5.6.2");function OI(t,e,r,i){return Fa(PI.hash(t,e,r),i)}const BI="6492649264926492649264926492649264926492649264926492649264926492";function $I(t,e){return t.toLowerCase()===e.toLowerCase()}function UI(t){const{domain:e,types:r,message:i}=t;return zl.hash(e,r,i)}function DI(t,r,i,n){return e(this,void 0,void 0,(function*(){let e;try{e=yield wR(n,["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]])}catch(t){if(t.message.startsWith("missing revert data in call exception"))return!1;throw t}return $I(e,"0x1626ba7e")}))}function LI(t,r,i,n){return e(this,void 0,void 0,(function*(){return $I(yield wR(n,["function isValidSignature(bytes _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]]),"0x20c13b0b")}))}var FI=Object.freeze({__proto__:null,getHash:UI,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){const{domain:o,types:s,message:a}=r;try{if($I(t,OI(o,s,a,e)))return!0}catch(t){}const h=Eg(i,n),u=UI(r);if(e.endsWith(BI))try{return"0x01"===(yield h.call({data:k(["0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",(new ln).encode(["address","bytes32","bytes"],[t,A(u),e])])}))}catch(t){return!1}return!!(yield DI(t,e,u,h))||(yield LI(t,e,u,h))}))}});var jI=["ipfs.snapshot.box","snapshot.4everland.link","ipfs.io","ipfs.fleek.co","gateway.pinata.cloud","dweb.link","ipfs.infura.io"],zI={1:{key:"1",name:"Ethereum",chainId:1,network:"homestead",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",ensResolvers:["0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41"],ensNameWrapper:"0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH",rpc:["https://rpc.ankr.com/eth",{url:"https://api-geth-archive.ankr.com",user:"balancer_user",password:"balancerAnkr20201015"},"https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/eth/mainnet/archive","https://apis.ankr.com/e62bc219f9c9462b8749defe472d2dc5/6106d4a3ec1d1bcc87ec72158f8fd089/eth/archive/main","https://eth-archival.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://eth-mainnet.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],light:["https://cloudflare-eth.com"],ws:["wss://eth-mainnet.ws.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],explorer:{url:"https://etherscan.io",apiUrl:"https://api.etherscan.io"},start:7929876,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},8:{key:"8",name:"Ubiq",chainId:8,network:"Ubiq",multicall:"0x6668750957e4083725926B71C41bDF1434C73262",rpc:["https://rpc.octano.dev"],ws:["wss://ws.octano.dev"],explorer:{url:"https://ubiqscan.io"},start:1,logo:"ipfs://Qmec3HLoN4QhwZAhw4XTi2aN8Wwmcko5hHN22sHARzb9tw"},10:{key:"10",name:"Optimism",chainId:10,network:"Optimism mainnet",multicall:"0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7",rpc:["https://opt-mainnet.g.alchemy.com/v2/JzmIL4Q3jBj7it2duxLFeuCa9Wobmm7D"],explorer:{url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io"},start:657806,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb"},19:{key:"19",name:"Songbird Canary-Network",shortName:"Songbird",chainId:19,network:"songbird",multicall:"0x17032Ea9c3a13Ed337665145364c0d2aD1108c91",rpc:["https://songbird-api.flare.network/ext/C/rpc"],explorer:{url:"https://songbird-explorer.flare.network"},start:21807126,logo:"ipfs://QmXyvnrZY8FUxSULfnKKA99sAEkjAHtvhRx5WeHixgaEdu"},24:{key:"24",name:"KardiaChain Mainnet",shortName:"KAI",chainId:24,network:"mainnet",multicall:"0xd9c92F2287B7802A37eC9BEce96Aa65fb5f31E1b",rpc:["https://kai-internal.kardiachain.io"],explorer:{url:"https://explorer.kardiachain.io"},start:8260245,logo:"ipfs://bafkreig73yfyqzbxydv6e3dbj5nks3f57px2iez7tywayey4rilfhhrr34"},25:{key:"25",name:"Cronos",shortName:"Cronos",chainId:25,network:"mainnet",multicall:"0x6F522a3982e8F9A50A2EDc9E46ed1A3aE2B3FD3a",rpc:["https://evm-cronos.crypto.org"],explorer:{url:"https://cronos.crypto.org/explorer"},start:4067,logo:"ipfs://QmfSJbtirJoa3Pt7o5Fdm85wbyw9V1hpzqLr5PQbdnfsAj"},30:{key:"30",name:"RSK",chainId:30,network:"rsk mainnet",multicall:"0x4eeebb5580769ba6d26bfd07be636300076d1831",rpc:["https://public-node.rsk.co"],explorer:{url:"https://explorer.rsk.co"},start:2516442,logo:"ipfs://QmXTwpE1SqoNZmyY4c3fYWy6qUgQELsyWKbgJo2Pg6K6V9"},46:{key:"46",name:"Darwinia Network",shortName:"Darwinia",chainId:46,network:"mainnet",multicall:"0x67f9ae42EaA9a8aBf065D60ec6Ab3C1A11370607",rpc:["https://rpc.darwinia.network"],explorer:{url:"https://darwinia.subscan.io"},start:141853,logo:"ipfs://bafkreicf55maidhx46pyu3mwsshlr43xbewr6tkckkonh4nesbkp7krwkm"},56:{key:"56",name:"BNB Smart Chain",shortName:"BSC",chainId:56,network:"mainnet",multicall:"0x1ee38d535d541c55c9dae27b12edf090c608e6fb",rpc:["https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/bsc/mainnet/archive","https://rpc.ankr.com/bsc","https://bsc.getblock.io/mainnet/?api_key=91f8195f-bf46-488f-846a-73d6853790e7","https://bsc-private-dataseed1.nariox.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed1.binance.org"],explorer:{url:"https://bscscan.com"},start:461230,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},61:{key:"61",name:"Ethereum Classic",shortName:"Ethereum Classic",chainId:61,network:"mainnet",multicall:"0x51be3a92C56ae7E207C5b5Fd87F7798Ce82C1AC2",rpc:["https://www.ethercluster.com/etc"],explorer:{url:"https://blockscout.com/etc/mainnet"},start:13307544,logo:"ipfs://QmVegc28DvA7LjKUFysab81c9BSuN4wQVDQkRXyAtuEBis"},66:{key:"66",name:"OKExChain",shortName:"OEC Mainnet",chainId:66,network:"oec mainnet",multicall:"0x6EB187d8197Ac265c945b69f3c3064A6f3831866",rpc:["https://exchainrpc.okex.org"],ws:["wss://exchainws.okex.org:8443"],explorer:{url:"https://www.oklink.com/okexchain"},start:5076543,logo:"ipfs://Qmd7dKnNwHRZ4HRCbCXUbkNV7gP28fGqPdjbHtjRtT9sQF"},75:{key:"75",name:"Decimal",shortName:"mainnet",chainId:75,network:"mainnet",multicall:"0x949d1A0757803C51F2EfFFEb5472C861A898B8E8",rpc:[],explorer:{url:"https://explorer.decimalchain.com"},start:16031065,logo:"ipfs://bafkreihkdhbce5rkogl63xegaarlirjrvbfarxbtbf5mqme3s5grvbjyxm"},81:{key:"81",name:"Shibuya Network",shortName:"Shibuya",chainId:81,network:"testnet",testnet:!0,multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shibuya.astar.network:8545"],explorer:{url:"https://blockscout.com/shibuya"},start:856303,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},82:{key:"82",name:"Meter",shortName:"Meter",chainId:82,network:"mainnet",multicall:"0x579De77CAEd0614e3b158cb738fcD5131B9719Ae",rpc:["https://rpc.meter.io"],explorer:{url:"https://scan.meter.io"},start:4992871,logo:"ipfs://QmSZvT9w9eUDvV1YVaq3BKKEbubtNVqu1Rin44FuN4wz11"},97:{key:"97",name:"BNB Smart Chain Testnet",shortName:"BSC Testnet",chainId:97,network:"testnet",testnet:!0,multicall:"0x8b54247c6BAe96A6ccAFa468ebae96c4D7445e46",rpc:["https://data-seed-prebsc-1-s1.binance.org:8545","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/bsc/testnet/archive"],explorer:{url:"https://testnet.bscscan.com"},start:3599656,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},100:{key:"100",name:"Gnosis Chain",shortName:"xDAI",chainId:100,network:"mainnet",multicall:"0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",rpc:["https://gno.getblock.io/mainnet/6c1d1e6e-75d9-452f-a863-a694bff93d5c/","https://xdai-archive.blockscout.com","https://poa-xdai.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://rpc.gnosischain.com"],light:["https://rpc.gnosischain.com"],ws:["wss://rpc.xdaichain.com/wss"],explorer:{url:"https://gnosis.blockscout.com"},start:4108192,logo:"ipfs://QmZeiy8Ax4133wzxUQM9ky8z5XFVf6YLFjJMmTWbWVniZR"},108:{key:"108",name:"Thundercore",chainId:108,network:"mainnet",multicall:"0x3017086deef56679e267f67f66c4415109b7a97f",rpc:["https://mainnet-rpc.thundercore.com/archived/SNAPSHOTEuR82a75fLYA"],explorer:{url:"https://viewblock.io/thundercore"},start:94425385,logo:"ipfs://bafkreifc5z5vtvqx2luzgateyvoocwpd2ifv2hwufxdnyl2a767wa6icli"},109:{key:"109",name:"Shibarium",shortName:"mainnet",chainId:109,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://shibariumscan.io"},start:3485946,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm"},122:{key:"122",name:"Fuse",shortName:"Fuse",chainId:122,network:"mainnet",multicall:"0x7a59441fb06666F6d2D766393d876945D06a169c",rpc:["https://explorer-node.fuse.io/","https://oefusefull1.liquify.info/"],explorer:{url:"https://explorer.fuse.io"},start:11923459,logo:"ipfs://QmXjWb64nako7voaVEifgdjAbDbswpTY8bghsiHpv8yWtb"},137:{key:"137",name:"Polygon PoS",shortName:"Polygon",chainId:137,network:"mainnet",multicall:"0xCBca837161be50EfA5925bB9Cc77406468e76751",rpc:["https://rpc.ankr.com/polygon","https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/polygon/mainnet/archive","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/polygon/mainnet/archive","https://rpc-mainnet.maticvigil.com/v1/1cfd7598e5ba6dcf0b4db58e8be484badc6ea08e"],ws:["wss://ws-mainnet.matic.network"],explorer:{url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com"},start:9834491,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},144:{key:"144",name:"PHI Network",shortName:"PHI",chainId:144,network:"mainnet",multicall:"0xc2f41B404a6757863AAeF49ff93039421acCd630",rpc:["https://connect.phi.network"],explorer:{url:"https://phiscan.com"},start:360030,logo:"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a"},146:{key:"146",name:"Sonic",shortName:"mainnet",chainId:146,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.soniclabs.com"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44"},148:{key:"148",name:"ShimmerEVM",shortName:"ShimmerEVM",chainId:148,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.evm.shimmer.network"},start:1290,logo:"ipfs://bafkreib4xhbgbhrwkmizp4d4nz3wzbpyhdm6wpz2v2pbkk7jxsgg3hdt74"},157:{key:"157",name:"Shibarium Puppynet Testnet",shortName:"testnet",chainId:157,network:"testnet",multicall:"0xA4029b74FBA366c926eDFA7Dd10B21C621170a4c",rpc:[],explorer:{url:"https://puppyscan.shib.io"},start:3035769,logo:"ipfs://bafkreig57igai5phg4icywc5yoockd52jo3hlvbkyi6wiufrmu4p2lmenm",testnet:!0},169:{key:"169",name:"Manta Pacific",shortName:"Manta",chainId:169,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://www.oklink.com/manta"},start:332890,logo:"ipfs://bafkreibbrwgwdcfh755dqh4ndta6tja77qbaa36bfv4pstub6prhhore7a"},204:{key:"204",name:"opBNB",shortName:"mainnet",chainId:204,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"http://opbnbscan.com"},start:512881,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},246:{key:"246",name:"Energy Web Chain",shortName:"EWC",chainId:246,network:"mainnet",multicall:"0x0767F26d0D568aB61A98b279C0b28a4164A6f05e",rpc:["https://voting-rpc.carbonswap.exchange"],explorer:{url:"https://explorer.energyweb.org"},start:12086501,logo:"ipfs://Qmai7AGHgs8NpeGeXgbMZz7pS2i4kw44qubCJYGrZW2f3a"},250:{key:"250",name:"Fantom Opera",shortName:"fantom",chainId:250,network:"Mainnet",multicall:"0x7f6A10218264a22B4309F3896745687E712962a0",rpc:["https://rpc.ankr.com/fantom","https://rpc.ftm.tools","https://rpcapi.fantom.network"],explorer:{url:"https://ftmscan.com"},start:2497732,logo:"ipfs://QmVEgNeQDKnXygeGxfY9FywZpNGQu98ktZtRJ9bToYF6g7"},252:{key:"252",name:"Fraxtal",shortName:"mainnet",chainId:252,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu"},269:{key:"269",name:"High Performance Blockchain",shortName:"HPB",chainId:269,network:"mainnet",multicall:"0x67D0f263aef2F6167FA77353695D75b582Ff4Bca",rpc:["https://hpbnode.com"],ws:["wss://ws.hpbnode.com"],explorer:{url:"https://hscan.org"},start:13960096,logo:"ipfs://QmU7f1MyRz8rLELFfypnWZQjGbDGYgZtC9rjw47jYMYrnu"},300:{key:"300",name:"zkSync Sepolia Testnet",shortName:"testnet",chainId:300,network:"testnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:[],explorer:{url:"https://sepolia.explorer.zksync.dev"},start:2292,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy",testnet:!0},314:{key:"314",name:"Filecoin",shortName:"mainnet",chainId:314,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://filfox.io"},start:3328594,logo:"ipfs://bafybeibyvjfmk6aqlfdrczvth55jkmnoadtrch7ht3rdmvqmy2bfxynecm"},321:{key:"321",name:"KCC",shortName:"KCC",chainId:321,network:"mainnet",multicall:"0xa64D6AFb48225BDA3259246cfb418c0b91de6D7a",rpc:["https://rpc-mainnet.kcc.network"],ws:["wss://rpc-ws-mainnet.kcc.network"],explorer:{url:"https://explorer.kcc.io"},start:1487453,logo:"ipfs://QmRdzYGhFRG8QLzMJahHrw3vETE2YZ9sywQbEkenSjKEvb"},324:{key:"324",name:"zkSync Era",shortName:"zkSync-era",chainId:324,network:"zkSync Era Mainnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:["https://mainnet.era.zksync.io"],explorer:{url:"https://explorer.zksync.io"},start:3908235,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy"},336:{key:"336",name:"Shiden Network",shortName:"Shiden",chainId:336,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shiden.astar.network:8545","https://shiden.api.onfinality.io/public"],explorer:{url:"https://blockscout.com/shiden"},start:1170016,logo:"ipfs://QmcqGQE4Sk73zXc3e91TUFFefKBVeaNgbxV141XkSNE4xj"},369:{key:"369",name:"Pulsechain",shortName:"Pulsechain",chainId:369,network:"mainnet",multicall:"0xdbdd0FD8B16F0092f306392b699D7fbddaA9011B",rpc:["https://rpc.pulsechain.com"],explorer:{url:"https://scan.pulsechain.com"},start:17657774,logo:"ipfs://QmWUsiEWdejtHZ9B9981TYXn7Ds8C7fkB1S4h5rP3kCCZR"},416:{key:"416",name:"SX Network",shortName:"SX",chainId:416,network:"mainnet",multicall:"0x834a005DDCF990Ba1a79f259e840e58F2D14F49a",rpc:["https://rpc.sx.technology"],ws:["wss://rpc.sx.technology/ws"],explorer:{url:"https://explorer.sx.technology"},start:2680605,logo:"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF"},592:{key:"592",name:"Astar Network",shortName:"Astar",chainId:592,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://astar.api.onfinality.io/public","https://rpc.astar.network:8545"],explorer:{url:"https://blockscout.com/astar"},start:366482,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},813:{key:"813",name:"Qitmeer",shortName:"MEER",chainId:813,network:"mainnet",multicall:"0x55034b2cF530ae3A8fC1e2e4523F58496796610F",rpc:["https://evm-dataseed1.meerscan.io","https://evm-dataseed.meerscan.com","https://evm-dataseed2.meerscan.io","https://evm-dataseed3.meerscan.io"],explorer:{url:"https://evm.meerscan.io"},start:43317,logo:"ipfs://QmXvum7SNVaAqAc2jNzR1NpNZN1GGvNaKWydg8a1GEDQ7y"},841:{key:"841",name:"Taraxa",shortName:"841",chainId:841,network:"mainnet",multicall:"0xFCe7a3121B42664AaD145712e1c2Bf2e38f60AA1",rpc:["https://rpc.mainnet.taraxa.io"],ws:["wss://ws.mainnet.taraxa.io"],explorer:{url:"https://mainnet.explorer.taraxa.io"},start:1515906,logo:"ipfs://Qmcc6ZCAGESMzZzoj5LsTVcCo2E35x3Ydk71uPJyov6Mwx"},888:{key:"888",name:"Wanchain",chainId:888,network:"mainnet",multicall:"0xba5934ab3056fca1fa458d30fbb3810c3eb5145f",rpc:["https://gwan-ssl.wandevs.org:56891"],ws:["wss://api.wanchain.org:8443/ws/v3/ddd16770c68f30350a21114802d5418eafe039b722de52b488e7eee1ee2cd73f"],explorer:{url:"https://www.wanscan.org"},start:11302663,logo:"ipfs://QmewFFN44rkxESFsHG8edaLt1znr62hjvZhGynfXqruzX3"},1001:{key:"1001",name:"Kaia Kairos Testnet",shortName:"kaia-kairos",chainId:1001,network:"testnet",testnet:!0,multicall:"0x40643B8Aeaaca0b87Ea1A1E596e64a0e14B1d244",rpc:["https://archive-en-kairos.node.kaia.io"],ws:["wss://archive-en-kairos.node.kaia.io/ws"],explorer:{url:"https://kairos.kaiascan.com"},start:87232478,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},1072:{key:"1072",name:"Shimmer EVM Testnet",shortName:"ShimmerEVM",chainId:1072,network:"testnet",testnet:!0,multicall:"0x751d21047C116413895c259f3f305e38C10B7cF6",rpc:["https://archive.evm.testnet.shimmer.network/v1/chains/rms1pr75wa5xuepg2hew44vnr28wz5h6n6x99zptk2g68sp2wuu2karywgrztx3/evm"],explorer:{url:"https://explorer.evm.testnet.shimmer.network"},start:10614,logo:"ipfs://bafkreihtwfwrue7klzedwx4rqlk6agklz4lbbk7owsyw6xzn6c2m4t5tgy"},1088:{key:"1088",name:"Metis",shortName:"metis",chainId:1088,network:"mainnet",multicall:"0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",rpc:["https://andromeda.metis.io/?owner=1088"],explorer:{url:"https://andromeda-explorer.metis.io"},start:451,logo:"ipfs://bafkreiaqr4atnjpdnk3c4vu4377ai7bzqpgaefefbl5j5imfsvr4puimtu"},1101:{key:"1101",name:"Polygon zkEVM",shortName:"mainnet",chainId:1101,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://zkevm.polygonscan.com"},start:57746,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm"},1116:{key:"1116",name:"Core Chain",shortName:"Core",chainId:1116,network:"mainnet",multicall:"0x024f0041b76B598c2A0a75004F8447FaF67BD004",rpc:["https://rpcar.coredao.org/"],explorer:{url:"https://scan.coredao.org"},start:853908,logo:"ipfs://bafkreigjv5yb7uhlrryzib7j2f73nnwqan2tmfnwjdu26vkk365fyesoiu"},1284:{key:"1284",name:"Moonbeam",shortName:"GLMR",chainId:1284,network:"mainnet",multicall:"0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",rpc:["https://rpc.api.moonbeam.network"],explorer:{url:"https://moonscan.io"},start:171135,logo:"ipfs://QmWKTEK2pj5sBBbHnMHQbWgw6euVdBrk2Ligpi2chrWASk"},1285:{key:"1285",name:"Moonriver (Kusama)",shortName:"Moonriver",chainId:1285,network:"mainnet",multicall:"0x537004440ffFE1D4AE9F009031Fc2b0385FCA9F1",rpc:["https://rpc.api.moonriver.moonbeam.network"],explorer:{url:"https://blockscout.moonriver.moonbeam.network"},start:413539,logo:"ipfs://QmXtgPesL87Ejhq2Y7yxsaPYpf4RcnoTYPJWPcv6iiYhoi"},1287:{key:"1287",name:"Moonbase Alpha TestNet",shortName:"Moonbase",chainId:1287,network:"testnet",testnet:!0,multicall:"0xf09FD6B6FF3f41614b9d6be2166A0D07045A3A97",rpc:["https://rpc.testnet.moonbeam.network"],explorer:{url:"https://moonbase-blockscout.testnet.moonbeam.network"},start:859041,logo:"ipfs://QmeGbNTU2Jqwg8qLTMGW8n8HSi2VdgCncAaeGzLx6gYnD7"},1328:{key:"1328",name:"Sei atlantic testnet",shortName:"testnet",chainId:1328,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://seitrace.com"},start:96978658,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},1329:{key:"1329",name:"Sei",shortName:"mainnet",chainId:1329,network:"mainnet",multicall:"0xe033Bed7cae4114Af84Be1e9F1CA7DEa07Dfe1Cf",rpc:[],explorer:{url:"https://seitrace.com"},start:79164574,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq"},1480:{key:"1480",name:"Vana",shortName:"mainnet",chainId:1480,network:"mainnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://islander.vanascan.io"},start:716763,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa"},1559:{key:"1559",name:"Tenet",shortName:"tenet",chainId:1559,network:"mainnet",multicall:"0xcCB3F00bE353950E4C08501ac8Af48765EAAa738",rpc:[],explorer:{url:"https://tenetscan.io"},start:944415,logo:"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA"},1663:{key:"1663",name:"Horizen Gobi Testnet",shortName:"Gobi",chainId:1663,network:"testnet",testnet:!0,multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:["https://gobi-testnet.horizenlabs.io/ethv1"],explorer:{url:"https://gobi-explorer.horizen.io"},start:1,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},2e3:{key:"2000",name:"Doge Chain",shortName:"dogechain",chainId:2e3,network:"mainnet",multicall:"0x6f9D3f3932B417bd4957585D236Cbc32b32C0BDc",rpc:["https://rpc.dogechain.dog"],explorer:{url:"https://explorer.dogechain.dog"},start:877115,logo:"ipfs://bafkreigovfh3pinsdih777issfgaflwu2yjzroljs2642gbvwikcd3nm4i"},2109:{key:"2109",name:"Exosama Network",shortName:"EXN",chainId:2109,network:"mainnet",multicall:"0x2feFC828e2fEfdE0C9f7740919c6A9139F886067",rpc:["https://rpc.exosama.com"],explorer:{url:"https://explorer.exosama.com"},start:94085,logo:"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS"},2152:{key:"2152",name:"Findora",shortName:"Findora",chainId:2152,network:"mainnet",multicall:"0xCF7D1e21CBe9bdEF235aef06C5d8051B3d4DF0f5",rpc:["https://archive.prod.findora.org:8545/"],explorer:{url:"https://evm.findorascan.io"},start:4219343,logo:"ipfs://QmXkneyRB6HbHTHRLCZpZqSsawiyJY7b2kZ2V8ydvKYAgv"},2192:{key:"2192",name:"SnaxChain",shortName:"mainnet",chainId:2192,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.snaxchain.io"},start:1554893,logo:"ipfs://bafkreibzz757piho2llzkbiszpvalf5k5hpmxcwhvrmgp7vpz2vp4vj7ly"},2221:{key:"2221",name:"Kava Testnet",shortName:"testnet",chainId:2221,network:"testnet",multicall:"0xc7193EFE367DF0C9349a1149F4E95A2A35604262",rpc:[],explorer:{url:"https://testnet.kavascan.com"},start:6193104,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4",testnet:!0},2222:{key:"2222",name:"Kava",shortName:"mainnet",chainId:2222,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://kavascan.com"},start:3661165,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4"},2400:{key:"2400",name:"TCG Verse",shortName:"TCGV",chainId:2400,network:"mainnet",multicall:"0xceC65DEE0b5012F1b7321b2647681F997c7204FC",rpc:["https://rpc.tcgverse.xyz"],explorer:{url:"https://explorer.tcgverse.xyz"},start:57500,logo:"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe"},2522:{key:"2522",name:"Fraxtal Testnet",shortName:"testnet",chainId:2522,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://holesky.fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu",testnet:!0},3338:{key:"3338",name:"peaq",shortName:"mainnet",chainId:3338,network:"mainnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://peaq.subscan.io"},start:3525964,logo:"ipfs://bafkreidqkleori7pmilesz4t52iebebaqf3oflzmoz646qfuaznanb3sgm"},4200:{key:"4200",name:"Merlin",shortName:"merlin",chainId:4200,network:"mainnet",multicall:"0x830E7E548F4D80947a40A7Cf3a2a53166a0C3980",rpc:[],explorer:{url:"https://scan.merlinchain.io"},start:589494,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe"},4337:{key:"4337",name:"Beam",shortName:"Beam",chainId:4337,network:"mainnet",multicall:"0x4956F15eFdc3dC16645e90Cc356eAFA65fFC65Ec",rpc:[],explorer:{url:"https://subnets.avax.network/beam"},start:1,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF"},4689:{key:"4689",name:"IoTeX",shortName:"IoTeX",chainId:4689,network:"mainnet",multicall:"0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",rpc:["https://babel-api.mainnet.iotex.io"],explorer:{url:"https://iotexscan.io"},start:11533283,logo:"ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"},5e3:{key:"5000",name:"Mantle",chainId:5e3,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.mantle.xyz"],explorer:{url:"https://mantlescan.xyz"},start:304717,logo:"ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"},5555:{key:"5555",name:"Chain Verse",shortName:"ChainVerse",chainId:5555,network:"ChainVerse",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.chainverse.info"],explorer:{url:"https://explorer.chainverse.info"},start:6334180,logo:"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk"},5611:{key:"5611",name:"opBNB Testnet",shortName:"testnet",chainId:5611,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://opbnb-testnet.bscscan.com"},start:3705108,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64",testnet:!0},6102:{key:"6102",name:"Cascadia Testnet",shortName:"Cascadia",chainId:6102,network:"testnet",multicall:"0x728989819bAD588F193563008E0a03E8cD6a3e4a",rpc:["https://testnet.cascadia.foundation"],explorer:{url:"https://explorer.cascadia.foundation"},testnet:!0,start:370457,logo:"ipfs://QmWkhZYhReYyaa5pQXj32hEGxoRcBqarFMcfQScELmjYQj"},7332:{key:"7332",name:"Horizen EON",shortName:"EON",chainId:7332,network:"mainnet",multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:[],explorer:{url:"https://eon-explorer.horizenlabs.io"},start:85108,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},7341:{key:"7341",name:"Shyft",shortName:"Shyft",chainId:7341,network:"mainnet",multicall:"0xceb10e9133D771cA93c8002Be527A465E85381a2",rpc:["https://rpc.shyft.network"],explorer:{url:"https://bx.shyft.network"},start:3673983,logo:"ipfs://bafkreifwxnnfk6koabzmxgcxcwlrwt6b5gijdain2gyqee77q4ajfb7fu4"},7560:{key:"7560",name:"Cyber",shortName:"mainnet",chainId:7560,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://cyberscan.co"},start:1731707,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm"},8217:{key:"8217",name:"Kaia Mainnet",shortName:"kaia-mainnet",chainId:8217,network:"mainnet",multicall:"0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",rpc:["https://archive-en.node.kaia.io"],ws:["wss://archive-en.node.kaia.io/ws"],explorer:{url:"https://kaiascan.com"},start:91582357,logo:"ipfs://bafkreifm6l67f4blcv7qwuszalwoxzptt5ad2f3t472lytr3d2hmi626ju"},8453:{key:"8453",name:"Base",shortName:"mainnet",chainId:8453,network:"mainnet",multicall:"0xca11bde05977b3631167028862be2a173976ca11",rpc:[],explorer:{url:"https://basescan.org"},start:5022,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv"},9001:{key:"9001",name:"Evmos Network",shortName:"Evmos",chainId:9001,network:"mainnet",multicall:"0x37763d16f8dBf6F185368E0f256350cAb7E24b26",rpc:["https://eth.bd.evmos.org:8545"],ws:["wss://eth.bd.evmos.org:8546"],explorer:{url:"https://escan.live"},start:13959539,logo:"ipfs://bafkreif4obrdoiretpozdd56seziywc6clha7wwkbldng3ovry2bpzly34"},9990:{key:"9990",name:"Agung testnet",shortName:"testnet",chainId:9990,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://agung-testnet.subscan.io"},start:2031789,logo:"ipfs://bafkreidqkleori7pmilesz4t52iebebaqf3oflzmoz646qfuaznanb3sgm",testnet:!0},1e4:{key:"10000",name:"smartBCH",shortName:"BCH",chainId:1e4,network:"mainnet",multicall:"0x1b38EBAd553f218e2962Cb1C0539Abb5d6A37774",rpc:["https://smartbch.greyh.at/"],explorer:{url:"https://smartbch-explorer.web.app"},start:268248,logo:"ipfs://QmWG1p7om4hZ4Yi4uQvDpxg4si7qVYhtppGbcDGrhVFvMd"},10243:{key:"10243",name:"Arthera Testnet",shortName:"Arthera_",chainId:10243,network:"testnet",testnet:!0,multicall:"0x27c7FC597aD2E81C4c1cA1769972f79DaF042Da7",rpc:["https://rpc-test.arthera.net"],explorer:{url:"https://explorer-test.arthera.net"},start:10523,logo:"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak"},13337:{key:"13337",name:"Beam Testnet",shortName:"testnet",chainId:13337,network:"testnet",multicall:"0x9BF49b704EE2A095b95c1f2D4EB9010510c41C9E",rpc:[],explorer:{url:"https://subnets-test.avax.network/beam"},start:3,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF",testnet:!0},13371:{key:"13371",name:"Immutable zkEVM",shortName:"mainnet",chainId:13371,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.immutable.com"},start:3680945,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi"},13473:{key:"13473",name:"Immutable zkEVM Testnet",shortName:"testnet",chainId:13473,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.testnet.immutable.com"},start:5307209,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi",testnet:!0},14800:{key:"14800",name:"Vana Moksha Testnet",shortName:"testnet",chainId:14800,network:"testnet",multicall:"0xD8d2dFca27E8797fd779F8547166A2d3B29d360E",rpc:[],explorer:{url:"https://moksha.vanascan.io"},start:732283,logo:"ipfs://bafkreibotel3dmc5og5rf3tpt7l74awkene7x6q3oxtwhptt4y4rpa7vsa",testnet:!0},16718:{key:"16718",name:"AirDAO",chainId:16718,network:"mainnet",multicall:"0x25e81aC81A8B03389D78CB45faB78353aB528574",rpc:["https://network-archive.ambrosus.io"],ws:["wss://network-archive.ambrosus.io/ws"],explorer:{url:"https://airdao.io/explorer"},start:22922566,logo:"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom"},29548:{key:"29548",name:"MCH Verse",shortName:"mainnet",chainId:29548,network:"mainnet",multicall:"0x1d39652386488CE1fE4254E105F5A42a04d43dB2",rpc:[],explorer:{url:"https://explorer.oasys.mycryptoheroes.net"},start:27458402,logo:"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU"},33111:{key:"33111",name:"Curtis",shortName:"apechain",chainId:33111,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://explorer.curtis.apechain.com"},start:6661339,logo:"ipfs://bafkreicljxttjq2xkgfwwpii5xegirgq2ctrnsjnzelxudjj33qzq65apu",testnet:!0},33139:{key:"33139",name:"ApeChain",shortName:"mainnet",chainId:33139,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://apechain.calderaexplorer.xyz"},start:20889,logo:"ipfs://bafkreielbgcox2jsw3g6pqulqb7pyjgx7czjt6ahnibihaij6lozoy53w4"},42161:{key:"42161",name:"Arbitrum One",chainId:42161,network:"Arbitrum mainnet",multicall:"0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee",rpc:["https://rpc.ankr.com/arbitrum","https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/arbitrum/mainnet","https://arb-mainnet.g.alchemy.com/v2/JDvtNGwnHhTltIwfnxQocKwKkCTKA1DL"],explorer:{url:"https://arbiscan.io"},start:256508,logo:"ipfs://QmWZ5SMRfvcK8tycsDqojQaSiKedgtVkS7CkZdxPgeCVsZ"},42170:{key:"42170",name:"Arbitrum Nova",chainId:42170,network:"Arbitrum Nova",multicall:"0x4E74EBd9CABff51cE9a43EFe059bA8c5A28E4A14",rpc:["https://nova.arbitrum.io/rpc","https://arbitrum-nova.public.blastapi.io"],explorer:{url:"https://nova.arbiscan.io"},start:6006607,logo:"ipfs://bafkreie5xsqt3mrrwu7v32qpmmctibhzhgxf4emfzzddsdhdlfsa7fmplu"},42220:{key:"42220",name:"Celo",shortName:"Celo",chainId:42220,network:"mainnet",multicall:"0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",rpc:["https://celo.snapshot.org","https://forno.celo.org","https://celo-mainnet--rpc.datahub.figment.io/apikey/e892a66dc36e4d2d98a5d6406d609796/"],explorer:{url:"https://explorer.celo.org"},start:6599803,logo:"ipfs://QmS2tVJ7rdJRe1NHXAi2L86yCbUwVVrmB2mHQeNdJxvQti"},43113:{key:"43113",name:"Avalanche FUJI Testnet",chainId:43113,network:"testnet",testnet:!0,multicall:"0x984476ea55e32e785A9D8FF14329f99D74E3d2A2",rpc:["https://api.avax-test.network/ext/bc/C/rpc"],explorer:{url:"https://testnet.snowtrace.io"},start:10528153,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},43114:{key:"43114",name:"Avalanche",chainId:43114,network:"mainnet",multicall:"0x7E9985aE4C8248fdB07607648406a48C76e9e7eD",rpc:["https://nd-784-543-849.p2pify.com/aa7b29fc5fed65b34f0ee6b8de33f8c0/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://api.avax.network/ext/bc/C/rpc"],explorer:{url:"https://snowtrace.io"},start:536483,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},47805:{key:"47805",name:"REI Mainnet",chainId:47805,network:"mainnet",multicall:"0x9eE9904815B80C39C1a27294E69a8626EAa7952d",rpc:["https://rpc.rei.network"],explorer:{url:"https://scan.rei.network"},start:1715902,logo:"ipfs://QmTogMDLmDgJjDjUKDHDuc2KVTVDbXf8bXJLFiVe8PRxgo"},53935:{key:"53935",name:"DFK Chain",chainId:53935,network:"mainnet",multicall:"0x5b24224dC16508DAD755756639E420817DD4c99E",rpc:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"],explorer:{url:"https://subnets.avax.network/defi-kingdoms"},start:62,logo:"ipfs://QmZNkpVgPbuVbDcsi6arwH1om3456FGnwfDqYQJWUfHDEx"},57054:{key:"57054",name:"Sonic Blaze Testnet",shortName:"testnet",chainId:57054,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://testnet.sonicscan.org"},start:60,logo:"ipfs://bafkreic5fffatwy2gzf6y5iymje6ijii43tz4wlxl35da36guurhibjx44",testnet:!0},59141:{key:"59141",name:"Linea Sepolia",shortName:"testnet",chainId:59141,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.lineascan.build"},start:227427,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce",testnet:!0},59144:{key:"59144",name:"Linea",shortName:"linea",chainId:59144,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://lineascan.build"},start:42,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce"},80001:{key:"80001",name:"Polygon Mumbai",chainId:80001,network:"testnet",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/polygon/mumbai/archive","https://rpc-mumbai.matic.today"],ws:["wss://ws-mumbai.matic.today"],explorer:{url:"https://mumbai.polygonscan.com",apiUrl:"https://api-mumbai.polygonscan.com"},start:12011090,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},80002:{key:"80002",name:"Polygon Amoy Testnet",shortName:"testnet",chainId:80002,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://amoy.polygonscan.com"},start:3127388,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm",testnet:!0},81457:{key:"81457",name:"Blast",shortName:"mainnet",chainId:81457,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://blastscan.io"},start:88189,logo:"ipfs://bafkreicqhrimt2zyp2kvhmbpvffxlmxovkg5vw6zkissyzibcfy45kbvrm"},84532:{key:"84532",name:"Base Sepolia",shortName:"testnet",chainId:84532,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://base-sepolia.blockscout.com"},start:1059647,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv",testnet:!0},686868:{key:"686868",name:"Merlin Testnet",shortName:"merlin",chainId:686868,network:"testnet",multicall:"0x758BC6321b7c68F4986d62a4D46E83A2DCb58c80",rpc:[],explorer:{url:"https://testnet-scan.merlinchain.io"},start:3562021,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe",testnet:!0},713715:{key:"713715",name:"Sei EVM Devnet",shortName:"devnet",chainId:713715,network:"testnet",multicall:"0xEe8d287B844959ADe40d718Dc23077ba920e2f07",rpc:[],explorer:{url:"https://seitrace.com"},start:1463669,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},810180:{key:"810180",name:"zkLink Nova",shortName:"zlink",chainId:810180,network:"mainnet",multicall:"0x825267E0fA5CAe92F98540828a54198dcB3Eaeb5",rpc:[],explorer:{url:"https://explorer.zklink.io"},start:146055,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74"},810181:{key:"810181",name:"zkLink Nova Sepolia",shortName:"testnet",chainId:810181,network:"testnet",multicall:"0x97148F8fDdd9A1620f72EC1Bb2932916623d9da5",rpc:[],explorer:{url:"https://sepolia.explorer.zklink.io"},start:43723,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74",testnet:!0},11155111:{key:"11155111",name:"Sepolia testnet",shortName:"Sepolia",chainId:11155111,network:"sepolia",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://sepolia.infura.io/v3/d26b4fd748814fe994b05899fd89e667"],ensResolvers:["0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],ensNameWrapper:"0x0635513f179D50A207757E05759CbD106d7dFcE8",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/DmMXLtMZnGbQXASJ7p1jfzLUbBYnYUD9zNBTxpkjHYXV",explorer:{url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io"},start:751532,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},11155420:{key:"11155420",name:"OP Sepolia",shortName:"testnet",chainId:11155420,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia-optimism.etherscan.io"},start:1620204,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb",testnet:!0},111557560:{key:"111557560",name:"Cyber Testnet",shortName:"testnet",chainId:111557560,network:"testnet",multicall:"0xffc391F0018269d4758AEA1a144772E8FB99545E",rpc:[],explorer:{url:"https://testnet.cyberscan.co"},start:304545,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm",testnet:!0},168587773:{key:"168587773",name:"Blast Sepolia",shortName:"testnet",chainId:168587773,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.blastexplorer.io"},start:756690,logo:"ipfs://bafkreibfmkjg22cozxppzcoxswj45clvh2rqhxzax57cmmgudbtkf4dkce",testnet:!0},245022926:{key:"245022926",name:"Neon Devnet",shortName:"devnet",chainId:245022926,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://devnet.neonscan.org"},start:205206112,logo:"ipfs://QmecRPQGa4bU7tybg1sUQY48Md9rWnmhrT6WW5ueqvhg6P",testnet:!0},1313161554:{key:"1313161554",name:"Aurora",shortName:"Aurora",chainId:1313161554,network:"mainnet",multicall:"0x32b50c286DEFd2932a0247b8bb940b78c063F16c",rpc:["https://mainnet.aurora.dev"],explorer:{url:"https://explorer.mainnet.aurora.dev"},start:57190533,logo:"ipfs://QmeRhsR1UPRTQCizdhmgr2XxphXebVKU5di97uCV2UMFpa"},16666e5:{key:"1666600000",name:"Harmony",shortName:"HarmonyMainnet",chainId:16666e5,network:"mainnet",multicall:"0x9c31392D2e0229dC4Aa250F043d46B9E82074BF8",rpc:["https://a.api.s0.t.hmny.io"],ws:["wss://ws.s0.t.hmny.io"],explorer:{url:"https://explorer.harmony.one"},start:10911984,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"},16667e5:{key:"1666700000",name:"Harmony Testnet",shortName:"HarmonyTestnet",chainId:16667e5,network:"testnet",testnet:!0,multicall:"0x9923589503Fd205feE3d367DDFF2378f0F7dD2d4",rpc:["https://api.s0.b.hmny.io"],ws:["wss://ws.s0.b.hmny.io"],explorer:{url:"https://explorer.pops.one"},start:7521509,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"}};class qI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"number"==typeof t&&void 0!==(null==e?void 0:e[t-1])}getValidVotes(){return this.votes.filter((t=>qI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>{const r=this.getValidVotes().filter((t=>t.choice===e+1));return r.reduce(((t,e)=>t+e.balance),0)}))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>{const r=this.strategies.map(((t,r)=>{const i=this.getValidVotes().filter((t=>t.choice===e+1));return i.reduce(((t,e)=>t+e.scores[r]),0)}));return r}))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices[this.selected-1]}}class HI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size}getValidVotes(){return this.votes.filter((t=>HI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.balance),0)))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.scores[r]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected?this.proposal.choices.filter(((t,e)=>this.selected.includes(e+1))).join(", "):""}}function VI(t,e){const r=t/e.reduce(((t,e)=>t+e),0);return isNaN(r)?0:r}function ZI(t,e){return Math.sqrt(t*e)}function GI(t){return t*t}function KI(t,e){return t.map((t=>e*t))}class JI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>JI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>{const i=t.map((t=>ZI(VI(t.choice[r+1],Object.values(t.choice)),t.balance))).reduce(((t,e)=>t+e),0);return GI(i)}));return KI(r.map(((t,e)=>VI(r[e],r))),e)}getScoresByStrategy(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.map((t=>ZI(VI(t.choice[r+1],Object.values(t.choice)),t.scores[i]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[GI(t)]))));return r.map(((t,i)=>KI(this.strategies.map(((t,e)=>VI(r[i][e][0],r.flat(2)))),e)))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1]){const r=VI(this.selected[e+1],Object.values(this.selected));return`${Math.round(1e3*r)/10}% for ${t}`}})).filter((t=>null!=t)).join(", ")}}function QI(t,e){const r=[...new Set(t.map((t=>t[0])).flat())],i=Object.entries(t.reduce(((t,[e],r,i)=>{const n=i[r][1];t[e[0]][0]+=n;const o=i[r][2];return o.length>1?t[e[0]][1]=o.map(((r,i)=>r+t[e[0]][1][i]||r)):t[e[0]][1]=[t[e[0]][1].concat(o).reduce(((t,e)=>t+e),0)],t}),Object.assign({},...r.map((t=>({[t]:[0,[]]})))))),n=i.map((t=>[t[0],t[1][0]])),[o,s]=n.reduce((([t,e],[r,i])=>i>e?[r,i]:[t,e]),["?",-1/0]),[a,h]=n.reduce((([t,e],[r,i])=>i<e?[r,i]:[t,e]),["?",1/0]),u=i.sort(((t,e)=>e[1][0]-t[1][0])),l=t.map((t=>t[1])).reduce(((t,e)=>t+e),0);return e.push({round:e.length+1,sortedByHighest:u}),s>l/2||u.length<3?e:QI(t.map((t=>[t[0].filter((t=>t!=a)),t[1],t[2]])).filter((t=>t[0].length>0)),e)}function YI(t){const e=QI(t.map((t=>[t.choice,t.balance,t.scores])),[]);return e[e.length-1].sortedByHighest}class WI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size&&t.length>0&&t.length===e.length}getValidVotes(){return this.votes.filter((t=>WI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return function(t,e){const r=YI(t);return e.choices.map(((t,e)=>r.filter((t=>Number(t[0])===e+1)).reduce(((t,e)=>t+e[1][0]),0)))}(this.getValidVotes(),this.proposal)}getScoresByStrategy(){const t=YI(this.getValidVotes());return this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.filter((t=>Number(t[0])===r+1)).reduce(((t,e)=>t+e[1][1][i]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected.map((t=>{if(this.proposal.choices[t-1])return this.proposal.choices[t-1]})).map(((t,e)=>`(${xR(e+1)}) ${t}`)).join(", ")}}function XI(t,e,r){const i=r.reduce(((t,e)=>t+e),0),n=e[t]/i*100;return isNaN(n)?0:n}function tR(t,e,r){return XI(t+1,e,Object.values(e))/100*r}class eR{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>eR.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.proposal.choices.map(((t,e)=>this.getValidVotes().map((t=>tR(e,t.choice,t.balance))).reduce(((t,e)=>t+e),0))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((e,r)=>XI(r,t,t))).map((t=>e/100*t))}getScoresByStrategy(){const t=this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().map((t=>tR(e,t.choice,t.scores[r]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[t])))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((r,i)=>this.strategies.map(((e,r)=>XI(0,t[i][r],t.flat(2)))).map((t=>[e/100*t])).flat()))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1])return`${Math.round(10*XI(e+1,this.selected,Object.values(this.selected)))/10}% for ${t}`})).filter((t=>null!=t)).join(", ")}}var rR={"single-choice":qI,approval:HI,quadratic:JI,"ranked-choice":WI,weighted:eR,basic:qI};const iR={1:"https://subgrapher.snapshot.org/delegation/1",10:"https://subgrapher.snapshot.org/delegation/10",56:"https://subgrapher.snapshot.org/delegation/56",100:"https://subgrapher.snapshot.org/delegation/100",137:"https://subgrapher.snapshot.org/delegation/137",146:"https://subgrapher.snapshot.org/delegation/146",250:"https://subgrapher.snapshot.org/delegation/250",5e3:"https://subgrapher.snapshot.org/delegation/5000",8453:"https://subgrapher.snapshot.org/delegation/8453",42161:"https://subgrapher.snapshot.org/delegation/42161",59144:"https://subgrapher.snapshot.org/delegation/59144",81457:"https://subgrapher.snapshot.org/delegation/81457",84532:"https://subgrapher.snapshot.org/delegation/84532",11155111:"https://subgrapher.snapshot.org/delegation/11155111"},nR=1e3;function oR(t){return t.length===nR&&t[0].timestamp===t[t.length-1].timestamp}function sR(t,e){const r=function(t){return`${t.delegator}-${t.delegate}-${t.space}`}(e);t.has(r)||t.set(r,e)}function aR(t){const e=["",t];return t.includes(".eth")&&e.push(t.replace(".eth","")),e}function hR(t){return e(this,arguments,void 0,(function*({url:t,spaces:e,pivot:r,snapshot:i}){const n={delegations:{__args:{where:{timestamp_gte:r},first:nR,skip:0,orderBy:"timestamp",orderDirection:"asc"},delegator:!0,space:!0,delegate:!0,timestamp:!0}};return"latest"!==i&&(n.delegations.__args.block={number:i}),null!==e&&(n.delegations.__args.where.space_in=e),(yield MR(t,n)).delegations||[]}))}const uR="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",lR=["function text(bytes32 node, string calldata key) external view returns (string memory)","function resolver(bytes32 node) view returns (address)"],cR={"0x534e5f4d41494e":{name:"Starknet",testnet:!1},"0x534e5f5345504f4c4941":{name:"Starknet Sepolia",testnet:!0}},fR={Accept:"application/json","Content-Type":"application/json"},dR="https://score.snapshot.org";function mR(t=dR,e={path:""}){const r=new URL(t);e.path&&(r.pathname=e.path);const i=r.searchParams.get("apiKey");let n=Object.assign({},fR);return i&&(r.searchParams.delete("apiKey"),n=Object.assign(Object.assign({},fR),{"X-API-KEY":i})),{url:r.toString(),headers:n}}function pR(t){return e(this,void 0,void 0,(function*(){let e=yield t.text();try{e=JSON.parse(e)}catch(r){return Promise.reject({code:t.status||500,message:"Failed to parse response from score API",data:e})}return e.error?Promise.reject(e.error):e}))}const gR=new Ed({allErrors:!0,allowUnionTypes:!0,$data:!0,passContext:!0});Nd(gR),Id(gR),gR.addFormat("address",{validate:t=>{try{return t===Ce(t)}catch(t){return!1}}}),gR.addFormat("evmAddress",{validate:t=>{try{return Ce(t),!0}catch(t){return!1}}}),gR.addFormat("starknetAddress",{validate:t=>{try{return XS(t)===t}catch(t){return!1}}}),gR.addFormat("long",{validate:()=>!0}),gR.addFormat("lowercase",{validate:t=>t===t.toLowerCase()}),gR.addFormat("color",{validate:t=>!!t&&!!t.match(/^#[0-9A-F]{6}$/)}),gR.addFormat("ethValue",{validate:t=>{if(!t.match(/^([0-9]|[1-9][0-9]+)(\.[0-9]+)?$/))return!1;try{return function(t,e){if("string"!=typeof t&&uu.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=lu.indexOf(e);-1!==t&&(e=3*t)}Kh(t,null!=e?e:18)}(t,18),!0}catch(t){return!1}}});const yR=Object.keys(zI),vR=Object.keys(zI).filter((t=>!zI[t].testnet));function wR(t,r,i,n){return e(this,void 0,void 0,(function*(){const e=new hh(i[0],r,t);try{const t=i[2]||[];return yield e[i[1]](...t,n||{})}catch(t){return Promise.reject(t)}}))}function bR(t,r,i,n,o){return e(this,void 0,void 0,(function*(){const e=(null==o?void 0:o.multicallAddress)||zI[t].multicall,s=new hh(e,["function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"],r),a=new bn(i);try{const t=(null==o?void 0:o.limit)||500;(null==o?void 0:o.limit)&&delete o.limit;const e=Math.ceil(n.length/t),r=[];Array.from(Array(e)).forEach(((e,i)=>{const h=n.slice(t*i,t*(i+1));r.push(s.aggregate(h.map((t=>[t[0].toLowerCase(),a.encodeFunctionData(t[1],t[2])])),o||{}))}));let i=yield Promise.all(r);return i=i.reduce(((t,[,e])=>t.concat(e)),[]),i.map(((t,e)=>a.decodeFunctionResult(n[e][1],t)))}catch(t){return Promise.reject(t)}}))}function MR(t,r){return e(this,arguments,void 0,(function*(t,e,r={}){const i={query:Kl.jsonToGraphQLQuery({query:e})};r.variables&&(i.variables=r.variables);const n=yield a(t,{method:"POST",headers:Object.assign({Accept:"application/json","Content-Type":"application/json"},null==r?void 0:r.headers),body:JSON.stringify(i)});let o=yield n.text();try{o=JSON.parse(o)}catch(e){throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${o.substring(0,400)}`)}if(o.errors)throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${JSON.stringify(o.errors).substring(0,400)}`);const{data:s}=o;return s||{}}))}function _R(t,e=jI[0]){const r=`https://${e}`;if(!t)return null;if(!(t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("https://")||t.startsWith("http://")))return`${r}/ipfs/${t}`;const i=t.split("://")[0];return"ipfs"===i?t.replace("ipfs://",`${r}/ipfs/`):"ipns"===i?t.replace("ipns://",`${r}/ipns/`):t}function ER(r,i){return e(this,arguments,void 0,(function*(e,r,i="1",n={}){var o,s;const{ensResolvers:a=(null===(o=zI[i])||void 0===o?void 0:o.ensResolvers)||zI[1].ensResolvers,broviderUrl:h}=n,u=t(n,["ensResolvers","broviderUrl"]);let l;try{l=ml(dl(e))}catch(t){return null}const c=Eg(i,{broviderUrl:h}),f=[[uR,"resolver",[l]],...a.map((t=>[t,"text",[l,r]]))],[[d],...m]=yield bR(i,c,lR,f,u),p=a.indexOf(d);return-1!==p?null===(s=m[p])||void 0===s?void 0:s[0]:null}))}function AR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){try{return yield ER(t,"snapshot",e,r)}catch(t){return console.log(t),null}}))}function kR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=Eg(e,r),n=new hh(uR,["function owner(bytes32) view returns (address)"],i);let o;try{o=ml(dl(t))}catch(t){return null}const s=r.ensNameWrapper||zI[e].ensNameWrapper;let a=yield n.owner(o);if(a===s){const t=new hh(s,["function ownerOf(uint256) view returns (address)"],i);a=yield t.ownerOf(o)}return a}))}function xR(t){const e=["th","st","nd","rd"],r=t%100;return t+(e[(r-20)%10]||e[r]||e[0])}function NR(t){return!!zI[t]}function SR(t){return Pe(t)&&"0x0000000000000000000000000000000000000000"!==t}function IR(t,e){return"latest"===t||"number"==typeof t&&t>=zI[e].start}function RR(t){if(!t)return!1;try{return XS(t),!0}catch(t){return!1}}function TR(t){return Pe(t)}function CR(t){return Promise.reject(new Error(t))}gR.addKeyword({keyword:"snapshotNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?vR.includes(e):yR.includes(e)},error:{message:"network not allowed"}}),gR.addKeyword({keyword:"starknetNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?Object.keys(cR).filter((t=>!cR[t].testnet)).includes(e):Object.keys(cR).includes(e)},error:{message:"network not allowed"}}),gR.addFormat("customUrl",{type:"string",validate:t=>!t.length||(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("snapshot://"))}),gR.addFormat("domain",{validate:t=>!!t&&!!t.match(/^(https:\/\/)?([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}(\/)?$/)});var PR={call:wR,multicall:bR,subgraphRequest:MR,ipfsGet:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="ipfs"){return a(`https://${t}/${r}/${e}`).then((t=>t.json()))}))},getUrl:_R,getJSON:function(t){return e(this,arguments,void 0,(function*(t,e={}){const r=_R(t,e.gateways);return a(r).then((t=>t.json()))}))},sendTransaction:function(t,r,i,n,o){return e(this,arguments,void 0,(function*(t,e,r,i,n,o={}){const s=t.getSigner(),a=new hh(e,r,t).connect(s);return yield a[i](...n,o)}))},getScores:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n="latest",o=dR,s={}){if(!Array.isArray(i))return CR("addresses should be an array of addresses");if(0===i.length)return CR("addresses can not be empty");const h=i.find((t=>!SR(t)));if(h)return CR(`Invalid address: ${h}`);if(!NR(r))return CR(`Invalid network: ${r}`);const u=e.find((t=>t.network&&!NR(t.network)));if(u)return CR(`Invalid network (${u.network}) in strategy ${u.name}`);if(!IR(n,r))return CR(`Snapshot (${n}) must be 'latest' or greater than network start block (${zI[r].start})`);new URL(o).pathname="/api/scores";const{url:l,headers:c}=mR(o,{path:"/api/scores"});try{const o={space:t,network:r,snapshot:n,strategies:e,addresses:i},h=yield a(l,{method:"POST",headers:c,body:JSON.stringify({params:o})}),u=yield pR(h);return"all"===s.returnValue?u.result:u.result[s.returnValue||"scores"]}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},getVp:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){const{url:e,headers:u}=mR(null==h?void 0:h.url);if(!SR(t))return CR(`Invalid voter address: ${t}`);if(!NR(r))return CR(`Invalid network: ${r}`);const l=i.find((t=>t.network&&!NR(t.network)));if(l)return CR(`Invalid network (${l.network}) in strategy ${l.name}`);if(!IR(n,r))return CR(`Snapshot (${n}) must be 'latest' or greater than network start block (${zI[r].start})`);const c={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"get_vp",params:{address:t,network:r,strategies:i,snapshot:n,space:o,delegation:s}})};try{const t=yield a(e,c);return(yield pR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},validateSchema:function(t,e,r={snapshotEnv:"default",spaceType:"default"}){const i=gR.compile(t),n=i.call(r,e);return n||i.errors},getEnsTextRecord:ER,getSpaceUri:AR,getEnsOwner:kR,getSpaceController:function(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=yield AR(t,e,r);if(i){let t=Pe(i);if(t)return i;const e=i.split("/"),r=e.includes("testnet")?5:4,n=e[r];if(t=Pe(n),t)return n}return yield kR(t,e,r)}))},getDelegatesBySpace:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="latest",i={}){const n=i.subgraphUrl||iR[t];if(!n)return Promise.reject(`Delegation subgraph not available for network ${t}`);let o=0;const s=new Map,a=e?aR(e):null;for(;;){const t=yield hR({url:n,spaces:a,pivot:o,snapshot:r});if(oR(t))throw new Error("Unable to paginate delegation");if(t.forEach((t=>{sR(s,t),o=t.timestamp})),t.length<nR)break}return[...s.values()]}))},clone:function(t){return JSON.parse(JSON.stringify(t))},sleep:function(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>{setTimeout(e,t)}))}))},getNumberWithOrdinal:xR,voting:rR,getProvider:Eg,signMessage:function(t,r,i){return e(this,void 0,void 0,(function*(){return r=I(new Buffer(r,"utf8")),yield t.send("personal_sign",[r,i])}))},getBlockNumber:function(t){return e(this,void 0,void 0,(function*(){try{const e=yield t.getBlockNumber();return parseInt(e)}catch(t){return Promise.reject()}}))},Multicaller:class{constructor(t,e,r,i){this.options={},this.calls=[],this.paths=[],this.network=t,this.provider=e,this.abi=r,this.options=i||{}}call(t,e,r,i){return this.calls.push([e,r,i]),this.paths.push(t),this}execute(t){return e(this,void 0,void 0,(function*(){const e=t||{};return(yield bR(this.network,this.provider,this.abi,this.calls,this.options)).forEach(((t,r)=>_m(e,this.paths[r],t.length>1?t:t[0]))),this.calls=[],this.paths=[],e}))}},getSnapshots:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n={}){const o={};if(i.forEach((t=>o[t]="latest")),"latest"===e)return o;const s=`${t}-${e}-${i.join("-")}`,a=Em[s],h=Date.now();if(a&&Am>h)return a;Am<h&&(Em={},Am=h+36e5-h%36e5),o[t]=e;const u=Object.keys(o).filter((e=>t!==e));if(0===u.length)return o;const l={blocks:{__args:{where:{ts:(yield r.getBlock(e)).timestamp,network_in:u}},network:!0,number:!0}},c=n.blockFinderUrl||"https://blockfinder.snapshot.org";return(yield MR(c,l)).blocks.forEach((t=>o[t.network]=t.number)),Em[s]=o,o}))},getHash:function(t,e){return(iI(t)?oI:FI).getHash(t,e)},verify:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){if(!RR(t)&&!TR(t))throw new Error("Invalid address");const o=iI(r)?oI:FI;return yield o.default(t,e,r,i,n)}))},validate:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){if(!SR(r))return CR(`Invalid author: ${r}`);if(!NR(n))return CR(`Invalid network: ${n}`);if(!IR(o,n))return CR(`Snapshot (${o}) must be 'latest' or greater than network start block (${zI[n].start})`);h||(h={});const{url:e,headers:u}=mR(h.url),l={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"validate",params:{validation:t,author:r,space:i,network:n,snapshot:o,params:s}})};try{const t=yield a(e,l);return(yield pR(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},isStarknetAddress:RR,isEvmAddress:TR,getFormattedAddress:function(t,e){if("evm"===e&&TR(t))return Ce(t);if("starknet"===e&&RR(t))return XS(t);throw new Error(`Invalid address: ${t}`)},SNAPSHOT_SUBGRAPH_URL:iR};return{Client:or,Client712:or,schemas:dr,utils:PR}}));
|