UNPKG

ethers

Version:

Umbrella package for most common Ethers libraries.

1 lines 537 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).ethers={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}function o(e){return e&&e.default||e}var i=Object.freeze({default:{}}),a=o(i),s=n((function(e){!function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var i;"object"==typeof e?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;try{i=a.Buffer}catch(e){}function s(e,t,r){for(var n=0,o=Math.min(e.length,r),i=t;i<o;i++){var a=e.charCodeAt(i)-48;n<<=4,n|=a>=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function u(e,t,r,n){for(var o=0,i=Math.min(e.length,r),a=t;a<i;a++){var s=e.charCodeAt(a)-48;o*=n,o+=s>=49?s-49+10:s>=17?s-17+10:s}return o}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var o=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&o++,16===t?this._parseHex(e,o):this._parseBase(e,t,o),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){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):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("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 o=0;o<this.length;o++)this.words[o]=0;var i,a,s=0;if("be"===n)for(o=e.length-1,i=0;o>=0;o-=3)a=e[o]|e[o-1]<<8|e[o-2]<<16,this.words[i]|=a<<s&67108863,this.words[i+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(o=0,i=0;o<e.length;o+=3)a=e[o]|e[o+1]<<8|e[o+2]<<16,this.words[i]|=a<<s&67108863,this.words[i+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},o.prototype._parseHex=function(e,t){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 n,o,i=0;for(r=e.length-6,n=0;r>=t;r-=6)o=s(e,r,r+6),this.words[n]|=o<<i&67108863,this.words[n+1]|=o>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==t&&(o=s(e,t,r+6),this.words[n]|=o<<i&67108863,this.words[n+1]|=o>>>26-i&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,o=1;o<=67108863;o*=t)n++;n--,o=o/t|0;for(var i=e.length-r,a=i%n,s=Math.min(i,i-a)+r,l=0,c=r;c<s;c+=n)l=u(e,c,c+n,t),this.imuln(o),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==a){var h=1;for(l=u(e,c,e.length,t),c=0;c<a;c++)h*=t;this.imuln(h),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}},o.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},o.prototype.clone=function(){var e=new o(null);return this.copy(e),e},o.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","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"],c=[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],h=[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];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var o=0|e.words[0],i=0|t.words[0],a=o*i,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var l=1;l<n;l++){for(var c=u>>>26,h=67108863&u,f=Math.min(l,t.length-1),d=Math.max(0,l-e.length+1);d<=f;d++){var p=l-d|0;c+=(a=(o=0|e.words[p])*(i=0|t.words[d])+h)/67108864|0,h=67108863&a}r.words[l]=0|h,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var o=0,i=0,a=0;a<this.length;a++){var s=this.words[a],u=(16777215&(s<<o|i)).toString(16);n=0!==(i=s>>>24-o&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(o+=2)>=26&&(o-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var f=c[e],d=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(e);n=(p=p.idivn(d)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.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&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==i),this.toArrayLike(i,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var o=this.byteLength(),i=n||Math.max(1,o);r(o<=i,"byte array longer than desired length"),r(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,l=new e(i),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),l[s]=a;for(;s<i;s++)l[s]=0}else{for(s=0;s<i-o;s++)l[s]=0;for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),l[i-s-1]=a}return l},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},o.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.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()},o.prototype.ior=function(e){return r(0==(this.negative|e.negative)),this.iuor(e)},o.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},o.prototype.iand=function(e){return r(0==(this.negative|e.negative)),this.iuand(e)},o.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},o.prototype.ixor=function(e){return r(0==(this.negative|e.negative)),this.iuxor(e)},o.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var o=0;o<t;o++)this.words[o]=67108863&~this.words[o];return n>0&&(this.words[o]=~this.words[o]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,o=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<<o:this.words[n]&~(1<<o),this.strip()},o.prototype.iadd=function(e){var t,r,n;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?(r=this,n=e):(r=e,n=this);for(var o=0,i=0;i<n.length;i++)t=(0|r.words[i])+(0|n.words[i])+o,this.words[i]=67108863&t,o=t>>>26;for(;0!==o&&i<r.length;i++)t=(0|r.words[i])+o,this.words[i]=67108863&t,o=t>>>26;if(this.length=r.length,0!==o)this.words[this.length]=o,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},o.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)},o.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 r,n,o=this.cmp(e);if(0===o)return this.negative=0,this.length=1,this.words[0]=0,this;o>0?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a<n.length;a++)i=(t=(0|r.words[a])-(0|n.words[a])+i)>>26,this.words[a]=67108863&t;for(;0!==i&&a<r.length;a++)i=(t=(0|r.words[a])+i)>>26,this.words[a]=67108863&t;if(0===i&&a<r.length&&r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this.length=Math.max(this.length,a),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(e){return this.clone().isub(e)};var d=function(e,t,r){var n,o,i,a=e.words,s=t.words,u=r.words,l=0,c=0|a[0],h=8191&c,f=c>>>13,d=0|a[1],p=8191&d,g=d>>>13,m=0|a[2],v=8191&m,y=m>>>13,b=0|a[3],w=8191&b,M=b>>>13,A=0|a[4],S=8191&A,T=A>>>13,P=0|a[5],E=8191&P,k=P>>>13,_=0|a[6],F=8191&_,C=_>>>13,B=0|a[7],L=8191&B,O=B>>>13,J=0|a[8],R=8191&J,N=J>>>13,D=0|a[9],x=8191&D,I=D>>>13,X=0|s[0],H=8191&X,U=X>>>13,G=0|s[1],z=8191&G,V=G>>>13,j=0|s[2],Z=8191&j,K=j>>>13,Q=0|s[3],q=8191&Q,W=Q>>>13,Y=0|s[4],$=8191&Y,ee=Y>>>13,te=0|s[5],re=8191&te,ne=te>>>13,oe=0|s[6],ie=8191&oe,ae=oe>>>13,se=0|s[7],ue=8191&se,le=se>>>13,ce=0|s[8],he=8191&ce,fe=ce>>>13,de=0|s[9],pe=8191&de,ge=de>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(l+(n=Math.imul(h,H))|0)+((8191&(o=(o=Math.imul(h,U))+Math.imul(f,H)|0))<<13)|0;l=((i=Math.imul(f,U))+(o>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,H),o=(o=Math.imul(p,U))+Math.imul(g,H)|0,i=Math.imul(g,U);var ve=(l+(n=n+Math.imul(h,z)|0)|0)+((8191&(o=(o=o+Math.imul(h,V)|0)+Math.imul(f,z)|0))<<13)|0;l=((i=i+Math.imul(f,V)|0)+(o>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,H),o=(o=Math.imul(v,U))+Math.imul(y,H)|0,i=Math.imul(y,U),n=n+Math.imul(p,z)|0,o=(o=o+Math.imul(p,V)|0)+Math.imul(g,z)|0,i=i+Math.imul(g,V)|0;var ye=(l+(n=n+Math.imul(h,Z)|0)|0)+((8191&(o=(o=o+Math.imul(h,K)|0)+Math.imul(f,Z)|0))<<13)|0;l=((i=i+Math.imul(f,K)|0)+(o>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(w,H),o=(o=Math.imul(w,U))+Math.imul(M,H)|0,i=Math.imul(M,U),n=n+Math.imul(v,z)|0,o=(o=o+Math.imul(v,V)|0)+Math.imul(y,z)|0,i=i+Math.imul(y,V)|0,n=n+Math.imul(p,Z)|0,o=(o=o+Math.imul(p,K)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,K)|0;var be=(l+(n=n+Math.imul(h,q)|0)|0)+((8191&(o=(o=o+Math.imul(h,W)|0)+Math.imul(f,q)|0))<<13)|0;l=((i=i+Math.imul(f,W)|0)+(o>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(S,H),o=(o=Math.imul(S,U))+Math.imul(T,H)|0,i=Math.imul(T,U),n=n+Math.imul(w,z)|0,o=(o=o+Math.imul(w,V)|0)+Math.imul(M,z)|0,i=i+Math.imul(M,V)|0,n=n+Math.imul(v,Z)|0,o=(o=o+Math.imul(v,K)|0)+Math.imul(y,Z)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(p,q)|0,o=(o=o+Math.imul(p,W)|0)+Math.imul(g,q)|0,i=i+Math.imul(g,W)|0;var we=(l+(n=n+Math.imul(h,$)|0)|0)+((8191&(o=(o=o+Math.imul(h,ee)|0)+Math.imul(f,$)|0))<<13)|0;l=((i=i+Math.imul(f,ee)|0)+(o>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(E,H),o=(o=Math.imul(E,U))+Math.imul(k,H)|0,i=Math.imul(k,U),n=n+Math.imul(S,z)|0,o=(o=o+Math.imul(S,V)|0)+Math.imul(T,z)|0,i=i+Math.imul(T,V)|0,n=n+Math.imul(w,Z)|0,o=(o=o+Math.imul(w,K)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,K)|0,n=n+Math.imul(v,q)|0,o=(o=o+Math.imul(v,W)|0)+Math.imul(y,q)|0,i=i+Math.imul(y,W)|0,n=n+Math.imul(p,$)|0,o=(o=o+Math.imul(p,ee)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,ee)|0;var Me=(l+(n=n+Math.imul(h,re)|0)|0)+((8191&(o=(o=o+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;l=((i=i+Math.imul(f,ne)|0)+(o>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,H),o=(o=Math.imul(F,U))+Math.imul(C,H)|0,i=Math.imul(C,U),n=n+Math.imul(E,z)|0,o=(o=o+Math.imul(E,V)|0)+Math.imul(k,z)|0,i=i+Math.imul(k,V)|0,n=n+Math.imul(S,Z)|0,o=(o=o+Math.imul(S,K)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(w,q)|0,o=(o=o+Math.imul(w,W)|0)+Math.imul(M,q)|0,i=i+Math.imul(M,W)|0,n=n+Math.imul(v,$)|0,o=(o=o+Math.imul(v,ee)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,o=(o=o+Math.imul(p,ne)|0)+Math.imul(g,re)|0,i=i+Math.imul(g,ne)|0;var Ae=(l+(n=n+Math.imul(h,ie)|0)|0)+((8191&(o=(o=o+Math.imul(h,ae)|0)+Math.imul(f,ie)|0))<<13)|0;l=((i=i+Math.imul(f,ae)|0)+(o>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(L,H),o=(o=Math.imul(L,U))+Math.imul(O,H)|0,i=Math.imul(O,U),n=n+Math.imul(F,z)|0,o=(o=o+Math.imul(F,V)|0)+Math.imul(C,z)|0,i=i+Math.imul(C,V)|0,n=n+Math.imul(E,Z)|0,o=(o=o+Math.imul(E,K)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,K)|0,n=n+Math.imul(S,q)|0,o=(o=o+Math.imul(S,W)|0)+Math.imul(T,q)|0,i=i+Math.imul(T,W)|0,n=n+Math.imul(w,$)|0,o=(o=o+Math.imul(w,ee)|0)+Math.imul(M,$)|0,i=i+Math.imul(M,ee)|0,n=n+Math.imul(v,re)|0,o=(o=o+Math.imul(v,ne)|0)+Math.imul(y,re)|0,i=i+Math.imul(y,ne)|0,n=n+Math.imul(p,ie)|0,o=(o=o+Math.imul(p,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Se=(l+(n=n+Math.imul(h,ue)|0)|0)+((8191&(o=(o=o+Math.imul(h,le)|0)+Math.imul(f,ue)|0))<<13)|0;l=((i=i+Math.imul(f,le)|0)+(o>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(R,H),o=(o=Math.imul(R,U))+Math.imul(N,H)|0,i=Math.imul(N,U),n=n+Math.imul(L,z)|0,o=(o=o+Math.imul(L,V)|0)+Math.imul(O,z)|0,i=i+Math.imul(O,V)|0,n=n+Math.imul(F,Z)|0,o=(o=o+Math.imul(F,K)|0)+Math.imul(C,Z)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(E,q)|0,o=(o=o+Math.imul(E,W)|0)+Math.imul(k,q)|0,i=i+Math.imul(k,W)|0,n=n+Math.imul(S,$)|0,o=(o=o+Math.imul(S,ee)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,ee)|0,n=n+Math.imul(w,re)|0,o=(o=o+Math.imul(w,ne)|0)+Math.imul(M,re)|0,i=i+Math.imul(M,ne)|0,n=n+Math.imul(v,ie)|0,o=(o=o+Math.imul(v,ae)|0)+Math.imul(y,ie)|0,i=i+Math.imul(y,ae)|0,n=n+Math.imul(p,ue)|0,o=(o=o+Math.imul(p,le)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,le)|0;var Te=(l+(n=n+Math.imul(h,he)|0)|0)+((8191&(o=(o=o+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;l=((i=i+Math.imul(f,fe)|0)+(o>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(x,H),o=(o=Math.imul(x,U))+Math.imul(I,H)|0,i=Math.imul(I,U),n=n+Math.imul(R,z)|0,o=(o=o+Math.imul(R,V)|0)+Math.imul(N,z)|0,i=i+Math.imul(N,V)|0,n=n+Math.imul(L,Z)|0,o=(o=o+Math.imul(L,K)|0)+Math.imul(O,Z)|0,i=i+Math.imul(O,K)|0,n=n+Math.imul(F,q)|0,o=(o=o+Math.imul(F,W)|0)+Math.imul(C,q)|0,i=i+Math.imul(C,W)|0,n=n+Math.imul(E,$)|0,o=(o=o+Math.imul(E,ee)|0)+Math.imul(k,$)|0,i=i+Math.imul(k,ee)|0,n=n+Math.imul(S,re)|0,o=(o=o+Math.imul(S,ne)|0)+Math.imul(T,re)|0,i=i+Math.imul(T,ne)|0,n=n+Math.imul(w,ie)|0,o=(o=o+Math.imul(w,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,n=n+Math.imul(v,ue)|0,o=(o=o+Math.imul(v,le)|0)+Math.imul(y,ue)|0,i=i+Math.imul(y,le)|0,n=n+Math.imul(p,he)|0,o=(o=o+Math.imul(p,fe)|0)+Math.imul(g,he)|0,i=i+Math.imul(g,fe)|0;var Pe=(l+(n=n+Math.imul(h,pe)|0)|0)+((8191&(o=(o=o+Math.imul(h,ge)|0)+Math.imul(f,pe)|0))<<13)|0;l=((i=i+Math.imul(f,ge)|0)+(o>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(x,z),o=(o=Math.imul(x,V))+Math.imul(I,z)|0,i=Math.imul(I,V),n=n+Math.imul(R,Z)|0,o=(o=o+Math.imul(R,K)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,K)|0,n=n+Math.imul(L,q)|0,o=(o=o+Math.imul(L,W)|0)+Math.imul(O,q)|0,i=i+Math.imul(O,W)|0,n=n+Math.imul(F,$)|0,o=(o=o+Math.imul(F,ee)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,ee)|0,n=n+Math.imul(E,re)|0,o=(o=o+Math.imul(E,ne)|0)+Math.imul(k,re)|0,i=i+Math.imul(k,ne)|0,n=n+Math.imul(S,ie)|0,o=(o=o+Math.imul(S,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,n=n+Math.imul(w,ue)|0,o=(o=o+Math.imul(w,le)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,le)|0,n=n+Math.imul(v,he)|0,o=(o=o+Math.imul(v,fe)|0)+Math.imul(y,he)|0,i=i+Math.imul(y,fe)|0;var Ee=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(o=(o=o+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;l=((i=i+Math.imul(g,ge)|0)+(o>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(x,Z),o=(o=Math.imul(x,K))+Math.imul(I,Z)|0,i=Math.imul(I,K),n=n+Math.imul(R,q)|0,o=(o=o+Math.imul(R,W)|0)+Math.imul(N,q)|0,i=i+Math.imul(N,W)|0,n=n+Math.imul(L,$)|0,o=(o=o+Math.imul(L,ee)|0)+Math.imul(O,$)|0,i=i+Math.imul(O,ee)|0,n=n+Math.imul(F,re)|0,o=(o=o+Math.imul(F,ne)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,ne)|0,n=n+Math.imul(E,ie)|0,o=(o=o+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,n=n+Math.imul(S,ue)|0,o=(o=o+Math.imul(S,le)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,le)|0,n=n+Math.imul(w,he)|0,o=(o=o+Math.imul(w,fe)|0)+Math.imul(M,he)|0,i=i+Math.imul(M,fe)|0;var ke=(l+(n=n+Math.imul(v,pe)|0)|0)+((8191&(o=(o=o+Math.imul(v,ge)|0)+Math.imul(y,pe)|0))<<13)|0;l=((i=i+Math.imul(y,ge)|0)+(o>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(x,q),o=(o=Math.imul(x,W))+Math.imul(I,q)|0,i=Math.imul(I,W),n=n+Math.imul(R,$)|0,o=(o=o+Math.imul(R,ee)|0)+Math.imul(N,$)|0,i=i+Math.imul(N,ee)|0,n=n+Math.imul(L,re)|0,o=(o=o+Math.imul(L,ne)|0)+Math.imul(O,re)|0,i=i+Math.imul(O,ne)|0,n=n+Math.imul(F,ie)|0,o=(o=o+Math.imul(F,ae)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,ae)|0,n=n+Math.imul(E,ue)|0,o=(o=o+Math.imul(E,le)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,le)|0,n=n+Math.imul(S,he)|0,o=(o=o+Math.imul(S,fe)|0)+Math.imul(T,he)|0,i=i+Math.imul(T,fe)|0;var _e=(l+(n=n+Math.imul(w,pe)|0)|0)+((8191&(o=(o=o+Math.imul(w,ge)|0)+Math.imul(M,pe)|0))<<13)|0;l=((i=i+Math.imul(M,ge)|0)+(o>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,$),o=(o=Math.imul(x,ee))+Math.imul(I,$)|0,i=Math.imul(I,ee),n=n+Math.imul(R,re)|0,o=(o=o+Math.imul(R,ne)|0)+Math.imul(N,re)|0,i=i+Math.imul(N,ne)|0,n=n+Math.imul(L,ie)|0,o=(o=o+Math.imul(L,ae)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,ae)|0,n=n+Math.imul(F,ue)|0,o=(o=o+Math.imul(F,le)|0)+Math.imul(C,ue)|0,i=i+Math.imul(C,le)|0,n=n+Math.imul(E,he)|0,o=(o=o+Math.imul(E,fe)|0)+Math.imul(k,he)|0,i=i+Math.imul(k,fe)|0;var Fe=(l+(n=n+Math.imul(S,pe)|0)|0)+((8191&(o=(o=o+Math.imul(S,ge)|0)+Math.imul(T,pe)|0))<<13)|0;l=((i=i+Math.imul(T,ge)|0)+(o>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(x,re),o=(o=Math.imul(x,ne))+Math.imul(I,re)|0,i=Math.imul(I,ne),n=n+Math.imul(R,ie)|0,o=(o=o+Math.imul(R,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,n=n+Math.imul(L,ue)|0,o=(o=o+Math.imul(L,le)|0)+Math.imul(O,ue)|0,i=i+Math.imul(O,le)|0,n=n+Math.imul(F,he)|0,o=(o=o+Math.imul(F,fe)|0)+Math.imul(C,he)|0,i=i+Math.imul(C,fe)|0;var Ce=(l+(n=n+Math.imul(E,pe)|0)|0)+((8191&(o=(o=o+Math.imul(E,ge)|0)+Math.imul(k,pe)|0))<<13)|0;l=((i=i+Math.imul(k,ge)|0)+(o>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(x,ie),o=(o=Math.imul(x,ae))+Math.imul(I,ie)|0,i=Math.imul(I,ae),n=n+Math.imul(R,ue)|0,o=(o=o+Math.imul(R,le)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,le)|0,n=n+Math.imul(L,he)|0,o=(o=o+Math.imul(L,fe)|0)+Math.imul(O,he)|0,i=i+Math.imul(O,fe)|0;var Be=(l+(n=n+Math.imul(F,pe)|0)|0)+((8191&(o=(o=o+Math.imul(F,ge)|0)+Math.imul(C,pe)|0))<<13)|0;l=((i=i+Math.imul(C,ge)|0)+(o>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(x,ue),o=(o=Math.imul(x,le))+Math.imul(I,ue)|0,i=Math.imul(I,le),n=n+Math.imul(R,he)|0,o=(o=o+Math.imul(R,fe)|0)+Math.imul(N,he)|0,i=i+Math.imul(N,fe)|0;var Le=(l+(n=n+Math.imul(L,pe)|0)|0)+((8191&(o=(o=o+Math.imul(L,ge)|0)+Math.imul(O,pe)|0))<<13)|0;l=((i=i+Math.imul(O,ge)|0)+(o>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(x,he),o=(o=Math.imul(x,fe))+Math.imul(I,he)|0,i=Math.imul(I,fe);var Oe=(l+(n=n+Math.imul(R,pe)|0)|0)+((8191&(o=(o=o+Math.imul(R,ge)|0)+Math.imul(N,pe)|0))<<13)|0;l=((i=i+Math.imul(N,ge)|0)+(o>>>13)|0)+(Oe>>>26)|0,Oe&=67108863;var Je=(l+(n=Math.imul(x,pe))|0)+((8191&(o=(o=Math.imul(x,ge))+Math.imul(I,pe)|0))<<13)|0;return l=((i=Math.imul(I,ge))+(o>>>13)|0)+(Je>>>26)|0,Je&=67108863,u[0]=me,u[1]=ve,u[2]=ye,u[3]=be,u[4]=we,u[5]=Me,u[6]=Ae,u[7]=Se,u[8]=Te,u[9]=Pe,u[10]=Ee,u[11]=ke,u[12]=_e,u[13]=Fe,u[14]=Ce,u[15]=Be,u[16]=Le,u[17]=Oe,u[18]=Je,0!==l&&(u[19]=l,r.length++),r};function p(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=f),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?f(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,o=0,i=0;i<r.length-1;i++){var a=o;o=0;for(var s=67108863&n,u=Math.min(i,t.length-1),l=Math.max(0,i-e.length+1);l<=u;l++){var c=i-l,h=(0|e.words[c])*(0|t.words[l]),f=67108863&h;s=67108863&(f=f+s|0),o+=(a=(a=a+(h/67108864|0)|0)+(f>>>26)|0)>>>26,a&=67108863}r.words[i]=s,n=a,a=o}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},g.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,o=0;o<t;o++)n|=(1&e)<<t-o-1,e>>=1;return n},g.prototype.permute=function(e,t,r,n,o,i){for(var a=0;a<i;a++)n[a]=t[e[a]],o[a]=r[e[a]]},g.prototype.transform=function(e,t,r,n,o,i){this.permute(i,e,t,r,n,o);for(var a=1;a<o;a<<=1)for(var s=a<<1,u=Math.cos(2*Math.PI/s),l=Math.sin(2*Math.PI/s),c=0;c<o;c+=s)for(var h=u,f=l,d=0;d<a;d++){var p=r[c+d],g=n[c+d],m=r[c+d+a],v=n[c+d+a],y=h*m-f*v;v=h*v+f*m,m=y,r[c+d]=p+m,n[c+d]=g+v,r[c+d+a]=p-m,n[c+d+a]=g-v,d!==s&&(y=u*h-l*f,f=u*f+l*h,h=y)}},g.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,o=0;for(r=r/2|0;r;r>>>=1)o++;return 1<<o+1+n},g.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var o=e[n];e[n]=e[r-n-1],e[r-n-1]=o,o=t[n],t[n]=-t[r-n-1],t[r-n-1]=-o}},g.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var o=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&o,r=o<67108864?0:o/67108864|0}return e},g.prototype.convert13b=function(e,t,n,o){for(var i=0,a=0;a<t;a++)i+=0|e[a],n[2*a]=8191&i,i>>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a<o;++a)n[a]=0;r(0===i),r(0==(-8192&i))},g.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},g.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),o=this.makeRBT(n),i=this.stub(n),a=new Array(n),s=new Array(n),u=new Array(n),l=new Array(n),c=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(e.words,e.length,a,n),this.convert13b(t.words,t.length,l,n),this.transform(a,i,s,u,n,o),this.transform(l,i,c,h,n,o);for(var d=0;d<n;d++){var p=s[d]*c[d]-u[d]*h[d];u[d]=s[d]*h[d]+u[d]*c[d],s[d]=p}return this.conjugate(s,u,n),this.transform(s,u,f,i,n,o),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},o.prototype.mul=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},o.prototype.mulf=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),p(this,e,t)},o.prototype.imul=function(e){return this.clone().mulTo(e,this)},o.prototype.imuln=function(e){r("number"==typeof e),r(e<67108864);for(var t=0,n=0;n<this.length;n++){var o=(0|this.words[n])*e,i=(67108863&o)+(67108863&t);t>>=26,t+=o/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,o=r%26;t[r]=(e.words[n]&1<<o)>>>o}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(e){r("number"==typeof e&&e>=0);var t,n=e%26,o=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t<this.length;t++){var s=this.words[t]&i,u=(0|this.words[t])-s<<n;this.words[t]=u|a,a=s>>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==o){for(t=this.length-1;t>=0;t--)this.words[t+o]=this.words[t];for(t=0;t<o;t++)this.words[t]=0;this.length+=o}return this.strip()},o.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},o.prototype.iushrn=function(e,t,n){var o;r("number"==typeof e&&e>=0),o=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<<i,u=n;if(o-=a,o=Math.max(0,o),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>=o);l--){var h=0|this.words[l];this.words[l]=c<<26-i|h>>>i,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,o=1<<t;return!(this.length<=n)&&!!(this.words[n]&o)},o.prototype.imaskn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var o=67108863^67108863>>>t<<t;this.words[this.length-1]&=o}return this.strip()},o.prototype.maskn=function(e){return this.clone().imaskn(e)},o.prototype.iaddn=function(e){return r("number"==typeof e),r(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)},o.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},o.prototype.isubn=function(e){if(r("number"==typeof e),r(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()},o.prototype.addn=function(e){return this.clone().iaddn(e)},o.prototype.subn=function(e){return this.clone().isubn(e)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(e,t,n){var o,i,a=e.length+n;this._expand(a);var s=0;for(o=0;o<e.length;o++){i=(0|this.words[o+n])+s;var u=(0|e.words[o])*t;s=((i-=67108863&u)>>26)-(u/67108864|0),this.words[o+n]=67108863&i}for(;o<this.length-n;o++)s=(i=(0|this.words[o+n])+s)>>26,this.words[o+n]=67108863&i;if(0===s)return this.strip();for(r(-1===s),s=0,o=0;o<this.length;o++)s=(i=-(0|this.words[o])+s)>>26,this.words[o]=67108863&i;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==t){(s=new o(null)).length=u+1,s.words=new Array(s.length);for(var l=0;l<s.length;l++)s.words[l]=0}var c=n.clone()._ishlnsubmul(i,1,u);0===c.negative&&(n=c,s&&(s.words[u]=1));for(var h=u-1;h>=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/a|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),o=e.andln(1),i=r.cmp(n);return i<0||1===o&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,o=this.length-1;o>=0;o--)n=(t*n+(0|this.words[o]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*t;this.words[n]=o/e|0,t=o%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),u=new o(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),h=t.clone();!t.isZero();){for(var f=0,d=1;0==(t.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(h)),i.iushrn(1),a.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(s),a.isub(u)):(n.isub(t),s.isub(i),u.isub(a))}return{a:s,b:u,gcd:n.iushln(l)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),u=n.clone();t.cmpn(1)>0&&n.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 h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var o=t.cmp(r);if(o<0){var i=t;t=r,r=i}else if(0===o||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,o=1<<t;if(this.length<=n)return this._expand(n+1),this.words[n]|=o,this;for(var i=o,a=n;0!==i&&a<this.length;a++){var s=0|this.words[a];i=(s+=i)>>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var o=0|this.words[0];t=o===e?0:o<e?-1:1}return 0!==this.negative?0|-t:t},o.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},o.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],o=0|e.words[r];if(n!==o){n<o?t=-1:n>o&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(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)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},n(y,v),y.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];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++]=4194303&o,n=10;n<e.length;n++){var i=0|e.words[n];e.words[n-10]=(4194303&i)<<4|o>>>22,o=i}o>>>=22,e.words[n-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},n(b,v),n(w,v),n(M,v),M.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,o=67108863&n;n>>>=26,e.words[r]=o,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new M}return m[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);r(!i.isZero());var s=new o(1).toRed(this),u=s.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,i),f=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=a;0!==d.cmp(s);){for(var g=d,m=0;0!==g.cmp(s);m++)g=g.redSqr();r(m<p);var v=this.pow(h,new o(1).iushln(p-m-1));f=f.redMul(v),h=v.redSqr(),d=d.redMul(h),p=m}return f},A.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},A.prototype.pow=function(e,t){if(t.isZero())return new o(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],a=0,s=0,u=t.bitLength()%26;for(0===u&&(u=26),n=t.length-1;n>=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var h=l>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},n(S,A),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),i=o;return o.cmp(this.m)>=0?i=o.isub(this.m):o.cmpn(0)<0&&(i=o.iadd(this.m)),i._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})),u=(s.BN,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="logger/5.0.4"}))),l=(r(u),u.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=!1,n=!1,o={debug:1,default:2,info:2,warning:3,error:4,off:5},i=o.default,a=null;var s,l,c=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(t){try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){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}();!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(s=t.LogLevel||(t.LogLevel={})),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"}(l=t.ErrorCode||(t.ErrorCode={}));var h=function(){function e(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}return e.prototype._log=function(e,t){var r=e.toLowerCase();null==o[r]&&this.throwArgumentError("invalid log level name","logLevel",e),i>o[r]||console.log.apply(console,t)},e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this._log(e.levels.DEBUG,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this._log(e.levels.INFO,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this._log(e.levels.WARNING,t)},e.prototype.makeError=function(t,r,o){if(n)return this.makeError("censored error",r,{});r||(r=e.errors.UNKNOWN_ERROR),o||(o={});var i=[];Object.keys(o).forEach((function(e){try{i.push(e+"="+JSON.stringify(o[e]))}catch(t){i.push(e+"="+JSON.stringify(o[e].toString()))}})),i.push("code="+r),i.push("version="+this.version);var a=t;i.length&&(t+=" ("+i.join(", ")+")");var s=new Error(t);return s.reason=a,s.code=r,Object.keys(o).forEach((function(e){s[e]=o[e]})),s},e.prototype.throwError=function(e,t,r){throw this.makeError(e,t,r)},e.prototype.throwArgumentError=function(t,r,n){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:r,value:n})},e.prototype.assert=function(e,t,r,n){e||this.throwError(t,r,n)},e.prototype.assertArgument=function(e,t,r,n){e||this.throwArgumentError(t,r,n)},e.prototype.checkNormalize=function(t){null==t&&(t="platform missing String.prototype.normalize"),c&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:c})},e.prototype.checkSafeUint53=function(t,r){"number"==typeof t&&(null==r&&(r="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))},e.prototype.checkArgumentCount=function(t,r,n){n=n?": "+n:"",t<r&&this.throwError("missing argument"+n,e.errors.MISSING_ARGUMENT,{count:t,expectedCount:r}),t>r&&this.throwError("too many arguments"+n,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})},e.prototype.checkNew=function(t,r){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})},e.prototype.checkAbstract=function(t,r){t===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.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:r.name})},e.globalLogger=function(){return a||(a=new e(u.version)),a},e.setCensorship=function(t,o){if(!t&&o&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),r){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!t,r=!!o},e.setLogLevel=function(t){var r=o[t.toLowerCase()];null!=r?i=r:e.globalLogger().warn("invalid log level - "+t)},e.errors=l,e.levels=s,e}();t.Logger=h}))),c=(r(l),l.LogLevel,l.ErrorCode,l.Logger,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="bytes/5.0.3"}))),h=(r(c),c.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(c.version);function n(e){return!!e.toHexString}function o(e){return e.slice||(e.slice=function(){var t=Array.prototype.slice.call(arguments);return o(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function i(e){return f(e)&&!(e.length%2)||a(e)}function a(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(var t=0;t<e.length;t++){var r=e[t];if(r<0||r>=256||r%1)return!1}return!0}function s(e,t){if(t||(t={}),"number"==typeof e){r.checkSafeUint53(e,"invalid arrayify value");for(var i=[];e;)i.unshift(255&e),e=parseInt(String(e/256));return 0===i.length&&i.push(0),o(new Uint8Array(i))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),n(e)&&(e=e.toHexString()),f(e)){var s=e.substring(2);s.length%2&&("left"===t.hexPad?s="0x0"+s.substring(2):"right"===t.hexPad?s+="0":r.throwArgumentError("hex data is odd-length","value",e));i=[];for(var u=0;u<s.length;u+=2)i.push(parseInt(s.substring(u,u+2),16));return o(new Uint8Array(i))}return a(e)?o(new Uint8Array(e)):r.throwArgumentError("invalid arrayify value","value",e)}function u(e){var t=e.map((function(e){return s(e)})),r=t.reduce((function(e,t){return e+t.length}),0),n=new Uint8Array(r);return t.reduce((function(e,t){return n.set(t,e),e+t.length}),0),o(n)}function h(e,t){(e=s(e)).length>t&&r.throwArgumentError("value out of range","value",arguments[0]);var n=new Uint8Array(t);return n.set(e,t-e.length),o(n)}function f(e,t){return!("string"!=typeof