@imtbl/sdk 0.31.0 → 0.31.1
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/blockchain_data.js +1 -1
- package/dist/browser/checkout/sdk.js +2 -2
- package/dist/browser/checkout/widgets.js +1 -1
- package/dist/checkout_sdk.js +3 -3
- package/dist/immutablex_client.js +1 -1
- package/dist/index.browser.js +4 -4
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.js +5 -5
- package/dist/passport.js +2 -2
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
7
7
|
* @copyright Chen, Yi-Cyuan 2015-2018
|
|
8
8
|
* @license MIT
|
|
9
|
-
*/!function(e){!function(){var t="input is invalid type",n="object"==typeof window,r=n?window:{};r.JS_SHA3_NO_WINDOW&&(n=!1);var i=!n&&"object"==typeof self;!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node?r=ze:i&&(r=self);var o=!r.JS_SHA3_NO_COMMON_JS&&e.exports,a=!r.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,s="0123456789abcdef".split(""),u=[4,1024,262144,67108864],l=[0,8,16,24],c=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],d=[224,256,384,512],f=[128,256],p=["hex","buffer","arrayBuffer","array","digest"],h={128:168,256:136};!r.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!a||!r.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var m=function(e,t,n){return function(r){return new O(e,t,e).update(r)[n]()}},y=function(e,t,n){return function(r,i){return new O(e,t,i).update(r)[n]()}},A=function(e,t,n){return function(t,r,i,o){return x["cshake"+e].update(t,r,i,o)[n]()}},g=function(e,t,n){return function(t,r,i,o){return x["kmac"+e].update(t,r,i,o)[n]()}},b=function(e,t,n,r){for(var i=0;i<p.length;++i){var o=p[i];e[o]=t(n,r,o)}return e},v=function(e,t){var n=m(e,t,"hex");return n.create=function(){return new O(e,t,e)},n.update=function(e){return n.create().update(e)},b(n,m,e,t)},w=[{name:"keccak",padding:[1,256,65536,16777216],bits:d,createMethod:v},{name:"sha3",padding:[6,1536,393216,100663296],bits:d,createMethod:v},{name:"shake",padding:[31,7936,2031616,520093696],bits:f,createMethod:function(e,t){var n=y(e,t,"hex");return n.create=function(n){return new O(e,t,n)},n.update=function(e,t){return n.create(t).update(e)},b(n,y,e,t)}},{name:"cshake",padding:u,bits:f,createMethod:function(e,t){var n=h[e],r=A(e,0,"hex");return r.create=function(r,i,o){return i||o?new O(e,t,r).bytepad([i,o],n):x["shake"+e].create(r)},r.update=function(e,t,n,i){return r.create(t,n,i).update(e)},b(r,A,e,t)}},{name:"kmac",padding:u,bits:f,createMethod:function(e,t){var n=h[e],r=g(e,0,"hex");return r.create=function(r,i,o){return new N(e,t,i).bytepad(["KMAC",o],n).bytepad([r],n)},r.update=function(e,t,n,i){return r.create(e,n,i).update(t)},b(r,g,e,t)}}],x={},E=[],T=0;T<w.length;++T)for(var C=w[T],k=C.bits,S=0;S<k.length;++S){var I=C.name+"_"+k[S];if(E.push(I),x[I]=C.createMethod(k[S],C.padding),"sha3"!==C.name){var P=C.name+k[S];E.push(P),x[P]=x[I]}}function O(e,t,n){this.blocks=[],this.s=[],this.padding=t,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(31&n)>>3;for(var r=0;r<50;++r)this.s[r]=0}function N(e,t,n){O.call(this,e,t,n)}O.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(a&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||a&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}for(var i,o,s=this.blocks,u=this.byteCount,c=e.length,d=this.blockCount,f=0,p=this.s;f<c;){if(this.reset)for(this.reset=!1,s[0]=this.block,i=1;i<d+1;++i)s[i]=0;if(n)for(i=this.start;f<c&&i<u;++f)s[i>>2]|=e[f]<<l[3&i++];else for(i=this.start;f<c&&i<u;++f)(o=e.charCodeAt(f))<128?s[i>>2]|=o<<l[3&i++]:o<2048?(s[i>>2]|=(192|o>>6)<<l[3&i++],s[i>>2]|=(128|63&o)<<l[3&i++]):o<55296||o>=57344?(s[i>>2]|=(224|o>>12)<<l[3&i++],s[i>>2]|=(128|o>>6&63)<<l[3&i++],s[i>>2]|=(128|63&o)<<l[3&i++]):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++f)),s[i>>2]|=(240|o>>18)<<l[3&i++],s[i>>2]|=(128|o>>12&63)<<l[3&i++],s[i>>2]|=(128|o>>6&63)<<l[3&i++],s[i>>2]|=(128|63&o)<<l[3&i++]);if(this.lastByteIndex=i,i>=u){for(this.start=i-u,this.block=s[d],i=0;i<d;++i)p[i]^=s[i];R(p),this.reset=!0}else this.start=i}return this},O.prototype.encode=function(e,t){var n=255&e,r=1,i=[n];for(n=255&(e>>=8);n>0;)i.unshift(n),n=255&(e>>=8),++r;return t?i.push(r):i.unshift(r),this.update(i),i.length},O.prototype.encodeString=function(e){var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(a&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||a&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}var i=0,o=e.length;if(n)i=o;else for(var s=0;s<e.length;++s){var u=e.charCodeAt(s);u<128?i+=1:u<2048?i+=2:u<55296||u>=57344?i+=3:(u=65536+((1023&u)<<10|1023&e.charCodeAt(++s)),i+=4)}return i+=this.encode(8*i),this.update(e),i},O.prototype.bytepad=function(e,t){for(var n=this.encode(t),r=0;r<e.length;++r)n+=this.encodeString(e[r]);var i=t-n%t,o=[];return o.length=i,this.update(o),this},O.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,n=this.blockCount,r=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[n],t=1;t<n+1;++t)e[t]=0;for(e[n-1]|=2147483648,t=0;t<n;++t)r[t]^=e[t];R(r)}},O.prototype.toString=O.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,u="";a<r;){for(o=0;o<t&&a<r;++o,++a)e=n[o],u+=s[e>>4&15]+s[15&e]+s[e>>12&15]+s[e>>8&15]+s[e>>20&15]+s[e>>16&15]+s[e>>28&15]+s[e>>24&15];a%t==0&&(R(n),o=0)}return i&&(e=n[o],u+=s[e>>4&15]+s[15&e],i>1&&(u+=s[e>>12&15]+s[e>>8&15]),i>2&&(u+=s[e>>20&15]+s[e>>16&15])),u},O.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(r+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a<r;){for(o=0;o<t&&a<r;++o,++a)u[a]=n[o];a%t==0&&R(n)}return i&&(u[o]=n[o],e=e.slice(0,s)),e},O.prototype.buffer=O.prototype.arrayBuffer,O.prototype.digest=O.prototype.array=function(){this.finalize();for(var e,t,n=this.blockCount,r=this.s,i=this.outputBlocks,o=this.extraBytes,a=0,s=0,u=[];s<i;){for(a=0;a<n&&s<i;++a,++s)e=s<<2,t=r[a],u[e]=255&t,u[e+1]=t>>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%n==0&&R(r)}return o&&(e=s<<2,t=r[a],u[e]=255&t,o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u},N.prototype=new O,N.prototype.finalize=function(){return this.encode(this.outputBits,!0),O.prototype.finalize.call(this)};var R=function(e){var t,n,r,i,o,a,s,u,l,d,f,p,h,m,y,A,g,b,v,w,x,E,T,C,k,S,I,P,O,N,R,M,L,D,F,B,j,z,_,U,H,W,V,q,X,G,Z,Y,K,Q,J,$,ee,te,ne,re,ie,oe,ae,se,ue,le,ce;for(r=0;r<48;r+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],t=(p=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),n=(h=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=n,e[10]^=t,e[11]^=n,e[20]^=t,e[21]^=n,e[30]^=t,e[31]^=n,e[40]^=t,e[41]^=n,t=i^(u<<1|l>>>31),n=o^(l<<1|u>>>31),e[2]^=t,e[3]^=n,e[12]^=t,e[13]^=n,e[22]^=t,e[23]^=n,e[32]^=t,e[33]^=n,e[42]^=t,e[43]^=n,t=a^(d<<1|f>>>31),n=s^(f<<1|d>>>31),e[4]^=t,e[5]^=n,e[14]^=t,e[15]^=n,e[24]^=t,e[25]^=n,e[34]^=t,e[35]^=n,e[44]^=t,e[45]^=n,t=u^(p<<1|h>>>31),n=l^(h<<1|p>>>31),e[6]^=t,e[7]^=n,e[16]^=t,e[17]^=n,e[26]^=t,e[27]^=n,e[36]^=t,e[37]^=n,e[46]^=t,e[47]^=n,t=d^(i<<1|o>>>31),n=f^(o<<1|i>>>31),e[8]^=t,e[9]^=n,e[18]^=t,e[19]^=n,e[28]^=t,e[29]^=n,e[38]^=t,e[39]^=n,e[48]^=t,e[49]^=n,m=e[0],y=e[1],G=e[11]<<4|e[10]>>>28,Z=e[10]<<4|e[11]>>>28,P=e[20]<<3|e[21]>>>29,O=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,W=e[40]<<18|e[41]>>>14,V=e[41]<<18|e[40]>>>14,D=e[2]<<1|e[3]>>>31,F=e[3]<<1|e[2]>>>31,A=e[13]<<12|e[12]>>>20,g=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,K=e[23]<<10|e[22]>>>22,N=e[33]<<13|e[32]>>>19,R=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,ne=e[4]<<30|e[5]>>>2,B=e[14]<<6|e[15]>>>26,j=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,v=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,J=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,L=e[44]<<29|e[45]>>>3,C=e[6]<<28|e[7]>>>4,k=e[7]<<28|e[6]>>>4,re=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,z=e[26]<<25|e[27]>>>7,_=e[27]<<25|e[26]>>>7,w=e[36]<<21|e[37]>>>11,x=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,X=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,I=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,U=e[38]<<8|e[39]>>>24,H=e[39]<<8|e[38]>>>24,E=e[48]<<14|e[49]>>>18,T=e[49]<<14|e[48]>>>18,e[0]=m^~A&b,e[1]=y^~g&v,e[10]=C^~S&P,e[11]=k^~I&O,e[20]=D^~B&z,e[21]=F^~j&_,e[30]=q^~G&Y,e[31]=X^~Z&K,e[40]=te^~re&oe,e[41]=ne^~ie&ae,e[2]=A^~b&w,e[3]=g^~v&x,e[12]=S^~P&N,e[13]=I^~O&R,e[22]=B^~z&U,e[23]=j^~_&H,e[32]=G^~Y&Q,e[33]=Z^~K&J,e[42]=re^~oe&se,e[43]=ie^~ae&ue,e[4]=b^~w&E,e[5]=v^~x&T,e[14]=P^~N&M,e[15]=O^~R&L,e[24]=z^~U&W,e[25]=_^~H&V,e[34]=Y^~Q&$,e[35]=K^~J&ee,e[44]=oe^~se&le,e[45]=ae^~ue&ce,e[6]=w^~E&m,e[7]=x^~T&y,e[16]=N^~M&C,e[17]=R^~L&k,e[26]=U^~W&D,e[27]=H^~V&F,e[36]=Q^~$&q,e[37]=J^~ee&X,e[46]=se^~le&te,e[47]=ue^~ce&ne,e[8]=E^~m&A,e[9]=T^~y&g,e[18]=M^~C&S,e[19]=L^~k&I,e[28]=W^~D&B,e[29]=V^~F&j,e[38]=$^~q&G,e[39]=ee^~X&Z,e[48]=le^~te&re,e[49]=ce^~ne&ie,e[0]^=c[r],e[1]^=c[r+1]};if(o)e.exports=x;else for(T=0;T<E.length;++T)r[E[T]]=x[E[T]]}()}(Br);var jr=_e(Br.exports);function zr(e){return"0x"+jr.keccak_256(cn(e))}var _r=Object.freeze({__proto__:null,keccak256:zr});const Ur=new tn("rlp/5.7.0");function Hr(e){const t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function Wr(e,t,n){let r=0;for(let i=0;i<n;i++)r=256*r+e[t+i];return r}function Vr(e){if(Array.isArray(e)){let t=[];if(e.forEach((function(e){t=t.concat(Vr(e))})),t.length<=55)return t.unshift(192+t.length),t;const n=Hr(t.length);return n.unshift(247+n.length),n.concat(t)}sn(e)||Ur.throwArgumentError("RLP object must be BytesLike","object",e);const t=Array.prototype.slice.call(cn(e));if(1===t.length&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const n=Hr(t.length);return n.unshift(183+n.length),n.concat(t)}function qr(e){return yn(Vr(e))}function Xr(e,t,n,r){const i=[];for(;n<t+1+r;){const o=Gr(e,n);i.push(o.result),(n+=o.consumed)>t+1+r&&Ur.throwError("child data too short",tn.errors.BUFFER_OVERRUN,{})}return{consumed:1+r,result:i}}function Gr(e,t){if(0===e.length&&Ur.throwError("data too short",tn.errors.BUFFER_OVERRUN,{}),e[t]>=248){const n=e[t]-247;t+1+n>e.length&&Ur.throwError("data short segment too short",tn.errors.BUFFER_OVERRUN,{});const r=Wr(e,t+1,n);return t+1+n+r>e.length&&Ur.throwError("data long segment too short",tn.errors.BUFFER_OVERRUN,{}),Xr(e,t,t+1+n,n+r)}if(e[t]>=192){const n=e[t]-192;return t+1+n>e.length&&Ur.throwError("data array too short",tn.errors.BUFFER_OVERRUN,{}),Xr(e,t,t+1,n)}if(e[t]>=184){const n=e[t]-183;t+1+n>e.length&&Ur.throwError("data array too short",tn.errors.BUFFER_OVERRUN,{});const r=Wr(e,t+1,n);t+1+n+r>e.length&&Ur.throwError("data array too short",tn.errors.BUFFER_OVERRUN,{});return{consumed:1+n+r,result:yn(e.slice(t+1+n,t+1+n+r))}}if(e[t]>=128){const n=e[t]-128;t+1+n>e.length&&Ur.throwError("data too short",tn.errors.BUFFER_OVERRUN,{});return{consumed:1+n,result:yn(e.slice(t+1,t+1+n))}}return{consumed:1,result:yn(e[t])}}function Zr(e){const t=cn(e),n=Gr(t,0);return n.consumed!==t.length&&Ur.throwArgumentError("invalid rlp data","data",e),n.result}var Yr=Object.freeze({__proto__:null,decode:Zr,encode:qr});const Kr=new tn("address/5.7.0");function Qr(e){hn(e,20)||Kr.throwArgumentError("invalid address","address",e);const t=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let e=0;e<40;e++)n[e]=t[e].charCodeAt(0);const r=cn(zr(n));for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&r[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}const Jr={};for(let e=0;e<10;e++)Jr[String(e)]=String(e);for(let e=0;e<26;e++)Jr[String.fromCharCode(65+e)]=String(10+e);const $r=Math.floor(function(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}(9007199254740991));function ei(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((e=>Jr[e])).join("");for(;t.length>=$r;){let e=t.substring(0,$r);t=parseInt(e,10)%97+t.substring(e.length)}let n=String(98-parseInt(t,10)%97);for(;n.length<2;)n="0"+n;return n}function ti(e){let t=null;if("string"!=typeof e&&Kr.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=Qr(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Kr.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==ei(e)&&Kr.throwArgumentError("bad icap checksum","address",e),n=e.substring(4),t=new Sn(n,36).toString(16);t.length<40;)t="0"+t;t=Qr("0x"+t)}else Kr.throwArgumentError("invalid address","address",e);var n;return t}function ni(e){try{return ti(e),!0}catch(e){}return!1}function ri(e){let t=(n=ti(e).substring(2),new Sn(n,16).toString(36)).toUpperCase();for(var n;t.length<30;)t="0"+t;return"XE"+ei("XE00"+t)+t}function ii(e){let t=null;try{t=ti(e.from)}catch(t){Kr.throwArgumentError("missing from address","transaction",e)}return ti(gn(zr(qr([t,fn(cn(Rn.from(e.nonce).toHexString()))])),12))}function oi(e,t,n){return 32!==An(t)&&Kr.throwArgumentError("salt must be 32 bytes","salt",t),32!==An(n)&&Kr.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),ti(gn(zr(dn(["0xff",ti(e),t,n])),12))}var ai=Object.freeze({__proto__:null,getAddress:ti,getContractAddress:ii,getCreate2Address:oi,getIcapAddress:ri,isAddress:ni});let si=class extends Dr{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){try{t=ti(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return ti(xn(e.readValue().toHexString(),20))}},ui=class extends Dr{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}};const li=new tn(lr);function ci(e,t,n){let r=null;if(Array.isArray(n))r=n;else if(n&&"object"==typeof n){let e={};r=t.map((t=>{const r=t.localName;return r||li.throwError("cannot encode object for signature with missing names",tn.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]&&li.throwError("cannot encode object for signature with duplicate names",tn.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]=!0,n[r]}))}else li.throwArgumentError("invalid tuple value","tuple",n);t.length!==r.length&&li.throwArgumentError("types/value length mismatch","tuple",n);let i=new Fr(e.wordSize),o=new Fr(e.wordSize),a=[];t.forEach(((e,t)=>{let n=r[t];if(e.dynamic){let t=o.length;e.encode(o,n);let r=i.writeUpdatableValue();a.push((e=>{r(e+t)}))}else e.encode(i,n)})),a.forEach((e=>{e(i.length)}));let s=e.appendWriter(i);return s+=e.appendWriter(o),s}function di(e,t){let n=[],r=e.subReader(0);t.forEach((t=>{let i=null;if(t.dynamic){let n=e.readValue(),o=r.subReader(n.toNumber());try{i=t.decode(o)}catch(e){if(e.code===tn.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if(e.code===tn.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&n.push(i)}));const i=t.reduce(((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e}),{});t.forEach(((e,t)=>{let r=e.localName;if(!r||1!==i[r])return;if("length"===r&&(r="_length"),null!=n[r])return;const o=n[t];o instanceof Error?Object.defineProperty(n,r,{enumerable:!0,get:()=>{throw o}}):n[r]=o}));for(let e=0;e<n.length;e++){const t=n[e];t instanceof Error&&Object.defineProperty(n,e,{enumerable:!0,get:()=>{throw t}})}return Object.freeze(n)}let fi=class extends Dr{constructor(e,t,n){super("array",e.type+"["+(t>=0?t:"")+"]",n,-1===t||e.dynamic),this.coder=e,this.length=t}defaultValue(){const e=this.coder.defaultValue(),t=[];for(let n=0;n<this.length;n++)t.push(e);return t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let n=this.length;-1===n&&(n=t.length,e.writeValue(t.length)),li.checkArgumentCount(t.length,n,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let e=0;e<t.length;e++)r.push(this.coder);return ci(e,r,t)}decode(e){let t=this.length;-1===t&&(t=e.readValue().toNumber(),32*t>e._data.length&&li.throwError("insufficient data length",tn.errors.BUFFER_OVERRUN,{length:e._data.length,count:t}));let n=[];for(let e=0;e<t;e++)n.push(new ui(this.coder));return e.coerce(this.name,di(e,n))}},pi=class extends Dr{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){return e.writeValue(t?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}},hi=class extends Dr{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=cn(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}},mi=class extends hi{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,yn(super.decode(e)))}},yi=class extends Dr{constructor(e,t){let n="bytes"+String(e);super(n,n,t,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let n=cn(t);return n.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(n)}decode(e){return e.coerce(this.name,yn(e.readBytes(this.size)))}},Ai=class extends Dr{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}};const gi="0x0000000000000000000000000000000000000000",bi=Rn.from(-1),vi=Rn.from(0),wi=Rn.from(1),xi=Rn.from(2),Ei=Rn.from("1000000000000000000"),Ti=Rn.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ci=Rn.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),ki=Rn.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Si="0x0000000000000000000000000000000000000000000000000000000000000000";var Ii=Object.freeze({__proto__:null,AddressZero:gi,EtherSymbol:"Ξ",HashZero:Si,MaxInt256:ki,MaxUint256:Ti,MinInt256:Ci,NegativeOne:bi,One:wi,Two:xi,WeiPerEther:Ei,Zero:vi});let Pi=class extends Dr{constructor(e,t,n){const r=(t?"int":"uint")+8*e;super(r,r,n,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let n=Rn.from(t),r=Ti.mask(8*e.wordSize);if(this.signed){let e=r.mask(8*this.size-1);(n.gt(e)||n.lt(e.add(wi).mul(bi)))&&this._throwError("value out-of-bounds",t)}else(n.lt(vi)||n.gt(r.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return n=n.toTwos(8*this.size).mask(8*this.size),this.signed&&(n=n.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(n)}decode(e){let t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}};const Oi=new tn("strings/5.7.0");var Ni,Ri;function Mi(e,t,n,r,i){if(e===Ri.BAD_PREFIX||e===Ri.UNEXPECTED_CONTINUE){let e=0;for(let r=t+1;r<n.length&&n[r]>>6==2;r++)e++;return e}return e===Ri.OVERRUN?n.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(Ni||(Ni={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(Ri||(Ri={}));const Li=Object.freeze({error:function(e,t,n,r,i){return Oi.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",n)},ignore:Mi,replace:function(e,t,n,r,i){return e===Ri.OVERLONG?(r.push(i),0):(r.push(65533),Mi(e,t,n))}});function Di(e,t){null==t&&(t=Li.error),e=cn(e);const n=[];let r=0;for(;r<e.length;){const i=e[r++];if(i>>7==0){n.push(i);continue}let o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){r+=t(128==(192&i)?Ri.UNEXPECTED_CONTINUE:Ri.BAD_PREFIX,r-1,e,n);continue}o=3,a=65535}if(r-1+o>=e.length){r+=t(Ri.OVERRUN,r-1,e,n);continue}let s=i&(1<<8-o-1)-1;for(let i=0;i<o;i++){let i=e[r];if(128!=(192&i)){r+=t(Ri.MISSING_CONTINUE,r,e,n),s=null;break}s=s<<6|63&i,r++}null!==s&&(s>1114111?r+=t(Ri.OUT_OF_RANGE,r-1-o,e,n,s):s>=55296&&s<=57343?r+=t(Ri.UTF16_SURROGATE,r-1-o,e,n,s):s<=a?r+=t(Ri.OVERLONG,r-1-o,e,n,s):n.push(s))}return n}function Fi(e,t=Ni.current){t!=Ni.current&&(Oi.checkNormalize(),e=e.normalize(t));let n=[];for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){t++;const i=e.charCodeAt(t);if(t>=e.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&r)<<10)+(1023&i);n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(63&o|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return cn(n)}function Bi(e){const t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function ji(e,t){return'"'+Di(e,t).map((e=>{if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?Bi(e):Bi(55296+((e-=65536)>>10&1023))+Bi(56320+(1023&e))})).join("")+'"'}function zi(e){return e.map((e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e))))).join("")}function _i(e,t){return zi(Di(e,t))}function Ui(e,t=Ni.current){return Di(Fi(e,t))}function Hi(e){const t=Fi(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return yn(dn([t,Si]).slice(0,32))}function Wi(e){const t=cn(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");let n=31;for(;0===t[n-1];)n--;return _i(t.slice(0,n))}function Vi(e,t){t||(t=function(e){return[parseInt(e,16)]});let n=0,r={};return e.split(",").forEach((e=>{let i=e.split(":");n+=parseInt(i[0],16),r[n]=t(i[1])})),r}function qi(e){let t=0;return e.split(",").map((e=>{let n=e.split("-");1===n.length?n[1]="0":""===n[1]&&(n[1]="1");let r=t+parseInt(n[0],16);return t=parseInt(n[1],16),{l:r,h:t}}))}function Xi(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r];if(n+=i.l,e>=n&&e<=n+i.h&&(e-n)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-n))continue;return i}}return null}const Gi=qi("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Zi="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((e=>parseInt(e,16))),Yi=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Ki=Vi("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Qi=Vi("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Ji=Vi("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");let t=[];for(let n=0;n<e.length;n+=4)t.push(parseInt(e.substring(n,n+4),16));return t})),$i=qi("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function eo(e){if(e.match(/^[a-z0-9-]*$/i)&&e.length<=59)return e.toLowerCase();let t=Ui(e);var n;n=t.map((e=>{if(Zi.indexOf(e)>=0)return[];if(e>=65024&&e<=65039)return[];let t=function(e){let t=Xi(e,Yi);if(t)return[e+t.s];let n=Ki[e];if(n)return n;let r=Qi[e];if(r)return[e+r[0]];let i=Ji[e];return i||null}(e);return t||[e]})),t=n.reduce(((e,t)=>(t.forEach((t=>{e.push(t)})),e)),[]),t=Ui(zi(t),Ni.NFKC),t.forEach((e=>{if(Xi(e,$i))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),t.forEach((e=>{if(Xi(e,Gi))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));let r=zi(t);if("-"===r.substring(0,1)||"--"===r.substring(2,4)||"-"===r.substring(r.length-1))throw new Error("invalid hyphen");return r}var to=Object.freeze({__proto__:null,get UnicodeNormalizationForm(){return Ni},Utf8ErrorFuncs:Li,get Utf8ErrorReason(){return Ri},_toEscapedUtf8String:ji,formatBytes32String:Hi,nameprep:eo,parseBytes32String:Wi,toUtf8Bytes:Fi,toUtf8CodePoints:Ui,toUtf8String:_i});let no=class extends hi{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Fi(t))}decode(e){return _i(super.decode(e))}},ro=class extends Dr{constructor(e,t){let n=!1;const r=[];e.forEach((e=>{e.dynamic&&(n=!0),r.push(e.type)}));super("tuple","tuple("+r.join(",")+")",t,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach((t=>{e.push(t.defaultValue())}));const t=this.coders.reduce(((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e}),{});return this.coders.forEach(((n,r)=>{let i=n.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[r]))})),Object.freeze(e)}encode(e,t){return ci(e,this.coders,t)}decode(e){return e.coerce(this.name,di(e,this.coders))}};const io=new tn(lr),oo=new RegExp(/^bytes([0-9]*)$/),ao=new RegExp(/^(u?int)([0-9]*)$/);let so=class{constructor(e){Jn(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new si(e.name);case"bool":return new pi(e.name);case"string":return new no(e.name);case"bytes":return new mi(e.name);case"array":return new fi(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new ro((e.components||[]).map((e=>this._getCoder(e))),e.name);case"":return new Ai(e.name)}let t=e.type.match(ao);if(t){let n=parseInt(t[2]||"256");return(0===n||n>256||n%8!=0)&&io.throwArgumentError("invalid "+t[1]+" bit length","param",e),new Pi(n/8,"int"===t[1],e.name)}if(t=e.type.match(oo),t){let n=parseInt(t[1]);return(0===n||n>32)&&io.throwArgumentError("invalid bytes length","param",e),new yi(n,e.name)}return io.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,t){return new class e{constructor(e,t,n,r){Jn(this,"_data",cn(e)),Jn(this,"wordSize",t||32),Jn(this,"_coerceFunc",n),Jn(this,"allowLoose",r),this._offset=0}get data(){return yn(this._data)}get consumed(){return this._offset}static coerce(e,t){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(t=t.toNumber()),t}coerce(t,n){return this._coerceFunc?this._coerceFunc(t,n):e.coerce(t,n)}_peekBytes(e,t,n){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+t<=this._data.length?r=t:Mr.throwError("data out-of-bounds",tn.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let n=this._peekBytes(0,e,!!t);return this._offset+=n.length,n.slice(0,e)}readValue(){return Rn.from(this.readBytes(this.wordSize))}}(e,this._getWordSize(),this.coerceFunc,t)}_getWriter(){return new Fr(this._getWordSize())}getDefaultValue(e){const t=e.map((e=>this._getCoder(gr.from(e))));return new ro(t,"_").defaultValue()}encode(e,t){e.length!==t.length&&io.throwError("types/values length mismatch",tn.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const n=e.map((e=>this._getCoder(gr.from(e)))),r=new ro(n,"_"),i=this._getWriter();return r.encode(i,t),i.data}decode(e,t,n){const r=e.map((e=>this._getCoder(gr.from(e))));return new ro(r,"_").decode(this._getReader(cn(t),n))}};const uo=new so;function lo(e){return zr(Fi(e))}const co="hash/5.7.0";function fo(e){e=atob(e);const t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return cn(t)}function po(e){e=cn(e);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var ho=Object.freeze({__proto__:null,decode:fo,encode:po});function mo(e,t){null==t&&(t=1);const n=[],r=n.forEach,i=function(e,t){r.call(e,(function(e){t>0&&Array.isArray(e)?i(e,t-1):n.push(e)}))};return i(e,t),n}function yo(e){return function(e){let t=0;return()=>e[t++]}(function(e){let t=0;function n(){return e[t++]<<8|e[t++]}let r=n(),i=1,o=[0,1];for(let e=1;e<r;e++)o.push(i+=n());let a=n(),s=t;t+=a;let u=0,l=0;function c(){return 0==u&&(l=l<<8|e[t++],u=8),l>>--u&1}const d=Math.pow(2,31),f=d>>>1,p=f>>1,h=d-1;let m=0;for(let e=0;e<31;e++)m=m<<1|c();let y=[],A=0,g=d;for(;;){let e=Math.floor(((m-A+1)*i-1)/g),t=0,n=r;for(;n-t>1;){let r=t+n>>>1;e<o[r]?n=r:t=r}if(0==t)break;y.push(t);let a=A+Math.floor(g*o[t]/i),s=A+Math.floor(g*o[t+1]/i)-1;for(;0==((a^s)&f);)m=m<<1&h|c(),a=a<<1&h,s=s<<1&h|1;for(;a&~s&p;)m=m&f|m<<1&h>>>1|c(),a=a<<1^f,s=(s^f)<<1|f|1;A=a,g=1+s-a}let b=r-4;return y.map((t=>{switch(t-b){case 3:return b+65792+(e[s++]<<16|e[s++]<<8|e[s++]);case 2:return b+256+(e[s++]<<8|e[s++]);case 1:return b+e[s++];default:return t-1}}))}(e))}function Ao(e){return 1&e?~e>>1:e>>1}function go(e,t){let n=Array(e);for(let r=0,i=-1;r<e;r++)n[r]=i+=1+t();return n}function bo(e,t){let n=Array(e);for(let r=0,i=0;r<e;r++)n[r]=i+=Ao(t());return n}function vo(e,t){let n=go(e(),e),r=e(),i=go(r,e),o=function(e,t){let n=Array(e);for(let r=0;r<e;r++)n[r]=1+t();return n}(r,e);for(let e=0;e<r;e++)for(let t=0;t<o[e];t++)n.push(i[e]+t);return t?n.map((e=>t[e])):n}function wo(e,t,n){let r=Array(e).fill(void 0).map((()=>[]));for(let i=0;i<t;i++)bo(e,n).forEach(((e,t)=>r[t].push(e)));return r}function xo(e,t){let n=1+t(),r=t(),i=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(n)}return t}(t);return mo(wo(i.length,1+e,t).map(((e,t)=>{const o=e[0],a=e.slice(1);return Array(i[t]).fill(void 0).map(((e,t)=>{let i=t*r;return[o+t*n,a.map((e=>e+i))]}))})))}function Eo(e,t){return wo(1+t(),1+e,t).map((e=>[e[0],e.slice(1)]))}const To=yo(fo("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==")),Co=new Set(vo(To)),ko=new Set(vo(To)),So=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(xo(n,e))}for(;;){let n=e()-1;if(n<0)break;t.push(Eo(n,e))}return function(e){const t={};for(let n=0;n<e.length;n++){const r=e[n];t[r[0]]=r[1]}return t}(mo(t))}(To),Io=function(e){let t=vo(e).sort(((e,t)=>e-t));return function n(){let r=[];for(;;){let i=vo(e,t);if(0==i.length)break;r.push({set:new Set(i),node:n()})}r.sort(((e,t)=>t.set.size-e.set.size));let i=e(),o=i%3;i=i/3|0;let a=!!(1&i);return i>>=1,{branches:r,valid:o,fe0f:a,save:1==i,check:2==i}}()}(To),Po=45,Oo=95;function No(e){return Ui(e)}function Ro(e){return e.filter((e=>65039!=e))}function Mo(e){for(let t of e.split(".")){let e=No(t);try{for(let t=e.lastIndexOf(Oo)-1;t>=0;t--)if(e[t]!==Oo)throw new Error("underscore only allowed at start");if(e.length>=4&&e.every((e=>e<128))&&e[2]===Po&&e[3]===Po)throw new Error("invalid label extension")}catch(e){throw new Error(`Invalid label "${t}": ${e.message}`)}}return e}function Lo(e){return Mo(function(e,t){let n=No(e).reverse(),r=[];for(;n.length;){let e=Do(n);if(e){r.push(...t(e));continue}let i=n.pop();if(Co.has(i)){r.push(i);continue}if(ko.has(i))continue;let o=So[i];if(!o)throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`);r.push(...o)}return Mo(function(e){return e.normalize("NFC")}(String.fromCodePoint(...r)))}(e,Ro))}function Do(e,t){var n;let r,i,o=Io,a=[],s=e.length;for(t&&(t.length=0);s;){let u=e[--s];if(o=null===(n=o.branches.find((e=>e.set.has(u))))||void 0===n?void 0:n.node,!o)break;if(o.save)i=u;else if(o.check&&u===i)break;a.push(u),o.fe0f&&(a.push(65039),s>0&&65039==e[s-1]&&s--),o.valid&&(r=a.slice(),2==o.valid&&r.splice(1,1),t&&t.push(...e.slice(s).reverse()),e.length=s)}return r}const Fo=new tn(co),Bo=new Uint8Array(32);function jo(e){if(0===e.length)throw new Error("invalid ENS name; empty component");return e}function zo(e){const t=Fi(Lo(e)),n=[];if(0===e.length)return n;let r=0;for(let e=0;e<t.length;e++){46===t[e]&&(n.push(jo(t.slice(r,e))),r=e+1)}if(r>=t.length)throw new Error("invalid ENS name; empty component");return n.push(jo(t.slice(r))),n}function _o(e){try{return 0!==zo(e).length}catch(e){}return!1}function Uo(e){"string"!=typeof e&&Fo.throwArgumentError("invalid ENS name; not a string","name",e);let t=Bo;const n=zo(e);for(;n.length;)t=zr(dn([t,zr(n.pop())]));return yn(t)}function Ho(e){return yn(dn(zo(e).map((e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t}))))+"00"}Bo.fill(0);const Wo="Ethereum Signed Message:\n";function Vo(e){return"string"==typeof e&&(e=Fi(e)),zr(dn([Fi(Wo),Fi(String(e.length)),e]))}var qo=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Xo=new tn(co),Go=new Uint8Array(32);Go.fill(0);const Zo=Rn.from(-1),Yo=Rn.from(0),Ko=Rn.from(1),Qo=Rn.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const Jo=xn(Ko.toHexString(),32),$o=xn(Yo.toHexString(),32),ea={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},ta=["name","version","chainId","verifyingContract","salt"];function na(e){return function(t){return"string"!=typeof t&&Xo.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}const ra={name:na("name"),version:na("version"),chainId:function(e){try{return Rn.from(e).toString()}catch(e){}return Xo.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return ti(e).toLowerCase()}catch(e){}return Xo.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{const t=cn(e);if(32!==t.length)throw new Error("bad length");return yn(t)}catch(e){}return Xo.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function ia(e){{const t=e.match(/^(u?)int(\d*)$/);if(t){const n=""===t[1],r=parseInt(t[2]||"256");(r%8!=0||r>256||t[2]&&t[2]!==String(r))&&Xo.throwArgumentError("invalid numeric width","type",e);const i=Qo.mask(n?r-1:r),o=n?i.add(Ko).mul(Zo):Yo;return function(t){const n=Rn.from(t);return(n.lt(o)||n.gt(i))&&Xo.throwArgumentError(`value out-of-bounds for ${e}`,"value",t),xn(n.toTwos(256).toHexString(),32)}}}{const t=e.match(/^bytes(\d+)$/);if(t){const n=parseInt(t[1]);return(0===n||n>32||t[1]!==String(n))&&Xo.throwArgumentError("invalid bytes width","type",e),function(t){return cn(t).length!==n&&Xo.throwArgumentError(`invalid length for ${e}`,"value",t),function(e){const t=cn(e),n=t.length%32;return n?bn([t,Go.slice(n)]):yn(t)}(t)}}}switch(e){case"address":return function(e){return xn(ti(e),32)};case"bool":return function(e){return e?Jo:$o};case"bytes":return function(e){return zr(e)};case"string":return function(e){return lo(e)}}return null}function oa(e,t){return`${e}(${t.map((({name:e,type:t})=>t+" "+e)).join(",")})`}class aa{constructor(e){Jn(this,"types",Object.freeze(ar(e))),Jn(this,"_encoderCache",{}),Jn(this,"_types",{});const t={},n={},r={};Object.keys(e).forEach((e=>{t[e]={},n[e]=[],r[e]={}}));for(const r in e){const i={};e[r].forEach((o=>{i[o.name]&&Xo.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(r)}`,"types",e),i[o.name]=!0;const a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===r&&Xo.throwArgumentError(`circular type reference to ${JSON.stringify(a)}`,"types",e);ia(a)||(n[a]||Xo.throwArgumentError(`unknown type ${JSON.stringify(a)}`,"types",e),n[a].push(r),t[r][a]=!0)}))}const i=Object.keys(n).filter((e=>0===n[e].length));0===i.length?Xo.throwArgumentError("missing primary type","types",e):i.length>1&&Xo.throwArgumentError(`ambiguous primary types or unused types: ${i.map((e=>JSON.stringify(e))).join(", ")}`,"types",e),Jn(this,"primaryType",i[0]),function i(o,a){a[o]&&Xo.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",e),a[o]=!0,Object.keys(t[o]).forEach((e=>{n[e]&&(i(e,a),Object.keys(a).forEach((t=>{r[t][e]=!0})))})),delete a[o]}(this.primaryType,{});for(const t in r){const n=Object.keys(r[t]);n.sort(),this._types[t]=oa(t,e[t])+n.map((t=>oa(t,e[t]))).join("")}}getEncoder(e){let t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}_getEncoder(e){{const t=ia(e);if(t)return t}const t=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(t){const e=t[1],n=this.getEncoder(e),r=parseInt(t[3]);return t=>{r>=0&&t.length!==r&&Xo.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);let i=t.map(n);return this._types[e]&&(i=i.map(zr)),zr(bn(i))}}const n=this.types[e];if(n){const t=lo(this._types[e]);return e=>{const r=n.map((({name:t,type:n})=>{const r=this.getEncoder(n)(e[t]);return this._types[n]?zr(r):r}));return r.unshift(t),bn(r)}}return Xo.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const t=this._types[e];return t||Xo.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return zr(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(ia(e))return n(e,t);const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const e=r[1],i=parseInt(r[3]);return i>=0&&t.length!==i&&Xo.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map((t=>this._visit(e,t,n)))}const i=this.types[e];return i?i.reduce(((e,{name:r,type:i})=>(e[r]=this._visit(i,t[r],n),e)),{}):Xo.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new aa(e)}static getPrimaryType(e){return aa.from(e).primaryType}static hashStruct(e,t,n){return aa.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){const r=ea[n];r||Xo.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:r})}return t.sort(((e,t)=>ta.indexOf(e.name)-ta.indexOf(t.name))),aa.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return bn(["0x1901",aa.hashDomain(e),aa.from(t).hash(n)])}static hash(e,t,n){return zr(aa.encode(e,t,n))}static resolveNames(e,t,n,r){return qo(this,void 0,void 0,(function*(){e=nr(e);const i={};e.verifyingContract&&!hn(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const o=aa.from(t);o.visit(n,((e,t)=>("address"!==e||hn(t,20)||(i[t]="0x"),t)));for(const e in i)i[e]=yield r(e);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=o.visit(n,((e,t)=>"address"===e&&i[t]?i[t]:t)),{domain:e,value:n}}))}static getPayload(e,t,n){aa.hashDomain(e);const r={},i=[];ta.forEach((t=>{const n=e[t];null!=n&&(r[t]=ra[t](n),i.push({name:t,type:ea[t]}))}));const o=aa.from(t),a=nr(t);return a.EIP712Domain?Xo.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",t):a.EIP712Domain=i,o.encode(n),{types:a,domain:r,primaryType:o.primaryType,message:o.visit(n,((e,t)=>{if(e.match(/^bytes(\d*)/))return yn(cn(t));if(e.match(/^u?int/))return Rn.from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&Xo.throwArgumentError("invalid string","value",t),t}return Xo.throwArgumentError("unsupported type","type",e)}))}}}var sa=Object.freeze({__proto__:null,_TypedDataEncoder:aa,dnsEncode:Ho,ensNormalize:function(e){return zo(e).map((e=>_i(e))).join(".")},hashMessage:Vo,id:lo,isValidName:_o,messagePrefix:Wo,namehash:Uo});const ua=new tn(lr);let la=class extends sr{},ca=class extends sr{},da=class extends sr{},fa=class extends sr{static isIndexed(e){return!(!e||!e._isIndexed)}};const pa={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function ha(e,t){const n=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return n.error=t,n}let ma=class{constructor(e){let t=[];t="string"==typeof e?JSON.parse(e):e,Jn(this,"fragments",t.map((e=>vr.from(e))).filter((e=>null!=e))),Jn(this,"_abiCoder",$n(new.target,"getAbiCoder")()),Jn(this,"functions",{}),Jn(this,"errors",{}),Jn(this,"events",{}),Jn(this,"structs",{}),this.fragments.forEach((e=>{let t=null;switch(e.type){case"constructor":return this.deploy?void ua.warn("duplicate definition - constructor"):void Jn(this,"deploy",e);case"function":t=this.functions;break;case"event":t=this.events;break;case"error":t=this.errors;break;default:return}let n=e.format();t[n]?ua.warn("duplicate definition - "+n):t[n]=e})),this.deploy||Jn(this,"deploy",Cr.from({payable:!1,type:"constructor"})),Jn(this,"_isInterface",!0)}format(e){e||(e=yr.full),e===yr.sighash&&ua.throwArgumentError("interface does not support formatting sighash","format",e);const t=this.fragments.map((t=>t.format(e)));return e===yr.json?JSON.stringify(t.map((e=>JSON.parse(e)))):t}static getAbiCoder(){return uo}static getAddress(e){return ti(e)}static getSighash(e){return gn(lo(e.format()),0,4)}static getEventTopic(e){return lo(e.format())}getFunction(e){if(hn(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];ua.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.functions).filter((e=>e.split("(")[0]===t));return 0===n.length?ua.throwArgumentError("no matching function","name",t):n.length>1&&ua.throwArgumentError("multiple matching functions","name",t),this.functions[n[0]]}const t=this.functions[kr.fromString(e).format()];return t||ua.throwArgumentError("no matching function","signature",e),t}getEvent(e){if(hn(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];ua.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.events).filter((e=>e.split("(")[0]===t));return 0===n.length?ua.throwArgumentError("no matching event","name",t):n.length>1&&ua.throwArgumentError("multiple matching events","name",t),this.events[n[0]]}const t=this.events[wr.fromString(e).format()];return t||ua.throwArgumentError("no matching event","signature",e),t}getError(e){if(hn(e)){const t=$n(this.constructor,"getSighash");for(const n in this.errors){if(e===t(this.errors[n]))return this.errors[n]}ua.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.errors).filter((e=>e.split("(")[0]===t));return 0===n.length?ua.throwArgumentError("no matching error","name",t):n.length>1&&ua.throwArgumentError("multiple matching errors","name",t),this.errors[n[0]]}const t=this.errors[kr.fromString(e).format()];return t||ua.throwArgumentError("no matching error","signature",e),t}getSighash(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return $n(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),$n(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){"string"==typeof e&&(e=this.getError(e));const n=cn(t);return yn(n.slice(0,4))!==this.getSighash(e)&&ua.throwArgumentError(`data signature does not match error ${e.name}.`,"data",yn(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,t){return"string"==typeof e&&(e=this.getError(e)),yn(dn([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));const n=cn(t);return yn(n.slice(0,4))!==this.getSighash(e)&&ua.throwArgumentError(`data signature does not match function ${e.name}.`,"data",yn(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),yn(dn([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let n=cn(t),r=null,i="",o=null,a=null,s=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch(e){}break;case 4:{const e=yn(n.slice(0,4)),t=pa[e];if(t)o=this._abiCoder.decode(t.inputs,n.slice(4)),a=t.name,s=t.signature,t.reason&&(r=o[0]),"Error"===a?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(o[0])}`:"Panic"===a&&(i=`; VM Exception while processing transaction: reverted with panic code ${o[0]}`);else try{const t=this.getError(e);o=this._abiCoder.decode(t.inputs,n.slice(4)),a=t.name,s=t.format()}catch(e){}break}}return ua.throwError("call revert exception"+i,tn.errors.CALL_EXCEPTION,{method:e.format(),data:yn(t),errorArgs:o,errorName:a,errorSignature:s,reason:r})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),yn(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&ua.throwError("too many arguments for "+e.format(),tn.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let n=[];e.anonymous||n.push(this.getEventTopic(e));const r=(e,t)=>"string"===e.type?lo(t):"bytes"===e.type?zr(yn(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=Rn.from(t).toHexString()),"address"===e.type&&this._abiCoder.encode(["address"],[t]),xn(yn(t),32));for(t.forEach(((t,i)=>{let o=e.inputs[i];o.indexed?null==t?n.push(null):"array"===o.baseType||"tuple"===o.baseType?ua.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):Array.isArray(t)?n.push(t.map((e=>r(o,e)))):n.push(r(o,t)):null!=t&&ua.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const n=[],r=[],i=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&ua.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach(((e,o)=>{const a=t[o];if(e.indexed)if("string"===e.type)n.push(lo(a));else if("bytes"===e.type)n.push(zr(a));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(this._abiCoder.encode([e.type],[a]))}else r.push(e),i.push(a)})),{data:this._abiCoder.encode(r,i),topics:n}}decodeEventLog(e,t,n){if("string"==typeof e&&(e=this.getEvent(e)),null!=n&&!e.anonymous){let t=this.getEventTopic(e);hn(n[0],32)&&n[0].toLowerCase()===t||ua.throwError("fragment/topic mismatch",tn.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:n[0]}),n=n.slice(1)}let r=[],i=[],o=[];e.inputs.forEach(((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(r.push(gr.fromObject({type:"bytes32",name:e.name})),o.push(!0)):(r.push(e),o.push(!1)):(i.push(e),o.push(!1))}));let a=null!=n?this._abiCoder.decode(r,dn(n)):null,s=this._abiCoder.decode(i,t,!0),u=[],l=0,c=0;e.inputs.forEach(((e,t)=>{if(e.indexed)if(null==a)u[t]=new fa({_isIndexed:!0,hash:null});else if(o[t])u[t]=new fa({_isIndexed:!0,hash:a[c++]});else try{u[t]=a[c++]}catch(e){u[t]=e}else try{u[t]=s[l++]}catch(e){u[t]=e}if(e.name&&null==u[e.name]){const n=u[t];n instanceof Error?Object.defineProperty(u,e.name,{enumerable:!0,get:()=>{throw ha(`property ${JSON.stringify(e.name)}`,n)}}):u[e.name]=n}}));for(let e=0;e<u.length;e++){const t=u[e];t instanceof Error&&Object.defineProperty(u,e,{enumerable:!0,get:()=>{throw ha(`index ${e}`,t)}})}return Object.freeze(u)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new ca({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:Rn.from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new la({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}parseError(e){const t=yn(e);let n=this.getError(t.substring(0,10).toLowerCase());return n?new da({args:this._abiCoder.decode(n.inputs,"0x"+t.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!(!e||!e._isInterface)}};var ya=Object.freeze({__proto__:null,AbiCoder:so,ConstructorFragment:Cr,ErrorFragment:Ir,EventFragment:wr,FormatTypes:yr,Fragment:vr,FunctionFragment:kr,Indexed:fa,Interface:ma,LogDescription:la,ParamType:gr,TransactionDescription:ca,checkResultErrors:Lr,defaultAbiCoder:uo});var Aa=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const ga=new tn("abstract-provider/5.7.0");class ba extends sr{static isForkEvent(e){return!(!e||!e._isForkEvent)}}let va=class e{constructor(){ga.checkAbstract(new.target,e),Jn(this,"_isProvider",!0)}getFeeData(){return Aa(this,void 0,void 0,(function*(){const{block:e,gasPrice:t}=yield er({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch((e=>null))});let n=null,r=null,i=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,i=Rn.from("1500000000"),r=e.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:r,maxPriorityFeePerGas:i,gasPrice:t}}))}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}};var wa=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const xa=new tn("abstract-signer/5.7.0"),Ea=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],Ta=[tn.errors.INSUFFICIENT_FUNDS,tn.errors.NONCE_EXPIRED,tn.errors.REPLACEMENT_UNDERPRICED];let Ca=class e{constructor(){xa.checkAbstract(new.target,e),Jn(this,"_isSigner",!0)}getBalance(e){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)}))}getTransactionCount(e){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)}))}estimateGas(e){return wa(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const t=yield er(this.checkTransaction(e));return yield this.provider.estimateGas(t)}))}call(e,t){return wa(this,void 0,void 0,(function*(){this._checkProvider("call");const n=yield er(this.checkTransaction(e));return yield this.provider.call(n,t)}))}sendTransaction(e){return wa(this,void 0,void 0,(function*(){this._checkProvider("sendTransaction");const t=yield this.populateTransaction(e),n=yield this.signTransaction(t);return yield this.provider.sendTransaction(n)}))}getChainId(){return wa(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}getFeeData(){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()}))}resolveName(e){return wa(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)}))}checkTransaction(e){for(const t in e)-1===Ea.indexOf(t)&&xa.throwArgumentError("invalid transaction key: "+t,"transaction",e);const t=nr(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then((t=>(t[0].toLowerCase()!==t[1].toLowerCase()&&xa.throwArgumentError("from address mismatch","transaction",e),t[0]))),t}populateTransaction(e){return wa(this,void 0,void 0,(function*(){const t=yield er(this.checkTransaction(e));null!=t.to&&(t.to=Promise.resolve(t.to).then((e=>wa(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.resolveName(e);return null==t&&xa.throwArgumentError("provided ENS name resolves to null","tx.to",e),t})))),t.to.catch((e=>{})));const n=null!=t.maxFeePerGas||null!=t.maxPriorityFeePerGas;if(null==t.gasPrice||2!==t.type&&!n?0!==t.type&&1!==t.type||!n||xa.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e):xa.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e),2!==t.type&&null!=t.type||null==t.maxFeePerGas||null==t.maxPriorityFeePerGas)if(0===t.type||1===t.type)null==t.gasPrice&&(t.gasPrice=this.getGasPrice());else{const e=yield this.getFeeData();if(null==t.type)if(null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas)if(t.type=2,null!=t.gasPrice){const e=t.gasPrice;delete t.gasPrice,t.maxFeePerGas=e,t.maxPriorityFeePerGas=e}else null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas);else null!=e.gasPrice?(n&&xa.throwError("network does not support EIP-1559",tn.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==t.gasPrice&&(t.gasPrice=e.gasPrice),t.type=0):xa.throwError("failed to get consistent fee data",tn.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else 2===t.type&&(null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas))}else t.type=2;return null==t.nonce&&(t.nonce=this.getTransactionCount("pending")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch((e=>{if(Ta.indexOf(e.code)>=0)throw e;return xa.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t})}))),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then((t=>(0!==t[1]&&t[0]!==t[1]&&xa.throwArgumentError("chainId address mismatch","transaction",e),t[0]))),yield er(t)}))}_checkProvider(e){this.provider||xa.throwError("missing provider",tn.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!(!e||!e._isSigner)}},ka=class e extends Ca{constructor(e,t){super(),Jn(this,"address",e),Jn(this,"provider",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then((()=>{xa.throwError(e,tn.errors.UNSUPPORTED_OPERATION,{operation:t})}))}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,t,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(t){return new e(this.address,t)}};var Sa,Ia={},Pa={},Oa=Na;function Na(e,t){if(!e)throw new Error(t||"Assertion failed")}Na.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)},Sa="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};var Ra=Sa,Ma=Ue(Object.freeze({__proto__:null,default:Ra})),La=Oa,Da=Ma;function Fa(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function Ba(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function ja(e){return 1===e.length?"0"+e:e}function za(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}Pa.inherits=Da,Pa.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)n.push(parseInt(e[i]+e[i+1],16))}else for(var r=0,i=0;i<e.length;i++){var o=e.charCodeAt(i);o<128?n[r++]=o:o<2048?(n[r++]=o>>6|192,n[r++]=63&o|128):Fa(e,i)?(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++i)),n[r++]=o>>18|240,n[r++]=o>>12&63|128,n[r++]=o>>6&63|128,n[r++]=63&o|128):(n[r++]=o>>12|224,n[r++]=o>>6&63|128,n[r++]=63&o|128)}else for(i=0;i<e.length;i++)n[i]=0|e[i];return n},Pa.toHex=function(e){for(var t="",n=0;n<e.length;n++)t+=ja(e[n].toString(16));return t},Pa.htonl=Ba,Pa.toHex32=function(e,t){for(var n="",r=0;r<e.length;r++){var i=e[r];"little"===t&&(i=Ba(i)),n+=za(i.toString(16))}return n},Pa.zero2=ja,Pa.zero8=za,Pa.join32=function(e,t,n,r){var i=n-t;La(i%4==0);for(var o=new Array(i/4),a=0,s=t;a<o.length;a++,s+=4){var u;u="big"===r?e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3]:e[s+3]<<24|e[s+2]<<16|e[s+1]<<8|e[s],o[a]=u>>>0}return o},Pa.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r<e.length;r++,i+=4){var o=e[r];"big"===t?(n[i]=o>>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},Pa.rotr32=function(e,t){return e>>>t|e<<32-t},Pa.rotl32=function(e,t){return e<<t|e>>>32-t},Pa.sum32=function(e,t){return e+t>>>0},Pa.sum32_3=function(e,t,n){return e+t+n>>>0},Pa.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},Pa.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},Pa.sum64=function(e,t,n,r){var i=e[t],o=r+e[t+1]>>>0,a=(o<r?1:0)+n+i;e[t]=a>>>0,e[t+1]=o},Pa.sum64_hi=function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},Pa.sum64_lo=function(e,t,n,r){return t+r>>>0},Pa.sum64_4_hi=function(e,t,n,r,i,o,a,s){var u=0,l=t;return u+=(l=l+r>>>0)<t?1:0,u+=(l=l+o>>>0)<o?1:0,e+n+i+a+(u+=(l=l+s>>>0)<s?1:0)>>>0},Pa.sum64_4_lo=function(e,t,n,r,i,o,a,s){return t+r+o+s>>>0},Pa.sum64_5_hi=function(e,t,n,r,i,o,a,s,u,l){var c=0,d=t;return c+=(d=d+r>>>0)<t?1:0,c+=(d=d+o>>>0)<o?1:0,c+=(d=d+s>>>0)<s?1:0,e+n+i+a+u+(c+=(d=d+l>>>0)<l?1:0)>>>0},Pa.sum64_5_lo=function(e,t,n,r,i,o,a,s,u,l){return t+r+o+s+l>>>0},Pa.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},Pa.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},Pa.shr64_hi=function(e,t,n){return e>>>n},Pa.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0};var _a={},Ua=Pa,Ha=Oa;function Wa(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}_a.BlockHash=Wa,Wa.prototype.update=function(e,t){if(e=Ua.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=Ua.join32(e,0,e.length-n,this.endian);for(var r=0;r<e.length;r+=this._delta32)this._update(e,r,r+this._delta32)}return this},Wa.prototype.digest=function(e){return this.update(this._pad()),Ha(null===this.pending),this._digest(e)},Wa.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o<this.padLength;o++)r[i++]=0;return r};var Va={},qa={},Xa=Pa.rotr32;function Ga(e,t,n){return e&t^~e&n}function Za(e,t,n){return e&t^e&n^t&n}function Ya(e,t,n){return e^t^n}qa.ft_1=function(e,t,n,r){return 0===e?Ga(t,n,r):1===e||3===e?Ya(t,n,r):2===e?Za(t,n,r):void 0},qa.ch32=Ga,qa.maj32=Za,qa.p32=Ya,qa.s0_256=function(e){return Xa(e,2)^Xa(e,13)^Xa(e,22)},qa.s1_256=function(e){return Xa(e,6)^Xa(e,11)^Xa(e,25)},qa.g0_256=function(e){return Xa(e,7)^Xa(e,18)^e>>>3},qa.g1_256=function(e){return Xa(e,17)^Xa(e,19)^e>>>10};var Ka=Pa,Qa=_a,Ja=qa,$a=Ka.rotl32,es=Ka.sum32,ts=Ka.sum32_5,ns=Ja.ft_1,rs=Qa.BlockHash,is=[1518500249,1859775393,2400959708,3395469782];function os(){if(!(this instanceof os))return new os;rs.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Ka.inherits(os,rs);var as=os;os.blockSize=512,os.outSize=160,os.hmacStrength=80,os.padLength=64,os.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=$a(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],o=this.h[1],a=this.h[2],s=this.h[3],u=this.h[4];for(r=0;r<n.length;r++){var l=~~(r/20),c=ts($a(i,5),ns(l,o,a,s),u,n[r],is[l]);u=s,s=a,a=$a(o,30),o=i,i=c}this.h[0]=es(this.h[0],i),this.h[1]=es(this.h[1],o),this.h[2]=es(this.h[2],a),this.h[3]=es(this.h[3],s),this.h[4]=es(this.h[4],u)},os.prototype._digest=function(e){return"hex"===e?Ka.toHex32(this.h,"big"):Ka.split32(this.h,"big")};var ss=Pa,us=_a,ls=qa,cs=Oa,ds=ss.sum32,fs=ss.sum32_4,ps=ss.sum32_5,hs=ls.ch32,ms=ls.maj32,ys=ls.s0_256,As=ls.s1_256,gs=ls.g0_256,bs=ls.g1_256,vs=us.BlockHash,ws=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function xs(){if(!(this instanceof xs))return new xs;vs.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=ws,this.W=new Array(64)}ss.inherits(xs,vs);var Es=xs;xs.blockSize=512,xs.outSize=256,xs.hmacStrength=192,xs.padLength=64,xs.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=fs(bs(n[r-2]),n[r-7],gs(n[r-15]),n[r-16]);var i=this.h[0],o=this.h[1],a=this.h[2],s=this.h[3],u=this.h[4],l=this.h[5],c=this.h[6],d=this.h[7];for(cs(this.k.length===n.length),r=0;r<n.length;r++){var f=ps(d,As(u),hs(u,l,c),this.k[r],n[r]),p=ds(ys(i),ms(i,o,a));d=c,c=l,l=u,u=ds(s,f),s=a,a=o,o=i,i=ds(f,p)}this.h[0]=ds(this.h[0],i),this.h[1]=ds(this.h[1],o),this.h[2]=ds(this.h[2],a),this.h[3]=ds(this.h[3],s),this.h[4]=ds(this.h[4],u),this.h[5]=ds(this.h[5],l),this.h[6]=ds(this.h[6],c),this.h[7]=ds(this.h[7],d)},xs.prototype._digest=function(e){return"hex"===e?ss.toHex32(this.h,"big"):ss.split32(this.h,"big")};var Ts=Pa,Cs=Es;function ks(){if(!(this instanceof ks))return new ks;Cs.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Ts.inherits(ks,Cs);var Ss=ks;ks.blockSize=512,ks.outSize=224,ks.hmacStrength=192,ks.padLength=64,ks.prototype._digest=function(e){return"hex"===e?Ts.toHex32(this.h.slice(0,7),"big"):Ts.split32(this.h.slice(0,7),"big")};var Is=Pa,Ps=_a,Os=Oa,Ns=Is.rotr64_hi,Rs=Is.rotr64_lo,Ms=Is.shr64_hi,Ls=Is.shr64_lo,Ds=Is.sum64,Fs=Is.sum64_hi,Bs=Is.sum64_lo,js=Is.sum64_4_hi,zs=Is.sum64_4_lo,_s=Is.sum64_5_hi,Us=Is.sum64_5_lo,Hs=Ps.BlockHash,Ws=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Vs(){if(!(this instanceof Vs))return new Vs;Hs.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Ws,this.W=new Array(160)}Is.inherits(Vs,Hs);var qs=Vs;function Xs(e,t,n,r,i){var o=e&n^~e&i;return o<0&&(o+=4294967296),o}function Gs(e,t,n,r,i,o){var a=t&r^~t&o;return a<0&&(a+=4294967296),a}function Zs(e,t,n,r,i){var o=e&n^e&i^n&i;return o<0&&(o+=4294967296),o}function Ys(e,t,n,r,i,o){var a=t&r^t&o^r&o;return a<0&&(a+=4294967296),a}function Ks(e,t){var n=Ns(e,t,28)^Ns(t,e,2)^Ns(t,e,7);return n<0&&(n+=4294967296),n}function Qs(e,t){var n=Rs(e,t,28)^Rs(t,e,2)^Rs(t,e,7);return n<0&&(n+=4294967296),n}function Js(e,t){var n=Ns(e,t,14)^Ns(e,t,18)^Ns(t,e,9);return n<0&&(n+=4294967296),n}function $s(e,t){var n=Rs(e,t,14)^Rs(e,t,18)^Rs(t,e,9);return n<0&&(n+=4294967296),n}function eu(e,t){var n=Ns(e,t,1)^Ns(e,t,8)^Ms(e,t,7);return n<0&&(n+=4294967296),n}function tu(e,t){var n=Rs(e,t,1)^Rs(e,t,8)^Ls(e,t,7);return n<0&&(n+=4294967296),n}function nu(e,t){var n=Ns(e,t,19)^Ns(t,e,29)^Ms(e,t,6);return n<0&&(n+=4294967296),n}function ru(e,t){var n=Rs(e,t,19)^Rs(t,e,29)^Ls(e,t,6);return n<0&&(n+=4294967296),n}Vs.blockSize=1024,Vs.outSize=512,Vs.hmacStrength=192,Vs.padLength=128,Vs.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=nu(n[r-4],n[r-3]),o=ru(n[r-4],n[r-3]),a=n[r-14],s=n[r-13],u=eu(n[r-30],n[r-29]),l=tu(n[r-30],n[r-29]),c=n[r-32],d=n[r-31];n[r]=js(i,o,a,s,u,l,c,d),n[r+1]=zs(i,o,a,s,u,l,c,d)}},Vs.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],i=this.h[1],o=this.h[2],a=this.h[3],s=this.h[4],u=this.h[5],l=this.h[6],c=this.h[7],d=this.h[8],f=this.h[9],p=this.h[10],h=this.h[11],m=this.h[12],y=this.h[13],A=this.h[14],g=this.h[15];Os(this.k.length===n.length);for(var b=0;b<n.length;b+=2){var v=A,w=g,x=Js(d,f),E=$s(d,f),T=Xs(d,f,p,h,m),C=Gs(d,f,p,h,m,y),k=this.k[b],S=this.k[b+1],I=n[b],P=n[b+1],O=_s(v,w,x,E,T,C,k,S,I,P),N=Us(v,w,x,E,T,C,k,S,I,P);v=Ks(r,i),w=Qs(r,i),x=Zs(r,i,o,a,s),E=Ys(r,i,o,a,s,u);var R=Fs(v,w,x,E),M=Bs(v,w,x,E);A=m,g=y,m=p,y=h,p=d,h=f,d=Fs(l,c,O,N),f=Bs(c,c,O,N),l=s,c=u,s=o,u=a,o=r,a=i,r=Fs(O,N,R,M),i=Bs(O,N,R,M)}Ds(this.h,0,r,i),Ds(this.h,2,o,a),Ds(this.h,4,s,u),Ds(this.h,6,l,c),Ds(this.h,8,d,f),Ds(this.h,10,p,h),Ds(this.h,12,m,y),Ds(this.h,14,A,g)},Vs.prototype._digest=function(e){return"hex"===e?Is.toHex32(this.h,"big"):Is.split32(this.h,"big")};var iu=Pa,ou=qs;function au(){if(!(this instanceof au))return new au;ou.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}iu.inherits(au,ou);var su=au;au.blockSize=1024,au.outSize=384,au.hmacStrength=192,au.padLength=128,au.prototype._digest=function(e){return"hex"===e?iu.toHex32(this.h.slice(0,12),"big"):iu.split32(this.h.slice(0,12),"big")},Va.sha1=as,Va.sha224=Ss,Va.sha256=Es,Va.sha384=su,Va.sha512=qs;var uu={},lu=Pa,cu=_a,du=lu.rotl32,fu=lu.sum32,pu=lu.sum32_3,hu=lu.sum32_4,mu=cu.BlockHash;function yu(){if(!(this instanceof yu))return new yu;mu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function Au(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function gu(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function bu(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}lu.inherits(yu,mu),uu.ripemd160=yu,yu.blockSize=512,yu.outSize=160,yu.hmacStrength=192,yu.padLength=64,yu.prototype._update=function(e,t){for(var n=this.h[0],r=this.h[1],i=this.h[2],o=this.h[3],a=this.h[4],s=n,u=r,l=i,c=o,d=a,f=0;f<80;f++){var p=fu(du(hu(n,Au(f,r,i,o),e[vu[f]+t],gu(f)),xu[f]),a);n=a,a=o,o=du(i,10),i=r,r=p,p=fu(du(hu(s,Au(79-f,u,l,c),e[wu[f]+t],bu(f)),Eu[f]),d),s=d,d=c,c=du(l,10),l=u,u=p}p=pu(this.h[1],i,c),this.h[1]=pu(this.h[2],o,d),this.h[2]=pu(this.h[3],a,s),this.h[3]=pu(this.h[4],n,u),this.h[4]=pu(this.h[0],r,l),this.h[0]=p},yu.prototype._digest=function(e){return"hex"===e?lu.toHex32(this.h,"little"):lu.split32(this.h,"little")};var vu=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],wu=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],xu=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Eu=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Tu=Pa,Cu=Oa;function ku(e,t,n){if(!(this instanceof ku))return new ku(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(Tu.toArray(t,n))}var Su=ku;ku.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),Cu(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},ku.prototype.update=function(e,t){return this.inner.update(e,t),this},ku.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(e){var t=e;t.utils=Pa,t.common=_a,t.sha=Va,t.ripemd=uu,t.hmac=Su,t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160}(Ia);var Iu=_e(Ia);function Pu(e,t,n){return n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},e(n,n.exports),n.exports}var Ou=Nu;function Nu(e,t){if(!e)throw new Error(t||"Assertion failed")}Nu.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)};var Ru=Pu((function(e,t){var n=t;function r(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),o=i>>8,a=255&i;o?n.push(o,a):n.push(a)}return n},n.zero2=r,n.toHex=i,n.encode=function(e,t){return"hex"===t?i(e):e}})),Mu=Pu((function(e,t){var n=t;n.assert=Ou,n.toArray=Ru.toArray,n.zero2=Ru.zero2,n.toHex=Ru.toHex,n.encode=Ru.encode,n.getNAF=function(e,t,n){var r=new Array(Math.max(e.bitLength(),n)+1);r.fill(0);for(var i=1<<t+1,o=e.clone(),a=0;a<r.length;a++){var s,u=o.andln(i-1);o.isOdd()?(s=u>(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,r[a]=s,o.iushrn(1)}return r},n.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,u=e.andln(3)+i&3,l=t.andln(3)+o&3;3===u&&(u=-1),3===l&&(l=-1),a=0==(1&u)?0:3!==(r=e.andln(7)+i&7)&&5!==r||2!==l?u:-u,n[0].push(a),s=0==(1&l)?0:3!==(r=t.andln(7)+o&7)&&5!==r||2!==u?l:-l,n[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return n},n.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new qt(e,"hex","le")}})),Lu=Mu.getNAF,Du=Mu.getJSF,Fu=Mu.assert;function Bu(e,t){this.type=e,this.p=new qt(t.p,16),this.red=t.prime?qt.red(t.prime):qt.mont(this.p),this.zero=new qt(0).toRed(this.red),this.one=new qt(1).toRed(this.red),this.two=new qt(2).toRed(this.red),this.n=t.n&&new qt(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var ju=Bu;function zu(e,t){this.curve=e,this.type=t,this.precomputed=null}Bu.prototype.point=function(){throw new Error("Not implemented")},Bu.prototype.validate=function(){throw new Error("Not implemented")},Bu.prototype._fixedNafMul=function(e,t){Fu(e.precomputed);var n=e._getDoubles(),r=Lu(t,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;var o,a,s=[];for(o=0;o<r.length;o+=n.step){a=0;for(var u=o+n.step-1;u>=o;u--)a=(a<<1)+r[u];s.push(a)}for(var l=this.jpoint(null,null,null),c=this.jpoint(null,null,null),d=i;d>0;d--){for(o=0;o<s.length;o++)(a=s[o])===d?c=c.mixedAdd(n.points[o]):a===-d&&(c=c.mixedAdd(n.points[o].neg()));l=l.add(c)}return l.toP()},Bu.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var i=r.points,o=Lu(t,n,this._bitLength),a=this.jpoint(null,null,null),s=o.length-1;s>=0;s--){for(var u=0;s>=0&&0===o[s];s--)u++;if(s>=0&&u++,a=a.dblp(u),s<0)break;var l=o[s];Fu(0!==l),a="affine"===e.type?l>0?a.mixedAdd(i[l-1>>1]):a.mixedAdd(i[-l-1>>1].neg()):l>0?a.add(i[l-1>>1]):a.add(i[-l-1>>1].neg())}return"affine"===e.type?a.toP():a},Bu.prototype._wnafMulAdd=function(e,t,n,r,i){var o,a,s,u=this._wnafT1,l=this._wnafT2,c=this._wnafT3,d=0;for(o=0;o<r;o++){var f=(s=t[o])._getNAFPoints(e);u[o]=f.wnd,l[o]=f.points}for(o=r-1;o>=1;o-=2){var p=o-1,h=o;if(1===u[p]&&1===u[h]){var m=[t[p],null,null,t[h]];0===t[p].y.cmp(t[h].y)?(m[1]=t[p].add(t[h]),m[2]=t[p].toJ().mixedAdd(t[h].neg())):0===t[p].y.cmp(t[h].y.redNeg())?(m[1]=t[p].toJ().mixedAdd(t[h]),m[2]=t[p].add(t[h].neg())):(m[1]=t[p].toJ().mixedAdd(t[h]),m[2]=t[p].toJ().mixedAdd(t[h].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],A=Du(n[p],n[h]);for(d=Math.max(A[0].length,d),c[p]=new Array(d),c[h]=new Array(d),a=0;a<d;a++){var g=0|A[0][a],b=0|A[1][a];c[p][a]=y[3*(g+1)+(b+1)],c[h][a]=0,l[p]=m}}else c[p]=Lu(n[p],u[p],this._bitLength),c[h]=Lu(n[h],u[h],this._bitLength),d=Math.max(c[p].length,d),d=Math.max(c[h].length,d)}var v=this.jpoint(null,null,null),w=this._wnafT4;for(o=d;o>=0;o--){for(var x=0;o>=0;){var E=!0;for(a=0;a<r;a++)w[a]=0|c[a][o],0!==w[a]&&(E=!1);if(!E)break;x++,o--}if(o>=0&&x++,v=v.dblp(x),o<0)break;for(a=0;a<r;a++){var T=w[a];0!==T&&(T>0?s=l[a][T-1>>1]:T<0&&(s=l[a][-T-1>>1].neg()),v="affine"===s.type?v.mixedAdd(s):v.add(s))}}for(o=0;o<r;o++)l[o]=null;return i?v:v.toP()},Bu.BasePoint=zu,zu.prototype.eq=function(){throw new Error("Not implemented")},zu.prototype.validate=function(){return this.curve.validate(this)},Bu.prototype.decodePoint=function(e,t){e=Mu.toArray(e,t);var n=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*n)return 6===e[0]?Fu(e[e.length-1]%2==0):7===e[0]&&Fu(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((2===e[0]||3===e[0])&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),3===e[0]);throw new Error("Unknown point format")},zu.prototype.encodeCompressed=function(e){return this.encode(e,!0)},zu.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",t))},zu.prototype.encode=function(e,t){return Mu.encode(this._encode(t),e)},zu.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},zu.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},zu.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)r=r.dbl();n.push(r)}return{step:e,points:n}},zu.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},zu.prototype._getBeta=function(){return null},zu.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t};var _u=Pu((function(e){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Uu=Mu.assert;function Hu(e){ju.call(this,"short",e),this.a=new qt(e.a,16).toRed(this.red),this.b=new qt(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}_u(Hu,ju);var Wu=Hu;function Vu(e,t,n,r){ju.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new qt(t,16),this.y=new qt(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function qu(e,t,n,r){ju.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new qt(0)):(this.x=new qt(t,16),this.y=new qt(n,16),this.z=new qt(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Hu.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new qt(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new qt(e.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(t))?n=i[0]:(n=i[1],Uu(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new qt(e.a,16),b:new qt(e.b,16)}})):this._getEndoBasis(n)}}},Hu.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:qt.mont(e),n=new qt(2).toRed(t).redInvm(),r=n.redNeg(),i=new qt(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(i).fromRed(),r.redSub(i).fromRed()]},Hu.prototype._getEndoBasis=function(e){for(var t,n,r,i,o,a,s,u,l,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,f=this.n.clone(),p=new qt(1),h=new qt(0),m=new qt(0),y=new qt(1),A=0;0!==d.cmpn(0);){var g=f.div(d);u=f.sub(g.mul(d)),l=m.sub(g.mul(p));var b=y.sub(g.mul(h));if(!r&&u.cmp(c)<0)t=s.neg(),n=p,r=u.neg(),i=l;else if(r&&2==++A)break;s=u,f=d,d=u,m=p,p=l,y=h,h=b}o=u.neg(),a=l;var v=r.sqr().add(i.sqr());return o.sqr().add(a.sqr()).cmp(v)>=0&&(o=t,a=n),r.negative&&(r=r.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:r,b:i},{a:o,b:a}]},Hu.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),a=i.mul(n.a),s=o.mul(r.a),u=i.mul(n.b),l=o.mul(r.b);return{k1:e.sub(a).sub(s),k2:u.add(l).neg()}},Hu.prototype.pointFromX=function(e,t){(e=new qt(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var i=r.fromRed().isOdd();return(t&&!i||!t&&i)&&(r=r.redNeg()),this.point(e,r)},Hu.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},Hu.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(t[o]),s=e[o],u=s._getBeta();a.k1.negative&&(a.k1.ineg(),s=s.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),r[2*o]=s,r[2*o+1]=u,i[2*o]=a.k1,i[2*o+1]=a.k2}for(var l=this._wnafMulAdd(1,r,i,2*o,n),c=0;c<2*o;c++)r[c]=null,i[c]=null;return l},_u(Vu,ju.BasePoint),Hu.prototype.point=function(e,t,n){return new Vu(this,e,t,n)},Hu.prototype.pointFromJSON=function(e,t){return Vu.fromJSON(this,e,t)},Vu.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},Vu.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Vu.fromJSON=function(e,t,n){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var o=t[2];return r.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[r].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[r].concat(o.naf.points.map(i))}},r},Vu.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Vu.prototype.isInfinity=function(){return this.inf},Vu.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},Vu.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Vu.prototype.getX=function(){return this.x.fromRed()},Vu.prototype.getY=function(){return this.y.fromRed()},Vu.prototype.mul=function(e){return e=new qt(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Vu.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},Vu.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},Vu.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Vu.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},Vu.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},_u(qu,ju.BasePoint),Hu.prototype.jpoint=function(e,t,n){return new qu(this,e,t,n)},qu.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},qu.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},qu.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(n.redMul(this.z)),s=r.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=s.redSqr(),c=l.redMul(s),d=r.redMul(l),f=u.redSqr().redIAdd(c).redISub(d).redISub(d),p=u.redMul(d.redISub(f)).redISub(o.redMul(c)),h=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(f,p,h)},qu.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=n.redSub(r),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),c=n.redMul(u),d=s.redSqr().redIAdd(l).redISub(c).redISub(c),f=s.redMul(c.redISub(d)).redISub(i.redMul(l)),p=this.z.redMul(a);return this.curve.jpoint(d,f,p)},qu.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,o=this.x,a=this.y,s=this.z,u=s.redSqr().redSqr(),l=a.redAdd(a);for(t=0;t<e;t++){var c=o.redSqr(),d=l.redSqr(),f=d.redSqr(),p=c.redAdd(c).redIAdd(c).redIAdd(r.redMul(u)),h=o.redMul(d),m=p.redSqr().redISub(h.redAdd(h)),y=h.redISub(m),A=p.redMul(y);A=A.redIAdd(A).redISub(f);var g=l.redMul(s);t+1<e&&(u=u.redMul(f)),o=m,s=g,l=A}return this.curve.jpoint(o,l.redMul(i),s)},qu.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},qu.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(o);a=a.redIAdd(a);var s=r.redAdd(r).redIAdd(r),u=s.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=u,t=s.redMul(a.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.x.redSqr(),d=this.y.redSqr(),f=d.redSqr(),p=this.x.redAdd(d).redSqr().redISub(c).redISub(f);p=p.redIAdd(p);var h=c.redAdd(c).redIAdd(c),m=h.redSqr(),y=f.redIAdd(f);y=(y=y.redIAdd(y)).redIAdd(y),e=m.redISub(p).redISub(p),t=h.redMul(p.redISub(e)).redISub(y),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(e,t,n)},qu.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(o);a=a.redIAdd(a);var s=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),u=s.redSqr().redISub(a).redISub(a);e=u;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=s.redMul(a.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.z.redSqr(),d=this.y.redSqr(),f=this.x.redMul(d),p=this.x.redSub(c).redMul(this.x.redAdd(c));p=p.redAdd(p).redIAdd(p);var h=f.redIAdd(f),m=(h=h.redIAdd(h)).redAdd(h);e=p.redSqr().redISub(m),n=this.y.redAdd(this.z).redSqr().redISub(d).redISub(c);var y=d.redSqr();y=(y=(y=y.redIAdd(y)).redIAdd(y)).redIAdd(y),t=p.redMul(h.redISub(e)).redISub(y)}return this.curve.jpoint(e,t,n)},qu.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),o=t.redSqr(),a=n.redSqr(),s=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),u=t.redAdd(t),l=(u=u.redIAdd(u)).redMul(a),c=s.redSqr().redISub(l.redAdd(l)),d=l.redISub(c),f=a.redSqr();f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var p=s.redMul(d).redISub(f),h=n.redAdd(n).redMul(r);return this.curve.jpoint(c,p,h)},qu.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(r),s=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(o)).redSqr(),u=r.redIAdd(r);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=i.redIAdd(a).redSqr().redISub(o).redISub(s).redISub(u),c=t.redMul(l);c=(c=c.redIAdd(c)).redIAdd(c);var d=this.x.redMul(s).redISub(c);d=(d=d.redIAdd(d)).redIAdd(d);var f=this.y.redMul(l.redMul(u.redISub(l)).redISub(a.redMul(s)));f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var p=this.z.redAdd(a).redSqr().redISub(n).redISub(s);return this.curve.jpoint(d,f,p)},qu.prototype.mul=function(e,t){return e=new qt(e,t),this.curve._wnafMul(this,e)},qu.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(0!==this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)},qu.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(n))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},qu.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},qu.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Xu=Pu((function(e,t){var n=t;n.base=ju,n.short=Wu,n.mont=null,n.edwards=null})),Gu=Pu((function(e,t){var n,r=t,i=Mu.assert;function o(e){"short"===e.type?this.curve=new Xu.short(e):"edwards"===e.type?this.curve=new Xu.edwards(e):this.curve=new Xu.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){var n=new o(t);return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=o,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Iu.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Iu.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Iu.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Iu.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Iu.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Iu.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Iu.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(e){n=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Iu.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})}));function Zu(e){if(!(this instanceof Zu))return new Zu(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Ru.toArray(e.entropy,e.entropyEnc||"hex"),n=Ru.toArray(e.nonce,e.nonceEnc||"hex"),r=Ru.toArray(e.pers,e.persEnc||"hex");Ou(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}var Yu=Zu;Zu.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},Zu.prototype._hmac=function(){return new Iu.hmac(this.hash,this.K)},Zu.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Zu.prototype.reseed=function(e,t,n,r){"string"!=typeof t&&(r=n,n=t,t=null),e=Ru.toArray(e,t),n=Ru.toArray(n,r),Ou(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},Zu.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=Ru.toArray(n,r||"hex"),this._update(n));for(var i=[];i.length<e;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var o=i.slice(0,e);return this._update(n),this._reseed++,Ru.encode(o,t)};var Ku=Mu.assert;function Qu(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Ju=Qu;Qu.fromPublic=function(e,t,n){return t instanceof Qu?t:new Qu(e,{pub:t,pubEnc:n})},Qu.fromPrivate=function(e,t,n){return t instanceof Qu?t:new Qu(e,{priv:t,privEnc:n})},Qu.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Qu.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},Qu.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},Qu.prototype._importPrivate=function(e,t){this.priv=new qt(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},Qu.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?Ku(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Ku(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},Qu.prototype.derive=function(e){return e.validate()||Ku(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Qu.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},Qu.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},Qu.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var $u=Mu.assert;function el(e,t){if(e instanceof el)return e;this._importDER(e,t)||($u(e.r&&e.s,"Signature without r or s"),this.r=new qt(e.r,16),this.s=new qt(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var tl=el;function nl(){this.place=0}function rl(e,t){var n=e[t.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;for(var i=0,o=0,a=t.place;o<r;o++,a++)i<<=8,i|=e[a],i>>>=0;return!(i<=127)&&(t.place=a,i)}function il(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t<n;)t++;return 0===t?e:e.slice(t)}function ol(e,t){if(t<128)e.push(t);else{var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}el.prototype._importDER=function(e,t){e=Mu.toArray(e,t);var n=new nl;if(48!==e[n.place++])return!1;var r=rl(e,n);if(!1===r)return!1;if(r+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var i=rl(e,n);if(!1===i)return!1;var o=e.slice(n.place,i+n.place);if(n.place+=i,2!==e[n.place++])return!1;var a=rl(e,n);if(!1===a)return!1;if(e.length!==a+n.place)return!1;var s=e.slice(n.place,a+n.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new qt(o),this.s=new qt(s),this.recoveryParam=null,!0},el.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=il(t),n=il(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];ol(r,t.length),(r=r.concat(t)).push(2),ol(r,n.length);var i=r.concat(n),o=[48];return ol(o,i.length),o=o.concat(i),Mu.encode(o,e)};var al=function(){throw new Error("unsupported")},sl=Mu.assert;function ul(e){if(!(this instanceof ul))return new ul(e);"string"==typeof e&&(sl(Object.prototype.hasOwnProperty.call(Gu,e),"Unknown curve "+e),e=Gu[e]),e instanceof Gu.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var ll=ul;ul.prototype.keyPair=function(e){return new Ju(this,e)},ul.prototype.keyFromPrivate=function(e,t){return Ju.fromPrivate(this,e,t)},ul.prototype.keyFromPublic=function(e,t){return Ju.fromPublic(this,e,t)},ul.prototype.genKeyPair=function(e){e||(e={});for(var t=new Yu({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||al(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),r=this.n.sub(new qt(2));;){var i=new qt(t.generate(n));if(!(i.cmp(r)>0))return i.iaddn(1),this.keyFromPrivate(i)}},ul.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},ul.prototype.sign=function(e,t,n,r){"object"==typeof n&&(r=n,n=null),r||(r={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new qt(e,16));for(var i=this.n.byteLength(),o=t.getPrivate().toArray("be",i),a=e.toArray("be",i),s=new Yu({hash:this.hash,entropy:o,nonce:a,pers:r.pers,persEnc:r.persEnc||"utf8"}),u=this.n.sub(new qt(1)),l=0;;l++){var c=r.k?r.k(l):new qt(s.generate(this.n.byteLength()));if(!((c=this._truncateToN(c,!0)).cmpn(1)<=0||c.cmp(u)>=0)){var d=this.g.mul(c);if(!d.isInfinity()){var f=d.getX(),p=f.umod(this.n);if(0!==p.cmpn(0)){var h=c.invm(this.n).mul(p.mul(t.getPrivate()).iadd(e));if(0!==(h=h.umod(this.n)).cmpn(0)){var m=(d.getY().isOdd()?1:0)|(0!==f.cmp(p)?2:0);return r.canonical&&h.cmp(this.nh)>0&&(h=this.n.sub(h),m^=1),new tl({r:p,s:h,recoveryParam:m})}}}}}},ul.prototype.verify=function(e,t,n,r){e=this._truncateToN(new qt(e,16)),n=this.keyFromPublic(n,r);var i=(t=new tl(t,"hex")).r,o=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,s=o.invm(this.n),u=s.mul(e).umod(this.n),l=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,n.getPublic(),l)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(u,n.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},ul.prototype.recoverPubKey=function(e,t,n,r){sl((3&n)===n,"The recovery param is more than two bits"),t=new tl(t,r);var i=this.n,o=new qt(e),a=t.r,s=t.s,u=1&n,l=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");a=l?this.curve.pointFromX(a.add(this.curve.n),u):this.curve.pointFromX(a,u);var c=t.r.invm(i),d=i.sub(o).mul(c).umod(i),f=s.mul(c).umod(i);return this.g.mulAdd(d,a,f)},ul.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new tl(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")};var cl=Pu((function(e,t){var n=t;n.version="6.5.4",n.utils=Mu,n.rand=function(){throw new Error("unsupported")},n.curve=Xu,n.curves=Gu,n.ec=ll,n.eddsa=null})),dl=cl.ec;const fl=new tn("signing-key/5.7.0");let pl=null;function hl(){return pl||(pl=new dl("secp256k1")),pl}class ml{constructor(e){Jn(this,"curve","secp256k1"),Jn(this,"privateKey",yn(e)),32!==An(this.privateKey)&&fl.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=hl().keyFromPrivate(cn(this.privateKey));Jn(this,"publicKey","0x"+t.getPublic(!1,"hex")),Jn(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Jn(this,"_isSigningKey",!0)}_addPoint(e){const t=hl().keyFromPublic(cn(this.publicKey)),n=hl().keyFromPublic(cn(e));return"0x"+t.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const t=hl().keyFromPrivate(cn(this.privateKey)),n=cn(e);32!==n.length&&fl.throwArgumentError("bad digest length","digest",e);const r=t.sign(n,{canonical:!0});return En({recoveryParam:r.recoveryParam,r:xn("0x"+r.r.toString(16),32),s:xn("0x"+r.s.toString(16),32)})}computeSharedSecret(e){const t=hl().keyFromPrivate(cn(this.privateKey)),n=hl().keyFromPublic(cn(Al(e)));return xn("0x"+t.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function yl(e,t){const n=En(t),r={r:cn(n.r),s:cn(n.s)};return"0x"+hl().recoverPubKey(cn(e),r,n.recoveryParam).encode("hex",!1)}function Al(e,t){const n=cn(e);if(32===n.length){const e=new ml(n);return t?"0x"+hl().keyFromPrivate(n).getPublic(!0,"hex"):e.publicKey}return 33===n.length?t?yn(n):"0x"+hl().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?t?"0x"+hl().keyFromPublic(n).getPublic(!0,"hex"):yn(n):fl.throwArgumentError("invalid public or private key","key","[REDACTED]")}var gl=Object.freeze({__proto__:null,SigningKey:ml,computePublicKey:Al,recoverPublicKey:yl});const bl=new tn("transactions/5.7.0");var vl;function wl(e){return"0x"===e?null:ti(e)}function xl(e){return"0x"===e?vi:Rn.from(e)}!function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"}(vl||(vl={}));const El=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],Tl={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function Cl(e){return ti(gn(zr(gn(Al(e),1)),12))}function kl(e,t){return Cl(yl(cn(e),t))}function Sl(e,t){const n=fn(Rn.from(e).toHexString());return n.length>32&&bl.throwArgumentError("invalid length for "+t,"transaction:"+t,e),n}function Il(e,t){return{address:ti(e),storageKeys:(t||[]).map(((t,n)=>(32!==An(t)&&bl.throwArgumentError("invalid access list storageKey",`accessList[${e}:${n}]`,t),t.toLowerCase())))}}function Pl(e){if(Array.isArray(e))return e.map(((e,t)=>Array.isArray(e)?(e.length>2&&bl.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${t}]`,e),Il(e[0],e[1])):Il(e.address,e.storageKeys)));const t=Object.keys(e).map((t=>{const n=e[t].reduce(((e,t)=>(e[t]=!0,e)),{});return Il(t,Object.keys(n).sort())}));return t.sort(((e,t)=>e.address.localeCompare(t.address))),t}function Ol(e){return Pl(e).map((e=>[e.address,e.storageKeys]))}function Nl(e,t){if(null!=e.gasPrice){const t=Rn.from(e.gasPrice),n=Rn.from(e.maxFeePerGas||0);t.eq(n)||bl.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:t,maxFeePerGas:n})}const n=[Sl(e.chainId||0,"chainId"),Sl(e.nonce||0,"nonce"),Sl(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Sl(e.maxFeePerGas||0,"maxFeePerGas"),Sl(e.gasLimit||0,"gasLimit"),null!=e.to?ti(e.to):"0x",Sl(e.value||0,"value"),e.data||"0x",Ol(e.accessList||[])];if(t){const e=En(t);n.push(Sl(e.recoveryParam,"recoveryParam")),n.push(fn(e.r)),n.push(fn(e.s))}return bn(["0x02",qr(n)])}function Rl(e,t){const n=[Sl(e.chainId||0,"chainId"),Sl(e.nonce||0,"nonce"),Sl(e.gasPrice||0,"gasPrice"),Sl(e.gasLimit||0,"gasLimit"),null!=e.to?ti(e.to):"0x",Sl(e.value||0,"value"),e.data||"0x",Ol(e.accessList||[])];if(t){const e=En(t);n.push(Sl(e.recoveryParam,"recoveryParam")),n.push(fn(e.r)),n.push(fn(e.s))}return bn(["0x01",qr(n)])}function Ml(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&bl.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),function(e,t){tr(e,Tl);const n=[];El.forEach((function(t){let r=e[t.name]||[];const i={};t.numeric&&(i.hexPad="left"),r=cn(yn(r,i)),t.length&&r.length!==t.length&&r.length>0&&bl.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,r),t.maxLength&&(r=fn(r),r.length>t.maxLength&&bl.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,r)),n.push(yn(r))}));let r=0;if(null!=e.chainId?(r=e.chainId,"number"!=typeof r&&bl.throwArgumentError("invalid transaction.chainId","transaction",e)):t&&!sn(t)&&t.v>28&&(r=Math.floor((t.v-35)/2)),0!==r&&(n.push(yn(r)),n.push("0x"),n.push("0x")),!t)return qr(n);const i=En(t);let o=27+i.recoveryParam;return 0!==r?(n.pop(),n.pop(),n.pop(),o+=2*r+8,i.v>28&&i.v!==o&&bl.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==o&&bl.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),n.push(yn(o)),n.push(fn(cn(i.r))),n.push(fn(cn(i.s))),qr(n)}(e,t);switch(e.type){case 1:return Rl(e,t);case 2:return Nl(e,t)}return bl.throwError(`unsupported transaction type: ${e.type}`,tn.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})}function Ll(e,t,n){try{const n=xl(t[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");e.v=n}catch(e){bl.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=xn(t[1],32),e.s=xn(t[2],32);try{const t=zr(n(e));e.from=kl(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}function Dl(e){const t=cn(e);if(t[0]>127)return function(e){const t=Zr(e);9!==t.length&&6!==t.length&&bl.throwArgumentError("invalid raw transaction","rawTransaction",e);const n={nonce:xl(t[0]).toNumber(),gasPrice:xl(t[1]),gasLimit:xl(t[2]),to:wl(t[3]),value:xl(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=Rn.from(t[6]).toNumber()}catch(e){return n}if(n.r=xn(t[7],32),n.s=xn(t[8],32),Rn.from(n.r).isZero()&&Rn.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);let r=n.v-27;const i=t.slice(0,6);0!==n.chainId&&(i.push(yn(n.chainId)),i.push("0x"),i.push("0x"),r-=2*n.chainId+8);const o=zr(qr(i));try{n.from=kl(o,{r:yn(n.r),s:yn(n.s),recoveryParam:r})}catch(e){}n.hash=zr(e)}return n.type=null,n}(t);switch(t[0]){case 1:return function(e){const t=Zr(e.slice(1));8!==t.length&&11!==t.length&&bl.throwArgumentError("invalid component count for transaction type: 1","payload",yn(e));const n={type:1,chainId:xl(t[0]).toNumber(),nonce:xl(t[1]).toNumber(),gasPrice:xl(t[2]),gasLimit:xl(t[3]),to:wl(t[4]),value:xl(t[5]),data:t[6],accessList:Pl(t[7])};return 8===t.length||(n.hash=zr(e),Ll(n,t.slice(8),Rl)),n}(t);case 2:return function(e){const t=Zr(e.slice(1));9!==t.length&&12!==t.length&&bl.throwArgumentError("invalid component count for transaction type: 2","payload",yn(e));const n=xl(t[2]),r=xl(t[3]),i={type:2,chainId:xl(t[0]).toNumber(),nonce:xl(t[1]).toNumber(),maxPriorityFeePerGas:n,maxFeePerGas:r,gasPrice:null,gasLimit:xl(t[4]),to:wl(t[5]),value:xl(t[6]),data:t[7],accessList:Pl(t[8])};return 9===t.length||(i.hash=zr(e),Ll(i,t.slice(9),Nl)),i}(t)}return bl.throwError(`unsupported transaction type: ${t[0]}`,tn.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})}var Fl=Object.freeze({__proto__:null,get TransactionTypes(){return vl},accessListify:Pl,computeAddress:Cl,parse:Dl,recoverAddress:kl,serialize:Ml});var Bl=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const jl=new tn("contracts/5.7.0"),zl={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function _l(e,t){return Bl(this,void 0,void 0,(function*(){const n=yield t;"string"!=typeof n&&jl.throwArgumentError("invalid address or ENS name","name",n);try{return ti(n)}catch(e){}e||jl.throwError("a provider or signer is needed to resolve ENS names",tn.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const r=yield e.resolveName(n);return null==r&&jl.throwArgumentError("resolver or addr is not configured for ENS name","name",n),r}))}function Ul(e,t,n){return Bl(this,void 0,void 0,(function*(){return Array.isArray(n)?yield Promise.all(n.map(((n,r)=>Ul(e,Array.isArray(t)?t[r]:t[n.name],n)))):"address"===n.type?yield _l(e,t):"tuple"===n.type?yield Ul(e,t,n.components):"array"===n.baseType?Array.isArray(t)?yield Promise.all(t.map((t=>Ul(e,t,n.arrayChildren)))):Promise.reject(jl.makeError("invalid value for array",tn.errors.INVALID_ARGUMENT,{argument:"value",value:t})):t}))}function Hl(e,t,n){return Bl(this,void 0,void 0,(function*(){let r={};n.length===t.inputs.length+1&&"object"==typeof n[n.length-1]&&(r=nr(n.pop())),jl.checkArgumentCount(n.length,t.inputs.length,"passed to contract"),e.signer?r.from?r.from=er({override:_l(e.signer,r.from),signer:e.signer.getAddress()}).then((e=>Bl(this,void 0,void 0,(function*(){return ti(e.signer)!==e.override&&jl.throwError("Contract with a Signer cannot override from",tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override})))):r.from=e.signer.getAddress():r.from&&(r.from=_l(e.provider,r.from));const i=yield er({args:Ul(e.signer||e.provider,n,t.inputs),address:e.resolvedAddress,overrides:er(r)||{}}),o=e.interface.encodeFunctionData(t,i.args),a={data:o,to:i.address},s=i.overrides;if(null!=s.nonce&&(a.nonce=Rn.from(s.nonce).toNumber()),null!=s.gasLimit&&(a.gasLimit=Rn.from(s.gasLimit)),null!=s.gasPrice&&(a.gasPrice=Rn.from(s.gasPrice)),null!=s.maxFeePerGas&&(a.maxFeePerGas=Rn.from(s.maxFeePerGas)),null!=s.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=Rn.from(s.maxPriorityFeePerGas)),null!=s.from&&(a.from=s.from),null!=s.type&&(a.type=s.type),null!=s.accessList&&(a.accessList=Pl(s.accessList)),null==a.gasLimit&&null!=t.gas){let e=21e3;const n=cn(o);for(let t=0;t<n.length;t++)e+=4,n[t]&&(e+=64);a.gasLimit=Rn.from(t.gas).add(e)}if(s.value){const e=Rn.from(s.value);e.isZero()||t.payable||jl.throwError("non-payable method cannot override value",tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),a.value=e}s.customData&&(a.customData=nr(s.customData)),s.ccipReadEnabled&&(a.ccipReadEnabled=!!s.ccipReadEnabled),delete r.nonce,delete r.gasLimit,delete r.gasPrice,delete r.from,delete r.value,delete r.type,delete r.accessList,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.customData,delete r.ccipReadEnabled;const u=Object.keys(r).filter((e=>null!=r[e]));return u.length&&jl.throwError(`cannot override ${u.map((e=>JSON.stringify(e))).join(",")}`,tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:u}),a}))}function Wl(e,t){const n=t.wait.bind(t);t.wait=t=>n(t).then((t=>(t.events=t.logs.map((n=>{let r=ar(n),i=null;try{i=e.interface.parseLog(n)}catch(e){}return i&&(r.args=i.args,r.decode=(t,n)=>e.interface.decodeEventLog(i.eventFragment,t,n),r.event=i.name,r.eventSignature=i.signature),r.removeListener=()=>e.provider,r.getBlock=()=>e.provider.getBlock(t.blockHash),r.getTransaction=()=>e.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>Promise.resolve(t),r})),t)))}function Vl(e,t,n){const r=e.signer||e.provider;return function(...i){return Bl(this,void 0,void 0,(function*(){let o;if(i.length===t.inputs.length+1&&"object"==typeof i[i.length-1]){const e=nr(i.pop());null!=e.blockTag&&(o=yield e.blockTag),delete e.blockTag,i.push(e)}null!=e.deployTransaction&&(yield e._deployed(o));const a=yield Hl(e,t,i),s=yield r.call(a,o);try{let r=e.interface.decodeFunctionResult(t,s);return n&&1===t.outputs.length&&(r=r[0]),r}catch(t){throw t.code===tn.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=i,t.transaction=a),t}}))}}function ql(e,t,n){return t.constant?Vl(e,t,n):function(e,t){return function(...n){return Bl(this,void 0,void 0,(function*(){e.signer||jl.throwError("sending a transaction requires a signer",tn.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());const r=yield Hl(e,t,n),i=yield e.signer.sendTransaction(r);return Wl(e,i),i}))}}(e,t)}function Xl(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.map((e=>Array.isArray(e)?e.join("|"):e)).join(":"):""):"*"}let Gl=class{constructor(e,t){Jn(this,"tag",e),Jn(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter((n=>!(!t&&n.listener===e)||(t=!0,!1)))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map((e=>e.listener))}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter((t=>{const n=e.slice();return setTimeout((()=>{t.listener.apply(this,n)}),0),!t.once})),t}prepareEvent(e){}getEmit(e){return[e]}},Zl=class extends Gl{constructor(){super("error",null)}},Yl=class extends Gl{constructor(e,t,n,r){const i={address:e};let o=t.getEventTopic(n);r?(o!==r[0]&&jl.throwArgumentError("topic mismatch","topics",r),i.topics=r.slice()):i.topics=[o],super(Xl(i),i),Jn(this,"address",e),Jn(this,"interface",t),Jn(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=Lr(e.args);if(t.length)throw t[0].error;const n=(e.args||[]).slice();return n.push(e),n}},Kl=class extends Gl{constructor(e,t){super("*",{address:e}),Jn(this,"address",e),Jn(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,n)=>this.interface.decodeEventLog(t.eventFragment,e,n),e.args=t.args}catch(e){}}},Ql=class{constructor(e,t,n){Jn(this,"interface",$n(new.target,"getInterface")(t)),null==n?(Jn(this,"provider",null),Jn(this,"signer",null)):Ca.isSigner(n)?(Jn(this,"provider",n.provider||null),Jn(this,"signer",n)):va.isProvider(n)?(Jn(this,"provider",n),Jn(this,"signer",null)):jl.throwArgumentError("invalid signer or provider","signerOrProvider",n),Jn(this,"callStatic",{}),Jn(this,"estimateGas",{}),Jn(this,"functions",{}),Jn(this,"populateTransaction",{}),Jn(this,"filters",{});{const e={};Object.keys(this.interface.events).forEach((t=>{const n=this.interface.events[t];Jn(this.filters,t,((...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(n,e)}))),e[n.name]||(e[n.name]=[]),e[n.name].push(t)})),Object.keys(e).forEach((t=>{const n=e[t];1===n.length?Jn(this.filters,t,this.filters[n[0]]):jl.warn(`Duplicate definition of ${t} (${n.join(", ")})`)}))}if(Jn(this,"_runningEvents",{}),Jn(this,"_wrappedEmits",{}),null==e&&jl.throwArgumentError("invalid contract address or ENS name","addressOrName",e),Jn(this,"address",e),this.provider)Jn(this,"resolvedAddress",_l(this.provider,e));else try{Jn(this,"resolvedAddress",Promise.resolve(ti(e)))}catch(e){jl.throwError("provider is required to use ENS name as contract address",tn.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch((e=>{}));const r={},i={};Object.keys(this.interface.functions).forEach((e=>{const t=this.interface.functions[e];if(i[e])jl.warn(`Duplicate ABI entry for ${JSON.stringify(e)}`);else{i[e]=!0;{const n=t.name;r[`%${n}`]||(r[`%${n}`]=[]),r[`%${n}`].push(e)}null==this[e]&&Jn(this,e,ql(this,t,!0)),null==this.functions[e]&&Jn(this.functions,e,ql(this,t,!1)),null==this.callStatic[e]&&Jn(this.callStatic,e,Vl(this,t,!0)),null==this.populateTransaction[e]&&Jn(this.populateTransaction,e,function(e,t){return function(...n){return Hl(e,t,n)}}(this,t)),null==this.estimateGas[e]&&Jn(this.estimateGas,e,function(e,t){const n=e.signer||e.provider;return function(...r){return Bl(this,void 0,void 0,(function*(){n||jl.throwError("estimate require a provider or signer",tn.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield Hl(e,t,r);return yield n.estimateGas(i)}))}}(this,t))}})),Object.keys(r).forEach((e=>{const t=r[e];if(t.length>1)return;e=e.substring(1);const n=t[0];try{null==this[e]&&Jn(this,e,this[n])}catch(e){}null==this.functions[e]&&Jn(this.functions,e,this.functions[n]),null==this.callStatic[e]&&Jn(this.callStatic,e,this.callStatic[n]),null==this.populateTransaction[e]&&Jn(this.populateTransaction,e,this.populateTransaction[n]),null==this.estimateGas[e]&&Jn(this.estimateGas,e,this.estimateGas[n])}))}static getContractAddress(e){return ii(e)}static getInterface(e){return ma.isInterface(e)?e:new ma(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((()=>this)):this._deployedPromise=this.provider.getCode(this.address,e).then((e=>("0x"===e&&jl.throwError("contract not deployed",tn.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this)))),this._deployedPromise}fallback(e){this.signer||jl.throwError("sending a transactions require a signer",tn.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const t=nr(e||{});return["from","to"].forEach((function(e){null!=t[e]&&jl.throwError("cannot override "+e,tn.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.to=this.resolvedAddress,this.deployed().then((()=>this.signer.sendTransaction(t)))}connect(e){"string"==typeof e&&(e=new ka(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&Jn(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return fa.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new Zl);if("event"===e)return this._normalizeRunningEvent(new Gl("event",null));if("*"===e)return this._normalizeRunningEvent(new Kl(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new Yl(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");const n=this.interface.getEvent(t);return this._normalizeRunningEvent(new Yl(this.address,this.interface,n,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Gl(Xl(t),t))}return this._normalizeRunningEvent(new Kl(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&e.filter&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,n){const r=ar(t);return r.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},r.getBlock=()=>this.provider.getBlock(t.blockHash),r.getTransaction=()=>this.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(r),r}_addEventListener(e,t,n){if(this.provider||jl.throwError("events require a provider or a signer with a provider",tn.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const n=n=>{let r=this._wrapEvent(e,n,t);if(null==r.decodeError)try{const t=e.getEmit(r);this.emit(e.filter,...t)}catch(e){r.decodeError=e.error}null!=e.filter&&this.emit("event",r),null!=r.decodeError&&this.emit("error",r.decodeError,r)};this._wrappedEmits[e.tag]=n,null!=e.filter&&this.provider.on(e.filter,n)}}queryFilter(e,t,n){const r=this._getRunningEvent(e),i=nr(r.filter);return"string"==typeof t&&hn(t,32)?(null!=n&&jl.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=n?n:"latest"),this.provider.getLogs(i).then((e=>e.map((e=>this._wrapEvent(r,e,null)))))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const n=this._getRunningEvent(e),r=n.run(t)>0;return this._checkRunningEvents(n),r}listenerCount(e){return this.provider?null==e?Object.keys(this._runningEvents).reduce(((e,t)=>e+this._runningEvents[t].listenerCount()),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach((t=>{e.push(t)}));return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const n=this._getRunningEvent(e);return n.removeListener(t),this._checkRunningEvents(n),this}removeListener(e,t){return this.off(e,t)}},Jl=class extends Ql{};class $l{constructor(e,t,n){let r=null;r="string"==typeof t?t:ln(t)?yn(t):t&&"string"==typeof t.object?t.object:"!","0x"!==r.substring(0,2)&&(r="0x"+r),(!hn(r)||r.length%2)&&jl.throwArgumentError("invalid bytecode","bytecode",t),n&&!Ca.isSigner(n)&&jl.throwArgumentError("invalid signer","signer",n),Jn(this,"bytecode",r),Jn(this,"interface",$n(new.target,"getInterface")(e)),Jn(this,"signer",n||null)}getDeployTransaction(...e){let t={};if(e.length===this.interface.deploy.inputs.length+1&&"object"==typeof e[e.length-1]){t=nr(e.pop());for(const e in t)if(!zl[e])throw new Error("unknown transaction override "+e)}if(["data","from","to"].forEach((e=>{null!=t[e]&&jl.throwError("cannot override "+e,tn.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.value){Rn.from(t.value).isZero()||this.interface.deploy.payable||jl.throwError("non-payable constructor cannot override value",tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:t.value})}return jl.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),t.data=yn(dn([this.bytecode,this.interface.encodeDeploy(e)])),t}deploy(...e){return Bl(this,void 0,void 0,(function*(){let t={};e.length===this.interface.deploy.inputs.length+1&&(t=e.pop()),jl.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");const n=yield Ul(this.signer,e,this.interface.deploy.inputs);n.push(t);const r=this.getDeployTransaction(...n),i=yield this.signer.sendTransaction(r),o=$n(this.constructor,"getContractAddress")(i),a=$n(this.constructor,"getContract")(o,this.interface,this.signer);return Wl(a,i),Jn(a,"deployTransaction",i),a}))}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,t){null==e&&jl.throwError("missing compiler output",tn.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));const n=e.abi;let r=null;return e.bytecode?r=e.bytecode:e.evm&&e.evm.bytecode&&(r=e.evm.bytecode),new this(n,r,t)}static getInterface(e){return Jl.getInterface(e)}static getContractAddress(e){return ii(e)}static getContract(e,t,n){return new Jl(e,t,n)}}class ec{constructor(e){Jn(this,"alphabet",e),Jn(this,"base",e.length),Jn(this,"_alphabetMap",{}),Jn(this,"_leader",e.charAt(0));for(let t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}encode(e){let t=cn(e);if(0===t.length)return"";let n=[0];for(let e=0;e<t.length;++e){let r=t[e];for(let e=0;e<n.length;++e)r+=n[e]<<8,n[e]=r%this.base,r=r/this.base|0;for(;r>0;)n.push(r%this.base),r=r/this.base|0}let r="";for(let e=0;0===t[e]&&e<t.length-1;++e)r+=this._leader;for(let e=n.length-1;e>=0;--e)r+=this.alphabet[n[e]];return r}decode(e){if("string"!=typeof e)throw new TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let n=0;n<e.length;n++){let r=this._alphabetMap[e[n]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let i=r;for(let e=0;e<t.length;++e)i+=t[e]*this.base,t[e]=255&i,i>>=8;for(;i>0;)t.push(255&i),i>>=8}for(let n=0;e[n]===this._leader&&n<e.length-1;++n)t.push(0);return cn(new Uint8Array(t.reverse()))}}const tc=new ec("abcdefghijklmnopqrstuvwxyz234567"),nc=new ec("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var rc,ic=Object.freeze({__proto__:null,Base32:tc,Base58:nc,BaseX:ec});!function(e){e.sha256="sha256",e.sha512="sha512"}(rc||(rc={}));const oc=new tn("sha2/5.7.0");function ac(e){return"0x"+Iu.ripemd160().update(cn(e)).digest("hex")}function sc(e){return"0x"+Iu.sha256().update(cn(e)).digest("hex")}function uc(e){return"0x"+Iu.sha512().update(cn(e)).digest("hex")}function lc(e,t,n){return rc[e]||oc.throwError("unsupported algorithm "+e,tn.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+Iu.hmac(Iu[e],cn(t)).update(cn(n)).digest("hex")}var cc=Object.freeze({__proto__:null,get SupportedAlgorithm(){return rc},computeHmac:lc,ripemd160:ac,sha256:sc,sha512:uc});function dc(e,t,n,r,i){let o;e=cn(e),t=cn(t);let a=1;const s=new Uint8Array(r),u=new Uint8Array(t.length+4);let l,c;u.set(t);for(let d=1;d<=a;d++){u[t.length]=d>>24&255,u[t.length+1]=d>>16&255,u[t.length+2]=d>>8&255,u[t.length+3]=255&d;let f=cn(lc(i,e,u));o||(o=f.length,c=new Uint8Array(o),a=Math.ceil(r/o),l=r-(a-1)*o),c.set(f);for(let t=1;t<n;t++){f=cn(lc(i,e,f));for(let e=0;e<o;e++)c[e]^=f[e]}const p=(d-1)*o,h=d===a?l:o;s.set(cn(c).slice(0,h),p)}return yn(s)}const fc=new tn("wordlists/5.7.0");class pc{constructor(e){fc.checkAbstract(new.target,pc),Jn(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){const t=[];for(let n=0;n<2048;n++){const r=e.getWord(n);if(n!==e.getWordIndex(r))return"0x";t.push(r)}return lo(t.join("\n")+"\n")}static register(e,t){t||(t=e.locale)}}let hc=null;function mc(e){if(null==hc&&(hc="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==pc.check(e)))throw hc=null,new Error("BIP39 Wordlist for en (English) FAILED")}const yc=new class extends pc{constructor(){super("en")}getWord(e){return mc(this),hc[e]}getWordIndex(e){return mc(this),hc.indexOf(e)}};pc.register(yc);const Ac={en:yc},gc=new tn("hdnode/5.7.0"),bc=Rn.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),vc=Fi("Bitcoin seed"),wc=2147483648;function xc(e){return(1<<e)-1<<8-e}function Ec(e){return xn(yn(e),32)}function Tc(e){return nc.encode(dn([e,gn(sc(sc(e)),0,4)]))}function Cc(e){if(null==e)return Ac.en;if("string"==typeof e){const t=Ac[e];return null==t&&gc.throwArgumentError("unknown locale","wordlist",e),t}return e}const kc={},Sc="m/44'/60'/0'/0/0";class Ic{constructor(e,t,n,r,i,o,a,s){if(e!==kc)throw new Error("HDNode constructor cannot be called directly");if(t){const e=new ml(t);Jn(this,"privateKey",e.privateKey),Jn(this,"publicKey",e.compressedPublicKey)}else Jn(this,"privateKey",null),Jn(this,"publicKey",yn(n));Jn(this,"parentFingerprint",r),Jn(this,"fingerprint",gn(ac(sc(this.publicKey)),0,4)),Jn(this,"address",Cl(this.publicKey)),Jn(this,"chainCode",i),Jn(this,"index",o),Jn(this,"depth",a),null==s?(Jn(this,"mnemonic",null),Jn(this,"path",null)):"string"==typeof s?(Jn(this,"mnemonic",null),Jn(this,"path",s)):(Jn(this,"mnemonic",s),Jn(this,"path",s.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return Tc(dn([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",yn(this.depth),this.parentFingerprint,xn(yn(this.index),4),this.chainCode,null!=this.privateKey?dn(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new Ic(kc,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let t=this.path;t&&(t+="/"+(2147483647&e));const n=new Uint8Array(37);if(e&wc){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(cn(this.privateKey),1),t&&(t+="'")}else n.set(cn(this.publicKey));for(let t=24;t>=0;t-=8)n[33+(t>>3)]=e>>24-t&255;const r=cn(lc(rc.sha512,this.chainCode,n)),i=r.slice(0,32),o=r.slice(32);let a=null,s=null;if(this.privateKey)a=Ec(Rn.from(i).add(this.privateKey).mod(bc));else{s=new ml(yn(i))._addPoint(this.publicKey)}let u=t;const l=this.mnemonic;return l&&(u=Object.freeze({phrase:l.phrase,path:t,locale:l.locale||"en"})),new Ic(kc,a,s,this.fingerprint,Ec(o),e,this.depth+1,u)}derivePath(e){const t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();let n=this;for(let e=0;e<t.length;e++){const r=t[e];if(r.match(/^[0-9]+'$/)){const e=parseInt(r.substring(0,r.length-1));if(e>=wc)throw new Error("invalid path index - "+r);n=n._derive(wc+e)}else{if(!r.match(/^[0-9]+$/))throw new Error("invalid path component - "+r);{const e=parseInt(r);if(e>=wc)throw new Error("invalid path index - "+r);n=n._derive(e)}}}return n}static _fromSeed(e,t){const n=cn(e);if(n.length<16||n.length>64)throw new Error("invalid seed");const r=cn(lc(rc.sha512,vc,n));return new Ic(kc,Ec(r.slice(0,32)),null,"0x00000000",Ec(r.slice(32)),0,0,t)}static fromMnemonic(e,t,n){return e=Nc(Oc(e,n=Cc(n)),n),Ic._fromSeed(Pc(e,t),{phrase:e,path:"m",locale:n.locale})}static fromSeed(e){return Ic._fromSeed(e,null)}static fromExtendedKey(e){const t=nc.decode(e);82===t.length&&Tc(t.slice(0,78))===e||gc.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const n=t[4],r=yn(t.slice(5,9)),i=parseInt(yn(t.slice(9,13)).substring(2),16),o=yn(t.slice(13,45)),a=t.slice(45,78);switch(yn(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new Ic(kc,null,yn(a),r,o,i,n,null);case"0x0488ade4":case"0x04358394 ":if(0!==a[0])break;return new Ic(kc,yn(a.slice(1)),null,r,o,i,n,null)}return gc.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Pc(e,t){t||(t="");const n=Fi("mnemonic"+t,Ni.NFKD);return dc(Fi(e,Ni.NFKD),n,2048,64,"sha512")}function Oc(e,t){t=Cc(t),gc.checkNormalize();const n=t.split(e);if(n.length%3!=0)throw new Error("invalid mnemonic");const r=cn(new Uint8Array(Math.ceil(11*n.length/8)));let i=0;for(let e=0;e<n.length;e++){let o=t.getWordIndex(n[e].normalize("NFKD"));if(-1===o)throw new Error("invalid mnemonic");for(let e=0;e<11;e++)o&1<<10-e&&(r[i>>3]|=1<<7-i%8),i++}const o=32*n.length/3,a=xc(n.length/3);if((cn(sc(r.slice(0,o/8)))[0]&a)!==(r[r.length-1]&a))throw new Error("invalid checksum");return yn(r.slice(0,o/8))}function Nc(e,t){if(t=Cc(t),(e=cn(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");const n=[0];let r=11;for(let t=0;t<e.length;t++)r>8?(n[n.length-1]<<=8,n[n.length-1]|=e[t],r-=8):(n[n.length-1]<<=r,n[n.length-1]|=e[t]>>8-r,n.push(e[t]&(1<<8-r)-1),r+=3);const i=e.length/4,o=cn(sc(e))[0]&xc(i);return n[n.length-1]<<=i,n[n.length-1]|=o>>8-i,t.join(n.map((e=>t.getWord(e))))}function Rc(e,t){try{return Oc(e,t),!0}catch(e){}return!1}function Mc(e){return("number"!=typeof e||e<0||e>=wc||e%1)&&gc.throwArgumentError("invalid account index","index",e),`m/44'/60'/${e}'/0/0`}var Lc=Object.freeze({__proto__:null,HDNode:Ic,defaultPath:Sc,entropyToMnemonic:Nc,getAccountPath:Mc,isValidMnemonic:Rc,mnemonicToEntropy:Oc,mnemonicToSeed:Pc});const Dc=new tn("random/5.7.0");const Fc=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();let Bc=Fc.crypto||Fc.msCrypto;function jc(e){(e<=0||e>1024||e%1||e!=e)&&Dc.throwArgumentError("invalid length","length",e);const t=new Uint8Array(e);return Bc.getRandomValues(t),cn(t)}function zc(e){for(let t=(e=e.slice()).length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}Bc&&Bc.getRandomValues||(Dc.warn("WARNING: Missing strong random number source"),Bc={getRandomValues:function(e){return Dc.throwError("no secure random source avaialble",tn.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var _c=Object.freeze({__proto__:null,randomBytes:jc,shuffled:zc}),Uc={exports:{}};!function(e,t){!function(t){function n(e){return parseInt(e)===e}function r(e){if(!n(e.length))return!1;for(var t=0;t<e.length;t++)if(!n(e[t])||e[t]<0||e[t]>255)return!1;return!0}function i(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!r(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&r(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function o(e){return new Uint8Array(e)}function a(e,t,n,r,i){null==r&&null==i||(e=e.slice?e.slice(r,i):Array.prototype.slice.call(e,r,i)),t.set(e,n)}var s,u={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var r=e.charCodeAt(n++);37===r?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(r)}return i(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var r=e[n];r<128?(t.push(String.fromCharCode(r)),n++):r>191&&r<224?(t.push(String.fromCharCode((31&r)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&r)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join("")}},l=(s="0123456789abcdef",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(s[(240&r)>>4]+s[15&r])}return t.join("")}}),c={16:10,24:12,32:14},d=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],p=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],h=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],y=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],A=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],g=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],v=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],w=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],x=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],T=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],C=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function k(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}var S=function(e){if(!(this instanceof S))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:i(e,!0)}),this._prepare()};S.prototype._prepare=function(){var e=c[this.key.length];if(null==e)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,r=4*(e+1),i=this.key.length/4,o=k(this.key);for(t=0;t<i;t++)n=t>>2,this._Ke[n][t%4]=o[t],this._Kd[e-n][t%4]=o[t];for(var a,s=0,u=i;u<r;){if(a=o[i-1],o[0]^=f[a>>16&255]<<24^f[a>>8&255]<<16^f[255&a]<<8^f[a>>24&255]^d[s]<<24,s+=1,8!=i)for(t=1;t<i;t++)o[t]^=o[t-1];else{for(t=1;t<i/2;t++)o[t]^=o[t-1];a=o[i/2-1],o[i/2]^=f[255&a]^f[a>>8&255]<<8^f[a>>16&255]<<16^f[a>>24&255]<<24;for(t=i/2+1;t<i;t++)o[t]^=o[t-1]}for(t=0;t<i&&u<r;)l=u>>2,p=u%4,this._Ke[l][p]=o[t],this._Kd[e-l][p]=o[t++],u++}for(var l=1;l<e;l++)for(var p=0;p<4;p++)a=this._Kd[l][p],this._Kd[l][p]=x[a>>24&255]^E[a>>16&255]^T[a>>8&255]^C[255&a]},S.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,n=[0,0,0,0],r=k(e),i=0;i<4;i++)r[i]^=this._Ke[0][i];for(var a=1;a<t;a++){for(i=0;i<4;i++)n[i]=h[r[i]>>24&255]^m[r[(i+1)%4]>>16&255]^y[r[(i+2)%4]>>8&255]^A[255&r[(i+3)%4]]^this._Ke[a][i];r=n.slice()}var s,u=o(16);for(i=0;i<4;i++)s=this._Ke[t][i],u[4*i]=255&(f[r[i]>>24&255]^s>>24),u[4*i+1]=255&(f[r[(i+1)%4]>>16&255]^s>>16),u[4*i+2]=255&(f[r[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(f[255&r[(i+3)%4]]^s);return u},S.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,n=[0,0,0,0],r=k(e),i=0;i<4;i++)r[i]^=this._Kd[0][i];for(var a=1;a<t;a++){for(i=0;i<4;i++)n[i]=g[r[i]>>24&255]^b[r[(i+3)%4]>>16&255]^v[r[(i+2)%4]>>8&255]^w[255&r[(i+1)%4]]^this._Kd[a][i];r=n.slice()}var s,u=o(16);for(i=0;i<4;i++)s=this._Kd[t][i],u[4*i]=255&(p[r[i]>>24&255]^s>>24),u[4*i+1]=255&(p[r[(i+3)%4]>>16&255]^s>>16),u[4*i+2]=255&(p[r[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(p[255&r[(i+1)%4]]^s);return u};var I=function(e){if(!(this instanceof I))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new S(e)};I.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16)a(e,n,0,r,r+16),a(n=this._aes.encrypt(n),t,r);return t},I.prototype.decrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16)a(e,n,0,r,r+16),a(n=this._aes.decrypt(n),t,r);return t};var P=function(e,t){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=o(16);this._lastCipherblock=i(t,!0),this._aes=new S(e)};P.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16){a(e,n,0,r,r+16);for(var s=0;s<16;s++)n[s]^=this._lastCipherblock[s];this._lastCipherblock=this._aes.encrypt(n),a(this._lastCipherblock,t,r)}return t},P.prototype.decrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16){a(e,n,0,r,r+16),n=this._aes.decrypt(n);for(var s=0;s<16;s++)t[r+s]=n[s]^this._lastCipherblock[s];a(e,this._lastCipherblock,0,r,r+16)}return t};var O=function(e,t,n){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 size)")}else t=o(16);n||(n=1),this.segmentSize=n,this._shiftRegister=i(t,!0),this._aes=new S(e)};O.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var t,n=i(e,!0),r=0;r<n.length;r+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)n[r+o]^=t[o];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(n,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return n},O.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var t,n=i(e,!0),r=0;r<n.length;r+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)n[r+o]^=t[o];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(e,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return n};var N=function(e,t){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=o(16);this._lastPrecipher=i(t,!0),this._lastPrecipherIndex=16,this._aes=new S(e)};N.prototype.encrypt=function(e){for(var t=i(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},N.prototype.decrypt=N.prototype.encrypt;var R=function(e){if(!(this instanceof R))throw Error("Counter must be instanitated with `new`");0===e||e||(e=1),"number"==typeof e?(this._counter=o(16),this.setValue(e)):this.setBytes(e)};R.prototype.setValue=function(e){if("number"!=typeof e||parseInt(e)!=e)throw new Error("invalid counter value (must be an integer)");for(var t=15;t>=0;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=i(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},R.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var M=function(e,t){if(!(this instanceof M))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof R||(t=new R(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new S(e)};M.prototype.encrypt=function(e){for(var t=i(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t},M.prototype.decrypt=M.prototype.encrypt;var L={AES:S,Counter:R,ModeOfOperation:{ecb:I,cbc:P,cfb:O,ofb:N,ctr:M},utils:{hex:l,utf8:u},padding:{pkcs7:{pad:function(e){var t=16-(e=i(e,!0)).length%16,n=o(e.length+t);a(e,n);for(var r=e.length;r<n.length;r++)n[r]=t;return n},strip:function(e){if((e=i(e,!0)).length<16)throw new Error("PKCS#7 invalid length");var t=e[e.length-1];if(t>16)throw new Error("PKCS#7 padding byte out of range");for(var n=e.length-t,r=0;r<t;r++)if(e[n+r]!==t)throw new Error("PKCS#7 invalid padding byte");var s=o(n);return a(e,s,0,0,n),s}}},_arrayTest:{coerceArray:i,createArray:o,copyArray:a}};e.exports=L}()}(Uc);var Hc=_e(Uc.exports);const Wc="json-wallets/5.7.0";function Vc(e){return"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),cn(e)}function qc(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function Xc(e){return"string"==typeof e?Fi(e,Ni.NFKC):cn(e)}function Gc(e,t){let n=e;const r=t.toLowerCase().split("/");for(let e=0;e<r.length;e++){let t=null;for(const i in n)if(i.toLowerCase()===r[e]){t=n[i];break}if(null===t)return null;n=t}return n}function Zc(e){const t=cn(e);t[6]=15&t[6]|64,t[8]=63&t[8]|128;const n=yn(t);return[n.substring(2,10),n.substring(10,14),n.substring(14,18),n.substring(18,22),n.substring(22,34)].join("-")}const Yc=new tn(Wc);class Kc extends sr{isCrowdsaleAccount(e){return!(!e||!e._isCrowdsaleAccount)}}function Qc(e,t){const n=JSON.parse(e);t=Xc(t);const r=ti(Gc(n,"ethaddr")),i=Vc(Gc(n,"encseed"));i&&i.length%16==0||Yc.throwArgumentError("invalid encseed","json",e);const o=cn(dc(t,t,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),s=i.slice(16),u=new Hc.ModeOfOperation.cbc(o,a),l=Hc.padding.pkcs7.strip(cn(u.decrypt(s)));let c="";for(let e=0;e<l.length;e++)c+=String.fromCharCode(l[e]);const d=zr(Fi(c));return new Kc({_isCrowdsaleAccount:!0,address:r,privateKey:d})}function Jc(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function $c(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return!(!t.version||parseInt(t.version)!==t.version||3!==parseInt(t.version))}function ed(e){if(Jc(e))try{return ti(JSON.parse(e).ethaddr)}catch(e){return null}if($c(e))try{return ti(JSON.parse(e).address)}catch(e){return null}return null}var td={exports:{}};!function(e,t){!function(t){const n=2147483647;function r(e){const t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let n=1779033703,r=3144134277,i=1013904242,o=2773480762,a=1359893119,s=2600822924,u=528734635,l=1541459225;const c=new Uint32Array(64);function d(e){let d=0,f=e.length;for(;f>=64;){let p,h,m,y,A,g=n,b=r,v=i,w=o,x=a,E=s,T=u,C=l;for(h=0;h<16;h++)m=d+4*h,c[h]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(h=16;h<64;h++)p=c[h-2],y=(p>>>17|p<<15)^(p>>>19|p<<13)^p>>>10,p=c[h-15],A=(p>>>7|p<<25)^(p>>>18|p<<14)^p>>>3,c[h]=(y+c[h-7]|0)+(A+c[h-16]|0)|0;for(h=0;h<64;h++)y=(((x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7))+(x&E^~x&T)|0)+(C+(t[h]+c[h]|0)|0)|0,A=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&b^g&v^b&v)|0,C=T,T=E,E=x,x=w+y|0,w=v,v=b,b=g,g=y+A|0;n=n+g|0,r=r+b|0,i=i+v|0,o=o+w|0,a=a+x|0,s=s+E|0,u=u+T|0,l=l+C|0,d+=64,f-=64}}d(e);let f,p=e.length%64,h=e.length/536870912|0,m=e.length<<3,y=p<56?56:120,A=e.slice(e.length-p,e.length);for(A.push(128),f=p+1;f<y;f++)A.push(0);return A.push(h>>>24&255),A.push(h>>>16&255),A.push(h>>>8&255),A.push(h>>>0&255),A.push(m>>>24&255),A.push(m>>>16&255),A.push(m>>>8&255),A.push(m>>>0&255),d(A),[n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function i(e,t,n){e=e.length<=64?e:r(e);const i=64+t.length+4,o=new Array(i),a=new Array(64);let s,u=[];for(s=0;s<64;s++)o[s]=54;for(s=0;s<e.length;s++)o[s]^=e[s];for(s=0;s<t.length;s++)o[64+s]=t[s];for(s=i-4;s<i;s++)o[s]=0;for(s=0;s<64;s++)a[s]=92;for(s=0;s<e.length;s++)a[s]^=e[s];function l(){for(let e=i-1;e>=i-4;e--){if(o[e]++,o[e]<=255)return;o[e]=0}}for(;n>=32;)l(),u=u.concat(r(a.concat(r(o)))),n-=32;return n>0&&(l(),u=u.concat(r(a.concat(r(o))).slice(0,n))),u}function o(e,t,n,r,i){let o;for(l(e,16*(2*n-1),i,0,16),o=0;o<2*n;o++)u(e,16*o,i,16),s(i,r),l(i,0,e,t+16*o,16);for(o=0;o<n;o++)l(e,t+2*o*16,e,16*o,16);for(o=0;o<n;o++)l(e,t+16*(2*o+1),e,16*(o+n),16)}function a(e,t){return e<<t|e>>>32-t}function s(e,t){l(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(let n=0;n<16;++n)e[n]+=t[n]}function u(e,t,n,r){for(let i=0;i<r;i++)n[i]^=e[t+i]}function l(e,t,n,r,i){for(;i--;)n[r++]=e[t++]}function c(e){if(!e||"number"!=typeof e.length)return!1;for(let t=0;t<e.length;t++){const n=e[t];if("number"!=typeof n||n%1||n<0||n>=256)return!1}return!0}function d(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function f(e,t,r,a,s,f,p){if(r=d(r,"N"),a=d(a,"r"),s=d(s,"p"),f=d(f,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>n/128/a)throw new Error("N too large");if(a>n/128/s)throw new Error("r too large");if(!c(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!c(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let h=i(e,t,128*s*a);const m=new Uint32Array(32*s*a);for(let e=0;e<m.length;e++){const t=4*e;m[e]=(255&h[t+3])<<24|(255&h[t+2])<<16|(255&h[t+1])<<8|(255&h[t+0])<<0}const y=new Uint32Array(64*a),A=new Uint32Array(32*a*r),g=32*a,b=new Uint32Array(16),v=new Uint32Array(16),w=s*r*2;let x,E,T=0,C=null,k=!1,S=0,I=0;const P=p?parseInt(1e3/a):4294967295,O="undefined"!=typeof setImmediate?setImmediate:setTimeout,N=function(){if(k)return p(new Error("cancelled"),T/w);let t;switch(S){case 0:E=32*I*a,l(m,E,y,0,g),S=1,x=0;case 1:t=r-x,t>P&&(t=P);for(let e=0;e<t;e++)l(y,0,A,(x+e)*g,g),o(y,g,a,b,v);if(x+=t,T+=t,p){const e=parseInt(1e3*T/w);if(e!==C){if(k=p(null,T/w),k)break;C=e}}if(x<r)break;x=0,S=2;case 2:t=r-x,t>P&&(t=P);for(let e=0;e<t;e++){const e=y[16*(2*a-1)]&r-1;u(A,e*g,y,g),o(y,g,a,b,v)}if(x+=t,T+=t,p){const e=parseInt(1e3*T/w);if(e!==C){if(k=p(null,T/w),k)break;C=e}}if(x<r)break;if(l(y,0,m,E,g),I++,I<s){S=0;break}h=[];for(let e=0;e<m.length;e++)h.push(m[e]>>0&255),h.push(m[e]>>8&255),h.push(m[e]>>16&255),h.push(m[e]>>24&255);const n=i(e,h,f);return p&&p(null,1,n),n}p&&O(N)};if(!p)for(;;){const e=N();if(null!=e)return e}N()}const p={scrypt:function(e,t,n,r,i,o,a){return new Promise((function(s,u){let l=0;a&&a(0),f(e,t,n,r,i,o,(function(e,t,n){if(e)u(e);else if(n)a&&1!==l&&a(1),s(new Uint8Array(n));else if(a&&t!==l)return l=t,a(t)}))}))},syncScrypt:function(e,t,n,r,i,o){return new Uint8Array(f(e,t,n,r,i,o))}};e.exports=p}()}(td);var nd=_e(td.exports),rd=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const id=new tn(Wc);function od(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class ad extends sr{isKeystoreAccount(e){return!(!e||!e._isKeystoreAccount)}}function sd(e,t){const n=Vc(Gc(e,"crypto/ciphertext"));if(yn(zr(dn([t.slice(16,32),n]))).substring(2)!==Gc(e,"crypto/mac").toLowerCase())throw new Error("invalid password");const r=function(e,t,n){if("aes-128-ctr"===Gc(e,"crypto/cipher")){const r=Vc(Gc(e,"crypto/cipherparams/iv")),i=new Hc.Counter(r);return cn(new Hc.ModeOfOperation.ctr(t,i).decrypt(n))}return null}(e,t.slice(0,16),n);r||id.throwError("unsupported cipher",tn.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=t.slice(32,64),o=Cl(r);if(e.address){let t=e.address.toLowerCase();if("0x"!==t.substring(0,2)&&(t="0x"+t),ti(t)!==o)throw new Error("address mismatch")}const a={_isKeystoreAccount:!0,address:o,privateKey:yn(r)};if("0.1"===Gc(e,"x-ethers/version")){const t=Vc(Gc(e,"x-ethers/mnemonicCiphertext")),n=Vc(Gc(e,"x-ethers/mnemonicCounter")),r=new Hc.Counter(n),o=new Hc.ModeOfOperation.ctr(i,r),s=Gc(e,"x-ethers/path")||Sc,u=Gc(e,"x-ethers/locale")||"en",l=cn(o.decrypt(t));try{const e=Nc(l,u),t=Ic.fromMnemonic(e,null,u).derivePath(s);if(t.privateKey!=a.privateKey)throw new Error("mnemonic mismatch");a.mnemonic=t.mnemonic}catch(e){if(e.code!==tn.errors.INVALID_ARGUMENT||"wordlist"!==e.argument)throw e}}return new ad(a)}function ud(e,t,n,r,i){return cn(dc(e,t,n,r,i))}function ld(e,t,n,r,i){return Promise.resolve(ud(e,t,n,r,i))}function cd(e,t,n,r,i){const o=Xc(t),a=Gc(e,"crypto/kdf");if(a&&"string"==typeof a){const t=function(e,t){return id.throwArgumentError("invalid key-derivation function parameters",e,t)};if("scrypt"===a.toLowerCase()){const n=Vc(Gc(e,"crypto/kdfparams/salt")),s=parseInt(Gc(e,"crypto/kdfparams/n")),u=parseInt(Gc(e,"crypto/kdfparams/r")),l=parseInt(Gc(e,"crypto/kdfparams/p"));s&&u&&l||t("kdf",a),0!=(s&s-1)&&t("N",s);const c=parseInt(Gc(e,"crypto/kdfparams/dklen"));return 32!==c&&t("dklen",c),r(o,n,s,u,l,64,i)}if("pbkdf2"===a.toLowerCase()){const r=Vc(Gc(e,"crypto/kdfparams/salt"));let i=null;const a=Gc(e,"crypto/kdfparams/prf");"hmac-sha256"===a?i="sha256":"hmac-sha512"===a?i="sha512":t("prf",a);const s=parseInt(Gc(e,"crypto/kdfparams/c")),u=parseInt(Gc(e,"crypto/kdfparams/dklen"));return 32!==u&&t("dklen",u),n(o,r,s,u,i)}}return id.throwArgumentError("unsupported key-derivation function","kdf",a)}function dd(e,t){const n=JSON.parse(e);return sd(n,cd(n,t,ud,nd.syncScrypt))}function fd(e,t,n){return rd(this,void 0,void 0,(function*(){const r=JSON.parse(e);return sd(r,yield cd(r,t,ld,nd.scrypt,n))}))}function pd(e,t,n,r){try{if(ti(e.address)!==Cl(e.privateKey))throw new Error("address/privateKey mismatch");if(od(e)){const t=e.mnemonic;if(Ic.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||Sc).privateKey!=e.privateKey)throw new Error("mnemonic mismatch")}}catch(e){return Promise.reject(e)}"function"!=typeof n||r||(r=n,n={}),n||(n={});const i=cn(e.privateKey),o=Xc(t);let a=null,s=null,u=null;if(od(e)){const t=e.mnemonic;a=cn(Oc(t.phrase,t.locale||"en")),s=t.path||Sc,u=t.locale||"en"}let l=n.client;l||(l="ethers.js");let c=null;c=n.salt?cn(n.salt):jc(32);let d=null;if(n.iv){if(d=cn(n.iv),16!==d.length)throw new Error("invalid iv")}else d=jc(16);let f=null;if(n.uuid){if(f=cn(n.uuid),16!==f.length)throw new Error("invalid uuid")}else f=jc(16);let p=1<<17,h=8,m=1;return n.scrypt&&(n.scrypt.N&&(p=n.scrypt.N),n.scrypt.r&&(h=n.scrypt.r),n.scrypt.p&&(m=n.scrypt.p)),nd.scrypt(o,c,p,h,m,64,r).then((t=>{const n=(t=cn(t)).slice(0,16),r=t.slice(16,32),o=t.slice(32,64),y=new Hc.Counter(d),A=cn(new Hc.ModeOfOperation.ctr(n,y).encrypt(i)),g=zr(dn([r,A])),b={address:e.address.substring(2).toLowerCase(),id:Zc(f),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:yn(d).substring(2)},ciphertext:yn(A).substring(2),kdf:"scrypt",kdfparams:{salt:yn(c).substring(2),n:p,dklen:32,p:m,r:h},mac:g.substring(2)}};if(a){const e=jc(16),t=new Hc.Counter(e),n=cn(new Hc.ModeOfOperation.ctr(o,t).encrypt(a)),r=new Date,i=r.getUTCFullYear()+"-"+qc(r.getUTCMonth()+1,2)+"-"+qc(r.getUTCDate(),2)+"T"+qc(r.getUTCHours(),2)+"-"+qc(r.getUTCMinutes(),2)+"-"+qc(r.getUTCSeconds(),2)+".0Z";b["x-ethers"]={client:l,gethFilename:"UTC--"+i+"--"+b.address,mnemonicCounter:yn(e).substring(2),mnemonicCiphertext:yn(n).substring(2),path:s,locale:u,version:"0.1"}}return JSON.stringify(b)}))}function hd(e,t,n){if(Jc(e)){n&&n(0);const r=Qc(e,t);return n&&n(1),Promise.resolve(r)}return $c(e)?fd(e,t,n):Promise.reject(new Error("invalid JSON wallet"))}function md(e,t){if(Jc(e))return Qc(e,t);if($c(e))return dd(e,t);throw new Error("invalid JSON wallet")}var yd=Object.freeze({__proto__:null,decryptCrowdsale:Qc,decryptJsonWallet:hd,decryptJsonWalletSync:md,decryptKeystore:fd,decryptKeystoreSync:dd,encryptKeystore:pd,getJsonWalletAddress:ed,isCrowdsaleWallet:Jc,isKeystoreWallet:$c});var Ad=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const gd=new tn("wallet/5.7.0");let bd=class e extends Ca{constructor(e,t){if(super(),null!=(n=e)&&hn(n.privateKey,32)&&null!=n.address){const t=new ml(e.privateKey);if(Jn(this,"_signingKey",(()=>t)),Jn(this,"address",Cl(this.publicKey)),this.address!==ti(e.address)&&gd.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(e){const t=e.mnemonic;return t&&t.phrase}(e)){const t=e.mnemonic;Jn(this,"_mnemonic",(()=>({phrase:t.phrase,path:t.path||Sc,locale:t.locale||"en"})));const n=this.mnemonic;Cl(Ic.fromMnemonic(n.phrase,null,n.locale).derivePath(n.path).privateKey)!==this.address&&gd.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else Jn(this,"_mnemonic",(()=>null))}else{if(ml.isSigningKey(e))"secp256k1"!==e.curve&&gd.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),Jn(this,"_signingKey",(()=>e));else{"string"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e="0x"+e);const t=new ml(e);Jn(this,"_signingKey",(()=>t))}Jn(this,"_mnemonic",(()=>null)),Jn(this,"address",Cl(this.publicKey))}var n;t&&!va.isProvider(t)&&gd.throwArgumentError("invalid provider","provider",t),Jn(this,"provider",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(t){return new e(this,t)}signTransaction(e){return er(e).then((t=>{null!=t.from&&(ti(t.from)!==this.address&&gd.throwArgumentError("transaction from address mismatch","transaction.from",e.from),delete t.from);const n=this._signingKey().signDigest(zr(Ml(t)));return Ml(t,n)}))}signMessage(e){return Ad(this,void 0,void 0,(function*(){return Tn(this._signingKey().signDigest(Vo(e)))}))}_signTypedData(e,t,n){return Ad(this,void 0,void 0,(function*(){const r=yield aa.resolveNames(e,t,n,(e=>(null==this.provider&&gd.throwError("cannot resolve ENS names without a provider",tn.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:e}),this.provider.resolveName(e))));return Tn(this._signingKey().signDigest(aa.hash(r.domain,t,r.value)))}))}encrypt(e,t,n){if("function"!=typeof t||n||(n=t,t={}),n&&"function"!=typeof n)throw new Error("invalid callback");return t||(t={}),pd(this,e,t,n)}static createRandom(t){let n=jc(16);t||(t={}),t.extraEntropy&&(n=cn(gn(zr(dn([n,t.extraEntropy])),0,16)));const r=Nc(n,t.locale);return e.fromMnemonic(r,t.path,t.locale)}static fromEncryptedJson(t,n,r){return hd(t,n,r).then((t=>new e(t)))}static fromEncryptedJsonSync(t,n){return new e(md(t,n))}static fromMnemonic(t,n,r){return n||(n=Sc),new e(Ic.fromMnemonic(t,null,r).derivePath(n))}};function vd(e,t){return kl(Vo(e),t)}function wd(e,t,n,r){return kl(aa.hash(e,t,n),r)}var xd=Object.freeze({__proto__:null,Wallet:bd,verifyMessage:vd,verifyTypedData:wd});const Ed=new tn("networks/5.7.1");function Td(e){const t=function(t,n){null==n&&(n={});const r=[];if(t.InfuraProvider&&"-"!==n.infura)try{r.push(new t.InfuraProvider(e,n.infura))}catch(e){}if(t.EtherscanProvider&&"-"!==n.etherscan)try{r.push(new t.EtherscanProvider(e,n.etherscan))}catch(e){}if(t.AlchemyProvider&&"-"!==n.alchemy)try{r.push(new t.AlchemyProvider(e,n.alchemy))}catch(e){}if(t.PocketProvider&&"-"!==n.pocket){const i=["goerli","ropsten","rinkeby","sepolia"];try{const o=new t.PocketProvider(e,n.pocket);o.network&&-1===i.indexOf(o.network.name)&&r.push(o)}catch(e){}}if(t.CloudflareProvider&&"-"!==n.cloudflare)try{r.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&"-"!==n.ankr)try{const i=["ropsten"],o=new t.AnkrProvider(e,n.ankr);o.network&&-1===i.indexOf(o.network.name)&&r.push(o)}catch(e){}if(0===r.length)return null;if(t.FallbackProvider){let i=1;return null!=n.quorum?i=n.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(r,i)}return r[0]};return t.renetwork=function(e){return Td(e)},t}function Cd(e,t){const n=function(n,r){return n.JsonRpcProvider?new n.JsonRpcProvider(e,t):null};return n.renetwork=function(t){return Cd(e,t)},n}const kd={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:Td("homestead")},Sd={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:Td("ropsten")},Id={chainId:63,name:"classicMordor",_defaultProvider:Cd("https://www.ethercluster.com/mordor","classicMordor")},Pd={unspecified:{chainId:0,name:"unspecified"},homestead:kd,mainnet:kd,morden:{chainId:2,name:"morden"},ropsten:Sd,testnet:Sd,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:Td("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:Td("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:Td("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:Td("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:Cd("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Id,classicTestnet:Id,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Cd("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:Td("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:Td("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function Od(e){if(null==e)return null;if("number"==typeof e){for(const t in Pd){const n=Pd[t];if(n.chainId===e)return{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress||null,_defaultProvider:n._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){const t=Pd[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=Pd[e.name];if(!t)return"number"!=typeof e.chainId&&Ed.throwArgumentError("invalid network chainId","network",e),e;0!==e.chainId&&e.chainId!==t.chainId&&Ed.throwArgumentError("network chainId mismatch","network",e);let n=e._defaultProvider||null;var r;return null==n&&t._defaultProvider&&(n=(r=t._defaultProvider)&&"function"==typeof r.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:n}}var Nd=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};function Rd(e,t){return Nd(this,void 0,void 0,(function*(){null==t&&(t={});const n={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(n.mode="cors",n.cache="no-cache",n.credentials="same-origin",n.redirect="follow",n.referrer="client"),null!=t.fetchOptions){const e=t.fetchOptions;e.mode&&(n.mode=e.mode),e.cache&&(n.cache=e.cache),e.credentials&&(n.credentials=e.credentials),e.redirect&&(n.redirect=e.redirect),e.referrer&&(n.referrer=e.referrer)}const r=yield fetch(e,n),i=yield r.arrayBuffer(),o={};return r.headers.forEach?r.headers.forEach(((e,t)=>{o[t.toLowerCase()]=e})):r.headers.keys().forEach((e=>{o[e.toLowerCase()]=r.headers.get(e)})),{headers:o,statusCode:r.status,statusMessage:r.statusText,body:cn(new Uint8Array(i))}}))}var Md=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Ld=new tn("web/5.7.1");function Dd(e){return new Promise((t=>{setTimeout(t,e)}))}function Fd(e,t){if(null==e)return null;if("string"==typeof e)return e;if(sn(e)){if(t&&("text"===t.split("/")[0]||"application/json"===t.split(";")[0].trim()))try{return _i(e)}catch(e){}return yn(e)}return e}function Bd(e,t,n){const r="object"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;Ld.assertArgument(r>0&&r%1==0,"invalid connection throttle limit","connection.throttleLimit",r);const i="object"==typeof e?e.throttleCallback:null,o="object"==typeof e&&"number"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;Ld.assertArgument(o>0&&o%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",o);const a="object"==typeof e&&!!e.errorPassThrough,s={};let u=null;const l={method:"GET"};let c=!1,d=12e4;if("string"==typeof e)u=e;else if("object"==typeof e){if(null!=e&&null!=e.url||Ld.throwArgumentError("missing URL","connection.url",e),u=e.url,"number"==typeof e.timeout&&e.timeout>0&&(d=e.timeout),e.headers)for(const t in e.headers)s[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(c=!0);if(l.allowGzip=!!e.allowGzip,null!=e.user&&null!=e.password){"https:"!==u.substring(0,6)&&!0!==e.allowInsecureAuthentication&&Ld.throwError("basic authentication requires a secure https url",tn.errors.INVALID_ARGUMENT,{argument:"url",url:u,user:e.user,password:"[REDACTED]"});const t=e.user+":"+e.password;s.authorization={key:"Authorization",value:"Basic "+po(Fi(t))}}null!=e.skipFetchSetup&&(l.skipFetchSetup=!!e.skipFetchSetup),null!=e.fetchOptions&&(l.fetchOptions=nr(e.fetchOptions))}const f=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),p=u?u.match(f):null;if(p)try{const e={statusCode:200,statusMessage:"OK",headers:{"content-type":p[1]||"text/plain"},body:p[2]?fo(p[3]):(h=p[3],Fi(h.replace(/%([0-9a-f][0-9a-f])/gi,((e,t)=>String.fromCharCode(parseInt(t,16))))))};let t=e.body;return n&&(t=n(e.body,e)),Promise.resolve(t)}catch(e){Ld.throwError("processing response error",tn.errors.SERVER_ERROR,{body:Fd(p[1],p[2]),error:e,requestBody:null,requestMethod:"GET",url:u})}var h;t&&(l.method="POST",l.body=t,null==s["content-type"]&&(s["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==s["content-length"]&&(s["content-length"]={key:"Content-Length",value:String(t.length)}));const m={};Object.keys(s).forEach((e=>{const t=s[e];m[t.key]=t.value})),l.headers=m;const y=function(){let e=null;return{promise:new Promise((function(t,n){d&&(e=setTimeout((()=>{null!=e&&(e=null,n(Ld.makeError("timeout",tn.errors.TIMEOUT,{requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,timeout:d,url:u})))}),d))})),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),A=function(){return Md(this,void 0,void 0,(function*(){for(let e=0;e<r;e++){let t=null;try{if(t=yield Rd(u,l),e<r)if(301===t.statusCode||302===t.statusCode){const e=t.headers.location||"";if("GET"===l.method&&e.match(/^https:/)){u=t.headers.location;continue}}else if(429===t.statusCode){let n=!0;if(i&&(n=yield i(e,u)),n){let n=0;const r=t.headers["retry-after"];n="string"==typeof r&&r.match(/^[1-9][0-9]*$/)?1e3*parseInt(r):o*parseInt(String(Math.random()*Math.pow(2,e))),yield Dd(n);continue}}}catch(e){t=e.response,null==t&&(y.cancel(),Ld.throwError("missing response",tn.errors.SERVER_ERROR,{requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,serverError:e,url:u}))}let s=t.body;if(c&&304===t.statusCode?s=null:!a&&(t.statusCode<200||t.statusCode>=300)&&(y.cancel(),Ld.throwError("bad response",tn.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:Fd(s,t.headers?t.headers["content-type"]:null),requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,url:u})),n)try{const e=yield n(s,t);return y.cancel(),e}catch(n){if(n.throttleRetry&&e<r){let t=!0;if(i&&(t=yield i(e,u)),t){const t=o*parseInt(String(Math.random()*Math.pow(2,e)));yield Dd(t);continue}}y.cancel(),Ld.throwError("processing response error",tn.errors.SERVER_ERROR,{body:Fd(s,t.headers?t.headers["content-type"]:null),error:n,requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,url:u})}return y.cancel(),s}return Ld.throwError("failed response",tn.errors.SERVER_ERROR,{requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,url:u})}))}();return Promise.race([y.promise,A])}function jd(e,t,n){let r=null;if(null!=t){r=Fi(t);const n="string"==typeof e?{url:e}:nr(e);if(n.headers){const e=0!==Object.keys(n.headers).filter((e=>"content-type"===e.toLowerCase())).length;e||(n.headers=nr(n.headers),n.headers["content-type"]="application/json")}else n.headers={"content-type":"application/json"};e=n}return Bd(e,r,((e,t)=>{let r=null;if(null!=e)try{r=JSON.parse(_i(e))}catch(t){Ld.throwError("invalid JSON",tn.errors.SERVER_ERROR,{body:e,error:t})}return n&&(r=n(r,t)),r}))}function zd(e,t){return t||(t={}),null==(t=nr(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(n,r){let i=null,o=!1;const a=()=>!o&&(o=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout((()=>{a()&&r(new Error("timeout"))}),t.timeout));const s=t.retryLimit;let u=0;!function i(){return e().then((function(e){if(void 0!==e)a()&&n(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!o){if(u++,u>s)return void(a()&&r(new Error("retry limit reached")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));e<t.floor&&(e=t.floor),e>t.ceiling&&(e=t.ceiling),setTimeout(i,e)}return null}),(function(e){a()&&r(e)}))}()}))}for(var _d=Object.freeze({__proto__:null,_fetchData:Bd,fetchJson:jd,poll:zd}),Ud="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Hd={},Wd=0;Wd<32;Wd++){var Vd=Ud.charAt(Wd);if(void 0!==Hd[Vd])throw new TypeError(Vd+" is ambiguous");Hd[Vd]=Wd}function qd(e){var t=e>>25;return(33554431&e)<<5^996825010&-(t>>0&1)^642813549&-(t>>1&1)^513874426&-(t>>2&1)^1027748829&-(t>>3&1)^705979059&-(t>>4&1)}function Xd(e){for(var t=1,n=0;n<e.length;++n){var r=e.charCodeAt(n);if(r<33||r>126)return"Invalid prefix ("+e+")";t=qd(t)^r>>5}for(t=qd(t),n=0;n<e.length;++n){var i=e.charCodeAt(n);t=qd(t)^31&i}return t}function Gd(e,t){if(t=t||90,e.length<8)return e+" too short";if(e.length>t)return"Exceeds length limit";var n=e.toLowerCase(),r=e.toUpperCase();if(e!==n&&e!==r)return"Mixed-case string "+e;var i=(e=n).lastIndexOf("1");if(-1===i)return"No separator character for "+e;if(0===i)return"Missing prefix for "+e;var o=e.slice(0,i),a=e.slice(i+1);if(a.length<6)return"Data too short";var s=Xd(o);if("string"==typeof s)return s;for(var u=[],l=0;l<a.length;++l){var c=a.charAt(l),d=Hd[c];if(void 0===d)return"Unknown character "+c;s=qd(s)^d,l+6>=a.length||u.push(d)}return 1!==s?"Invalid checksum for "+e:{prefix:o,words:u}}function Zd(e,t,n,r){for(var i=0,o=0,a=(1<<n)-1,s=[],u=0;u<e.length;++u)for(i=i<<t|e[u],o+=t;o>=n;)o-=n,s.push(i>>o&a);if(r)o>0&&s.push(i<<n-o&a);else{if(o>=t)return"Excess padding";if(i<<n-o&a)return"Non-zero padding"}return s}var Yd={decodeUnsafe:function(){var e=Gd.apply(null,arguments);if("object"==typeof e)return e},decode:function(e){var t=Gd.apply(null,arguments);if("object"==typeof t)return t;throw new Error(t)},encode:function(e,t,n){if(n=n||90,e.length+7+t.length>n)throw new TypeError("Exceeds length limit");var r=Xd(e=e.toLowerCase());if("string"==typeof r)throw new Error(r);for(var i=e+"1",o=0;o<t.length;++o){var a=t[o];if(a>>5!=0)throw new Error("Non 5-bit word");r=qd(r)^a,i+=Ud.charAt(a)}for(o=0;o<6;++o)r=qd(r);for(r^=1,o=0;o<6;++o){i+=Ud.charAt(r>>5*(5-o)&31)}return i},toWordsUnsafe:function(e){var t=Zd(e,8,5,!0);if(Array.isArray(t))return t},toWords:function(e){var t=Zd(e,8,5,!0);if(Array.isArray(t))return t;throw new Error(t)},fromWordsUnsafe:function(e){var t=Zd(e,5,8,!1);if(Array.isArray(t))return t},fromWords:function(e){var t=Zd(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}},Kd=_e(Yd);const Qd="providers/5.7.2",Jd=new tn(Qd);class $d{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),n=this.bigNumber.bind(this),r=this.blockTag.bind(this),i=this.data.bind(this),o=this.hash.bind(this),a=this.hex.bind(this),s=this.number.bind(this),u=this.type.bind(this);return e.transaction={hash:o,type:u,accessList:$d.allowNull(this.accessList.bind(this),null),blockHash:$d.allowNull(o,null),blockNumber:$d.allowNull(s,null),transactionIndex:$d.allowNull(s,null),confirmations:$d.allowNull(s,null),from:t,gasPrice:$d.allowNull(n),maxPriorityFeePerGas:$d.allowNull(n),maxFeePerGas:$d.allowNull(n),gasLimit:n,to:$d.allowNull(t,null),value:n,nonce:s,data:i,r:$d.allowNull(this.uint256),s:$d.allowNull(this.uint256),v:$d.allowNull(s),creates:$d.allowNull(t,null),raw:$d.allowNull(i)},e.transactionRequest={from:$d.allowNull(t),nonce:$d.allowNull(s),gasLimit:$d.allowNull(n),gasPrice:$d.allowNull(n),maxPriorityFeePerGas:$d.allowNull(n),maxFeePerGas:$d.allowNull(n),to:$d.allowNull(t),value:$d.allowNull(n),data:$d.allowNull((e=>this.data(e,!0))),type:$d.allowNull(s),accessList:$d.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:s,blockNumber:s,transactionHash:o,address:t,topics:$d.arrayOf(o),data:i,logIndex:s,blockHash:o},e.receipt={to:$d.allowNull(this.address,null),from:$d.allowNull(this.address,null),contractAddress:$d.allowNull(t,null),transactionIndex:s,root:$d.allowNull(a),gasUsed:n,logsBloom:$d.allowNull(i),blockHash:o,transactionHash:o,logs:$d.arrayOf(this.receiptLog.bind(this)),blockNumber:s,confirmations:$d.allowNull(s,null),cumulativeGasUsed:n,effectiveGasPrice:$d.allowNull(n),status:$d.allowNull(s),type:u},e.block={hash:$d.allowNull(o),parentHash:o,number:s,timestamp:s,nonce:$d.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:$d.allowNull(t),extraData:i,transactions:$d.allowNull($d.arrayOf(o)),baseFeePerGas:$d.allowNull(n)},e.blockWithTransactions=nr(e.block),e.blockWithTransactions.transactions=$d.allowNull($d.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:$d.allowNull(r,void 0),toBlock:$d.allowNull(r,void 0),blockHash:$d.allowNull(o,void 0),address:$d.allowNull(t,void 0),topics:$d.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:$d.allowNull(s),blockHash:$d.allowNull(o),transactionIndex:s,removed:$d.allowNull(this.boolean.bind(this)),address:t,data:$d.allowFalsish(i,"0x"),topics:$d.arrayOf(o),transactionHash:o,logIndex:s},e}accessList(e){return Pl(e||[])}number(e){return"0x"===e?0:Rn.from(e).toNumber()}type(e){return"0x"===e||null==e?0:Rn.from(e).toNumber()}bigNumber(e){return Rn.from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),hn(e))?e.toLowerCase():Jd.throwArgumentError("invalid hash","value",e)}data(e,t){const n=this.hex(e,t);if(n.length%2!=0)throw new Error("invalid data; odd-length - "+e);return n}address(e){return ti(e)}callAddress(e){if(!hn(e,32))return null;const t=ti(gn(e,12));return t===gi?null:t}contractAddress(e){return ii(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if("number"==typeof e||hn(e))return vn(e);throw new Error("invalid blockTag")}hash(e,t){const n=this.hex(e,t);return 32!==An(n)?Jd.throwArgumentError("invalid hash","value",e):n}difficulty(e){if(null==e)return null;const t=Rn.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!hn(e))throw new Error("invalid uint256");return xn(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);const n=null!=e._difficulty?e._difficulty:e.difficulty,r=$d.check(t,e);return r._difficulty=null==n?null:Rn.from(n),r}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return $d.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&Rn.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e)),1!==e.type&&2!==e.type||null!=e.accessList||(e.accessList=[]);const t=$d.check(this.formats.transaction,e);if(null!=e.chainId){let n=e.chainId;hn(n)&&(n=Rn.from(n).toNumber()),t.chainId=n}else{let n=e.networkId;null==n&&null==t.v&&(n=e.chainId),hn(n)&&(n=Rn.from(n).toNumber()),"number"!=typeof n&&null!=t.v&&(n=(t.v-35)/2,n<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),t.chainId=n}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return Dl(e)}receiptLog(e){return $d.check(this.formats.receiptLog,e)}receipt(e){const t=$d.check(this.formats.receipt,e);if(null!=t.root)if(t.root.length<=4){const e=Rn.from(t.root).toNumber();0===e||1===e?(null!=t.status&&t.status!==e&&Jd.throwArgumentError("alt-root-status/status mismatch","value",{root:t.root,status:t.status}),t.status=e,delete t.root):Jd.throwArgumentError("invalid alt-root-status","value.root",t.root)}else 66!==t.root.length&&Jd.throwArgumentError("invalid root hash","value.root",t.root);return null!=t.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map((e=>this.topics(e))):null!=e?this.hash(e,!0):null}filter(e){return $d.check(this.formats.filter,e)}filterLog(e){return $d.check(this.formats.filterLog,e)}static check(e,t){const n={};for(const r in e)try{const i=e[r](t[r]);void 0!==i&&(n[r]=i)}catch(e){throw e.checkKey=r,e.checkValue=t[r],e}return n}static allowNull(e,t){return function(n){return null==n?t:e(n)}}static allowFalsish(e,t){return function(n){return n?e(n):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const n=[];return t.forEach((function(t){n.push(e(t))})),n}}}function ef(e){return e&&"function"==typeof e.isCommunityResource}function tf(e){return ef(e)&&e.isCommunityResource()}let nf=!1;function rf(){nf||(nf=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}var of=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const af=new tn(Qd);function sf(e){return null==e?"null":(32!==An(e)&&af.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function uf(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map((e=>{if(Array.isArray(e)){const t={};e.forEach((e=>{t[sf(e)]=!0}));const n=Object.keys(t);return n.sort(),n.join("|")}return sf(e)})).join("&")}function lf(e){if("string"==typeof e){if(32===An(e=e.toLowerCase()))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+uf(e);if(ba.isForkEvent(e))throw af.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+uf(e.topics||[])}throw new Error("invalid event - "+e)}function cf(){return(new Date).getTime()}function df(e){return new Promise((t=>{setTimeout(t,e)}))}const ff=["block","network","pending","poll"];class pf{constructor(e,t,n){Jn(this,"tag",e),Jn(this,"listener",t),Jn(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(":");if("filter"!==e[0])return null;const t=e[1],n=""===(r=e[2])?[]:r.split(/&/g).map((e=>{if(""===e)return[];const t=e.split("|").map((e=>"null"===e?null:e));return 1===t.length?t[0]:t}));var r;const i={};return n.length>0&&(i.topics=n),t&&"*"!==t&&(i.address=t),i}pollable(){return this.tag.indexOf(":")>=0||ff.indexOf(this.tag)>=0}}const hf={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function mf(e){return xn(Rn.from(e).toHexString(),32)}function yf(e){return nc.encode(dn([e,gn(sc(sc(e)),0,4)]))}const Af=new RegExp("^(ipfs)://(.*)$","i"),gf=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Af,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function bf(e,t){try{return _i(vf(e,t))}catch(e){}return null}function vf(e,t){if("0x"===e)return null;const n=Rn.from(gn(e,t,t+32)).toNumber(),r=Rn.from(gn(e,n,n+32)).toNumber();return gn(e,n+32,n+32+r)}function wf(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):af.throwArgumentError("unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}function xf(e){const t=cn(e);if(t.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(t,32-t.length),n}function Ef(e){if(e.length%32==0)return e;const t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}function Tf(e){const t=[];let n=0;for(let r=0;r<e.length;r++)t.push(null),n+=32;for(let r=0;r<e.length;r++){const i=cn(e[r]);t[r]=xf(n),t.push(xf(i.length)),t.push(Ef(i)),n+=32+32*Math.ceil(i.length/32)}return bn(t)}class Cf{constructor(e,t,n,r){Jn(this,"provider",e),Jn(this,"name",n),Jn(this,"address",e.formatter.address(t)),Jn(this,"_resolvedAddress",r)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then((e=>Rn.from(e).eq(1))).catch((e=>{if(e.code===tn.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e}))),this._supportsEip2544}_fetch(e,t){return of(this,void 0,void 0,(function*(){const n={to:this.address,ccipReadEnabled:!0,data:bn([e,Uo(this.name),t||"0x"])};let r=!1;(yield this.supportsWildcard())&&(r=!0,n.data=bn(["0x9061b923",Tf([Ho(this.name),n.data])]));try{let e=yield this.provider.call(n);return cn(e).length%32==4&&af.throwError("resolver threw error",tn.errors.CALL_EXCEPTION,{transaction:n,data:e}),r&&(e=vf(e,0)),e}catch(e){if(e.code===tn.errors.CALL_EXCEPTION)return null;throw e}}))}_fetchBytes(e,t){return of(this,void 0,void 0,(function*(){const n=yield this._fetch(e,t);return null!=n?vf(n,0):null}))}_getAddress(e,t){const n=hf[String(e)];if(null==n&&af.throwError(`unsupported coin type: ${e}`,tn.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),"eth"===n.ilk)return this.provider.formatter.address(t);const r=cn(t);if(null!=n.p2pkh){const e=t.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return yf(dn([[n.p2pkh],"0x"+e[2]]))}}if(null!=n.p2sh){const e=t.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return yf(dn([[n.p2sh],"0x"+e[2]]))}}if(null!=n.prefix){const e=r[1];let t=r[0];if(0===t?20!==e&&32!==e&&(t=-1):t=-1,t>=0&&r.length===2+e&&e>=1&&e<=75){const e=Kd.toWords(r.slice(2));return e.unshift(t),Kd.encode(n.prefix,e)}}return null}getAddress(e){return of(this,void 0,void 0,(function*(){if(null==e&&(e=60),60===e)try{const e=yield this._fetch("0x3b3b57de");return"0x"===e||e===Si?null:this.provider.formatter.callAddress(e)}catch(e){if(e.code===tn.errors.CALL_EXCEPTION)return null;throw e}const t=yield this._fetchBytes("0xf1cb7e06",mf(e));if(null==t||"0x"===t)return null;const n=this._getAddress(e,t);return null==n&&af.throwError("invalid or unsupported coin data",tn.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),n}))}getAvatar(){return of(this,void 0,void 0,(function*(){const e=[{type:"name",content:this.name}];try{const t=yield this.getText("avatar");if(null==t)return null;for(let n=0;n<gf.length;n++){const r=t.match(gf[n]);if(null==r)continue;const i=r[1].toLowerCase();switch(i){case"https":return e.push({type:"url",content:t}),{linkage:e,url:t};case"data":return e.push({type:"data",content:t}),{linkage:e,url:t};case"ipfs":return e.push({type:"ipfs",content:t}),{linkage:e,url:wf(t)};case"erc721":case"erc1155":{const n="erc721"===i?"0xc87b56dd":"0x0e89341c";e.push({type:i,content:t});const o=this._resolvedAddress||(yield this.getAddress()),a=(r[2]||"").split("/");if(2!==a.length)return null;const s=yield this.provider.formatter.address(a[0]),u=xn(Rn.from(a[1]).toHexString(),32);if("erc721"===i){const t=this.provider.formatter.callAddress(yield this.provider.call({to:s,data:bn(["0x6352211e",u])}));if(o!==t)return null;e.push({type:"owner",content:t})}else if("erc1155"===i){const t=Rn.from(yield this.provider.call({to:s,data:bn(["0x00fdd58e",xn(o,32),u])}));if(t.isZero())return null;e.push({type:"balance",content:t.toString()})}const l={to:this.provider.formatter.address(a[0]),data:bn([n,u])};let c=bf(yield this.provider.call(l),0);if(null==c)return null;e.push({type:"metadata-url-base",content:c}),"erc1155"===i&&(c=c.replace("{id}",u.substring(2)),e.push({type:"metadata-url-expanded",content:c})),c.match(/^ipfs:/i)&&(c=wf(c)),e.push({type:"metadata-url",content:c});const d=yield jd(c);if(!d)return null;e.push({type:"metadata",content:JSON.stringify(d)});let f=d.image;if("string"!=typeof f)return null;if(f.match(/^(https:\/\/|data:)/i));else{if(null==f.match(Af))return null;e.push({type:"url-ipfs",content:f}),f=wf(f)}return e.push({type:"url",content:f}),{linkage:e,url:f}}}}}catch(e){}return null}))}getContentHash(){return of(this,void 0,void 0,(function*(){const e=yield this._fetchBytes("0xbc1c58d1");if(null==e||"0x"===e)return null;const t=e.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const e=parseInt(t[3],16);if(t[4].length===2*e)return"ipfs://"+nc.encode("0x"+t[1])}const n=e.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(n){const e=parseInt(n[3],16);if(n[4].length===2*e)return"ipns://"+nc.encode("0x"+n[1])}const r=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return"bzz://"+r[1];const i=e.match(/^0x90b2c605([0-9a-f]*)$/);if(i&&68===i[1].length){const e={"=":"","+":"-","/":"_"},t=po("0x"+i[1]).replace(/[=+\/]/g,(t=>e[t]));return"sia://"+t}return af.throwError("invalid or unsupported content hash data",tn.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})}))}getText(e){return of(this,void 0,void 0,(function*(){let t=Fi(e);t=dn([mf(64),mf(t.length),t]),t.length%32!=0&&(t=dn([t,xn("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",yn(t));return null==n||"0x"===n?null:_i(n)}))}}let kf=null,Sf=1;class If extends va{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),Jn(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch((e=>{})),this._ready().catch((e=>{}));else{const t=$n(new.target,"getNetwork")(e);t?(Jn(this,"_network",t),this.emit("network",t,null)):af.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return of(this,void 0,void 0,(function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||af.throwError("no network detected",tn.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:Jn(this,"_network",e),this.emit("network",e,null))}return this._network}))}get ready(){return zd((()=>this._ready().then((e=>e),(e=>{if(e.code!==tn.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))))}static getFormatter(){return null==kf&&(kf=new $d),kf}static getNetwork(e){return Od(null==e?"homestead":e)}ccipReadFetch(e,t,n){return of(this,void 0,void 0,(function*(){if(this.disableCcipRead||0===n.length)return null;const r=e.to.toLowerCase(),i=t.toLowerCase(),o=[];for(let e=0;e<n.length;e++){const t=n[e],a=t.replace("{sender}",r).replace("{data}",i),s=t.indexOf("{data}")>=0?null:JSON.stringify({data:i,sender:r}),u=yield jd({url:a,errorPassThrough:!0},s,((e,t)=>(e.status=t.statusCode,e)));if(u.data)return u.data;const l=u.message||"unknown error";if(u.status>=400&&u.status<500)return af.throwError(`response not found during CCIP fetch: ${l}`,tn.errors.SERVER_ERROR,{url:t,errorMessage:l});o.push(l)}return af.throwError(`error encountered during CCIP fetch: ${o.map((e=>JSON.stringify(e))).join(", ")}`,tn.errors.SERVER_ERROR,{urls:n,errorMessages:o})}))}_getInternalBlockNumber(e){return of(this,void 0,void 0,(function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const t=this._internalBlockNumber;try{const n=yield t;if(cf()-n.respTime<=e)return n.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}const t=cf(),n=er({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((e=>null),(e=>e))}).then((({blockNumber:e,networkError:r})=>{if(r)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),r;const i=cf();return(e=Rn.from(e).toNumber())<this._maxInternalBlockNumber&&(e=this._maxInternalBlockNumber),this._maxInternalBlockNumber=e,this._setFastBlockNumber(e),{blockNumber:e,reqTime:t,respTime:i}}));return this._internalBlockNumber=n,n.catch((e=>{this._internalBlockNumber===n&&(this._internalBlockNumber=null)})),(yield n).blockNumber}))}poll(){return of(this,void 0,void 0,(function*(){const e=Sf++,t=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){return void this.emit("error",e)}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)af.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",af.makeError("network block skew detected",tn.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let e=this._emitted.block+1;e<=n;e++)this.emit("block",e);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach((e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&n-t>12&&delete this._emitted[e]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=n-1),this._events.forEach((e=>{switch(e.type){case"tx":{const n=e.hash;let r=this.getTransactionReceipt(n).then((e=>e&&null!=e.blockNumber?(this._emitted["t:"+n]=e.blockNumber,this.emit(n,e),null):null)).catch((e=>{this.emit("error",e)}));t.push(r);break}case"filter":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=n-1);const r=e.filter;r.fromBlock=e._lastBlockNumber+1,r.toBlock=n;const i=r.toBlock-this._maxFilterBlockRange;i>r.fromBlock&&(r.fromBlock=i),r.fromBlock<0&&(r.fromBlock=0);const o=this.getLogs(r).then((t=>{e._inflight=!1,0!==t.length&&t.forEach((t=>{t.blockNumber>e._lastBlockNumber&&(e._lastBlockNumber=t.blockNumber),this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(r,t)}))})).catch((t=>{this.emit("error",t),e._inflight=!1}));t.push(o)}}})),this._lastBlockNumber=n,Promise.all(t).then((()=>{this.emit("didPoll",e)})).catch((e=>{this.emit("error",e)}))}else this.emit("didPoll",e)}))}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return of(this,void 0,void 0,(function*(){return af.throwError("provider does not support network detection",tn.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return of(this,void 0,void 0,(function*(){const e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield df(0),this._network;const n=af.makeError("underlying network changed",tn.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",n),n}return e}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then((e=>{this._setFastBlockNumber(e)}),(e=>{})),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval((()=>{this.poll()}),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((()=>{this.poll(),this._bootstrapPoll=setTimeout((()=>{this._poller||this.poll(),this._bootstrapPoll=null}),this.pollingInterval)}),0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((()=>{this.poll()}),this._pollingInterval))}_getFastBlockNumber(){const e=cf();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then((e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber)))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=cf(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,n){return of(this,void 0,void 0,(function*(){return this._waitForTransaction(e,null==t?1:t,n||0,null)}))}_waitForTransaction(e,t,n,r){return of(this,void 0,void 0,(function*(){const i=yield this.getTransactionReceipt(e);return(i?i.confirmations:0)>=t?i:new Promise(((i,o)=>{const a=[];let s=!1;const u=function(){return!!s||(s=!0,a.forEach((e=>{e()})),!1)},l=e=>{e.confirmations<t||u()||i(e)};if(this.on(e,l),a.push((()=>{this.removeListener(e,l)})),r){let n=r.startBlock,i=null;const l=a=>of(this,void 0,void 0,(function*(){s||(yield df(1e3),this.getTransactionCount(r.from).then((c=>of(this,void 0,void 0,(function*(){if(!s){if(c<=r.nonce)n=a;else{{const t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==i&&(i=n-3,i<r.startBlock&&(i=r.startBlock));i<=a;){if(s)return;const n=yield this.getBlockWithTransactions(i);for(let i=0;i<n.transactions.length;i++){const a=n.transactions[i];if(a.hash===e)return;if(a.from===r.from&&a.nonce===r.nonce){if(s)return;const n=yield this.waitForTransaction(a.hash,t);if(u())return;let i="replaced";return a.data===r.data&&a.to===r.to&&a.value.eq(r.value)?i="repriced":"0x"===a.data&&a.from===a.to&&a.value.isZero()&&(i="cancelled"),void o(af.makeError("transaction was replaced",tn.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===i||"cancelled"===i,reason:i,replacement:this._wrapTransaction(a),hash:e,receipt:n}))}}i++}}s||this.once("block",l)}}))),(e=>{s||this.once("block",l)})))}));if(s)return;this.once("block",l),a.push((()=>{this.removeListener("block",l)}))}if("number"==typeof n&&n>0){const e=setTimeout((()=>{u()||o(af.makeError("timeout exceeded",tn.errors.TIMEOUT,{timeout:n}))}),n);e.unref&&e.unref(),a.push((()=>{clearTimeout(e)}))}}))}))}getBlockNumber(){return of(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return Rn.from(e)}catch(t){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:t})}}))}getBalance(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getBalance",n);try{return Rn.from(r)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getBalance",params:n,result:r,error:e})}}))}getTransactionCount(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getTransactionCount",n);try{return Rn.from(r).toNumber()}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:r,error:e})}}))}getCode(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getCode",n);try{return yn(r)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getCode",params:n,result:r,error:e})}}))}getStorageAt(e,t,n){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(t).then((e=>vn(e)))}),i=yield this.perform("getStorageAt",r);try{return yn(i)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getStorageAt",params:r,result:i,error:e})}}))}_wrapTransaction(e,t,n){if(null!=t&&32!==An(t))throw new Error("invalid response - sendTransaction");const r=e;return null!=t&&e.hash!==t&&af.throwError("Transaction hash mismatch from Provider.sendTransaction.",tn.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),r.wait=(t,r)=>of(this,void 0,void 0,(function*(){let i;null==t&&(t=1),null==r&&(r=0),0!==t&&null!=n&&(i={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const o=yield this._waitForTransaction(e.hash,t,r,i);return null==o&&0===t?null:(this._emitted["t:"+e.hash]=o.blockNumber,0===o.status&&af.throwError("transaction failed",tn.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:o}),o)})),r}sendTransaction(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then((e=>yn(e))),n=this.formatter.transaction(e);null==n.confirmations&&(n.confirmations=0);const r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(n,e,r)}catch(e){throw e.transaction=n,e.transactionHash=n.hash,e}}))}_getTransactionRequest(e){return of(this,void 0,void 0,(function*(){const t=yield e,n={};return["from","to"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?this._getAddress(e):null)))})),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?Rn.from(e):null)))})),["type"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>null!=e?e:null)))})),t.accessList&&(n.accessList=this.formatter.accessList(t.accessList)),["data"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?yn(e):null)))})),this.formatter.transactionRequest(yield er(n))}))}_getFilter(e){return of(this,void 0,void 0,(function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach((n=>{null!=e[n]&&(t[n]=e[n])})),["fromBlock","toBlock"].forEach((n=>{null!=e[n]&&(t[n]=this._getBlockTag(e[n]))})),this.formatter.filter(yield er(t))}))}_call(e,t,n){return of(this,void 0,void 0,(function*(){n>=10&&af.throwError("CCIP read exceeded maximum redirections",tn.errors.SERVER_ERROR,{redirects:n,transaction:e});const r=e.to,i=yield this.perform("call",{transaction:e,blockTag:t});if(n>=0&&"latest"===t&&null!=r&&"0x556f1830"===i.substring(0,10)&&An(i)%32==4)try{const o=gn(i,4),a=gn(o,0,32);Rn.from(a).eq(r)||af.throwError("CCIP Read sender did not match",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const s=[],u=Rn.from(gn(o,32,64)).toNumber(),l=Rn.from(gn(o,u,u+32)).toNumber(),c=gn(o,u+32);for(let t=0;t<l;t++){const n=bf(c,32*t);null==n&&af.throwError("CCIP Read contained corrupt URL string",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i}),s.push(n)}const d=vf(o,64);Rn.from(gn(o,100,128)).isZero()||af.throwError("CCIP Read callback selector included junk",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const f=gn(o,96,100),p=vf(o,128),h=yield this.ccipReadFetch(e,d,s);null==h&&af.throwError("CCIP Read disabled or provided no URLs",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const m={to:r,data:bn([f,Tf([h,p])])};return this._call(m,t,n+1)}catch(e){if(e.code===tn.errors.SERVER_ERROR)throw e}try{return yn(i)}catch(n){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"call",params:{transaction:e,blockTag:t},result:i,error:n})}}))}call(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t),ccipReadEnabled:Promise.resolve(e.ccipReadEnabled)});return this._call(n.transaction,n.blockTag,n.ccipReadEnabled?0:-1)}))}estimateGas(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield er({transaction:this._getTransactionRequest(e)}),n=yield this.perform("estimateGas",t);try{return Rn.from(n)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"estimateGas",params:t,result:n,error:e})}}))}_getAddress(e){return of(this,void 0,void 0,(function*(){"string"!=typeof(e=yield e)&&af.throwArgumentError("invalid address or ENS name","name",e);const t=yield this.resolveName(e);return null==t&&af.throwError("ENS name not configured",tn.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t}))}_getBlock(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;let n=-128;const r={includeTransactions:!!t};if(hn(e,32))r.blockHash=e;else try{r.blockTag=yield this._getBlockTag(e),hn(r.blockTag)&&(n=parseInt(r.blockTag.substring(2),16))}catch(t){af.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return zd((()=>of(this,void 0,void 0,(function*(){const e=yield this.perform("getBlock",r);if(null==e)return null!=r.blockHash&&null==this._emitted["b:"+r.blockHash]||null!=r.blockTag&&n>this._emitted.block?null:void 0;if(t){let t=null;for(let n=0;n<e.transactions.length;n++){const r=e.transactions[n];if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){null==t&&(t=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let e=t-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}}const n=this.formatter.blockWithTransactions(e);return n.transactions=n.transactions.map((e=>this._wrapTransaction(e))),n}return this.formatter.block(e)}))),{oncePoll:this})}))}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return zd((()=>of(this,void 0,void 0,(function*(){const n=yield this.perform("getTransaction",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;const r=this.formatter.transactionResponse(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return this._wrapTransaction(r)}))),{oncePoll:this})}))}getTransactionReceipt(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return zd((()=>of(this,void 0,void 0,(function*(){const n=yield this.perform("getTransactionReceipt",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;if(null==n.blockHash)return;const r=this.formatter.receipt(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return r}))),{oncePoll:this})}))}getLogs(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield er({filter:this._getFilter(e)}),n=yield this.perform("getLogs",t);return n.forEach((e=>{null==e.removed&&(e.removed=!1)})),$d.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)}))}getEtherPrice(){return of(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(e){return of(this,void 0,void 0,(function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&af.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)}))}getResolver(e){return of(this,void 0,void 0,(function*(){let t=e;for(;;){if(""===t||"."===t)return null;if("eth"!==e&&"eth"===t)return null;const n=yield this._getResolver(t,"getResolver");if(null!=n){const r=new Cf(this,n,e);return t===e||(yield r.supportsWildcard())?r:null}t=t.split(".").slice(1).join(".")}}))}_getResolver(e,t){return of(this,void 0,void 0,(function*(){null==t&&(t="ENS");const n=yield this.getNetwork();n.ensAddress||af.throwError("network does not support ENS",tn.errors.UNSUPPORTED_OPERATION,{operation:t,network:n.name});try{const t=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+Uo(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null}))}resolveName(e){return of(this,void 0,void 0,(function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(hn(e))throw t}"string"!=typeof e&&af.throwArgumentError("invalid ENS name","name",e);const t=yield this.getResolver(e);return t?yield t.getAddress():null}))}lookupAddress(e){return of(this,void 0,void 0,(function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(t,"lookupAddress");if(null==n)return null;const r=bf(yield this.call({to:n,data:"0x691f3431"+Uo(t).substring(2)}),0);return(yield this.resolveName(r))!=e?null:r}))}getAvatar(e){return of(this,void 0,void 0,(function*(){let t=null;if(hn(e)){const n=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(n,"getAvatar");if(!r)return null;t=new Cf(this,r,n);try{const e=yield t.getAvatar();if(e)return e.url}catch(e){if(e.code!==tn.errors.CALL_EXCEPTION)throw e}try{const e=bf(yield this.call({to:r,data:"0x691f3431"+Uo(n).substring(2)}),0);t=yield this.getResolver(e)}catch(e){if(e.code!==tn.errors.CALL_EXCEPTION)throw e;return null}}else if(t=yield this.getResolver(e),!t)return null;const n=yield t.getAvatar();return null==n?null:n.url}))}perform(e,t){return af.throwError(e+" not implemented",tn.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter((e=>e.pollable())).length>0}_stopEvent(e){this.polling=this._events.filter((e=>e.pollable())).length>0}_addEventListener(e,t,n){const r=new pf(lf(e),t,n);return this._events.push(r),this._startEvent(r),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let n=!1,r=[],i=lf(e);return this._events=this._events.filter((e=>e.tag!==i||(setTimeout((()=>{e.listener.apply(this,t)}),0),n=!0,!e.once||(r.push(e),!1)))),r.forEach((e=>{this._stopEvent(e)})),n}listenerCount(e){if(!e)return this._events.length;let t=lf(e);return this._events.filter((e=>e.tag===t)).length}listeners(e){if(null==e)return this._events.map((e=>e.listener));let t=lf(e);return this._events.filter((e=>e.tag===t)).map((e=>e.listener))}off(e,t){if(null==t)return this.removeAllListeners(e);const n=[];let r=!1,i=lf(e);return this._events=this._events.filter((e=>e.tag!==i||e.listener!=t||(!!r||(r=!0,n.push(e),!1)))),n.forEach((e=>{this._stopEvent(e)})),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const n=lf(e);this._events=this._events.filter((e=>e.tag!==n||(t.push(e),!1)))}return t.forEach((e=>{this._stopEvent(e)})),this}}var Pf=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Of=new tn(Qd),Nf=["call","estimateGas"];function Rf(e,t){if(null==e)return null;if("string"==typeof e.message&&e.message.match("reverted")){const n=hn(e.data)?e.data:null;if(!t||n)return{message:e.message,data:n}}if("object"==typeof e){for(const n in e){const r=Rf(e[n],t);if(r)return r}return null}if("string"==typeof e)try{return Rf(JSON.parse(e),t)}catch(e){}return null}function Mf(e,t,n){const r=n.transaction||n.signedTransaction;if("call"===e){const e=Rf(t,!0);if(e)return e.data;Of.throwError("missing revert data in call exception; Transaction reverted without a reason string",tn.errors.CALL_EXCEPTION,{data:"0x",transaction:r,error:t})}if("estimateGas"===e){let n=Rf(t.body,!1);null==n&&(n=Rf(t,!1)),n&&Of.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{reason:n.message,method:e,transaction:r,error:t})}let i=t.message;throw t.code===tn.errors.SERVER_ERROR&&t.error&&"string"==typeof t.error.message?i=t.error.message:"string"==typeof t.body?i=t.body:"string"==typeof t.responseText&&(i=t.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&Of.throwError("insufficient funds for intrinsic transaction cost",tn.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:r}),i.match(/nonce (is )?too low/i)&&Of.throwError("nonce has already been used",tn.errors.NONCE_EXPIRED,{error:t,method:e,transaction:r}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&Of.throwError("replacement fee too low",tn.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:r}),i.match(/only replay-protected/i)&&Of.throwError("legacy pre-eip-155 transactions not supported",tn.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:r}),Nf.indexOf(e)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&Of.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:r}),t}function Lf(e){return new Promise((function(t){setTimeout(t,e)}))}function Df(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function Ff(e){return e?e.toLowerCase():e}const Bf={};class jf extends Ca{constructor(e,t,n){if(super(),e!==Bf)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Jn(this,"provider",t),null==n&&(n=0),"string"==typeof n?(Jn(this,"_address",this.provider.formatter.address(n)),Jn(this,"_index",null)):"number"==typeof n?(Jn(this,"_index",n),Jn(this,"_address",null)):Of.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return Of.throwError("cannot alter JSON-RPC Signer connection",tn.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new zf(Bf,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((e=>(e.length<=this._index&&Of.throwError("unknown account #"+this._index,tn.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index]))))}sendUncheckedTransaction(e){e=nr(e);const t=this.getAddress().then((e=>(e&&(e=e.toLowerCase()),e)));if(null==e.gasLimit){const n=nr(e);n.from=t,e.gasLimit=this.provider.estimateGas(n)}return null!=e.to&&(e.to=Promise.resolve(e.to).then((e=>Pf(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.provider.resolveName(e);return null==t&&Of.throwArgumentError("provided ENS name resolves to null","tx.to",e),t}))))),er({tx:er(e),sender:t}).then((({tx:t,sender:n})=>{null!=t.from?t.from.toLowerCase()!==n&&Of.throwArgumentError("from address mismatch","transaction",e):t.from=n;const r=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[r]).then((e=>e),(e=>("string"==typeof e.message&&e.message.match(/user denied/i)&&Of.throwError("user rejected transaction",tn.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:t}),Mf("sendTransaction",e,r))))}))}signTransaction(e){return Of.throwError("signing transactions is unsupported",tn.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return Pf(this,void 0,void 0,(function*(){const t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield zd((()=>Pf(this,void 0,void 0,(function*(){const e=yield this.provider.getTransaction(n);if(null!==e)return this.provider._wrapTransaction(e,n,t)}))),{oncePoll:this.provider})}catch(e){throw e.transactionHash=n,e}}))}signMessage(e){return Pf(this,void 0,void 0,(function*(){const t="string"==typeof e?Fi(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[yn(t),n.toLowerCase()])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Of.throwError("user rejected signing",tn.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),t}}))}_legacySignMessage(e){return Pf(this,void 0,void 0,(function*(){const t="string"==typeof e?Fi(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),yn(t)])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Of.throwError("user rejected signing",tn.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),t}}))}_signTypedData(e,t,n){return Pf(this,void 0,void 0,(function*(){const r=yield aa.resolveNames(e,t,n,(e=>this.provider.resolveName(e))),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(aa.getPayload(r.domain,t,r.value))])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&Of.throwError("user rejected signing",tn.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:r.domain,types:t,value:r.value}}),e}}))}unlock(e){return Pf(this,void 0,void 0,(function*(){const t=this.provider,n=yield this.getAddress();return t.send("personal_unlockAccount",[n.toLowerCase(),e,null])}))}}class zf extends jf{sendTransaction(e){return this.sendUncheckedTransaction(e).then((e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)})))}}const _f={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};let Uf=class extends If{constructor(e,t){let n=t;null==n&&(n=new Promise(((e,t)=>{setTimeout((()=>{this.detectNetwork().then((t=>{e(t)}),(e=>{t(e)}))}),0)}))),super(n),e||(e=$n(this.constructor,"defaultUrl")()),Jn(this,"connection","string"==typeof e?Object.freeze({url:e}):Object.freeze(nr(e))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout((()=>{this._cache.detectNetwork=null}),0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return Pf(this,void 0,void 0,(function*(){yield Lf(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){const t=$n(this.constructor,"getNetwork");try{return t(Rn.from(e).toNumber())}catch(t){return Of.throwError("could not detect network",tn.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return Of.throwError("could not detect network",tn.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(e){return new jf(Bf,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then((e=>e.map((e=>this.formatter.address(e)))))}send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:ar(n),provider:this});const r=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(r&&this._cache[e])return this._cache[e];const i=jd(this.connection,JSON.stringify(n),Df).then((e=>(this.emit("debug",{action:"response",request:n,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",error:e,request:n,provider:this}),e}));return r&&(this._cache[e]=i,setTimeout((()=>{this._cache[e]=null}),0)),i}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Ff(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Ff(t.address),t.blockTag]];case"getCode":return["eth_getCode",[Ff(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Ff(t.address),xn(t.position,32),t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[$n(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[$n(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=Ff(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){return Pf(this,void 0,void 0,(function*(){if("call"===e||"estimateGas"===e){const e=t.transaction;if(e&&null!=e.type&&Rn.from(e.type).isZero()&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){const n=yield this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&((t=nr(t)).transaction=nr(e),delete t.transaction.type)}}const n=this.prepareRequest(e,t);null==n&&Of.throwError(e+" not implemented",tn.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(n){return Mf(e,n,t)}}))}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(n){return function r(){e.send("eth_getFilterChanges",[n]).then((function(n){if(e._pendingFilter!=t)return null;let r=Promise.resolve();return n.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",r=r.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),r.then((function(){return Lf(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){r()}),0),null;e.send("eth_uninstallFilter",[n])})).catch((e=>{}))}(),n})).catch((e=>{}))}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const n=nr(_f);if(t)for(const e in t)t[e]&&(n[e]=!0);tr(e,n);const r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(t){if(null==e[t])return;const n=vn(Rn.from(e[t]));"gasLimit"===t&&(t="gas"),r[t]=n})),["from","to","data"].forEach((function(t){null!=e[t]&&(r[t]=yn(e[t]))})),e.accessList&&(r.accessList=Pl(e.accessList)),r}},Hf=null;try{if(Hf=WebSocket,null==Hf)throw new Error("inject please")}catch(e){const t=new tn(Qd);Hf=function(){t.throwError("WebSockets not supported in this environment",tn.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var Wf=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Vf=new tn(Qd);let qf=1;class Xf extends Uf{constructor(e,t){"any"===t&&Vf.throwError("WebSocketProvider does not support 'any' network yet",tn.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super("string"==typeof e?e:"_websocket",t),this._pollingInterval=-1,this._wsReady=!1,Jn(this,"_websocket","string"==typeof e?new Hf(this.connection.url):e),Jn(this,"_requests",{}),Jn(this,"_subs",{}),Jn(this,"_subIds",{}),Jn(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach((e=>{this.websocket.send(this._requests[e].payload)}))},this.websocket.onmessage=e=>{const t=e.data,n=JSON.parse(t);if(null!=n.id){const e=String(n.id),r=this._requests[e];if(delete this._requests[e],void 0!==n.result)r.callback(null,n.result),this.emit("debug",{action:"response",request:JSON.parse(r.payload),response:n.result,provider:this});else{let e=null;n.error?(e=new Error(n.error.message||"unknown error"),Jn(e,"code",n.error.code||null),Jn(e,"response",t)):e=new Error("unknown error"),r.callback(e,void 0),this.emit("debug",{action:"response",error:e,request:JSON.parse(r.payload),provider:this})}}else if("eth_subscription"===n.method){const e=this._subs[n.params.subscription];e&&e.processFunc(n.params.result)}else console.warn("this should not happen")};const n=setInterval((()=>{this.emit("poll")}),1e3);n.unref&&n.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){Vf.throwError("cannot reset events block on WebSocketProvider",tn.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){Vf.throwError("cannot set polling interval on WebSocketProvider",tn.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return Wf(this,void 0,void 0,(function*(){return null}))}set polling(e){e&&Vf.throwError("cannot set polling on WebSocketProvider",tn.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,t){const n=qf++;return new Promise(((r,i)=>{const o=JSON.stringify({method:e,params:t,id:n,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(o),provider:this}),this._requests[String(n)]={callback:function(e,t){return e?i(e):r(t)},payload:o},this._wsReady&&this.websocket.send(o)}))}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,t,n){return Wf(this,void 0,void 0,(function*(){let r=this._subIds[e];null==r&&(r=Promise.all(t).then((e=>this.send("eth_subscribe",e))),this._subIds[e]=r);const i=yield r;this._subs[i]={tag:e,processFunc:n}}))}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],(e=>{const t=Rn.from(e.number).toNumber();this._emitted.block=t,this.emit("block",t)}));break;case"pending":this._subscribe("pending",["newPendingTransactions"],(e=>{this.emit("pending",e)}));break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],(t=>{null==t.removed&&(t.removed=!1),this.emit(e.filter,this.formatter.filterLog(t))}));break;case"tx":{const t=e=>{const t=e.hash;this.getTransactionReceipt(t).then((e=>{e&&this.emit(t,e)}))};t(e),this._subscribe("tx",["newHeads"],(e=>{this._events.filter((e=>"tx"===e.type)).forEach(t)}));break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e)}}_stopEvent(e){let t=e.tag;if("tx"===e.type){if(this._events.filter((e=>"tx"===e.type)).length)return;t="tx"}else if(this.listenerCount(e.event))return;const n=this._subIds[t];n&&(delete this._subIds[t],n.then((e=>{this._subs[e]&&(delete this._subs[e],this.send("eth_unsubscribe",[e]))})))}destroy(){return Wf(this,void 0,void 0,(function*(){this.websocket.readyState===Hf.CONNECTING&&(yield new Promise((e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}}))),this.websocket.close(1e3)}))}}var Gf=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Zf=new tn(Qd);class Yf extends Uf{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return Gf(this,void 0,void 0,(function*(){let t=this.network;return null==t&&(t=yield e.detectNetwork.call(this),t||Zf.throwError("no network detected",tn.errors.UNKNOWN_ERROR,{}),null==this._network&&(Jn(this,"_network",t),this.emit("network",t,null))),t}))}}class Kf extends Yf{constructor(e,t){Zf.checkAbstract(new.target,Kf),e=$n(new.target,"getNetwork")(e),t=$n(new.target,"getApiKey")(t);super($n(new.target,"getUrl")(e,t),e),"string"==typeof t?Jn(this,"apiKey",t):null!=t&&Object.keys(t).forEach((e=>{Jn(this,e,t[e])}))}_startPending(){Zf.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(e){return Zf.throwError("API provider does not support signing",tn.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,t){return Zf.throwError("not implemented; sub-classes must override getUrl",tn.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const Qf=new tn(Qd),Jf="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class $f extends Xf{constructor(e,t){const n=new ep(e,t);super(n.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi."),n.network),Jn(this,"apiKey",n.apiKey)}isCommunityResource(){return this.apiKey===Jf}}class ep extends Kf{static getWebSocketProvider(e,t){return new $f(e,t)}static getApiKey(e){return null==e?Jf:(e&&"string"!=typeof e&&Qf.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,t){let n=null;switch(e.name){case"homestead":n="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":n="eth-goerli.g.alchemy.com/v2/";break;case"matic":n="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":n="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":n="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":n="arb-goerli.g.alchemy.com/v2/";break;case"optimism":n="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":n="opt-goerli.g.alchemy.com/v2/";break;default:Qf.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+n+t,throttleCallback:(e,n)=>(t===Jf&&rf(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===Jf}}const tp=new tn(Qd),np="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function rp(e){switch(e){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return tp.throwArgumentError("unsupported network","name",e)}class ip extends Kf{isCommunityResource(){return this.apiKey===np}static getApiKey(e){return null==e?np:e}static getUrl(e,t){null==t&&(t=np);const n={allowGzip:!0,url:"https://"+rp(e.name)+t,throttleCallback:(e,n)=>(t.apiKey===np&&rf(),Promise.resolve(!0))};return null!=t.projectSecret&&(n.user="",n.password=t.projectSecret),n}}var op=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const ap=new tn(Qd);class sp extends Kf{static getApiKey(e){return null!=e&&ap.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,t){let n=null;if("homestead"===e.name)n="https://cloudflare-eth.com/";else ap.throwArgumentError("unsupported network","network",arguments[0]);return n}perform(e,t){const n=Object.create(null,{perform:{get:()=>super.perform}});return op(this,void 0,void 0,(function*(){if("getBlockNumber"===e){return(yield n.perform.call(this,"getBlock",{blockTag:"latest"})).number}return n.perform.call(this,e,t)}))}}var up=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const lp=new tn(Qd);function cp(e){const t={};for(let n in e){if(null==e[n])continue;let r=e[n];"type"===n&&0===r||(r={type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[n]?vn(yn(r)):"accessList"===n?"["+Pl(r).map((e=>`{address:"${e.address}",storageKeys:["${e.storageKeys.join('","')}"]}`)).join(",")+"]":yn(r),t[n]=r)}return t}function dp(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1!=e.status||"string"!=typeof e.message||!e.message.match(/^OK/)){const t=new Error("invalid response");throw t.result=JSON.stringify(e),(e.result||"").toLowerCase().indexOf("rate limit")>=0&&(t.throttleRetry=!0),t}return e.result}function fp(e){if(e&&0==e.status&&"NOTOK"==e.message&&(e.result||"").toLowerCase().indexOf("rate limit")>=0){const t=new Error("throttled response");throw t.result=JSON.stringify(e),t.throttleRetry=!0,t}if("2.0"!=e.jsonrpc){const t=new Error("invalid response");throw t.result=JSON.stringify(e),t}if(e.error){const t=new Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function pp(e){if("pending"===e)throw new Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}function hp(e,t,n){if("call"===e&&t.code===tn.errors.SERVER_ERROR){const e=t.error;if(e&&(e.message.match(/reverted/i)||e.message.match(/VM execution error/i))){let n=e.data;if(n&&(n="0x"+n.replace(/^.*0x/i,"")),hn(n))return n;lp.throwError("missing revert data in call exception",tn.errors.CALL_EXCEPTION,{error:t,data:"0x"})}}let r=t.message;throw t.code===tn.errors.SERVER_ERROR&&(t.error&&"string"==typeof t.error.message?r=t.error.message:"string"==typeof t.body?r=t.body:"string"==typeof t.responseText&&(r=t.responseText)),r=(r||"").toLowerCase(),r.match(/insufficient funds/)&&lp.throwError("insufficient funds for intrinsic transaction cost",tn.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:n}),r.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&lp.throwError("nonce has already been used",tn.errors.NONCE_EXPIRED,{error:t,method:e,transaction:n}),r.match(/another transaction with same nonce/)&&lp.throwError("replacement fee too low",tn.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:n}),r.match(/execution failed due to an exception|execution reverted/)&&lp.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:n}),t}class mp extends If{constructor(e,t){super(e),Jn(this,"baseUrl",this.getBaseUrl()),Jn(this,"apiKey",t||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return lp.throwArgumentError("unsupported network","network",this.network.name)}getUrl(e,t){const n=Object.keys(t).reduce(((e,n)=>{const r=t[n];return null!=r&&(e+=`&${n}=${r}`),e}),""),r=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${e}${n}${r}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,t){return t.module=e,t.apikey=this.apiKey,t}fetch(e,t,n){return up(this,void 0,void 0,(function*(){const r=n?this.getPostUrl():this.getUrl(e,t),i=n?this.getPostData(e,t):null,o="proxy"===e?fp:dp;this.emit("debug",{action:"request",request:r,provider:this});const a={url:r,throttleSlotInterval:1e3,throttleCallback:(e,t)=>(this.isCommunityResource()&&rf(),Promise.resolve(!0))};let s=null;i&&(a.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},s=Object.keys(i).map((e=>`${e}=${i[e]}`)).join("&"));const u=yield jd(a,s,o||fp);return this.emit("debug",{action:"response",request:r,response:ar(u),provider:this}),u}))}detectNetwork(){return up(this,void 0,void 0,(function*(){return this.network}))}perform(e,t){const n=Object.create(null,{perform:{get:()=>super.perform}});return up(this,void 0,void 0,(function*(){switch(e){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch((e=>hp("sendTransaction",e,t.signedTransaction)));case"getBlock":if(t.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});throw new Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.transactionHash});case"call":{if("latest"!==t.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");const e=cp(t.transaction);e.module="proxy",e.action="eth_call";try{return yield this.fetch("proxy",e,!0)}catch(e){return hp("call",e,t.transaction)}}case"estimateGas":{const e=cp(t.transaction);e.module="proxy",e.action="eth_estimateGas";try{return yield this.fetch("proxy",e,!0)}catch(e){return hp("estimateGas",e,t.transaction)}}case"getLogs":{const e={action:"getLogs"};if(t.filter.fromBlock&&(e.fromBlock=pp(t.filter.fromBlock)),t.filter.toBlock&&(e.toBlock=pp(t.filter.toBlock)),t.filter.address&&(e.address=t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&lp.throwError("unsupported topic count",tn.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length)){const n=t.filter.topics[0];"string"==typeof n&&66===n.length||lp.throwError("unsupported topic format",tn.errors.UNSUPPORTED_OPERATION,{topic0:n}),e.topic0=n}const n=yield this.fetch("logs",e);let r={};for(let e=0;e<n.length;e++){const t=n[e];if(null==t.blockHash){if(null==r[t.blockNumber]){const e=yield this.getBlock(t.blockNumber);e&&(r[t.blockNumber]=e.hash)}t.blockHash=r[t.blockNumber]}}return n}case"getEtherPrice":return"homestead"!==this.network.name?0:parseFloat((yield this.fetch("stats",{action:"ethprice"})).ethusd)}return n.perform.call(this,e,t)}))}getHistory(e,t,n){return up(this,void 0,void 0,(function*(){const r={action:"txlist",address:yield this.resolveName(e),startblock:null==t?0:t,endblock:null==n?99999999:n,sort:"asc"};return(yield this.fetch("account",r)).map((e=>{["contractAddress","to"].forEach((function(t){""==e[t]&&delete e[t]})),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);const t=this.formatter.transactionResponse(e);return e.timeStamp&&(t.timestamp=parseInt(e.timeStamp)),t}))}))}isCommunityResource(){return null==this.apiKey}}var yp=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Ap=new tn(Qd);function gp(){return(new Date).getTime()}function bp(e){let t=null;for(let n=0;n<e.length;n++){const r=e[n];if(null==r)return null;t?t.name===r.name&&t.chainId===r.chainId&&(t.ensAddress===r.ensAddress||null==t.ensAddress&&null==r.ensAddress)||Ap.throwArgumentError("provider mismatch","networks",e):t=r}return t}function vp(e,t){e=e.slice().sort();const n=Math.floor(e.length/2);if(e.length%2)return e[n];const r=e[n-1],i=e[n];return null!=t&&Math.abs(r-i)>t?null:(r+i)/2}function wp(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(Rn.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map((e=>wp(e))));if("object"==typeof e){const t=Object.keys(e);return t.sort(),"{"+t.map((t=>{let n=e[t];return n="function"==typeof n?"[function]":wp(n),JSON.stringify(t)+":"+n})).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}let xp=1;function Ep(e){let t=null,n=null,r=new Promise((r=>{t=function(){n&&(clearTimeout(n),n=null),r()},n=setTimeout(t,e)}));return{cancel:t,getPromise:function(){return r},wait:e=>(r=r.then(e),r)}}const Tp=[tn.errors.CALL_EXCEPTION,tn.errors.INSUFFICIENT_FUNDS,tn.errors.NONCE_EXPIRED,tn.errors.REPLACEMENT_UNDERPRICED,tn.errors.UNPREDICTABLE_GAS_LIMIT],Cp=["address","args","errorArgs","errorSignature","method","transaction"];function kp(e,t){const n={weight:e.weight};return Object.defineProperty(n,"provider",{get:()=>e.provider}),e.start&&(n.start=e.start),t&&(n.duration=t-e.start),e.done&&(e.error?n.error=e.error:n.result=e.result||null),n}function Sp(e,t,n){let r=wp;switch(t){case"getBlockNumber":return function(t){const n=t.map((e=>e.result));let r=vp(t.map((e=>e.result)),2);if(null!=r)return r=Math.ceil(r),n.indexOf(r+1)>=0&&r++,r>=e._highestBlockNumber&&(e._highestBlockNumber=r),e._highestBlockNumber};case"getGasPrice":return function(e){const t=e.map((e=>e.result));return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return vp(e.map((e=>e.result)))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":r=function(e){return null==e?null:((e=nr(e)).confirmations=-1,wp(e))};break;case"getBlock":r=n.includeTransactions?function(e){return null==e?null:((e=nr(e)).transactions=e.transactions.map((e=>((e=nr(e)).confirmations=-1,e))),wp(e))}:function(e){return null==e?null:wp(e)};break;default:throw new Error("unknown method: "+t)}return function(e,t){return function(n){const r={};n.forEach((t=>{const n=e(t.result);r[n]||(r[n]={count:0,result:t.result}),r[n].count++}));const i=Object.keys(r);for(let e=0;e<i.length;e++){const n=r[i[e]];if(n.count>=t)return n.result}}}(r,e.quorum)}function Ip(e,t){return yp(this,void 0,void 0,(function*(){const n=e.provider;return null!=n.blockNumber&&n.blockNumber>=t||-1===t?n:zd((()=>new Promise(((r,i)=>{setTimeout((function(){return n.blockNumber>=t?r(n):e.cancelled?r(null):r(void 0)}),0)}))),{oncePoll:n})}))}function Pp(e,t,n,r){return yp(this,void 0,void 0,(function*(){let i=e.provider;switch(n){case"getBlockNumber":case"getGasPrice":return i[n]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),i[n](r.address,r.blockTag||"latest");case"getStorageAt":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),i.getStorageAt(r.address,r.position,r.blockTag||"latest");case"getBlock":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),i[r.includeTransactions?"getBlockWithTransactions":"getBlock"](r.blockTag||r.blockHash);case"call":case"estimateGas":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),"call"===n&&r.blockTag?i[n](r.transaction,r.blockTag):i[n](r.transaction);case"getTransaction":case"getTransactionReceipt":return i[n](r.transactionHash);case"getLogs":{let n=r.filter;return(n.fromBlock&&hn(n.fromBlock)||n.toBlock&&hn(n.toBlock))&&(i=yield Ip(e,t)),i.getLogs(n)}}return Ap.throwError("unknown method error",tn.errors.UNKNOWN_ERROR,{method:n,params:r})}))}class Op extends If{constructor(e,t){0===e.length&&Ap.throwArgumentError("missing providers","providers",e);const n=e.map(((e,t)=>{if(va.isProvider(e)){const t=tf(e)?2e3:750,n=1;return Object.freeze({provider:e,weight:1,stallTimeout:t,priority:n})}const n=nr(e);null==n.priority&&(n.priority=1),null==n.stallTimeout&&(n.stallTimeout=tf(e)?2e3:750),null==n.weight&&(n.weight=1);const r=n.weight;return(r%1||r>512||r<1)&&Ap.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${t}].weight`,r),Object.freeze(n)})),r=n.reduce(((e,t)=>e+t.weight),0);null==t?t=r/2:t>r&&Ap.throwArgumentError("quorum will always fail; larger than total weight","quorum",t);let i=bp(n.map((e=>e.provider.network)));null==i&&(i=new Promise(((e,t)=>{setTimeout((()=>{this.detectNetwork().then(e,t)}),0)}))),super(i),Jn(this,"providerConfigs",Object.freeze(n)),Jn(this,"quorum",t),this._highestBlockNumber=-1}detectNetwork(){return yp(this,void 0,void 0,(function*(){const e=yield Promise.all(this.providerConfigs.map((e=>e.provider.getNetwork())));return bp(e)}))}perform(e,t){return yp(this,void 0,void 0,(function*(){if("sendTransaction"===e){const e=yield Promise.all(this.providerConfigs.map((e=>e.provider.sendTransaction(t.signedTransaction).then((e=>e.hash),(e=>e)))));for(let t=0;t<e.length;t++){const n=e[t];if("string"==typeof n)return n}throw e[0]}-1===this._highestBlockNumber&&"getBlockNumber"!==e&&(yield this.getBlockNumber());const n=Sp(this,e,t),r=zc(this.providerConfigs.map(nr));r.sort(((e,t)=>e.priority-t.priority));const i=this._highestBlockNumber;let o=0,a=!0;for(;;){const s=gp();let u=r.filter((e=>e.runner&&s-e.start<e.stallTimeout)).reduce(((e,t)=>e+t.weight),0);for(;u<this.quorum&&o<r.length;){const n=r[o++],a=xp++;n.start=gp(),n.staller=Ep(n.stallTimeout),n.staller.wait((()=>{n.staller=null})),n.runner=Pp(n,i,e,t).then((r=>{n.done=!0,n.result=r,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:kp(n,gp()),request:{method:e,params:ar(t)},provider:this})}),(r=>{n.done=!0,n.error=r,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:kp(n,gp()),request:{method:e,params:ar(t)},provider:this})})),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:kp(n,null),request:{method:e,params:ar(t)},provider:this}),u+=n.weight}const l=[];r.forEach((e=>{!e.done&&e.runner&&(l.push(e.runner),e.staller&&l.push(e.staller.getPromise()))})),l.length&&(yield Promise.race(l));const c=r.filter((e=>e.done&&null==e.error));if(c.length>=this.quorum){const e=n(c);if(void 0!==e)return r.forEach((e=>{e.staller&&e.staller.cancel(),e.cancelled=!0})),e;a||(yield Ep(100).getPromise()),a=!1}const d=r.reduce(((e,t)=>{if(!t.done||null==t.error)return e;const n=t.error.code;return Tp.indexOf(n)>=0&&(e[n]||(e[n]={error:t.error,weight:0}),e[n].weight+=t.weight),e}),{});if(Object.keys(d).forEach((e=>{const t=d[e];if(t.weight<this.quorum)return;r.forEach((e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}));const n=t.error,i={};Cp.forEach((e=>{null!=n[e]&&(i[e]=n[e])})),Ap.throwError(n.reason||n.message,e,i)})),0===r.filter((e=>!e.done)).length)break}return r.forEach((e=>{e.staller&&e.staller.cancel(),e.cancelled=!0})),Ap.throwError("failed to meet quorum",tn.errors.SERVER_ERROR,{method:e,params:t,results:r.map((e=>kp(e))),provider:this})}))}}const Np=new tn(Qd),Rp="84842078b09946638c03157f83405213";class Mp extends Xf{constructor(e,t){const n=new Lp(e,t),r=n.connection;r.password&&Np.throwError("INFURA WebSocket project secrets unsupported",tn.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});super(r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/"),e),Jn(this,"apiKey",n.projectId),Jn(this,"projectId",n.projectId),Jn(this,"projectSecret",n.projectSecret)}isCommunityResource(){return this.projectId===Rp}}class Lp extends Kf{static getWebSocketProvider(e,t){return new Mp(e,t)}static getApiKey(e){const t={apiKey:Rp,projectId:Rp,projectSecret:null};return null==e||("string"==typeof e?t.projectId=e:null!=e.projectSecret?(Np.assertArgument("string"==typeof e.projectId,"projectSecret requires a projectId","projectId",e.projectId),Np.assertArgument("string"==typeof e.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),t.projectId=e.projectId,t.projectSecret=e.projectSecret):e.projectId&&(t.projectId=e.projectId),t.apiKey=t.projectId),t}static getUrl(e,t){let n=null;switch(e?e.name:"unknown"){case"homestead":n="mainnet.infura.io";break;case"goerli":n="goerli.infura.io";break;case"sepolia":n="sepolia.infura.io";break;case"matic":n="polygon-mainnet.infura.io";break;case"maticmum":n="polygon-mumbai.infura.io";break;case"optimism":n="optimism-mainnet.infura.io";break;case"optimism-goerli":n="optimism-goerli.infura.io";break;case"arbitrum":n="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":n="arbitrum-goerli.infura.io";break;default:Np.throwError("unsupported network",tn.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const r={allowGzip:!0,url:"https://"+n+"/v3/"+t.projectId,throttleCallback:(e,n)=>(t.projectId===Rp&&rf(),Promise.resolve(!0))};return null!=t.projectSecret&&(r.user="",r.password=t.projectSecret),r}isCommunityResource(){return this.projectId===Rp}}const Dp=new tn(Qd);class Fp extends Kf{static getApiKey(e){return e&&"string"!=typeof e&&Dp.throwArgumentError("invalid apiKey","apiKey",e),e||"ETHERS_JS_SHARED"}static getUrl(e,t){Dp.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let n=null;switch(e.name){case"homestead":n="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":n="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":n="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":n="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":n="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:Dp.throwArgumentError("unsupported network","network",arguments[0])}return n+"?apiKey="+t}}const Bp=new tn(Qd),jp="62e1ad51b37b8e00394bda3b";class zp extends Kf{static getApiKey(e){const t={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return null==e?t.applicationId=jp:"string"==typeof e?t.applicationId=e:null!=e.applicationSecretKey?(t.applicationId=e.applicationId,t.applicationSecretKey=e.applicationSecretKey):e.applicationId?t.applicationId=e.applicationId:Bp.throwArgumentError("unsupported PocketProvider apiKey","apiKey",e),t}static getUrl(e,t){let n=null;switch(e?e.name:"unknown"){case"goerli":n="eth-goerli.gateway.pokt.network";break;case"homestead":n="eth-mainnet.gateway.pokt.network";break;case"kovan":n="poa-kovan.gateway.pokt.network";break;case"matic":n="poly-mainnet.gateway.pokt.network";break;case"maticmum":n="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":n="eth-rinkeby.gateway.pokt.network";break;case"ropsten":n="eth-ropsten.gateway.pokt.network";break;default:Bp.throwError("unsupported network",tn.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const r={headers:{},url:`https://${n}/v1/lb/${t.applicationId}`};return null!=t.applicationSecretKey&&(r.user="",r.password=t.applicationSecretKey),r}isCommunityResource(){return this.applicationId===jp}}const _p=new tn(Qd);let Up=1;function Hp(e,t){const n="Web3LegacyFetcher";return function(e,r){const i={method:e,params:r,id:Up++,jsonrpc:"2.0"};return new Promise(((e,r)=>{this.emit("debug",{action:"request",fetcher:n,request:ar(i),provider:this}),t(i,((t,o)=>{if(t)return this.emit("debug",{action:"response",fetcher:n,error:t,request:i,provider:this}),r(t);if(this.emit("debug",{action:"response",fetcher:n,request:i,response:o,provider:this}),o.error){const e=new Error(o.error.message);return e.code=o.error.code,e.data=o.error.data,r(e)}e(o.result)}))}))}}class Wp extends Uf{constructor(e,t){null==e&&_p.throwArgumentError("missing provider","provider",e);let n=null,r=null,i=null;"function"==typeof e?(n="unknown:",r=e):(n=e.host||e.path||"",!n&&e.isMetaMask&&(n="metamask"),i=e,e.request?(""===n&&(n="eip-1193:"),r=function(e){return function(t,n){null==n&&(n=[]);const r={method:t,params:n};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:ar(r),provider:this}),e.request(r).then((e=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,error:e,provider:this}),e}))}}(e)):e.sendAsync?r=Hp(0,e.sendAsync.bind(e)):e.send?r=Hp(0,e.send.bind(e)):_p.throwArgumentError("unsupported provider","provider",e),n||(n="unknown:")),super(n,t),Jn(this,"jsonRpcFetchFunc",r),Jn(this,"provider",i)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}const Vp=new tn(Qd);function qp(e,t){if(null==e&&(e="homestead"),"string"==typeof e){const t=e.match(/^(ws|http)s?:/i);if(t)switch(t[1].toLowerCase()){case"http":case"https":return new Uf(e);case"ws":case"wss":return new Xf(e);default:Vp.throwArgumentError("unsupported URL scheme","network",e)}}const n=Od(e);return n&&n._defaultProvider||Vp.throwError("unsupported getDefaultProvider network",tn.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:e}),n._defaultProvider({FallbackProvider:Op,AlchemyProvider:ep,AnkrProvider:ip,CloudflareProvider:sp,EtherscanProvider:mp,InfuraProvider:Lp,JsonRpcProvider:Uf,NodesmithProvider:Fp,PocketProvider:zp,Web3Provider:Wp,IpcProvider:null},t)}var Xp=Object.freeze({__proto__:null,AlchemyProvider:ep,AlchemyWebSocketProvider:$f,AnkrProvider:ip,BaseProvider:If,CloudflareProvider:sp,EtherscanProvider:mp,FallbackProvider:Op,Formatter:$d,InfuraProvider:Lp,InfuraWebSocketProvider:Mp,IpcProvider:null,JsonRpcBatchProvider:class extends Uf{send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const e=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const t=e.map((e=>e.request));return this.emit("debug",{action:"requestBatch",request:ar(t),provider:this}),jd(this.connection,JSON.stringify(t)).then((n=>{this.emit("debug",{action:"response",request:t,response:n,provider:this}),e.forEach(((e,t)=>{const r=n[t];if(r.error){const t=new Error(r.error.message);t.code=r.error.code,t.data=r.error.data,e.reject(t)}else e.resolve(r.result)}))}),(n=>{this.emit("debug",{action:"response",error:n,request:t,provider:this}),e.forEach((e=>{e.reject(n)}))}))}),10)),i}},JsonRpcProvider:Uf,JsonRpcSigner:jf,NodesmithProvider:Fp,PocketProvider:zp,Provider:va,Resolver:Cf,StaticJsonRpcProvider:Yf,UrlJsonRpcProvider:Kf,Web3Provider:Wp,WebSocketProvider:Xf,getDefaultProvider:qp,getNetwork:Od,isCommunityResourcable:ef,isCommunityResource:tf,showThrottleMessage:rf});const Gp=new RegExp("^bytes([0-9]+)$"),Zp=new RegExp("^(u?int)([0-9]*)$"),Yp=new RegExp("^(.*)\\[([0-9]*)\\]$"),Kp="0000000000000000000000000000000000000000000000000000000000000000",Qp=new tn("solidity/5.7.0");function Jp(e,t,n){switch(e){case"address":return n?pn(t,32):cn(t);case"string":return Fi(t);case"bytes":return cn(t);case"bool":return t=t?"0x01":"0x00",n?pn(t,32):cn(t)}let r=e.match(Zp);if(r){let i=parseInt(r[2]||"256");return(r[2]&&String(i)!==r[2]||i%8!=0||0===i||i>256)&&Qp.throwArgumentError("invalid number type","type",e),n&&(i=256),pn(t=Rn.from(t).toTwos(i),i/8)}if(r=e.match(Gp),r){const i=parseInt(r[1]);return(String(i)!==r[1]||0===i||i>32)&&Qp.throwArgumentError("invalid bytes type","type",e),cn(t).byteLength!==i&&Qp.throwArgumentError(`invalid value for ${e}`,"value",t),n?cn((t+Kp).substring(0,66)):t}if(r=e.match(Yp),r&&Array.isArray(t)){const n=r[1];parseInt(r[2]||String(t.length))!=t.length&&Qp.throwArgumentError(`invalid array length for ${e}`,"value",t);const i=[];return t.forEach((function(e){i.push(Jp(n,e,!0))})),dn(i)}return Qp.throwArgumentError("invalid type","type",e)}function $p(e,t){e.length!=t.length&&Qp.throwArgumentError("wrong number of values; expected ${ types.length }","values",t);const n=[];return e.forEach((function(e,r){n.push(Jp(e,t[r]))})),yn(dn(n))}function eh(e,t){return zr($p(e,t))}function th(e,t){return sc($p(e,t))}var nh=Object.freeze({__proto__:null,keccak256:eh,pack:$p,sha256:th});const rh=new tn("units/5.7.0"),ih=["wei","kwei","mwei","gwei","szabo","finney","ether"];function oh(e){const t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&rh.throwArgumentError("invalid value","value",e);let n=t[0],r="";for("-"===n.substring(0,1)&&(r="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");let i="";for(2===t.length&&(i="."+(t[1]||"0"));i.length>2&&"0"===i[i.length-1];)i=i.substring(0,i.length-1);const o=[];for(;n.length;){if(n.length<=3){o.unshift(n);break}{const e=n.length-3;o.unshift(n.substring(e)),n=n.substring(0,e)}}return r+o.join(",")+i}function ah(e,t){if("string"==typeof t){const e=ih.indexOf(t);-1!==e&&(t=3*e)}return Vn(e,null!=t?t:18)}function sh(e,t){if("string"!=typeof e&&rh.throwArgumentError("value must be a string","value",e),"string"==typeof t){const e=ih.indexOf(t);-1!==e&&(t=3*e)}return qn(e,null!=t?t:18)}function uh(e){return ah(e,18)}function lh(e){return sh(e,18)}var ch=Object.freeze({__proto__:null,commify:oh,formatEther:uh,formatUnits:ah,parseEther:lh,parseUnits:sh}),dh=Object.freeze({__proto__:null,AbiCoder:so,ConstructorFragment:Cr,ErrorFragment:Ir,EventFragment:wr,FormatTypes:yr,Fragment:vr,FunctionFragment:kr,HDNode:Ic,Indexed:fa,Interface:ma,LogDescription:la,Logger:tn,ParamType:gr,RLP:Yr,SigningKey:ml,get SupportedAlgorithm(){return rc},TransactionDescription:ca,get TransactionTypes(){return vl},get UnicodeNormalizationForm(){return Ni},Utf8ErrorFuncs:Li,get Utf8ErrorReason(){return Ri},_TypedDataEncoder:aa,_fetchData:Bd,_toEscapedUtf8String:ji,accessListify:Pl,arrayify:cn,base58:nc,base64:ho,checkProperties:tr,checkResultErrors:Lr,commify:oh,computeAddress:Cl,computeHmac:lc,computePublicKey:Al,concat:dn,deepCopy:ar,defaultAbiCoder:uo,defaultPath:Sc,defineReadOnly:Jn,dnsEncode:Ho,entropyToMnemonic:Nc,fetchJson:jd,formatBytes32String:Hi,formatEther:uh,formatUnits:ah,getAccountPath:Mc,getAddress:ti,getContractAddress:ii,getCreate2Address:oi,getIcapAddress:ri,getJsonWalletAddress:ed,getStatic:$n,hashMessage:Vo,hexConcat:bn,hexDataLength:An,hexDataSlice:gn,hexStripZeros:wn,hexValue:vn,hexZeroPad:xn,hexlify:yn,id:lo,isAddress:ni,isBytes:ln,isBytesLike:sn,isHexString:hn,isValidMnemonic:Rc,isValidName:_o,joinSignature:Tn,keccak256:zr,mnemonicToEntropy:Oc,mnemonicToSeed:Pc,namehash:Uo,nameprep:eo,parseBytes32String:Wi,parseEther:lh,parseTransaction:Dl,parseUnits:sh,poll:zd,randomBytes:jc,recoverAddress:kl,recoverPublicKey:yl,resolveProperties:er,ripemd160:ac,serializeTransaction:Ml,sha256:sc,sha512:uc,shallowCopy:nr,shuffled:zc,solidityKeccak256:eh,solidityPack:$p,soliditySha256:th,splitSignature:En,stripZeros:fn,toUtf8Bytes:Fi,toUtf8CodePoints:Ui,toUtf8String:_i,verifyMessage:vd,verifyTypedData:wd,zeroPad:pn});const fh="ethers/5.7.2",ph=new tn(fh);var hh=Object.freeze({__proto__:null,BaseContract:Ql,BigNumber:Rn,Contract:Jl,ContractFactory:$l,FixedNumber:Gn,Signer:Ca,VoidSigner:ka,Wallet:bd,Wordlist:pc,constants:Ii,get errors(){return $t},getDefaultProvider:qp,logger:ph,providers:Xp,utils:dh,version:fh,wordlists:Ac});try{const e=window;null==e._ethers&&(e._ethers=hh)}catch(e){}var mh=Object.freeze({__proto__:null,BaseContract:Ql,BigNumber:Rn,Contract:Jl,ContractFactory:$l,FixedNumber:Gn,Signer:Ca,VoidSigner:ka,Wallet:bd,Wordlist:pc,constants:Ii,get errors(){return $t},ethers:hh,getDefaultProvider:qp,logger:ph,providers:Xp,utils:dh,version:fh,wordlists:Ac});const yh="11155111",Ah="0x0000000000000000000000000000000000001002",gh="0x0000000000000000000000000000000000000001",bh={rootChainID:yh,childChainID:"13473"},vh={rootChainID:yh,childChainID:"13472"},wh={rootChainID:"1",childChainID:"13371"};var xh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Eh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Th={exports:{}};!function(e){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var o;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:require("buffer").Buffer}catch(e){}function a(e,t){var r=e.charCodeAt(t);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+e)}function s(e,t,n){var r=a(e,n);return n-1>=t&&(r|=a(e,n-1)<<4),r}function u(e,t,r,i){for(var o=0,a=0,s=Math.min(e.length,r),u=t;u<s;u++){var l=e.charCodeAt(u)-48;o*=i,a=l>=49?l-49+10:l>=17?l-17+10:l,n(l>=0&&a<i,"Invalid character"),o+=a}return o}function l(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),"le"===r&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=e.length-1,o=0;i>=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<e.length;i+=3)a=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,o=0,a=0;if("be"===n)for(r=e.length-1;r>=t;r-=2)i=s(e,t,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(r=(e.length-t)%2==0?t+1:t;r<e.length;r+=2)i=s(e,t,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,a=o%r,s=Math.min(o,o-a)+n,l=0,c=n;c<s;c+=r)l=u(e,c,c+r,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==a){var d=1;for(l=u(e,c,e.length,t),c=0;c<a;c++)d*=t;this.imuln(d),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this._strip()},i.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype._move=function(e){l(e,this)},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=c}catch(e){i.prototype.inspect=c}else i.prototype.inspect=c;function c(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","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],p=[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];i.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],u=(16777215&(s<<i|o)).toString(16);o=s>>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==o||a!==this.length-1?d[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=f[e],c=p[e];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var m=h.modrn(c).toString(e);r=(h=h.idivn(c)).isZero()?m+r:d[l-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(e,t){return this.toArrayLike(o,e,t)}),i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function h(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var l=1;l<r;l++){for(var c=u>>>26,d=67108863&u,f=Math.min(l,t.length-1),p=Math.max(0,l-e.length+1);p<=f;p++){var h=l-p|0;c+=(a=(i=0|e.words[h])*(o=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[l]=0|d,u=0|c}return 0!==u?n.words[l]=0|u:n.length--,n._strip()}i.prototype.toArrayLike=function(e,t,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;e[n++]=255&a,n<e.length&&(e[n++]=a>>8&255),n<e.length&&(e[n++]=a>>16&255),6===o?(n<e.length&&(e[n++]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n<e.length)for(e[n++]=r;n<e.length;)e[n++]=0},i.prototype._toArrayLikeBE=function(e,t){for(var n=e.length-1,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;e[n--]=255&a,n>=0&&(e[n--]=a>>8&255),n>=0&&(e[n--]=a>>16&255),6===o?(n>=0&&(e[n--]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,26!==n)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},i.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this._strip()},i.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this._strip()},i.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},i.prototype.iadd=function(e){var t,n,r;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o<r.length;o++)t=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<n.length;o++)t=(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},i.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,a=0;a<r.length;a++)o=(t=(0|n.words[a])-(0|r.words[a])+o)>>26,this.words[a]=67108863&t;for(;0!==o&&a<n.length;a++)o=(t=(0|n.words[a])+o)>>26,this.words[a]=67108863&t;if(0===o&&a<n.length&&n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this.length=Math.max(this.length,a),n!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(e){return this.clone().isub(e)};var m=function(e,t,n){var r,i,o,a=e.words,s=t.words,u=n.words,l=0,c=0|a[0],d=8191&c,f=c>>>13,p=0|a[1],h=8191&p,m=p>>>13,y=0|a[2],A=8191&y,g=y>>>13,b=0|a[3],v=8191&b,w=b>>>13,x=0|a[4],E=8191&x,T=x>>>13,C=0|a[5],k=8191&C,S=C>>>13,I=0|a[6],P=8191&I,O=I>>>13,N=0|a[7],R=8191&N,M=N>>>13,L=0|a[8],D=8191&L,F=L>>>13,B=0|a[9],j=8191&B,z=B>>>13,_=0|s[0],U=8191&_,H=_>>>13,W=0|s[1],V=8191&W,q=W>>>13,X=0|s[2],G=8191&X,Z=X>>>13,Y=0|s[3],K=8191&Y,Q=Y>>>13,J=0|s[4],$=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,re=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ue=8191&se,le=se>>>13,ce=0|s[8],de=8191&ce,fe=ce>>>13,pe=0|s[9],he=8191&pe,me=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var ye=(l+(r=Math.imul(d,U))|0)+((8191&(i=(i=Math.imul(d,H))+Math.imul(f,U)|0))<<13)|0;l=((o=Math.imul(f,H))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(h,U),i=(i=Math.imul(h,H))+Math.imul(m,U)|0,o=Math.imul(m,H);var Ae=(l+(r=r+Math.imul(d,V)|0)|0)+((8191&(i=(i=i+Math.imul(d,q)|0)+Math.imul(f,V)|0))<<13)|0;l=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(A,U),i=(i=Math.imul(A,H))+Math.imul(g,U)|0,o=Math.imul(g,H),r=r+Math.imul(h,V)|0,i=(i=i+Math.imul(h,q)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,q)|0;var ge=(l+(r=r+Math.imul(d,G)|0)|0)+((8191&(i=(i=i+Math.imul(d,Z)|0)+Math.imul(f,G)|0))<<13)|0;l=((o=o+Math.imul(f,Z)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(v,U),i=(i=Math.imul(v,H))+Math.imul(w,U)|0,o=Math.imul(w,H),r=r+Math.imul(A,V)|0,i=(i=i+Math.imul(A,q)|0)+Math.imul(g,V)|0,o=o+Math.imul(g,q)|0,r=r+Math.imul(h,G)|0,i=(i=i+Math.imul(h,Z)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Z)|0;var be=(l+(r=r+Math.imul(d,K)|0)|0)+((8191&(i=(i=i+Math.imul(d,Q)|0)+Math.imul(f,K)|0))<<13)|0;l=((o=o+Math.imul(f,Q)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(E,U),i=(i=Math.imul(E,H))+Math.imul(T,U)|0,o=Math.imul(T,H),r=r+Math.imul(v,V)|0,i=(i=i+Math.imul(v,q)|0)+Math.imul(w,V)|0,o=o+Math.imul(w,q)|0,r=r+Math.imul(A,G)|0,i=(i=i+Math.imul(A,Z)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,Z)|0,r=r+Math.imul(h,K)|0,i=(i=i+Math.imul(h,Q)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,Q)|0;var ve=(l+(r=r+Math.imul(d,$)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(f,$)|0))<<13)|0;l=((o=o+Math.imul(f,ee)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(k,U),i=(i=Math.imul(k,H))+Math.imul(S,U)|0,o=Math.imul(S,H),r=r+Math.imul(E,V)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,V)|0,o=o+Math.imul(T,q)|0,r=r+Math.imul(v,G)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,Z)|0,r=r+Math.imul(A,K)|0,i=(i=i+Math.imul(A,Q)|0)+Math.imul(g,K)|0,o=o+Math.imul(g,Q)|0,r=r+Math.imul(h,$)|0,i=(i=i+Math.imul(h,ee)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,ee)|0;var we=(l+(r=r+Math.imul(d,ne)|0)|0)+((8191&(i=(i=i+Math.imul(d,re)|0)+Math.imul(f,ne)|0))<<13)|0;l=((o=o+Math.imul(f,re)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(P,U),i=(i=Math.imul(P,H))+Math.imul(O,U)|0,o=Math.imul(O,H),r=r+Math.imul(k,V)|0,i=(i=i+Math.imul(k,q)|0)+Math.imul(S,V)|0,o=o+Math.imul(S,q)|0,r=r+Math.imul(E,G)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,Z)|0,r=r+Math.imul(v,K)|0,i=(i=i+Math.imul(v,Q)|0)+Math.imul(w,K)|0,o=o+Math.imul(w,Q)|0,r=r+Math.imul(A,$)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,ee)|0,r=r+Math.imul(h,ne)|0,i=(i=i+Math.imul(h,re)|0)+Math.imul(m,ne)|0,o=o+Math.imul(m,re)|0;var xe=(l+(r=r+Math.imul(d,oe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(f,oe)|0))<<13)|0;l=((o=o+Math.imul(f,ae)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(R,U),i=(i=Math.imul(R,H))+Math.imul(M,U)|0,o=Math.imul(M,H),r=r+Math.imul(P,V)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,q)|0,r=r+Math.imul(k,G)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,Z)|0,r=r+Math.imul(E,K)|0,i=(i=i+Math.imul(E,Q)|0)+Math.imul(T,K)|0,o=o+Math.imul(T,Q)|0,r=r+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,ee)|0,r=r+Math.imul(A,ne)|0,i=(i=i+Math.imul(A,re)|0)+Math.imul(g,ne)|0,o=o+Math.imul(g,re)|0,r=r+Math.imul(h,oe)|0,i=(i=i+Math.imul(h,ae)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,ae)|0;var Ee=(l+(r=r+Math.imul(d,ue)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(f,ue)|0))<<13)|0;l=((o=o+Math.imul(f,le)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(D,U),i=(i=Math.imul(D,H))+Math.imul(F,U)|0,o=Math.imul(F,H),r=r+Math.imul(R,V)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(M,V)|0,o=o+Math.imul(M,q)|0,r=r+Math.imul(P,G)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Z)|0,r=r+Math.imul(k,K)|0,i=(i=i+Math.imul(k,Q)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,Q)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,r=r+Math.imul(v,ne)|0,i=(i=i+Math.imul(v,re)|0)+Math.imul(w,ne)|0,o=o+Math.imul(w,re)|0,r=r+Math.imul(A,oe)|0,i=(i=i+Math.imul(A,ae)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,ae)|0,r=r+Math.imul(h,ue)|0,i=(i=i+Math.imul(h,le)|0)+Math.imul(m,ue)|0,o=o+Math.imul(m,le)|0;var Te=(l+(r=r+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,fe)|0)+Math.imul(f,de)|0))<<13)|0;l=((o=o+Math.imul(f,fe)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(j,U),i=(i=Math.imul(j,H))+Math.imul(z,U)|0,o=Math.imul(z,H),r=r+Math.imul(D,V)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,q)|0,r=r+Math.imul(R,G)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(P,K)|0,i=(i=i+Math.imul(P,Q)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,Q)|0,r=r+Math.imul(k,$)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(T,ne)|0,o=o+Math.imul(T,re)|0,r=r+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,ae)|0)+Math.imul(w,oe)|0,o=o+Math.imul(w,ae)|0,r=r+Math.imul(A,ue)|0,i=(i=i+Math.imul(A,le)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,le)|0,r=r+Math.imul(h,de)|0,i=(i=i+Math.imul(h,fe)|0)+Math.imul(m,de)|0,o=o+Math.imul(m,fe)|0;var Ce=(l+(r=r+Math.imul(d,he)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(f,he)|0))<<13)|0;l=((o=o+Math.imul(f,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(j,V),i=(i=Math.imul(j,q))+Math.imul(z,V)|0,o=Math.imul(z,q),r=r+Math.imul(D,G)|0,i=(i=i+Math.imul(D,Z)|0)+Math.imul(F,G)|0,o=o+Math.imul(F,Z)|0,r=r+Math.imul(R,K)|0,i=(i=i+Math.imul(R,Q)|0)+Math.imul(M,K)|0,o=o+Math.imul(M,Q)|0,r=r+Math.imul(P,$)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,ee)|0,r=r+Math.imul(k,ne)|0,i=(i=i+Math.imul(k,re)|0)+Math.imul(S,ne)|0,o=o+Math.imul(S,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,ae)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,ae)|0,r=r+Math.imul(v,ue)|0,i=(i=i+Math.imul(v,le)|0)+Math.imul(w,ue)|0,o=o+Math.imul(w,le)|0,r=r+Math.imul(A,de)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(g,de)|0,o=o+Math.imul(g,fe)|0;var ke=(l+(r=r+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(m,he)|0))<<13)|0;l=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(j,G),i=(i=Math.imul(j,Z))+Math.imul(z,G)|0,o=Math.imul(z,Z),r=r+Math.imul(D,K)|0,i=(i=i+Math.imul(D,Q)|0)+Math.imul(F,K)|0,o=o+Math.imul(F,Q)|0,r=r+Math.imul(R,$)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(O,ne)|0,o=o+Math.imul(O,re)|0,r=r+Math.imul(k,oe)|0,i=(i=i+Math.imul(k,ae)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,ae)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,le)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,le)|0,r=r+Math.imul(v,de)|0,i=(i=i+Math.imul(v,fe)|0)+Math.imul(w,de)|0,o=o+Math.imul(w,fe)|0;var Se=(l+(r=r+Math.imul(A,he)|0)|0)+((8191&(i=(i=i+Math.imul(A,me)|0)+Math.imul(g,he)|0))<<13)|0;l=((o=o+Math.imul(g,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(j,K),i=(i=Math.imul(j,Q))+Math.imul(z,K)|0,o=Math.imul(z,Q),r=r+Math.imul(D,$)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(F,$)|0,o=o+Math.imul(F,ee)|0,r=r+Math.imul(R,ne)|0,i=(i=i+Math.imul(R,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,ae)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,ae)|0,r=r+Math.imul(k,ue)|0,i=(i=i+Math.imul(k,le)|0)+Math.imul(S,ue)|0,o=o+Math.imul(S,le)|0,r=r+Math.imul(E,de)|0,i=(i=i+Math.imul(E,fe)|0)+Math.imul(T,de)|0,o=o+Math.imul(T,fe)|0;var Ie=(l+(r=r+Math.imul(v,he)|0)|0)+((8191&(i=(i=i+Math.imul(v,me)|0)+Math.imul(w,he)|0))<<13)|0;l=((o=o+Math.imul(w,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(j,$),i=(i=Math.imul(j,ee))+Math.imul(z,$)|0,o=Math.imul(z,ee),r=r+Math.imul(D,ne)|0,i=(i=i+Math.imul(D,re)|0)+Math.imul(F,ne)|0,o=o+Math.imul(F,re)|0,r=r+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,ae)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,le)|0)+Math.imul(O,ue)|0,o=o+Math.imul(O,le)|0,r=r+Math.imul(k,de)|0,i=(i=i+Math.imul(k,fe)|0)+Math.imul(S,de)|0,o=o+Math.imul(S,fe)|0;var Pe=(l+(r=r+Math.imul(E,he)|0)|0)+((8191&(i=(i=i+Math.imul(E,me)|0)+Math.imul(T,he)|0))<<13)|0;l=((o=o+Math.imul(T,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(j,ne),i=(i=Math.imul(j,re))+Math.imul(z,ne)|0,o=Math.imul(z,re),r=r+Math.imul(D,oe)|0,i=(i=i+Math.imul(D,ae)|0)+Math.imul(F,oe)|0,o=o+Math.imul(F,ae)|0,r=r+Math.imul(R,ue)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,le)|0,r=r+Math.imul(P,de)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(O,de)|0,o=o+Math.imul(O,fe)|0;var Oe=(l+(r=r+Math.imul(k,he)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(S,he)|0))<<13)|0;l=((o=o+Math.imul(S,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(j,oe),i=(i=Math.imul(j,ae))+Math.imul(z,oe)|0,o=Math.imul(z,ae),r=r+Math.imul(D,ue)|0,i=(i=i+Math.imul(D,le)|0)+Math.imul(F,ue)|0,o=o+Math.imul(F,le)|0,r=r+Math.imul(R,de)|0,i=(i=i+Math.imul(R,fe)|0)+Math.imul(M,de)|0,o=o+Math.imul(M,fe)|0;var Ne=(l+(r=r+Math.imul(P,he)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(O,he)|0))<<13)|0;l=((o=o+Math.imul(O,me)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,r=Math.imul(j,ue),i=(i=Math.imul(j,le))+Math.imul(z,ue)|0,o=Math.imul(z,le),r=r+Math.imul(D,de)|0,i=(i=i+Math.imul(D,fe)|0)+Math.imul(F,de)|0,o=o+Math.imul(F,fe)|0;var Re=(l+(r=r+Math.imul(R,he)|0)|0)+((8191&(i=(i=i+Math.imul(R,me)|0)+Math.imul(M,he)|0))<<13)|0;l=((o=o+Math.imul(M,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,r=Math.imul(j,de),i=(i=Math.imul(j,fe))+Math.imul(z,de)|0,o=Math.imul(z,fe);var Me=(l+(r=r+Math.imul(D,he)|0)|0)+((8191&(i=(i=i+Math.imul(D,me)|0)+Math.imul(F,he)|0))<<13)|0;l=((o=o+Math.imul(F,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Le=(l+(r=Math.imul(j,he))|0)+((8191&(i=(i=Math.imul(j,me))+Math.imul(z,he)|0))<<13)|0;return l=((o=Math.imul(z,me))+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,u[0]=ye,u[1]=Ae,u[2]=ge,u[3]=be,u[4]=ve,u[5]=we,u[6]=xe,u[7]=Ee,u[8]=Te,u[9]=Ce,u[10]=ke,u[11]=Se,u[12]=Ie,u[13]=Pe,u[14]=Oe,u[15]=Ne,u[16]=Re,u[17]=Me,u[18]=Le,0!==l&&(u[19]=l,n.length++),n};function y(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var a=i;i=0;for(var s=67108863&r,u=Math.min(o,t.length-1),l=Math.max(0,o-e.length+1);l<=u;l++){var c=o-l,d=(0|e.words[c])*(0|t.words[l]),f=67108863&d;s=67108863&(f=f+s|0),i+=(a=(a=a+(d/67108864|0)|0)+(f>>>26)|0)>>>26,a&=67108863}n.words[o]=s,r=a,a=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function A(e,t,n){return y(e,t,n)}Math.imul||(m=h),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):n<63?h(this,e,t):n<1024?y(this,e,t):A(this,e,t)},i.prototype.mul=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),A(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){var t=e<0;t&&(e=-e),n("number"==typeof e),n(e<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*e,a=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),t?this.ineg():this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=e.words[r]>>>i&1}return t}(e);if(0===t.length)return new i(1);for(var n=this,r=0;r<t.length&&0===t[r];r++,n=n.sqr());if(++r<t.length)for(var o=n.sqr();r<t.length;r++,o=o.sqr())0!==t[r]&&(n=n.mul(o));return n},i.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t<this.length;t++){var s=this.words[t]&o,u=(0|this.words[t])-s<<r;this.words[t]=u|a,a=s>>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},i.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var l=0;l<a;l++)u.words[l]=this.words[l];u.length=a}if(0===a);else if(this.length>a)for(this.length-=a,l=0;l<this.length;l++)this.words[l]=this.words[l+a];else this.words[0]=0,this.length=1;var c=0;for(l=this.length-1;l>=0&&(0!==c||l>=i);l--){var d=0|this.words[l];this.words[l]=c<<26-o|d>>>o,c=d&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},i.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var i,o,a=e.length+r;this._expand(a);var s=0;for(i=0;i<e.length;i++){o=(0|this.words[i+r])+s;var u=(0|e.words[i])*t;s=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),o=e,a=0|o.words[o.length-1];0!==(n=26-this._countBits(a))&&(o=o.ushln(n),r.iushln(n),a=0|o.words[o.length-1]);var s,u=r.length-o.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var l=0;l<s.length;l++)s.words[l]=0}var c=r.clone()._ishlnsubmul(o,1,u);0===c.negative&&(r=c,s&&(s.words[u]=1));for(var d=u-1;d>=0;d--){var f=67108864*(0|r.words[o.length+d])+(0|r.words[o.length+d-1]);for(f=Math.min(f/a|0,67108863),r._ishlnsubmul(o,f,d);0!==r.negative;)f--,r.negative=0,r._ishlnsubmul(o,1,d),r.isZero()||(r.negative^=1);s&&(s.words[d]=f)}return s&&s._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:s||null,mod:r}},i.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(o=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:o,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modrn(e.words[0]))}:this._wordDiv(e,t);var o,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%e;return t?-i:i},i.prototype.modn=function(e){return this.modrn(e)},i.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/e|0,r=o%e}return this._strip(),t?this.ineg():this},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var o=new i(1),a=new i(0),s=new i(0),u=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var c=r.clone(),d=t.clone();!t.isZero();){for(var f=0,p=1;0==(t.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(c),a.isub(d)),o.iushrn(1),a.iushrn(1);for(var h=0,m=1;0==(r.words[0]&m)&&h<26;++h,m<<=1);if(h>0)for(r.iushrn(h);h-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s),a.isub(u)):(r.isub(t),s.isub(o),u.isub(a))}return{a:s,b:u,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var o,a=new i(1),s=new i(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,c=1;0==(t.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,f=1;0==(r.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(r.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s)):(r.isub(t),s.isub(a))}return(o=0===t.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(e),o},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},i.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new T(e)},i.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function C(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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)}b.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},r(v,b),v.prototype.split=function(e,t){for(var n=4194303,r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var o=e.words[9];for(t.words[t.length++]=o&n,i=10;i<e.length;i++){var a=0|e.words[i];e.words[i-10]=(a&n)<<4|o>>>22,o=a}o>>>=22,e.words[i-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=0|e.words[n];t+=977*r,e.words[n]=67108863&t,t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},r(w,b),r(x,b),r(E,b),E.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=19*(0|e.words[n])+t,i=67108863&r;r>>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new w;else if("p192"===e)t=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new E}return g[e]=t,t},T.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(l(e,e.umod(this.m)._forceRed(this)),e)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},T.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);n(!o.isZero());var s=new i(1).toRed(this),u=s.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,o),f=this.pow(e,o.addn(1).iushrn(1)),p=this.pow(e,o),h=a;0!==p.cmp(s);){for(var m=p,y=0;0!==m.cmp(s);y++)m=m.redSqr();n(y<h);var A=this.pow(d,new i(1).iushln(h-y-1));f=f.redMul(A),d=A.redSqr(),p=p.redMul(d),h=y}return f},T.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},T.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(0===t.cmpn(1))return e.clone();var n=new Array(16);n[0]=new i(1).toRed(this),n[1]=e;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],e);var o=n[0],a=0,s=0,u=t.bitLength()%26;for(0===u&&(u=26),r=t.length-1;r>=0;r--){for(var l=t.words[r],c=u-1;c>=0;c--){var d=l>>c&1;o!==n[0]&&(o=this.sqr(o)),0!==d||0!==a?(a<<=1,a|=d,(4===++s||0===r&&0===c)&&(o=this.mul(o,n[a]),s=0,a=0)):s=0}u=26}return o},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new C(e)},r(C,T),C.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},C.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},C.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},C.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=n.isub(r).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},C.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,xh)}(Th);var Ch=Eh(Th.exports);let kh=!1,Sh=!1;const Ih={debug:1,default:2,info:2,warning:3,error:4,off:5};let Ph=Ih.default,Oh=null;const Nh=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(n){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var Rh,Mh;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(Rh||(Rh={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(Mh||(Mh={}));const Lh="0123456789abcdef";let Dh=class e{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const n=e.toLowerCase();null==Ih[n]&&this.throwArgumentError("invalid log level name","logLevel",e),Ph>Ih[n]||console.log.apply(console,t)}debug(...t){this._log(e.levels.DEBUG,t)}info(...t){this._log(e.levels.INFO,t)}warn(...t){this._log(e.levels.WARNING,t)}makeError(t,n,r){if(Sh)return this.makeError("censored error",n,{});n||(n=e.errors.UNKNOWN_ERROR),r||(r={});const i=[];Object.keys(r).forEach((e=>{const t=r[e];try{if(t instanceof Uint8Array){let n="";for(let e=0;e<t.length;e++)n+=Lh[t[e]>>4],n+=Lh[15&t[e]];i.push(e+"=Uint8Array(0x"+n+")")}else i.push(e+"="+JSON.stringify(t))}catch(t){i.push(e+"="+JSON.stringify(r[e].toString()))}})),i.push(`code=${n}`),i.push(`version=${this.version}`);const o=t;let a="";switch(n){case Mh.NUMERIC_FAULT:{a="NUMERIC_FAULT";const e=t;switch(e){case"overflow":case"underflow":case"division-by-zero":a+="-"+e;break;case"negative-power":case"negative-width":a+="-unsupported";break;case"unbound-bitwise-result":a+="-unbound-result"}break}case Mh.CALL_EXCEPTION:case Mh.INSUFFICIENT_FUNDS:case Mh.MISSING_NEW:case Mh.NONCE_EXPIRED:case Mh.REPLACEMENT_UNDERPRICED:case Mh.TRANSACTION_REPLACED:case Mh.UNPREDICTABLE_GAS_LIMIT:a=n}a&&(t+=" [ See: https://links.ethers.org/v5-errors-"+a+" ]"),i.length&&(t+=" ("+i.join(", ")+")");const s=new Error(t);return s.reason=o,s.code=n,Object.keys(r).forEach((function(e){s[e]=r[e]})),s}throwError(e,t,n){throw this.makeError(e,t,n)}throwArgumentError(t,n,r){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:n,value:r})}assert(e,t,n,r){e||this.throwError(t,n,r)}assertArgument(e,t,n,r){e||this.throwArgumentError(t,n,r)}checkNormalize(t){Nh&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Nh})}checkSafeUint53(t,n){"number"==typeof t&&(null==n&&(n="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(n,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(n,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,n,r){r=r?": "+r:"",t<n&&this.throwError("missing argument"+r,e.errors.MISSING_ARGUMENT,{count:t,expectedCount:n}),t>n&&this.throwError("too many arguments"+r,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:n})}checkNew(t,n){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:n.name})}checkAbstract(t,n){t===n?this.throwError("cannot instantiate abstract class "+JSON.stringify(n.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:n.name})}static globalLogger(){return Oh||(Oh=new e("logger/5.7.0")),Oh}static setCensorship(t,n){if(!t&&n&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),kh){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Sh=!!t,kh=!!n}static setLogLevel(t){const n=Ih[t.toLowerCase()];null!=n?Ph=n:e.globalLogger().warn("invalid log level - "+t)}static from(t){return new e(t)}};Dh.errors=Mh,Dh.levels=Rh;const Fh=new Dh("bytes/5.7.0");function Bh(e){return!!e.toHexString}function jh(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return jh(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function zh(e){return"number"==typeof e&&e==e&&e%1==0}function _h(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(!zh(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const n=e[t];if(!zh(n)||n<0||n>=256)return!1}return!0}function Uh(e,t){if(t||(t={}),"number"==typeof e){Fh.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),jh(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),Bh(e)&&(e=e.toHexString()),Wh(e)){let n=e.substring(2);n.length%2&&("left"===t.hexPad?n="0"+n:"right"===t.hexPad?n+="0":Fh.throwArgumentError("hex data is odd-length","value",e));const r=[];for(let e=0;e<n.length;e+=2)r.push(parseInt(n.substring(e,e+2),16));return jh(new Uint8Array(r))}return _h(e)?jh(new Uint8Array(e)):Fh.throwArgumentError("invalid arrayify value","value",e)}function Hh(e){const t=e.map((e=>Uh(e))),n=t.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(n);return t.reduce(((e,t)=>(r.set(t,e),e+t.length)),0),jh(r)}function Wh(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}const Vh="0123456789abcdef";function qh(e,t){if(t||(t={}),"number"==typeof e){Fh.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t=Vh[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),Bh(e))return e.toHexString();if(Wh(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":Fh.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(_h(e)){let t="0x";for(let n=0;n<e.length;n++){let r=e[n];t+=Vh[(240&r)>>4]+Vh[15&r]}return t}return Fh.throwArgumentError("invalid hexlify value","value",e)}function Xh(e,t,n){return"string"!=typeof e?e=qh(e):(!Wh(e)||e.length%2)&&Fh.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=n?"0x"+e.substring(t,2+2*n):"0x"+e.substring(t)}function Gh(e,t){for("string"!=typeof e?e=qh(e):Wh(e)||Fh.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&Fh.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}var Zh=Ch.BN;const Yh=new Dh("bignumber/5.7.0"),Kh={},Qh=9007199254740991;let Jh=!1;class $h{constructor(e,t){e!==Kh&&Yh.throwError("cannot call constructor directly; use BigNumber.from",Dh.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return tm(nm(this).fromTwos(e))}toTwos(e){return tm(nm(this).toTwos(e))}abs(){return"-"===this._hex[0]?$h.from(this._hex.substring(1)):this}add(e){return tm(nm(this).add(nm(e)))}sub(e){return tm(nm(this).sub(nm(e)))}div(e){return $h.from(e).isZero()&&rm("division-by-zero","div"),tm(nm(this).div(nm(e)))}mul(e){return tm(nm(this).mul(nm(e)))}mod(e){const t=nm(e);return t.isNeg()&&rm("division-by-zero","mod"),tm(nm(this).umod(t))}pow(e){const t=nm(e);return t.isNeg()&&rm("negative-power","pow"),tm(nm(this).pow(t))}and(e){const t=nm(e);return(this.isNegative()||t.isNeg())&&rm("unbound-bitwise-result","and"),tm(nm(this).and(t))}or(e){const t=nm(e);return(this.isNegative()||t.isNeg())&&rm("unbound-bitwise-result","or"),tm(nm(this).or(t))}xor(e){const t=nm(e);return(this.isNegative()||t.isNeg())&&rm("unbound-bitwise-result","xor"),tm(nm(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&rm("negative-width","mask"),tm(nm(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&rm("negative-width","shl"),tm(nm(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&rm("negative-width","shr"),tm(nm(this).shrn(e))}eq(e){return nm(this).eq(nm(e))}lt(e){return nm(this).lt(nm(e))}lte(e){return nm(this).lte(nm(e))}gt(e){return nm(this).gt(nm(e))}gte(e){return nm(this).gte(nm(e))}isNegative(){return"-"===this._hex[0]}isZero(){return nm(this).isZero()}toNumber(){try{return nm(this).toNumber()}catch(e){rm("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return Yh.throwError("this platform does not support BigInt",Dh.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?Jh||(Jh=!0,Yh.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?Yh.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Dh.errors.UNEXPECTED_ARGUMENT,{}):Yh.throwError("BigNumber.toString does not accept parameters",Dh.errors.UNEXPECTED_ARGUMENT,{})),nm(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof $h)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new $h(Kh,em(e)):e.match(/^-?[0-9]+$/)?new $h(Kh,em(new Zh(e))):Yh.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&rm("underflow","BigNumber.from",e),(e>=Qh||e<=-Qh)&&rm("overflow","BigNumber.from",e),$h.from(String(e));const t=e;if("bigint"==typeof t)return $h.from(t.toString());if(_h(t))return $h.from(qh(t));if(t)if(t.toHexString){const e=t.toHexString();if("string"==typeof e)return $h.from(e)}else{let e=t._hex;if(null==e&&"BigNumber"===t.type&&(e=t.hex),"string"==typeof e&&(Wh(e)||"-"===e[0]&&Wh(e.substring(1))))return $h.from(e)}return Yh.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function em(e){if("string"!=typeof e)return em(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&Yh.throwArgumentError("invalid hex","value",e),"0x00"===(e=em(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function tm(e){return $h.from(em(e))}function nm(e){const t=$h.from(e).toHexString();return"-"===t[0]?new Zh("-"+t.substring(3),16):new Zh(t.substring(2),16)}function rm(e,t,n){const r={fault:e,operation:t};return null!=n&&(r.value=n),Yh.throwError(e,Dh.errors.NUMERIC_FAULT,r)}var im=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const om=new Dh("properties/5.7.0");function am(e,t,n){Object.defineProperty(e,t,{enumerable:!0,value:n,writable:!1})}function sm(e,t){for(let n=0;n<32;n++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function um(e){return im(this,void 0,void 0,(function*(){const t=Object.keys(e).map((t=>{const n=e[t];return Promise.resolve(n).then((e=>({key:t,value:e})))}));return(yield Promise.all(t)).reduce(((e,t)=>(e[t.key]=t.value,e)),{})}))}function lm(e){const t={};for(const n in e)t[n]=e[n];return t}const cm={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function dm(e){if(null==e||cm[typeof e])return!0;if(Array.isArray(e)||"object"==typeof e){if(!Object.isFrozen(e))return!1;const t=Object.keys(e);for(let n=0;n<t.length;n++){let r=null;try{r=e[t[n]]}catch(e){continue}if(!dm(r))return!1}return!0}return om.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function fm(e){if(dm(e))return e;if(Array.isArray(e))return Object.freeze(e.map((e=>pm(e))));if("object"==typeof e){const t={};for(const n in e){const r=e[n];void 0!==r&&am(t,n,pm(r))}return t}return om.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function pm(e){return fm(e)}class hm{constructor(e){for(const t in e)this[t]=pm(e[t])}}const mm="abi/5.7.0",ym=new Dh(mm),Am={};let gm={calldata:!0,memory:!0,storage:!0},bm={calldata:!0,memory:!0};function vm(e,t){if("bytes"===e||"string"===e){if(gm[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&bm[t])return!0;return(gm[t]||"payable"===t)&&ym.throwArgumentError("invalid modifier","name",t),!1}function wm(e,t){for(let n in t)am(e,n,t[n])}const xm=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),Em=new RegExp(/^(.*)\[([0-9]*)\]$/);class Tm{constructor(e,t){e!==Am&&ym.throwError("use fromString",Dh.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),wm(this,t);let n=this.type.match(Em);wm(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:Tm.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((t=>JSON.parse(t.format(e))))),JSON.stringify(t)}let t="";return"array"===this.baseType?(t+=this.arrayChildren.format(e),t+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==xm.sighash&&(t+=this.type),t+="("+this.components.map((t=>t.format(e))).join(e===xm.full?", ":",")+")"):t+=this.type,e!==xm.sighash&&(!0===this.indexed&&(t+=" indexed"),e===xm.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?Tm.fromString(e,t):Tm.fromObject(e)}static fromObject(e){return Tm.isParamType(e)?e:new Tm(Am,{name:e.name||null,type:Dm(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(Tm.fromObject):null})}static fromString(e,t){return function(e){return Tm.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(e,t){let n=e;function r(t){ym.throwArgumentError(`unexpected character at position ${t}`,"param",e)}function i(e){let n={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(n.indexed=!1),n}e=e.replace(/\s/g," ");let o={type:"",name:"",state:{allowType:!0}},a=o;for(let n=0;n<e.length;n++){let o=e[n];switch(o){case"(":a.state.allowType&&""===a.type?a.type="tuple":a.state.allowParams||r(n),a.state.allowType=!1,a.type=Dm(a.type),a.components=[i(a)],a=a.components[0];break;case")":delete a.state,"indexed"===a.name&&(t||r(n),a.indexed=!0,a.name=""),vm(a.type,a.name)&&(a.name=""),a.type=Dm(a.type);let e=a;a=a.parent,a||r(n),delete e.parent,a.state.allowParams=!1,a.state.allowName=!0,a.state.allowArray=!0;break;case",":delete a.state,"indexed"===a.name&&(t||r(n),a.indexed=!0,a.name=""),vm(a.type,a.name)&&(a.name=""),a.type=Dm(a.type);let s=i(a.parent);a.parent.components.push(s),delete a.parent,a=s;break;case" ":a.state.allowType&&""!==a.type&&(a.type=Dm(a.type),delete a.state.allowType,a.state.allowName=!0,a.state.allowParams=!0),a.state.allowName&&""!==a.name&&("indexed"===a.name?(t||r(n),a.indexed&&r(n),a.indexed=!0,a.name=""):vm(a.type,a.name)?a.name="":a.state.allowName=!1);break;case"[":a.state.allowArray||r(n),a.type+=o,a.state.allowArray=!1,a.state.allowName=!1,a.state.readArray=!0;break;case"]":a.state.readArray||r(n),a.type+=o,a.state.readArray=!1,a.state.allowArray=!0,a.state.allowName=!0;break;default:a.state.allowType?(a.type+=o,a.state.allowParams=!0,a.state.allowArray=!0):a.state.allowName?(a.name+=o,delete a.state.allowArray):a.state.readArray?a.type+=o:r(n)}}return a.parent&&ym.throwArgumentError("unexpected eof","param",e),delete o.state,"indexed"===a.name?(t||r(n.length-7),a.indexed&&r(n.length-7),a.indexed=!0,a.name=""):vm(a.type,a.name)&&(a.name=""),o.type=Dm(o.type),o}(e,!!t))}static isParamType(e){return!(null==e||!e._isParamType)}}function Cm(e,t){return function(e){e=e.trim();let t=[],n="",r=0;for(let i=0;i<e.length;i++){let o=e[i];","===o&&0===r?(t.push(n),n=""):(n+=o,"("===o?r++:")"===o&&(r--,-1===r&&ym.throwArgumentError("unbalanced parenthesis","value",e)))}n&&t.push(n);return t}(e).map((e=>Tm.fromString(e,t)))}let km=class e{constructor(e,t){e!==Am&&ym.throwError("use a static from method",Dh.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),wm(this,t),this._isFragment=!0,Object.freeze(this)}static from(t){return e.isFragment(t)?t:"string"==typeof t?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isFragment(t))return t;switch(t.type){case"function":return Rm.fromObject(t);case"event":return Sm.fromObject(t);case"constructor":return Nm.fromObject(t);case"error":return Lm.fromObject(t);case"fallback":case"receive":return null}return ym.throwArgumentError("invalid fragment object","value",t)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Sm.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?Rm.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?Nm.fromString(e.trim()):"error"===e.split(" ")[0]?Lm.fromString(e.substring(5).trim()):ym.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}};class Sm extends km{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==xm.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ",e!==xm.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?Sm.fromString(e):Sm.fromObject(e)}static fromObject(e){if(Sm.isEventFragment(e))return e;"event"!==e.type&&ym.throwArgumentError("invalid event object","value",e);const t={name:Bm(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(Tm.fromObject):[],type:"event"};return new Sm(Am,t)}static fromString(e){let t=e.match(jm);t||ym.throwArgumentError("invalid event string","value",e);let n=!1;return t[3].split(" ").forEach((e=>{switch(e.trim()){case"anonymous":n=!0;break;case"":break;default:ym.warn("unknown modifier: "+e)}})),Sm.fromObject({name:t[1].trim(),anonymous:n,inputs:Cm(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function Im(e,t){t.gas=null;let n=e.split("@");return 1!==n.length?(n.length>2&&ym.throwArgumentError("invalid human-readable ABI signature","value",e),n[1].match(/^[0-9]+$/)||ym.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=$h.from(n[1]),n[0]):e}function Pm(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function Om(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&ym.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&ym.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||ym.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&ym.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&ym.throwArgumentError("unable to determine stateMutability","value",e),t}class Nm extends km{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});e===xm.sighash&&ym.throwError("cannot format a constructor for sighash",Dh.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?Nm.fromString(e):Nm.fromObject(e)}static fromObject(e){if(Nm.isConstructorFragment(e))return e;"constructor"!==e.type&&ym.throwArgumentError("invalid constructor object","value",e);let t=Om(e);t.constant&&ym.throwArgumentError("constructor cannot be constant","value",e);const n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(Tm.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?$h.from(e.gas):null};return new Nm(Am,n)}static fromString(e){let t={type:"constructor"},n=(e=Im(e,t)).match(jm);return n&&"constructor"===n[1].trim()||ym.throwArgumentError("invalid constructor string","value",e),t.inputs=Cm(n[2].trim(),!1),Pm(n[3].trim(),t),Nm.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class Rm extends Nm{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((t=>JSON.parse(t.format(e)))),outputs:this.outputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==xm.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ",e!==xm.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((t=>t.format(e))).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?Rm.fromString(e):Rm.fromObject(e)}static fromObject(e){if(Rm.isFunctionFragment(e))return e;"function"!==e.type&&ym.throwArgumentError("invalid function object","value",e);let t=Om(e);const n={type:e.type,name:Bm(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(Tm.fromObject):[],outputs:e.outputs?e.outputs.map(Tm.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?$h.from(e.gas):null};return new Rm(Am,n)}static fromString(e){let t={type:"function"},n=(e=Im(e,t)).split(" returns ");n.length>2&&ym.throwArgumentError("invalid function string","value",e);let r=n[0].match(jm);if(r||ym.throwArgumentError("invalid function signature","value",e),t.name=r[1].trim(),t.name&&Bm(t.name),t.inputs=Cm(r[2],!1),Pm(r[3].trim(),t),n.length>1){let r=n[1].match(jm);""==r[1].trim()&&""==r[3].trim()||ym.throwArgumentError("unexpected tokens","value",e),t.outputs=Cm(r[2],!1)}else t.outputs=[];return Rm.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function Mm(e){const t=e.format();return"Error(string)"!==t&&"Panic(uint256)"!==t||ym.throwArgumentError(`cannot specify user defined ${t} error`,"fragment",e),e}class Lm extends km{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==xm.sighash&&(t+="error "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ",t.trim()}static from(e){return"string"==typeof e?Lm.fromString(e):Lm.fromObject(e)}static fromObject(e){if(Lm.isErrorFragment(e))return e;"error"!==e.type&&ym.throwArgumentError("invalid error object","value",e);const t={type:e.type,name:Bm(e.name),inputs:e.inputs?e.inputs.map(Tm.fromObject):[]};return Mm(new Lm(Am,t))}static fromString(e){let t={type:"error"},n=e.match(jm);return n||ym.throwArgumentError("invalid error signature","value",e),t.name=n[1].trim(),t.name&&Bm(t.name),t.inputs=Cm(n[2],!1),Mm(Lm.fromObject(t))}static isErrorFragment(e){return e&&e._isFragment&&"error"===e.type}}function Dm(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const Fm=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function Bm(e){return e&&e.match(Fm)||ym.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const jm=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const zm=new Dh(mm);class _m{constructor(e,t,n,r){this.name=e,this.type=t,this.localName=n,this.dynamic=r}_throwError(e,t){zm.throwArgumentError(e,this.localName,t)}}class Um{constructor(e){am(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return function(e){let t="0x";return e.forEach((e=>{t+=qh(e).substring(2)})),t}(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(Hh(e._data))}writeBytes(e){let t=Uh(e);const n=t.length%this.wordSize;return n&&(t=Hh([t,this._padding.slice(n)])),this._writeData(t)}_getValue(e){let t=Uh($h.from(e));return t.length>this.wordSize&&zm.throwError("value out-of-bounds",Dh.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=Hh([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,t=>{this._data[e]=this._getValue(t)}}}class Hm{constructor(e,t,n,r){am(this,"_data",Uh(e)),am(this,"wordSize",t||32),am(this,"_coerceFunc",n),am(this,"allowLoose",r),this._offset=0}get data(){return qh(this._data)}get consumed(){return this._offset}static coerce(e,t){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):Hm.coerce(e,t)}_peekBytes(e,t,n){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+t<=this._data.length?r=t:zm.throwError("data out-of-bounds",Dh.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(e){return new Hm(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let n=this._peekBytes(0,e,!!t);return this._offset+=n.length,n.slice(0,e)}readValue(){return $h.from(this.readBytes(this.wordSize))}}var Wm={exports:{}};
|
|
9
|
+
*/!function(e){!function(){var t="input is invalid type",n="object"==typeof window,r=n?window:{};r.JS_SHA3_NO_WINDOW&&(n=!1);var i=!n&&"object"==typeof self;!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node?r=ze:i&&(r=self);var o=!r.JS_SHA3_NO_COMMON_JS&&e.exports,a=!r.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,s="0123456789abcdef".split(""),u=[4,1024,262144,67108864],l=[0,8,16,24],c=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],d=[224,256,384,512],f=[128,256],p=["hex","buffer","arrayBuffer","array","digest"],h={128:168,256:136};!r.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!a||!r.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var m=function(e,t,n){return function(r){return new O(e,t,e).update(r)[n]()}},y=function(e,t,n){return function(r,i){return new O(e,t,i).update(r)[n]()}},A=function(e,t,n){return function(t,r,i,o){return x["cshake"+e].update(t,r,i,o)[n]()}},g=function(e,t,n){return function(t,r,i,o){return x["kmac"+e].update(t,r,i,o)[n]()}},b=function(e,t,n,r){for(var i=0;i<p.length;++i){var o=p[i];e[o]=t(n,r,o)}return e},v=function(e,t){var n=m(e,t,"hex");return n.create=function(){return new O(e,t,e)},n.update=function(e){return n.create().update(e)},b(n,m,e,t)},w=[{name:"keccak",padding:[1,256,65536,16777216],bits:d,createMethod:v},{name:"sha3",padding:[6,1536,393216,100663296],bits:d,createMethod:v},{name:"shake",padding:[31,7936,2031616,520093696],bits:f,createMethod:function(e,t){var n=y(e,t,"hex");return n.create=function(n){return new O(e,t,n)},n.update=function(e,t){return n.create(t).update(e)},b(n,y,e,t)}},{name:"cshake",padding:u,bits:f,createMethod:function(e,t){var n=h[e],r=A(e,0,"hex");return r.create=function(r,i,o){return i||o?new O(e,t,r).bytepad([i,o],n):x["shake"+e].create(r)},r.update=function(e,t,n,i){return r.create(t,n,i).update(e)},b(r,A,e,t)}},{name:"kmac",padding:u,bits:f,createMethod:function(e,t){var n=h[e],r=g(e,0,"hex");return r.create=function(r,i,o){return new N(e,t,i).bytepad(["KMAC",o],n).bytepad([r],n)},r.update=function(e,t,n,i){return r.create(e,n,i).update(t)},b(r,g,e,t)}}],x={},E=[],T=0;T<w.length;++T)for(var C=w[T],k=C.bits,S=0;S<k.length;++S){var I=C.name+"_"+k[S];if(E.push(I),x[I]=C.createMethod(k[S],C.padding),"sha3"!==C.name){var P=C.name+k[S];E.push(P),x[P]=x[I]}}function O(e,t,n){this.blocks=[],this.s=[],this.padding=t,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(31&n)>>3;for(var r=0;r<50;++r)this.s[r]=0}function N(e,t,n){O.call(this,e,t,n)}O.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(a&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||a&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}for(var i,o,s=this.blocks,u=this.byteCount,c=e.length,d=this.blockCount,f=0,p=this.s;f<c;){if(this.reset)for(this.reset=!1,s[0]=this.block,i=1;i<d+1;++i)s[i]=0;if(n)for(i=this.start;f<c&&i<u;++f)s[i>>2]|=e[f]<<l[3&i++];else for(i=this.start;f<c&&i<u;++f)(o=e.charCodeAt(f))<128?s[i>>2]|=o<<l[3&i++]:o<2048?(s[i>>2]|=(192|o>>6)<<l[3&i++],s[i>>2]|=(128|63&o)<<l[3&i++]):o<55296||o>=57344?(s[i>>2]|=(224|o>>12)<<l[3&i++],s[i>>2]|=(128|o>>6&63)<<l[3&i++],s[i>>2]|=(128|63&o)<<l[3&i++]):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++f)),s[i>>2]|=(240|o>>18)<<l[3&i++],s[i>>2]|=(128|o>>12&63)<<l[3&i++],s[i>>2]|=(128|o>>6&63)<<l[3&i++],s[i>>2]|=(128|63&o)<<l[3&i++]);if(this.lastByteIndex=i,i>=u){for(this.start=i-u,this.block=s[d],i=0;i<d;++i)p[i]^=s[i];R(p),this.reset=!0}else this.start=i}return this},O.prototype.encode=function(e,t){var n=255&e,r=1,i=[n];for(n=255&(e>>=8);n>0;)i.unshift(n),n=255&(e>>=8),++r;return t?i.push(r):i.unshift(r),this.update(i),i.length},O.prototype.encodeString=function(e){var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(a&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||a&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}var i=0,o=e.length;if(n)i=o;else for(var s=0;s<e.length;++s){var u=e.charCodeAt(s);u<128?i+=1:u<2048?i+=2:u<55296||u>=57344?i+=3:(u=65536+((1023&u)<<10|1023&e.charCodeAt(++s)),i+=4)}return i+=this.encode(8*i),this.update(e),i},O.prototype.bytepad=function(e,t){for(var n=this.encode(t),r=0;r<e.length;++r)n+=this.encodeString(e[r]);var i=t-n%t,o=[];return o.length=i,this.update(o),this},O.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,n=this.blockCount,r=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[n],t=1;t<n+1;++t)e[t]=0;for(e[n-1]|=2147483648,t=0;t<n;++t)r[t]^=e[t];R(r)}},O.prototype.toString=O.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,u="";a<r;){for(o=0;o<t&&a<r;++o,++a)e=n[o],u+=s[e>>4&15]+s[15&e]+s[e>>12&15]+s[e>>8&15]+s[e>>20&15]+s[e>>16&15]+s[e>>28&15]+s[e>>24&15];a%t==0&&(R(n),o=0)}return i&&(e=n[o],u+=s[e>>4&15]+s[15&e],i>1&&(u+=s[e>>12&15]+s[e>>8&15]),i>2&&(u+=s[e>>20&15]+s[e>>16&15])),u},O.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(r+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a<r;){for(o=0;o<t&&a<r;++o,++a)u[a]=n[o];a%t==0&&R(n)}return i&&(u[o]=n[o],e=e.slice(0,s)),e},O.prototype.buffer=O.prototype.arrayBuffer,O.prototype.digest=O.prototype.array=function(){this.finalize();for(var e,t,n=this.blockCount,r=this.s,i=this.outputBlocks,o=this.extraBytes,a=0,s=0,u=[];s<i;){for(a=0;a<n&&s<i;++a,++s)e=s<<2,t=r[a],u[e]=255&t,u[e+1]=t>>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%n==0&&R(r)}return o&&(e=s<<2,t=r[a],u[e]=255&t,o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u},N.prototype=new O,N.prototype.finalize=function(){return this.encode(this.outputBits,!0),O.prototype.finalize.call(this)};var R=function(e){var t,n,r,i,o,a,s,u,l,d,f,p,h,m,y,A,g,b,v,w,x,E,T,C,k,S,I,P,O,N,R,M,L,D,F,B,j,z,_,U,H,W,V,q,X,G,Z,Y,K,Q,J,$,ee,te,ne,re,ie,oe,ae,se,ue,le,ce;for(r=0;r<48;r+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],t=(p=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|s>>>31),n=(h=e[9]^e[19]^e[29]^e[39]^e[49])^(s<<1|a>>>31),e[0]^=t,e[1]^=n,e[10]^=t,e[11]^=n,e[20]^=t,e[21]^=n,e[30]^=t,e[31]^=n,e[40]^=t,e[41]^=n,t=i^(u<<1|l>>>31),n=o^(l<<1|u>>>31),e[2]^=t,e[3]^=n,e[12]^=t,e[13]^=n,e[22]^=t,e[23]^=n,e[32]^=t,e[33]^=n,e[42]^=t,e[43]^=n,t=a^(d<<1|f>>>31),n=s^(f<<1|d>>>31),e[4]^=t,e[5]^=n,e[14]^=t,e[15]^=n,e[24]^=t,e[25]^=n,e[34]^=t,e[35]^=n,e[44]^=t,e[45]^=n,t=u^(p<<1|h>>>31),n=l^(h<<1|p>>>31),e[6]^=t,e[7]^=n,e[16]^=t,e[17]^=n,e[26]^=t,e[27]^=n,e[36]^=t,e[37]^=n,e[46]^=t,e[47]^=n,t=d^(i<<1|o>>>31),n=f^(o<<1|i>>>31),e[8]^=t,e[9]^=n,e[18]^=t,e[19]^=n,e[28]^=t,e[29]^=n,e[38]^=t,e[39]^=n,e[48]^=t,e[49]^=n,m=e[0],y=e[1],G=e[11]<<4|e[10]>>>28,Z=e[10]<<4|e[11]>>>28,P=e[20]<<3|e[21]>>>29,O=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,W=e[40]<<18|e[41]>>>14,V=e[41]<<18|e[40]>>>14,D=e[2]<<1|e[3]>>>31,F=e[3]<<1|e[2]>>>31,A=e[13]<<12|e[12]>>>20,g=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,K=e[23]<<10|e[22]>>>22,N=e[33]<<13|e[32]>>>19,R=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,ne=e[4]<<30|e[5]>>>2,B=e[14]<<6|e[15]>>>26,j=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,v=e[24]<<11|e[25]>>>21,Q=e[34]<<15|e[35]>>>17,J=e[35]<<15|e[34]>>>17,M=e[45]<<29|e[44]>>>3,L=e[44]<<29|e[45]>>>3,C=e[6]<<28|e[7]>>>4,k=e[7]<<28|e[6]>>>4,re=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,z=e[26]<<25|e[27]>>>7,_=e[27]<<25|e[26]>>>7,w=e[36]<<21|e[37]>>>11,x=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,X=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,I=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,U=e[38]<<8|e[39]>>>24,H=e[39]<<8|e[38]>>>24,E=e[48]<<14|e[49]>>>18,T=e[49]<<14|e[48]>>>18,e[0]=m^~A&b,e[1]=y^~g&v,e[10]=C^~S&P,e[11]=k^~I&O,e[20]=D^~B&z,e[21]=F^~j&_,e[30]=q^~G&Y,e[31]=X^~Z&K,e[40]=te^~re&oe,e[41]=ne^~ie&ae,e[2]=A^~b&w,e[3]=g^~v&x,e[12]=S^~P&N,e[13]=I^~O&R,e[22]=B^~z&U,e[23]=j^~_&H,e[32]=G^~Y&Q,e[33]=Z^~K&J,e[42]=re^~oe&se,e[43]=ie^~ae&ue,e[4]=b^~w&E,e[5]=v^~x&T,e[14]=P^~N&M,e[15]=O^~R&L,e[24]=z^~U&W,e[25]=_^~H&V,e[34]=Y^~Q&$,e[35]=K^~J&ee,e[44]=oe^~se&le,e[45]=ae^~ue&ce,e[6]=w^~E&m,e[7]=x^~T&y,e[16]=N^~M&C,e[17]=R^~L&k,e[26]=U^~W&D,e[27]=H^~V&F,e[36]=Q^~$&q,e[37]=J^~ee&X,e[46]=se^~le&te,e[47]=ue^~ce&ne,e[8]=E^~m&A,e[9]=T^~y&g,e[18]=M^~C&S,e[19]=L^~k&I,e[28]=W^~D&B,e[29]=V^~F&j,e[38]=$^~q&G,e[39]=ee^~X&Z,e[48]=le^~te&re,e[49]=ce^~ne&ie,e[0]^=c[r],e[1]^=c[r+1]};if(o)e.exports=x;else for(T=0;T<E.length;++T)r[E[T]]=x[E[T]]}()}(Br);var jr=_e(Br.exports);function zr(e){return"0x"+jr.keccak_256(cn(e))}var _r=Object.freeze({__proto__:null,keccak256:zr});const Ur=new tn("rlp/5.7.0");function Hr(e){const t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function Wr(e,t,n){let r=0;for(let i=0;i<n;i++)r=256*r+e[t+i];return r}function Vr(e){if(Array.isArray(e)){let t=[];if(e.forEach((function(e){t=t.concat(Vr(e))})),t.length<=55)return t.unshift(192+t.length),t;const n=Hr(t.length);return n.unshift(247+n.length),n.concat(t)}sn(e)||Ur.throwArgumentError("RLP object must be BytesLike","object",e);const t=Array.prototype.slice.call(cn(e));if(1===t.length&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const n=Hr(t.length);return n.unshift(183+n.length),n.concat(t)}function qr(e){return yn(Vr(e))}function Xr(e,t,n,r){const i=[];for(;n<t+1+r;){const o=Gr(e,n);i.push(o.result),(n+=o.consumed)>t+1+r&&Ur.throwError("child data too short",tn.errors.BUFFER_OVERRUN,{})}return{consumed:1+r,result:i}}function Gr(e,t){if(0===e.length&&Ur.throwError("data too short",tn.errors.BUFFER_OVERRUN,{}),e[t]>=248){const n=e[t]-247;t+1+n>e.length&&Ur.throwError("data short segment too short",tn.errors.BUFFER_OVERRUN,{});const r=Wr(e,t+1,n);return t+1+n+r>e.length&&Ur.throwError("data long segment too short",tn.errors.BUFFER_OVERRUN,{}),Xr(e,t,t+1+n,n+r)}if(e[t]>=192){const n=e[t]-192;return t+1+n>e.length&&Ur.throwError("data array too short",tn.errors.BUFFER_OVERRUN,{}),Xr(e,t,t+1,n)}if(e[t]>=184){const n=e[t]-183;t+1+n>e.length&&Ur.throwError("data array too short",tn.errors.BUFFER_OVERRUN,{});const r=Wr(e,t+1,n);t+1+n+r>e.length&&Ur.throwError("data array too short",tn.errors.BUFFER_OVERRUN,{});return{consumed:1+n+r,result:yn(e.slice(t+1+n,t+1+n+r))}}if(e[t]>=128){const n=e[t]-128;t+1+n>e.length&&Ur.throwError("data too short",tn.errors.BUFFER_OVERRUN,{});return{consumed:1+n,result:yn(e.slice(t+1,t+1+n))}}return{consumed:1,result:yn(e[t])}}function Zr(e){const t=cn(e),n=Gr(t,0);return n.consumed!==t.length&&Ur.throwArgumentError("invalid rlp data","data",e),n.result}var Yr=Object.freeze({__proto__:null,decode:Zr,encode:qr});const Kr=new tn("address/5.7.0");function Qr(e){hn(e,20)||Kr.throwArgumentError("invalid address","address",e);const t=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let e=0;e<40;e++)n[e]=t[e].charCodeAt(0);const r=cn(zr(n));for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&r[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}const Jr={};for(let e=0;e<10;e++)Jr[String(e)]=String(e);for(let e=0;e<26;e++)Jr[String.fromCharCode(65+e)]=String(10+e);const $r=Math.floor(function(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}(9007199254740991));function ei(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((e=>Jr[e])).join("");for(;t.length>=$r;){let e=t.substring(0,$r);t=parseInt(e,10)%97+t.substring(e.length)}let n=String(98-parseInt(t,10)%97);for(;n.length<2;)n="0"+n;return n}function ti(e){let t=null;if("string"!=typeof e&&Kr.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=Qr(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Kr.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==ei(e)&&Kr.throwArgumentError("bad icap checksum","address",e),n=e.substring(4),t=new Sn(n,36).toString(16);t.length<40;)t="0"+t;t=Qr("0x"+t)}else Kr.throwArgumentError("invalid address","address",e);var n;return t}function ni(e){try{return ti(e),!0}catch(e){}return!1}function ri(e){let t=(n=ti(e).substring(2),new Sn(n,16).toString(36)).toUpperCase();for(var n;t.length<30;)t="0"+t;return"XE"+ei("XE00"+t)+t}function ii(e){let t=null;try{t=ti(e.from)}catch(t){Kr.throwArgumentError("missing from address","transaction",e)}return ti(gn(zr(qr([t,fn(cn(Rn.from(e.nonce).toHexString()))])),12))}function oi(e,t,n){return 32!==An(t)&&Kr.throwArgumentError("salt must be 32 bytes","salt",t),32!==An(n)&&Kr.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),ti(gn(zr(dn(["0xff",ti(e),t,n])),12))}var ai=Object.freeze({__proto__:null,getAddress:ti,getContractAddress:ii,getCreate2Address:oi,getIcapAddress:ri,isAddress:ni});let si=class extends Dr{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){try{t=ti(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return ti(xn(e.readValue().toHexString(),20))}},ui=class extends Dr{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}};const li=new tn(lr);function ci(e,t,n){let r=null;if(Array.isArray(n))r=n;else if(n&&"object"==typeof n){let e={};r=t.map((t=>{const r=t.localName;return r||li.throwError("cannot encode object for signature with missing names",tn.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]&&li.throwError("cannot encode object for signature with duplicate names",tn.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]=!0,n[r]}))}else li.throwArgumentError("invalid tuple value","tuple",n);t.length!==r.length&&li.throwArgumentError("types/value length mismatch","tuple",n);let i=new Fr(e.wordSize),o=new Fr(e.wordSize),a=[];t.forEach(((e,t)=>{let n=r[t];if(e.dynamic){let t=o.length;e.encode(o,n);let r=i.writeUpdatableValue();a.push((e=>{r(e+t)}))}else e.encode(i,n)})),a.forEach((e=>{e(i.length)}));let s=e.appendWriter(i);return s+=e.appendWriter(o),s}function di(e,t){let n=[],r=e.subReader(0);t.forEach((t=>{let i=null;if(t.dynamic){let n=e.readValue(),o=r.subReader(n.toNumber());try{i=t.decode(o)}catch(e){if(e.code===tn.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if(e.code===tn.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&n.push(i)}));const i=t.reduce(((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e}),{});t.forEach(((e,t)=>{let r=e.localName;if(!r||1!==i[r])return;if("length"===r&&(r="_length"),null!=n[r])return;const o=n[t];o instanceof Error?Object.defineProperty(n,r,{enumerable:!0,get:()=>{throw o}}):n[r]=o}));for(let e=0;e<n.length;e++){const t=n[e];t instanceof Error&&Object.defineProperty(n,e,{enumerable:!0,get:()=>{throw t}})}return Object.freeze(n)}let fi=class extends Dr{constructor(e,t,n){super("array",e.type+"["+(t>=0?t:"")+"]",n,-1===t||e.dynamic),this.coder=e,this.length=t}defaultValue(){const e=this.coder.defaultValue(),t=[];for(let n=0;n<this.length;n++)t.push(e);return t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let n=this.length;-1===n&&(n=t.length,e.writeValue(t.length)),li.checkArgumentCount(t.length,n,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let e=0;e<t.length;e++)r.push(this.coder);return ci(e,r,t)}decode(e){let t=this.length;-1===t&&(t=e.readValue().toNumber(),32*t>e._data.length&&li.throwError("insufficient data length",tn.errors.BUFFER_OVERRUN,{length:e._data.length,count:t}));let n=[];for(let e=0;e<t;e++)n.push(new ui(this.coder));return e.coerce(this.name,di(e,n))}},pi=class extends Dr{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){return e.writeValue(t?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}},hi=class extends Dr{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=cn(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}},mi=class extends hi{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,yn(super.decode(e)))}},yi=class extends Dr{constructor(e,t){let n="bytes"+String(e);super(n,n,t,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let n=cn(t);return n.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(n)}decode(e){return e.coerce(this.name,yn(e.readBytes(this.size)))}},Ai=class extends Dr{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}};const gi="0x0000000000000000000000000000000000000000",bi=Rn.from(-1),vi=Rn.from(0),wi=Rn.from(1),xi=Rn.from(2),Ei=Rn.from("1000000000000000000"),Ti=Rn.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ci=Rn.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),ki=Rn.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Si="0x0000000000000000000000000000000000000000000000000000000000000000";var Ii=Object.freeze({__proto__:null,AddressZero:gi,EtherSymbol:"Ξ",HashZero:Si,MaxInt256:ki,MaxUint256:Ti,MinInt256:Ci,NegativeOne:bi,One:wi,Two:xi,WeiPerEther:Ei,Zero:vi});let Pi=class extends Dr{constructor(e,t,n){const r=(t?"int":"uint")+8*e;super(r,r,n,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let n=Rn.from(t),r=Ti.mask(8*e.wordSize);if(this.signed){let e=r.mask(8*this.size-1);(n.gt(e)||n.lt(e.add(wi).mul(bi)))&&this._throwError("value out-of-bounds",t)}else(n.lt(vi)||n.gt(r.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return n=n.toTwos(8*this.size).mask(8*this.size),this.signed&&(n=n.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(n)}decode(e){let t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}};const Oi=new tn("strings/5.7.0");var Ni,Ri;function Mi(e,t,n,r,i){if(e===Ri.BAD_PREFIX||e===Ri.UNEXPECTED_CONTINUE){let e=0;for(let r=t+1;r<n.length&&n[r]>>6==2;r++)e++;return e}return e===Ri.OVERRUN?n.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(Ni||(Ni={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(Ri||(Ri={}));const Li=Object.freeze({error:function(e,t,n,r,i){return Oi.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",n)},ignore:Mi,replace:function(e,t,n,r,i){return e===Ri.OVERLONG?(r.push(i),0):(r.push(65533),Mi(e,t,n))}});function Di(e,t){null==t&&(t=Li.error),e=cn(e);const n=[];let r=0;for(;r<e.length;){const i=e[r++];if(i>>7==0){n.push(i);continue}let o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){r+=t(128==(192&i)?Ri.UNEXPECTED_CONTINUE:Ri.BAD_PREFIX,r-1,e,n);continue}o=3,a=65535}if(r-1+o>=e.length){r+=t(Ri.OVERRUN,r-1,e,n);continue}let s=i&(1<<8-o-1)-1;for(let i=0;i<o;i++){let i=e[r];if(128!=(192&i)){r+=t(Ri.MISSING_CONTINUE,r,e,n),s=null;break}s=s<<6|63&i,r++}null!==s&&(s>1114111?r+=t(Ri.OUT_OF_RANGE,r-1-o,e,n,s):s>=55296&&s<=57343?r+=t(Ri.UTF16_SURROGATE,r-1-o,e,n,s):s<=a?r+=t(Ri.OVERLONG,r-1-o,e,n,s):n.push(s))}return n}function Fi(e,t=Ni.current){t!=Ni.current&&(Oi.checkNormalize(),e=e.normalize(t));let n=[];for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){t++;const i=e.charCodeAt(t);if(t>=e.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&r)<<10)+(1023&i);n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(63&o|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return cn(n)}function Bi(e){const t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function ji(e,t){return'"'+Di(e,t).map((e=>{if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?Bi(e):Bi(55296+((e-=65536)>>10&1023))+Bi(56320+(1023&e))})).join("")+'"'}function zi(e){return e.map((e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e))))).join("")}function _i(e,t){return zi(Di(e,t))}function Ui(e,t=Ni.current){return Di(Fi(e,t))}function Hi(e){const t=Fi(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return yn(dn([t,Si]).slice(0,32))}function Wi(e){const t=cn(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");let n=31;for(;0===t[n-1];)n--;return _i(t.slice(0,n))}function Vi(e,t){t||(t=function(e){return[parseInt(e,16)]});let n=0,r={};return e.split(",").forEach((e=>{let i=e.split(":");n+=parseInt(i[0],16),r[n]=t(i[1])})),r}function qi(e){let t=0;return e.split(",").map((e=>{let n=e.split("-");1===n.length?n[1]="0":""===n[1]&&(n[1]="1");let r=t+parseInt(n[0],16);return t=parseInt(n[1],16),{l:r,h:t}}))}function Xi(e,t){let n=0;for(let r=0;r<t.length;r++){let i=t[r];if(n+=i.l,e>=n&&e<=n+i.h&&(e-n)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-n))continue;return i}}return null}const Gi=qi("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Zi="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((e=>parseInt(e,16))),Yi=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Ki=Vi("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Qi=Vi("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Ji=Vi("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");let t=[];for(let n=0;n<e.length;n+=4)t.push(parseInt(e.substring(n,n+4),16));return t})),$i=qi("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function eo(e){if(e.match(/^[a-z0-9-]*$/i)&&e.length<=59)return e.toLowerCase();let t=Ui(e);var n;n=t.map((e=>{if(Zi.indexOf(e)>=0)return[];if(e>=65024&&e<=65039)return[];let t=function(e){let t=Xi(e,Yi);if(t)return[e+t.s];let n=Ki[e];if(n)return n;let r=Qi[e];if(r)return[e+r[0]];let i=Ji[e];return i||null}(e);return t||[e]})),t=n.reduce(((e,t)=>(t.forEach((t=>{e.push(t)})),e)),[]),t=Ui(zi(t),Ni.NFKC),t.forEach((e=>{if(Xi(e,$i))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),t.forEach((e=>{if(Xi(e,Gi))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));let r=zi(t);if("-"===r.substring(0,1)||"--"===r.substring(2,4)||"-"===r.substring(r.length-1))throw new Error("invalid hyphen");return r}var to=Object.freeze({__proto__:null,get UnicodeNormalizationForm(){return Ni},Utf8ErrorFuncs:Li,get Utf8ErrorReason(){return Ri},_toEscapedUtf8String:ji,formatBytes32String:Hi,nameprep:eo,parseBytes32String:Wi,toUtf8Bytes:Fi,toUtf8CodePoints:Ui,toUtf8String:_i});let no=class extends hi{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Fi(t))}decode(e){return _i(super.decode(e))}},ro=class extends Dr{constructor(e,t){let n=!1;const r=[];e.forEach((e=>{e.dynamic&&(n=!0),r.push(e.type)}));super("tuple","tuple("+r.join(",")+")",t,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach((t=>{e.push(t.defaultValue())}));const t=this.coders.reduce(((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e}),{});return this.coders.forEach(((n,r)=>{let i=n.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[r]))})),Object.freeze(e)}encode(e,t){return ci(e,this.coders,t)}decode(e){return e.coerce(this.name,di(e,this.coders))}};const io=new tn(lr),oo=new RegExp(/^bytes([0-9]*)$/),ao=new RegExp(/^(u?int)([0-9]*)$/);let so=class{constructor(e){Jn(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new si(e.name);case"bool":return new pi(e.name);case"string":return new no(e.name);case"bytes":return new mi(e.name);case"array":return new fi(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new ro((e.components||[]).map((e=>this._getCoder(e))),e.name);case"":return new Ai(e.name)}let t=e.type.match(ao);if(t){let n=parseInt(t[2]||"256");return(0===n||n>256||n%8!=0)&&io.throwArgumentError("invalid "+t[1]+" bit length","param",e),new Pi(n/8,"int"===t[1],e.name)}if(t=e.type.match(oo),t){let n=parseInt(t[1]);return(0===n||n>32)&&io.throwArgumentError("invalid bytes length","param",e),new yi(n,e.name)}return io.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,t){return new class e{constructor(e,t,n,r){Jn(this,"_data",cn(e)),Jn(this,"wordSize",t||32),Jn(this,"_coerceFunc",n),Jn(this,"allowLoose",r),this._offset=0}get data(){return yn(this._data)}get consumed(){return this._offset}static coerce(e,t){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(t=t.toNumber()),t}coerce(t,n){return this._coerceFunc?this._coerceFunc(t,n):e.coerce(t,n)}_peekBytes(e,t,n){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+t<=this._data.length?r=t:Mr.throwError("data out-of-bounds",tn.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let n=this._peekBytes(0,e,!!t);return this._offset+=n.length,n.slice(0,e)}readValue(){return Rn.from(this.readBytes(this.wordSize))}}(e,this._getWordSize(),this.coerceFunc,t)}_getWriter(){return new Fr(this._getWordSize())}getDefaultValue(e){const t=e.map((e=>this._getCoder(gr.from(e))));return new ro(t,"_").defaultValue()}encode(e,t){e.length!==t.length&&io.throwError("types/values length mismatch",tn.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const n=e.map((e=>this._getCoder(gr.from(e)))),r=new ro(n,"_"),i=this._getWriter();return r.encode(i,t),i.data}decode(e,t,n){const r=e.map((e=>this._getCoder(gr.from(e))));return new ro(r,"_").decode(this._getReader(cn(t),n))}};const uo=new so;function lo(e){return zr(Fi(e))}const co="hash/5.7.0";function fo(e){e=atob(e);const t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return cn(t)}function po(e){e=cn(e);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var ho=Object.freeze({__proto__:null,decode:fo,encode:po});function mo(e,t){null==t&&(t=1);const n=[],r=n.forEach,i=function(e,t){r.call(e,(function(e){t>0&&Array.isArray(e)?i(e,t-1):n.push(e)}))};return i(e,t),n}function yo(e){return function(e){let t=0;return()=>e[t++]}(function(e){let t=0;function n(){return e[t++]<<8|e[t++]}let r=n(),i=1,o=[0,1];for(let e=1;e<r;e++)o.push(i+=n());let a=n(),s=t;t+=a;let u=0,l=0;function c(){return 0==u&&(l=l<<8|e[t++],u=8),l>>--u&1}const d=Math.pow(2,31),f=d>>>1,p=f>>1,h=d-1;let m=0;for(let e=0;e<31;e++)m=m<<1|c();let y=[],A=0,g=d;for(;;){let e=Math.floor(((m-A+1)*i-1)/g),t=0,n=r;for(;n-t>1;){let r=t+n>>>1;e<o[r]?n=r:t=r}if(0==t)break;y.push(t);let a=A+Math.floor(g*o[t]/i),s=A+Math.floor(g*o[t+1]/i)-1;for(;0==((a^s)&f);)m=m<<1&h|c(),a=a<<1&h,s=s<<1&h|1;for(;a&~s&p;)m=m&f|m<<1&h>>>1|c(),a=a<<1^f,s=(s^f)<<1|f|1;A=a,g=1+s-a}let b=r-4;return y.map((t=>{switch(t-b){case 3:return b+65792+(e[s++]<<16|e[s++]<<8|e[s++]);case 2:return b+256+(e[s++]<<8|e[s++]);case 1:return b+e[s++];default:return t-1}}))}(e))}function Ao(e){return 1&e?~e>>1:e>>1}function go(e,t){let n=Array(e);for(let r=0,i=-1;r<e;r++)n[r]=i+=1+t();return n}function bo(e,t){let n=Array(e);for(let r=0,i=0;r<e;r++)n[r]=i+=Ao(t());return n}function vo(e,t){let n=go(e(),e),r=e(),i=go(r,e),o=function(e,t){let n=Array(e);for(let r=0;r<e;r++)n[r]=1+t();return n}(r,e);for(let e=0;e<r;e++)for(let t=0;t<o[e];t++)n.push(i[e]+t);return t?n.map((e=>t[e])):n}function wo(e,t,n){let r=Array(e).fill(void 0).map((()=>[]));for(let i=0;i<t;i++)bo(e,n).forEach(((e,t)=>r[t].push(e)));return r}function xo(e,t){let n=1+t(),r=t(),i=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(n)}return t}(t);return mo(wo(i.length,1+e,t).map(((e,t)=>{const o=e[0],a=e.slice(1);return Array(i[t]).fill(void 0).map(((e,t)=>{let i=t*r;return[o+t*n,a.map((e=>e+i))]}))})))}function Eo(e,t){return wo(1+t(),1+e,t).map((e=>[e[0],e.slice(1)]))}const To=yo(fo("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==")),Co=new Set(vo(To)),ko=new Set(vo(To)),So=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(xo(n,e))}for(;;){let n=e()-1;if(n<0)break;t.push(Eo(n,e))}return function(e){const t={};for(let n=0;n<e.length;n++){const r=e[n];t[r[0]]=r[1]}return t}(mo(t))}(To),Io=function(e){let t=vo(e).sort(((e,t)=>e-t));return function n(){let r=[];for(;;){let i=vo(e,t);if(0==i.length)break;r.push({set:new Set(i),node:n()})}r.sort(((e,t)=>t.set.size-e.set.size));let i=e(),o=i%3;i=i/3|0;let a=!!(1&i);return i>>=1,{branches:r,valid:o,fe0f:a,save:1==i,check:2==i}}()}(To),Po=45,Oo=95;function No(e){return Ui(e)}function Ro(e){return e.filter((e=>65039!=e))}function Mo(e){for(let t of e.split(".")){let e=No(t);try{for(let t=e.lastIndexOf(Oo)-1;t>=0;t--)if(e[t]!==Oo)throw new Error("underscore only allowed at start");if(e.length>=4&&e.every((e=>e<128))&&e[2]===Po&&e[3]===Po)throw new Error("invalid label extension")}catch(e){throw new Error(`Invalid label "${t}": ${e.message}`)}}return e}function Lo(e){return Mo(function(e,t){let n=No(e).reverse(),r=[];for(;n.length;){let e=Do(n);if(e){r.push(...t(e));continue}let i=n.pop();if(Co.has(i)){r.push(i);continue}if(ko.has(i))continue;let o=So[i];if(!o)throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`);r.push(...o)}return Mo(function(e){return e.normalize("NFC")}(String.fromCodePoint(...r)))}(e,Ro))}function Do(e,t){var n;let r,i,o=Io,a=[],s=e.length;for(t&&(t.length=0);s;){let u=e[--s];if(o=null===(n=o.branches.find((e=>e.set.has(u))))||void 0===n?void 0:n.node,!o)break;if(o.save)i=u;else if(o.check&&u===i)break;a.push(u),o.fe0f&&(a.push(65039),s>0&&65039==e[s-1]&&s--),o.valid&&(r=a.slice(),2==o.valid&&r.splice(1,1),t&&t.push(...e.slice(s).reverse()),e.length=s)}return r}const Fo=new tn(co),Bo=new Uint8Array(32);function jo(e){if(0===e.length)throw new Error("invalid ENS name; empty component");return e}function zo(e){const t=Fi(Lo(e)),n=[];if(0===e.length)return n;let r=0;for(let e=0;e<t.length;e++){46===t[e]&&(n.push(jo(t.slice(r,e))),r=e+1)}if(r>=t.length)throw new Error("invalid ENS name; empty component");return n.push(jo(t.slice(r))),n}function _o(e){try{return 0!==zo(e).length}catch(e){}return!1}function Uo(e){"string"!=typeof e&&Fo.throwArgumentError("invalid ENS name; not a string","name",e);let t=Bo;const n=zo(e);for(;n.length;)t=zr(dn([t,zr(n.pop())]));return yn(t)}function Ho(e){return yn(dn(zo(e).map((e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t}))))+"00"}Bo.fill(0);const Wo="Ethereum Signed Message:\n";function Vo(e){return"string"==typeof e&&(e=Fi(e)),zr(dn([Fi(Wo),Fi(String(e.length)),e]))}var qo=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Xo=new tn(co),Go=new Uint8Array(32);Go.fill(0);const Zo=Rn.from(-1),Yo=Rn.from(0),Ko=Rn.from(1),Qo=Rn.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const Jo=xn(Ko.toHexString(),32),$o=xn(Yo.toHexString(),32),ea={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},ta=["name","version","chainId","verifyingContract","salt"];function na(e){return function(t){return"string"!=typeof t&&Xo.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}const ra={name:na("name"),version:na("version"),chainId:function(e){try{return Rn.from(e).toString()}catch(e){}return Xo.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return ti(e).toLowerCase()}catch(e){}return Xo.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{const t=cn(e);if(32!==t.length)throw new Error("bad length");return yn(t)}catch(e){}return Xo.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function ia(e){{const t=e.match(/^(u?)int(\d*)$/);if(t){const n=""===t[1],r=parseInt(t[2]||"256");(r%8!=0||r>256||t[2]&&t[2]!==String(r))&&Xo.throwArgumentError("invalid numeric width","type",e);const i=Qo.mask(n?r-1:r),o=n?i.add(Ko).mul(Zo):Yo;return function(t){const n=Rn.from(t);return(n.lt(o)||n.gt(i))&&Xo.throwArgumentError(`value out-of-bounds for ${e}`,"value",t),xn(n.toTwos(256).toHexString(),32)}}}{const t=e.match(/^bytes(\d+)$/);if(t){const n=parseInt(t[1]);return(0===n||n>32||t[1]!==String(n))&&Xo.throwArgumentError("invalid bytes width","type",e),function(t){return cn(t).length!==n&&Xo.throwArgumentError(`invalid length for ${e}`,"value",t),function(e){const t=cn(e),n=t.length%32;return n?bn([t,Go.slice(n)]):yn(t)}(t)}}}switch(e){case"address":return function(e){return xn(ti(e),32)};case"bool":return function(e){return e?Jo:$o};case"bytes":return function(e){return zr(e)};case"string":return function(e){return lo(e)}}return null}function oa(e,t){return`${e}(${t.map((({name:e,type:t})=>t+" "+e)).join(",")})`}class aa{constructor(e){Jn(this,"types",Object.freeze(ar(e))),Jn(this,"_encoderCache",{}),Jn(this,"_types",{});const t={},n={},r={};Object.keys(e).forEach((e=>{t[e]={},n[e]=[],r[e]={}}));for(const r in e){const i={};e[r].forEach((o=>{i[o.name]&&Xo.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(r)}`,"types",e),i[o.name]=!0;const a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===r&&Xo.throwArgumentError(`circular type reference to ${JSON.stringify(a)}`,"types",e);ia(a)||(n[a]||Xo.throwArgumentError(`unknown type ${JSON.stringify(a)}`,"types",e),n[a].push(r),t[r][a]=!0)}))}const i=Object.keys(n).filter((e=>0===n[e].length));0===i.length?Xo.throwArgumentError("missing primary type","types",e):i.length>1&&Xo.throwArgumentError(`ambiguous primary types or unused types: ${i.map((e=>JSON.stringify(e))).join(", ")}`,"types",e),Jn(this,"primaryType",i[0]),function i(o,a){a[o]&&Xo.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",e),a[o]=!0,Object.keys(t[o]).forEach((e=>{n[e]&&(i(e,a),Object.keys(a).forEach((t=>{r[t][e]=!0})))})),delete a[o]}(this.primaryType,{});for(const t in r){const n=Object.keys(r[t]);n.sort(),this._types[t]=oa(t,e[t])+n.map((t=>oa(t,e[t]))).join("")}}getEncoder(e){let t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}_getEncoder(e){{const t=ia(e);if(t)return t}const t=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(t){const e=t[1],n=this.getEncoder(e),r=parseInt(t[3]);return t=>{r>=0&&t.length!==r&&Xo.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);let i=t.map(n);return this._types[e]&&(i=i.map(zr)),zr(bn(i))}}const n=this.types[e];if(n){const t=lo(this._types[e]);return e=>{const r=n.map((({name:t,type:n})=>{const r=this.getEncoder(n)(e[t]);return this._types[n]?zr(r):r}));return r.unshift(t),bn(r)}}return Xo.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const t=this._types[e];return t||Xo.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return zr(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(ia(e))return n(e,t);const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const e=r[1],i=parseInt(r[3]);return i>=0&&t.length!==i&&Xo.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map((t=>this._visit(e,t,n)))}const i=this.types[e];return i?i.reduce(((e,{name:r,type:i})=>(e[r]=this._visit(i,t[r],n),e)),{}):Xo.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new aa(e)}static getPrimaryType(e){return aa.from(e).primaryType}static hashStruct(e,t,n){return aa.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){const r=ea[n];r||Xo.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:r})}return t.sort(((e,t)=>ta.indexOf(e.name)-ta.indexOf(t.name))),aa.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return bn(["0x1901",aa.hashDomain(e),aa.from(t).hash(n)])}static hash(e,t,n){return zr(aa.encode(e,t,n))}static resolveNames(e,t,n,r){return qo(this,void 0,void 0,(function*(){e=nr(e);const i={};e.verifyingContract&&!hn(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const o=aa.from(t);o.visit(n,((e,t)=>("address"!==e||hn(t,20)||(i[t]="0x"),t)));for(const e in i)i[e]=yield r(e);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=o.visit(n,((e,t)=>"address"===e&&i[t]?i[t]:t)),{domain:e,value:n}}))}static getPayload(e,t,n){aa.hashDomain(e);const r={},i=[];ta.forEach((t=>{const n=e[t];null!=n&&(r[t]=ra[t](n),i.push({name:t,type:ea[t]}))}));const o=aa.from(t),a=nr(t);return a.EIP712Domain?Xo.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",t):a.EIP712Domain=i,o.encode(n),{types:a,domain:r,primaryType:o.primaryType,message:o.visit(n,((e,t)=>{if(e.match(/^bytes(\d*)/))return yn(cn(t));if(e.match(/^u?int/))return Rn.from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&Xo.throwArgumentError("invalid string","value",t),t}return Xo.throwArgumentError("unsupported type","type",e)}))}}}var sa=Object.freeze({__proto__:null,_TypedDataEncoder:aa,dnsEncode:Ho,ensNormalize:function(e){return zo(e).map((e=>_i(e))).join(".")},hashMessage:Vo,id:lo,isValidName:_o,messagePrefix:Wo,namehash:Uo});const ua=new tn(lr);let la=class extends sr{},ca=class extends sr{},da=class extends sr{},fa=class extends sr{static isIndexed(e){return!(!e||!e._isIndexed)}};const pa={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function ha(e,t){const n=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return n.error=t,n}let ma=class{constructor(e){let t=[];t="string"==typeof e?JSON.parse(e):e,Jn(this,"fragments",t.map((e=>vr.from(e))).filter((e=>null!=e))),Jn(this,"_abiCoder",$n(new.target,"getAbiCoder")()),Jn(this,"functions",{}),Jn(this,"errors",{}),Jn(this,"events",{}),Jn(this,"structs",{}),this.fragments.forEach((e=>{let t=null;switch(e.type){case"constructor":return this.deploy?void ua.warn("duplicate definition - constructor"):void Jn(this,"deploy",e);case"function":t=this.functions;break;case"event":t=this.events;break;case"error":t=this.errors;break;default:return}let n=e.format();t[n]?ua.warn("duplicate definition - "+n):t[n]=e})),this.deploy||Jn(this,"deploy",Cr.from({payable:!1,type:"constructor"})),Jn(this,"_isInterface",!0)}format(e){e||(e=yr.full),e===yr.sighash&&ua.throwArgumentError("interface does not support formatting sighash","format",e);const t=this.fragments.map((t=>t.format(e)));return e===yr.json?JSON.stringify(t.map((e=>JSON.parse(e)))):t}static getAbiCoder(){return uo}static getAddress(e){return ti(e)}static getSighash(e){return gn(lo(e.format()),0,4)}static getEventTopic(e){return lo(e.format())}getFunction(e){if(hn(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];ua.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.functions).filter((e=>e.split("(")[0]===t));return 0===n.length?ua.throwArgumentError("no matching function","name",t):n.length>1&&ua.throwArgumentError("multiple matching functions","name",t),this.functions[n[0]]}const t=this.functions[kr.fromString(e).format()];return t||ua.throwArgumentError("no matching function","signature",e),t}getEvent(e){if(hn(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];ua.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.events).filter((e=>e.split("(")[0]===t));return 0===n.length?ua.throwArgumentError("no matching event","name",t):n.length>1&&ua.throwArgumentError("multiple matching events","name",t),this.events[n[0]]}const t=this.events[wr.fromString(e).format()];return t||ua.throwArgumentError("no matching event","signature",e),t}getError(e){if(hn(e)){const t=$n(this.constructor,"getSighash");for(const n in this.errors){if(e===t(this.errors[n]))return this.errors[n]}ua.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.errors).filter((e=>e.split("(")[0]===t));return 0===n.length?ua.throwArgumentError("no matching error","name",t):n.length>1&&ua.throwArgumentError("multiple matching errors","name",t),this.errors[n[0]]}const t=this.errors[kr.fromString(e).format()];return t||ua.throwArgumentError("no matching error","signature",e),t}getSighash(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return $n(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),$n(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){"string"==typeof e&&(e=this.getError(e));const n=cn(t);return yn(n.slice(0,4))!==this.getSighash(e)&&ua.throwArgumentError(`data signature does not match error ${e.name}.`,"data",yn(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,t){return"string"==typeof e&&(e=this.getError(e)),yn(dn([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));const n=cn(t);return yn(n.slice(0,4))!==this.getSighash(e)&&ua.throwArgumentError(`data signature does not match function ${e.name}.`,"data",yn(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),yn(dn([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let n=cn(t),r=null,i="",o=null,a=null,s=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch(e){}break;case 4:{const e=yn(n.slice(0,4)),t=pa[e];if(t)o=this._abiCoder.decode(t.inputs,n.slice(4)),a=t.name,s=t.signature,t.reason&&(r=o[0]),"Error"===a?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(o[0])}`:"Panic"===a&&(i=`; VM Exception while processing transaction: reverted with panic code ${o[0]}`);else try{const t=this.getError(e);o=this._abiCoder.decode(t.inputs,n.slice(4)),a=t.name,s=t.format()}catch(e){}break}}return ua.throwError("call revert exception"+i,tn.errors.CALL_EXCEPTION,{method:e.format(),data:yn(t),errorArgs:o,errorName:a,errorSignature:s,reason:r})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),yn(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&ua.throwError("too many arguments for "+e.format(),tn.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let n=[];e.anonymous||n.push(this.getEventTopic(e));const r=(e,t)=>"string"===e.type?lo(t):"bytes"===e.type?zr(yn(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=Rn.from(t).toHexString()),"address"===e.type&&this._abiCoder.encode(["address"],[t]),xn(yn(t),32));for(t.forEach(((t,i)=>{let o=e.inputs[i];o.indexed?null==t?n.push(null):"array"===o.baseType||"tuple"===o.baseType?ua.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):Array.isArray(t)?n.push(t.map((e=>r(o,e)))):n.push(r(o,t)):null!=t&&ua.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const n=[],r=[],i=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&ua.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach(((e,o)=>{const a=t[o];if(e.indexed)if("string"===e.type)n.push(lo(a));else if("bytes"===e.type)n.push(zr(a));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(this._abiCoder.encode([e.type],[a]))}else r.push(e),i.push(a)})),{data:this._abiCoder.encode(r,i),topics:n}}decodeEventLog(e,t,n){if("string"==typeof e&&(e=this.getEvent(e)),null!=n&&!e.anonymous){let t=this.getEventTopic(e);hn(n[0],32)&&n[0].toLowerCase()===t||ua.throwError("fragment/topic mismatch",tn.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:n[0]}),n=n.slice(1)}let r=[],i=[],o=[];e.inputs.forEach(((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(r.push(gr.fromObject({type:"bytes32",name:e.name})),o.push(!0)):(r.push(e),o.push(!1)):(i.push(e),o.push(!1))}));let a=null!=n?this._abiCoder.decode(r,dn(n)):null,s=this._abiCoder.decode(i,t,!0),u=[],l=0,c=0;e.inputs.forEach(((e,t)=>{if(e.indexed)if(null==a)u[t]=new fa({_isIndexed:!0,hash:null});else if(o[t])u[t]=new fa({_isIndexed:!0,hash:a[c++]});else try{u[t]=a[c++]}catch(e){u[t]=e}else try{u[t]=s[l++]}catch(e){u[t]=e}if(e.name&&null==u[e.name]){const n=u[t];n instanceof Error?Object.defineProperty(u,e.name,{enumerable:!0,get:()=>{throw ha(`property ${JSON.stringify(e.name)}`,n)}}):u[e.name]=n}}));for(let e=0;e<u.length;e++){const t=u[e];t instanceof Error&&Object.defineProperty(u,e,{enumerable:!0,get:()=>{throw ha(`index ${e}`,t)}})}return Object.freeze(u)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new ca({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:Rn.from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new la({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}parseError(e){const t=yn(e);let n=this.getError(t.substring(0,10).toLowerCase());return n?new da({args:this._abiCoder.decode(n.inputs,"0x"+t.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!(!e||!e._isInterface)}};var ya=Object.freeze({__proto__:null,AbiCoder:so,ConstructorFragment:Cr,ErrorFragment:Ir,EventFragment:wr,FormatTypes:yr,Fragment:vr,FunctionFragment:kr,Indexed:fa,Interface:ma,LogDescription:la,ParamType:gr,TransactionDescription:ca,checkResultErrors:Lr,defaultAbiCoder:uo});var Aa=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const ga=new tn("abstract-provider/5.7.0");class ba extends sr{static isForkEvent(e){return!(!e||!e._isForkEvent)}}let va=class e{constructor(){ga.checkAbstract(new.target,e),Jn(this,"_isProvider",!0)}getFeeData(){return Aa(this,void 0,void 0,(function*(){const{block:e,gasPrice:t}=yield er({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch((e=>null))});let n=null,r=null,i=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,i=Rn.from("1500000000"),r=e.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:r,maxPriorityFeePerGas:i,gasPrice:t}}))}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}};var wa=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const xa=new tn("abstract-signer/5.7.0"),Ea=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],Ta=[tn.errors.INSUFFICIENT_FUNDS,tn.errors.NONCE_EXPIRED,tn.errors.REPLACEMENT_UNDERPRICED];let Ca=class e{constructor(){xa.checkAbstract(new.target,e),Jn(this,"_isSigner",!0)}getBalance(e){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)}))}getTransactionCount(e){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)}))}estimateGas(e){return wa(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const t=yield er(this.checkTransaction(e));return yield this.provider.estimateGas(t)}))}call(e,t){return wa(this,void 0,void 0,(function*(){this._checkProvider("call");const n=yield er(this.checkTransaction(e));return yield this.provider.call(n,t)}))}sendTransaction(e){return wa(this,void 0,void 0,(function*(){this._checkProvider("sendTransaction");const t=yield this.populateTransaction(e),n=yield this.signTransaction(t);return yield this.provider.sendTransaction(n)}))}getChainId(){return wa(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}getFeeData(){return wa(this,void 0,void 0,(function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()}))}resolveName(e){return wa(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)}))}checkTransaction(e){for(const t in e)-1===Ea.indexOf(t)&&xa.throwArgumentError("invalid transaction key: "+t,"transaction",e);const t=nr(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then((t=>(t[0].toLowerCase()!==t[1].toLowerCase()&&xa.throwArgumentError("from address mismatch","transaction",e),t[0]))),t}populateTransaction(e){return wa(this,void 0,void 0,(function*(){const t=yield er(this.checkTransaction(e));null!=t.to&&(t.to=Promise.resolve(t.to).then((e=>wa(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.resolveName(e);return null==t&&xa.throwArgumentError("provided ENS name resolves to null","tx.to",e),t})))),t.to.catch((e=>{})));const n=null!=t.maxFeePerGas||null!=t.maxPriorityFeePerGas;if(null==t.gasPrice||2!==t.type&&!n?0!==t.type&&1!==t.type||!n||xa.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e):xa.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e),2!==t.type&&null!=t.type||null==t.maxFeePerGas||null==t.maxPriorityFeePerGas)if(0===t.type||1===t.type)null==t.gasPrice&&(t.gasPrice=this.getGasPrice());else{const e=yield this.getFeeData();if(null==t.type)if(null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas)if(t.type=2,null!=t.gasPrice){const e=t.gasPrice;delete t.gasPrice,t.maxFeePerGas=e,t.maxPriorityFeePerGas=e}else null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas);else null!=e.gasPrice?(n&&xa.throwError("network does not support EIP-1559",tn.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==t.gasPrice&&(t.gasPrice=e.gasPrice),t.type=0):xa.throwError("failed to get consistent fee data",tn.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else 2===t.type&&(null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas))}else t.type=2;return null==t.nonce&&(t.nonce=this.getTransactionCount("pending")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch((e=>{if(Ta.indexOf(e.code)>=0)throw e;return xa.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t})}))),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then((t=>(0!==t[1]&&t[0]!==t[1]&&xa.throwArgumentError("chainId address mismatch","transaction",e),t[0]))),yield er(t)}))}_checkProvider(e){this.provider||xa.throwError("missing provider",tn.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!(!e||!e._isSigner)}},ka=class e extends Ca{constructor(e,t){super(),Jn(this,"address",e),Jn(this,"provider",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then((()=>{xa.throwError(e,tn.errors.UNSUPPORTED_OPERATION,{operation:t})}))}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,t,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(t){return new e(this.address,t)}};var Sa,Ia={},Pa={},Oa=Na;function Na(e,t){if(!e)throw new Error(t||"Assertion failed")}Na.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)},Sa="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e};var Ra=Sa,Ma=Ue(Object.freeze({__proto__:null,default:Ra})),La=Oa,Da=Ma;function Fa(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function Ba(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function ja(e){return 1===e.length?"0"+e:e}function za(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}Pa.inherits=Da,Pa.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)n.push(parseInt(e[i]+e[i+1],16))}else for(var r=0,i=0;i<e.length;i++){var o=e.charCodeAt(i);o<128?n[r++]=o:o<2048?(n[r++]=o>>6|192,n[r++]=63&o|128):Fa(e,i)?(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++i)),n[r++]=o>>18|240,n[r++]=o>>12&63|128,n[r++]=o>>6&63|128,n[r++]=63&o|128):(n[r++]=o>>12|224,n[r++]=o>>6&63|128,n[r++]=63&o|128)}else for(i=0;i<e.length;i++)n[i]=0|e[i];return n},Pa.toHex=function(e){for(var t="",n=0;n<e.length;n++)t+=ja(e[n].toString(16));return t},Pa.htonl=Ba,Pa.toHex32=function(e,t){for(var n="",r=0;r<e.length;r++){var i=e[r];"little"===t&&(i=Ba(i)),n+=za(i.toString(16))}return n},Pa.zero2=ja,Pa.zero8=za,Pa.join32=function(e,t,n,r){var i=n-t;La(i%4==0);for(var o=new Array(i/4),a=0,s=t;a<o.length;a++,s+=4){var u;u="big"===r?e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3]:e[s+3]<<24|e[s+2]<<16|e[s+1]<<8|e[s],o[a]=u>>>0}return o},Pa.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r<e.length;r++,i+=4){var o=e[r];"big"===t?(n[i]=o>>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},Pa.rotr32=function(e,t){return e>>>t|e<<32-t},Pa.rotl32=function(e,t){return e<<t|e>>>32-t},Pa.sum32=function(e,t){return e+t>>>0},Pa.sum32_3=function(e,t,n){return e+t+n>>>0},Pa.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},Pa.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},Pa.sum64=function(e,t,n,r){var i=e[t],o=r+e[t+1]>>>0,a=(o<r?1:0)+n+i;e[t]=a>>>0,e[t+1]=o},Pa.sum64_hi=function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},Pa.sum64_lo=function(e,t,n,r){return t+r>>>0},Pa.sum64_4_hi=function(e,t,n,r,i,o,a,s){var u=0,l=t;return u+=(l=l+r>>>0)<t?1:0,u+=(l=l+o>>>0)<o?1:0,e+n+i+a+(u+=(l=l+s>>>0)<s?1:0)>>>0},Pa.sum64_4_lo=function(e,t,n,r,i,o,a,s){return t+r+o+s>>>0},Pa.sum64_5_hi=function(e,t,n,r,i,o,a,s,u,l){var c=0,d=t;return c+=(d=d+r>>>0)<t?1:0,c+=(d=d+o>>>0)<o?1:0,c+=(d=d+s>>>0)<s?1:0,e+n+i+a+u+(c+=(d=d+l>>>0)<l?1:0)>>>0},Pa.sum64_5_lo=function(e,t,n,r,i,o,a,s,u,l){return t+r+o+s+l>>>0},Pa.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},Pa.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},Pa.shr64_hi=function(e,t,n){return e>>>n},Pa.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0};var _a={},Ua=Pa,Ha=Oa;function Wa(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}_a.BlockHash=Wa,Wa.prototype.update=function(e,t){if(e=Ua.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=Ua.join32(e,0,e.length-n,this.endian);for(var r=0;r<e.length;r+=this._delta32)this._update(e,r,r+this._delta32)}return this},Wa.prototype.digest=function(e){return this.update(this._pad()),Ha(null===this.pending),this._digest(e)},Wa.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o<this.padLength;o++)r[i++]=0;return r};var Va={},qa={},Xa=Pa.rotr32;function Ga(e,t,n){return e&t^~e&n}function Za(e,t,n){return e&t^e&n^t&n}function Ya(e,t,n){return e^t^n}qa.ft_1=function(e,t,n,r){return 0===e?Ga(t,n,r):1===e||3===e?Ya(t,n,r):2===e?Za(t,n,r):void 0},qa.ch32=Ga,qa.maj32=Za,qa.p32=Ya,qa.s0_256=function(e){return Xa(e,2)^Xa(e,13)^Xa(e,22)},qa.s1_256=function(e){return Xa(e,6)^Xa(e,11)^Xa(e,25)},qa.g0_256=function(e){return Xa(e,7)^Xa(e,18)^e>>>3},qa.g1_256=function(e){return Xa(e,17)^Xa(e,19)^e>>>10};var Ka=Pa,Qa=_a,Ja=qa,$a=Ka.rotl32,es=Ka.sum32,ts=Ka.sum32_5,ns=Ja.ft_1,rs=Qa.BlockHash,is=[1518500249,1859775393,2400959708,3395469782];function os(){if(!(this instanceof os))return new os;rs.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Ka.inherits(os,rs);var as=os;os.blockSize=512,os.outSize=160,os.hmacStrength=80,os.padLength=64,os.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=$a(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],o=this.h[1],a=this.h[2],s=this.h[3],u=this.h[4];for(r=0;r<n.length;r++){var l=~~(r/20),c=ts($a(i,5),ns(l,o,a,s),u,n[r],is[l]);u=s,s=a,a=$a(o,30),o=i,i=c}this.h[0]=es(this.h[0],i),this.h[1]=es(this.h[1],o),this.h[2]=es(this.h[2],a),this.h[3]=es(this.h[3],s),this.h[4]=es(this.h[4],u)},os.prototype._digest=function(e){return"hex"===e?Ka.toHex32(this.h,"big"):Ka.split32(this.h,"big")};var ss=Pa,us=_a,ls=qa,cs=Oa,ds=ss.sum32,fs=ss.sum32_4,ps=ss.sum32_5,hs=ls.ch32,ms=ls.maj32,ys=ls.s0_256,As=ls.s1_256,gs=ls.g0_256,bs=ls.g1_256,vs=us.BlockHash,ws=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function xs(){if(!(this instanceof xs))return new xs;vs.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=ws,this.W=new Array(64)}ss.inherits(xs,vs);var Es=xs;xs.blockSize=512,xs.outSize=256,xs.hmacStrength=192,xs.padLength=64,xs.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=fs(bs(n[r-2]),n[r-7],gs(n[r-15]),n[r-16]);var i=this.h[0],o=this.h[1],a=this.h[2],s=this.h[3],u=this.h[4],l=this.h[5],c=this.h[6],d=this.h[7];for(cs(this.k.length===n.length),r=0;r<n.length;r++){var f=ps(d,As(u),hs(u,l,c),this.k[r],n[r]),p=ds(ys(i),ms(i,o,a));d=c,c=l,l=u,u=ds(s,f),s=a,a=o,o=i,i=ds(f,p)}this.h[0]=ds(this.h[0],i),this.h[1]=ds(this.h[1],o),this.h[2]=ds(this.h[2],a),this.h[3]=ds(this.h[3],s),this.h[4]=ds(this.h[4],u),this.h[5]=ds(this.h[5],l),this.h[6]=ds(this.h[6],c),this.h[7]=ds(this.h[7],d)},xs.prototype._digest=function(e){return"hex"===e?ss.toHex32(this.h,"big"):ss.split32(this.h,"big")};var Ts=Pa,Cs=Es;function ks(){if(!(this instanceof ks))return new ks;Cs.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Ts.inherits(ks,Cs);var Ss=ks;ks.blockSize=512,ks.outSize=224,ks.hmacStrength=192,ks.padLength=64,ks.prototype._digest=function(e){return"hex"===e?Ts.toHex32(this.h.slice(0,7),"big"):Ts.split32(this.h.slice(0,7),"big")};var Is=Pa,Ps=_a,Os=Oa,Ns=Is.rotr64_hi,Rs=Is.rotr64_lo,Ms=Is.shr64_hi,Ls=Is.shr64_lo,Ds=Is.sum64,Fs=Is.sum64_hi,Bs=Is.sum64_lo,js=Is.sum64_4_hi,zs=Is.sum64_4_lo,_s=Is.sum64_5_hi,Us=Is.sum64_5_lo,Hs=Ps.BlockHash,Ws=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Vs(){if(!(this instanceof Vs))return new Vs;Hs.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Ws,this.W=new Array(160)}Is.inherits(Vs,Hs);var qs=Vs;function Xs(e,t,n,r,i){var o=e&n^~e&i;return o<0&&(o+=4294967296),o}function Gs(e,t,n,r,i,o){var a=t&r^~t&o;return a<0&&(a+=4294967296),a}function Zs(e,t,n,r,i){var o=e&n^e&i^n&i;return o<0&&(o+=4294967296),o}function Ys(e,t,n,r,i,o){var a=t&r^t&o^r&o;return a<0&&(a+=4294967296),a}function Ks(e,t){var n=Ns(e,t,28)^Ns(t,e,2)^Ns(t,e,7);return n<0&&(n+=4294967296),n}function Qs(e,t){var n=Rs(e,t,28)^Rs(t,e,2)^Rs(t,e,7);return n<0&&(n+=4294967296),n}function Js(e,t){var n=Ns(e,t,14)^Ns(e,t,18)^Ns(t,e,9);return n<0&&(n+=4294967296),n}function $s(e,t){var n=Rs(e,t,14)^Rs(e,t,18)^Rs(t,e,9);return n<0&&(n+=4294967296),n}function eu(e,t){var n=Ns(e,t,1)^Ns(e,t,8)^Ms(e,t,7);return n<0&&(n+=4294967296),n}function tu(e,t){var n=Rs(e,t,1)^Rs(e,t,8)^Ls(e,t,7);return n<0&&(n+=4294967296),n}function nu(e,t){var n=Ns(e,t,19)^Ns(t,e,29)^Ms(e,t,6);return n<0&&(n+=4294967296),n}function ru(e,t){var n=Rs(e,t,19)^Rs(t,e,29)^Ls(e,t,6);return n<0&&(n+=4294967296),n}Vs.blockSize=1024,Vs.outSize=512,Vs.hmacStrength=192,Vs.padLength=128,Vs.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=nu(n[r-4],n[r-3]),o=ru(n[r-4],n[r-3]),a=n[r-14],s=n[r-13],u=eu(n[r-30],n[r-29]),l=tu(n[r-30],n[r-29]),c=n[r-32],d=n[r-31];n[r]=js(i,o,a,s,u,l,c,d),n[r+1]=zs(i,o,a,s,u,l,c,d)}},Vs.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],i=this.h[1],o=this.h[2],a=this.h[3],s=this.h[4],u=this.h[5],l=this.h[6],c=this.h[7],d=this.h[8],f=this.h[9],p=this.h[10],h=this.h[11],m=this.h[12],y=this.h[13],A=this.h[14],g=this.h[15];Os(this.k.length===n.length);for(var b=0;b<n.length;b+=2){var v=A,w=g,x=Js(d,f),E=$s(d,f),T=Xs(d,f,p,h,m),C=Gs(d,f,p,h,m,y),k=this.k[b],S=this.k[b+1],I=n[b],P=n[b+1],O=_s(v,w,x,E,T,C,k,S,I,P),N=Us(v,w,x,E,T,C,k,S,I,P);v=Ks(r,i),w=Qs(r,i),x=Zs(r,i,o,a,s),E=Ys(r,i,o,a,s,u);var R=Fs(v,w,x,E),M=Bs(v,w,x,E);A=m,g=y,m=p,y=h,p=d,h=f,d=Fs(l,c,O,N),f=Bs(c,c,O,N),l=s,c=u,s=o,u=a,o=r,a=i,r=Fs(O,N,R,M),i=Bs(O,N,R,M)}Ds(this.h,0,r,i),Ds(this.h,2,o,a),Ds(this.h,4,s,u),Ds(this.h,6,l,c),Ds(this.h,8,d,f),Ds(this.h,10,p,h),Ds(this.h,12,m,y),Ds(this.h,14,A,g)},Vs.prototype._digest=function(e){return"hex"===e?Is.toHex32(this.h,"big"):Is.split32(this.h,"big")};var iu=Pa,ou=qs;function au(){if(!(this instanceof au))return new au;ou.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}iu.inherits(au,ou);var su=au;au.blockSize=1024,au.outSize=384,au.hmacStrength=192,au.padLength=128,au.prototype._digest=function(e){return"hex"===e?iu.toHex32(this.h.slice(0,12),"big"):iu.split32(this.h.slice(0,12),"big")},Va.sha1=as,Va.sha224=Ss,Va.sha256=Es,Va.sha384=su,Va.sha512=qs;var uu={},lu=Pa,cu=_a,du=lu.rotl32,fu=lu.sum32,pu=lu.sum32_3,hu=lu.sum32_4,mu=cu.BlockHash;function yu(){if(!(this instanceof yu))return new yu;mu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function Au(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function gu(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function bu(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}lu.inherits(yu,mu),uu.ripemd160=yu,yu.blockSize=512,yu.outSize=160,yu.hmacStrength=192,yu.padLength=64,yu.prototype._update=function(e,t){for(var n=this.h[0],r=this.h[1],i=this.h[2],o=this.h[3],a=this.h[4],s=n,u=r,l=i,c=o,d=a,f=0;f<80;f++){var p=fu(du(hu(n,Au(f,r,i,o),e[vu[f]+t],gu(f)),xu[f]),a);n=a,a=o,o=du(i,10),i=r,r=p,p=fu(du(hu(s,Au(79-f,u,l,c),e[wu[f]+t],bu(f)),Eu[f]),d),s=d,d=c,c=du(l,10),l=u,u=p}p=pu(this.h[1],i,c),this.h[1]=pu(this.h[2],o,d),this.h[2]=pu(this.h[3],a,s),this.h[3]=pu(this.h[4],n,u),this.h[4]=pu(this.h[0],r,l),this.h[0]=p},yu.prototype._digest=function(e){return"hex"===e?lu.toHex32(this.h,"little"):lu.split32(this.h,"little")};var vu=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],wu=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],xu=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Eu=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Tu=Pa,Cu=Oa;function ku(e,t,n){if(!(this instanceof ku))return new ku(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(Tu.toArray(t,n))}var Su=ku;ku.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),Cu(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},ku.prototype.update=function(e,t){return this.inner.update(e,t),this},ku.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(e){var t=e;t.utils=Pa,t.common=_a,t.sha=Va,t.ripemd=uu,t.hmac=Su,t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160}(Ia);var Iu=_e(Ia);function Pu(e,t,n){return n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},e(n,n.exports),n.exports}var Ou=Nu;function Nu(e,t){if(!e)throw new Error(t||"Assertion failed")}Nu.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)};var Ru=Pu((function(e,t){var n=t;function r(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),o=i>>8,a=255&i;o?n.push(o,a):n.push(a)}return n},n.zero2=r,n.toHex=i,n.encode=function(e,t){return"hex"===t?i(e):e}})),Mu=Pu((function(e,t){var n=t;n.assert=Ou,n.toArray=Ru.toArray,n.zero2=Ru.zero2,n.toHex=Ru.toHex,n.encode=Ru.encode,n.getNAF=function(e,t,n){var r=new Array(Math.max(e.bitLength(),n)+1);r.fill(0);for(var i=1<<t+1,o=e.clone(),a=0;a<r.length;a++){var s,u=o.andln(i-1);o.isOdd()?(s=u>(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,r[a]=s,o.iushrn(1)}return r},n.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var a,s,u=e.andln(3)+i&3,l=t.andln(3)+o&3;3===u&&(u=-1),3===l&&(l=-1),a=0==(1&u)?0:3!==(r=e.andln(7)+i&7)&&5!==r||2!==l?u:-u,n[0].push(a),s=0==(1&l)?0:3!==(r=t.andln(7)+o&7)&&5!==r||2!==u?l:-l,n[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return n},n.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new qt(e,"hex","le")}})),Lu=Mu.getNAF,Du=Mu.getJSF,Fu=Mu.assert;function Bu(e,t){this.type=e,this.p=new qt(t.p,16),this.red=t.prime?qt.red(t.prime):qt.mont(this.p),this.zero=new qt(0).toRed(this.red),this.one=new qt(1).toRed(this.red),this.two=new qt(2).toRed(this.red),this.n=t.n&&new qt(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var ju=Bu;function zu(e,t){this.curve=e,this.type=t,this.precomputed=null}Bu.prototype.point=function(){throw new Error("Not implemented")},Bu.prototype.validate=function(){throw new Error("Not implemented")},Bu.prototype._fixedNafMul=function(e,t){Fu(e.precomputed);var n=e._getDoubles(),r=Lu(t,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;var o,a,s=[];for(o=0;o<r.length;o+=n.step){a=0;for(var u=o+n.step-1;u>=o;u--)a=(a<<1)+r[u];s.push(a)}for(var l=this.jpoint(null,null,null),c=this.jpoint(null,null,null),d=i;d>0;d--){for(o=0;o<s.length;o++)(a=s[o])===d?c=c.mixedAdd(n.points[o]):a===-d&&(c=c.mixedAdd(n.points[o].neg()));l=l.add(c)}return l.toP()},Bu.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var i=r.points,o=Lu(t,n,this._bitLength),a=this.jpoint(null,null,null),s=o.length-1;s>=0;s--){for(var u=0;s>=0&&0===o[s];s--)u++;if(s>=0&&u++,a=a.dblp(u),s<0)break;var l=o[s];Fu(0!==l),a="affine"===e.type?l>0?a.mixedAdd(i[l-1>>1]):a.mixedAdd(i[-l-1>>1].neg()):l>0?a.add(i[l-1>>1]):a.add(i[-l-1>>1].neg())}return"affine"===e.type?a.toP():a},Bu.prototype._wnafMulAdd=function(e,t,n,r,i){var o,a,s,u=this._wnafT1,l=this._wnafT2,c=this._wnafT3,d=0;for(o=0;o<r;o++){var f=(s=t[o])._getNAFPoints(e);u[o]=f.wnd,l[o]=f.points}for(o=r-1;o>=1;o-=2){var p=o-1,h=o;if(1===u[p]&&1===u[h]){var m=[t[p],null,null,t[h]];0===t[p].y.cmp(t[h].y)?(m[1]=t[p].add(t[h]),m[2]=t[p].toJ().mixedAdd(t[h].neg())):0===t[p].y.cmp(t[h].y.redNeg())?(m[1]=t[p].toJ().mixedAdd(t[h]),m[2]=t[p].add(t[h].neg())):(m[1]=t[p].toJ().mixedAdd(t[h]),m[2]=t[p].toJ().mixedAdd(t[h].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],A=Du(n[p],n[h]);for(d=Math.max(A[0].length,d),c[p]=new Array(d),c[h]=new Array(d),a=0;a<d;a++){var g=0|A[0][a],b=0|A[1][a];c[p][a]=y[3*(g+1)+(b+1)],c[h][a]=0,l[p]=m}}else c[p]=Lu(n[p],u[p],this._bitLength),c[h]=Lu(n[h],u[h],this._bitLength),d=Math.max(c[p].length,d),d=Math.max(c[h].length,d)}var v=this.jpoint(null,null,null),w=this._wnafT4;for(o=d;o>=0;o--){for(var x=0;o>=0;){var E=!0;for(a=0;a<r;a++)w[a]=0|c[a][o],0!==w[a]&&(E=!1);if(!E)break;x++,o--}if(o>=0&&x++,v=v.dblp(x),o<0)break;for(a=0;a<r;a++){var T=w[a];0!==T&&(T>0?s=l[a][T-1>>1]:T<0&&(s=l[a][-T-1>>1].neg()),v="affine"===s.type?v.mixedAdd(s):v.add(s))}}for(o=0;o<r;o++)l[o]=null;return i?v:v.toP()},Bu.BasePoint=zu,zu.prototype.eq=function(){throw new Error("Not implemented")},zu.prototype.validate=function(){return this.curve.validate(this)},Bu.prototype.decodePoint=function(e,t){e=Mu.toArray(e,t);var n=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*n)return 6===e[0]?Fu(e[e.length-1]%2==0):7===e[0]&&Fu(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((2===e[0]||3===e[0])&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),3===e[0]);throw new Error("Unknown point format")},zu.prototype.encodeCompressed=function(e){return this.encode(e,!0)},zu.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",t))},zu.prototype.encode=function(e,t){return Mu.encode(this._encode(t),e)},zu.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},zu.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},zu.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)r=r.dbl();n.push(r)}return{step:e,points:n}},zu.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},zu.prototype._getBeta=function(){return null},zu.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t};var _u=Pu((function(e){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Uu=Mu.assert;function Hu(e){ju.call(this,"short",e),this.a=new qt(e.a,16).toRed(this.red),this.b=new qt(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}_u(Hu,ju);var Wu=Hu;function Vu(e,t,n,r){ju.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new qt(t,16),this.y=new qt(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function qu(e,t,n,r){ju.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new qt(0)):(this.x=new qt(t,16),this.y=new qt(n,16),this.z=new qt(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Hu.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new qt(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new qt(e.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(t))?n=i[0]:(n=i[1],Uu(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new qt(e.a,16),b:new qt(e.b,16)}})):this._getEndoBasis(n)}}},Hu.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:qt.mont(e),n=new qt(2).toRed(t).redInvm(),r=n.redNeg(),i=new qt(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(i).fromRed(),r.redSub(i).fromRed()]},Hu.prototype._getEndoBasis=function(e){for(var t,n,r,i,o,a,s,u,l,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,f=this.n.clone(),p=new qt(1),h=new qt(0),m=new qt(0),y=new qt(1),A=0;0!==d.cmpn(0);){var g=f.div(d);u=f.sub(g.mul(d)),l=m.sub(g.mul(p));var b=y.sub(g.mul(h));if(!r&&u.cmp(c)<0)t=s.neg(),n=p,r=u.neg(),i=l;else if(r&&2==++A)break;s=u,f=d,d=u,m=p,p=l,y=h,h=b}o=u.neg(),a=l;var v=r.sqr().add(i.sqr());return o.sqr().add(a.sqr()).cmp(v)>=0&&(o=t,a=n),r.negative&&(r=r.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:r,b:i},{a:o,b:a}]},Hu.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),a=i.mul(n.a),s=o.mul(r.a),u=i.mul(n.b),l=o.mul(r.b);return{k1:e.sub(a).sub(s),k2:u.add(l).neg()}},Hu.prototype.pointFromX=function(e,t){(e=new qt(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var i=r.fromRed().isOdd();return(t&&!i||!t&&i)&&(r=r.redNeg()),this.point(e,r)},Hu.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},Hu.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(t[o]),s=e[o],u=s._getBeta();a.k1.negative&&(a.k1.ineg(),s=s.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),r[2*o]=s,r[2*o+1]=u,i[2*o]=a.k1,i[2*o+1]=a.k2}for(var l=this._wnafMulAdd(1,r,i,2*o,n),c=0;c<2*o;c++)r[c]=null,i[c]=null;return l},_u(Vu,ju.BasePoint),Hu.prototype.point=function(e,t,n){return new Vu(this,e,t,n)},Hu.prototype.pointFromJSON=function(e,t){return Vu.fromJSON(this,e,t)},Vu.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},Vu.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Vu.fromJSON=function(e,t,n){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var o=t[2];return r.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[r].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[r].concat(o.naf.points.map(i))}},r},Vu.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Vu.prototype.isInfinity=function(){return this.inf},Vu.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},Vu.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Vu.prototype.getX=function(){return this.x.fromRed()},Vu.prototype.getY=function(){return this.y.fromRed()},Vu.prototype.mul=function(e){return e=new qt(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Vu.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},Vu.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},Vu.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Vu.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},Vu.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},_u(qu,ju.BasePoint),Hu.prototype.jpoint=function(e,t,n){return new qu(this,e,t,n)},qu.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},qu.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},qu.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(n.redMul(this.z)),s=r.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=s.redSqr(),c=l.redMul(s),d=r.redMul(l),f=u.redSqr().redIAdd(c).redISub(d).redISub(d),p=u.redMul(d.redISub(f)).redISub(o.redMul(c)),h=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(f,p,h)},qu.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=n.redSub(r),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),c=n.redMul(u),d=s.redSqr().redIAdd(l).redISub(c).redISub(c),f=s.redMul(c.redISub(d)).redISub(i.redMul(l)),p=this.z.redMul(a);return this.curve.jpoint(d,f,p)},qu.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,o=this.x,a=this.y,s=this.z,u=s.redSqr().redSqr(),l=a.redAdd(a);for(t=0;t<e;t++){var c=o.redSqr(),d=l.redSqr(),f=d.redSqr(),p=c.redAdd(c).redIAdd(c).redIAdd(r.redMul(u)),h=o.redMul(d),m=p.redSqr().redISub(h.redAdd(h)),y=h.redISub(m),A=p.redMul(y);A=A.redIAdd(A).redISub(f);var g=l.redMul(s);t+1<e&&(u=u.redMul(f)),o=m,s=g,l=A}return this.curve.jpoint(o,l.redMul(i),s)},qu.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},qu.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(o);a=a.redIAdd(a);var s=r.redAdd(r).redIAdd(r),u=s.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=u,t=s.redMul(a.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.x.redSqr(),d=this.y.redSqr(),f=d.redSqr(),p=this.x.redAdd(d).redSqr().redISub(c).redISub(f);p=p.redIAdd(p);var h=c.redAdd(c).redIAdd(c),m=h.redSqr(),y=f.redIAdd(f);y=(y=y.redIAdd(y)).redIAdd(y),e=m.redISub(p).redISub(p),t=h.redMul(p.redISub(e)).redISub(y),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(e,t,n)},qu.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(o);a=a.redIAdd(a);var s=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),u=s.redSqr().redISub(a).redISub(a);e=u;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=s.redMul(a.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.z.redSqr(),d=this.y.redSqr(),f=this.x.redMul(d),p=this.x.redSub(c).redMul(this.x.redAdd(c));p=p.redAdd(p).redIAdd(p);var h=f.redIAdd(f),m=(h=h.redIAdd(h)).redAdd(h);e=p.redSqr().redISub(m),n=this.y.redAdd(this.z).redSqr().redISub(d).redISub(c);var y=d.redSqr();y=(y=(y=y.redIAdd(y)).redIAdd(y)).redIAdd(y),t=p.redMul(h.redISub(e)).redISub(y)}return this.curve.jpoint(e,t,n)},qu.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),o=t.redSqr(),a=n.redSqr(),s=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),u=t.redAdd(t),l=(u=u.redIAdd(u)).redMul(a),c=s.redSqr().redISub(l.redAdd(l)),d=l.redISub(c),f=a.redSqr();f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var p=s.redMul(d).redISub(f),h=n.redAdd(n).redMul(r);return this.curve.jpoint(c,p,h)},qu.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(r),s=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(o)).redSqr(),u=r.redIAdd(r);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=i.redIAdd(a).redSqr().redISub(o).redISub(s).redISub(u),c=t.redMul(l);c=(c=c.redIAdd(c)).redIAdd(c);var d=this.x.redMul(s).redISub(c);d=(d=d.redIAdd(d)).redIAdd(d);var f=this.y.redMul(l.redMul(u.redISub(l)).redISub(a.redMul(s)));f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var p=this.z.redAdd(a).redSqr().redISub(n).redISub(s);return this.curve.jpoint(d,f,p)},qu.prototype.mul=function(e,t){return e=new qt(e,t),this.curve._wnafMul(this,e)},qu.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(0!==this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)},qu.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(n))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},qu.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},qu.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Xu=Pu((function(e,t){var n=t;n.base=ju,n.short=Wu,n.mont=null,n.edwards=null})),Gu=Pu((function(e,t){var n,r=t,i=Mu.assert;function o(e){"short"===e.type?this.curve=new Xu.short(e):"edwards"===e.type?this.curve=new Xu.edwards(e):this.curve=new Xu.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){var n=new o(t);return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=o,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Iu.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Iu.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Iu.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Iu.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Iu.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Iu.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Iu.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(e){n=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Iu.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})}));function Zu(e){if(!(this instanceof Zu))return new Zu(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Ru.toArray(e.entropy,e.entropyEnc||"hex"),n=Ru.toArray(e.nonce,e.nonceEnc||"hex"),r=Ru.toArray(e.pers,e.persEnc||"hex");Ou(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}var Yu=Zu;Zu.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},Zu.prototype._hmac=function(){return new Iu.hmac(this.hash,this.K)},Zu.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Zu.prototype.reseed=function(e,t,n,r){"string"!=typeof t&&(r=n,n=t,t=null),e=Ru.toArray(e,t),n=Ru.toArray(n,r),Ou(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},Zu.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=Ru.toArray(n,r||"hex"),this._update(n));for(var i=[];i.length<e;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var o=i.slice(0,e);return this._update(n),this._reseed++,Ru.encode(o,t)};var Ku=Mu.assert;function Qu(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Ju=Qu;Qu.fromPublic=function(e,t,n){return t instanceof Qu?t:new Qu(e,{pub:t,pubEnc:n})},Qu.fromPrivate=function(e,t,n){return t instanceof Qu?t:new Qu(e,{priv:t,privEnc:n})},Qu.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Qu.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},Qu.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},Qu.prototype._importPrivate=function(e,t){this.priv=new qt(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},Qu.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?Ku(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Ku(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},Qu.prototype.derive=function(e){return e.validate()||Ku(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Qu.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},Qu.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},Qu.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var $u=Mu.assert;function el(e,t){if(e instanceof el)return e;this._importDER(e,t)||($u(e.r&&e.s,"Signature without r or s"),this.r=new qt(e.r,16),this.s=new qt(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var tl=el;function nl(){this.place=0}function rl(e,t){var n=e[t.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;for(var i=0,o=0,a=t.place;o<r;o++,a++)i<<=8,i|=e[a],i>>>=0;return!(i<=127)&&(t.place=a,i)}function il(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t<n;)t++;return 0===t?e:e.slice(t)}function ol(e,t){if(t<128)e.push(t);else{var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}el.prototype._importDER=function(e,t){e=Mu.toArray(e,t);var n=new nl;if(48!==e[n.place++])return!1;var r=rl(e,n);if(!1===r)return!1;if(r+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var i=rl(e,n);if(!1===i)return!1;var o=e.slice(n.place,i+n.place);if(n.place+=i,2!==e[n.place++])return!1;var a=rl(e,n);if(!1===a)return!1;if(e.length!==a+n.place)return!1;var s=e.slice(n.place,a+n.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new qt(o),this.s=new qt(s),this.recoveryParam=null,!0},el.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=il(t),n=il(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];ol(r,t.length),(r=r.concat(t)).push(2),ol(r,n.length);var i=r.concat(n),o=[48];return ol(o,i.length),o=o.concat(i),Mu.encode(o,e)};var al=function(){throw new Error("unsupported")},sl=Mu.assert;function ul(e){if(!(this instanceof ul))return new ul(e);"string"==typeof e&&(sl(Object.prototype.hasOwnProperty.call(Gu,e),"Unknown curve "+e),e=Gu[e]),e instanceof Gu.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var ll=ul;ul.prototype.keyPair=function(e){return new Ju(this,e)},ul.prototype.keyFromPrivate=function(e,t){return Ju.fromPrivate(this,e,t)},ul.prototype.keyFromPublic=function(e,t){return Ju.fromPublic(this,e,t)},ul.prototype.genKeyPair=function(e){e||(e={});for(var t=new Yu({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||al(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),r=this.n.sub(new qt(2));;){var i=new qt(t.generate(n));if(!(i.cmp(r)>0))return i.iaddn(1),this.keyFromPrivate(i)}},ul.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},ul.prototype.sign=function(e,t,n,r){"object"==typeof n&&(r=n,n=null),r||(r={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new qt(e,16));for(var i=this.n.byteLength(),o=t.getPrivate().toArray("be",i),a=e.toArray("be",i),s=new Yu({hash:this.hash,entropy:o,nonce:a,pers:r.pers,persEnc:r.persEnc||"utf8"}),u=this.n.sub(new qt(1)),l=0;;l++){var c=r.k?r.k(l):new qt(s.generate(this.n.byteLength()));if(!((c=this._truncateToN(c,!0)).cmpn(1)<=0||c.cmp(u)>=0)){var d=this.g.mul(c);if(!d.isInfinity()){var f=d.getX(),p=f.umod(this.n);if(0!==p.cmpn(0)){var h=c.invm(this.n).mul(p.mul(t.getPrivate()).iadd(e));if(0!==(h=h.umod(this.n)).cmpn(0)){var m=(d.getY().isOdd()?1:0)|(0!==f.cmp(p)?2:0);return r.canonical&&h.cmp(this.nh)>0&&(h=this.n.sub(h),m^=1),new tl({r:p,s:h,recoveryParam:m})}}}}}},ul.prototype.verify=function(e,t,n,r){e=this._truncateToN(new qt(e,16)),n=this.keyFromPublic(n,r);var i=(t=new tl(t,"hex")).r,o=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,s=o.invm(this.n),u=s.mul(e).umod(this.n),l=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,n.getPublic(),l)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(u,n.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},ul.prototype.recoverPubKey=function(e,t,n,r){sl((3&n)===n,"The recovery param is more than two bits"),t=new tl(t,r);var i=this.n,o=new qt(e),a=t.r,s=t.s,u=1&n,l=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");a=l?this.curve.pointFromX(a.add(this.curve.n),u):this.curve.pointFromX(a,u);var c=t.r.invm(i),d=i.sub(o).mul(c).umod(i),f=s.mul(c).umod(i);return this.g.mulAdd(d,a,f)},ul.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new tl(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")};var cl=Pu((function(e,t){var n=t;n.version="6.5.4",n.utils=Mu,n.rand=function(){throw new Error("unsupported")},n.curve=Xu,n.curves=Gu,n.ec=ll,n.eddsa=null})),dl=cl.ec;const fl=new tn("signing-key/5.7.0");let pl=null;function hl(){return pl||(pl=new dl("secp256k1")),pl}class ml{constructor(e){Jn(this,"curve","secp256k1"),Jn(this,"privateKey",yn(e)),32!==An(this.privateKey)&&fl.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=hl().keyFromPrivate(cn(this.privateKey));Jn(this,"publicKey","0x"+t.getPublic(!1,"hex")),Jn(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Jn(this,"_isSigningKey",!0)}_addPoint(e){const t=hl().keyFromPublic(cn(this.publicKey)),n=hl().keyFromPublic(cn(e));return"0x"+t.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const t=hl().keyFromPrivate(cn(this.privateKey)),n=cn(e);32!==n.length&&fl.throwArgumentError("bad digest length","digest",e);const r=t.sign(n,{canonical:!0});return En({recoveryParam:r.recoveryParam,r:xn("0x"+r.r.toString(16),32),s:xn("0x"+r.s.toString(16),32)})}computeSharedSecret(e){const t=hl().keyFromPrivate(cn(this.privateKey)),n=hl().keyFromPublic(cn(Al(e)));return xn("0x"+t.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function yl(e,t){const n=En(t),r={r:cn(n.r),s:cn(n.s)};return"0x"+hl().recoverPubKey(cn(e),r,n.recoveryParam).encode("hex",!1)}function Al(e,t){const n=cn(e);if(32===n.length){const e=new ml(n);return t?"0x"+hl().keyFromPrivate(n).getPublic(!0,"hex"):e.publicKey}return 33===n.length?t?yn(n):"0x"+hl().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?t?"0x"+hl().keyFromPublic(n).getPublic(!0,"hex"):yn(n):fl.throwArgumentError("invalid public or private key","key","[REDACTED]")}var gl=Object.freeze({__proto__:null,SigningKey:ml,computePublicKey:Al,recoverPublicKey:yl});const bl=new tn("transactions/5.7.0");var vl;function wl(e){return"0x"===e?null:ti(e)}function xl(e){return"0x"===e?vi:Rn.from(e)}!function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"}(vl||(vl={}));const El=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],Tl={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function Cl(e){return ti(gn(zr(gn(Al(e),1)),12))}function kl(e,t){return Cl(yl(cn(e),t))}function Sl(e,t){const n=fn(Rn.from(e).toHexString());return n.length>32&&bl.throwArgumentError("invalid length for "+t,"transaction:"+t,e),n}function Il(e,t){return{address:ti(e),storageKeys:(t||[]).map(((t,n)=>(32!==An(t)&&bl.throwArgumentError("invalid access list storageKey",`accessList[${e}:${n}]`,t),t.toLowerCase())))}}function Pl(e){if(Array.isArray(e))return e.map(((e,t)=>Array.isArray(e)?(e.length>2&&bl.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${t}]`,e),Il(e[0],e[1])):Il(e.address,e.storageKeys)));const t=Object.keys(e).map((t=>{const n=e[t].reduce(((e,t)=>(e[t]=!0,e)),{});return Il(t,Object.keys(n).sort())}));return t.sort(((e,t)=>e.address.localeCompare(t.address))),t}function Ol(e){return Pl(e).map((e=>[e.address,e.storageKeys]))}function Nl(e,t){if(null!=e.gasPrice){const t=Rn.from(e.gasPrice),n=Rn.from(e.maxFeePerGas||0);t.eq(n)||bl.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:t,maxFeePerGas:n})}const n=[Sl(e.chainId||0,"chainId"),Sl(e.nonce||0,"nonce"),Sl(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Sl(e.maxFeePerGas||0,"maxFeePerGas"),Sl(e.gasLimit||0,"gasLimit"),null!=e.to?ti(e.to):"0x",Sl(e.value||0,"value"),e.data||"0x",Ol(e.accessList||[])];if(t){const e=En(t);n.push(Sl(e.recoveryParam,"recoveryParam")),n.push(fn(e.r)),n.push(fn(e.s))}return bn(["0x02",qr(n)])}function Rl(e,t){const n=[Sl(e.chainId||0,"chainId"),Sl(e.nonce||0,"nonce"),Sl(e.gasPrice||0,"gasPrice"),Sl(e.gasLimit||0,"gasLimit"),null!=e.to?ti(e.to):"0x",Sl(e.value||0,"value"),e.data||"0x",Ol(e.accessList||[])];if(t){const e=En(t);n.push(Sl(e.recoveryParam,"recoveryParam")),n.push(fn(e.r)),n.push(fn(e.s))}return bn(["0x01",qr(n)])}function Ml(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&bl.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),function(e,t){tr(e,Tl);const n=[];El.forEach((function(t){let r=e[t.name]||[];const i={};t.numeric&&(i.hexPad="left"),r=cn(yn(r,i)),t.length&&r.length!==t.length&&r.length>0&&bl.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,r),t.maxLength&&(r=fn(r),r.length>t.maxLength&&bl.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,r)),n.push(yn(r))}));let r=0;if(null!=e.chainId?(r=e.chainId,"number"!=typeof r&&bl.throwArgumentError("invalid transaction.chainId","transaction",e)):t&&!sn(t)&&t.v>28&&(r=Math.floor((t.v-35)/2)),0!==r&&(n.push(yn(r)),n.push("0x"),n.push("0x")),!t)return qr(n);const i=En(t);let o=27+i.recoveryParam;return 0!==r?(n.pop(),n.pop(),n.pop(),o+=2*r+8,i.v>28&&i.v!==o&&bl.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==o&&bl.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),n.push(yn(o)),n.push(fn(cn(i.r))),n.push(fn(cn(i.s))),qr(n)}(e,t);switch(e.type){case 1:return Rl(e,t);case 2:return Nl(e,t)}return bl.throwError(`unsupported transaction type: ${e.type}`,tn.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})}function Ll(e,t,n){try{const n=xl(t[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");e.v=n}catch(e){bl.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=xn(t[1],32),e.s=xn(t[2],32);try{const t=zr(n(e));e.from=kl(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}function Dl(e){const t=cn(e);if(t[0]>127)return function(e){const t=Zr(e);9!==t.length&&6!==t.length&&bl.throwArgumentError("invalid raw transaction","rawTransaction",e);const n={nonce:xl(t[0]).toNumber(),gasPrice:xl(t[1]),gasLimit:xl(t[2]),to:wl(t[3]),value:xl(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=Rn.from(t[6]).toNumber()}catch(e){return n}if(n.r=xn(t[7],32),n.s=xn(t[8],32),Rn.from(n.r).isZero()&&Rn.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);let r=n.v-27;const i=t.slice(0,6);0!==n.chainId&&(i.push(yn(n.chainId)),i.push("0x"),i.push("0x"),r-=2*n.chainId+8);const o=zr(qr(i));try{n.from=kl(o,{r:yn(n.r),s:yn(n.s),recoveryParam:r})}catch(e){}n.hash=zr(e)}return n.type=null,n}(t);switch(t[0]){case 1:return function(e){const t=Zr(e.slice(1));8!==t.length&&11!==t.length&&bl.throwArgumentError("invalid component count for transaction type: 1","payload",yn(e));const n={type:1,chainId:xl(t[0]).toNumber(),nonce:xl(t[1]).toNumber(),gasPrice:xl(t[2]),gasLimit:xl(t[3]),to:wl(t[4]),value:xl(t[5]),data:t[6],accessList:Pl(t[7])};return 8===t.length||(n.hash=zr(e),Ll(n,t.slice(8),Rl)),n}(t);case 2:return function(e){const t=Zr(e.slice(1));9!==t.length&&12!==t.length&&bl.throwArgumentError("invalid component count for transaction type: 2","payload",yn(e));const n=xl(t[2]),r=xl(t[3]),i={type:2,chainId:xl(t[0]).toNumber(),nonce:xl(t[1]).toNumber(),maxPriorityFeePerGas:n,maxFeePerGas:r,gasPrice:null,gasLimit:xl(t[4]),to:wl(t[5]),value:xl(t[6]),data:t[7],accessList:Pl(t[8])};return 9===t.length||(i.hash=zr(e),Ll(i,t.slice(9),Nl)),i}(t)}return bl.throwError(`unsupported transaction type: ${t[0]}`,tn.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})}var Fl=Object.freeze({__proto__:null,get TransactionTypes(){return vl},accessListify:Pl,computeAddress:Cl,parse:Dl,recoverAddress:kl,serialize:Ml});var Bl=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const jl=new tn("contracts/5.7.0"),zl={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function _l(e,t){return Bl(this,void 0,void 0,(function*(){const n=yield t;"string"!=typeof n&&jl.throwArgumentError("invalid address or ENS name","name",n);try{return ti(n)}catch(e){}e||jl.throwError("a provider or signer is needed to resolve ENS names",tn.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const r=yield e.resolveName(n);return null==r&&jl.throwArgumentError("resolver or addr is not configured for ENS name","name",n),r}))}function Ul(e,t,n){return Bl(this,void 0,void 0,(function*(){return Array.isArray(n)?yield Promise.all(n.map(((n,r)=>Ul(e,Array.isArray(t)?t[r]:t[n.name],n)))):"address"===n.type?yield _l(e,t):"tuple"===n.type?yield Ul(e,t,n.components):"array"===n.baseType?Array.isArray(t)?yield Promise.all(t.map((t=>Ul(e,t,n.arrayChildren)))):Promise.reject(jl.makeError("invalid value for array",tn.errors.INVALID_ARGUMENT,{argument:"value",value:t})):t}))}function Hl(e,t,n){return Bl(this,void 0,void 0,(function*(){let r={};n.length===t.inputs.length+1&&"object"==typeof n[n.length-1]&&(r=nr(n.pop())),jl.checkArgumentCount(n.length,t.inputs.length,"passed to contract"),e.signer?r.from?r.from=er({override:_l(e.signer,r.from),signer:e.signer.getAddress()}).then((e=>Bl(this,void 0,void 0,(function*(){return ti(e.signer)!==e.override&&jl.throwError("Contract with a Signer cannot override from",tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override})))):r.from=e.signer.getAddress():r.from&&(r.from=_l(e.provider,r.from));const i=yield er({args:Ul(e.signer||e.provider,n,t.inputs),address:e.resolvedAddress,overrides:er(r)||{}}),o=e.interface.encodeFunctionData(t,i.args),a={data:o,to:i.address},s=i.overrides;if(null!=s.nonce&&(a.nonce=Rn.from(s.nonce).toNumber()),null!=s.gasLimit&&(a.gasLimit=Rn.from(s.gasLimit)),null!=s.gasPrice&&(a.gasPrice=Rn.from(s.gasPrice)),null!=s.maxFeePerGas&&(a.maxFeePerGas=Rn.from(s.maxFeePerGas)),null!=s.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=Rn.from(s.maxPriorityFeePerGas)),null!=s.from&&(a.from=s.from),null!=s.type&&(a.type=s.type),null!=s.accessList&&(a.accessList=Pl(s.accessList)),null==a.gasLimit&&null!=t.gas){let e=21e3;const n=cn(o);for(let t=0;t<n.length;t++)e+=4,n[t]&&(e+=64);a.gasLimit=Rn.from(t.gas).add(e)}if(s.value){const e=Rn.from(s.value);e.isZero()||t.payable||jl.throwError("non-payable method cannot override value",tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),a.value=e}s.customData&&(a.customData=nr(s.customData)),s.ccipReadEnabled&&(a.ccipReadEnabled=!!s.ccipReadEnabled),delete r.nonce,delete r.gasLimit,delete r.gasPrice,delete r.from,delete r.value,delete r.type,delete r.accessList,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.customData,delete r.ccipReadEnabled;const u=Object.keys(r).filter((e=>null!=r[e]));return u.length&&jl.throwError(`cannot override ${u.map((e=>JSON.stringify(e))).join(",")}`,tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:u}),a}))}function Wl(e,t){const n=t.wait.bind(t);t.wait=t=>n(t).then((t=>(t.events=t.logs.map((n=>{let r=ar(n),i=null;try{i=e.interface.parseLog(n)}catch(e){}return i&&(r.args=i.args,r.decode=(t,n)=>e.interface.decodeEventLog(i.eventFragment,t,n),r.event=i.name,r.eventSignature=i.signature),r.removeListener=()=>e.provider,r.getBlock=()=>e.provider.getBlock(t.blockHash),r.getTransaction=()=>e.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>Promise.resolve(t),r})),t)))}function Vl(e,t,n){const r=e.signer||e.provider;return function(...i){return Bl(this,void 0,void 0,(function*(){let o;if(i.length===t.inputs.length+1&&"object"==typeof i[i.length-1]){const e=nr(i.pop());null!=e.blockTag&&(o=yield e.blockTag),delete e.blockTag,i.push(e)}null!=e.deployTransaction&&(yield e._deployed(o));const a=yield Hl(e,t,i),s=yield r.call(a,o);try{let r=e.interface.decodeFunctionResult(t,s);return n&&1===t.outputs.length&&(r=r[0]),r}catch(t){throw t.code===tn.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=i,t.transaction=a),t}}))}}function ql(e,t,n){return t.constant?Vl(e,t,n):function(e,t){return function(...n){return Bl(this,void 0,void 0,(function*(){e.signer||jl.throwError("sending a transaction requires a signer",tn.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());const r=yield Hl(e,t,n),i=yield e.signer.sendTransaction(r);return Wl(e,i),i}))}}(e,t)}function Xl(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.map((e=>Array.isArray(e)?e.join("|"):e)).join(":"):""):"*"}let Gl=class{constructor(e,t){Jn(this,"tag",e),Jn(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter((n=>!(!t&&n.listener===e)||(t=!0,!1)))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map((e=>e.listener))}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter((t=>{const n=e.slice();return setTimeout((()=>{t.listener.apply(this,n)}),0),!t.once})),t}prepareEvent(e){}getEmit(e){return[e]}},Zl=class extends Gl{constructor(){super("error",null)}},Yl=class extends Gl{constructor(e,t,n,r){const i={address:e};let o=t.getEventTopic(n);r?(o!==r[0]&&jl.throwArgumentError("topic mismatch","topics",r),i.topics=r.slice()):i.topics=[o],super(Xl(i),i),Jn(this,"address",e),Jn(this,"interface",t),Jn(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=Lr(e.args);if(t.length)throw t[0].error;const n=(e.args||[]).slice();return n.push(e),n}},Kl=class extends Gl{constructor(e,t){super("*",{address:e}),Jn(this,"address",e),Jn(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,n)=>this.interface.decodeEventLog(t.eventFragment,e,n),e.args=t.args}catch(e){}}},Ql=class{constructor(e,t,n){Jn(this,"interface",$n(new.target,"getInterface")(t)),null==n?(Jn(this,"provider",null),Jn(this,"signer",null)):Ca.isSigner(n)?(Jn(this,"provider",n.provider||null),Jn(this,"signer",n)):va.isProvider(n)?(Jn(this,"provider",n),Jn(this,"signer",null)):jl.throwArgumentError("invalid signer or provider","signerOrProvider",n),Jn(this,"callStatic",{}),Jn(this,"estimateGas",{}),Jn(this,"functions",{}),Jn(this,"populateTransaction",{}),Jn(this,"filters",{});{const e={};Object.keys(this.interface.events).forEach((t=>{const n=this.interface.events[t];Jn(this.filters,t,((...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(n,e)}))),e[n.name]||(e[n.name]=[]),e[n.name].push(t)})),Object.keys(e).forEach((t=>{const n=e[t];1===n.length?Jn(this.filters,t,this.filters[n[0]]):jl.warn(`Duplicate definition of ${t} (${n.join(", ")})`)}))}if(Jn(this,"_runningEvents",{}),Jn(this,"_wrappedEmits",{}),null==e&&jl.throwArgumentError("invalid contract address or ENS name","addressOrName",e),Jn(this,"address",e),this.provider)Jn(this,"resolvedAddress",_l(this.provider,e));else try{Jn(this,"resolvedAddress",Promise.resolve(ti(e)))}catch(e){jl.throwError("provider is required to use ENS name as contract address",tn.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch((e=>{}));const r={},i={};Object.keys(this.interface.functions).forEach((e=>{const t=this.interface.functions[e];if(i[e])jl.warn(`Duplicate ABI entry for ${JSON.stringify(e)}`);else{i[e]=!0;{const n=t.name;r[`%${n}`]||(r[`%${n}`]=[]),r[`%${n}`].push(e)}null==this[e]&&Jn(this,e,ql(this,t,!0)),null==this.functions[e]&&Jn(this.functions,e,ql(this,t,!1)),null==this.callStatic[e]&&Jn(this.callStatic,e,Vl(this,t,!0)),null==this.populateTransaction[e]&&Jn(this.populateTransaction,e,function(e,t){return function(...n){return Hl(e,t,n)}}(this,t)),null==this.estimateGas[e]&&Jn(this.estimateGas,e,function(e,t){const n=e.signer||e.provider;return function(...r){return Bl(this,void 0,void 0,(function*(){n||jl.throwError("estimate require a provider or signer",tn.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield Hl(e,t,r);return yield n.estimateGas(i)}))}}(this,t))}})),Object.keys(r).forEach((e=>{const t=r[e];if(t.length>1)return;e=e.substring(1);const n=t[0];try{null==this[e]&&Jn(this,e,this[n])}catch(e){}null==this.functions[e]&&Jn(this.functions,e,this.functions[n]),null==this.callStatic[e]&&Jn(this.callStatic,e,this.callStatic[n]),null==this.populateTransaction[e]&&Jn(this.populateTransaction,e,this.populateTransaction[n]),null==this.estimateGas[e]&&Jn(this.estimateGas,e,this.estimateGas[n])}))}static getContractAddress(e){return ii(e)}static getInterface(e){return ma.isInterface(e)?e:new ma(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((()=>this)):this._deployedPromise=this.provider.getCode(this.address,e).then((e=>("0x"===e&&jl.throwError("contract not deployed",tn.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this)))),this._deployedPromise}fallback(e){this.signer||jl.throwError("sending a transactions require a signer",tn.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const t=nr(e||{});return["from","to"].forEach((function(e){null!=t[e]&&jl.throwError("cannot override "+e,tn.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.to=this.resolvedAddress,this.deployed().then((()=>this.signer.sendTransaction(t)))}connect(e){"string"==typeof e&&(e=new ka(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&Jn(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return fa.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new Zl);if("event"===e)return this._normalizeRunningEvent(new Gl("event",null));if("*"===e)return this._normalizeRunningEvent(new Kl(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new Yl(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");const n=this.interface.getEvent(t);return this._normalizeRunningEvent(new Yl(this.address,this.interface,n,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Gl(Xl(t),t))}return this._normalizeRunningEvent(new Kl(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&e.filter&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,n){const r=ar(t);return r.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},r.getBlock=()=>this.provider.getBlock(t.blockHash),r.getTransaction=()=>this.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(r),r}_addEventListener(e,t,n){if(this.provider||jl.throwError("events require a provider or a signer with a provider",tn.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const n=n=>{let r=this._wrapEvent(e,n,t);if(null==r.decodeError)try{const t=e.getEmit(r);this.emit(e.filter,...t)}catch(e){r.decodeError=e.error}null!=e.filter&&this.emit("event",r),null!=r.decodeError&&this.emit("error",r.decodeError,r)};this._wrappedEmits[e.tag]=n,null!=e.filter&&this.provider.on(e.filter,n)}}queryFilter(e,t,n){const r=this._getRunningEvent(e),i=nr(r.filter);return"string"==typeof t&&hn(t,32)?(null!=n&&jl.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=n?n:"latest"),this.provider.getLogs(i).then((e=>e.map((e=>this._wrapEvent(r,e,null)))))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const n=this._getRunningEvent(e),r=n.run(t)>0;return this._checkRunningEvents(n),r}listenerCount(e){return this.provider?null==e?Object.keys(this._runningEvents).reduce(((e,t)=>e+this._runningEvents[t].listenerCount()),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach((t=>{e.push(t)}));return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const n=this._getRunningEvent(e);return n.removeListener(t),this._checkRunningEvents(n),this}removeListener(e,t){return this.off(e,t)}},Jl=class extends Ql{};class $l{constructor(e,t,n){let r=null;r="string"==typeof t?t:ln(t)?yn(t):t&&"string"==typeof t.object?t.object:"!","0x"!==r.substring(0,2)&&(r="0x"+r),(!hn(r)||r.length%2)&&jl.throwArgumentError("invalid bytecode","bytecode",t),n&&!Ca.isSigner(n)&&jl.throwArgumentError("invalid signer","signer",n),Jn(this,"bytecode",r),Jn(this,"interface",$n(new.target,"getInterface")(e)),Jn(this,"signer",n||null)}getDeployTransaction(...e){let t={};if(e.length===this.interface.deploy.inputs.length+1&&"object"==typeof e[e.length-1]){t=nr(e.pop());for(const e in t)if(!zl[e])throw new Error("unknown transaction override "+e)}if(["data","from","to"].forEach((e=>{null!=t[e]&&jl.throwError("cannot override "+e,tn.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.value){Rn.from(t.value).isZero()||this.interface.deploy.payable||jl.throwError("non-payable constructor cannot override value",tn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:t.value})}return jl.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),t.data=yn(dn([this.bytecode,this.interface.encodeDeploy(e)])),t}deploy(...e){return Bl(this,void 0,void 0,(function*(){let t={};e.length===this.interface.deploy.inputs.length+1&&(t=e.pop()),jl.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");const n=yield Ul(this.signer,e,this.interface.deploy.inputs);n.push(t);const r=this.getDeployTransaction(...n),i=yield this.signer.sendTransaction(r),o=$n(this.constructor,"getContractAddress")(i),a=$n(this.constructor,"getContract")(o,this.interface,this.signer);return Wl(a,i),Jn(a,"deployTransaction",i),a}))}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,t){null==e&&jl.throwError("missing compiler output",tn.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));const n=e.abi;let r=null;return e.bytecode?r=e.bytecode:e.evm&&e.evm.bytecode&&(r=e.evm.bytecode),new this(n,r,t)}static getInterface(e){return Jl.getInterface(e)}static getContractAddress(e){return ii(e)}static getContract(e,t,n){return new Jl(e,t,n)}}class ec{constructor(e){Jn(this,"alphabet",e),Jn(this,"base",e.length),Jn(this,"_alphabetMap",{}),Jn(this,"_leader",e.charAt(0));for(let t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}encode(e){let t=cn(e);if(0===t.length)return"";let n=[0];for(let e=0;e<t.length;++e){let r=t[e];for(let e=0;e<n.length;++e)r+=n[e]<<8,n[e]=r%this.base,r=r/this.base|0;for(;r>0;)n.push(r%this.base),r=r/this.base|0}let r="";for(let e=0;0===t[e]&&e<t.length-1;++e)r+=this._leader;for(let e=n.length-1;e>=0;--e)r+=this.alphabet[n[e]];return r}decode(e){if("string"!=typeof e)throw new TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let n=0;n<e.length;n++){let r=this._alphabetMap[e[n]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let i=r;for(let e=0;e<t.length;++e)i+=t[e]*this.base,t[e]=255&i,i>>=8;for(;i>0;)t.push(255&i),i>>=8}for(let n=0;e[n]===this._leader&&n<e.length-1;++n)t.push(0);return cn(new Uint8Array(t.reverse()))}}const tc=new ec("abcdefghijklmnopqrstuvwxyz234567"),nc=new ec("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var rc,ic=Object.freeze({__proto__:null,Base32:tc,Base58:nc,BaseX:ec});!function(e){e.sha256="sha256",e.sha512="sha512"}(rc||(rc={}));const oc=new tn("sha2/5.7.0");function ac(e){return"0x"+Iu.ripemd160().update(cn(e)).digest("hex")}function sc(e){return"0x"+Iu.sha256().update(cn(e)).digest("hex")}function uc(e){return"0x"+Iu.sha512().update(cn(e)).digest("hex")}function lc(e,t,n){return rc[e]||oc.throwError("unsupported algorithm "+e,tn.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+Iu.hmac(Iu[e],cn(t)).update(cn(n)).digest("hex")}var cc=Object.freeze({__proto__:null,get SupportedAlgorithm(){return rc},computeHmac:lc,ripemd160:ac,sha256:sc,sha512:uc});function dc(e,t,n,r,i){let o;e=cn(e),t=cn(t);let a=1;const s=new Uint8Array(r),u=new Uint8Array(t.length+4);let l,c;u.set(t);for(let d=1;d<=a;d++){u[t.length]=d>>24&255,u[t.length+1]=d>>16&255,u[t.length+2]=d>>8&255,u[t.length+3]=255&d;let f=cn(lc(i,e,u));o||(o=f.length,c=new Uint8Array(o),a=Math.ceil(r/o),l=r-(a-1)*o),c.set(f);for(let t=1;t<n;t++){f=cn(lc(i,e,f));for(let e=0;e<o;e++)c[e]^=f[e]}const p=(d-1)*o,h=d===a?l:o;s.set(cn(c).slice(0,h),p)}return yn(s)}const fc=new tn("wordlists/5.7.0");class pc{constructor(e){fc.checkAbstract(new.target,pc),Jn(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){const t=[];for(let n=0;n<2048;n++){const r=e.getWord(n);if(n!==e.getWordIndex(r))return"0x";t.push(r)}return lo(t.join("\n")+"\n")}static register(e,t){t||(t=e.locale)}}let hc=null;function mc(e){if(null==hc&&(hc="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==pc.check(e)))throw hc=null,new Error("BIP39 Wordlist for en (English) FAILED")}const yc=new class extends pc{constructor(){super("en")}getWord(e){return mc(this),hc[e]}getWordIndex(e){return mc(this),hc.indexOf(e)}};pc.register(yc);const Ac={en:yc},gc=new tn("hdnode/5.7.0"),bc=Rn.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),vc=Fi("Bitcoin seed"),wc=2147483648;function xc(e){return(1<<e)-1<<8-e}function Ec(e){return xn(yn(e),32)}function Tc(e){return nc.encode(dn([e,gn(sc(sc(e)),0,4)]))}function Cc(e){if(null==e)return Ac.en;if("string"==typeof e){const t=Ac[e];return null==t&&gc.throwArgumentError("unknown locale","wordlist",e),t}return e}const kc={},Sc="m/44'/60'/0'/0/0";class Ic{constructor(e,t,n,r,i,o,a,s){if(e!==kc)throw new Error("HDNode constructor cannot be called directly");if(t){const e=new ml(t);Jn(this,"privateKey",e.privateKey),Jn(this,"publicKey",e.compressedPublicKey)}else Jn(this,"privateKey",null),Jn(this,"publicKey",yn(n));Jn(this,"parentFingerprint",r),Jn(this,"fingerprint",gn(ac(sc(this.publicKey)),0,4)),Jn(this,"address",Cl(this.publicKey)),Jn(this,"chainCode",i),Jn(this,"index",o),Jn(this,"depth",a),null==s?(Jn(this,"mnemonic",null),Jn(this,"path",null)):"string"==typeof s?(Jn(this,"mnemonic",null),Jn(this,"path",s)):(Jn(this,"mnemonic",s),Jn(this,"path",s.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return Tc(dn([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",yn(this.depth),this.parentFingerprint,xn(yn(this.index),4),this.chainCode,null!=this.privateKey?dn(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new Ic(kc,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let t=this.path;t&&(t+="/"+(2147483647&e));const n=new Uint8Array(37);if(e&wc){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(cn(this.privateKey),1),t&&(t+="'")}else n.set(cn(this.publicKey));for(let t=24;t>=0;t-=8)n[33+(t>>3)]=e>>24-t&255;const r=cn(lc(rc.sha512,this.chainCode,n)),i=r.slice(0,32),o=r.slice(32);let a=null,s=null;if(this.privateKey)a=Ec(Rn.from(i).add(this.privateKey).mod(bc));else{s=new ml(yn(i))._addPoint(this.publicKey)}let u=t;const l=this.mnemonic;return l&&(u=Object.freeze({phrase:l.phrase,path:t,locale:l.locale||"en"})),new Ic(kc,a,s,this.fingerprint,Ec(o),e,this.depth+1,u)}derivePath(e){const t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();let n=this;for(let e=0;e<t.length;e++){const r=t[e];if(r.match(/^[0-9]+'$/)){const e=parseInt(r.substring(0,r.length-1));if(e>=wc)throw new Error("invalid path index - "+r);n=n._derive(wc+e)}else{if(!r.match(/^[0-9]+$/))throw new Error("invalid path component - "+r);{const e=parseInt(r);if(e>=wc)throw new Error("invalid path index - "+r);n=n._derive(e)}}}return n}static _fromSeed(e,t){const n=cn(e);if(n.length<16||n.length>64)throw new Error("invalid seed");const r=cn(lc(rc.sha512,vc,n));return new Ic(kc,Ec(r.slice(0,32)),null,"0x00000000",Ec(r.slice(32)),0,0,t)}static fromMnemonic(e,t,n){return e=Nc(Oc(e,n=Cc(n)),n),Ic._fromSeed(Pc(e,t),{phrase:e,path:"m",locale:n.locale})}static fromSeed(e){return Ic._fromSeed(e,null)}static fromExtendedKey(e){const t=nc.decode(e);82===t.length&&Tc(t.slice(0,78))===e||gc.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const n=t[4],r=yn(t.slice(5,9)),i=parseInt(yn(t.slice(9,13)).substring(2),16),o=yn(t.slice(13,45)),a=t.slice(45,78);switch(yn(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new Ic(kc,null,yn(a),r,o,i,n,null);case"0x0488ade4":case"0x04358394 ":if(0!==a[0])break;return new Ic(kc,yn(a.slice(1)),null,r,o,i,n,null)}return gc.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Pc(e,t){t||(t="");const n=Fi("mnemonic"+t,Ni.NFKD);return dc(Fi(e,Ni.NFKD),n,2048,64,"sha512")}function Oc(e,t){t=Cc(t),gc.checkNormalize();const n=t.split(e);if(n.length%3!=0)throw new Error("invalid mnemonic");const r=cn(new Uint8Array(Math.ceil(11*n.length/8)));let i=0;for(let e=0;e<n.length;e++){let o=t.getWordIndex(n[e].normalize("NFKD"));if(-1===o)throw new Error("invalid mnemonic");for(let e=0;e<11;e++)o&1<<10-e&&(r[i>>3]|=1<<7-i%8),i++}const o=32*n.length/3,a=xc(n.length/3);if((cn(sc(r.slice(0,o/8)))[0]&a)!==(r[r.length-1]&a))throw new Error("invalid checksum");return yn(r.slice(0,o/8))}function Nc(e,t){if(t=Cc(t),(e=cn(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");const n=[0];let r=11;for(let t=0;t<e.length;t++)r>8?(n[n.length-1]<<=8,n[n.length-1]|=e[t],r-=8):(n[n.length-1]<<=r,n[n.length-1]|=e[t]>>8-r,n.push(e[t]&(1<<8-r)-1),r+=3);const i=e.length/4,o=cn(sc(e))[0]&xc(i);return n[n.length-1]<<=i,n[n.length-1]|=o>>8-i,t.join(n.map((e=>t.getWord(e))))}function Rc(e,t){try{return Oc(e,t),!0}catch(e){}return!1}function Mc(e){return("number"!=typeof e||e<0||e>=wc||e%1)&&gc.throwArgumentError("invalid account index","index",e),`m/44'/60'/${e}'/0/0`}var Lc=Object.freeze({__proto__:null,HDNode:Ic,defaultPath:Sc,entropyToMnemonic:Nc,getAccountPath:Mc,isValidMnemonic:Rc,mnemonicToEntropy:Oc,mnemonicToSeed:Pc});const Dc=new tn("random/5.7.0");const Fc=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();let Bc=Fc.crypto||Fc.msCrypto;function jc(e){(e<=0||e>1024||e%1||e!=e)&&Dc.throwArgumentError("invalid length","length",e);const t=new Uint8Array(e);return Bc.getRandomValues(t),cn(t)}function zc(e){for(let t=(e=e.slice()).length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}Bc&&Bc.getRandomValues||(Dc.warn("WARNING: Missing strong random number source"),Bc={getRandomValues:function(e){return Dc.throwError("no secure random source avaialble",tn.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var _c=Object.freeze({__proto__:null,randomBytes:jc,shuffled:zc}),Uc={exports:{}};!function(e,t){!function(t){function n(e){return parseInt(e)===e}function r(e){if(!n(e.length))return!1;for(var t=0;t<e.length;t++)if(!n(e[t])||e[t]<0||e[t]>255)return!1;return!0}function i(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!r(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&r(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function o(e){return new Uint8Array(e)}function a(e,t,n,r,i){null==r&&null==i||(e=e.slice?e.slice(r,i):Array.prototype.slice.call(e,r,i)),t.set(e,n)}var s,u={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var r=e.charCodeAt(n++);37===r?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(r)}return i(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var r=e[n];r<128?(t.push(String.fromCharCode(r)),n++):r>191&&r<224?(t.push(String.fromCharCode((31&r)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&r)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join("")}},l=(s="0123456789abcdef",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(s[(240&r)>>4]+s[15&r])}return t.join("")}}),c={16:10,24:12,32:14},d=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],p=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],h=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],y=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],A=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],g=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],v=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],w=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],x=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],T=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],C=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function k(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}var S=function(e){if(!(this instanceof S))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:i(e,!0)}),this._prepare()};S.prototype._prepare=function(){var e=c[this.key.length];if(null==e)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,r=4*(e+1),i=this.key.length/4,o=k(this.key);for(t=0;t<i;t++)n=t>>2,this._Ke[n][t%4]=o[t],this._Kd[e-n][t%4]=o[t];for(var a,s=0,u=i;u<r;){if(a=o[i-1],o[0]^=f[a>>16&255]<<24^f[a>>8&255]<<16^f[255&a]<<8^f[a>>24&255]^d[s]<<24,s+=1,8!=i)for(t=1;t<i;t++)o[t]^=o[t-1];else{for(t=1;t<i/2;t++)o[t]^=o[t-1];a=o[i/2-1],o[i/2]^=f[255&a]^f[a>>8&255]<<8^f[a>>16&255]<<16^f[a>>24&255]<<24;for(t=i/2+1;t<i;t++)o[t]^=o[t-1]}for(t=0;t<i&&u<r;)l=u>>2,p=u%4,this._Ke[l][p]=o[t],this._Kd[e-l][p]=o[t++],u++}for(var l=1;l<e;l++)for(var p=0;p<4;p++)a=this._Kd[l][p],this._Kd[l][p]=x[a>>24&255]^E[a>>16&255]^T[a>>8&255]^C[255&a]},S.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,n=[0,0,0,0],r=k(e),i=0;i<4;i++)r[i]^=this._Ke[0][i];for(var a=1;a<t;a++){for(i=0;i<4;i++)n[i]=h[r[i]>>24&255]^m[r[(i+1)%4]>>16&255]^y[r[(i+2)%4]>>8&255]^A[255&r[(i+3)%4]]^this._Ke[a][i];r=n.slice()}var s,u=o(16);for(i=0;i<4;i++)s=this._Ke[t][i],u[4*i]=255&(f[r[i]>>24&255]^s>>24),u[4*i+1]=255&(f[r[(i+1)%4]>>16&255]^s>>16),u[4*i+2]=255&(f[r[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(f[255&r[(i+3)%4]]^s);return u},S.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,n=[0,0,0,0],r=k(e),i=0;i<4;i++)r[i]^=this._Kd[0][i];for(var a=1;a<t;a++){for(i=0;i<4;i++)n[i]=g[r[i]>>24&255]^b[r[(i+3)%4]>>16&255]^v[r[(i+2)%4]>>8&255]^w[255&r[(i+1)%4]]^this._Kd[a][i];r=n.slice()}var s,u=o(16);for(i=0;i<4;i++)s=this._Kd[t][i],u[4*i]=255&(p[r[i]>>24&255]^s>>24),u[4*i+1]=255&(p[r[(i+3)%4]>>16&255]^s>>16),u[4*i+2]=255&(p[r[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(p[255&r[(i+1)%4]]^s);return u};var I=function(e){if(!(this instanceof I))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new S(e)};I.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16)a(e,n,0,r,r+16),a(n=this._aes.encrypt(n),t,r);return t},I.prototype.decrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16)a(e,n,0,r,r+16),a(n=this._aes.decrypt(n),t,r);return t};var P=function(e,t){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=o(16);this._lastCipherblock=i(t,!0),this._aes=new S(e)};P.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16){a(e,n,0,r,r+16);for(var s=0;s<16;s++)n[s]^=this._lastCipherblock[s];this._lastCipherblock=this._aes.encrypt(n),a(this._lastCipherblock,t,r)}return t},P.prototype.decrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=o(e.length),n=o(16),r=0;r<e.length;r+=16){a(e,n,0,r,r+16),n=this._aes.decrypt(n);for(var s=0;s<16;s++)t[r+s]=n[s]^this._lastCipherblock[s];a(e,this._lastCipherblock,0,r,r+16)}return t};var O=function(e,t,n){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 size)")}else t=o(16);n||(n=1),this.segmentSize=n,this._shiftRegister=i(t,!0),this._aes=new S(e)};O.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var t,n=i(e,!0),r=0;r<n.length;r+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)n[r+o]^=t[o];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(n,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return n},O.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var t,n=i(e,!0),r=0;r<n.length;r+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)n[r+o]^=t[o];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(e,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return n};var N=function(e,t){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=o(16);this._lastPrecipher=i(t,!0),this._lastPrecipherIndex=16,this._aes=new S(e)};N.prototype.encrypt=function(e){for(var t=i(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},N.prototype.decrypt=N.prototype.encrypt;var R=function(e){if(!(this instanceof R))throw Error("Counter must be instanitated with `new`");0===e||e||(e=1),"number"==typeof e?(this._counter=o(16),this.setValue(e)):this.setBytes(e)};R.prototype.setValue=function(e){if("number"!=typeof e||parseInt(e)!=e)throw new Error("invalid counter value (must be an integer)");for(var t=15;t>=0;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=i(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},R.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var M=function(e,t){if(!(this instanceof M))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof R||(t=new R(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new S(e)};M.prototype.encrypt=function(e){for(var t=i(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t},M.prototype.decrypt=M.prototype.encrypt;var L={AES:S,Counter:R,ModeOfOperation:{ecb:I,cbc:P,cfb:O,ofb:N,ctr:M},utils:{hex:l,utf8:u},padding:{pkcs7:{pad:function(e){var t=16-(e=i(e,!0)).length%16,n=o(e.length+t);a(e,n);for(var r=e.length;r<n.length;r++)n[r]=t;return n},strip:function(e){if((e=i(e,!0)).length<16)throw new Error("PKCS#7 invalid length");var t=e[e.length-1];if(t>16)throw new Error("PKCS#7 padding byte out of range");for(var n=e.length-t,r=0;r<t;r++)if(e[n+r]!==t)throw new Error("PKCS#7 invalid padding byte");var s=o(n);return a(e,s,0,0,n),s}}},_arrayTest:{coerceArray:i,createArray:o,copyArray:a}};e.exports=L}()}(Uc);var Hc=_e(Uc.exports);const Wc="json-wallets/5.7.0";function Vc(e){return"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),cn(e)}function qc(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function Xc(e){return"string"==typeof e?Fi(e,Ni.NFKC):cn(e)}function Gc(e,t){let n=e;const r=t.toLowerCase().split("/");for(let e=0;e<r.length;e++){let t=null;for(const i in n)if(i.toLowerCase()===r[e]){t=n[i];break}if(null===t)return null;n=t}return n}function Zc(e){const t=cn(e);t[6]=15&t[6]|64,t[8]=63&t[8]|128;const n=yn(t);return[n.substring(2,10),n.substring(10,14),n.substring(14,18),n.substring(18,22),n.substring(22,34)].join("-")}const Yc=new tn(Wc);class Kc extends sr{isCrowdsaleAccount(e){return!(!e||!e._isCrowdsaleAccount)}}function Qc(e,t){const n=JSON.parse(e);t=Xc(t);const r=ti(Gc(n,"ethaddr")),i=Vc(Gc(n,"encseed"));i&&i.length%16==0||Yc.throwArgumentError("invalid encseed","json",e);const o=cn(dc(t,t,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),s=i.slice(16),u=new Hc.ModeOfOperation.cbc(o,a),l=Hc.padding.pkcs7.strip(cn(u.decrypt(s)));let c="";for(let e=0;e<l.length;e++)c+=String.fromCharCode(l[e]);const d=zr(Fi(c));return new Kc({_isCrowdsaleAccount:!0,address:r,privateKey:d})}function Jc(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function $c(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return!(!t.version||parseInt(t.version)!==t.version||3!==parseInt(t.version))}function ed(e){if(Jc(e))try{return ti(JSON.parse(e).ethaddr)}catch(e){return null}if($c(e))try{return ti(JSON.parse(e).address)}catch(e){return null}return null}var td={exports:{}};!function(e,t){!function(t){const n=2147483647;function r(e){const t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let n=1779033703,r=3144134277,i=1013904242,o=2773480762,a=1359893119,s=2600822924,u=528734635,l=1541459225;const c=new Uint32Array(64);function d(e){let d=0,f=e.length;for(;f>=64;){let p,h,m,y,A,g=n,b=r,v=i,w=o,x=a,E=s,T=u,C=l;for(h=0;h<16;h++)m=d+4*h,c[h]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(h=16;h<64;h++)p=c[h-2],y=(p>>>17|p<<15)^(p>>>19|p<<13)^p>>>10,p=c[h-15],A=(p>>>7|p<<25)^(p>>>18|p<<14)^p>>>3,c[h]=(y+c[h-7]|0)+(A+c[h-16]|0)|0;for(h=0;h<64;h++)y=(((x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7))+(x&E^~x&T)|0)+(C+(t[h]+c[h]|0)|0)|0,A=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&b^g&v^b&v)|0,C=T,T=E,E=x,x=w+y|0,w=v,v=b,b=g,g=y+A|0;n=n+g|0,r=r+b|0,i=i+v|0,o=o+w|0,a=a+x|0,s=s+E|0,u=u+T|0,l=l+C|0,d+=64,f-=64}}d(e);let f,p=e.length%64,h=e.length/536870912|0,m=e.length<<3,y=p<56?56:120,A=e.slice(e.length-p,e.length);for(A.push(128),f=p+1;f<y;f++)A.push(0);return A.push(h>>>24&255),A.push(h>>>16&255),A.push(h>>>8&255),A.push(h>>>0&255),A.push(m>>>24&255),A.push(m>>>16&255),A.push(m>>>8&255),A.push(m>>>0&255),d(A),[n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function i(e,t,n){e=e.length<=64?e:r(e);const i=64+t.length+4,o=new Array(i),a=new Array(64);let s,u=[];for(s=0;s<64;s++)o[s]=54;for(s=0;s<e.length;s++)o[s]^=e[s];for(s=0;s<t.length;s++)o[64+s]=t[s];for(s=i-4;s<i;s++)o[s]=0;for(s=0;s<64;s++)a[s]=92;for(s=0;s<e.length;s++)a[s]^=e[s];function l(){for(let e=i-1;e>=i-4;e--){if(o[e]++,o[e]<=255)return;o[e]=0}}for(;n>=32;)l(),u=u.concat(r(a.concat(r(o)))),n-=32;return n>0&&(l(),u=u.concat(r(a.concat(r(o))).slice(0,n))),u}function o(e,t,n,r,i){let o;for(l(e,16*(2*n-1),i,0,16),o=0;o<2*n;o++)u(e,16*o,i,16),s(i,r),l(i,0,e,t+16*o,16);for(o=0;o<n;o++)l(e,t+2*o*16,e,16*o,16);for(o=0;o<n;o++)l(e,t+16*(2*o+1),e,16*(o+n),16)}function a(e,t){return e<<t|e>>>32-t}function s(e,t){l(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(let n=0;n<16;++n)e[n]+=t[n]}function u(e,t,n,r){for(let i=0;i<r;i++)n[i]^=e[t+i]}function l(e,t,n,r,i){for(;i--;)n[r++]=e[t++]}function c(e){if(!e||"number"!=typeof e.length)return!1;for(let t=0;t<e.length;t++){const n=e[t];if("number"!=typeof n||n%1||n<0||n>=256)return!1}return!0}function d(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function f(e,t,r,a,s,f,p){if(r=d(r,"N"),a=d(a,"r"),s=d(s,"p"),f=d(f,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>n/128/a)throw new Error("N too large");if(a>n/128/s)throw new Error("r too large");if(!c(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!c(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let h=i(e,t,128*s*a);const m=new Uint32Array(32*s*a);for(let e=0;e<m.length;e++){const t=4*e;m[e]=(255&h[t+3])<<24|(255&h[t+2])<<16|(255&h[t+1])<<8|(255&h[t+0])<<0}const y=new Uint32Array(64*a),A=new Uint32Array(32*a*r),g=32*a,b=new Uint32Array(16),v=new Uint32Array(16),w=s*r*2;let x,E,T=0,C=null,k=!1,S=0,I=0;const P=p?parseInt(1e3/a):4294967295,O="undefined"!=typeof setImmediate?setImmediate:setTimeout,N=function(){if(k)return p(new Error("cancelled"),T/w);let t;switch(S){case 0:E=32*I*a,l(m,E,y,0,g),S=1,x=0;case 1:t=r-x,t>P&&(t=P);for(let e=0;e<t;e++)l(y,0,A,(x+e)*g,g),o(y,g,a,b,v);if(x+=t,T+=t,p){const e=parseInt(1e3*T/w);if(e!==C){if(k=p(null,T/w),k)break;C=e}}if(x<r)break;x=0,S=2;case 2:t=r-x,t>P&&(t=P);for(let e=0;e<t;e++){const e=y[16*(2*a-1)]&r-1;u(A,e*g,y,g),o(y,g,a,b,v)}if(x+=t,T+=t,p){const e=parseInt(1e3*T/w);if(e!==C){if(k=p(null,T/w),k)break;C=e}}if(x<r)break;if(l(y,0,m,E,g),I++,I<s){S=0;break}h=[];for(let e=0;e<m.length;e++)h.push(m[e]>>0&255),h.push(m[e]>>8&255),h.push(m[e]>>16&255),h.push(m[e]>>24&255);const n=i(e,h,f);return p&&p(null,1,n),n}p&&O(N)};if(!p)for(;;){const e=N();if(null!=e)return e}N()}const p={scrypt:function(e,t,n,r,i,o,a){return new Promise((function(s,u){let l=0;a&&a(0),f(e,t,n,r,i,o,(function(e,t,n){if(e)u(e);else if(n)a&&1!==l&&a(1),s(new Uint8Array(n));else if(a&&t!==l)return l=t,a(t)}))}))},syncScrypt:function(e,t,n,r,i,o){return new Uint8Array(f(e,t,n,r,i,o))}};e.exports=p}()}(td);var nd=_e(td.exports),rd=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const id=new tn(Wc);function od(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class ad extends sr{isKeystoreAccount(e){return!(!e||!e._isKeystoreAccount)}}function sd(e,t){const n=Vc(Gc(e,"crypto/ciphertext"));if(yn(zr(dn([t.slice(16,32),n]))).substring(2)!==Gc(e,"crypto/mac").toLowerCase())throw new Error("invalid password");const r=function(e,t,n){if("aes-128-ctr"===Gc(e,"crypto/cipher")){const r=Vc(Gc(e,"crypto/cipherparams/iv")),i=new Hc.Counter(r);return cn(new Hc.ModeOfOperation.ctr(t,i).decrypt(n))}return null}(e,t.slice(0,16),n);r||id.throwError("unsupported cipher",tn.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=t.slice(32,64),o=Cl(r);if(e.address){let t=e.address.toLowerCase();if("0x"!==t.substring(0,2)&&(t="0x"+t),ti(t)!==o)throw new Error("address mismatch")}const a={_isKeystoreAccount:!0,address:o,privateKey:yn(r)};if("0.1"===Gc(e,"x-ethers/version")){const t=Vc(Gc(e,"x-ethers/mnemonicCiphertext")),n=Vc(Gc(e,"x-ethers/mnemonicCounter")),r=new Hc.Counter(n),o=new Hc.ModeOfOperation.ctr(i,r),s=Gc(e,"x-ethers/path")||Sc,u=Gc(e,"x-ethers/locale")||"en",l=cn(o.decrypt(t));try{const e=Nc(l,u),t=Ic.fromMnemonic(e,null,u).derivePath(s);if(t.privateKey!=a.privateKey)throw new Error("mnemonic mismatch");a.mnemonic=t.mnemonic}catch(e){if(e.code!==tn.errors.INVALID_ARGUMENT||"wordlist"!==e.argument)throw e}}return new ad(a)}function ud(e,t,n,r,i){return cn(dc(e,t,n,r,i))}function ld(e,t,n,r,i){return Promise.resolve(ud(e,t,n,r,i))}function cd(e,t,n,r,i){const o=Xc(t),a=Gc(e,"crypto/kdf");if(a&&"string"==typeof a){const t=function(e,t){return id.throwArgumentError("invalid key-derivation function parameters",e,t)};if("scrypt"===a.toLowerCase()){const n=Vc(Gc(e,"crypto/kdfparams/salt")),s=parseInt(Gc(e,"crypto/kdfparams/n")),u=parseInt(Gc(e,"crypto/kdfparams/r")),l=parseInt(Gc(e,"crypto/kdfparams/p"));s&&u&&l||t("kdf",a),0!=(s&s-1)&&t("N",s);const c=parseInt(Gc(e,"crypto/kdfparams/dklen"));return 32!==c&&t("dklen",c),r(o,n,s,u,l,64,i)}if("pbkdf2"===a.toLowerCase()){const r=Vc(Gc(e,"crypto/kdfparams/salt"));let i=null;const a=Gc(e,"crypto/kdfparams/prf");"hmac-sha256"===a?i="sha256":"hmac-sha512"===a?i="sha512":t("prf",a);const s=parseInt(Gc(e,"crypto/kdfparams/c")),u=parseInt(Gc(e,"crypto/kdfparams/dklen"));return 32!==u&&t("dklen",u),n(o,r,s,u,i)}}return id.throwArgumentError("unsupported key-derivation function","kdf",a)}function dd(e,t){const n=JSON.parse(e);return sd(n,cd(n,t,ud,nd.syncScrypt))}function fd(e,t,n){return rd(this,void 0,void 0,(function*(){const r=JSON.parse(e);return sd(r,yield cd(r,t,ld,nd.scrypt,n))}))}function pd(e,t,n,r){try{if(ti(e.address)!==Cl(e.privateKey))throw new Error("address/privateKey mismatch");if(od(e)){const t=e.mnemonic;if(Ic.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||Sc).privateKey!=e.privateKey)throw new Error("mnemonic mismatch")}}catch(e){return Promise.reject(e)}"function"!=typeof n||r||(r=n,n={}),n||(n={});const i=cn(e.privateKey),o=Xc(t);let a=null,s=null,u=null;if(od(e)){const t=e.mnemonic;a=cn(Oc(t.phrase,t.locale||"en")),s=t.path||Sc,u=t.locale||"en"}let l=n.client;l||(l="ethers.js");let c=null;c=n.salt?cn(n.salt):jc(32);let d=null;if(n.iv){if(d=cn(n.iv),16!==d.length)throw new Error("invalid iv")}else d=jc(16);let f=null;if(n.uuid){if(f=cn(n.uuid),16!==f.length)throw new Error("invalid uuid")}else f=jc(16);let p=1<<17,h=8,m=1;return n.scrypt&&(n.scrypt.N&&(p=n.scrypt.N),n.scrypt.r&&(h=n.scrypt.r),n.scrypt.p&&(m=n.scrypt.p)),nd.scrypt(o,c,p,h,m,64,r).then((t=>{const n=(t=cn(t)).slice(0,16),r=t.slice(16,32),o=t.slice(32,64),y=new Hc.Counter(d),A=cn(new Hc.ModeOfOperation.ctr(n,y).encrypt(i)),g=zr(dn([r,A])),b={address:e.address.substring(2).toLowerCase(),id:Zc(f),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:yn(d).substring(2)},ciphertext:yn(A).substring(2),kdf:"scrypt",kdfparams:{salt:yn(c).substring(2),n:p,dklen:32,p:m,r:h},mac:g.substring(2)}};if(a){const e=jc(16),t=new Hc.Counter(e),n=cn(new Hc.ModeOfOperation.ctr(o,t).encrypt(a)),r=new Date,i=r.getUTCFullYear()+"-"+qc(r.getUTCMonth()+1,2)+"-"+qc(r.getUTCDate(),2)+"T"+qc(r.getUTCHours(),2)+"-"+qc(r.getUTCMinutes(),2)+"-"+qc(r.getUTCSeconds(),2)+".0Z";b["x-ethers"]={client:l,gethFilename:"UTC--"+i+"--"+b.address,mnemonicCounter:yn(e).substring(2),mnemonicCiphertext:yn(n).substring(2),path:s,locale:u,version:"0.1"}}return JSON.stringify(b)}))}function hd(e,t,n){if(Jc(e)){n&&n(0);const r=Qc(e,t);return n&&n(1),Promise.resolve(r)}return $c(e)?fd(e,t,n):Promise.reject(new Error("invalid JSON wallet"))}function md(e,t){if(Jc(e))return Qc(e,t);if($c(e))return dd(e,t);throw new Error("invalid JSON wallet")}var yd=Object.freeze({__proto__:null,decryptCrowdsale:Qc,decryptJsonWallet:hd,decryptJsonWalletSync:md,decryptKeystore:fd,decryptKeystoreSync:dd,encryptKeystore:pd,getJsonWalletAddress:ed,isCrowdsaleWallet:Jc,isKeystoreWallet:$c});var Ad=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const gd=new tn("wallet/5.7.0");let bd=class e extends Ca{constructor(e,t){if(super(),null!=(n=e)&&hn(n.privateKey,32)&&null!=n.address){const t=new ml(e.privateKey);if(Jn(this,"_signingKey",(()=>t)),Jn(this,"address",Cl(this.publicKey)),this.address!==ti(e.address)&&gd.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(e){const t=e.mnemonic;return t&&t.phrase}(e)){const t=e.mnemonic;Jn(this,"_mnemonic",(()=>({phrase:t.phrase,path:t.path||Sc,locale:t.locale||"en"})));const n=this.mnemonic;Cl(Ic.fromMnemonic(n.phrase,null,n.locale).derivePath(n.path).privateKey)!==this.address&&gd.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else Jn(this,"_mnemonic",(()=>null))}else{if(ml.isSigningKey(e))"secp256k1"!==e.curve&&gd.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),Jn(this,"_signingKey",(()=>e));else{"string"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e="0x"+e);const t=new ml(e);Jn(this,"_signingKey",(()=>t))}Jn(this,"_mnemonic",(()=>null)),Jn(this,"address",Cl(this.publicKey))}var n;t&&!va.isProvider(t)&&gd.throwArgumentError("invalid provider","provider",t),Jn(this,"provider",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(t){return new e(this,t)}signTransaction(e){return er(e).then((t=>{null!=t.from&&(ti(t.from)!==this.address&&gd.throwArgumentError("transaction from address mismatch","transaction.from",e.from),delete t.from);const n=this._signingKey().signDigest(zr(Ml(t)));return Ml(t,n)}))}signMessage(e){return Ad(this,void 0,void 0,(function*(){return Tn(this._signingKey().signDigest(Vo(e)))}))}_signTypedData(e,t,n){return Ad(this,void 0,void 0,(function*(){const r=yield aa.resolveNames(e,t,n,(e=>(null==this.provider&&gd.throwError("cannot resolve ENS names without a provider",tn.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:e}),this.provider.resolveName(e))));return Tn(this._signingKey().signDigest(aa.hash(r.domain,t,r.value)))}))}encrypt(e,t,n){if("function"!=typeof t||n||(n=t,t={}),n&&"function"!=typeof n)throw new Error("invalid callback");return t||(t={}),pd(this,e,t,n)}static createRandom(t){let n=jc(16);t||(t={}),t.extraEntropy&&(n=cn(gn(zr(dn([n,t.extraEntropy])),0,16)));const r=Nc(n,t.locale);return e.fromMnemonic(r,t.path,t.locale)}static fromEncryptedJson(t,n,r){return hd(t,n,r).then((t=>new e(t)))}static fromEncryptedJsonSync(t,n){return new e(md(t,n))}static fromMnemonic(t,n,r){return n||(n=Sc),new e(Ic.fromMnemonic(t,null,r).derivePath(n))}};function vd(e,t){return kl(Vo(e),t)}function wd(e,t,n,r){return kl(aa.hash(e,t,n),r)}var xd=Object.freeze({__proto__:null,Wallet:bd,verifyMessage:vd,verifyTypedData:wd});const Ed=new tn("networks/5.7.1");function Td(e){const t=function(t,n){null==n&&(n={});const r=[];if(t.InfuraProvider&&"-"!==n.infura)try{r.push(new t.InfuraProvider(e,n.infura))}catch(e){}if(t.EtherscanProvider&&"-"!==n.etherscan)try{r.push(new t.EtherscanProvider(e,n.etherscan))}catch(e){}if(t.AlchemyProvider&&"-"!==n.alchemy)try{r.push(new t.AlchemyProvider(e,n.alchemy))}catch(e){}if(t.PocketProvider&&"-"!==n.pocket){const i=["goerli","ropsten","rinkeby","sepolia"];try{const o=new t.PocketProvider(e,n.pocket);o.network&&-1===i.indexOf(o.network.name)&&r.push(o)}catch(e){}}if(t.CloudflareProvider&&"-"!==n.cloudflare)try{r.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&"-"!==n.ankr)try{const i=["ropsten"],o=new t.AnkrProvider(e,n.ankr);o.network&&-1===i.indexOf(o.network.name)&&r.push(o)}catch(e){}if(0===r.length)return null;if(t.FallbackProvider){let i=1;return null!=n.quorum?i=n.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(r,i)}return r[0]};return t.renetwork=function(e){return Td(e)},t}function Cd(e,t){const n=function(n,r){return n.JsonRpcProvider?new n.JsonRpcProvider(e,t):null};return n.renetwork=function(t){return Cd(e,t)},n}const kd={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:Td("homestead")},Sd={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:Td("ropsten")},Id={chainId:63,name:"classicMordor",_defaultProvider:Cd("https://www.ethercluster.com/mordor","classicMordor")},Pd={unspecified:{chainId:0,name:"unspecified"},homestead:kd,mainnet:kd,morden:{chainId:2,name:"morden"},ropsten:Sd,testnet:Sd,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:Td("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:Td("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:Td("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:Td("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:Cd("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Id,classicTestnet:Id,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Cd("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:Td("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:Td("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function Od(e){if(null==e)return null;if("number"==typeof e){for(const t in Pd){const n=Pd[t];if(n.chainId===e)return{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress||null,_defaultProvider:n._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){const t=Pd[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=Pd[e.name];if(!t)return"number"!=typeof e.chainId&&Ed.throwArgumentError("invalid network chainId","network",e),e;0!==e.chainId&&e.chainId!==t.chainId&&Ed.throwArgumentError("network chainId mismatch","network",e);let n=e._defaultProvider||null;var r;return null==n&&t._defaultProvider&&(n=(r=t._defaultProvider)&&"function"==typeof r.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:n}}var Nd=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};function Rd(e,t){return Nd(this,void 0,void 0,(function*(){null==t&&(t={});const n={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(n.mode="cors",n.cache="no-cache",n.credentials="same-origin",n.redirect="follow",n.referrer="client"),null!=t.fetchOptions){const e=t.fetchOptions;e.mode&&(n.mode=e.mode),e.cache&&(n.cache=e.cache),e.credentials&&(n.credentials=e.credentials),e.redirect&&(n.redirect=e.redirect),e.referrer&&(n.referrer=e.referrer)}const r=yield fetch(e,n),i=yield r.arrayBuffer(),o={};return r.headers.forEach?r.headers.forEach(((e,t)=>{o[t.toLowerCase()]=e})):r.headers.keys().forEach((e=>{o[e.toLowerCase()]=r.headers.get(e)})),{headers:o,statusCode:r.status,statusMessage:r.statusText,body:cn(new Uint8Array(i))}}))}var Md=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Ld=new tn("web/5.7.1");function Dd(e){return new Promise((t=>{setTimeout(t,e)}))}function Fd(e,t){if(null==e)return null;if("string"==typeof e)return e;if(sn(e)){if(t&&("text"===t.split("/")[0]||"application/json"===t.split(";")[0].trim()))try{return _i(e)}catch(e){}return yn(e)}return e}function Bd(e,t,n){const r="object"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;Ld.assertArgument(r>0&&r%1==0,"invalid connection throttle limit","connection.throttleLimit",r);const i="object"==typeof e?e.throttleCallback:null,o="object"==typeof e&&"number"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;Ld.assertArgument(o>0&&o%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",o);const a="object"==typeof e&&!!e.errorPassThrough,s={};let u=null;const l={method:"GET"};let c=!1,d=12e4;if("string"==typeof e)u=e;else if("object"==typeof e){if(null!=e&&null!=e.url||Ld.throwArgumentError("missing URL","connection.url",e),u=e.url,"number"==typeof e.timeout&&e.timeout>0&&(d=e.timeout),e.headers)for(const t in e.headers)s[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(c=!0);if(l.allowGzip=!!e.allowGzip,null!=e.user&&null!=e.password){"https:"!==u.substring(0,6)&&!0!==e.allowInsecureAuthentication&&Ld.throwError("basic authentication requires a secure https url",tn.errors.INVALID_ARGUMENT,{argument:"url",url:u,user:e.user,password:"[REDACTED]"});const t=e.user+":"+e.password;s.authorization={key:"Authorization",value:"Basic "+po(Fi(t))}}null!=e.skipFetchSetup&&(l.skipFetchSetup=!!e.skipFetchSetup),null!=e.fetchOptions&&(l.fetchOptions=nr(e.fetchOptions))}const f=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),p=u?u.match(f):null;if(p)try{const e={statusCode:200,statusMessage:"OK",headers:{"content-type":p[1]||"text/plain"},body:p[2]?fo(p[3]):(h=p[3],Fi(h.replace(/%([0-9a-f][0-9a-f])/gi,((e,t)=>String.fromCharCode(parseInt(t,16))))))};let t=e.body;return n&&(t=n(e.body,e)),Promise.resolve(t)}catch(e){Ld.throwError("processing response error",tn.errors.SERVER_ERROR,{body:Fd(p[1],p[2]),error:e,requestBody:null,requestMethod:"GET",url:u})}var h;t&&(l.method="POST",l.body=t,null==s["content-type"]&&(s["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==s["content-length"]&&(s["content-length"]={key:"Content-Length",value:String(t.length)}));const m={};Object.keys(s).forEach((e=>{const t=s[e];m[t.key]=t.value})),l.headers=m;const y=function(){let e=null;return{promise:new Promise((function(t,n){d&&(e=setTimeout((()=>{null!=e&&(e=null,n(Ld.makeError("timeout",tn.errors.TIMEOUT,{requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,timeout:d,url:u})))}),d))})),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),A=function(){return Md(this,void 0,void 0,(function*(){for(let e=0;e<r;e++){let t=null;try{if(t=yield Rd(u,l),e<r)if(301===t.statusCode||302===t.statusCode){const e=t.headers.location||"";if("GET"===l.method&&e.match(/^https:/)){u=t.headers.location;continue}}else if(429===t.statusCode){let n=!0;if(i&&(n=yield i(e,u)),n){let n=0;const r=t.headers["retry-after"];n="string"==typeof r&&r.match(/^[1-9][0-9]*$/)?1e3*parseInt(r):o*parseInt(String(Math.random()*Math.pow(2,e))),yield Dd(n);continue}}}catch(e){t=e.response,null==t&&(y.cancel(),Ld.throwError("missing response",tn.errors.SERVER_ERROR,{requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,serverError:e,url:u}))}let s=t.body;if(c&&304===t.statusCode?s=null:!a&&(t.statusCode<200||t.statusCode>=300)&&(y.cancel(),Ld.throwError("bad response",tn.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:Fd(s,t.headers?t.headers["content-type"]:null),requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,url:u})),n)try{const e=yield n(s,t);return y.cancel(),e}catch(n){if(n.throttleRetry&&e<r){let t=!0;if(i&&(t=yield i(e,u)),t){const t=o*parseInt(String(Math.random()*Math.pow(2,e)));yield Dd(t);continue}}y.cancel(),Ld.throwError("processing response error",tn.errors.SERVER_ERROR,{body:Fd(s,t.headers?t.headers["content-type"]:null),error:n,requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,url:u})}return y.cancel(),s}return Ld.throwError("failed response",tn.errors.SERVER_ERROR,{requestBody:Fd(l.body,m["content-type"]),requestMethod:l.method,url:u})}))}();return Promise.race([y.promise,A])}function jd(e,t,n){let r=null;if(null!=t){r=Fi(t);const n="string"==typeof e?{url:e}:nr(e);if(n.headers){const e=0!==Object.keys(n.headers).filter((e=>"content-type"===e.toLowerCase())).length;e||(n.headers=nr(n.headers),n.headers["content-type"]="application/json")}else n.headers={"content-type":"application/json"};e=n}return Bd(e,r,((e,t)=>{let r=null;if(null!=e)try{r=JSON.parse(_i(e))}catch(t){Ld.throwError("invalid JSON",tn.errors.SERVER_ERROR,{body:e,error:t})}return n&&(r=n(r,t)),r}))}function zd(e,t){return t||(t={}),null==(t=nr(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(n,r){let i=null,o=!1;const a=()=>!o&&(o=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout((()=>{a()&&r(new Error("timeout"))}),t.timeout));const s=t.retryLimit;let u=0;!function i(){return e().then((function(e){if(void 0!==e)a()&&n(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!o){if(u++,u>s)return void(a()&&r(new Error("retry limit reached")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));e<t.floor&&(e=t.floor),e>t.ceiling&&(e=t.ceiling),setTimeout(i,e)}return null}),(function(e){a()&&r(e)}))}()}))}for(var _d=Object.freeze({__proto__:null,_fetchData:Bd,fetchJson:jd,poll:zd}),Ud="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Hd={},Wd=0;Wd<32;Wd++){var Vd=Ud.charAt(Wd);if(void 0!==Hd[Vd])throw new TypeError(Vd+" is ambiguous");Hd[Vd]=Wd}function qd(e){var t=e>>25;return(33554431&e)<<5^996825010&-(t>>0&1)^642813549&-(t>>1&1)^513874426&-(t>>2&1)^1027748829&-(t>>3&1)^705979059&-(t>>4&1)}function Xd(e){for(var t=1,n=0;n<e.length;++n){var r=e.charCodeAt(n);if(r<33||r>126)return"Invalid prefix ("+e+")";t=qd(t)^r>>5}for(t=qd(t),n=0;n<e.length;++n){var i=e.charCodeAt(n);t=qd(t)^31&i}return t}function Gd(e,t){if(t=t||90,e.length<8)return e+" too short";if(e.length>t)return"Exceeds length limit";var n=e.toLowerCase(),r=e.toUpperCase();if(e!==n&&e!==r)return"Mixed-case string "+e;var i=(e=n).lastIndexOf("1");if(-1===i)return"No separator character for "+e;if(0===i)return"Missing prefix for "+e;var o=e.slice(0,i),a=e.slice(i+1);if(a.length<6)return"Data too short";var s=Xd(o);if("string"==typeof s)return s;for(var u=[],l=0;l<a.length;++l){var c=a.charAt(l),d=Hd[c];if(void 0===d)return"Unknown character "+c;s=qd(s)^d,l+6>=a.length||u.push(d)}return 1!==s?"Invalid checksum for "+e:{prefix:o,words:u}}function Zd(e,t,n,r){for(var i=0,o=0,a=(1<<n)-1,s=[],u=0;u<e.length;++u)for(i=i<<t|e[u],o+=t;o>=n;)o-=n,s.push(i>>o&a);if(r)o>0&&s.push(i<<n-o&a);else{if(o>=t)return"Excess padding";if(i<<n-o&a)return"Non-zero padding"}return s}var Yd={decodeUnsafe:function(){var e=Gd.apply(null,arguments);if("object"==typeof e)return e},decode:function(e){var t=Gd.apply(null,arguments);if("object"==typeof t)return t;throw new Error(t)},encode:function(e,t,n){if(n=n||90,e.length+7+t.length>n)throw new TypeError("Exceeds length limit");var r=Xd(e=e.toLowerCase());if("string"==typeof r)throw new Error(r);for(var i=e+"1",o=0;o<t.length;++o){var a=t[o];if(a>>5!=0)throw new Error("Non 5-bit word");r=qd(r)^a,i+=Ud.charAt(a)}for(o=0;o<6;++o)r=qd(r);for(r^=1,o=0;o<6;++o){i+=Ud.charAt(r>>5*(5-o)&31)}return i},toWordsUnsafe:function(e){var t=Zd(e,8,5,!0);if(Array.isArray(t))return t},toWords:function(e){var t=Zd(e,8,5,!0);if(Array.isArray(t))return t;throw new Error(t)},fromWordsUnsafe:function(e){var t=Zd(e,5,8,!1);if(Array.isArray(t))return t},fromWords:function(e){var t=Zd(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}},Kd=_e(Yd);const Qd="providers/5.7.2",Jd=new tn(Qd);class $d{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),n=this.bigNumber.bind(this),r=this.blockTag.bind(this),i=this.data.bind(this),o=this.hash.bind(this),a=this.hex.bind(this),s=this.number.bind(this),u=this.type.bind(this);return e.transaction={hash:o,type:u,accessList:$d.allowNull(this.accessList.bind(this),null),blockHash:$d.allowNull(o,null),blockNumber:$d.allowNull(s,null),transactionIndex:$d.allowNull(s,null),confirmations:$d.allowNull(s,null),from:t,gasPrice:$d.allowNull(n),maxPriorityFeePerGas:$d.allowNull(n),maxFeePerGas:$d.allowNull(n),gasLimit:n,to:$d.allowNull(t,null),value:n,nonce:s,data:i,r:$d.allowNull(this.uint256),s:$d.allowNull(this.uint256),v:$d.allowNull(s),creates:$d.allowNull(t,null),raw:$d.allowNull(i)},e.transactionRequest={from:$d.allowNull(t),nonce:$d.allowNull(s),gasLimit:$d.allowNull(n),gasPrice:$d.allowNull(n),maxPriorityFeePerGas:$d.allowNull(n),maxFeePerGas:$d.allowNull(n),to:$d.allowNull(t),value:$d.allowNull(n),data:$d.allowNull((e=>this.data(e,!0))),type:$d.allowNull(s),accessList:$d.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:s,blockNumber:s,transactionHash:o,address:t,topics:$d.arrayOf(o),data:i,logIndex:s,blockHash:o},e.receipt={to:$d.allowNull(this.address,null),from:$d.allowNull(this.address,null),contractAddress:$d.allowNull(t,null),transactionIndex:s,root:$d.allowNull(a),gasUsed:n,logsBloom:$d.allowNull(i),blockHash:o,transactionHash:o,logs:$d.arrayOf(this.receiptLog.bind(this)),blockNumber:s,confirmations:$d.allowNull(s,null),cumulativeGasUsed:n,effectiveGasPrice:$d.allowNull(n),status:$d.allowNull(s),type:u},e.block={hash:$d.allowNull(o),parentHash:o,number:s,timestamp:s,nonce:$d.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:$d.allowNull(t),extraData:i,transactions:$d.allowNull($d.arrayOf(o)),baseFeePerGas:$d.allowNull(n)},e.blockWithTransactions=nr(e.block),e.blockWithTransactions.transactions=$d.allowNull($d.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:$d.allowNull(r,void 0),toBlock:$d.allowNull(r,void 0),blockHash:$d.allowNull(o,void 0),address:$d.allowNull(t,void 0),topics:$d.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:$d.allowNull(s),blockHash:$d.allowNull(o),transactionIndex:s,removed:$d.allowNull(this.boolean.bind(this)),address:t,data:$d.allowFalsish(i,"0x"),topics:$d.arrayOf(o),transactionHash:o,logIndex:s},e}accessList(e){return Pl(e||[])}number(e){return"0x"===e?0:Rn.from(e).toNumber()}type(e){return"0x"===e||null==e?0:Rn.from(e).toNumber()}bigNumber(e){return Rn.from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),hn(e))?e.toLowerCase():Jd.throwArgumentError("invalid hash","value",e)}data(e,t){const n=this.hex(e,t);if(n.length%2!=0)throw new Error("invalid data; odd-length - "+e);return n}address(e){return ti(e)}callAddress(e){if(!hn(e,32))return null;const t=ti(gn(e,12));return t===gi?null:t}contractAddress(e){return ii(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if("number"==typeof e||hn(e))return vn(e);throw new Error("invalid blockTag")}hash(e,t){const n=this.hex(e,t);return 32!==An(n)?Jd.throwArgumentError("invalid hash","value",e):n}difficulty(e){if(null==e)return null;const t=Rn.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!hn(e))throw new Error("invalid uint256");return xn(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);const n=null!=e._difficulty?e._difficulty:e.difficulty,r=$d.check(t,e);return r._difficulty=null==n?null:Rn.from(n),r}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return $d.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&Rn.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e)),1!==e.type&&2!==e.type||null!=e.accessList||(e.accessList=[]);const t=$d.check(this.formats.transaction,e);if(null!=e.chainId){let n=e.chainId;hn(n)&&(n=Rn.from(n).toNumber()),t.chainId=n}else{let n=e.networkId;null==n&&null==t.v&&(n=e.chainId),hn(n)&&(n=Rn.from(n).toNumber()),"number"!=typeof n&&null!=t.v&&(n=(t.v-35)/2,n<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),t.chainId=n}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return Dl(e)}receiptLog(e){return $d.check(this.formats.receiptLog,e)}receipt(e){const t=$d.check(this.formats.receipt,e);if(null!=t.root)if(t.root.length<=4){const e=Rn.from(t.root).toNumber();0===e||1===e?(null!=t.status&&t.status!==e&&Jd.throwArgumentError("alt-root-status/status mismatch","value",{root:t.root,status:t.status}),t.status=e,delete t.root):Jd.throwArgumentError("invalid alt-root-status","value.root",t.root)}else 66!==t.root.length&&Jd.throwArgumentError("invalid root hash","value.root",t.root);return null!=t.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map((e=>this.topics(e))):null!=e?this.hash(e,!0):null}filter(e){return $d.check(this.formats.filter,e)}filterLog(e){return $d.check(this.formats.filterLog,e)}static check(e,t){const n={};for(const r in e)try{const i=e[r](t[r]);void 0!==i&&(n[r]=i)}catch(e){throw e.checkKey=r,e.checkValue=t[r],e}return n}static allowNull(e,t){return function(n){return null==n?t:e(n)}}static allowFalsish(e,t){return function(n){return n?e(n):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const n=[];return t.forEach((function(t){n.push(e(t))})),n}}}function ef(e){return e&&"function"==typeof e.isCommunityResource}function tf(e){return ef(e)&&e.isCommunityResource()}let nf=!1;function rf(){nf||(nf=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}var of=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const af=new tn(Qd);function sf(e){return null==e?"null":(32!==An(e)&&af.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function uf(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map((e=>{if(Array.isArray(e)){const t={};e.forEach((e=>{t[sf(e)]=!0}));const n=Object.keys(t);return n.sort(),n.join("|")}return sf(e)})).join("&")}function lf(e){if("string"==typeof e){if(32===An(e=e.toLowerCase()))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+uf(e);if(ba.isForkEvent(e))throw af.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+uf(e.topics||[])}throw new Error("invalid event - "+e)}function cf(){return(new Date).getTime()}function df(e){return new Promise((t=>{setTimeout(t,e)}))}const ff=["block","network","pending","poll"];class pf{constructor(e,t,n){Jn(this,"tag",e),Jn(this,"listener",t),Jn(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(":");if("filter"!==e[0])return null;const t=e[1],n=""===(r=e[2])?[]:r.split(/&/g).map((e=>{if(""===e)return[];const t=e.split("|").map((e=>"null"===e?null:e));return 1===t.length?t[0]:t}));var r;const i={};return n.length>0&&(i.topics=n),t&&"*"!==t&&(i.address=t),i}pollable(){return this.tag.indexOf(":")>=0||ff.indexOf(this.tag)>=0}}const hf={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function mf(e){return xn(Rn.from(e).toHexString(),32)}function yf(e){return nc.encode(dn([e,gn(sc(sc(e)),0,4)]))}const Af=new RegExp("^(ipfs)://(.*)$","i"),gf=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Af,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function bf(e,t){try{return _i(vf(e,t))}catch(e){}return null}function vf(e,t){if("0x"===e)return null;const n=Rn.from(gn(e,t,t+32)).toNumber(),r=Rn.from(gn(e,n,n+32)).toNumber();return gn(e,n+32,n+32+r)}function wf(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):af.throwArgumentError("unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}function xf(e){const t=cn(e);if(t.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(t,32-t.length),n}function Ef(e){if(e.length%32==0)return e;const t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}function Tf(e){const t=[];let n=0;for(let r=0;r<e.length;r++)t.push(null),n+=32;for(let r=0;r<e.length;r++){const i=cn(e[r]);t[r]=xf(n),t.push(xf(i.length)),t.push(Ef(i)),n+=32+32*Math.ceil(i.length/32)}return bn(t)}class Cf{constructor(e,t,n,r){Jn(this,"provider",e),Jn(this,"name",n),Jn(this,"address",e.formatter.address(t)),Jn(this,"_resolvedAddress",r)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then((e=>Rn.from(e).eq(1))).catch((e=>{if(e.code===tn.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e}))),this._supportsEip2544}_fetch(e,t){return of(this,void 0,void 0,(function*(){const n={to:this.address,ccipReadEnabled:!0,data:bn([e,Uo(this.name),t||"0x"])};let r=!1;(yield this.supportsWildcard())&&(r=!0,n.data=bn(["0x9061b923",Tf([Ho(this.name),n.data])]));try{let e=yield this.provider.call(n);return cn(e).length%32==4&&af.throwError("resolver threw error",tn.errors.CALL_EXCEPTION,{transaction:n,data:e}),r&&(e=vf(e,0)),e}catch(e){if(e.code===tn.errors.CALL_EXCEPTION)return null;throw e}}))}_fetchBytes(e,t){return of(this,void 0,void 0,(function*(){const n=yield this._fetch(e,t);return null!=n?vf(n,0):null}))}_getAddress(e,t){const n=hf[String(e)];if(null==n&&af.throwError(`unsupported coin type: ${e}`,tn.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),"eth"===n.ilk)return this.provider.formatter.address(t);const r=cn(t);if(null!=n.p2pkh){const e=t.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return yf(dn([[n.p2pkh],"0x"+e[2]]))}}if(null!=n.p2sh){const e=t.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return yf(dn([[n.p2sh],"0x"+e[2]]))}}if(null!=n.prefix){const e=r[1];let t=r[0];if(0===t?20!==e&&32!==e&&(t=-1):t=-1,t>=0&&r.length===2+e&&e>=1&&e<=75){const e=Kd.toWords(r.slice(2));return e.unshift(t),Kd.encode(n.prefix,e)}}return null}getAddress(e){return of(this,void 0,void 0,(function*(){if(null==e&&(e=60),60===e)try{const e=yield this._fetch("0x3b3b57de");return"0x"===e||e===Si?null:this.provider.formatter.callAddress(e)}catch(e){if(e.code===tn.errors.CALL_EXCEPTION)return null;throw e}const t=yield this._fetchBytes("0xf1cb7e06",mf(e));if(null==t||"0x"===t)return null;const n=this._getAddress(e,t);return null==n&&af.throwError("invalid or unsupported coin data",tn.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),n}))}getAvatar(){return of(this,void 0,void 0,(function*(){const e=[{type:"name",content:this.name}];try{const t=yield this.getText("avatar");if(null==t)return null;for(let n=0;n<gf.length;n++){const r=t.match(gf[n]);if(null==r)continue;const i=r[1].toLowerCase();switch(i){case"https":return e.push({type:"url",content:t}),{linkage:e,url:t};case"data":return e.push({type:"data",content:t}),{linkage:e,url:t};case"ipfs":return e.push({type:"ipfs",content:t}),{linkage:e,url:wf(t)};case"erc721":case"erc1155":{const n="erc721"===i?"0xc87b56dd":"0x0e89341c";e.push({type:i,content:t});const o=this._resolvedAddress||(yield this.getAddress()),a=(r[2]||"").split("/");if(2!==a.length)return null;const s=yield this.provider.formatter.address(a[0]),u=xn(Rn.from(a[1]).toHexString(),32);if("erc721"===i){const t=this.provider.formatter.callAddress(yield this.provider.call({to:s,data:bn(["0x6352211e",u])}));if(o!==t)return null;e.push({type:"owner",content:t})}else if("erc1155"===i){const t=Rn.from(yield this.provider.call({to:s,data:bn(["0x00fdd58e",xn(o,32),u])}));if(t.isZero())return null;e.push({type:"balance",content:t.toString()})}const l={to:this.provider.formatter.address(a[0]),data:bn([n,u])};let c=bf(yield this.provider.call(l),0);if(null==c)return null;e.push({type:"metadata-url-base",content:c}),"erc1155"===i&&(c=c.replace("{id}",u.substring(2)),e.push({type:"metadata-url-expanded",content:c})),c.match(/^ipfs:/i)&&(c=wf(c)),e.push({type:"metadata-url",content:c});const d=yield jd(c);if(!d)return null;e.push({type:"metadata",content:JSON.stringify(d)});let f=d.image;if("string"!=typeof f)return null;if(f.match(/^(https:\/\/|data:)/i));else{if(null==f.match(Af))return null;e.push({type:"url-ipfs",content:f}),f=wf(f)}return e.push({type:"url",content:f}),{linkage:e,url:f}}}}}catch(e){}return null}))}getContentHash(){return of(this,void 0,void 0,(function*(){const e=yield this._fetchBytes("0xbc1c58d1");if(null==e||"0x"===e)return null;const t=e.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const e=parseInt(t[3],16);if(t[4].length===2*e)return"ipfs://"+nc.encode("0x"+t[1])}const n=e.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(n){const e=parseInt(n[3],16);if(n[4].length===2*e)return"ipns://"+nc.encode("0x"+n[1])}const r=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return"bzz://"+r[1];const i=e.match(/^0x90b2c605([0-9a-f]*)$/);if(i&&68===i[1].length){const e={"=":"","+":"-","/":"_"},t=po("0x"+i[1]).replace(/[=+\/]/g,(t=>e[t]));return"sia://"+t}return af.throwError("invalid or unsupported content hash data",tn.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})}))}getText(e){return of(this,void 0,void 0,(function*(){let t=Fi(e);t=dn([mf(64),mf(t.length),t]),t.length%32!=0&&(t=dn([t,xn("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",yn(t));return null==n||"0x"===n?null:_i(n)}))}}let kf=null,Sf=1;class If extends va{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),Jn(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch((e=>{})),this._ready().catch((e=>{}));else{const t=$n(new.target,"getNetwork")(e);t?(Jn(this,"_network",t),this.emit("network",t,null)):af.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return of(this,void 0,void 0,(function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||af.throwError("no network detected",tn.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:Jn(this,"_network",e),this.emit("network",e,null))}return this._network}))}get ready(){return zd((()=>this._ready().then((e=>e),(e=>{if(e.code!==tn.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))))}static getFormatter(){return null==kf&&(kf=new $d),kf}static getNetwork(e){return Od(null==e?"homestead":e)}ccipReadFetch(e,t,n){return of(this,void 0,void 0,(function*(){if(this.disableCcipRead||0===n.length)return null;const r=e.to.toLowerCase(),i=t.toLowerCase(),o=[];for(let e=0;e<n.length;e++){const t=n[e],a=t.replace("{sender}",r).replace("{data}",i),s=t.indexOf("{data}")>=0?null:JSON.stringify({data:i,sender:r}),u=yield jd({url:a,errorPassThrough:!0},s,((e,t)=>(e.status=t.statusCode,e)));if(u.data)return u.data;const l=u.message||"unknown error";if(u.status>=400&&u.status<500)return af.throwError(`response not found during CCIP fetch: ${l}`,tn.errors.SERVER_ERROR,{url:t,errorMessage:l});o.push(l)}return af.throwError(`error encountered during CCIP fetch: ${o.map((e=>JSON.stringify(e))).join(", ")}`,tn.errors.SERVER_ERROR,{urls:n,errorMessages:o})}))}_getInternalBlockNumber(e){return of(this,void 0,void 0,(function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const t=this._internalBlockNumber;try{const n=yield t;if(cf()-n.respTime<=e)return n.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}const t=cf(),n=er({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((e=>null),(e=>e))}).then((({blockNumber:e,networkError:r})=>{if(r)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),r;const i=cf();return(e=Rn.from(e).toNumber())<this._maxInternalBlockNumber&&(e=this._maxInternalBlockNumber),this._maxInternalBlockNumber=e,this._setFastBlockNumber(e),{blockNumber:e,reqTime:t,respTime:i}}));return this._internalBlockNumber=n,n.catch((e=>{this._internalBlockNumber===n&&(this._internalBlockNumber=null)})),(yield n).blockNumber}))}poll(){return of(this,void 0,void 0,(function*(){const e=Sf++,t=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){return void this.emit("error",e)}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)af.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",af.makeError("network block skew detected",tn.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let e=this._emitted.block+1;e<=n;e++)this.emit("block",e);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach((e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&n-t>12&&delete this._emitted[e]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=n-1),this._events.forEach((e=>{switch(e.type){case"tx":{const n=e.hash;let r=this.getTransactionReceipt(n).then((e=>e&&null!=e.blockNumber?(this._emitted["t:"+n]=e.blockNumber,this.emit(n,e),null):null)).catch((e=>{this.emit("error",e)}));t.push(r);break}case"filter":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=n-1);const r=e.filter;r.fromBlock=e._lastBlockNumber+1,r.toBlock=n;const i=r.toBlock-this._maxFilterBlockRange;i>r.fromBlock&&(r.fromBlock=i),r.fromBlock<0&&(r.fromBlock=0);const o=this.getLogs(r).then((t=>{e._inflight=!1,0!==t.length&&t.forEach((t=>{t.blockNumber>e._lastBlockNumber&&(e._lastBlockNumber=t.blockNumber),this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(r,t)}))})).catch((t=>{this.emit("error",t),e._inflight=!1}));t.push(o)}}})),this._lastBlockNumber=n,Promise.all(t).then((()=>{this.emit("didPoll",e)})).catch((e=>{this.emit("error",e)}))}else this.emit("didPoll",e)}))}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return of(this,void 0,void 0,(function*(){return af.throwError("provider does not support network detection",tn.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return of(this,void 0,void 0,(function*(){const e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield df(0),this._network;const n=af.makeError("underlying network changed",tn.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",n),n}return e}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then((e=>{this._setFastBlockNumber(e)}),(e=>{})),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval((()=>{this.poll()}),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((()=>{this.poll(),this._bootstrapPoll=setTimeout((()=>{this._poller||this.poll(),this._bootstrapPoll=null}),this.pollingInterval)}),0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((()=>{this.poll()}),this._pollingInterval))}_getFastBlockNumber(){const e=cf();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then((e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber)))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=cf(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,n){return of(this,void 0,void 0,(function*(){return this._waitForTransaction(e,null==t?1:t,n||0,null)}))}_waitForTransaction(e,t,n,r){return of(this,void 0,void 0,(function*(){const i=yield this.getTransactionReceipt(e);return(i?i.confirmations:0)>=t?i:new Promise(((i,o)=>{const a=[];let s=!1;const u=function(){return!!s||(s=!0,a.forEach((e=>{e()})),!1)},l=e=>{e.confirmations<t||u()||i(e)};if(this.on(e,l),a.push((()=>{this.removeListener(e,l)})),r){let n=r.startBlock,i=null;const l=a=>of(this,void 0,void 0,(function*(){s||(yield df(1e3),this.getTransactionCount(r.from).then((c=>of(this,void 0,void 0,(function*(){if(!s){if(c<=r.nonce)n=a;else{{const t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==i&&(i=n-3,i<r.startBlock&&(i=r.startBlock));i<=a;){if(s)return;const n=yield this.getBlockWithTransactions(i);for(let i=0;i<n.transactions.length;i++){const a=n.transactions[i];if(a.hash===e)return;if(a.from===r.from&&a.nonce===r.nonce){if(s)return;const n=yield this.waitForTransaction(a.hash,t);if(u())return;let i="replaced";return a.data===r.data&&a.to===r.to&&a.value.eq(r.value)?i="repriced":"0x"===a.data&&a.from===a.to&&a.value.isZero()&&(i="cancelled"),void o(af.makeError("transaction was replaced",tn.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===i||"cancelled"===i,reason:i,replacement:this._wrapTransaction(a),hash:e,receipt:n}))}}i++}}s||this.once("block",l)}}))),(e=>{s||this.once("block",l)})))}));if(s)return;this.once("block",l),a.push((()=>{this.removeListener("block",l)}))}if("number"==typeof n&&n>0){const e=setTimeout((()=>{u()||o(af.makeError("timeout exceeded",tn.errors.TIMEOUT,{timeout:n}))}),n);e.unref&&e.unref(),a.push((()=>{clearTimeout(e)}))}}))}))}getBlockNumber(){return of(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return Rn.from(e)}catch(t){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:t})}}))}getBalance(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getBalance",n);try{return Rn.from(r)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getBalance",params:n,result:r,error:e})}}))}getTransactionCount(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getTransactionCount",n);try{return Rn.from(r).toNumber()}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:r,error:e})}}))}getCode(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getCode",n);try{return yn(r)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getCode",params:n,result:r,error:e})}}))}getStorageAt(e,t,n){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield er({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(t).then((e=>vn(e)))}),i=yield this.perform("getStorageAt",r);try{return yn(i)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"getStorageAt",params:r,result:i,error:e})}}))}_wrapTransaction(e,t,n){if(null!=t&&32!==An(t))throw new Error("invalid response - sendTransaction");const r=e;return null!=t&&e.hash!==t&&af.throwError("Transaction hash mismatch from Provider.sendTransaction.",tn.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),r.wait=(t,r)=>of(this,void 0,void 0,(function*(){let i;null==t&&(t=1),null==r&&(r=0),0!==t&&null!=n&&(i={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const o=yield this._waitForTransaction(e.hash,t,r,i);return null==o&&0===t?null:(this._emitted["t:"+e.hash]=o.blockNumber,0===o.status&&af.throwError("transaction failed",tn.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:o}),o)})),r}sendTransaction(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then((e=>yn(e))),n=this.formatter.transaction(e);null==n.confirmations&&(n.confirmations=0);const r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(n,e,r)}catch(e){throw e.transaction=n,e.transactionHash=n.hash,e}}))}_getTransactionRequest(e){return of(this,void 0,void 0,(function*(){const t=yield e,n={};return["from","to"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?this._getAddress(e):null)))})),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?Rn.from(e):null)))})),["type"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>null!=e?e:null)))})),t.accessList&&(n.accessList=this.formatter.accessList(t.accessList)),["data"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?yn(e):null)))})),this.formatter.transactionRequest(yield er(n))}))}_getFilter(e){return of(this,void 0,void 0,(function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach((n=>{null!=e[n]&&(t[n]=e[n])})),["fromBlock","toBlock"].forEach((n=>{null!=e[n]&&(t[n]=this._getBlockTag(e[n]))})),this.formatter.filter(yield er(t))}))}_call(e,t,n){return of(this,void 0,void 0,(function*(){n>=10&&af.throwError("CCIP read exceeded maximum redirections",tn.errors.SERVER_ERROR,{redirects:n,transaction:e});const r=e.to,i=yield this.perform("call",{transaction:e,blockTag:t});if(n>=0&&"latest"===t&&null!=r&&"0x556f1830"===i.substring(0,10)&&An(i)%32==4)try{const o=gn(i,4),a=gn(o,0,32);Rn.from(a).eq(r)||af.throwError("CCIP Read sender did not match",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const s=[],u=Rn.from(gn(o,32,64)).toNumber(),l=Rn.from(gn(o,u,u+32)).toNumber(),c=gn(o,u+32);for(let t=0;t<l;t++){const n=bf(c,32*t);null==n&&af.throwError("CCIP Read contained corrupt URL string",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i}),s.push(n)}const d=vf(o,64);Rn.from(gn(o,100,128)).isZero()||af.throwError("CCIP Read callback selector included junk",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const f=gn(o,96,100),p=vf(o,128),h=yield this.ccipReadFetch(e,d,s);null==h&&af.throwError("CCIP Read disabled or provided no URLs",tn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const m={to:r,data:bn([f,Tf([h,p])])};return this._call(m,t,n+1)}catch(e){if(e.code===tn.errors.SERVER_ERROR)throw e}try{return yn(i)}catch(n){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"call",params:{transaction:e,blockTag:t},result:i,error:n})}}))}call(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield er({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t),ccipReadEnabled:Promise.resolve(e.ccipReadEnabled)});return this._call(n.transaction,n.blockTag,n.ccipReadEnabled?0:-1)}))}estimateGas(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield er({transaction:this._getTransactionRequest(e)}),n=yield this.perform("estimateGas",t);try{return Rn.from(n)}catch(e){return af.throwError("bad result from backend",tn.errors.SERVER_ERROR,{method:"estimateGas",params:t,result:n,error:e})}}))}_getAddress(e){return of(this,void 0,void 0,(function*(){"string"!=typeof(e=yield e)&&af.throwArgumentError("invalid address or ENS name","name",e);const t=yield this.resolveName(e);return null==t&&af.throwError("ENS name not configured",tn.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t}))}_getBlock(e,t){return of(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;let n=-128;const r={includeTransactions:!!t};if(hn(e,32))r.blockHash=e;else try{r.blockTag=yield this._getBlockTag(e),hn(r.blockTag)&&(n=parseInt(r.blockTag.substring(2),16))}catch(t){af.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return zd((()=>of(this,void 0,void 0,(function*(){const e=yield this.perform("getBlock",r);if(null==e)return null!=r.blockHash&&null==this._emitted["b:"+r.blockHash]||null!=r.blockTag&&n>this._emitted.block?null:void 0;if(t){let t=null;for(let n=0;n<e.transactions.length;n++){const r=e.transactions[n];if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){null==t&&(t=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let e=t-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}}const n=this.formatter.blockWithTransactions(e);return n.transactions=n.transactions.map((e=>this._wrapTransaction(e))),n}return this.formatter.block(e)}))),{oncePoll:this})}))}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return zd((()=>of(this,void 0,void 0,(function*(){const n=yield this.perform("getTransaction",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;const r=this.formatter.transactionResponse(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return this._wrapTransaction(r)}))),{oncePoll:this})}))}getTransactionReceipt(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return zd((()=>of(this,void 0,void 0,(function*(){const n=yield this.perform("getTransactionReceipt",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;if(null==n.blockHash)return;const r=this.formatter.receipt(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return r}))),{oncePoll:this})}))}getLogs(e){return of(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield er({filter:this._getFilter(e)}),n=yield this.perform("getLogs",t);return n.forEach((e=>{null==e.removed&&(e.removed=!1)})),$d.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)}))}getEtherPrice(){return of(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(e){return of(this,void 0,void 0,(function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&af.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)}))}getResolver(e){return of(this,void 0,void 0,(function*(){let t=e;for(;;){if(""===t||"."===t)return null;if("eth"!==e&&"eth"===t)return null;const n=yield this._getResolver(t,"getResolver");if(null!=n){const r=new Cf(this,n,e);return t===e||(yield r.supportsWildcard())?r:null}t=t.split(".").slice(1).join(".")}}))}_getResolver(e,t){return of(this,void 0,void 0,(function*(){null==t&&(t="ENS");const n=yield this.getNetwork();n.ensAddress||af.throwError("network does not support ENS",tn.errors.UNSUPPORTED_OPERATION,{operation:t,network:n.name});try{const t=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+Uo(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null}))}resolveName(e){return of(this,void 0,void 0,(function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(hn(e))throw t}"string"!=typeof e&&af.throwArgumentError("invalid ENS name","name",e);const t=yield this.getResolver(e);return t?yield t.getAddress():null}))}lookupAddress(e){return of(this,void 0,void 0,(function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(t,"lookupAddress");if(null==n)return null;const r=bf(yield this.call({to:n,data:"0x691f3431"+Uo(t).substring(2)}),0);return(yield this.resolveName(r))!=e?null:r}))}getAvatar(e){return of(this,void 0,void 0,(function*(){let t=null;if(hn(e)){const n=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(n,"getAvatar");if(!r)return null;t=new Cf(this,r,n);try{const e=yield t.getAvatar();if(e)return e.url}catch(e){if(e.code!==tn.errors.CALL_EXCEPTION)throw e}try{const e=bf(yield this.call({to:r,data:"0x691f3431"+Uo(n).substring(2)}),0);t=yield this.getResolver(e)}catch(e){if(e.code!==tn.errors.CALL_EXCEPTION)throw e;return null}}else if(t=yield this.getResolver(e),!t)return null;const n=yield t.getAvatar();return null==n?null:n.url}))}perform(e,t){return af.throwError(e+" not implemented",tn.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter((e=>e.pollable())).length>0}_stopEvent(e){this.polling=this._events.filter((e=>e.pollable())).length>0}_addEventListener(e,t,n){const r=new pf(lf(e),t,n);return this._events.push(r),this._startEvent(r),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let n=!1,r=[],i=lf(e);return this._events=this._events.filter((e=>e.tag!==i||(setTimeout((()=>{e.listener.apply(this,t)}),0),n=!0,!e.once||(r.push(e),!1)))),r.forEach((e=>{this._stopEvent(e)})),n}listenerCount(e){if(!e)return this._events.length;let t=lf(e);return this._events.filter((e=>e.tag===t)).length}listeners(e){if(null==e)return this._events.map((e=>e.listener));let t=lf(e);return this._events.filter((e=>e.tag===t)).map((e=>e.listener))}off(e,t){if(null==t)return this.removeAllListeners(e);const n=[];let r=!1,i=lf(e);return this._events=this._events.filter((e=>e.tag!==i||e.listener!=t||(!!r||(r=!0,n.push(e),!1)))),n.forEach((e=>{this._stopEvent(e)})),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const n=lf(e);this._events=this._events.filter((e=>e.tag!==n||(t.push(e),!1)))}return t.forEach((e=>{this._stopEvent(e)})),this}}var Pf=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Of=new tn(Qd),Nf=["call","estimateGas"];function Rf(e,t){if(null==e)return null;if("string"==typeof e.message&&e.message.match("reverted")){const n=hn(e.data)?e.data:null;if(!t||n)return{message:e.message,data:n}}if("object"==typeof e){for(const n in e){const r=Rf(e[n],t);if(r)return r}return null}if("string"==typeof e)try{return Rf(JSON.parse(e),t)}catch(e){}return null}function Mf(e,t,n){const r=n.transaction||n.signedTransaction;if("call"===e){const e=Rf(t,!0);if(e)return e.data;Of.throwError("missing revert data in call exception; Transaction reverted without a reason string",tn.errors.CALL_EXCEPTION,{data:"0x",transaction:r,error:t})}if("estimateGas"===e){let n=Rf(t.body,!1);null==n&&(n=Rf(t,!1)),n&&Of.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{reason:n.message,method:e,transaction:r,error:t})}let i=t.message;throw t.code===tn.errors.SERVER_ERROR&&t.error&&"string"==typeof t.error.message?i=t.error.message:"string"==typeof t.body?i=t.body:"string"==typeof t.responseText&&(i=t.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&Of.throwError("insufficient funds for intrinsic transaction cost",tn.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:r}),i.match(/nonce (is )?too low/i)&&Of.throwError("nonce has already been used",tn.errors.NONCE_EXPIRED,{error:t,method:e,transaction:r}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&Of.throwError("replacement fee too low",tn.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:r}),i.match(/only replay-protected/i)&&Of.throwError("legacy pre-eip-155 transactions not supported",tn.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:r}),Nf.indexOf(e)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&Of.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:r}),t}function Lf(e){return new Promise((function(t){setTimeout(t,e)}))}function Df(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function Ff(e){return e?e.toLowerCase():e}const Bf={};class jf extends Ca{constructor(e,t,n){if(super(),e!==Bf)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Jn(this,"provider",t),null==n&&(n=0),"string"==typeof n?(Jn(this,"_address",this.provider.formatter.address(n)),Jn(this,"_index",null)):"number"==typeof n?(Jn(this,"_index",n),Jn(this,"_address",null)):Of.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return Of.throwError("cannot alter JSON-RPC Signer connection",tn.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new zf(Bf,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((e=>(e.length<=this._index&&Of.throwError("unknown account #"+this._index,tn.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index]))))}sendUncheckedTransaction(e){e=nr(e);const t=this.getAddress().then((e=>(e&&(e=e.toLowerCase()),e)));if(null==e.gasLimit){const n=nr(e);n.from=t,e.gasLimit=this.provider.estimateGas(n)}return null!=e.to&&(e.to=Promise.resolve(e.to).then((e=>Pf(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.provider.resolveName(e);return null==t&&Of.throwArgumentError("provided ENS name resolves to null","tx.to",e),t}))))),er({tx:er(e),sender:t}).then((({tx:t,sender:n})=>{null!=t.from?t.from.toLowerCase()!==n&&Of.throwArgumentError("from address mismatch","transaction",e):t.from=n;const r=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[r]).then((e=>e),(e=>("string"==typeof e.message&&e.message.match(/user denied/i)&&Of.throwError("user rejected transaction",tn.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:t}),Mf("sendTransaction",e,r))))}))}signTransaction(e){return Of.throwError("signing transactions is unsupported",tn.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return Pf(this,void 0,void 0,(function*(){const t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield zd((()=>Pf(this,void 0,void 0,(function*(){const e=yield this.provider.getTransaction(n);if(null!==e)return this.provider._wrapTransaction(e,n,t)}))),{oncePoll:this.provider})}catch(e){throw e.transactionHash=n,e}}))}signMessage(e){return Pf(this,void 0,void 0,(function*(){const t="string"==typeof e?Fi(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[yn(t),n.toLowerCase()])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Of.throwError("user rejected signing",tn.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),t}}))}_legacySignMessage(e){return Pf(this,void 0,void 0,(function*(){const t="string"==typeof e?Fi(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),yn(t)])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Of.throwError("user rejected signing",tn.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),t}}))}_signTypedData(e,t,n){return Pf(this,void 0,void 0,(function*(){const r=yield aa.resolveNames(e,t,n,(e=>this.provider.resolveName(e))),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(aa.getPayload(r.domain,t,r.value))])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&Of.throwError("user rejected signing",tn.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:r.domain,types:t,value:r.value}}),e}}))}unlock(e){return Pf(this,void 0,void 0,(function*(){const t=this.provider,n=yield this.getAddress();return t.send("personal_unlockAccount",[n.toLowerCase(),e,null])}))}}class zf extends jf{sendTransaction(e){return this.sendUncheckedTransaction(e).then((e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)})))}}const _f={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};let Uf=class extends If{constructor(e,t){let n=t;null==n&&(n=new Promise(((e,t)=>{setTimeout((()=>{this.detectNetwork().then((t=>{e(t)}),(e=>{t(e)}))}),0)}))),super(n),e||(e=$n(this.constructor,"defaultUrl")()),Jn(this,"connection","string"==typeof e?Object.freeze({url:e}):Object.freeze(nr(e))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout((()=>{this._cache.detectNetwork=null}),0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return Pf(this,void 0,void 0,(function*(){yield Lf(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){const t=$n(this.constructor,"getNetwork");try{return t(Rn.from(e).toNumber())}catch(t){return Of.throwError("could not detect network",tn.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return Of.throwError("could not detect network",tn.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(e){return new jf(Bf,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then((e=>e.map((e=>this.formatter.address(e)))))}send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:ar(n),provider:this});const r=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(r&&this._cache[e])return this._cache[e];const i=jd(this.connection,JSON.stringify(n),Df).then((e=>(this.emit("debug",{action:"response",request:n,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",error:e,request:n,provider:this}),e}));return r&&(this._cache[e]=i,setTimeout((()=>{this._cache[e]=null}),0)),i}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Ff(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Ff(t.address),t.blockTag]];case"getCode":return["eth_getCode",[Ff(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Ff(t.address),xn(t.position,32),t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[$n(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[$n(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=Ff(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){return Pf(this,void 0,void 0,(function*(){if("call"===e||"estimateGas"===e){const e=t.transaction;if(e&&null!=e.type&&Rn.from(e.type).isZero()&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){const n=yield this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&((t=nr(t)).transaction=nr(e),delete t.transaction.type)}}const n=this.prepareRequest(e,t);null==n&&Of.throwError(e+" not implemented",tn.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(n){return Mf(e,n,t)}}))}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(n){return function r(){e.send("eth_getFilterChanges",[n]).then((function(n){if(e._pendingFilter!=t)return null;let r=Promise.resolve();return n.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",r=r.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),r.then((function(){return Lf(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){r()}),0),null;e.send("eth_uninstallFilter",[n])})).catch((e=>{}))}(),n})).catch((e=>{}))}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const n=nr(_f);if(t)for(const e in t)t[e]&&(n[e]=!0);tr(e,n);const r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(t){if(null==e[t])return;const n=vn(Rn.from(e[t]));"gasLimit"===t&&(t="gas"),r[t]=n})),["from","to","data"].forEach((function(t){null!=e[t]&&(r[t]=yn(e[t]))})),e.accessList&&(r.accessList=Pl(e.accessList)),r}},Hf=null;try{if(Hf=WebSocket,null==Hf)throw new Error("inject please")}catch(e){const t=new tn(Qd);Hf=function(){t.throwError("WebSockets not supported in this environment",tn.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var Wf=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Vf=new tn(Qd);let qf=1;class Xf extends Uf{constructor(e,t){"any"===t&&Vf.throwError("WebSocketProvider does not support 'any' network yet",tn.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super("string"==typeof e?e:"_websocket",t),this._pollingInterval=-1,this._wsReady=!1,Jn(this,"_websocket","string"==typeof e?new Hf(this.connection.url):e),Jn(this,"_requests",{}),Jn(this,"_subs",{}),Jn(this,"_subIds",{}),Jn(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach((e=>{this.websocket.send(this._requests[e].payload)}))},this.websocket.onmessage=e=>{const t=e.data,n=JSON.parse(t);if(null!=n.id){const e=String(n.id),r=this._requests[e];if(delete this._requests[e],void 0!==n.result)r.callback(null,n.result),this.emit("debug",{action:"response",request:JSON.parse(r.payload),response:n.result,provider:this});else{let e=null;n.error?(e=new Error(n.error.message||"unknown error"),Jn(e,"code",n.error.code||null),Jn(e,"response",t)):e=new Error("unknown error"),r.callback(e,void 0),this.emit("debug",{action:"response",error:e,request:JSON.parse(r.payload),provider:this})}}else if("eth_subscription"===n.method){const e=this._subs[n.params.subscription];e&&e.processFunc(n.params.result)}else console.warn("this should not happen")};const n=setInterval((()=>{this.emit("poll")}),1e3);n.unref&&n.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){Vf.throwError("cannot reset events block on WebSocketProvider",tn.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){Vf.throwError("cannot set polling interval on WebSocketProvider",tn.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return Wf(this,void 0,void 0,(function*(){return null}))}set polling(e){e&&Vf.throwError("cannot set polling on WebSocketProvider",tn.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,t){const n=qf++;return new Promise(((r,i)=>{const o=JSON.stringify({method:e,params:t,id:n,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(o),provider:this}),this._requests[String(n)]={callback:function(e,t){return e?i(e):r(t)},payload:o},this._wsReady&&this.websocket.send(o)}))}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,t,n){return Wf(this,void 0,void 0,(function*(){let r=this._subIds[e];null==r&&(r=Promise.all(t).then((e=>this.send("eth_subscribe",e))),this._subIds[e]=r);const i=yield r;this._subs[i]={tag:e,processFunc:n}}))}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],(e=>{const t=Rn.from(e.number).toNumber();this._emitted.block=t,this.emit("block",t)}));break;case"pending":this._subscribe("pending",["newPendingTransactions"],(e=>{this.emit("pending",e)}));break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],(t=>{null==t.removed&&(t.removed=!1),this.emit(e.filter,this.formatter.filterLog(t))}));break;case"tx":{const t=e=>{const t=e.hash;this.getTransactionReceipt(t).then((e=>{e&&this.emit(t,e)}))};t(e),this._subscribe("tx",["newHeads"],(e=>{this._events.filter((e=>"tx"===e.type)).forEach(t)}));break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e)}}_stopEvent(e){let t=e.tag;if("tx"===e.type){if(this._events.filter((e=>"tx"===e.type)).length)return;t="tx"}else if(this.listenerCount(e.event))return;const n=this._subIds[t];n&&(delete this._subIds[t],n.then((e=>{this._subs[e]&&(delete this._subs[e],this.send("eth_unsubscribe",[e]))})))}destroy(){return Wf(this,void 0,void 0,(function*(){this.websocket.readyState===Hf.CONNECTING&&(yield new Promise((e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}}))),this.websocket.close(1e3)}))}}var Gf=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Zf=new tn(Qd);class Yf extends Uf{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return Gf(this,void 0,void 0,(function*(){let t=this.network;return null==t&&(t=yield e.detectNetwork.call(this),t||Zf.throwError("no network detected",tn.errors.UNKNOWN_ERROR,{}),null==this._network&&(Jn(this,"_network",t),this.emit("network",t,null))),t}))}}class Kf extends Yf{constructor(e,t){Zf.checkAbstract(new.target,Kf),e=$n(new.target,"getNetwork")(e),t=$n(new.target,"getApiKey")(t);super($n(new.target,"getUrl")(e,t),e),"string"==typeof t?Jn(this,"apiKey",t):null!=t&&Object.keys(t).forEach((e=>{Jn(this,e,t[e])}))}_startPending(){Zf.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(e){return Zf.throwError("API provider does not support signing",tn.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,t){return Zf.throwError("not implemented; sub-classes must override getUrl",tn.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const Qf=new tn(Qd),Jf="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class $f extends Xf{constructor(e,t){const n=new ep(e,t);super(n.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi."),n.network),Jn(this,"apiKey",n.apiKey)}isCommunityResource(){return this.apiKey===Jf}}class ep extends Kf{static getWebSocketProvider(e,t){return new $f(e,t)}static getApiKey(e){return null==e?Jf:(e&&"string"!=typeof e&&Qf.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,t){let n=null;switch(e.name){case"homestead":n="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":n="eth-goerli.g.alchemy.com/v2/";break;case"matic":n="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":n="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":n="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":n="arb-goerli.g.alchemy.com/v2/";break;case"optimism":n="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":n="opt-goerli.g.alchemy.com/v2/";break;default:Qf.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+n+t,throttleCallback:(e,n)=>(t===Jf&&rf(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===Jf}}const tp=new tn(Qd),np="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function rp(e){switch(e){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return tp.throwArgumentError("unsupported network","name",e)}class ip extends Kf{isCommunityResource(){return this.apiKey===np}static getApiKey(e){return null==e?np:e}static getUrl(e,t){null==t&&(t=np);const n={allowGzip:!0,url:"https://"+rp(e.name)+t,throttleCallback:(e,n)=>(t.apiKey===np&&rf(),Promise.resolve(!0))};return null!=t.projectSecret&&(n.user="",n.password=t.projectSecret),n}}var op=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const ap=new tn(Qd);class sp extends Kf{static getApiKey(e){return null!=e&&ap.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,t){let n=null;if("homestead"===e.name)n="https://cloudflare-eth.com/";else ap.throwArgumentError("unsupported network","network",arguments[0]);return n}perform(e,t){const n=Object.create(null,{perform:{get:()=>super.perform}});return op(this,void 0,void 0,(function*(){if("getBlockNumber"===e){return(yield n.perform.call(this,"getBlock",{blockTag:"latest"})).number}return n.perform.call(this,e,t)}))}}var up=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const lp=new tn(Qd);function cp(e){const t={};for(let n in e){if(null==e[n])continue;let r=e[n];"type"===n&&0===r||(r={type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[n]?vn(yn(r)):"accessList"===n?"["+Pl(r).map((e=>`{address:"${e.address}",storageKeys:["${e.storageKeys.join('","')}"]}`)).join(",")+"]":yn(r),t[n]=r)}return t}function dp(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1!=e.status||"string"!=typeof e.message||!e.message.match(/^OK/)){const t=new Error("invalid response");throw t.result=JSON.stringify(e),(e.result||"").toLowerCase().indexOf("rate limit")>=0&&(t.throttleRetry=!0),t}return e.result}function fp(e){if(e&&0==e.status&&"NOTOK"==e.message&&(e.result||"").toLowerCase().indexOf("rate limit")>=0){const t=new Error("throttled response");throw t.result=JSON.stringify(e),t.throttleRetry=!0,t}if("2.0"!=e.jsonrpc){const t=new Error("invalid response");throw t.result=JSON.stringify(e),t}if(e.error){const t=new Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function pp(e){if("pending"===e)throw new Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}function hp(e,t,n){if("call"===e&&t.code===tn.errors.SERVER_ERROR){const e=t.error;if(e&&(e.message.match(/reverted/i)||e.message.match(/VM execution error/i))){let n=e.data;if(n&&(n="0x"+n.replace(/^.*0x/i,"")),hn(n))return n;lp.throwError("missing revert data in call exception",tn.errors.CALL_EXCEPTION,{error:t,data:"0x"})}}let r=t.message;throw t.code===tn.errors.SERVER_ERROR&&(t.error&&"string"==typeof t.error.message?r=t.error.message:"string"==typeof t.body?r=t.body:"string"==typeof t.responseText&&(r=t.responseText)),r=(r||"").toLowerCase(),r.match(/insufficient funds/)&&lp.throwError("insufficient funds for intrinsic transaction cost",tn.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:n}),r.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&lp.throwError("nonce has already been used",tn.errors.NONCE_EXPIRED,{error:t,method:e,transaction:n}),r.match(/another transaction with same nonce/)&&lp.throwError("replacement fee too low",tn.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:n}),r.match(/execution failed due to an exception|execution reverted/)&&lp.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",tn.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:n}),t}class mp extends If{constructor(e,t){super(e),Jn(this,"baseUrl",this.getBaseUrl()),Jn(this,"apiKey",t||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return lp.throwArgumentError("unsupported network","network",this.network.name)}getUrl(e,t){const n=Object.keys(t).reduce(((e,n)=>{const r=t[n];return null!=r&&(e+=`&${n}=${r}`),e}),""),r=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${e}${n}${r}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,t){return t.module=e,t.apikey=this.apiKey,t}fetch(e,t,n){return up(this,void 0,void 0,(function*(){const r=n?this.getPostUrl():this.getUrl(e,t),i=n?this.getPostData(e,t):null,o="proxy"===e?fp:dp;this.emit("debug",{action:"request",request:r,provider:this});const a={url:r,throttleSlotInterval:1e3,throttleCallback:(e,t)=>(this.isCommunityResource()&&rf(),Promise.resolve(!0))};let s=null;i&&(a.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},s=Object.keys(i).map((e=>`${e}=${i[e]}`)).join("&"));const u=yield jd(a,s,o||fp);return this.emit("debug",{action:"response",request:r,response:ar(u),provider:this}),u}))}detectNetwork(){return up(this,void 0,void 0,(function*(){return this.network}))}perform(e,t){const n=Object.create(null,{perform:{get:()=>super.perform}});return up(this,void 0,void 0,(function*(){switch(e){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch((e=>hp("sendTransaction",e,t.signedTransaction)));case"getBlock":if(t.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});throw new Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.transactionHash});case"call":{if("latest"!==t.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");const e=cp(t.transaction);e.module="proxy",e.action="eth_call";try{return yield this.fetch("proxy",e,!0)}catch(e){return hp("call",e,t.transaction)}}case"estimateGas":{const e=cp(t.transaction);e.module="proxy",e.action="eth_estimateGas";try{return yield this.fetch("proxy",e,!0)}catch(e){return hp("estimateGas",e,t.transaction)}}case"getLogs":{const e={action:"getLogs"};if(t.filter.fromBlock&&(e.fromBlock=pp(t.filter.fromBlock)),t.filter.toBlock&&(e.toBlock=pp(t.filter.toBlock)),t.filter.address&&(e.address=t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&lp.throwError("unsupported topic count",tn.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length)){const n=t.filter.topics[0];"string"==typeof n&&66===n.length||lp.throwError("unsupported topic format",tn.errors.UNSUPPORTED_OPERATION,{topic0:n}),e.topic0=n}const n=yield this.fetch("logs",e);let r={};for(let e=0;e<n.length;e++){const t=n[e];if(null==t.blockHash){if(null==r[t.blockNumber]){const e=yield this.getBlock(t.blockNumber);e&&(r[t.blockNumber]=e.hash)}t.blockHash=r[t.blockNumber]}}return n}case"getEtherPrice":return"homestead"!==this.network.name?0:parseFloat((yield this.fetch("stats",{action:"ethprice"})).ethusd)}return n.perform.call(this,e,t)}))}getHistory(e,t,n){return up(this,void 0,void 0,(function*(){const r={action:"txlist",address:yield this.resolveName(e),startblock:null==t?0:t,endblock:null==n?99999999:n,sort:"asc"};return(yield this.fetch("account",r)).map((e=>{["contractAddress","to"].forEach((function(t){""==e[t]&&delete e[t]})),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);const t=this.formatter.transactionResponse(e);return e.timeStamp&&(t.timestamp=parseInt(e.timeStamp)),t}))}))}isCommunityResource(){return null==this.apiKey}}var yp=window&&window.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Ap=new tn(Qd);function gp(){return(new Date).getTime()}function bp(e){let t=null;for(let n=0;n<e.length;n++){const r=e[n];if(null==r)return null;t?t.name===r.name&&t.chainId===r.chainId&&(t.ensAddress===r.ensAddress||null==t.ensAddress&&null==r.ensAddress)||Ap.throwArgumentError("provider mismatch","networks",e):t=r}return t}function vp(e,t){e=e.slice().sort();const n=Math.floor(e.length/2);if(e.length%2)return e[n];const r=e[n-1],i=e[n];return null!=t&&Math.abs(r-i)>t?null:(r+i)/2}function wp(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(Rn.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map((e=>wp(e))));if("object"==typeof e){const t=Object.keys(e);return t.sort(),"{"+t.map((t=>{let n=e[t];return n="function"==typeof n?"[function]":wp(n),JSON.stringify(t)+":"+n})).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}let xp=1;function Ep(e){let t=null,n=null,r=new Promise((r=>{t=function(){n&&(clearTimeout(n),n=null),r()},n=setTimeout(t,e)}));return{cancel:t,getPromise:function(){return r},wait:e=>(r=r.then(e),r)}}const Tp=[tn.errors.CALL_EXCEPTION,tn.errors.INSUFFICIENT_FUNDS,tn.errors.NONCE_EXPIRED,tn.errors.REPLACEMENT_UNDERPRICED,tn.errors.UNPREDICTABLE_GAS_LIMIT],Cp=["address","args","errorArgs","errorSignature","method","transaction"];function kp(e,t){const n={weight:e.weight};return Object.defineProperty(n,"provider",{get:()=>e.provider}),e.start&&(n.start=e.start),t&&(n.duration=t-e.start),e.done&&(e.error?n.error=e.error:n.result=e.result||null),n}function Sp(e,t,n){let r=wp;switch(t){case"getBlockNumber":return function(t){const n=t.map((e=>e.result));let r=vp(t.map((e=>e.result)),2);if(null!=r)return r=Math.ceil(r),n.indexOf(r+1)>=0&&r++,r>=e._highestBlockNumber&&(e._highestBlockNumber=r),e._highestBlockNumber};case"getGasPrice":return function(e){const t=e.map((e=>e.result));return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return vp(e.map((e=>e.result)))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":r=function(e){return null==e?null:((e=nr(e)).confirmations=-1,wp(e))};break;case"getBlock":r=n.includeTransactions?function(e){return null==e?null:((e=nr(e)).transactions=e.transactions.map((e=>((e=nr(e)).confirmations=-1,e))),wp(e))}:function(e){return null==e?null:wp(e)};break;default:throw new Error("unknown method: "+t)}return function(e,t){return function(n){const r={};n.forEach((t=>{const n=e(t.result);r[n]||(r[n]={count:0,result:t.result}),r[n].count++}));const i=Object.keys(r);for(let e=0;e<i.length;e++){const n=r[i[e]];if(n.count>=t)return n.result}}}(r,e.quorum)}function Ip(e,t){return yp(this,void 0,void 0,(function*(){const n=e.provider;return null!=n.blockNumber&&n.blockNumber>=t||-1===t?n:zd((()=>new Promise(((r,i)=>{setTimeout((function(){return n.blockNumber>=t?r(n):e.cancelled?r(null):r(void 0)}),0)}))),{oncePoll:n})}))}function Pp(e,t,n,r){return yp(this,void 0,void 0,(function*(){let i=e.provider;switch(n){case"getBlockNumber":case"getGasPrice":return i[n]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),i[n](r.address,r.blockTag||"latest");case"getStorageAt":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),i.getStorageAt(r.address,r.position,r.blockTag||"latest");case"getBlock":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),i[r.includeTransactions?"getBlockWithTransactions":"getBlock"](r.blockTag||r.blockHash);case"call":case"estimateGas":return r.blockTag&&hn(r.blockTag)&&(i=yield Ip(e,t)),"call"===n&&r.blockTag?i[n](r.transaction,r.blockTag):i[n](r.transaction);case"getTransaction":case"getTransactionReceipt":return i[n](r.transactionHash);case"getLogs":{let n=r.filter;return(n.fromBlock&&hn(n.fromBlock)||n.toBlock&&hn(n.toBlock))&&(i=yield Ip(e,t)),i.getLogs(n)}}return Ap.throwError("unknown method error",tn.errors.UNKNOWN_ERROR,{method:n,params:r})}))}class Op extends If{constructor(e,t){0===e.length&&Ap.throwArgumentError("missing providers","providers",e);const n=e.map(((e,t)=>{if(va.isProvider(e)){const t=tf(e)?2e3:750,n=1;return Object.freeze({provider:e,weight:1,stallTimeout:t,priority:n})}const n=nr(e);null==n.priority&&(n.priority=1),null==n.stallTimeout&&(n.stallTimeout=tf(e)?2e3:750),null==n.weight&&(n.weight=1);const r=n.weight;return(r%1||r>512||r<1)&&Ap.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${t}].weight`,r),Object.freeze(n)})),r=n.reduce(((e,t)=>e+t.weight),0);null==t?t=r/2:t>r&&Ap.throwArgumentError("quorum will always fail; larger than total weight","quorum",t);let i=bp(n.map((e=>e.provider.network)));null==i&&(i=new Promise(((e,t)=>{setTimeout((()=>{this.detectNetwork().then(e,t)}),0)}))),super(i),Jn(this,"providerConfigs",Object.freeze(n)),Jn(this,"quorum",t),this._highestBlockNumber=-1}detectNetwork(){return yp(this,void 0,void 0,(function*(){const e=yield Promise.all(this.providerConfigs.map((e=>e.provider.getNetwork())));return bp(e)}))}perform(e,t){return yp(this,void 0,void 0,(function*(){if("sendTransaction"===e){const e=yield Promise.all(this.providerConfigs.map((e=>e.provider.sendTransaction(t.signedTransaction).then((e=>e.hash),(e=>e)))));for(let t=0;t<e.length;t++){const n=e[t];if("string"==typeof n)return n}throw e[0]}-1===this._highestBlockNumber&&"getBlockNumber"!==e&&(yield this.getBlockNumber());const n=Sp(this,e,t),r=zc(this.providerConfigs.map(nr));r.sort(((e,t)=>e.priority-t.priority));const i=this._highestBlockNumber;let o=0,a=!0;for(;;){const s=gp();let u=r.filter((e=>e.runner&&s-e.start<e.stallTimeout)).reduce(((e,t)=>e+t.weight),0);for(;u<this.quorum&&o<r.length;){const n=r[o++],a=xp++;n.start=gp(),n.staller=Ep(n.stallTimeout),n.staller.wait((()=>{n.staller=null})),n.runner=Pp(n,i,e,t).then((r=>{n.done=!0,n.result=r,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:kp(n,gp()),request:{method:e,params:ar(t)},provider:this})}),(r=>{n.done=!0,n.error=r,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:kp(n,gp()),request:{method:e,params:ar(t)},provider:this})})),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:kp(n,null),request:{method:e,params:ar(t)},provider:this}),u+=n.weight}const l=[];r.forEach((e=>{!e.done&&e.runner&&(l.push(e.runner),e.staller&&l.push(e.staller.getPromise()))})),l.length&&(yield Promise.race(l));const c=r.filter((e=>e.done&&null==e.error));if(c.length>=this.quorum){const e=n(c);if(void 0!==e)return r.forEach((e=>{e.staller&&e.staller.cancel(),e.cancelled=!0})),e;a||(yield Ep(100).getPromise()),a=!1}const d=r.reduce(((e,t)=>{if(!t.done||null==t.error)return e;const n=t.error.code;return Tp.indexOf(n)>=0&&(e[n]||(e[n]={error:t.error,weight:0}),e[n].weight+=t.weight),e}),{});if(Object.keys(d).forEach((e=>{const t=d[e];if(t.weight<this.quorum)return;r.forEach((e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}));const n=t.error,i={};Cp.forEach((e=>{null!=n[e]&&(i[e]=n[e])})),Ap.throwError(n.reason||n.message,e,i)})),0===r.filter((e=>!e.done)).length)break}return r.forEach((e=>{e.staller&&e.staller.cancel(),e.cancelled=!0})),Ap.throwError("failed to meet quorum",tn.errors.SERVER_ERROR,{method:e,params:t,results:r.map((e=>kp(e))),provider:this})}))}}const Np=new tn(Qd),Rp="84842078b09946638c03157f83405213";class Mp extends Xf{constructor(e,t){const n=new Lp(e,t),r=n.connection;r.password&&Np.throwError("INFURA WebSocket project secrets unsupported",tn.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});super(r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/"),e),Jn(this,"apiKey",n.projectId),Jn(this,"projectId",n.projectId),Jn(this,"projectSecret",n.projectSecret)}isCommunityResource(){return this.projectId===Rp}}class Lp extends Kf{static getWebSocketProvider(e,t){return new Mp(e,t)}static getApiKey(e){const t={apiKey:Rp,projectId:Rp,projectSecret:null};return null==e||("string"==typeof e?t.projectId=e:null!=e.projectSecret?(Np.assertArgument("string"==typeof e.projectId,"projectSecret requires a projectId","projectId",e.projectId),Np.assertArgument("string"==typeof e.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),t.projectId=e.projectId,t.projectSecret=e.projectSecret):e.projectId&&(t.projectId=e.projectId),t.apiKey=t.projectId),t}static getUrl(e,t){let n=null;switch(e?e.name:"unknown"){case"homestead":n="mainnet.infura.io";break;case"goerli":n="goerli.infura.io";break;case"sepolia":n="sepolia.infura.io";break;case"matic":n="polygon-mainnet.infura.io";break;case"maticmum":n="polygon-mumbai.infura.io";break;case"optimism":n="optimism-mainnet.infura.io";break;case"optimism-goerli":n="optimism-goerli.infura.io";break;case"arbitrum":n="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":n="arbitrum-goerli.infura.io";break;default:Np.throwError("unsupported network",tn.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const r={allowGzip:!0,url:"https://"+n+"/v3/"+t.projectId,throttleCallback:(e,n)=>(t.projectId===Rp&&rf(),Promise.resolve(!0))};return null!=t.projectSecret&&(r.user="",r.password=t.projectSecret),r}isCommunityResource(){return this.projectId===Rp}}const Dp=new tn(Qd);class Fp extends Kf{static getApiKey(e){return e&&"string"!=typeof e&&Dp.throwArgumentError("invalid apiKey","apiKey",e),e||"ETHERS_JS_SHARED"}static getUrl(e,t){Dp.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let n=null;switch(e.name){case"homestead":n="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":n="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":n="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":n="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":n="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:Dp.throwArgumentError("unsupported network","network",arguments[0])}return n+"?apiKey="+t}}const Bp=new tn(Qd),jp="62e1ad51b37b8e00394bda3b";class zp extends Kf{static getApiKey(e){const t={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return null==e?t.applicationId=jp:"string"==typeof e?t.applicationId=e:null!=e.applicationSecretKey?(t.applicationId=e.applicationId,t.applicationSecretKey=e.applicationSecretKey):e.applicationId?t.applicationId=e.applicationId:Bp.throwArgumentError("unsupported PocketProvider apiKey","apiKey",e),t}static getUrl(e,t){let n=null;switch(e?e.name:"unknown"){case"goerli":n="eth-goerli.gateway.pokt.network";break;case"homestead":n="eth-mainnet.gateway.pokt.network";break;case"kovan":n="poa-kovan.gateway.pokt.network";break;case"matic":n="poly-mainnet.gateway.pokt.network";break;case"maticmum":n="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":n="eth-rinkeby.gateway.pokt.network";break;case"ropsten":n="eth-ropsten.gateway.pokt.network";break;default:Bp.throwError("unsupported network",tn.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const r={headers:{},url:`https://${n}/v1/lb/${t.applicationId}`};return null!=t.applicationSecretKey&&(r.user="",r.password=t.applicationSecretKey),r}isCommunityResource(){return this.applicationId===jp}}const _p=new tn(Qd);let Up=1;function Hp(e,t){const n="Web3LegacyFetcher";return function(e,r){const i={method:e,params:r,id:Up++,jsonrpc:"2.0"};return new Promise(((e,r)=>{this.emit("debug",{action:"request",fetcher:n,request:ar(i),provider:this}),t(i,((t,o)=>{if(t)return this.emit("debug",{action:"response",fetcher:n,error:t,request:i,provider:this}),r(t);if(this.emit("debug",{action:"response",fetcher:n,request:i,response:o,provider:this}),o.error){const e=new Error(o.error.message);return e.code=o.error.code,e.data=o.error.data,r(e)}e(o.result)}))}))}}class Wp extends Uf{constructor(e,t){null==e&&_p.throwArgumentError("missing provider","provider",e);let n=null,r=null,i=null;"function"==typeof e?(n="unknown:",r=e):(n=e.host||e.path||"",!n&&e.isMetaMask&&(n="metamask"),i=e,e.request?(""===n&&(n="eip-1193:"),r=function(e){return function(t,n){null==n&&(n=[]);const r={method:t,params:n};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:ar(r),provider:this}),e.request(r).then((e=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,error:e,provider:this}),e}))}}(e)):e.sendAsync?r=Hp(0,e.sendAsync.bind(e)):e.send?r=Hp(0,e.send.bind(e)):_p.throwArgumentError("unsupported provider","provider",e),n||(n="unknown:")),super(n,t),Jn(this,"jsonRpcFetchFunc",r),Jn(this,"provider",i)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}const Vp=new tn(Qd);function qp(e,t){if(null==e&&(e="homestead"),"string"==typeof e){const t=e.match(/^(ws|http)s?:/i);if(t)switch(t[1].toLowerCase()){case"http":case"https":return new Uf(e);case"ws":case"wss":return new Xf(e);default:Vp.throwArgumentError("unsupported URL scheme","network",e)}}const n=Od(e);return n&&n._defaultProvider||Vp.throwError("unsupported getDefaultProvider network",tn.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:e}),n._defaultProvider({FallbackProvider:Op,AlchemyProvider:ep,AnkrProvider:ip,CloudflareProvider:sp,EtherscanProvider:mp,InfuraProvider:Lp,JsonRpcProvider:Uf,NodesmithProvider:Fp,PocketProvider:zp,Web3Provider:Wp,IpcProvider:null},t)}var Xp=Object.freeze({__proto__:null,AlchemyProvider:ep,AlchemyWebSocketProvider:$f,AnkrProvider:ip,BaseProvider:If,CloudflareProvider:sp,EtherscanProvider:mp,FallbackProvider:Op,Formatter:$d,InfuraProvider:Lp,InfuraWebSocketProvider:Mp,IpcProvider:null,JsonRpcBatchProvider:class extends Uf{send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const e=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const t=e.map((e=>e.request));return this.emit("debug",{action:"requestBatch",request:ar(t),provider:this}),jd(this.connection,JSON.stringify(t)).then((n=>{this.emit("debug",{action:"response",request:t,response:n,provider:this}),e.forEach(((e,t)=>{const r=n[t];if(r.error){const t=new Error(r.error.message);t.code=r.error.code,t.data=r.error.data,e.reject(t)}else e.resolve(r.result)}))}),(n=>{this.emit("debug",{action:"response",error:n,request:t,provider:this}),e.forEach((e=>{e.reject(n)}))}))}),10)),i}},JsonRpcProvider:Uf,JsonRpcSigner:jf,NodesmithProvider:Fp,PocketProvider:zp,Provider:va,Resolver:Cf,StaticJsonRpcProvider:Yf,UrlJsonRpcProvider:Kf,Web3Provider:Wp,WebSocketProvider:Xf,getDefaultProvider:qp,getNetwork:Od,isCommunityResourcable:ef,isCommunityResource:tf,showThrottleMessage:rf});const Gp=new RegExp("^bytes([0-9]+)$"),Zp=new RegExp("^(u?int)([0-9]*)$"),Yp=new RegExp("^(.*)\\[([0-9]*)\\]$"),Kp="0000000000000000000000000000000000000000000000000000000000000000",Qp=new tn("solidity/5.7.0");function Jp(e,t,n){switch(e){case"address":return n?pn(t,32):cn(t);case"string":return Fi(t);case"bytes":return cn(t);case"bool":return t=t?"0x01":"0x00",n?pn(t,32):cn(t)}let r=e.match(Zp);if(r){let i=parseInt(r[2]||"256");return(r[2]&&String(i)!==r[2]||i%8!=0||0===i||i>256)&&Qp.throwArgumentError("invalid number type","type",e),n&&(i=256),pn(t=Rn.from(t).toTwos(i),i/8)}if(r=e.match(Gp),r){const i=parseInt(r[1]);return(String(i)!==r[1]||0===i||i>32)&&Qp.throwArgumentError("invalid bytes type","type",e),cn(t).byteLength!==i&&Qp.throwArgumentError(`invalid value for ${e}`,"value",t),n?cn((t+Kp).substring(0,66)):t}if(r=e.match(Yp),r&&Array.isArray(t)){const n=r[1];parseInt(r[2]||String(t.length))!=t.length&&Qp.throwArgumentError(`invalid array length for ${e}`,"value",t);const i=[];return t.forEach((function(e){i.push(Jp(n,e,!0))})),dn(i)}return Qp.throwArgumentError("invalid type","type",e)}function $p(e,t){e.length!=t.length&&Qp.throwArgumentError("wrong number of values; expected ${ types.length }","values",t);const n=[];return e.forEach((function(e,r){n.push(Jp(e,t[r]))})),yn(dn(n))}function eh(e,t){return zr($p(e,t))}function th(e,t){return sc($p(e,t))}var nh=Object.freeze({__proto__:null,keccak256:eh,pack:$p,sha256:th});const rh=new tn("units/5.7.0"),ih=["wei","kwei","mwei","gwei","szabo","finney","ether"];function oh(e){const t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&rh.throwArgumentError("invalid value","value",e);let n=t[0],r="";for("-"===n.substring(0,1)&&(r="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");let i="";for(2===t.length&&(i="."+(t[1]||"0"));i.length>2&&"0"===i[i.length-1];)i=i.substring(0,i.length-1);const o=[];for(;n.length;){if(n.length<=3){o.unshift(n);break}{const e=n.length-3;o.unshift(n.substring(e)),n=n.substring(0,e)}}return r+o.join(",")+i}function ah(e,t){if("string"==typeof t){const e=ih.indexOf(t);-1!==e&&(t=3*e)}return Vn(e,null!=t?t:18)}function sh(e,t){if("string"!=typeof e&&rh.throwArgumentError("value must be a string","value",e),"string"==typeof t){const e=ih.indexOf(t);-1!==e&&(t=3*e)}return qn(e,null!=t?t:18)}function uh(e){return ah(e,18)}function lh(e){return sh(e,18)}var ch=Object.freeze({__proto__:null,commify:oh,formatEther:uh,formatUnits:ah,parseEther:lh,parseUnits:sh}),dh=Object.freeze({__proto__:null,AbiCoder:so,ConstructorFragment:Cr,ErrorFragment:Ir,EventFragment:wr,FormatTypes:yr,Fragment:vr,FunctionFragment:kr,HDNode:Ic,Indexed:fa,Interface:ma,LogDescription:la,Logger:tn,ParamType:gr,RLP:Yr,SigningKey:ml,get SupportedAlgorithm(){return rc},TransactionDescription:ca,get TransactionTypes(){return vl},get UnicodeNormalizationForm(){return Ni},Utf8ErrorFuncs:Li,get Utf8ErrorReason(){return Ri},_TypedDataEncoder:aa,_fetchData:Bd,_toEscapedUtf8String:ji,accessListify:Pl,arrayify:cn,base58:nc,base64:ho,checkProperties:tr,checkResultErrors:Lr,commify:oh,computeAddress:Cl,computeHmac:lc,computePublicKey:Al,concat:dn,deepCopy:ar,defaultAbiCoder:uo,defaultPath:Sc,defineReadOnly:Jn,dnsEncode:Ho,entropyToMnemonic:Nc,fetchJson:jd,formatBytes32String:Hi,formatEther:uh,formatUnits:ah,getAccountPath:Mc,getAddress:ti,getContractAddress:ii,getCreate2Address:oi,getIcapAddress:ri,getJsonWalletAddress:ed,getStatic:$n,hashMessage:Vo,hexConcat:bn,hexDataLength:An,hexDataSlice:gn,hexStripZeros:wn,hexValue:vn,hexZeroPad:xn,hexlify:yn,id:lo,isAddress:ni,isBytes:ln,isBytesLike:sn,isHexString:hn,isValidMnemonic:Rc,isValidName:_o,joinSignature:Tn,keccak256:zr,mnemonicToEntropy:Oc,mnemonicToSeed:Pc,namehash:Uo,nameprep:eo,parseBytes32String:Wi,parseEther:lh,parseTransaction:Dl,parseUnits:sh,poll:zd,randomBytes:jc,recoverAddress:kl,recoverPublicKey:yl,resolveProperties:er,ripemd160:ac,serializeTransaction:Ml,sha256:sc,sha512:uc,shallowCopy:nr,shuffled:zc,solidityKeccak256:eh,solidityPack:$p,soliditySha256:th,splitSignature:En,stripZeros:fn,toUtf8Bytes:Fi,toUtf8CodePoints:Ui,toUtf8String:_i,verifyMessage:vd,verifyTypedData:wd,zeroPad:pn});const fh="ethers/5.7.2",ph=new tn(fh);var hh=Object.freeze({__proto__:null,BaseContract:Ql,BigNumber:Rn,Contract:Jl,ContractFactory:$l,FixedNumber:Gn,Signer:Ca,VoidSigner:ka,Wallet:bd,Wordlist:pc,constants:Ii,get errors(){return $t},getDefaultProvider:qp,logger:ph,providers:Xp,utils:dh,version:fh,wordlists:Ac});try{const e=window;null==e._ethers&&(e._ethers=hh)}catch(e){}var mh=Object.freeze({__proto__:null,BaseContract:Ql,BigNumber:Rn,Contract:Jl,ContractFactory:$l,FixedNumber:Gn,Signer:Ca,VoidSigner:ka,Wallet:bd,Wordlist:pc,constants:Ii,get errors(){return $t},ethers:hh,getDefaultProvider:qp,logger:ph,providers:Xp,utils:dh,version:fh,wordlists:Ac});const yh="11155111",Ah="0x0000000000000000000000000000000000001002",gh="0x0000000000000000000000000000000000000001",bh={rootChainID:yh,childChainID:"13473"},vh={rootChainID:yh,childChainID:"13473"},wh={rootChainID:"1",childChainID:"13371"};var xh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Eh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Th={exports:{}};!function(e){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var o;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:require("buffer").Buffer}catch(e){}function a(e,t){var r=e.charCodeAt(t);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+e)}function s(e,t,n){var r=a(e,n);return n-1>=t&&(r|=a(e,n-1)<<4),r}function u(e,t,r,i){for(var o=0,a=0,s=Math.min(e.length,r),u=t;u<s;u++){var l=e.charCodeAt(u)-48;o*=i,a=l>=49?l-49+10:l>=17?l-17+10:l,n(l>=0&&a<i,"Invalid character"),o+=a}return o}function l(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),"le"===r&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=e.length-1,o=0;i>=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<e.length;i+=3)a=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,o=0,a=0;if("be"===n)for(r=e.length-1;r>=t;r-=2)i=s(e,t,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(r=(e.length-t)%2==0?t+1:t;r<e.length;r+=2)i=s(e,t,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,a=o%r,s=Math.min(o,o-a)+n,l=0,c=n;c<s;c+=r)l=u(e,c,c+r,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==a){var d=1;for(l=u(e,c,e.length,t),c=0;c<a;c++)d*=t;this.imuln(d),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this._strip()},i.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype._move=function(e){l(e,this)},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=c}catch(e){i.prototype.inspect=c}else i.prototype.inspect=c;function c(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","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],p=[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];i.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],u=(16777215&(s<<i|o)).toString(16);o=s>>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==o||a!==this.length-1?d[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=f[e],c=p[e];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var m=h.modrn(c).toString(e);r=(h=h.idivn(c)).isZero()?m+r:d[l-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(e,t){return this.toArrayLike(o,e,t)}),i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function h(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var l=1;l<r;l++){for(var c=u>>>26,d=67108863&u,f=Math.min(l,t.length-1),p=Math.max(0,l-e.length+1);p<=f;p++){var h=l-p|0;c+=(a=(i=0|e.words[h])*(o=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[l]=0|d,u=0|c}return 0!==u?n.words[l]=0|u:n.length--,n._strip()}i.prototype.toArrayLike=function(e,t,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;e[n++]=255&a,n<e.length&&(e[n++]=a>>8&255),n<e.length&&(e[n++]=a>>16&255),6===o?(n<e.length&&(e[n++]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n<e.length)for(e[n++]=r;n<e.length;)e[n++]=0},i.prototype._toArrayLikeBE=function(e,t){for(var n=e.length-1,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;e[n--]=255&a,n>=0&&(e[n--]=a>>8&255),n>=0&&(e[n--]=a>>16&255),6===o?(n>=0&&(e[n--]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,26!==n)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},i.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this._strip()},i.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this._strip()},i.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},i.prototype.iadd=function(e){var t,n,r;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o<r.length;o++)t=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<n.length;o++)t=(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},i.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,a=0;a<r.length;a++)o=(t=(0|n.words[a])-(0|r.words[a])+o)>>26,this.words[a]=67108863&t;for(;0!==o&&a<n.length;a++)o=(t=(0|n.words[a])+o)>>26,this.words[a]=67108863&t;if(0===o&&a<n.length&&n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this.length=Math.max(this.length,a),n!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(e){return this.clone().isub(e)};var m=function(e,t,n){var r,i,o,a=e.words,s=t.words,u=n.words,l=0,c=0|a[0],d=8191&c,f=c>>>13,p=0|a[1],h=8191&p,m=p>>>13,y=0|a[2],A=8191&y,g=y>>>13,b=0|a[3],v=8191&b,w=b>>>13,x=0|a[4],E=8191&x,T=x>>>13,C=0|a[5],k=8191&C,S=C>>>13,I=0|a[6],P=8191&I,O=I>>>13,N=0|a[7],R=8191&N,M=N>>>13,L=0|a[8],D=8191&L,F=L>>>13,B=0|a[9],j=8191&B,z=B>>>13,_=0|s[0],U=8191&_,H=_>>>13,W=0|s[1],V=8191&W,q=W>>>13,X=0|s[2],G=8191&X,Z=X>>>13,Y=0|s[3],K=8191&Y,Q=Y>>>13,J=0|s[4],$=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,re=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ue=8191&se,le=se>>>13,ce=0|s[8],de=8191&ce,fe=ce>>>13,pe=0|s[9],he=8191&pe,me=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var ye=(l+(r=Math.imul(d,U))|0)+((8191&(i=(i=Math.imul(d,H))+Math.imul(f,U)|0))<<13)|0;l=((o=Math.imul(f,H))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(h,U),i=(i=Math.imul(h,H))+Math.imul(m,U)|0,o=Math.imul(m,H);var Ae=(l+(r=r+Math.imul(d,V)|0)|0)+((8191&(i=(i=i+Math.imul(d,q)|0)+Math.imul(f,V)|0))<<13)|0;l=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(A,U),i=(i=Math.imul(A,H))+Math.imul(g,U)|0,o=Math.imul(g,H),r=r+Math.imul(h,V)|0,i=(i=i+Math.imul(h,q)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,q)|0;var ge=(l+(r=r+Math.imul(d,G)|0)|0)+((8191&(i=(i=i+Math.imul(d,Z)|0)+Math.imul(f,G)|0))<<13)|0;l=((o=o+Math.imul(f,Z)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(v,U),i=(i=Math.imul(v,H))+Math.imul(w,U)|0,o=Math.imul(w,H),r=r+Math.imul(A,V)|0,i=(i=i+Math.imul(A,q)|0)+Math.imul(g,V)|0,o=o+Math.imul(g,q)|0,r=r+Math.imul(h,G)|0,i=(i=i+Math.imul(h,Z)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Z)|0;var be=(l+(r=r+Math.imul(d,K)|0)|0)+((8191&(i=(i=i+Math.imul(d,Q)|0)+Math.imul(f,K)|0))<<13)|0;l=((o=o+Math.imul(f,Q)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(E,U),i=(i=Math.imul(E,H))+Math.imul(T,U)|0,o=Math.imul(T,H),r=r+Math.imul(v,V)|0,i=(i=i+Math.imul(v,q)|0)+Math.imul(w,V)|0,o=o+Math.imul(w,q)|0,r=r+Math.imul(A,G)|0,i=(i=i+Math.imul(A,Z)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,Z)|0,r=r+Math.imul(h,K)|0,i=(i=i+Math.imul(h,Q)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,Q)|0;var ve=(l+(r=r+Math.imul(d,$)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(f,$)|0))<<13)|0;l=((o=o+Math.imul(f,ee)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(k,U),i=(i=Math.imul(k,H))+Math.imul(S,U)|0,o=Math.imul(S,H),r=r+Math.imul(E,V)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(T,V)|0,o=o+Math.imul(T,q)|0,r=r+Math.imul(v,G)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,Z)|0,r=r+Math.imul(A,K)|0,i=(i=i+Math.imul(A,Q)|0)+Math.imul(g,K)|0,o=o+Math.imul(g,Q)|0,r=r+Math.imul(h,$)|0,i=(i=i+Math.imul(h,ee)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,ee)|0;var we=(l+(r=r+Math.imul(d,ne)|0)|0)+((8191&(i=(i=i+Math.imul(d,re)|0)+Math.imul(f,ne)|0))<<13)|0;l=((o=o+Math.imul(f,re)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(P,U),i=(i=Math.imul(P,H))+Math.imul(O,U)|0,o=Math.imul(O,H),r=r+Math.imul(k,V)|0,i=(i=i+Math.imul(k,q)|0)+Math.imul(S,V)|0,o=o+Math.imul(S,q)|0,r=r+Math.imul(E,G)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,Z)|0,r=r+Math.imul(v,K)|0,i=(i=i+Math.imul(v,Q)|0)+Math.imul(w,K)|0,o=o+Math.imul(w,Q)|0,r=r+Math.imul(A,$)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,ee)|0,r=r+Math.imul(h,ne)|0,i=(i=i+Math.imul(h,re)|0)+Math.imul(m,ne)|0,o=o+Math.imul(m,re)|0;var xe=(l+(r=r+Math.imul(d,oe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(f,oe)|0))<<13)|0;l=((o=o+Math.imul(f,ae)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(R,U),i=(i=Math.imul(R,H))+Math.imul(M,U)|0,o=Math.imul(M,H),r=r+Math.imul(P,V)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,q)|0,r=r+Math.imul(k,G)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,Z)|0,r=r+Math.imul(E,K)|0,i=(i=i+Math.imul(E,Q)|0)+Math.imul(T,K)|0,o=o+Math.imul(T,Q)|0,r=r+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,ee)|0,r=r+Math.imul(A,ne)|0,i=(i=i+Math.imul(A,re)|0)+Math.imul(g,ne)|0,o=o+Math.imul(g,re)|0,r=r+Math.imul(h,oe)|0,i=(i=i+Math.imul(h,ae)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,ae)|0;var Ee=(l+(r=r+Math.imul(d,ue)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(f,ue)|0))<<13)|0;l=((o=o+Math.imul(f,le)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(D,U),i=(i=Math.imul(D,H))+Math.imul(F,U)|0,o=Math.imul(F,H),r=r+Math.imul(R,V)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(M,V)|0,o=o+Math.imul(M,q)|0,r=r+Math.imul(P,G)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Z)|0,r=r+Math.imul(k,K)|0,i=(i=i+Math.imul(k,Q)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,Q)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,r=r+Math.imul(v,ne)|0,i=(i=i+Math.imul(v,re)|0)+Math.imul(w,ne)|0,o=o+Math.imul(w,re)|0,r=r+Math.imul(A,oe)|0,i=(i=i+Math.imul(A,ae)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,ae)|0,r=r+Math.imul(h,ue)|0,i=(i=i+Math.imul(h,le)|0)+Math.imul(m,ue)|0,o=o+Math.imul(m,le)|0;var Te=(l+(r=r+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,fe)|0)+Math.imul(f,de)|0))<<13)|0;l=((o=o+Math.imul(f,fe)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(j,U),i=(i=Math.imul(j,H))+Math.imul(z,U)|0,o=Math.imul(z,H),r=r+Math.imul(D,V)|0,i=(i=i+Math.imul(D,q)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,q)|0,r=r+Math.imul(R,G)|0,i=(i=i+Math.imul(R,Z)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(P,K)|0,i=(i=i+Math.imul(P,Q)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,Q)|0,r=r+Math.imul(k,$)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(T,ne)|0,o=o+Math.imul(T,re)|0,r=r+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,ae)|0)+Math.imul(w,oe)|0,o=o+Math.imul(w,ae)|0,r=r+Math.imul(A,ue)|0,i=(i=i+Math.imul(A,le)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,le)|0,r=r+Math.imul(h,de)|0,i=(i=i+Math.imul(h,fe)|0)+Math.imul(m,de)|0,o=o+Math.imul(m,fe)|0;var Ce=(l+(r=r+Math.imul(d,he)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(f,he)|0))<<13)|0;l=((o=o+Math.imul(f,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(j,V),i=(i=Math.imul(j,q))+Math.imul(z,V)|0,o=Math.imul(z,q),r=r+Math.imul(D,G)|0,i=(i=i+Math.imul(D,Z)|0)+Math.imul(F,G)|0,o=o+Math.imul(F,Z)|0,r=r+Math.imul(R,K)|0,i=(i=i+Math.imul(R,Q)|0)+Math.imul(M,K)|0,o=o+Math.imul(M,Q)|0,r=r+Math.imul(P,$)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,ee)|0,r=r+Math.imul(k,ne)|0,i=(i=i+Math.imul(k,re)|0)+Math.imul(S,ne)|0,o=o+Math.imul(S,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,ae)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,ae)|0,r=r+Math.imul(v,ue)|0,i=(i=i+Math.imul(v,le)|0)+Math.imul(w,ue)|0,o=o+Math.imul(w,le)|0,r=r+Math.imul(A,de)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(g,de)|0,o=o+Math.imul(g,fe)|0;var ke=(l+(r=r+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(m,he)|0))<<13)|0;l=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(j,G),i=(i=Math.imul(j,Z))+Math.imul(z,G)|0,o=Math.imul(z,Z),r=r+Math.imul(D,K)|0,i=(i=i+Math.imul(D,Q)|0)+Math.imul(F,K)|0,o=o+Math.imul(F,Q)|0,r=r+Math.imul(R,$)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(O,ne)|0,o=o+Math.imul(O,re)|0,r=r+Math.imul(k,oe)|0,i=(i=i+Math.imul(k,ae)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,ae)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,le)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,le)|0,r=r+Math.imul(v,de)|0,i=(i=i+Math.imul(v,fe)|0)+Math.imul(w,de)|0,o=o+Math.imul(w,fe)|0;var Se=(l+(r=r+Math.imul(A,he)|0)|0)+((8191&(i=(i=i+Math.imul(A,me)|0)+Math.imul(g,he)|0))<<13)|0;l=((o=o+Math.imul(g,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(j,K),i=(i=Math.imul(j,Q))+Math.imul(z,K)|0,o=Math.imul(z,Q),r=r+Math.imul(D,$)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(F,$)|0,o=o+Math.imul(F,ee)|0,r=r+Math.imul(R,ne)|0,i=(i=i+Math.imul(R,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,ae)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,ae)|0,r=r+Math.imul(k,ue)|0,i=(i=i+Math.imul(k,le)|0)+Math.imul(S,ue)|0,o=o+Math.imul(S,le)|0,r=r+Math.imul(E,de)|0,i=(i=i+Math.imul(E,fe)|0)+Math.imul(T,de)|0,o=o+Math.imul(T,fe)|0;var Ie=(l+(r=r+Math.imul(v,he)|0)|0)+((8191&(i=(i=i+Math.imul(v,me)|0)+Math.imul(w,he)|0))<<13)|0;l=((o=o+Math.imul(w,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(j,$),i=(i=Math.imul(j,ee))+Math.imul(z,$)|0,o=Math.imul(z,ee),r=r+Math.imul(D,ne)|0,i=(i=i+Math.imul(D,re)|0)+Math.imul(F,ne)|0,o=o+Math.imul(F,re)|0,r=r+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,ae)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,le)|0)+Math.imul(O,ue)|0,o=o+Math.imul(O,le)|0,r=r+Math.imul(k,de)|0,i=(i=i+Math.imul(k,fe)|0)+Math.imul(S,de)|0,o=o+Math.imul(S,fe)|0;var Pe=(l+(r=r+Math.imul(E,he)|0)|0)+((8191&(i=(i=i+Math.imul(E,me)|0)+Math.imul(T,he)|0))<<13)|0;l=((o=o+Math.imul(T,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(j,ne),i=(i=Math.imul(j,re))+Math.imul(z,ne)|0,o=Math.imul(z,re),r=r+Math.imul(D,oe)|0,i=(i=i+Math.imul(D,ae)|0)+Math.imul(F,oe)|0,o=o+Math.imul(F,ae)|0,r=r+Math.imul(R,ue)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,le)|0,r=r+Math.imul(P,de)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(O,de)|0,o=o+Math.imul(O,fe)|0;var Oe=(l+(r=r+Math.imul(k,he)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(S,he)|0))<<13)|0;l=((o=o+Math.imul(S,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(j,oe),i=(i=Math.imul(j,ae))+Math.imul(z,oe)|0,o=Math.imul(z,ae),r=r+Math.imul(D,ue)|0,i=(i=i+Math.imul(D,le)|0)+Math.imul(F,ue)|0,o=o+Math.imul(F,le)|0,r=r+Math.imul(R,de)|0,i=(i=i+Math.imul(R,fe)|0)+Math.imul(M,de)|0,o=o+Math.imul(M,fe)|0;var Ne=(l+(r=r+Math.imul(P,he)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(O,he)|0))<<13)|0;l=((o=o+Math.imul(O,me)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,r=Math.imul(j,ue),i=(i=Math.imul(j,le))+Math.imul(z,ue)|0,o=Math.imul(z,le),r=r+Math.imul(D,de)|0,i=(i=i+Math.imul(D,fe)|0)+Math.imul(F,de)|0,o=o+Math.imul(F,fe)|0;var Re=(l+(r=r+Math.imul(R,he)|0)|0)+((8191&(i=(i=i+Math.imul(R,me)|0)+Math.imul(M,he)|0))<<13)|0;l=((o=o+Math.imul(M,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,r=Math.imul(j,de),i=(i=Math.imul(j,fe))+Math.imul(z,de)|0,o=Math.imul(z,fe);var Me=(l+(r=r+Math.imul(D,he)|0)|0)+((8191&(i=(i=i+Math.imul(D,me)|0)+Math.imul(F,he)|0))<<13)|0;l=((o=o+Math.imul(F,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Le=(l+(r=Math.imul(j,he))|0)+((8191&(i=(i=Math.imul(j,me))+Math.imul(z,he)|0))<<13)|0;return l=((o=Math.imul(z,me))+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,u[0]=ye,u[1]=Ae,u[2]=ge,u[3]=be,u[4]=ve,u[5]=we,u[6]=xe,u[7]=Ee,u[8]=Te,u[9]=Ce,u[10]=ke,u[11]=Se,u[12]=Ie,u[13]=Pe,u[14]=Oe,u[15]=Ne,u[16]=Re,u[17]=Me,u[18]=Le,0!==l&&(u[19]=l,n.length++),n};function y(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var a=i;i=0;for(var s=67108863&r,u=Math.min(o,t.length-1),l=Math.max(0,o-e.length+1);l<=u;l++){var c=o-l,d=(0|e.words[c])*(0|t.words[l]),f=67108863&d;s=67108863&(f=f+s|0),i+=(a=(a=a+(d/67108864|0)|0)+(f>>>26)|0)>>>26,a&=67108863}n.words[o]=s,r=a,a=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function A(e,t,n){return y(e,t,n)}Math.imul||(m=h),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):n<63?h(this,e,t):n<1024?y(this,e,t):A(this,e,t)},i.prototype.mul=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),A(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){var t=e<0;t&&(e=-e),n("number"==typeof e),n(e<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*e,a=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),t?this.ineg():this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=e.words[r]>>>i&1}return t}(e);if(0===t.length)return new i(1);for(var n=this,r=0;r<t.length&&0===t[r];r++,n=n.sqr());if(++r<t.length)for(var o=n.sqr();r<t.length;r++,o=o.sqr())0!==t[r]&&(n=n.mul(o));return n},i.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t<this.length;t++){var s=this.words[t]&o,u=(0|this.words[t])-s<<r;this.words[t]=u|a,a=s>>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},i.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var l=0;l<a;l++)u.words[l]=this.words[l];u.length=a}if(0===a);else if(this.length>a)for(this.length-=a,l=0;l<this.length;l++)this.words[l]=this.words[l+a];else this.words[0]=0,this.length=1;var c=0;for(l=this.length-1;l>=0&&(0!==c||l>=i);l--){var d=0|this.words[l];this.words[l]=c<<26-o|d>>>o,c=d&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},i.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var i,o,a=e.length+r;this._expand(a);var s=0;for(i=0;i<e.length;i++){o=(0|this.words[i+r])+s;var u=(0|e.words[i])*t;s=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),o=e,a=0|o.words[o.length-1];0!==(n=26-this._countBits(a))&&(o=o.ushln(n),r.iushln(n),a=0|o.words[o.length-1]);var s,u=r.length-o.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var l=0;l<s.length;l++)s.words[l]=0}var c=r.clone()._ishlnsubmul(o,1,u);0===c.negative&&(r=c,s&&(s.words[u]=1));for(var d=u-1;d>=0;d--){var f=67108864*(0|r.words[o.length+d])+(0|r.words[o.length+d-1]);for(f=Math.min(f/a|0,67108863),r._ishlnsubmul(o,f,d);0!==r.negative;)f--,r.negative=0,r._ishlnsubmul(o,1,d),r.isZero()||(r.negative^=1);s&&(s.words[d]=f)}return s&&s._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:s||null,mod:r}},i.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(o=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:o,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modrn(e.words[0]))}:this._wordDiv(e,t);var o,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%e;return t?-i:i},i.prototype.modn=function(e){return this.modrn(e)},i.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/e|0,r=o%e}return this._strip(),t?this.ineg():this},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var o=new i(1),a=new i(0),s=new i(0),u=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var c=r.clone(),d=t.clone();!t.isZero();){for(var f=0,p=1;0==(t.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(c),a.isub(d)),o.iushrn(1),a.iushrn(1);for(var h=0,m=1;0==(r.words[0]&m)&&h<26;++h,m<<=1);if(h>0)for(r.iushrn(h);h-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s),a.isub(u)):(r.isub(t),s.isub(o),u.isub(a))}return{a:s,b:u,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var o,a=new i(1),s=new i(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,c=1;0==(t.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,f=1;0==(r.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(r.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s)):(r.isub(t),s.isub(a))}return(o=0===t.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(e),o},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},i.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new T(e)},i.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function C(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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)}b.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},r(v,b),v.prototype.split=function(e,t){for(var n=4194303,r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var o=e.words[9];for(t.words[t.length++]=o&n,i=10;i<e.length;i++){var a=0|e.words[i];e.words[i-10]=(a&n)<<4|o>>>22,o=a}o>>>=22,e.words[i-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=0|e.words[n];t+=977*r,e.words[n]=67108863&t,t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},r(w,b),r(x,b),r(E,b),E.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=19*(0|e.words[n])+t,i=67108863&r;r>>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new w;else if("p192"===e)t=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new E}return g[e]=t,t},T.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(l(e,e.umod(this.m)._forceRed(this)),e)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},T.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);n(!o.isZero());var s=new i(1).toRed(this),u=s.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,o),f=this.pow(e,o.addn(1).iushrn(1)),p=this.pow(e,o),h=a;0!==p.cmp(s);){for(var m=p,y=0;0!==m.cmp(s);y++)m=m.redSqr();n(y<h);var A=this.pow(d,new i(1).iushln(h-y-1));f=f.redMul(A),d=A.redSqr(),p=p.redMul(d),h=y}return f},T.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},T.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(0===t.cmpn(1))return e.clone();var n=new Array(16);n[0]=new i(1).toRed(this),n[1]=e;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],e);var o=n[0],a=0,s=0,u=t.bitLength()%26;for(0===u&&(u=26),r=t.length-1;r>=0;r--){for(var l=t.words[r],c=u-1;c>=0;c--){var d=l>>c&1;o!==n[0]&&(o=this.sqr(o)),0!==d||0!==a?(a<<=1,a|=d,(4===++s||0===r&&0===c)&&(o=this.mul(o,n[a]),s=0,a=0)):s=0}u=26}return o},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new C(e)},r(C,T),C.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},C.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},C.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},C.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=n.isub(r).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},C.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,xh)}(Th);var Ch=Eh(Th.exports);let kh=!1,Sh=!1;const Ih={debug:1,default:2,info:2,warning:3,error:4,off:5};let Ph=Ih.default,Oh=null;const Nh=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(n){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var Rh,Mh;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(Rh||(Rh={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(Mh||(Mh={}));const Lh="0123456789abcdef";let Dh=class e{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const n=e.toLowerCase();null==Ih[n]&&this.throwArgumentError("invalid log level name","logLevel",e),Ph>Ih[n]||console.log.apply(console,t)}debug(...t){this._log(e.levels.DEBUG,t)}info(...t){this._log(e.levels.INFO,t)}warn(...t){this._log(e.levels.WARNING,t)}makeError(t,n,r){if(Sh)return this.makeError("censored error",n,{});n||(n=e.errors.UNKNOWN_ERROR),r||(r={});const i=[];Object.keys(r).forEach((e=>{const t=r[e];try{if(t instanceof Uint8Array){let n="";for(let e=0;e<t.length;e++)n+=Lh[t[e]>>4],n+=Lh[15&t[e]];i.push(e+"=Uint8Array(0x"+n+")")}else i.push(e+"="+JSON.stringify(t))}catch(t){i.push(e+"="+JSON.stringify(r[e].toString()))}})),i.push(`code=${n}`),i.push(`version=${this.version}`);const o=t;let a="";switch(n){case Mh.NUMERIC_FAULT:{a="NUMERIC_FAULT";const e=t;switch(e){case"overflow":case"underflow":case"division-by-zero":a+="-"+e;break;case"negative-power":case"negative-width":a+="-unsupported";break;case"unbound-bitwise-result":a+="-unbound-result"}break}case Mh.CALL_EXCEPTION:case Mh.INSUFFICIENT_FUNDS:case Mh.MISSING_NEW:case Mh.NONCE_EXPIRED:case Mh.REPLACEMENT_UNDERPRICED:case Mh.TRANSACTION_REPLACED:case Mh.UNPREDICTABLE_GAS_LIMIT:a=n}a&&(t+=" [ See: https://links.ethers.org/v5-errors-"+a+" ]"),i.length&&(t+=" ("+i.join(", ")+")");const s=new Error(t);return s.reason=o,s.code=n,Object.keys(r).forEach((function(e){s[e]=r[e]})),s}throwError(e,t,n){throw this.makeError(e,t,n)}throwArgumentError(t,n,r){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:n,value:r})}assert(e,t,n,r){e||this.throwError(t,n,r)}assertArgument(e,t,n,r){e||this.throwArgumentError(t,n,r)}checkNormalize(t){Nh&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Nh})}checkSafeUint53(t,n){"number"==typeof t&&(null==n&&(n="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(n,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(n,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,n,r){r=r?": "+r:"",t<n&&this.throwError("missing argument"+r,e.errors.MISSING_ARGUMENT,{count:t,expectedCount:n}),t>n&&this.throwError("too many arguments"+r,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:n})}checkNew(t,n){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:n.name})}checkAbstract(t,n){t===n?this.throwError("cannot instantiate abstract class "+JSON.stringify(n.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:n.name})}static globalLogger(){return Oh||(Oh=new e("logger/5.7.0")),Oh}static setCensorship(t,n){if(!t&&n&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),kh){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Sh=!!t,kh=!!n}static setLogLevel(t){const n=Ih[t.toLowerCase()];null!=n?Ph=n:e.globalLogger().warn("invalid log level - "+t)}static from(t){return new e(t)}};Dh.errors=Mh,Dh.levels=Rh;const Fh=new Dh("bytes/5.7.0");function Bh(e){return!!e.toHexString}function jh(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return jh(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function zh(e){return"number"==typeof e&&e==e&&e%1==0}function _h(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(!zh(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const n=e[t];if(!zh(n)||n<0||n>=256)return!1}return!0}function Uh(e,t){if(t||(t={}),"number"==typeof e){Fh.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),jh(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),Bh(e)&&(e=e.toHexString()),Wh(e)){let n=e.substring(2);n.length%2&&("left"===t.hexPad?n="0"+n:"right"===t.hexPad?n+="0":Fh.throwArgumentError("hex data is odd-length","value",e));const r=[];for(let e=0;e<n.length;e+=2)r.push(parseInt(n.substring(e,e+2),16));return jh(new Uint8Array(r))}return _h(e)?jh(new Uint8Array(e)):Fh.throwArgumentError("invalid arrayify value","value",e)}function Hh(e){const t=e.map((e=>Uh(e))),n=t.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(n);return t.reduce(((e,t)=>(r.set(t,e),e+t.length)),0),jh(r)}function Wh(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}const Vh="0123456789abcdef";function qh(e,t){if(t||(t={}),"number"==typeof e){Fh.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t=Vh[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),Bh(e))return e.toHexString();if(Wh(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":Fh.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(_h(e)){let t="0x";for(let n=0;n<e.length;n++){let r=e[n];t+=Vh[(240&r)>>4]+Vh[15&r]}return t}return Fh.throwArgumentError("invalid hexlify value","value",e)}function Xh(e,t,n){return"string"!=typeof e?e=qh(e):(!Wh(e)||e.length%2)&&Fh.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=n?"0x"+e.substring(t,2+2*n):"0x"+e.substring(t)}function Gh(e,t){for("string"!=typeof e?e=qh(e):Wh(e)||Fh.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&Fh.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}var Zh=Ch.BN;const Yh=new Dh("bignumber/5.7.0"),Kh={},Qh=9007199254740991;let Jh=!1;class $h{constructor(e,t){e!==Kh&&Yh.throwError("cannot call constructor directly; use BigNumber.from",Dh.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return tm(nm(this).fromTwos(e))}toTwos(e){return tm(nm(this).toTwos(e))}abs(){return"-"===this._hex[0]?$h.from(this._hex.substring(1)):this}add(e){return tm(nm(this).add(nm(e)))}sub(e){return tm(nm(this).sub(nm(e)))}div(e){return $h.from(e).isZero()&&rm("division-by-zero","div"),tm(nm(this).div(nm(e)))}mul(e){return tm(nm(this).mul(nm(e)))}mod(e){const t=nm(e);return t.isNeg()&&rm("division-by-zero","mod"),tm(nm(this).umod(t))}pow(e){const t=nm(e);return t.isNeg()&&rm("negative-power","pow"),tm(nm(this).pow(t))}and(e){const t=nm(e);return(this.isNegative()||t.isNeg())&&rm("unbound-bitwise-result","and"),tm(nm(this).and(t))}or(e){const t=nm(e);return(this.isNegative()||t.isNeg())&&rm("unbound-bitwise-result","or"),tm(nm(this).or(t))}xor(e){const t=nm(e);return(this.isNegative()||t.isNeg())&&rm("unbound-bitwise-result","xor"),tm(nm(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&rm("negative-width","mask"),tm(nm(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&rm("negative-width","shl"),tm(nm(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&rm("negative-width","shr"),tm(nm(this).shrn(e))}eq(e){return nm(this).eq(nm(e))}lt(e){return nm(this).lt(nm(e))}lte(e){return nm(this).lte(nm(e))}gt(e){return nm(this).gt(nm(e))}gte(e){return nm(this).gte(nm(e))}isNegative(){return"-"===this._hex[0]}isZero(){return nm(this).isZero()}toNumber(){try{return nm(this).toNumber()}catch(e){rm("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return Yh.throwError("this platform does not support BigInt",Dh.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?Jh||(Jh=!0,Yh.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?Yh.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Dh.errors.UNEXPECTED_ARGUMENT,{}):Yh.throwError("BigNumber.toString does not accept parameters",Dh.errors.UNEXPECTED_ARGUMENT,{})),nm(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof $h)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new $h(Kh,em(e)):e.match(/^-?[0-9]+$/)?new $h(Kh,em(new Zh(e))):Yh.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&rm("underflow","BigNumber.from",e),(e>=Qh||e<=-Qh)&&rm("overflow","BigNumber.from",e),$h.from(String(e));const t=e;if("bigint"==typeof t)return $h.from(t.toString());if(_h(t))return $h.from(qh(t));if(t)if(t.toHexString){const e=t.toHexString();if("string"==typeof e)return $h.from(e)}else{let e=t._hex;if(null==e&&"BigNumber"===t.type&&(e=t.hex),"string"==typeof e&&(Wh(e)||"-"===e[0]&&Wh(e.substring(1))))return $h.from(e)}return Yh.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function em(e){if("string"!=typeof e)return em(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&Yh.throwArgumentError("invalid hex","value",e),"0x00"===(e=em(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function tm(e){return $h.from(em(e))}function nm(e){const t=$h.from(e).toHexString();return"-"===t[0]?new Zh("-"+t.substring(3),16):new Zh(t.substring(2),16)}function rm(e,t,n){const r={fault:e,operation:t};return null!=n&&(r.value=n),Yh.throwError(e,Dh.errors.NUMERIC_FAULT,r)}var im=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const om=new Dh("properties/5.7.0");function am(e,t,n){Object.defineProperty(e,t,{enumerable:!0,value:n,writable:!1})}function sm(e,t){for(let n=0;n<32;n++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function um(e){return im(this,void 0,void 0,(function*(){const t=Object.keys(e).map((t=>{const n=e[t];return Promise.resolve(n).then((e=>({key:t,value:e})))}));return(yield Promise.all(t)).reduce(((e,t)=>(e[t.key]=t.value,e)),{})}))}function lm(e){const t={};for(const n in e)t[n]=e[n];return t}const cm={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function dm(e){if(null==e||cm[typeof e])return!0;if(Array.isArray(e)||"object"==typeof e){if(!Object.isFrozen(e))return!1;const t=Object.keys(e);for(let n=0;n<t.length;n++){let r=null;try{r=e[t[n]]}catch(e){continue}if(!dm(r))return!1}return!0}return om.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function fm(e){if(dm(e))return e;if(Array.isArray(e))return Object.freeze(e.map((e=>pm(e))));if("object"==typeof e){const t={};for(const n in e){const r=e[n];void 0!==r&&am(t,n,pm(r))}return t}return om.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function pm(e){return fm(e)}class hm{constructor(e){for(const t in e)this[t]=pm(e[t])}}const mm="abi/5.7.0",ym=new Dh(mm),Am={};let gm={calldata:!0,memory:!0,storage:!0},bm={calldata:!0,memory:!0};function vm(e,t){if("bytes"===e||"string"===e){if(gm[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&bm[t])return!0;return(gm[t]||"payable"===t)&&ym.throwArgumentError("invalid modifier","name",t),!1}function wm(e,t){for(let n in t)am(e,n,t[n])}const xm=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),Em=new RegExp(/^(.*)\[([0-9]*)\]$/);class Tm{constructor(e,t){e!==Am&&ym.throwError("use fromString",Dh.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),wm(this,t);let n=this.type.match(Em);wm(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:Tm.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((t=>JSON.parse(t.format(e))))),JSON.stringify(t)}let t="";return"array"===this.baseType?(t+=this.arrayChildren.format(e),t+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==xm.sighash&&(t+=this.type),t+="("+this.components.map((t=>t.format(e))).join(e===xm.full?", ":",")+")"):t+=this.type,e!==xm.sighash&&(!0===this.indexed&&(t+=" indexed"),e===xm.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?Tm.fromString(e,t):Tm.fromObject(e)}static fromObject(e){return Tm.isParamType(e)?e:new Tm(Am,{name:e.name||null,type:Dm(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(Tm.fromObject):null})}static fromString(e,t){return function(e){return Tm.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(e,t){let n=e;function r(t){ym.throwArgumentError(`unexpected character at position ${t}`,"param",e)}function i(e){let n={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(n.indexed=!1),n}e=e.replace(/\s/g," ");let o={type:"",name:"",state:{allowType:!0}},a=o;for(let n=0;n<e.length;n++){let o=e[n];switch(o){case"(":a.state.allowType&&""===a.type?a.type="tuple":a.state.allowParams||r(n),a.state.allowType=!1,a.type=Dm(a.type),a.components=[i(a)],a=a.components[0];break;case")":delete a.state,"indexed"===a.name&&(t||r(n),a.indexed=!0,a.name=""),vm(a.type,a.name)&&(a.name=""),a.type=Dm(a.type);let e=a;a=a.parent,a||r(n),delete e.parent,a.state.allowParams=!1,a.state.allowName=!0,a.state.allowArray=!0;break;case",":delete a.state,"indexed"===a.name&&(t||r(n),a.indexed=!0,a.name=""),vm(a.type,a.name)&&(a.name=""),a.type=Dm(a.type);let s=i(a.parent);a.parent.components.push(s),delete a.parent,a=s;break;case" ":a.state.allowType&&""!==a.type&&(a.type=Dm(a.type),delete a.state.allowType,a.state.allowName=!0,a.state.allowParams=!0),a.state.allowName&&""!==a.name&&("indexed"===a.name?(t||r(n),a.indexed&&r(n),a.indexed=!0,a.name=""):vm(a.type,a.name)?a.name="":a.state.allowName=!1);break;case"[":a.state.allowArray||r(n),a.type+=o,a.state.allowArray=!1,a.state.allowName=!1,a.state.readArray=!0;break;case"]":a.state.readArray||r(n),a.type+=o,a.state.readArray=!1,a.state.allowArray=!0,a.state.allowName=!0;break;default:a.state.allowType?(a.type+=o,a.state.allowParams=!0,a.state.allowArray=!0):a.state.allowName?(a.name+=o,delete a.state.allowArray):a.state.readArray?a.type+=o:r(n)}}return a.parent&&ym.throwArgumentError("unexpected eof","param",e),delete o.state,"indexed"===a.name?(t||r(n.length-7),a.indexed&&r(n.length-7),a.indexed=!0,a.name=""):vm(a.type,a.name)&&(a.name=""),o.type=Dm(o.type),o}(e,!!t))}static isParamType(e){return!(null==e||!e._isParamType)}}function Cm(e,t){return function(e){e=e.trim();let t=[],n="",r=0;for(let i=0;i<e.length;i++){let o=e[i];","===o&&0===r?(t.push(n),n=""):(n+=o,"("===o?r++:")"===o&&(r--,-1===r&&ym.throwArgumentError("unbalanced parenthesis","value",e)))}n&&t.push(n);return t}(e).map((e=>Tm.fromString(e,t)))}let km=class e{constructor(e,t){e!==Am&&ym.throwError("use a static from method",Dh.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),wm(this,t),this._isFragment=!0,Object.freeze(this)}static from(t){return e.isFragment(t)?t:"string"==typeof t?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isFragment(t))return t;switch(t.type){case"function":return Rm.fromObject(t);case"event":return Sm.fromObject(t);case"constructor":return Nm.fromObject(t);case"error":return Lm.fromObject(t);case"fallback":case"receive":return null}return ym.throwArgumentError("invalid fragment object","value",t)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Sm.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?Rm.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?Nm.fromString(e.trim()):"error"===e.split(" ")[0]?Lm.fromString(e.substring(5).trim()):ym.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}};class Sm extends km{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==xm.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ",e!==xm.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?Sm.fromString(e):Sm.fromObject(e)}static fromObject(e){if(Sm.isEventFragment(e))return e;"event"!==e.type&&ym.throwArgumentError("invalid event object","value",e);const t={name:Bm(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(Tm.fromObject):[],type:"event"};return new Sm(Am,t)}static fromString(e){let t=e.match(jm);t||ym.throwArgumentError("invalid event string","value",e);let n=!1;return t[3].split(" ").forEach((e=>{switch(e.trim()){case"anonymous":n=!0;break;case"":break;default:ym.warn("unknown modifier: "+e)}})),Sm.fromObject({name:t[1].trim(),anonymous:n,inputs:Cm(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function Im(e,t){t.gas=null;let n=e.split("@");return 1!==n.length?(n.length>2&&ym.throwArgumentError("invalid human-readable ABI signature","value",e),n[1].match(/^[0-9]+$/)||ym.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=$h.from(n[1]),n[0]):e}function Pm(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function Om(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&ym.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&ym.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||ym.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&ym.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&ym.throwArgumentError("unable to determine stateMutability","value",e),t}class Nm extends km{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});e===xm.sighash&&ym.throwError("cannot format a constructor for sighash",Dh.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?Nm.fromString(e):Nm.fromObject(e)}static fromObject(e){if(Nm.isConstructorFragment(e))return e;"constructor"!==e.type&&ym.throwArgumentError("invalid constructor object","value",e);let t=Om(e);t.constant&&ym.throwArgumentError("constructor cannot be constant","value",e);const n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(Tm.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?$h.from(e.gas):null};return new Nm(Am,n)}static fromString(e){let t={type:"constructor"},n=(e=Im(e,t)).match(jm);return n&&"constructor"===n[1].trim()||ym.throwArgumentError("invalid constructor string","value",e),t.inputs=Cm(n[2].trim(),!1),Pm(n[3].trim(),t),Nm.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class Rm extends Nm{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((t=>JSON.parse(t.format(e)))),outputs:this.outputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==xm.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ",e!==xm.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((t=>t.format(e))).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?Rm.fromString(e):Rm.fromObject(e)}static fromObject(e){if(Rm.isFunctionFragment(e))return e;"function"!==e.type&&ym.throwArgumentError("invalid function object","value",e);let t=Om(e);const n={type:e.type,name:Bm(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(Tm.fromObject):[],outputs:e.outputs?e.outputs.map(Tm.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?$h.from(e.gas):null};return new Rm(Am,n)}static fromString(e){let t={type:"function"},n=(e=Im(e,t)).split(" returns ");n.length>2&&ym.throwArgumentError("invalid function string","value",e);let r=n[0].match(jm);if(r||ym.throwArgumentError("invalid function signature","value",e),t.name=r[1].trim(),t.name&&Bm(t.name),t.inputs=Cm(r[2],!1),Pm(r[3].trim(),t),n.length>1){let r=n[1].match(jm);""==r[1].trim()&&""==r[3].trim()||ym.throwArgumentError("unexpected tokens","value",e),t.outputs=Cm(r[2],!1)}else t.outputs=[];return Rm.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function Mm(e){const t=e.format();return"Error(string)"!==t&&"Panic(uint256)"!==t||ym.throwArgumentError(`cannot specify user defined ${t} error`,"fragment",e),e}class Lm extends km{format(e){if(e||(e=xm.sighash),xm[e]||ym.throwArgumentError("invalid format type","format",e),e===xm.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==xm.sighash&&(t+="error "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===xm.full?", ":",")+") ",t.trim()}static from(e){return"string"==typeof e?Lm.fromString(e):Lm.fromObject(e)}static fromObject(e){if(Lm.isErrorFragment(e))return e;"error"!==e.type&&ym.throwArgumentError("invalid error object","value",e);const t={type:e.type,name:Bm(e.name),inputs:e.inputs?e.inputs.map(Tm.fromObject):[]};return Mm(new Lm(Am,t))}static fromString(e){let t={type:"error"},n=e.match(jm);return n||ym.throwArgumentError("invalid error signature","value",e),t.name=n[1].trim(),t.name&&Bm(t.name),t.inputs=Cm(n[2],!1),Mm(Lm.fromObject(t))}static isErrorFragment(e){return e&&e._isFragment&&"error"===e.type}}function Dm(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const Fm=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function Bm(e){return e&&e.match(Fm)||ym.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const jm=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const zm=new Dh(mm);class _m{constructor(e,t,n,r){this.name=e,this.type=t,this.localName=n,this.dynamic=r}_throwError(e,t){zm.throwArgumentError(e,this.localName,t)}}class Um{constructor(e){am(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return function(e){let t="0x";return e.forEach((e=>{t+=qh(e).substring(2)})),t}(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(Hh(e._data))}writeBytes(e){let t=Uh(e);const n=t.length%this.wordSize;return n&&(t=Hh([t,this._padding.slice(n)])),this._writeData(t)}_getValue(e){let t=Uh($h.from(e));return t.length>this.wordSize&&zm.throwError("value out-of-bounds",Dh.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=Hh([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,t=>{this._data[e]=this._getValue(t)}}}class Hm{constructor(e,t,n,r){am(this,"_data",Uh(e)),am(this,"wordSize",t||32),am(this,"_coerceFunc",n),am(this,"allowLoose",r),this._offset=0}get data(){return qh(this._data)}get consumed(){return this._offset}static coerce(e,t){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):Hm.coerce(e,t)}_peekBytes(e,t,n){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+t<=this._data.length?r=t:zm.throwError("data out-of-bounds",Dh.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(e){return new Hm(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let n=this._peekBytes(0,e,!!t);return this._offset+=n.length,n.slice(0,e)}readValue(){return $h.from(this.readBytes(this.wordSize))}}var Wm={exports:{}};
|
|
10
10
|
/**
|
|
11
11
|
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
|
12
12
|
*
|