@stacks/storage 3.5.1-beta.4 → 3.5.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/esm/hub.js +9 -6
- package/dist/esm/hub.js.map +1 -1
- package/dist/esm/storage.d.ts +2 -2
- package/dist/esm/storage.js +5 -5
- package/dist/esm/storage.js.map +1 -1
- package/dist/hub.js +27 -24
- package/dist/hub.js.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/polyfill/index.js +3 -3
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +35 -35
- package/dist/storage.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.LICENSE.txt +2 -2
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -5
- package/src/hub.ts +19 -14
- package/src/storage.ts +24 -20
package/dist/polyfill/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
window.global=window;import{lookupProfile as t,NAME_LOOKUP_PATH as e}from"@stacks/auth/dist/polyfill";import{Buffer as r,Logger as i,fetchPrivate as n,ValidationError as o,NotEnoughProofError as s,BadPathError as h,DoesNotExist as a,ConflictError as u,PreconditionFailedError as f,megabytesToBytes as l,PayloadTooLargeError as c,getGlobalObject as d,SignatureVerificationError as p,InvalidStateError as m,BLOCKSTACK_DEFAULT_GAIA_HUB_URL as g}from"@stacks/common/dist/polyfill";import{publicKeyToAddress as y,getPublicKeyFromPrivate as v,randomBytes as b,hashSha256Sync as w,ecSign as M,compressPrivateKey as _,verifyECDSA as S,eciesGetJsonStringLength as E,signECDSA as k}from"@stacks/encryption/dist/polyfill";class A{constructor(t,e){this.wasString="string"==typeof t,this.content=A.normalizeContentDataType(t,e),this.contentType=e||this.detectContentType(),this.contentByteLength=this.detectContentLength()}static normalizeContentDataType(t,e){try{if("string"==typeof t){const i=(e||"").toLowerCase().replace("-","");if(i.includes("charset")&&!i.includes("charset=utf8")&&!i.includes("charset=ascii"))throw new Error(`Unable to determine byte length with charset: ${e}`);if("undefined"!=typeof TextEncoder){const e=(new TextEncoder).encode(t);return r.from(e.buffer)}return r.from(t)}if(r.isBuffer(t))return t;if(ArrayBuffer.isView(t))return r.from(t.buffer,t.byteOffset,t.byteLength);if("undefined"!=typeof Blob&&t instanceof Blob)return t;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer)return r.from(t);if(Array.isArray(t)){if(t.length>0&&(!Number.isInteger(t[0])||t[0]<0||t[0]>255))throw new Error(`Unexpected array values provided as file data: value "${t[0]}" at index 0 is not an octet number. ${this.supportedTypesMsg}`);return r.from(t)}{const e=Object.prototype.toString.call(t);throw new Error(`Unexpected type provided as file data: ${e}. ${this.supportedTypesMsg}`)}}catch(t){throw console.error(t),new Error(`Error processing data: ${t}`)}}detectContentType(){return this.wasString?"text/plain; charset=utf-8":"undefined"!=typeof Blob&&this.content instanceof Blob&&this.content.type?this.content.type:"application/octet-stream"}detectContentLength(){if(ArrayBuffer.isView(this.content)||r.isBuffer(this.content))return this.content.byteLength;if("undefined"!=typeof Blob&&this.content instanceof Blob)return this.content.size;const t=Object.prototype.toString.call(this.content),e=new Error(`Unexpected type "${t}" while detecting content length`);throw console.error(e),e}async loadContent(){try{if(r.isBuffer(this.content))return this.content;if(ArrayBuffer.isView(this.content))return r.from(this.content.buffer,this.content.byteOffset,this.content.byteLength);if("undefined"!=typeof Blob&&this.content instanceof Blob){const t=new FileReader,e=new Promise(((e,i)=>{t.onerror=t=>{i(t)},t.onload=()=>{const i=t.result;e(r.from(i))},t.readAsArrayBuffer(this.content)}));return await e}{const t=Object.prototype.toString.call(this.content);throw new Error(`Unexpected type ${t}`)}}catch(t){console.error(t);const e=new Error(`Error loading content: ${t}`);throw console.error(e),e}}load(){return void 0===this.loadedData&&(this.loadedData=this.loadContent()),this.loadedData}}A.supportedTypesMsg="Supported types are: `string` (to be UTF8 encoded), `Buffer`, `Blob`, `File`, `ArrayBuffer`, `UInt8Array` or any other typed array buffer. ";var I="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function T(t){if(t.__esModule)return t;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(t).forEach((function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})})),e}var O={},P={},x="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},B=[],R=[],N="undefined"!=typeof Uint8Array?Uint8Array:Array,U=!1;function C(){U=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,r=t.length;e<r;++e)B[e]=t[e],R[t.charCodeAt(e)]=e;R["-".charCodeAt(0)]=62,R["_".charCodeAt(0)]=63}function L(t,e,r){for(var i,n,o=[],s=e;s<r;s+=3)i=(t[s]<<16)+(t[s+1]<<8)+t[s+2],o.push(B[(n=i)>>18&63]+B[n>>12&63]+B[n>>6&63]+B[63&n]);return o.join("")}function D(t){var e;U||C();for(var r=t.length,i=r%3,n="",o=[],s=16383,h=0,a=r-i;h<a;h+=s)o.push(L(t,h,h+s>a?a:h+s));return 1===i?(e=t[r-1],n+=B[e>>2],n+=B[e<<4&63],n+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],n+=B[e>>10],n+=B[e>>4&63],n+=B[e<<2&63],n+="="),o.push(n),o.join("")}function j(t,e,r,i,n){var o,s,h=8*n-i-1,a=(1<<h)-1,u=a>>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=h;f>0;o=256*o+t[e+l],l+=c,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=i;f>0;s=256*s+t[e+l],l+=c,f-=8);if(0===o)o=1-u;else{if(o===a)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=u}return(d?-1:1)*s*Math.pow(2,o-i)}function H(t,e,r,i,n,o){var s,h,a,u=8*o-n-1,f=(1<<u)-1,l=f>>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(h=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+l>=1?c/a:c*Math.pow(2,1-l))*a>=2&&(s++,a/=2),s+l>=f?(h=0,s=f):s+l>=1?(h=(e*a-1)*Math.pow(2,n),s+=l):(h=e*Math.pow(2,l-1)*Math.pow(2,n),s=0));n>=8;t[r+d]=255&h,d+=p,h/=256,n-=8);for(s=s<<n|h,u+=n;u>0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*m}var q={}.toString,K=Array.isArray||function(t){return"[object Array]"==q.call(t)};function F(){return W.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function z(t,e){if(F()<e)throw new RangeError("Invalid typed array length");return W.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=W.prototype:(null===t&&(t=new W(e)),t.length=e),t}function W(t,e,r){if(!(W.TYPED_ARRAY_SUPPORT||this instanceof W))return new W(t,e,r);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return G(this,t)}return V(this,t,e,r)}function V(t,e,r,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,r,i){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");e=void 0===r&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,r):new Uint8Array(e,r,i);W.TYPED_ARRAY_SUPPORT?(t=e).__proto__=W.prototype:t=$(t,e);return t}(t,e,r,i):"string"==typeof e?function(t,e,r){"string"==typeof r&&""!==r||(r="utf8");if(!W.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|J(e,r),n=(t=z(t,i)).write(e,r);n!==i&&(t=t.slice(0,n));return t}(t,e,r):function(t,e){if(Y(e)){var r=0|X(e.length);return 0===(t=z(t,r)).length||e.copy(t,0,0,r),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(i=e.length)!=i?z(t,0):$(t,e);if("Buffer"===e.type&&K(e.data))return $(t,e.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function Z(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function G(t,e){if(Z(e),t=z(t,e<0?0:0|X(e)),!W.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function $(t,e){var r=e.length<0?0:0|X(e.length);t=z(t,r);for(var i=0;i<r;i+=1)t[i]=255&e[i];return t}function X(t){if(t>=F())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+F().toString(16)+" bytes");return 0|t}function Y(t){return!(null==t||!t._isBuffer)}function J(t,e){if(Y(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Et(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return kt(t).length;default:if(i)return Et(t).length;e=(""+e).toLowerCase(),i=!0}}function Q(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return dt(this,e,r);case"utf8":case"utf-8":return ft(this,e,r);case"ascii":return lt(this,e,r);case"latin1":case"binary":return ct(this,e,r);case"base64":return ut(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pt(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function tt(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function et(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=W.from(e,i)),Y(e))return 0===e.length?-1:rt(t,e,r,i,n);if("number"==typeof e)return e&=255,W.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):rt(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function rt(t,e,r,i,n){var o,s=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,h/=2,a/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){var f=-1;for(o=r;o<h;o++)if(u(t,o)===u(e,-1===f?0:o-f)){if(-1===f&&(f=o),o-f+1===a)return f*s}else-1!==f&&(o-=o-f),f=-1}else for(r+a>h&&(r=h-a),o=r;o>=0;o--){for(var l=!0,c=0;c<a;c++)if(u(t,o+c)!==u(e,c)){l=!1;break}if(l)return o}return-1}function it(t,e,r,i){r=Number(r)||0;var n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s<i;++s){var h=parseInt(e.substr(2*s,2),16);if(isNaN(h))return s;t[r+s]=h}return s}function nt(t,e,r,i){return At(Et(e,t.length-r),t,r,i)}function ot(t,e,r,i){return At(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function st(t,e,r,i){return ot(t,e,r,i)}function ht(t,e,r,i){return At(kt(e),t,r,i)}function at(t,e,r,i){return At(function(t,e){for(var r,i,n,o=[],s=0;s<t.length&&!((e-=2)<0);++s)i=(r=t.charCodeAt(s))>>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function ut(t,e,r){return 0===e&&r===t.length?D(t):D(t.slice(e,r))}function ft(t,e,r){r=Math.min(t.length,r);for(var i=[],n=e;n<r;){var o,s,h,a,u=t[n],f=null,l=u>239?4:u>223?3:u>191?2:1;if(n+l<=r)switch(l){case 1:u<128&&(f=u);break;case 2:128==(192&(o=t[n+1]))&&(a=(31&u)<<6|63&o)>127&&(f=a);break;case 3:o=t[n+1],s=t[n+2],128==(192&o)&&128==(192&s)&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(f=a);break;case 4:o=t[n+1],s=t[n+2],h=t[n+3],128==(192&o)&&128==(192&s)&&128==(192&h)&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&h)>65535&&a<1114112&&(f=a)}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=l}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=4096));return r}(i)}W.TYPED_ARRAY_SUPPORT=void 0===x.TYPED_ARRAY_SUPPORT||x.TYPED_ARRAY_SUPPORT,W.poolSize=8192,W._augment=function(t){return t.__proto__=W.prototype,t},W.from=function(t,e,r){return V(null,t,e,r)},W.TYPED_ARRAY_SUPPORT&&(W.prototype.__proto__=Uint8Array.prototype,W.__proto__=Uint8Array),W.alloc=function(t,e,r){return function(t,e,r,i){return Z(e),e<=0?z(t,e):void 0!==r?"string"==typeof i?z(t,e).fill(r,i):z(t,e).fill(r):z(t,e)}(null,t,e,r)},W.allocUnsafe=function(t){return G(null,t)},W.allocUnsafeSlow=function(t){return G(null,t)},W.isBuffer=It,W.compare=function(t,e){if(!Y(t)||!Y(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},W.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},W.concat=function(t,e){if(!K(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return W.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var i=W.allocUnsafe(e),n=0;for(r=0;r<t.length;++r){var o=t[r];if(!Y(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n),n+=o.length}return i},W.byteLength=J,W.prototype._isBuffer=!0,W.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)tt(this,e,e+1);return this},W.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)tt(this,e,e+3),tt(this,e+1,e+2);return this},W.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)tt(this,e,e+7),tt(this,e+1,e+6),tt(this,e+2,e+5),tt(this,e+3,e+4);return this},W.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?ft(this,0,t):Q.apply(this,arguments)},W.prototype.equals=function(t){if(!Y(t))throw new TypeError("Argument must be a Buffer");return this===t||0===W.compare(this,t)},W.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},W.prototype.compare=function(t,e,r,i,n){if(!Y(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(n>>>=0)-(i>>>=0),s=(r>>>=0)-(e>>>=0),h=Math.min(o,s),a=this.slice(i,n),u=t.slice(e,r),f=0;f<h;++f)if(a[f]!==u[f]){o=a[f],s=u[f];break}return o<s?-1:s<o?1:0},W.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},W.prototype.indexOf=function(t,e,r){return et(this,t,e,r,!0)},W.prototype.lastIndexOf=function(t,e,r){return et(this,t,e,r,!1)},W.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return it(this,t,e,r);case"utf8":case"utf-8":return nt(this,t,e,r);case"ascii":return ot(this,t,e,r);case"latin1":case"binary":return st(this,t,e,r);case"base64":return ht(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return at(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},W.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function lt(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function ct(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function dt(t,e,r){var i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=e;o<r;++o)n+=St(t[o]);return n}function pt(t,e,r){for(var i=t.slice(e,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function mt(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function gt(t,e,r,i,n,o){if(!Y(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function yt(t,e,r,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-r,2);n<o;++n)t[r+n]=(e&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function vt(t,e,r,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-r,4);n<o;++n)t[r+n]=e>>>8*(i?n:3-n)&255}function bt(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function wt(t,e,r,i,n){return n||bt(t,0,r,4),H(t,e,r,i,23,4),r+4}function Mt(t,e,r,i,n){return n||bt(t,0,r,8),H(t,e,r,i,52,8),r+8}W.prototype.slice=function(t,e){var r,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t),W.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=W.prototype;else{var n=e-t;r=new W(n,void 0);for(var o=0;o<n;++o)r[o]=this[o+t]}return r},W.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||mt(t,e,this.length);for(var i=this[t],n=1,o=0;++o<e&&(n*=256);)i+=this[t+o]*n;return i},W.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||mt(t,e,this.length);for(var i=this[t+--e],n=1;e>0&&(n*=256);)i+=this[t+--e]*n;return i},W.prototype.readUInt8=function(t,e){return e||mt(t,1,this.length),this[t]},W.prototype.readUInt16LE=function(t,e){return e||mt(t,2,this.length),this[t]|this[t+1]<<8},W.prototype.readUInt16BE=function(t,e){return e||mt(t,2,this.length),this[t]<<8|this[t+1]},W.prototype.readUInt32LE=function(t,e){return e||mt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},W.prototype.readUInt32BE=function(t,e){return e||mt(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},W.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||mt(t,e,this.length);for(var i=this[t],n=1,o=0;++o<e&&(n*=256);)i+=this[t+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*e)),i},W.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||mt(t,e,this.length);for(var i=e,n=1,o=this[t+--i];i>0&&(n*=256);)o+=this[t+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*e)),o},W.prototype.readInt8=function(t,e){return e||mt(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},W.prototype.readInt16LE=function(t,e){e||mt(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},W.prototype.readInt16BE=function(t,e){e||mt(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},W.prototype.readInt32LE=function(t,e){return e||mt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},W.prototype.readInt32BE=function(t,e){return e||mt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},W.prototype.readFloatLE=function(t,e){return e||mt(t,4,this.length),j(this,t,!0,23,4)},W.prototype.readFloatBE=function(t,e){return e||mt(t,4,this.length),j(this,t,!1,23,4)},W.prototype.readDoubleLE=function(t,e){return e||mt(t,8,this.length),j(this,t,!0,52,8)},W.prototype.readDoubleBE=function(t,e){return e||mt(t,8,this.length),j(this,t,!1,52,8)},W.prototype.writeUIntLE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||gt(this,t,e,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[e]=255&t;++o<r&&(n*=256);)this[e+o]=t/n&255;return e+r},W.prototype.writeUIntBE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||gt(this,t,e,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},W.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,1,255,0),W.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},W.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,2,65535,0),W.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):yt(this,t,e,!0),e+2},W.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,2,65535,0),W.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):yt(this,t,e,!1),e+2},W.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,4,4294967295,0),W.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):vt(this,t,e,!0),e+4},W.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,4,4294967295,0),W.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):vt(this,t,e,!1),e+4},W.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);gt(this,t,e,r,n-1,-n)}var o=0,s=1,h=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===h&&0!==this[e+o-1]&&(h=1),this[e+o]=(t/s>>0)-h&255;return e+r},W.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);gt(this,t,e,r,n-1,-n)}var o=r-1,s=1,h=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===h&&0!==this[e+o+1]&&(h=1),this[e+o]=(t/s>>0)-h&255;return e+r},W.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,1,127,-128),W.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},W.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,2,32767,-32768),W.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):yt(this,t,e,!0),e+2},W.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,2,32767,-32768),W.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):yt(this,t,e,!1),e+2},W.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,4,2147483647,-2147483648),W.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):vt(this,t,e,!0),e+4},W.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||gt(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),W.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):vt(this,t,e,!1),e+4},W.prototype.writeFloatLE=function(t,e,r){return wt(this,t,e,!0,r)},W.prototype.writeFloatBE=function(t,e,r){return wt(this,t,e,!1,r)},W.prototype.writeDoubleLE=function(t,e,r){return Mt(this,t,e,!0,r)},W.prototype.writeDoubleBE=function(t,e,r){return Mt(this,t,e,!1,r)},W.prototype.copy=function(t,e,r,i){if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);var n,o=i-r;if(this===t&&r<e&&e<i)for(n=o-1;n>=0;--n)t[n+e]=this[n+r];else if(o<1e3||!W.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)t[n+e]=this[n+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},W.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!W.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=Y(t)?t:Et(new W(t,i).toString()),h=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%h]}return this};var _t=/[^+\/0-9A-Za-z-_]/g;function St(t){return t<16?"0"+t.toString(16):t.toString(16)}function Et(t,e){var r;e=e||1/0;for(var i=t.length,n=null,o=[],s=0;s<i;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function kt(t){return function(t){var e,r,i,n,o,s;U||C();var h=t.length;if(h%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[h-2]?2:"="===t[h-1]?1:0,s=new N(3*h/4-o),i=o>0?h-4:h;var a=0;for(e=0,r=0;e<i;e+=4,r+=3)n=R[t.charCodeAt(e)]<<18|R[t.charCodeAt(e+1)]<<12|R[t.charCodeAt(e+2)]<<6|R[t.charCodeAt(e+3)],s[a++]=n>>16&255,s[a++]=n>>8&255,s[a++]=255&n;return 2===o?(n=R[t.charCodeAt(e)]<<2|R[t.charCodeAt(e+1)]>>4,s[a++]=255&n):1===o&&(n=R[t.charCodeAt(e)]<<10|R[t.charCodeAt(e+1)]<<4|R[t.charCodeAt(e+2)]>>2,s[a++]=n>>8&255,s[a++]=255&n),s}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(_t,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function At(t,e,r,i){for(var n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function It(t){return null!=t&&(!!t._isBuffer||Tt(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&Tt(t.slice(0,0))}(t))}function Tt(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var Ot={},Pt={},xt={exports:{}};"function"==typeof Object.create?xt.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:xt.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}};for(var Bt={exports:{}},Rt={},Nt={byteLength:function(t){var e=qt(t),r=e[0],i=e[1];return 3*(r+i)/4-i},toByteArray:function(t){var e,r,i=qt(t),n=i[0],o=i[1],s=new Lt(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),h=0,a=o>0?n-4:n;for(r=0;r<a;r+=4)e=Ct[t.charCodeAt(r)]<<18|Ct[t.charCodeAt(r+1)]<<12|Ct[t.charCodeAt(r+2)]<<6|Ct[t.charCodeAt(r+3)],s[h++]=e>>16&255,s[h++]=e>>8&255,s[h++]=255&e;2===o&&(e=Ct[t.charCodeAt(r)]<<2|Ct[t.charCodeAt(r+1)]>>4,s[h++]=255&e);1===o&&(e=Ct[t.charCodeAt(r)]<<10|Ct[t.charCodeAt(r+1)]<<4|Ct[t.charCodeAt(r+2)]>>2,s[h++]=e>>8&255,s[h++]=255&e);return s},fromByteArray:function(t){for(var e,r=t.length,i=r%3,n=[],o=16383,s=0,h=r-i;s<h;s+=o)n.push(Kt(t,s,s+o>h?h:s+o));1===i?(e=t[r-1],n.push(Ut[e>>2]+Ut[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],n.push(Ut[e>>10]+Ut[e>>4&63]+Ut[e<<2&63]+"="));return n.join("")}},Ut=[],Ct=[],Lt="undefined"!=typeof Uint8Array?Uint8Array:Array,Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",jt=0,Ht=Dt.length;jt<Ht;++jt)Ut[jt]=Dt[jt],Ct[Dt.charCodeAt(jt)]=jt;function qt(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function Kt(t,e,r){for(var i,n,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(Ut[(n=i)>>18&63]+Ut[n>>12&63]+Ut[n>>6&63]+Ut[63&n]);return o.join("")}Ct["-".charCodeAt(0)]=62,Ct["_".charCodeAt(0)]=63;var Ft={
|
|
1
|
+
window.global=window;import{Logger as t,fetchPrivate as e,Buffer as r,ValidationError as i,NotEnoughProofError as n,BadPathError as o,DoesNotExist as s,ConflictError as h,PreconditionFailedError as a,megabytesToBytes as u,PayloadTooLargeError as f,getGlobalObject as l,SignatureVerificationError as c,InvalidStateError as d,BLOCKSTACK_DEFAULT_GAIA_HUB_URL as p}from"@stacks/common/dist/polyfill";import{ecPairToAddress as m,hexStringToECPair as g,getPublicKeyFromPrivate as y,randomBytes as v,hashSha256Sync as b,publicKeyToAddress as w,verifyECDSA as M,eciesGetJsonStringLength as _,signECDSA as S}from"@stacks/encryption/dist/polyfill";import{lookupProfile as E,NAME_LOOKUP_PATH as k}from"@stacks/auth/dist/polyfill";var A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function I(t){if(t.__esModule)return t;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(t).forEach((function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})})),e}var T={},O={},P="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},x=[],B=[],R="undefined"!=typeof Uint8Array?Uint8Array:Array,N=!1;function U(){N=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,r=t.length;e<r;++e)x[e]=t[e],B[t.charCodeAt(e)]=e;B["-".charCodeAt(0)]=62,B["_".charCodeAt(0)]=63}function C(t,e,r){for(var i,n,o=[],s=e;s<r;s+=3)i=(t[s]<<16)+(t[s+1]<<8)+t[s+2],o.push(x[(n=i)>>18&63]+x[n>>12&63]+x[n>>6&63]+x[63&n]);return o.join("")}function L(t){var e;N||U();for(var r=t.length,i=r%3,n="",o=[],s=16383,h=0,a=r-i;h<a;h+=s)o.push(C(t,h,h+s>a?a:h+s));return 1===i?(e=t[r-1],n+=x[e>>2],n+=x[e<<4&63],n+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],n+=x[e>>10],n+=x[e>>4&63],n+=x[e<<2&63],n+="="),o.push(n),o.join("")}function D(t,e,r,i,n){var o,s,h=8*n-i-1,a=(1<<h)-1,u=a>>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=h;f>0;o=256*o+t[e+l],l+=c,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=i;f>0;s=256*s+t[e+l],l+=c,f-=8);if(0===o)o=1-u;else{if(o===a)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=u}return(d?-1:1)*s*Math.pow(2,o-i)}function j(t,e,r,i,n,o){var s,h,a,u=8*o-n-1,f=(1<<u)-1,l=f>>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(h=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+l>=1?c/a:c*Math.pow(2,1-l))*a>=2&&(s++,a/=2),s+l>=f?(h=0,s=f):s+l>=1?(h=(e*a-1)*Math.pow(2,n),s+=l):(h=e*Math.pow(2,l-1)*Math.pow(2,n),s=0));n>=8;t[r+d]=255&h,d+=p,h/=256,n-=8);for(s=s<<n|h,u+=n;u>0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*m}var H={}.toString,q=Array.isArray||function(t){return"[object Array]"==H.call(t)};function K(){return z.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function F(t,e){if(K()<e)throw new RangeError("Invalid typed array length");return z.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=z.prototype:(null===t&&(t=new z(e)),t.length=e),t}function z(t,e,r){if(!(z.TYPED_ARRAY_SUPPORT||this instanceof z))return new z(t,e,r);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return Z(this,t)}return W(this,t,e,r)}function W(t,e,r,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,r,i){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");e=void 0===r&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,r):new Uint8Array(e,r,i);z.TYPED_ARRAY_SUPPORT?(t=e).__proto__=z.prototype:t=G(t,e);return t}(t,e,r,i):"string"==typeof e?function(t,e,r){"string"==typeof r&&""!==r||(r="utf8");if(!z.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|Y(e,r),n=(t=F(t,i)).write(e,r);n!==i&&(t=t.slice(0,n));return t}(t,e,r):function(t,e){if(X(e)){var r=0|$(e.length);return 0===(t=F(t,r)).length||e.copy(t,0,0,r),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(i=e.length)!=i?F(t,0):G(t,e);if("Buffer"===e.type&&q(e.data))return G(t,e.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function V(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function Z(t,e){if(V(e),t=F(t,e<0?0:0|$(e)),!z.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function G(t,e){var r=e.length<0?0:0|$(e.length);t=F(t,r);for(var i=0;i<r;i+=1)t[i]=255&e[i];return t}function $(t){if(t>=K())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K().toString(16)+" bytes");return 0|t}function X(t){return!(null==t||!t._isBuffer)}function Y(t,e){if(X(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return St(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Et(t).length;default:if(i)return St(t).length;e=(""+e).toLowerCase(),i=!0}}function J(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return ct(this,e,r);case"utf8":case"utf-8":return ut(this,e,r);case"ascii":return ft(this,e,r);case"latin1":case"binary":return lt(this,e,r);case"base64":return at(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return dt(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function Q(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function tt(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=z.from(e,i)),X(e))return 0===e.length?-1:et(t,e,r,i,n);if("number"==typeof e)return e&=255,z.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):et(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function et(t,e,r,i,n){var o,s=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,h/=2,a/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){var f=-1;for(o=r;o<h;o++)if(u(t,o)===u(e,-1===f?0:o-f)){if(-1===f&&(f=o),o-f+1===a)return f*s}else-1!==f&&(o-=o-f),f=-1}else for(r+a>h&&(r=h-a),o=r;o>=0;o--){for(var l=!0,c=0;c<a;c++)if(u(t,o+c)!==u(e,c)){l=!1;break}if(l)return o}return-1}function rt(t,e,r,i){r=Number(r)||0;var n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s<i;++s){var h=parseInt(e.substr(2*s,2),16);if(isNaN(h))return s;t[r+s]=h}return s}function it(t,e,r,i){return kt(St(e,t.length-r),t,r,i)}function nt(t,e,r,i){return kt(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function ot(t,e,r,i){return nt(t,e,r,i)}function st(t,e,r,i){return kt(Et(e),t,r,i)}function ht(t,e,r,i){return kt(function(t,e){for(var r,i,n,o=[],s=0;s<t.length&&!((e-=2)<0);++s)i=(r=t.charCodeAt(s))>>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function at(t,e,r){return 0===e&&r===t.length?L(t):L(t.slice(e,r))}function ut(t,e,r){r=Math.min(t.length,r);for(var i=[],n=e;n<r;){var o,s,h,a,u=t[n],f=null,l=u>239?4:u>223?3:u>191?2:1;if(n+l<=r)switch(l){case 1:u<128&&(f=u);break;case 2:128==(192&(o=t[n+1]))&&(a=(31&u)<<6|63&o)>127&&(f=a);break;case 3:o=t[n+1],s=t[n+2],128==(192&o)&&128==(192&s)&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(f=a);break;case 4:o=t[n+1],s=t[n+2],h=t[n+3],128==(192&o)&&128==(192&s)&&128==(192&h)&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&h)>65535&&a<1114112&&(f=a)}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=l}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=4096));return r}(i)}z.TYPED_ARRAY_SUPPORT=void 0===P.TYPED_ARRAY_SUPPORT||P.TYPED_ARRAY_SUPPORT,z.poolSize=8192,z._augment=function(t){return t.__proto__=z.prototype,t},z.from=function(t,e,r){return W(null,t,e,r)},z.TYPED_ARRAY_SUPPORT&&(z.prototype.__proto__=Uint8Array.prototype,z.__proto__=Uint8Array),z.alloc=function(t,e,r){return function(t,e,r,i){return V(e),e<=0?F(t,e):void 0!==r?"string"==typeof i?F(t,e).fill(r,i):F(t,e).fill(r):F(t,e)}(null,t,e,r)},z.allocUnsafe=function(t){return Z(null,t)},z.allocUnsafeSlow=function(t){return Z(null,t)},z.isBuffer=At,z.compare=function(t,e){if(!X(t)||!X(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},z.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},z.concat=function(t,e){if(!q(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return z.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var i=z.allocUnsafe(e),n=0;for(r=0;r<t.length;++r){var o=t[r];if(!X(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n),n+=o.length}return i},z.byteLength=Y,z.prototype._isBuffer=!0,z.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)Q(this,e,e+1);return this},z.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)Q(this,e,e+3),Q(this,e+1,e+2);return this},z.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)Q(this,e,e+7),Q(this,e+1,e+6),Q(this,e+2,e+5),Q(this,e+3,e+4);return this},z.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?ut(this,0,t):J.apply(this,arguments)},z.prototype.equals=function(t){if(!X(t))throw new TypeError("Argument must be a Buffer");return this===t||0===z.compare(this,t)},z.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},z.prototype.compare=function(t,e,r,i,n){if(!X(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(n>>>=0)-(i>>>=0),s=(r>>>=0)-(e>>>=0),h=Math.min(o,s),a=this.slice(i,n),u=t.slice(e,r),f=0;f<h;++f)if(a[f]!==u[f]){o=a[f],s=u[f];break}return o<s?-1:s<o?1:0},z.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},z.prototype.indexOf=function(t,e,r){return tt(this,t,e,r,!0)},z.prototype.lastIndexOf=function(t,e,r){return tt(this,t,e,r,!1)},z.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return rt(this,t,e,r);case"utf8":case"utf-8":return it(this,t,e,r);case"ascii":return nt(this,t,e,r);case"latin1":case"binary":return ot(this,t,e,r);case"base64":return st(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ht(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},z.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ft(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function lt(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function ct(t,e,r){var i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=e;o<r;++o)n+=_t(t[o]);return n}function dt(t,e,r){for(var i=t.slice(e,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function pt(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function mt(t,e,r,i,n,o){if(!X(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function gt(t,e,r,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-r,2);n<o;++n)t[r+n]=(e&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function yt(t,e,r,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-r,4);n<o;++n)t[r+n]=e>>>8*(i?n:3-n)&255}function vt(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function bt(t,e,r,i,n){return n||vt(t,0,r,4),j(t,e,r,i,23,4),r+4}function wt(t,e,r,i,n){return n||vt(t,0,r,8),j(t,e,r,i,52,8),r+8}z.prototype.slice=function(t,e){var r,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t),z.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=z.prototype;else{var n=e-t;r=new z(n,void 0);for(var o=0;o<n;++o)r[o]=this[o+t]}return r},z.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=this[t],n=1,o=0;++o<e&&(n*=256);)i+=this[t+o]*n;return i},z.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=this[t+--e],n=1;e>0&&(n*=256);)i+=this[t+--e]*n;return i},z.prototype.readUInt8=function(t,e){return e||pt(t,1,this.length),this[t]},z.prototype.readUInt16LE=function(t,e){return e||pt(t,2,this.length),this[t]|this[t+1]<<8},z.prototype.readUInt16BE=function(t,e){return e||pt(t,2,this.length),this[t]<<8|this[t+1]},z.prototype.readUInt32LE=function(t,e){return e||pt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},z.prototype.readUInt32BE=function(t,e){return e||pt(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},z.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=this[t],n=1,o=0;++o<e&&(n*=256);)i+=this[t+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*e)),i},z.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=e,n=1,o=this[t+--i];i>0&&(n*=256);)o+=this[t+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*e)),o},z.prototype.readInt8=function(t,e){return e||pt(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},z.prototype.readInt16LE=function(t,e){e||pt(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},z.prototype.readInt16BE=function(t,e){e||pt(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},z.prototype.readInt32LE=function(t,e){return e||pt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},z.prototype.readInt32BE=function(t,e){return e||pt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},z.prototype.readFloatLE=function(t,e){return e||pt(t,4,this.length),D(this,t,!0,23,4)},z.prototype.readFloatBE=function(t,e){return e||pt(t,4,this.length),D(this,t,!1,23,4)},z.prototype.readDoubleLE=function(t,e){return e||pt(t,8,this.length),D(this,t,!0,52,8)},z.prototype.readDoubleBE=function(t,e){return e||pt(t,8,this.length),D(this,t,!1,52,8)},z.prototype.writeUIntLE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||mt(this,t,e,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[e]=255&t;++o<r&&(n*=256);)this[e+o]=t/n&255;return e+r},z.prototype.writeUIntBE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||mt(this,t,e,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},z.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,1,255,0),z.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},z.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,65535,0),z.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):gt(this,t,e,!0),e+2},z.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,65535,0),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):gt(this,t,e,!1),e+2},z.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,4294967295,0),z.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):yt(this,t,e,!0),e+4},z.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,4294967295,0),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):yt(this,t,e,!1),e+4},z.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);mt(this,t,e,r,n-1,-n)}var o=0,s=1,h=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===h&&0!==this[e+o-1]&&(h=1),this[e+o]=(t/s>>0)-h&255;return e+r},z.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);mt(this,t,e,r,n-1,-n)}var o=r-1,s=1,h=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===h&&0!==this[e+o+1]&&(h=1),this[e+o]=(t/s>>0)-h&255;return e+r},z.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,1,127,-128),z.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},z.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,32767,-32768),z.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):gt(this,t,e,!0),e+2},z.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,32767,-32768),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):gt(this,t,e,!1),e+2},z.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,2147483647,-2147483648),z.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):yt(this,t,e,!0),e+4},z.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):yt(this,t,e,!1),e+4},z.prototype.writeFloatLE=function(t,e,r){return bt(this,t,e,!0,r)},z.prototype.writeFloatBE=function(t,e,r){return bt(this,t,e,!1,r)},z.prototype.writeDoubleLE=function(t,e,r){return wt(this,t,e,!0,r)},z.prototype.writeDoubleBE=function(t,e,r){return wt(this,t,e,!1,r)},z.prototype.copy=function(t,e,r,i){if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);var n,o=i-r;if(this===t&&r<e&&e<i)for(n=o-1;n>=0;--n)t[n+e]=this[n+r];else if(o<1e3||!z.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)t[n+e]=this[n+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},z.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!z.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=X(t)?t:St(new z(t,i).toString()),h=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%h]}return this};var Mt=/[^+\/0-9A-Za-z-_]/g;function _t(t){return t<16?"0"+t.toString(16):t.toString(16)}function St(t,e){var r;e=e||1/0;for(var i=t.length,n=null,o=[],s=0;s<i;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Et(t){return function(t){var e,r,i,n,o,s;N||U();var h=t.length;if(h%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[h-2]?2:"="===t[h-1]?1:0,s=new R(3*h/4-o),i=o>0?h-4:h;var a=0;for(e=0,r=0;e<i;e+=4,r+=3)n=B[t.charCodeAt(e)]<<18|B[t.charCodeAt(e+1)]<<12|B[t.charCodeAt(e+2)]<<6|B[t.charCodeAt(e+3)],s[a++]=n>>16&255,s[a++]=n>>8&255,s[a++]=255&n;return 2===o?(n=B[t.charCodeAt(e)]<<2|B[t.charCodeAt(e+1)]>>4,s[a++]=255&n):1===o&&(n=B[t.charCodeAt(e)]<<10|B[t.charCodeAt(e+1)]<<4|B[t.charCodeAt(e+2)]>>2,s[a++]=n>>8&255,s[a++]=255&n),s}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(Mt,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function kt(t,e,r,i){for(var n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function At(t){return null!=t&&(!!t._isBuffer||It(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&It(t.slice(0,0))}(t))}function It(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var Tt={},Ot={},Pt={exports:{}};"function"==typeof Object.create?Pt.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Pt.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}};for(var xt={exports:{}},Bt={},Rt={byteLength:function(t){var e=Ht(t),r=e[0],i=e[1];return 3*(r+i)/4-i},toByteArray:function(t){var e,r,i=Ht(t),n=i[0],o=i[1],s=new Ct(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),h=0,a=o>0?n-4:n;for(r=0;r<a;r+=4)e=Ut[t.charCodeAt(r)]<<18|Ut[t.charCodeAt(r+1)]<<12|Ut[t.charCodeAt(r+2)]<<6|Ut[t.charCodeAt(r+3)],s[h++]=e>>16&255,s[h++]=e>>8&255,s[h++]=255&e;2===o&&(e=Ut[t.charCodeAt(r)]<<2|Ut[t.charCodeAt(r+1)]>>4,s[h++]=255&e);1===o&&(e=Ut[t.charCodeAt(r)]<<10|Ut[t.charCodeAt(r+1)]<<4|Ut[t.charCodeAt(r+2)]>>2,s[h++]=e>>8&255,s[h++]=255&e);return s},fromByteArray:function(t){for(var e,r=t.length,i=r%3,n=[],o=16383,s=0,h=r-i;s<h;s+=o)n.push(qt(t,s,s+o>h?h:s+o));1===i?(e=t[r-1],n.push(Nt[e>>2]+Nt[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],n.push(Nt[e>>10]+Nt[e>>4&63]+Nt[e<<2&63]+"="));return n.join("")}},Nt=[],Ut=[],Ct="undefined"!=typeof Uint8Array?Uint8Array:Array,Lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Dt=0,jt=Lt.length;Dt<jt;++Dt)Nt[Dt]=Lt[Dt],Ut[Lt.charCodeAt(Dt)]=Dt;function Ht(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function qt(t,e,r){for(var i,n,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(Nt[(n=i)>>18&63]+Nt[n>>12&63]+Nt[n>>6&63]+Nt[63&n]);return o.join("")}Ut["-".charCodeAt(0)]=62,Ut["_".charCodeAt(0)]=63;var Kt={
|
|
2
2
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
3
3
|
read:function(t,e,r,i,n){var o,s,h=8*n-i-1,a=(1<<h)-1,u=a>>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=h;f>0;o=256*o+t[e+l],l+=c,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=i;f>0;s=256*s+t[e+l],l+=c,f-=8);if(0===o)o=1-u;else{if(o===a)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=u}return(d?-1:1)*s*Math.pow(2,o-i)},write:function(t,e,r,i,n,o){var s,h,a,u=8*o-n-1,f=(1<<u)-1,l=f>>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(h=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+l>=1?c/a:c*Math.pow(2,1-l))*a>=2&&(s++,a/=2),s+l>=f?(h=0,s=f):s+l>=1?(h=(e*a-1)*Math.pow(2,n),s+=l):(h=e*Math.pow(2,l-1)*Math.pow(2,n),s=0));n>=8;t[r+d]=255&h,d+=p,h/=256,n-=8);for(s=s<<n|h,u+=n;u>0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*m}};
|
|
4
4
|
/*!
|
|
@@ -7,6 +7,6 @@ read:function(t,e,r,i,n){var o,s,h=8*n-i-1,a=(1<<h)-1,u=a>>1,f=-7,l=r?n-1:0,c=r?
|
|
|
7
7
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
8
8
|
* @license MIT
|
|
9
9
|
*/
|
|
10
|
-
(function(t){const e=Nt,r=Ft,i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},t.INSPECT_MAX_BYTES=50;const n=2147483647;function o(t){if(t>n)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,s.prototype),e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return h(t,e,r)}function h(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|d(t,e);let i=o(r);const n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Z(t,Uint8Array)){const e=new Uint8Array(t);return l(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Z(t,ArrayBuffer)||t&&Z(t.buffer,ArrayBuffer))return l(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(Z(t,SharedArrayBuffer)||t&&Z(t.buffer,SharedArrayBuffer)))return l(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return s.from(i,e,r);const n=function(t){if(s.isBuffer(t)){const e=0|c(t.length),r=o(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||G(t.length)?o(0):f(t);if("Buffer"===t.type&&Array.isArray(t.data))return f(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return a(t),o(t<0?0:0|c(t))}function f(t){const e=t.length<0?0:0|c(t.length),r=o(e);for(let i=0;i<e;i+=1)r[i]=255&t[i];return r}function l(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let i;return i=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(i,s.prototype),i}function c(t){if(t>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|t}function d(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Z(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(t).length;default:if(n)return i?-1:z(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return E(this,e,r);case"ascii":return A(this,e,r);case"latin1":case"binary":return I(this,e,r);case"base64":return S(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function m(t,e,r){const i=t[e];t[e]=t[r],t[r]=i}function g(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),G(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=s.from(e,i)),s.isBuffer(e))return 0===e.length?-1:y(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,i,n){let o,s=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,h/=2,a/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){let i=-1;for(o=r;o<h;o++)if(u(t,o)===u(e,-1===i?0:o-i)){if(-1===i&&(i=o),o-i+1===a)return i*s}else-1!==i&&(o-=o-i),i=-1}else for(r+a>h&&(r=h-a),o=r;o>=0;o--){let r=!0;for(let i=0;i<a;i++)if(u(t,o+i)!==u(e,i)){r=!1;break}if(r)return o}return-1}function v(t,e,r,i){r=Number(r)||0;const n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;const o=e.length;let s;for(i>o/2&&(i=o/2),s=0;s<i;++s){const i=parseInt(e.substr(2*s,2),16);if(G(i))return s;t[r+s]=i}return s}function b(t,e,r,i){return V(z(e,t.length-r),t,r,i)}function w(t,e,r,i){return V(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function M(t,e,r,i){return V(W(e),t,r,i)}function _(t,e,r,i){return V(function(t,e){let r,i,n;const o=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),i=r>>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function S(t,r,i){return 0===r&&i===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,i))}function E(t,e,r){r=Math.min(t.length,r);const i=[];let n=e;for(;n<r;){const e=t[n];let o=null,s=e>239?4:e>223?3:e>191?2:1;if(n+s<=r){let r,i,h,a;switch(s){case 1:e<128&&(o=e);break;case 2:r=t[n+1],128==(192&r)&&(a=(31&e)<<6|63&r,a>127&&(o=a));break;case 3:r=t[n+1],i=t[n+2],128==(192&r)&&128==(192&i)&&(a=(15&e)<<12|(63&r)<<6|63&i,a>2047&&(a<55296||a>57343)&&(o=a));break;case 4:r=t[n+1],i=t[n+2],h=t[n+3],128==(192&r)&&128==(192&i)&&128==(192&h)&&(a=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&h,a>65535&&a<1114112&&(o=a))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),n+=s}return function(t){const e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);let r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=k));return r}(i)}t.kMaxLength=n,s.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),s.poolSize=8192,s.from=function(t,e,r){return h(t,e,r)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array),s.alloc=function(t,e,r){return function(t,e,r){return a(t),t<=0?o(t):void 0!==e?"string"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==s.prototype},s.compare=function(t,e){if(Z(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),Z(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,i=e.length;for(let n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const i=s.allocUnsafe(e);let n=0;for(r=0;r<t.length;++r){let e=t[r];if(Z(e,Uint8Array))n+e.length>i.length?(s.isBuffer(e)||(e=s.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else{if(!s.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(i,n)}n+=e.length}return i},s.byteLength=d,s.prototype._isBuffer=!0,s.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)m(this,e,e+1);return this},s.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},s.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},s.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?E(this,0,t):p.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){let e="";const r=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},i&&(s.prototype[i]=s.prototype.inspect),s.prototype.compare=function(t,e,r,i,n){if(Z(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;let o=(n>>>=0)-(i>>>=0),h=(r>>>=0)-(e>>>=0);const a=Math.min(o,h),u=this.slice(i,n),f=t.slice(e,r);for(let t=0;t<a;++t)if(u[t]!==f[t]){o=u[t],h=f[t];break}return o<h?-1:h<o?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":case"latin1":case"binary":return w(this,t,e,r);case"base64":return M(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const k=4096;function A(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function I(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function T(t,e,r){const i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);let n="";for(let i=e;i<r;++i)n+=$[t[i]];return n}function O(t,e,r){const i=t.slice(e,r);let n="";for(let t=0;t<i.length-1;t+=2)n+=String.fromCharCode(i[t]+256*i[t+1]);return n}function P(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function x(t,e,r,i,n,o){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function B(t,e,r,i,n){H(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function R(t,e,r,i,n){H(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function N(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,i,n,o){return e=+e,i>>>=0,o||N(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function C(t,e,i,n,o){return e=+e,i>>>=0,o||N(t,0,i,8),r.write(t,e,i,n,52,8),i+8}s.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const i=this.subarray(t,e);return Object.setPrototypeOf(i,s.prototype),i},s.prototype.readUintLE=s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t],n=1,o=0;for(;++o<e&&(n*=256);)i+=this[t+o]*n;return i},s.prototype.readUintBE=s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},s.prototype.readUint8=s.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readBigUInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,n=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(i)+(BigInt(n)<<BigInt(32))})),s.prototype.readBigUInt64BE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=e*2**24+65536*this[++t]+256*this[++t]+this[++t],n=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<<BigInt(32))+BigInt(n)})),s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t],n=1,o=0;for(;++o<e&&(n*=256);)i+=this[t+o]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*e)),i},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=e,n=1,o=this[t+--i];for(;i>0&&(n*=256);)o+=this[t+--i]*n;return n*=128,o>=n&&(o-=Math.pow(2,8*e)),o},s.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readBigInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),s.prototype.readBigInt64BE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)})),s.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!1,52,8)},s.prototype.writeUintLE=s.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){x(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=1,o=0;for(this[e]=255&t;++o<r&&(n*=256);)this[e+o]=t/n&255;return e+r},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){x(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},s.prototype.writeUint8=s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeBigUInt64LE=X((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeBigUInt64BE=X((function(t,e=0){return R(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);x(this,t,e,r,i-1,-i)}let n=0,o=1,s=0;for(this[e]=255&t;++n<r&&(o*=256);)t<0&&0===s&&0!==this[e+n-1]&&(s=1),this[e+n]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);x(this,t,e,r,i-1,-i)}let n=r-1,o=1,s=0;for(this[e+n]=255&t;--n>=0&&(o*=256);)t<0&&0===s&&0!==this[e+n+1]&&(s=1),this[e+n]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeBigInt64LE=X((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeBigInt64BE=X((function(t,e=0){return R(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return C(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return C(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,i){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);const n=i-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,i):Uint8Array.prototype.set.call(t,this.subarray(r,i),e),n},s.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){const e=t.charCodeAt(0);("utf8"===i&&e<128||"latin1"===i)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let n;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n<r;++n)this[n]=t;else{const o=s.isBuffer(t)?t:s.from(t,i),h=o.length;if(0===h)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(n=0;n<r-e;++n)this[n+e]=o[n%h]}return this};const L={};function D(t,e,r){L[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function j(t){let e="",r=t.length;const i="-"===t[0]?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function H(t,e,r,i,n,o){if(t>r||t<e){const i="bigint"==typeof e?"n":"";let n;throw n=o>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(o+1)}${i}`:`>= -(2${i} ** ${8*(o+1)-1}${i}) and < 2 ** ${8*(o+1)-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new L.ERR_OUT_OF_RANGE("value",n,t)}!function(t,e,r){q(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(i,n,o)}function q(t,e){if("number"!=typeof t)throw new L.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw q(t,r),new L.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new L.ERR_BUFFER_OUT_OF_BOUNDS;throw new L.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}D("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),D("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),D("ERR_OUT_OF_RANGE",(function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=j(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=j(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i}),RangeError);const F=/[^+/0-9A-Za-z-_]/g;function z(t,e){let r;e=e||1/0;const i=t.length;let n=null;const o=[];for(let s=0;s<i;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function W(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,i){let n;for(n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function Z(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function G(t){return t!=t}const $=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function X(t){return"undefined"==typeof BigInt?Y:t}function Y(){throw new Error("BigInt not supported")}})(Rt),
|
|
10
|
+
(function(t){const e=Rt,r=Kt,i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},t.INSPECT_MAX_BYTES=50;const n=2147483647;function o(t){if(t>n)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,s.prototype),e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return h(t,e,r)}function h(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|d(t,e);let i=o(r);const n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Z(t,Uint8Array)){const e=new Uint8Array(t);return l(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Z(t,ArrayBuffer)||t&&Z(t.buffer,ArrayBuffer))return l(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(Z(t,SharedArrayBuffer)||t&&Z(t.buffer,SharedArrayBuffer)))return l(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return s.from(i,e,r);const n=function(t){if(s.isBuffer(t)){const e=0|c(t.length),r=o(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||G(t.length)?o(0):f(t);if("Buffer"===t.type&&Array.isArray(t.data))return f(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return a(t),o(t<0?0:0|c(t))}function f(t){const e=t.length<0?0:0|c(t.length),r=o(e);for(let i=0;i<e;i+=1)r[i]=255&t[i];return r}function l(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let i;return i=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(i,s.prototype),i}function c(t){if(t>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|t}function d(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Z(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(t).length;default:if(n)return i?-1:z(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return E(this,e,r);case"ascii":return A(this,e,r);case"latin1":case"binary":return I(this,e,r);case"base64":return S(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function m(t,e,r){const i=t[e];t[e]=t[r],t[r]=i}function g(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),G(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=s.from(e,i)),s.isBuffer(e))return 0===e.length?-1:y(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,i,n){let o,s=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,h/=2,a/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){let i=-1;for(o=r;o<h;o++)if(u(t,o)===u(e,-1===i?0:o-i)){if(-1===i&&(i=o),o-i+1===a)return i*s}else-1!==i&&(o-=o-i),i=-1}else for(r+a>h&&(r=h-a),o=r;o>=0;o--){let r=!0;for(let i=0;i<a;i++)if(u(t,o+i)!==u(e,i)){r=!1;break}if(r)return o}return-1}function v(t,e,r,i){r=Number(r)||0;const n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;const o=e.length;let s;for(i>o/2&&(i=o/2),s=0;s<i;++s){const i=parseInt(e.substr(2*s,2),16);if(G(i))return s;t[r+s]=i}return s}function b(t,e,r,i){return V(z(e,t.length-r),t,r,i)}function w(t,e,r,i){return V(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function M(t,e,r,i){return V(W(e),t,r,i)}function _(t,e,r,i){return V(function(t,e){let r,i,n;const o=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),i=r>>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function S(t,r,i){return 0===r&&i===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,i))}function E(t,e,r){r=Math.min(t.length,r);const i=[];let n=e;for(;n<r;){const e=t[n];let o=null,s=e>239?4:e>223?3:e>191?2:1;if(n+s<=r){let r,i,h,a;switch(s){case 1:e<128&&(o=e);break;case 2:r=t[n+1],128==(192&r)&&(a=(31&e)<<6|63&r,a>127&&(o=a));break;case 3:r=t[n+1],i=t[n+2],128==(192&r)&&128==(192&i)&&(a=(15&e)<<12|(63&r)<<6|63&i,a>2047&&(a<55296||a>57343)&&(o=a));break;case 4:r=t[n+1],i=t[n+2],h=t[n+3],128==(192&r)&&128==(192&i)&&128==(192&h)&&(a=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&h,a>65535&&a<1114112&&(o=a))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),n+=s}return function(t){const e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);let r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=k));return r}(i)}t.kMaxLength=n,s.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),s.poolSize=8192,s.from=function(t,e,r){return h(t,e,r)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array),s.alloc=function(t,e,r){return function(t,e,r){return a(t),t<=0?o(t):void 0!==e?"string"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==s.prototype},s.compare=function(t,e){if(Z(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),Z(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,i=e.length;for(let n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const i=s.allocUnsafe(e);let n=0;for(r=0;r<t.length;++r){let e=t[r];if(Z(e,Uint8Array))n+e.length>i.length?(s.isBuffer(e)||(e=s.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else{if(!s.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(i,n)}n+=e.length}return i},s.byteLength=d,s.prototype._isBuffer=!0,s.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)m(this,e,e+1);return this},s.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},s.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},s.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?E(this,0,t):p.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){let e="";const r=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},i&&(s.prototype[i]=s.prototype.inspect),s.prototype.compare=function(t,e,r,i,n){if(Z(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;let o=(n>>>=0)-(i>>>=0),h=(r>>>=0)-(e>>>=0);const a=Math.min(o,h),u=this.slice(i,n),f=t.slice(e,r);for(let t=0;t<a;++t)if(u[t]!==f[t]){o=u[t],h=f[t];break}return o<h?-1:h<o?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":case"latin1":case"binary":return w(this,t,e,r);case"base64":return M(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const k=4096;function A(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function I(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function T(t,e,r){const i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);let n="";for(let i=e;i<r;++i)n+=$[t[i]];return n}function O(t,e,r){const i=t.slice(e,r);let n="";for(let t=0;t<i.length-1;t+=2)n+=String.fromCharCode(i[t]+256*i[t+1]);return n}function P(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function x(t,e,r,i,n,o){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function B(t,e,r,i,n){H(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function R(t,e,r,i,n){H(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function N(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,i,n,o){return e=+e,i>>>=0,o||N(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function C(t,e,i,n,o){return e=+e,i>>>=0,o||N(t,0,i,8),r.write(t,e,i,n,52,8),i+8}s.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const i=this.subarray(t,e);return Object.setPrototypeOf(i,s.prototype),i},s.prototype.readUintLE=s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t],n=1,o=0;for(;++o<e&&(n*=256);)i+=this[t+o]*n;return i},s.prototype.readUintBE=s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},s.prototype.readUint8=s.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readBigUInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,n=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(i)+(BigInt(n)<<BigInt(32))})),s.prototype.readBigUInt64BE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=e*2**24+65536*this[++t]+256*this[++t]+this[++t],n=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<<BigInt(32))+BigInt(n)})),s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t],n=1,o=0;for(;++o<e&&(n*=256);)i+=this[t+o]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*e)),i},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=e,n=1,o=this[t+--i];for(;i>0&&(n*=256);)o+=this[t+--i]*n;return n*=128,o>=n&&(o-=Math.pow(2,8*e)),o},s.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readBigInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),s.prototype.readBigInt64BE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)})),s.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!1,52,8)},s.prototype.writeUintLE=s.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){x(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=1,o=0;for(this[e]=255&t;++o<r&&(n*=256);)this[e+o]=t/n&255;return e+r},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){x(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},s.prototype.writeUint8=s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeBigUInt64LE=X((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeBigUInt64BE=X((function(t,e=0){return R(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);x(this,t,e,r,i-1,-i)}let n=0,o=1,s=0;for(this[e]=255&t;++n<r&&(o*=256);)t<0&&0===s&&0!==this[e+n-1]&&(s=1),this[e+n]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);x(this,t,e,r,i-1,-i)}let n=r-1,o=1,s=0;for(this[e+n]=255&t;--n>=0&&(o*=256);)t<0&&0===s&&0!==this[e+n+1]&&(s=1),this[e+n]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeBigInt64LE=X((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeBigInt64BE=X((function(t,e=0){return R(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return C(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return C(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,i){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);const n=i-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,i):Uint8Array.prototype.set.call(t,this.subarray(r,i),e),n},s.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){const e=t.charCodeAt(0);("utf8"===i&&e<128||"latin1"===i)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let n;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n<r;++n)this[n]=t;else{const o=s.isBuffer(t)?t:s.from(t,i),h=o.length;if(0===h)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(n=0;n<r-e;++n)this[n+e]=o[n%h]}return this};const L={};function D(t,e,r){L[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function j(t){let e="",r=t.length;const i="-"===t[0]?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function H(t,e,r,i,n,o){if(t>r||t<e){const i="bigint"==typeof e?"n":"";let n;throw n=o>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(o+1)}${i}`:`>= -(2${i} ** ${8*(o+1)-1}${i}) and < 2 ** ${8*(o+1)-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new L.ERR_OUT_OF_RANGE("value",n,t)}!function(t,e,r){q(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(i,n,o)}function q(t,e){if("number"!=typeof t)throw new L.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw q(t,r),new L.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new L.ERR_BUFFER_OUT_OF_BOUNDS;throw new L.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}D("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),D("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),D("ERR_OUT_OF_RANGE",(function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=j(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=j(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i}),RangeError);const F=/[^+/0-9A-Za-z-_]/g;function z(t,e){let r;e=e||1/0;const i=t.length;let n=null;const o=[];for(let s=0;s<i;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function W(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,i){let n;for(n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function Z(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function G(t){return t!=t}const $=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function X(t){return"undefined"==typeof BigInt?Y:t}function Y(){throw new Error("BigInt not supported")}})(Bt),
|
|
11
11
|
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
12
|
-
function(t,e){var r=Rt,i=r.Buffer;function n(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(n(r,e),e.Buffer=o),o.prototype=Object.create(i.prototype),n(i,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}}(Bt,Bt.exports);var zt={exports:{}},Wt={};function Vt(){throw new Error("setTimeout has not been defined")}function Zt(){throw new Error("clearTimeout has not been defined")}var Gt=Vt,$t=Zt;function Xt(t){if(Gt===setTimeout)return setTimeout(t,0);if((Gt===Vt||!Gt)&&setTimeout)return Gt=setTimeout,setTimeout(t,0);try{return Gt(t,0)}catch(e){try{return Gt.call(null,t,0)}catch(e){return Gt.call(this,t,0)}}}"function"==typeof x.setTimeout&&(Gt=setTimeout),"function"==typeof x.clearTimeout&&($t=clearTimeout);var Yt,Jt=[],Qt=!1,te=-1;function ee(){Qt&&Yt&&(Qt=!1,Yt.length?Jt=Yt.concat(Jt):te=-1,Jt.length&&re())}function re(){if(!Qt){var t=Xt(ee);Qt=!0;for(var e=Jt.length;e;){for(Yt=Jt,Jt=[];++te<e;)Yt&&Yt[te].run();te=-1,e=Jt.length}Yt=null,Qt=!1,function(t){if($t===clearTimeout)return clearTimeout(t);if(($t===Zt||!$t)&&clearTimeout)return $t=clearTimeout,clearTimeout(t);try{$t(t)}catch(e){try{return $t.call(null,t)}catch(e){return $t.call(this,t)}}}(t)}}function ie(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];Jt.push(new ne(t,e)),1!==Jt.length||Qt||Xt(re)}function ne(t,e){this.fun=t,this.array=e}ne.prototype.run=function(){this.fun.apply(null,this.array)};function oe(){}var se=oe,he=oe,ae=oe,ue=oe,fe=oe,le=oe,ce=oe;var de=x.performance||{},pe=de.now||de.mozNow||de.msNow||de.oNow||de.webkitNow||function(){return(new Date).getTime()};var me=new Date;var ge,ye={nextTick:ie,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:se,addListener:he,once:ae,off:ue,removeListener:fe,removeAllListeners:le,emit:ce,binding:function(t){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(t){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(t){var e=.001*pe.call(de),r=Math.floor(e),i=Math.floor(e%1*1e9);return t&&(r-=t[0],(i-=t[1])<0&&(r--,i+=1e9)),[r,i]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-me)/1e3}},ve={exports:{}},be="object"==typeof Reflect?Reflect:null,we=be&&"function"==typeof be.apply?be.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};ge=be&&"function"==typeof be.ownKeys?be.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var Me=Number.isNaN||function(t){return t!=t};function _e(){_e.init.call(this)}ve.exports=_e,ve.exports.once=function(t,e){return new Promise((function(r,i){function n(r){t.removeListener(e,o),i(r)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",n),r([].slice.call(arguments))}Be(t,e,o,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&Be(t,"error",e,r)}(t,n,{once:!0})}))},_e.EventEmitter=_e,_e.prototype._events=void 0,_e.prototype._eventsCount=0,_e.prototype._maxListeners=void 0;var Se=10;function Ee(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function ke(t){return void 0===t._maxListeners?_e.defaultMaxListeners:t._maxListeners}function Ae(t,e,r,i){var n,o,s,h;if(Ee(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"==typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),(n=ke(t))>0&&s.length>n&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,h=a,console&&console.warn&&console.warn(h)}return t}function Ie(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Te(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=Ie.bind(i);return n.listener=r,i.wrapFn=n,n}function Oe(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(n):xe(n,n.length)}function Pe(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function xe(t,e){for(var r=new Array(e),i=0;i<e;++i)r[i]=t[i];return r}function Be(t,e,r,i){if("function"==typeof t.on)i.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function n(o){i.once&&t.removeEventListener(e,n),r(o)}))}}Object.defineProperty(_e,"defaultMaxListeners",{enumerable:!0,get:function(){return Se},set:function(t){if("number"!=typeof t||t<0||Me(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Se=t}}),_e.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},_e.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||Me(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},_e.prototype.getMaxListeners=function(){return ke(this)},_e.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,n=this._events;if(void 0!==n)i=i&&void 0===n.error;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var h=n[t];if(void 0===h)return!1;if("function"==typeof h)we(h,this,e);else{var a=h.length,u=xe(h,a);for(r=0;r<a;++r)we(u[r],this,e)}return!0},_e.prototype.addListener=function(t,e){return Ae(this,t,e,!1)},_e.prototype.on=_e.prototype.addListener,_e.prototype.prependListener=function(t,e){return Ae(this,t,e,!0)},_e.prototype.once=function(t,e){return Ee(e),this.on(t,Te(this,t,e)),this},_e.prototype.prependOnceListener=function(t,e){return Ee(e),this.prependListener(t,Te(this,t,e)),this},_e.prototype.removeListener=function(t,e){var r,i,n,o,s;if(Ee(e),void 0===(i=this._events))return this;if(void 0===(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,n),1===r.length&&(i[t]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",t,s||e)}return this},_e.prototype.off=_e.prototype.removeListener,_e.prototype.removeAllListeners=function(t){var e,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i<o.length;++i)"removeListener"!==(n=o[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},_e.prototype.listeners=function(t){return Oe(this,t,!0)},_e.prototype.rawListeners=function(t){return Oe(this,t,!1)},_e.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):Pe.call(t,e)},_e.prototype.listenerCount=Pe,_e.prototype.eventNames=function(){return this._eventsCount>0?ge(this._events):[]};var Re=ve.exports.EventEmitter,Ne=T(Object.freeze({__proto__:null,default:{}}));function Ue(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function Ce(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Le(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var De=Rt.Buffer,je=Ne.inspect,He=je&&je.custom||"inspect";function qe(t,e,r){De.prototype.copy.call(t,e,r)}var Ke=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r,i;return e=t,r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return De.alloc(0);for(var e=De.allocUnsafe(t>>>0),r=this.head,i=0;r;)qe(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,i=e.data;for(t-=i.length;e=e.next;){var n=e.data,o=t>n.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),0==(t-=o)){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=De.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),0==(t-=o)){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:He,value:function(t,e){return je(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ue(Object(r),!0).forEach((function(e){Ce(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ue(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},e,{depth:0,customInspect:!1}))}}],r&&Le(e.prototype,r),i&&Le(e,i),t}();function Fe(t,e){We(t,e),ze(t)}function ze(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function We(t,e){t.emit("error",e)}var Ve={destroy:function(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,ie(We,this,t)):ie(We,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?ie(ze,r):(r._writableState.errorEmitted=!0,ie(Fe,r,t)):ie(Fe,r,t):e?(ie(ze,r),e(t)):ie(ze,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}},Ze={};var Ge={};function $e(t,e,r){r||(r=Error);var i=function(t){var r,i;function n(r,i,n){return t.call(this,function(t,r,i){return"string"==typeof e?e:e(t,r,i)}(r,i,n))||this}return i=t,(r=n).prototype=Object.create(i.prototype),r.prototype.constructor=r,r.__proto__=i,n}(r);i.prototype.name=r.name,i.prototype.code=t,Ge[t]=i}function Xe(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}$e("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),$e("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n,o,s;if("string"==typeof e&&(n="not ",e.substr(!o||o<0?0:+o,n.length)===n)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))s="The ".concat(t," ").concat(i," ").concat(Xe(e,"type"));else{var h=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";s='The "'.concat(t,'" ').concat(h," ").concat(i," ").concat(Xe(e,"type"))}return s+=". Received type ".concat(typeof r)}),TypeError),$e("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),$e("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),$e("ERR_STREAM_PREMATURE_CLOSE","Premature close"),$e("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),$e("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),$e("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),$e("ERR_STREAM_WRITE_AFTER_END","write after end"),$e("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),$e("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),$e("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ze.codes=Ge;var Ye=Ze.codes.ERR_INVALID_OPT_VALUE;var Je={getHighWaterMark:function(t,e,r,i){var n=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new Ye(i?r:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}},Qe={},tr=Bt.exports.Buffer,er=tr.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function rr(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(tr.isEncoding===er||!er(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=or,this.end=sr,e=4;break;case"utf8":this.fillLast=nr,e=4;break;case"base64":this.text=hr,this.end=ar,e=3;break;default:return this.write=ur,void(this.end=fr)}this.lastNeed=0,this.lastTotal=0,this.lastChar=tr.allocUnsafe(e)}function ir(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function nr(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function or(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function sr(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function hr(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function ar(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function ur(t){return t.toString(this.encoding)}function fr(t){return t&&t.length?this.write(t):""}Qe.StringDecoder=rr,rr.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},rr.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},rr.prototype.text=function(t,e){var r=function(t,e,r){var i=e.length-1;if(i<r)return 0;var n=ir(e[i]);if(n>=0)return n>0&&(t.lastNeed=n-1),n;if(--i<r||-2===n)return 0;if((n=ir(e[i]))>=0)return n>0&&(t.lastNeed=n-2),n;if(--i<r||-2===n)return 0;if((n=ir(e[i]))>=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},rr.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};var lr=Ze.codes.ERR_STREAM_PREMATURE_CLOSE;function cr(){}var dr,pr=function t(e,r,i){if("function"==typeof r)return t(e,null,r);r||(r={}),i=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];t.apply(this,i)}}}(i||cr);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,s=function(){e.writable||a()},h=e._writableState&&e._writableState.finished,a=function(){o=!1,h=!0,n||i.call(e)},u=e._readableState&&e._readableState.endEmitted,f=function(){n=!1,u=!0,o||i.call(e)},l=function(t){i.call(e,t)},c=function(){var t;return n&&!u?(e._readableState&&e._readableState.ended||(t=new lr),i.call(e,t)):o&&!h?(e._writableState&&e._writableState.ended||(t=new lr),i.call(e,t)):void 0},d=function(){e.req.on("finish",a)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(e)?o&&!e._writableState&&(e.on("end",s),e.on("close",s)):(e.on("complete",a),e.on("abort",c),e.req?d():e.on("request",d)),e.on("end",f),e.on("finish",a),!1!==r.error&&e.on("error",l),e.on("close",c),function(){e.removeListener("complete",a),e.removeListener("abort",c),e.removeListener("request",d),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",f),e.removeListener("error",l),e.removeListener("close",c)}};function mr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var gr=pr,yr=Symbol("lastResolve"),vr=Symbol("lastReject"),br=Symbol("error"),wr=Symbol("ended"),Mr=Symbol("lastPromise"),_r=Symbol("handlePromise"),Sr=Symbol("stream");function Er(t,e){return{value:t,done:e}}function kr(t){var e=t[yr];if(null!==e){var r=t[Sr].read();null!==r&&(t[Mr]=null,t[yr]=null,t[vr]=null,e(Er(r,!1)))}}function Ar(t){ie(kr,t)}var Ir=Object.getPrototypeOf((function(){})),Tr=Object.setPrototypeOf((mr(dr={get stream(){return this[Sr]},next:function(){var t=this,e=this[br];if(null!==e)return Promise.reject(e);if(this[wr])return Promise.resolve(Er(void 0,!0));if(this[Sr].destroyed)return new Promise((function(e,r){ie((function(){t[br]?r(t[br]):e(Er(void 0,!0))}))}));var r,i=this[Mr];if(i)r=new Promise(function(t,e){return function(r,i){t.then((function(){e[wr]?r(Er(void 0,!0)):e[_r](r,i)}),i)}}(i,this));else{var n=this[Sr].read();if(null!==n)return Promise.resolve(Er(n,!1));r=new Promise(this[_r])}return this[Mr]=r,r}},Symbol.asyncIterator,(function(){return this})),mr(dr,"return",(function(){var t=this;return new Promise((function(e,r){t[Sr].destroy(null,(function(t){t?r(t):e(Er(void 0,!0))}))}))})),dr),Ir),Or=function(t){var e,r=Object.create(Tr,(mr(e={},Sr,{value:t,writable:!0}),mr(e,yr,{value:null,writable:!0}),mr(e,vr,{value:null,writable:!0}),mr(e,br,{value:null,writable:!0}),mr(e,wr,{value:t._readableState.endEmitted,writable:!0}),mr(e,_r,{value:function(t,e){var i=r[Sr].read();i?(r[Mr]=null,r[yr]=null,r[vr]=null,t(Er(i,!1))):(r[yr]=t,r[vr]=e)},writable:!0}),e));return r[Mr]=null,gr(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[vr];return null!==e&&(r[Mr]=null,r[yr]=null,r[vr]=null,e(t)),void(r[br]=t)}var i=r[yr];null!==i&&(r[Mr]=null,r[yr]=null,r[vr]=null,i(Er(void 0,!0))),r[wr]=!0})),t.on("readable",Ar.bind(null,r)),r},Pr=function(){throw new Error("Readable.from is not available in the browser")};const xr=Wt;xr.Readable=Jr,Jr.ReadableState=Yr,ve.exports.EventEmitter;var Br=function(t,e){return t.listeners(e).length},Rr=Re,Nr=Rt.Buffer,Ur=I.Uint8Array||function(){};var Cr,Lr=Ne;Cr=Lr&&Lr.debuglog?Lr.debuglog("stream"):function(){};var Dr,jr,Hr,qr=Ke,Kr=Ve,Fr=Je.getHighWaterMark,zr=Ze.codes,Wr=zr.ERR_INVALID_ARG_TYPE,Vr=zr.ERR_STREAM_PUSH_AFTER_EOF,Zr=zr.ERR_METHOD_NOT_IMPLEMENTED,Gr=zr.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;xt.exports(Jr,Rr);var $r=Kr.errorOrDestroy,Xr=["error","close","destroy","pause","resume"];function Yr(t,e,r){t=t||{},"boolean"!=typeof r&&(r=e instanceof xr.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Fr(this,t,"readableHighWaterMark",r),this.buffer=new qr,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Dr||(Dr=Qe.StringDecoder),this.decoder=new Dr(t.encoding),this.encoding=t.encoding)}function Jr(t){if(!(this instanceof Jr))return new Jr(t);var e=this instanceof xr.Duplex;this._readableState=new Yr(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),Rr.call(this)}function Qr(t,e,r,i,n){Cr("readableAddChunk",e);var o,s=t._readableState;if(null===e)s.reading=!1,function(t,e){if(Cr("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?ri(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,ii(t)))}(t,s);else if(n||(o=function(t,e){var r;i=e,Nr.isBuffer(i)||i instanceof Ur||"string"==typeof e||void 0===e||t.objectMode||(r=new Wr("chunk",["string","Buffer","Uint8Array"],e));var i;return r}(s,e)),o)$r(t,o);else if(s.objectMode||e&&e.length>0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===Nr.prototype||(e=function(t){return Nr.from(t)}(e)),i)s.endEmitted?$r(t,new Gr):ti(t,s,e,!0);else if(s.ended)$r(t,new Vr);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?ti(t,s,e,!1):ni(t,s)):ti(t,s,e,!1)}else i||(s.reading=!1,ni(t,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function ti(t,e,r,i){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&ri(t)),ni(t,e)}Object.defineProperty(Jr.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),Jr.prototype.destroy=Kr.destroy,Jr.prototype._undestroy=Kr.undestroy,Jr.prototype._destroy=function(t,e){e(t)},Jr.prototype.push=function(t,e){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof t&&((e=e||i.defaultEncoding)!==i.encoding&&(t=Nr.from(t,e),e=""),r=!0),Qr(this,t,e,!1,r)},Jr.prototype.unshift=function(t){return Qr(this,t,null,!0,!1)},Jr.prototype.isPaused=function(){return!1===this._readableState.flowing},Jr.prototype.setEncoding=function(t){Dr||(Dr=Qe.StringDecoder);var e=new Dr(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,i="";null!==r;)i+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function ei(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function ri(t){var e=t._readableState;Cr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Cr("emitReadable",e.flowing),e.emittedReadable=!0,ie(ii,t))}function ii(t){var e=t._readableState;Cr("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,ui(t)}function ni(t,e){e.readingMore||(e.readingMore=!0,ie(oi,t,e))}function oi(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(Cr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function si(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function hi(t){Cr("readable nexttick read 0"),t.read(0)}function ai(t,e){Cr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),ui(t),e.flowing&&!e.reading&&t.read(0)}function ui(t){var e=t._readableState;for(Cr("flow",e.flowing);e.flowing&&null!==t.read(););}function fi(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function li(t){var e=t._readableState;Cr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,ie(ci,e,t))}function ci(t,e){if(Cr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function di(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1}Jr.prototype.read=function(t){Cr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return Cr("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?li(this):ri(this),null;if(0===(t=ei(t,e))&&e.ended)return 0===e.length&&li(this),null;var i,n=e.needReadable;return Cr("need readable",n),(0===e.length||e.length-t<e.highWaterMark)&&Cr("length less than watermark",n=!0),e.ended||e.reading?Cr("reading or ended",n=!1):n&&(Cr("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=ei(r,e))),null===(i=t>0?fi(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&li(this)),null!==i&&this.emit("data",i),i},Jr.prototype._read=function(t){$r(this,new Zr("_read()"))},Jr.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,Cr("pipe count=%d opts=%j",i.pipesCount,e);var n=(!e||!1!==e.end)&&t!==ye.stdout&&t!==ye.stderr?s:d;function o(e,n){Cr("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,Cr("cleanup"),t.removeListener("close",l),t.removeListener("finish",c),t.removeListener("drain",h),t.removeListener("error",f),t.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",d),r.removeListener("data",u),a=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function s(){Cr("onend"),t.end()}i.endEmitted?ie(n):r.once("end",n),t.on("unpipe",o);var h=function(t){return function(){var e=t._readableState;Cr("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&Br(t,"data")&&(e.flowing=!0,ui(t))}}(r);t.on("drain",h);var a=!1;function u(e){Cr("ondata");var n=t.write(e);Cr("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==di(i.pipes,t))&&!a&&(Cr("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(e){Cr("onerror",e),d(),t.removeListener("error",f),0===Br(t,"error")&&$r(t,e)}function l(){t.removeListener("finish",c),d()}function c(){Cr("onfinish"),t.removeListener("close",l),d()}function d(){Cr("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",l),t.once("finish",c),t.emit("pipe",r),i.flowing||(Cr("pipe resume"),r.resume()),t},Jr.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<n;o++)i[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=di(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},Jr.prototype.on=function(t,e){var r=Rr.prototype.on.call(this,t,e),i=this._readableState;return"data"===t?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Cr("on readable",i.length,i.reading),i.length?ri(this):i.reading||ie(hi,this))),r},Jr.prototype.addListener=Jr.prototype.on,Jr.prototype.removeListener=function(t,e){var r=Rr.prototype.removeListener.call(this,t,e);return"readable"===t&&ie(si,this),r},Jr.prototype.removeAllListeners=function(t){var e=Rr.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||ie(si,this),e},Jr.prototype.resume=function(){var t=this._readableState;return t.flowing||(Cr("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,ie(ai,t,e))}(this,t)),t.paused=!1,this},Jr.prototype.pause=function(){return Cr("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(Cr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Jr.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(Cr("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(Cr("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o<Xr.length;o++)t.on(Xr[o],this.emit.bind(this,Xr[o]));return this._read=function(e){Cr("wrapped _read",e),i&&(i=!1,t.resume())},this},"function"==typeof Symbol&&(Jr.prototype[Symbol.asyncIterator]=function(){return void 0===jr&&(jr=Or),jr(this)}),Object.defineProperty(Jr.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Jr.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Jr.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),Jr._fromList=fi,Object.defineProperty(Jr.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Jr.from=function(t,e){return void 0===Hr&&(Hr=Pr),Hr(Jr,t,e)});var pi=function(t,e){if(mi("noDeprecation"))return t;var r=!1;return function(){if(!r){if(mi("throwDeprecation"))throw new Error(e);mi("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}};function mi(t){try{if(!I.localStorage)return!1}catch(t){return!1}var e=I.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}const gi=Wt;function yi(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}gi.Writable=Li,Li.WritableState=Ci;var vi={deprecate:pi},bi=Re,wi=Rt.Buffer,Mi=I.Uint8Array||function(){};var _i,Si=Ve,Ei=Je.getHighWaterMark,ki=Ze.codes,Ai=ki.ERR_INVALID_ARG_TYPE,Ii=ki.ERR_METHOD_NOT_IMPLEMENTED,Ti=ki.ERR_MULTIPLE_CALLBACK,Oi=ki.ERR_STREAM_CANNOT_PIPE,Pi=ki.ERR_STREAM_DESTROYED,xi=ki.ERR_STREAM_NULL_VALUES,Bi=ki.ERR_STREAM_WRITE_AFTER_END,Ri=ki.ERR_UNKNOWN_ENCODING,Ni=Si.errorOrDestroy;function Ui(){}function Ci(t,e,r){t=t||{},"boolean"!=typeof r&&(r=e instanceof gi.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Ei(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===t.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new Ti;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,n){--e.pendingcb,r?(ie(n,i),ie(Fi,t,e),t._writableState.errorEmitted=!0,Ni(t,i)):(n(i),t._writableState.errorEmitted=!0,Ni(t,i),Fi(t,e))}(t,r,i,e,n);else{var o=qi(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||Hi(t,r),i?ie(ji,t,r,o,n):ji(t,r,o,n)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new yi(this)}function Li(t){var e=this instanceof gi.Duplex;if(!e&&!_i.call(Li,this))return new Li(t);this._writableState=new Ci(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),bi.call(this)}function Di(t,e,r,i,n,o,s){e.writelen=i,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new Pi("write")):r?t._writev(n,e.onwrite):t._write(n,o,e.onwrite),e.sync=!1}function ji(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),Fi(t,e)}function Hi(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var s=0,h=!0;r;)n[s]=r,r.isBuf||(h=!1),r=r.next,s+=1;n.allBuffers=h,Di(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new yi(e),e.bufferedRequestCount=0}else{for(;r;){var a=r.chunk,u=r.encoding,f=r.callback;if(Di(t,e,!1,e.objectMode?1:a.length,a,u,f),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function qi(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function Ki(t,e){t._final((function(r){e.pendingcb--,r&&Ni(t,r),e.prefinished=!0,t.emit("prefinish"),Fi(t,e)}))}function Fi(t,e){var r=qi(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,ie(Ki,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return r}xt.exports(Li,bi),Ci.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(Ci.prototype,"buffer",{get:vi.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(_i=Function.prototype[Symbol.hasInstance],Object.defineProperty(Li,Symbol.hasInstance,{value:function(t){return!!_i.call(this,t)||this===Li&&(t&&t._writableState instanceof Ci)}})):_i=function(t){return t instanceof this},Li.prototype.pipe=function(){Ni(this,new Oi)},Li.prototype.write=function(t,e,r){var i,n=this._writableState,o=!1,s=!n.objectMode&&(i=t,wi.isBuffer(i)||i instanceof Mi);return s&&!wi.isBuffer(t)&&(t=function(t){return wi.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=n.defaultEncoding),"function"!=typeof r&&(r=Ui),n.ending?function(t,e){var r=new Bi;Ni(t,r),ie(e,r)}(this,r):(s||function(t,e,r,i){var n;return null===r?n=new xi:"string"==typeof r||e.objectMode||(n=new Ai("chunk",["string","Buffer"],r)),!n||(Ni(t,n),ie(i,n),!1)}(this,n,t,r))&&(n.pendingcb++,o=function(t,e,r,i,n,o){if(!r){var s=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=wi.from(e,r));return e}(e,i,n);i!==s&&(r=!0,n="buffer",i=s)}var h=e.objectMode?1:i.length;e.length+=h;var a=e.length<e.highWaterMark;a||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else Di(t,e,!1,h,i,n,o);return a}(this,n,s,t,e,r)),o},Li.prototype.cork=function(){this._writableState.corked++},Li.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||Hi(this,t))},Li.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new Ri(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(Li.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Li.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Li.prototype._write=function(t,e,r){r(new Ii("_write()"))},Li.prototype._writev=null,Li.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,Fi(t,e),r&&(e.finished?ie(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(Li.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Li.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),Li.prototype.destroy=Si.destroy,Li.prototype._undestroy=Si.undestroy,Li.prototype._destroy=function(t,e){e(t)};var zi=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};const Wi=Wt;Wi.Duplex=$i,xt.exports($i,Wi.Readable);for(var Vi=zi(Wi.Writable.prototype),Zi=0;Zi<Vi.length;Zi++){var Gi=Vi[Zi];$i.prototype[Gi]||($i.prototype[Gi]=Wi.Writable.prototype[Gi])}function $i(t){if(!(this instanceof $i))return new $i(t);Wi.Readable.call(this,t),Wi.Writable.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",Xi)))}function Xi(){this._writableState.ended||ie(Yi,this)}function Yi(t){t.end()}Object.defineProperty($i.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty($i.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty($i.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty($i.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}});const Ji=Wt;Ji.Transform=sn;var Qi=Ze.codes,tn=Qi.ERR_METHOD_NOT_IMPLEMENTED,en=Qi.ERR_MULTIPLE_CALLBACK,rn=Qi.ERR_TRANSFORM_ALREADY_TRANSFORMING,nn=Qi.ERR_TRANSFORM_WITH_LENGTH_0;function on(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new en);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function sn(t){if(!(this instanceof sn))return new sn(t);Ji.Duplex.call(this,t),this._transformState={afterTransform:on.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",hn)}function hn(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?an(this,null,null):this._flush((function(e,r){an(t,e,r)}))}function an(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new nn;if(t._transformState.transforming)throw new rn;return t.push(null)}xt.exports(sn,Ji.Duplex),sn.prototype.push=function(t,e){return this._transformState.needTransform=!1,Ji.Duplex.prototype.push.call(this,t,e)},sn.prototype._transform=function(t,e,r){r(new tn("_transform()"))},sn.prototype._write=function(t,e,r){var i=this._transformState;if(i.writecb=r,i.writechunk=t,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},sn.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},sn.prototype._destroy=function(t,e){Ji.Duplex.prototype._destroy.call(this,t,(function(t){e(t)}))};const un=Wt;function fn(t){if(!(this instanceof fn))return new fn(t);Transform.call(this,t)}var ln;un.PassThrough=fn,xt.exports(fn,un.Transform),fn.prototype._transform=function(t,e,r){r(null,t)};var cn=Ze.codes,dn=cn.ERR_MISSING_ARGS,pn=cn.ERR_STREAM_DESTROYED;function mn(t){if(t)throw t}function gn(t,e,r,i){i=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(i);var n=!1;t.on("close",(function(){n=!0})),void 0===ln&&(ln=pr),ln(t,{readable:e,writable:r},(function(t){if(t)return i(t);n=!0,i()}));var o=!1;return function(e){if(!n&&!o)return o=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void i(e||new pn("pipe"))}}function yn(t){t()}function vn(t,e){return t.pipe(e)}function bn(t){return t.length?"function"!=typeof t[t.length-1]?mn:t.pop():mn}var wn=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var i,n=bn(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new dn("streams");var o=e.map((function(t,r){var s=r<e.length-1;return gn(t,s,r>0,(function(t){i||(i=t),t&&o.forEach(yn),s||(o.forEach(yn),n(i))}))}));return e.reduce(vn)};!function(t,e){const r=Wt;(e=zt.exports=r.Readable).Stream=r.Readable,e.Readable=r.Readable,e.Writable=r.Writable,e.Duplex=r.Duplex,e.Transform=r.Transform,e.PassThrough=r.PassThrough,e.finished=pr,e.pipeline=wn}(0,zt.exports);var Mn=Bt.exports.Buffer,_n=zt.exports.Transform;function Sn(t){_n.call(this),this._block=Mn.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}(0,xt.exports)(Sn,_n),Sn.prototype._transform=function(t,e,r){var i=null;try{this.update(t,e)}catch(t){i=t}r(i)},Sn.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},Sn.prototype.update=function(t,e){if(function(t,e){if(!Mn.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");Mn.isBuffer(t)||(t=Mn.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var n=this._blockOffset;n<this._blockSize;)r[n++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)r[this._blockOffset++]=t[i++];for(var o=0,s=8*t.length;s>0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},Sn.prototype._update=function(){throw new Error("_update is not implemented")},Sn.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},Sn.prototype._digest=function(){throw new Error("_digest is not implemented")};var En=Sn,kn=xt.exports,An=En,In=Bt.exports.Buffer,Tn=new Array(16);function On(){An.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function Pn(t,e){return t<<e|t>>>32-e}function xn(t,e,r,i,n,o,s){return Pn(t+(e&r|~e&i)+n+o|0,s)+e|0}function Bn(t,e,r,i,n,o,s){return Pn(t+(e&i|r&~i)+n+o|0,s)+e|0}function Rn(t,e,r,i,n,o,s){return Pn(t+(e^r^i)+n+o|0,s)+e|0}function Nn(t,e,r,i,n,o,s){return Pn(t+(r^(e|~i))+n+o|0,s)+e|0}kn(On,An),On.prototype._update=function(){for(var t=Tn,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,o=this._d;r=xn(r,i,n,o,t[0],3614090360,7),o=xn(o,r,i,n,t[1],3905402710,12),n=xn(n,o,r,i,t[2],606105819,17),i=xn(i,n,o,r,t[3],3250441966,22),r=xn(r,i,n,o,t[4],4118548399,7),o=xn(o,r,i,n,t[5],1200080426,12),n=xn(n,o,r,i,t[6],2821735955,17),i=xn(i,n,o,r,t[7],4249261313,22),r=xn(r,i,n,o,t[8],1770035416,7),o=xn(o,r,i,n,t[9],2336552879,12),n=xn(n,o,r,i,t[10],4294925233,17),i=xn(i,n,o,r,t[11],2304563134,22),r=xn(r,i,n,o,t[12],1804603682,7),o=xn(o,r,i,n,t[13],4254626195,12),n=xn(n,o,r,i,t[14],2792965006,17),r=Bn(r,i=xn(i,n,o,r,t[15],1236535329,22),n,o,t[1],4129170786,5),o=Bn(o,r,i,n,t[6],3225465664,9),n=Bn(n,o,r,i,t[11],643717713,14),i=Bn(i,n,o,r,t[0],3921069994,20),r=Bn(r,i,n,o,t[5],3593408605,5),o=Bn(o,r,i,n,t[10],38016083,9),n=Bn(n,o,r,i,t[15],3634488961,14),i=Bn(i,n,o,r,t[4],3889429448,20),r=Bn(r,i,n,o,t[9],568446438,5),o=Bn(o,r,i,n,t[14],3275163606,9),n=Bn(n,o,r,i,t[3],4107603335,14),i=Bn(i,n,o,r,t[8],1163531501,20),r=Bn(r,i,n,o,t[13],2850285829,5),o=Bn(o,r,i,n,t[2],4243563512,9),n=Bn(n,o,r,i,t[7],1735328473,14),r=Rn(r,i=Bn(i,n,o,r,t[12],2368359562,20),n,o,t[5],4294588738,4),o=Rn(o,r,i,n,t[8],2272392833,11),n=Rn(n,o,r,i,t[11],1839030562,16),i=Rn(i,n,o,r,t[14],4259657740,23),r=Rn(r,i,n,o,t[1],2763975236,4),o=Rn(o,r,i,n,t[4],1272893353,11),n=Rn(n,o,r,i,t[7],4139469664,16),i=Rn(i,n,o,r,t[10],3200236656,23),r=Rn(r,i,n,o,t[13],681279174,4),o=Rn(o,r,i,n,t[0],3936430074,11),n=Rn(n,o,r,i,t[3],3572445317,16),i=Rn(i,n,o,r,t[6],76029189,23),r=Rn(r,i,n,o,t[9],3654602809,4),o=Rn(o,r,i,n,t[12],3873151461,11),n=Rn(n,o,r,i,t[15],530742520,16),r=Nn(r,i=Rn(i,n,o,r,t[2],3299628645,23),n,o,t[0],4096336452,6),o=Nn(o,r,i,n,t[7],1126891415,10),n=Nn(n,o,r,i,t[14],2878612391,15),i=Nn(i,n,o,r,t[5],4237533241,21),r=Nn(r,i,n,o,t[12],1700485571,6),o=Nn(o,r,i,n,t[3],2399980690,10),n=Nn(n,o,r,i,t[10],4293915773,15),i=Nn(i,n,o,r,t[1],2240044497,21),r=Nn(r,i,n,o,t[8],1873313359,6),o=Nn(o,r,i,n,t[15],4264355552,10),n=Nn(n,o,r,i,t[6],2734768916,15),i=Nn(i,n,o,r,t[13],1309151649,21),r=Nn(r,i,n,o,t[4],4149444226,6),o=Nn(o,r,i,n,t[11],3174756917,10),n=Nn(n,o,r,i,t[2],718787259,15),i=Nn(i,n,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},On.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=In.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t};var Un=On,Cn=Rt.Buffer,Ln=xt.exports,Dn=En,jn=new Array(16),Hn=[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],qn=[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],Kn=[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],Fn=[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],zn=[0,1518500249,1859775393,2400959708,2840853838],Wn=[1352829926,1548603684,1836072691,2053994217,0];function Vn(){Dn.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function Zn(t,e){return t<<e|t>>>32-e}function Gn(t,e,r,i,n,o,s,h){return Zn(t+(e^r^i)+o+s|0,h)+n|0}function $n(t,e,r,i,n,o,s,h){return Zn(t+(e&r|~e&i)+o+s|0,h)+n|0}function Xn(t,e,r,i,n,o,s,h){return Zn(t+((e|~r)^i)+o+s|0,h)+n|0}function Yn(t,e,r,i,n,o,s,h){return Zn(t+(e&i|r&~i)+o+s|0,h)+n|0}function Jn(t,e,r,i,n,o,s,h){return Zn(t+(e^(r|~i))+o+s|0,h)+n|0}Ln(Vn,Dn),Vn.prototype._update=function(){for(var t=jn,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,h=0|this._a,a=0|this._b,u=0|this._c,f=0|this._d,l=0|this._e,c=0;c<80;c+=1){var d,p;c<16?(d=Gn(r,i,n,o,s,t[Hn[c]],zn[0],Kn[c]),p=Jn(h,a,u,f,l,t[qn[c]],Wn[0],Fn[c])):c<32?(d=$n(r,i,n,o,s,t[Hn[c]],zn[1],Kn[c]),p=Yn(h,a,u,f,l,t[qn[c]],Wn[1],Fn[c])):c<48?(d=Xn(r,i,n,o,s,t[Hn[c]],zn[2],Kn[c]),p=Xn(h,a,u,f,l,t[qn[c]],Wn[2],Fn[c])):c<64?(d=Yn(r,i,n,o,s,t[Hn[c]],zn[3],Kn[c]),p=$n(h,a,u,f,l,t[qn[c]],Wn[3],Fn[c])):(d=Jn(r,i,n,o,s,t[Hn[c]],zn[4],Kn[c]),p=Gn(h,a,u,f,l,t[qn[c]],Wn[4],Fn[c])),r=s,s=o,o=Zn(n,10),n=i,i=d,h=l,l=f,f=Zn(u,10),u=a,a=p}var m=this._b+n+f|0;this._b=this._c+o+l|0,this._c=this._d+s+h|0,this._d=this._e+r+a|0,this._e=this._a+i+u|0,this._a=m},Vn.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Cn.alloc?Cn.alloc(20):new Cn(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t};var Qn=Vn,to={exports:{}},eo=Bt.exports.Buffer;function ro(t,e){this._block=eo.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}ro.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=eo.from(t,e));for(var r=this._block,i=this._blockSize,n=t.length,o=this._len,s=0;s<n;){for(var h=o%i,a=Math.min(n-s,i-h),u=0;u<a;u++)r[h+u]=t[s+u];s+=a,(o+=a)%i==0&&this._update(r)}return this._len+=n,this},ro.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},ro.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var io=ro,no=xt.exports,oo=io,so=Bt.exports.Buffer,ho=[1518500249,1859775393,-1894007588,-899497514],ao=new Array(80);function uo(){this.init(),this._w=ao,oo.call(this,64,56)}function fo(t){return t<<30|t>>>2}function lo(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}no(uo,oo),uo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},uo.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,h=0|this._e,a=0;a<16;++a)r[a]=t.readInt32BE(4*a);for(;a<80;++a)r[a]=r[a-3]^r[a-8]^r[a-14]^r[a-16];for(var u=0;u<80;++u){var f=~~(u/20),l=0|((e=i)<<5|e>>>27)+lo(f,n,o,s)+h+r[u]+ho[f];h=s,s=o,o=fo(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=h+this._e|0},uo.prototype._hash=function(){var t=so.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var co=uo,po=xt.exports,mo=io,go=Bt.exports.Buffer,yo=[1518500249,1859775393,-1894007588,-899497514],vo=new Array(80);function bo(){this.init(),this._w=vo,mo.call(this,64,56)}function wo(t){return t<<5|t>>>27}function Mo(t){return t<<30|t>>>2}function _o(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}po(bo,mo),bo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},bo.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,h=0|this._e,a=0;a<16;++a)r[a]=t.readInt32BE(4*a);for(;a<80;++a)r[a]=(e=r[a-3]^r[a-8]^r[a-14]^r[a-16])<<1|e>>>31;for(var u=0;u<80;++u){var f=~~(u/20),l=wo(i)+_o(f,n,o,s)+h+r[u]+yo[f]|0;h=s,s=o,o=Mo(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=h+this._e|0},bo.prototype._hash=function(){var t=go.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var So=bo,Eo=xt.exports,ko=io,Ao=Bt.exports.Buffer,Io=[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],To=new Array(64);function Oo(){this.init(),this._w=To,ko.call(this,64,56)}function Po(t,e,r){return r^t&(e^r)}function xo(t,e,r){return t&e|r&(t|e)}function Bo(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function Ro(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function No(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function Uo(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}Eo(Oo,ko),Oo.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Oo.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,h=0|this._f,a=0|this._g,u=0|this._h,f=0;f<16;++f)e[f]=t.readInt32BE(4*f);for(;f<64;++f)e[f]=Uo(e[f-2])+e[f-7]+No(e[f-15])+e[f-16]|0;for(var l=0;l<64;++l){var c=u+Ro(s)+Po(s,h,a)+Io[l]+e[l]|0,d=Bo(r)+xo(r,i,n)|0;u=a,a=h,h=s,s=o+c|0,o=n,n=i,i=r,r=c+d|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0,this._f=h+this._f|0,this._g=a+this._g|0,this._h=u+this._h|0},Oo.prototype._hash=function(){var t=Ao.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t};var Co=Oo,Lo=xt.exports,Do=Co,jo=io,Ho=Bt.exports.Buffer,qo=new Array(64);function Ko(){this.init(),this._w=qo,jo.call(this,64,56)}Lo(Ko,Do),Ko.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Ko.prototype._hash=function(){var t=Ho.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t};var Fo=Ko,zo=xt.exports,Wo=io,Vo=Bt.exports.Buffer,Zo=[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],Go=new Array(160);function $o(){this.init(),this._w=Go,Wo.call(this,128,112)}function Xo(t,e,r){return r^t&(e^r)}function Yo(t,e,r){return t&e|r&(t|e)}function Jo(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function Qo(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function ts(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function es(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function rs(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function is(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function ns(t,e){return t>>>0<e>>>0?1:0}zo($o,Wo),$o.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},$o.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,h=0|this._fh,a=0|this._gh,u=0|this._hh,f=0|this._al,l=0|this._bl,c=0|this._cl,d=0|this._dl,p=0|this._el,m=0|this._fl,g=0|this._gl,y=0|this._hl,v=0;v<32;v+=2)e[v]=t.readInt32BE(4*v),e[v+1]=t.readInt32BE(4*v+4);for(;v<160;v+=2){var b=e[v-30],w=e[v-30+1],M=ts(b,w),_=es(w,b),S=rs(b=e[v-4],w=e[v-4+1]),E=is(w,b),k=e[v-14],A=e[v-14+1],I=e[v-32],T=e[v-32+1],O=_+A|0,P=M+k+ns(O,_)|0;P=(P=P+S+ns(O=O+E|0,E)|0)+I+ns(O=O+T|0,T)|0,e[v]=P,e[v+1]=O}for(var x=0;x<160;x+=2){P=e[x],O=e[x+1];var B=Yo(r,i,n),R=Yo(f,l,c),N=Jo(r,f),U=Jo(f,r),C=Qo(s,p),L=Qo(p,s),D=Zo[x],j=Zo[x+1],H=Xo(s,h,a),q=Xo(p,m,g),K=y+L|0,F=u+C+ns(K,y)|0;F=(F=(F=F+H+ns(K=K+q|0,q)|0)+D+ns(K=K+j|0,j)|0)+P+ns(K=K+O|0,O)|0;var z=U+R|0,W=N+B+ns(z,U)|0;u=a,y=g,a=h,g=m,h=s,m=p,s=o+F+ns(p=d+K|0,d)|0,o=n,d=c,n=i,c=l,i=r,l=f,r=F+W+ns(f=K+z|0,K)|0}this._al=this._al+f|0,this._bl=this._bl+l|0,this._cl=this._cl+c|0,this._dl=this._dl+d|0,this._el=this._el+p|0,this._fl=this._fl+m|0,this._gl=this._gl+g|0,this._hl=this._hl+y|0,this._ah=this._ah+r+ns(this._al,f)|0,this._bh=this._bh+i+ns(this._bl,l)|0,this._ch=this._ch+n+ns(this._cl,c)|0,this._dh=this._dh+o+ns(this._dl,d)|0,this._eh=this._eh+s+ns(this._el,p)|0,this._fh=this._fh+h+ns(this._fl,m)|0,this._gh=this._gh+a+ns(this._gl,g)|0,this._hh=this._hh+u+ns(this._hl,y)|0},$o.prototype._hash=function(){var t=Vo.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t};var os=$o,ss=xt.exports,hs=os,as=io,us=Bt.exports.Buffer,fs=new Array(160);function ls(){this.init(),this._w=fs,as.call(this,128,112)}ss(ls,hs),ls.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},ls.prototype._hash=function(){var t=us.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t};var cs=ls,ds=to.exports=function(t){t=t.toLowerCase();var e=ds[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};ds.sha=co,ds.sha1=So,ds.sha224=Fo,ds.sha256=Co,ds.sha384=cs,ds.sha512=os;var ps=Bt.exports.Buffer,ms=zt.exports.Transform,gs=Qe.StringDecoder;function ys(t){ms.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}(0,xt.exports)(ys,ms),ys.prototype.update=function(t,e,r){"string"==typeof t&&(t=ps.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},ys.prototype.setAutoPadding=function(){},ys.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},ys.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},ys.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},ys.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},ys.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},ys.prototype._finalOrDigest=function(t){var e=this.__final()||ps.alloc(0);return t&&(e=this._toString(e,t,!0)),e},ys.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new gs(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i};var vs=ys,bs=xt.exports,ws=Un,Ms=Qn,_s=to.exports,Ss=vs;function Es(t){Ss.call(this,"digest"),this._hash=t}bs(Es,Ss),Es.prototype._update=function(t){this._hash.update(t)},Es.prototype._final=function(){return this._hash.digest()};var ks=function(t){return"md5"===(t=t.toLowerCase())?new ws:"rmd160"===t||"ripemd160"===t?new Ms:new Es(_s(t))},As=xt.exports,Is=Bt.exports.Buffer,Ts=vs,Os=Is.alloc(128);function Ps(t,e){Ts.call(this,"digest"),"string"==typeof e&&(e=Is.from(e)),this._alg=t,this._key=e,e.length>64?e=t(e):e.length<64&&(e=Is.concat([e,Os],64));for(var r=this._ipad=Is.allocUnsafe(64),i=this._opad=Is.allocUnsafe(64),n=0;n<64;n++)r[n]=54^e[n],i[n]=92^e[n];this._hash=[r]}As(Ps,Ts),Ps.prototype._update=function(t){this._hash.push(t)},Ps.prototype._final=function(){var t=this._alg(Is.concat(this._hash));return this._alg(Is.concat([this._opad,t]))};var xs=Ps,Bs=Un,Rs=function(t){return(new Bs).update(t).digest()},Ns=xt.exports,Us=xs,Cs=vs,Ls=Bt.exports.Buffer,Ds=Rs,js=Qn,Hs=to.exports,qs=Ls.alloc(128);function Ks(t,e){Cs.call(this,"digest"),"string"==typeof e&&(e=Ls.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new js:Hs(t)).update(e).digest():e.length<r&&(e=Ls.concat([e,qs],r));for(var i=this._ipad=Ls.allocUnsafe(r),n=this._opad=Ls.allocUnsafe(r),o=0;o<r;o++)i[o]=54^e[o],n[o]=92^e[o];this._hash="rmd160"===t?new js:Hs(t),this._hash.update(i)}Ns(Ks,Cs),Ks.prototype._update=function(t){this._hash.update(t)},Ks.prototype._final=function(){var t=this._hash.digest();return("rmd160"===this._alg?new js:Hs(this._alg)).update(this._opad).update(t).digest()};var Fs=function(t,e){return"rmd160"===(t=t.toLowerCase())||"ripemd160"===t?new Ks("rmd160",e):"md5"===t?new Us(Ds,e):new Ks(t,e)};Object.defineProperty(Pt,"__esModule",{value:!0});const zs=ks,Ws=Fs;Pt.hash160=function(t){const e=zs("sha256").update(t).digest();try{return zs("rmd160").update(e).digest()}catch(t){return zs("ripemd160").update(e).digest()}},Pt.hmacSHA512=function(t,e){return Ws("sha512",t).update(e).digest()};var Vs=Bt.exports.Buffer;var Zs=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var i=0;i<t.length;i++){var n=t.charAt(i),o=n.charCodeAt(0);if(255!==e[o])throw new TypeError(n+" is ambiguous");e[o]=i}var s=t.length,h=t.charAt(0),a=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return Vs.alloc(0);for(var r=0,i=0,n=0;t[r]===h;)i++,r++;for(var o=(t.length-r)*a+1>>>0,u=new Uint8Array(o);t[r];){var f=e[t.charCodeAt(r)];if(255===f)return;for(var l=0,c=o-1;(0!==f||l<n)&&-1!==c;c--,l++)f+=s*u[c]>>>0,u[c]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");n=l,r++}for(var d=o-n;d!==o&&0===u[d];)d++;var p=Vs.allocUnsafe(i+(o-d));p.fill(0,0,i);for(var m=i;d!==o;)p[m++]=u[d++];return p}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=Vs.from(e)),!Vs.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,i=0,n=0,o=e.length;n!==o&&0===e[n];)n++,r++;for(var a=(o-n)*u+1>>>0,f=new Uint8Array(a);n!==o;){for(var l=e[n],c=0,d=a-1;(0!==l||c<i)&&-1!==d;d--,c++)l+=256*f[d]>>>0,f[d]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");i=c,n++}for(var p=a-i;p!==a&&0===f[p];)p++;for(var m=h.repeat(r);p<a;++p)m+=t.charAt(f[p]);return m},decodeUnsafe:f,decode:function(t){var e=f(t);if(e)return e;throw new Error("Non-base"+s+" character")}}},Gs=Zs("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),$s=Bt.exports.Buffer,Xs=ks,Ys=function(t){function e(e){var r=e.slice(0,-4),i=e.slice(-4),n=t(r);if(!(i[0]^n[0]|i[1]^n[1]|i[2]^n[2]|i[3]^n[3]))return r}return{encode:function(e){var r=t(e);return Gs.encode($s.concat([e,r],e.length+4))},decode:function(t){var r=e(Gs.decode(t));if(!r)throw new Error("Invalid checksum");return r},decodeUnsafe:function(t){var r=Gs.decodeUnsafe(t);if(r)return e(r)}}};var Js=Ys((function(t){var e=Xs("sha256").update(t).digest();return Xs("sha256").update(e).digest()})),Qs={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(Qs,I);var th={},eh="6.5.4",rh={},ih={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(ih,I);var nh=oh;function oh(t,e){if(!t)throw new Error(e||"Assertion failed")}oh.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)};var sh={};let hh;!function(t){var e=sh;function r(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",i=0;i<t.length;i++)e+=r(t[i].toString(16));return e}e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var i=0;i<t.length;i++)r[i]=0|t[i];return r}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(i=0;i<t.length;i+=2)r.push(parseInt(t[i]+t[i+1],16))}else for(i=0;i<t.length;i++){var n=t.charCodeAt(i),o=n>>8,s=255&n;o?r.push(o,s):r.push(s)}return r},e.zero2=r,e.toHex=i,e.encode=function(t,e){return"hex"===e?i(t):t}}(),function(t){var e=rh,r=ih.exports,i=nh,n=sh;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode,e.getNAF=function(t,e,r){var i=new Array(Math.max(t.bitLength(),r)+1);i.fill(0);for(var n=1<<e+1,o=t.clone(),s=0;s<i.length;s++){var h,a=o.andln(n-1);o.isOdd()?(h=a>(n>>1)-1?(n>>1)-a:a,o.isubn(h)):h=0,i[s]=h,o.iushrn(1)}return i},e.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var i,n=0,o=0;t.cmpn(-n)>0||e.cmpn(-o)>0;){var s,h,a=t.andln(3)+n&3,u=e.andln(3)+o&3;3===a&&(a=-1),3===u&&(u=-1),s=0==(1&a)?0:3!==(i=t.andln(7)+n&7)&&5!==i||2!==u?a:-a,r[0].push(s),h=0==(1&u)?0:3!==(i=e.andln(7)+o&7)&&5!==i||2!==a?u:-u,r[1].push(h),2*n===s+1&&(n=1-n),2*o===h+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},e.cachedProperty=function(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},e.parseBytes=function(t){return"string"==typeof t?e.toArray(t,"hex"):t},e.intFromLE=function(t){return new r(t,"hex","le")}}();class ah{constructor(t){this.rand=t}generate(t){return this._rand(t)}_rand(t){if(this.rand.getBytes)return this.rand.getBytes(t);const e=new Uint8Array(t);for(let t=0;t<e.length;t++)e[t]=this.rand.getByte();return e}}if("object"==typeof self)self.crypto&&self.crypto.getRandomValues?ah.prototype._rand=function(t){const e=new Uint8Array(t);return self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?ah.prototype._rand=function(t){const e=new Uint8Array(t);return self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(ah.prototype._rand=function(){throw new Error("Not implemented yet")});else try{const t=require("crypto");if("function"!=typeof t.randomBytes)throw new Error("Not supported");ah.prototype._rand=function(e){return t.randomBytes(e)}}catch(t){}var uh=Object.freeze({__proto__:null,rand:function(t){return hh||(hh=new ah(null)),hh.generate(t)},Rand:ah}),fh=T(uh),lh={},ch=ih.exports,dh=rh,ph=dh.getNAF,mh=dh.getJSF,gh=dh.assert;function yh(t,e){this.type=t,this.p=new ch(e.p,16),this.red=e.prime?ch.red(e.prime):ch.mont(this.p),this.zero=new ch(0).toRed(this.red),this.one=new ch(1).toRed(this.red),this.two=new ch(2).toRed(this.red),this.n=e.n&&new ch(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.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 r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var vh=yh;function bh(t,e){this.curve=t,this.type=e,this.precomputed=null}yh.prototype.point=function(){throw new Error("Not implemented")},yh.prototype.validate=function(){throw new Error("Not implemented")},yh.prototype._fixedNafMul=function(t,e){gh(t.precomputed);var r=t._getDoubles(),i=ph(e,1,this._bitLength),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;var o,s,h=[];for(o=0;o<i.length;o+=r.step){s=0;for(var a=o+r.step-1;a>=o;a--)s=(s<<1)+i[a];h.push(s)}for(var u=this.jpoint(null,null,null),f=this.jpoint(null,null,null),l=n;l>0;l--){for(o=0;o<h.length;o++)(s=h[o])===l?f=f.mixedAdd(r.points[o]):s===-l&&(f=f.mixedAdd(r.points[o].neg()));u=u.add(f)}return u.toP()},yh.prototype._wnafMul=function(t,e){var r=4,i=t._getNAFPoints(r);r=i.wnd;for(var n=i.points,o=ph(e,r,this._bitLength),s=this.jpoint(null,null,null),h=o.length-1;h>=0;h--){for(var a=0;h>=0&&0===o[h];h--)a++;if(h>=0&&a++,s=s.dblp(a),h<0)break;var u=o[h];gh(0!==u),s="affine"===t.type?u>0?s.mixedAdd(n[u-1>>1]):s.mixedAdd(n[-u-1>>1].neg()):u>0?s.add(n[u-1>>1]):s.add(n[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},yh.prototype._wnafMulAdd=function(t,e,r,i,n){var o,s,h,a=this._wnafT1,u=this._wnafT2,f=this._wnafT3,l=0;for(o=0;o<i;o++){var c=(h=e[o])._getNAFPoints(t);a[o]=c.wnd,u[o]=c.points}for(o=i-1;o>=1;o-=2){var d=o-1,p=o;if(1===a[d]&&1===a[p]){var m=[e[d],null,null,e[p]];0===e[d].y.cmp(e[p].y)?(m[1]=e[d].add(e[p]),m[2]=e[d].toJ().mixedAdd(e[p].neg())):0===e[d].y.cmp(e[p].y.redNeg())?(m[1]=e[d].toJ().mixedAdd(e[p]),m[2]=e[d].add(e[p].neg())):(m[1]=e[d].toJ().mixedAdd(e[p]),m[2]=e[d].toJ().mixedAdd(e[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=mh(r[d],r[p]);for(l=Math.max(y[0].length,l),f[d]=new Array(l),f[p]=new Array(l),s=0;s<l;s++){var v=0|y[0][s],b=0|y[1][s];f[d][s]=g[3*(v+1)+(b+1)],f[p][s]=0,u[d]=m}}else f[d]=ph(r[d],a[d],this._bitLength),f[p]=ph(r[p],a[p],this._bitLength),l=Math.max(f[d].length,l),l=Math.max(f[p].length,l)}var w=this.jpoint(null,null,null),M=this._wnafT4;for(o=l;o>=0;o--){for(var _=0;o>=0;){var S=!0;for(s=0;s<i;s++)M[s]=0|f[s][o],0!==M[s]&&(S=!1);if(!S)break;_++,o--}if(o>=0&&_++,w=w.dblp(_),o<0)break;for(s=0;s<i;s++){var E=M[s];0!==E&&(E>0?h=u[s][E-1>>1]:E<0&&(h=u[s][-E-1>>1].neg()),w="affine"===h.type?w.mixedAdd(h):w.add(h))}}for(o=0;o<i;o++)u[o]=null;return n?w:w.toP()},yh.BasePoint=bh,bh.prototype.eq=function(){throw new Error("Not implemented")},bh.prototype.validate=function(){return this.curve.validate(this)},yh.prototype.decodePoint=function(t,e){t=dh.toArray(t,e);var r=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*r)return 6===t[0]?gh(t[t.length-1]%2==0):7===t[0]&&gh(t[t.length-1]%2==1),this.point(t.slice(1,1+r),t.slice(1+r,1+2*r));if((2===t[0]||3===t[0])&&t.length-1===r)return this.pointFromX(t.slice(1,1+r),3===t[0]);throw new Error("Unknown point format")},bh.prototype.encodeCompressed=function(t){return this.encode(t,!0)},bh.prototype._encode=function(t){var e=this.curve.p.byteLength(),r=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",e))},bh.prototype.encode=function(t,e){return dh.encode(this._encode(e),t)},bh.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},bh.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},bh.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<e;n+=t){for(var o=0;o<t;o++)i=i.dbl();r.push(i)}return{step:t,points:r}},bh.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],r=(1<<t)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)e[n]=e[n-1].add(i);return{wnd:t,points:e}},bh.prototype._getBeta=function(){return null},bh.prototype.dblp=function(t){for(var e=this,r=0;r<t;r++)e=e.dbl();return e};var wh=rh,Mh=ih.exports,_h=xt.exports,Sh=vh,Eh=wh.assert;function kh(t){Sh.call(this,"short",t),this.a=new Mh(t.a,16).toRed(this.red),this.b=new Mh(t.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(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}_h(kh,Sh);var Ah=kh;function Ih(t,e,r,i){Sh.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new Mh(e,16),this.y=new Mh(r,16),i&&(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 Th(t,e,r,i){Sh.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Mh(0)):(this.x=new Mh(e,16),this.y=new Mh(r,16),this.z=new Mh(i,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}kh.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new Mh(t.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=(e=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(t.lambda)r=new Mh(t.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(e))?r=n[0]:(r=n[1],Eh(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new Mh(t.a,16),b:new Mh(t.b,16)}})):this._getEndoBasis(r)}}},kh.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:Mh.mont(t),r=new Mh(2).toRed(e).redInvm(),i=r.redNeg(),n=new Mh(3).toRed(e).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},kh.prototype._getEndoBasis=function(t){for(var e,r,i,n,o,s,h,a,u,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=t,c=this.n.clone(),d=new Mh(1),p=new Mh(0),m=new Mh(0),g=new Mh(1),y=0;0!==l.cmpn(0);){var v=c.div(l);a=c.sub(v.mul(l)),u=m.sub(v.mul(d));var b=g.sub(v.mul(p));if(!i&&a.cmp(f)<0)e=h.neg(),r=d,i=a.neg(),n=u;else if(i&&2==++y)break;h=a,c=l,l=a,m=d,d=u,g=p,p=b}o=a.neg(),s=u;var w=i.sqr().add(n.sqr());return o.sqr().add(s.sqr()).cmp(w)>=0&&(o=e,s=r),i.negative&&(i=i.neg(),n=n.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:i,b:n},{a:o,b:s}]},kh.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=n.mul(r.a),h=o.mul(i.a),a=n.mul(r.b),u=o.mul(i.b);return{k1:t.sub(s).sub(h),k2:a.add(u).neg()}},kh.prototype.pointFromX=function(t,e){(t=new Mh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var n=i.fromRed().isOdd();return(e&&!n||!e&&n)&&(i=i.redNeg()),this.point(t,i)},kh.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},kh.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o<t.length;o++){var s=this._endoSplit(e[o]),h=t[o],a=h._getBeta();s.k1.negative&&(s.k1.ineg(),h=h.neg(!0)),s.k2.negative&&(s.k2.ineg(),a=a.neg(!0)),i[2*o]=h,i[2*o+1]=a,n[2*o]=s.k1,n[2*o+1]=s.k2}for(var u=this._wnafMulAdd(1,i,n,2*o,r),f=0;f<2*o;f++)i[f]=null,n[f]=null;return u},_h(Ih,Sh.BasePoint),kh.prototype.point=function(t,e,r){return new Ih(this,t,e,r)},kh.prototype.pointFromJSON=function(t,e){return Ih.fromJSON(this,t,e)},Ih.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var r=this.curve,i=function(t){return r.point(t.x.redMul(r.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(i)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(i)}}}return e}},Ih.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]},Ih.fromJSON=function(t,e,r){"string"==typeof e&&(e=JSON.parse(e));var i=t.point(e[0],e[1],r);if(!e[2])return i;function n(e){return t.point(e[0],e[1],r)}var o=e[2];return i.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[i].concat(o.doubles.points.map(n))},naf:o.naf&&{wnd:o.naf.wnd,points:[i].concat(o.naf.points.map(n))}},i},Ih.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)+">"},Ih.prototype.isInfinity=function(){return this.inf},Ih.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},Ih.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),s=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},Ih.prototype.getX=function(){return this.x.fromRed()},Ih.prototype.getY=function(){return this.y.fromRed()},Ih.prototype.mul=function(t){return t=new Mh(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Ih.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},Ih.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},Ih.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},Ih.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},Ih.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},_h(Th,Sh.BasePoint),kh.prototype.jpoint=function(t,e,r){return new Th(this,t,e,r)},Th.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},Th.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Th.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),h=i.redSub(n),a=o.redSub(s);if(0===h.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=h.redSqr(),f=u.redMul(h),l=i.redMul(u),c=a.redSqr().redIAdd(f).redISub(l).redISub(l),d=a.redMul(l.redISub(c)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(h);return this.curve.jpoint(c,d,p)},Th.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(i),h=n.redSub(o);if(0===s.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var a=s.redSqr(),u=a.redMul(s),f=r.redMul(a),l=h.redSqr().redIAdd(u).redISub(f).redISub(f),c=h.redMul(f.redISub(l)).redISub(n.redMul(u)),d=this.z.redMul(s);return this.curve.jpoint(l,c,d)},Th.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e<t;e++)r=r.dbl();return r}var i=this.curve.a,n=this.curve.tinv,o=this.x,s=this.y,h=this.z,a=h.redSqr().redSqr(),u=s.redAdd(s);for(e=0;e<t;e++){var f=o.redSqr(),l=u.redSqr(),c=l.redSqr(),d=f.redAdd(f).redIAdd(f).redIAdd(i.redMul(a)),p=o.redMul(l),m=d.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=d.redMul(g);y=y.redIAdd(y).redISub(c);var v=u.redMul(h);e+1<t&&(a=a.redMul(c)),o=m,h=v,u=y}return this.curve.jpoint(o,u.redMul(n),h)},Th.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Th.prototype._zeroDbl=function(){var t,e,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(o);s=s.redIAdd(s);var h=i.redAdd(i).redIAdd(i),a=h.redSqr().redISub(s).redISub(s),u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),t=a,e=h.redMul(s.redISub(a)).redISub(u),r=this.y.redAdd(this.y)}else{var f=this.x.redSqr(),l=this.y.redSqr(),c=l.redSqr(),d=this.x.redAdd(l).redSqr().redISub(f).redISub(c);d=d.redIAdd(d);var p=f.redAdd(f).redIAdd(f),m=p.redSqr(),g=c.redIAdd(c);g=(g=g.redIAdd(g)).redIAdd(g),t=m.redISub(d).redISub(d),e=p.redMul(d.redISub(t)).redISub(g),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(t,e,r)},Th.prototype._threeDbl=function(){var t,e,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(o);s=s.redIAdd(s);var h=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),a=h.redSqr().redISub(s).redISub(s);t=a;var u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),e=h.redMul(s.redISub(a)).redISub(u),r=this.y.redAdd(this.y)}else{var f=this.z.redSqr(),l=this.y.redSqr(),c=this.x.redMul(l),d=this.x.redSub(f).redMul(this.x.redAdd(f));d=d.redAdd(d).redIAdd(d);var p=c.redIAdd(c),m=(p=p.redIAdd(p)).redAdd(p);t=d.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(l).redISub(f);var g=l.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),e=d.redMul(p.redISub(t)).redISub(g)}return this.curve.jpoint(t,e,r)},Th.prototype._dbl=function(){var t=this.curve.a,e=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),o=e.redSqr(),s=r.redSqr(),h=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(n)),a=e.redAdd(e),u=(a=a.redIAdd(a)).redMul(s),f=h.redSqr().redISub(u.redAdd(u)),l=u.redISub(f),c=s.redSqr();c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var d=h.redMul(l).redISub(c),p=r.redAdd(r).redMul(i);return this.curve.jpoint(f,d,p)},Th.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr(),i=e.redSqr(),n=t.redAdd(t).redIAdd(t),o=n.redSqr(),s=this.x.redAdd(e).redSqr().redISub(t).redISub(i),h=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),a=i.redIAdd(i);a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var u=n.redIAdd(s).redSqr().redISub(o).redISub(h).redISub(a),f=e.redMul(u);f=(f=f.redIAdd(f)).redIAdd(f);var l=this.x.redMul(h).redISub(f);l=(l=l.redIAdd(l)).redIAdd(l);var c=this.y.redMul(u.redMul(a.redISub(u)).redISub(s.redMul(h)));c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var d=this.z.redAdd(s).redSqr().redISub(r).redISub(h);return this.curve.jpoint(l,c,d)},Th.prototype.mul=function(t,e){return t=new Mh(t,e),this.curve._wnafMul(this,t)},Th.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),r=t.z.redSqr();if(0!==this.x.redMul(r).redISub(t.x.redMul(e)).cmpn(0))return!1;var i=e.redMul(this.z),n=r.redMul(t.z);return 0===this.y.redMul(n).redISub(t.y.redMul(i)).cmpn(0)},Th.prototype.eqXToP=function(t){var e=this.z.redSqr(),r=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(r))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(e);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},Th.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)+">"},Th.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Oh=ih.exports,Ph=xt.exports,xh=vh,Bh=rh;function Rh(t){xh.call(this,"mont",t),this.a=new Oh(t.a,16).toRed(this.red),this.b=new Oh(t.b,16).toRed(this.red),this.i4=new Oh(4).toRed(this.red).redInvm(),this.two=new Oh(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Ph(Rh,xh);var Nh=Rh;function Uh(t,e,r){xh.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Oh(e,16),this.z=new Oh(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Rh.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===i.redSqrt().redSqr().cmp(i)},Ph(Uh,xh.BasePoint),Rh.prototype.decodePoint=function(t,e){return this.point(Bh.toArray(t,e),1)},Rh.prototype.point=function(t,e){return new Uh(this,t,e)},Rh.prototype.pointFromJSON=function(t){return Uh.fromJSON(this,t)},Uh.prototype.precompute=function(){},Uh.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Uh.fromJSON=function(t,e){return new Uh(t,e[0],e[1]||t.one)},Uh.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Uh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Uh.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),i=t.redMul(e),n=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},Uh.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Uh.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),s=n.redMul(i),h=e.z.redMul(o.redAdd(s).redSqr()),a=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(h,a)},Uh.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=[];0!==e.cmpn(0);e.iushrn(1))n.push(e.andln(1));for(var o=n.length-1;o>=0;o--)0===n[o]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},Uh.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Uh.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Uh.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},Uh.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Uh.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Ch=rh,Lh=ih.exports,Dh=xt.exports,jh=vh,Hh=Ch.assert;function qh(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,jh.call(this,"edwards",t),this.a=new Lh(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Lh(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Lh(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Hh(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}Dh(qh,jh);var Kh=qh;function Fh(t,e,r,i,n){jh.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Lh(e,16),this.y=new Lh(r,16),this.z=i?new Lh(i,16):this.curve.one,this.t=n&&new Lh(n,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.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}qh.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},qh.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},qh.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},qh.prototype.pointFromX=function(t,e){(t=new Lh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(n.redInvm()),s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var h=s.fromRed().isOdd();return(e&&!h||!e&&h)&&(s=s.redNeg()),this.point(t,s)},qh.prototype.pointFromY=function(t,e){(t=new Lh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(n.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},qh.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},Dh(Fh,jh.BasePoint),qh.prototype.pointFromJSON=function(t){return Fh.fromJSON(this,t)},qh.prototype.point=function(t,e,r,i){return new Fh(this,t,e,r,i)},Fh.fromJSON=function(t,e){return new Fh(t,e[0],e[1],e[2])},Fh.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)+" z: "+this.z.fromRed().toString(16,2)+">"},Fh.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Fh.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=i.redAdd(e),s=o.redSub(r),h=i.redSub(e),a=n.redMul(s),u=o.redMul(h),f=n.redMul(h),l=s.redMul(o);return this.curve.point(a,u,l,f)},Fh.prototype._projDbl=function(){var t,e,r,i,n,o,s=this.x.redAdd(this.y).redSqr(),h=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var u=(i=this.curve._mulA(h)).redAdd(a);this.zOne?(t=s.redSub(h).redSub(a).redMul(u.redSub(this.curve.two)),e=u.redMul(i.redSub(a)),r=u.redSqr().redSub(u).redSub(u)):(n=this.z.redSqr(),o=u.redSub(n).redISub(n),t=s.redSub(h).redISub(a).redMul(o),e=u.redMul(i.redSub(a)),r=u.redMul(o))}else i=h.redAdd(a),n=this.curve._mulC(this.z).redSqr(),o=i.redSub(n).redSub(n),t=this.curve._mulC(s.redISub(i)).redMul(o),e=this.curve._mulC(i).redMul(h.redISub(a)),r=i.redMul(o);return this.curve.point(t,e,r)},Fh.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Fh.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),s=n.redSub(i),h=n.redAdd(i),a=r.redAdd(e),u=o.redMul(s),f=h.redMul(a),l=o.redMul(a),c=s.redMul(h);return this.curve.point(u,f,c,l)},Fh.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),h=this.curve.d.redMul(o).redMul(s),a=n.redSub(h),u=n.redAdd(h),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=i.redMul(a).redMul(f);return this.curve.twisted?(e=i.redMul(u).redMul(s.redSub(this.curve._mulA(o))),r=a.redMul(u)):(e=i.redMul(u).redMul(s.redSub(o)),r=this.curve._mulC(a).redMul(u)),this.curve.point(l,e,r)},Fh.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Fh.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Fh.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},Fh.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},Fh.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Fh.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Fh.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Fh.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Fh.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Fh.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},Fh.prototype.toP=Fh.prototype.normalize,Fh.prototype.mixedAdd=Fh.prototype.add,function(t){var e=t;e.base=vh,e.short=Ah,e.mont=Nh,e.edwards=Kh}(lh);var zh={},Wh={},Vh={},Zh=nh,Gh=xt.exports;function $h(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function Xh(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Yh(t){return 1===t.length?"0"+t:t}function Jh(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}Vh.inherits=Gh,Vh.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(var i=0,n=0;n<t.length;n++){var o=t.charCodeAt(n);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=63&o|128):$h(t,n)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n<t.length;n++)r[n]=0|t[n];return r},Vh.toHex=function(t){for(var e="",r=0;r<t.length;r++)e+=Yh(t[r].toString(16));return e},Vh.htonl=Xh,Vh.toHex32=function(t,e){for(var r="",i=0;i<t.length;i++){var n=t[i];"little"===e&&(n=Xh(n)),r+=Jh(n.toString(16))}return r},Vh.zero2=Yh,Vh.zero8=Jh,Vh.join32=function(t,e,r,i){var n=r-e;Zh(n%4==0);for(var o=new Array(n/4),s=0,h=e;s<o.length;s++,h+=4){var a;a="big"===i?t[h]<<24|t[h+1]<<16|t[h+2]<<8|t[h+3]:t[h+3]<<24|t[h+2]<<16|t[h+1]<<8|t[h],o[s]=a>>>0}return o},Vh.split32=function(t,e){for(var r=new Array(4*t.length),i=0,n=0;i<t.length;i++,n+=4){var o=t[i];"big"===e?(r[n]=o>>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r},Vh.rotr32=function(t,e){return t>>>e|t<<32-e},Vh.rotl32=function(t,e){return t<<e|t>>>32-e},Vh.sum32=function(t,e){return t+e>>>0},Vh.sum32_3=function(t,e,r){return t+e+r>>>0},Vh.sum32_4=function(t,e,r,i){return t+e+r+i>>>0},Vh.sum32_5=function(t,e,r,i,n){return t+e+r+i+n>>>0},Vh.sum64=function(t,e,r,i){var n=t[e],o=i+t[e+1]>>>0,s=(o<i?1:0)+r+n;t[e]=s>>>0,t[e+1]=o},Vh.sum64_hi=function(t,e,r,i){return(e+i>>>0<e?1:0)+t+r>>>0},Vh.sum64_lo=function(t,e,r,i){return e+i>>>0},Vh.sum64_4_hi=function(t,e,r,i,n,o,s,h){var a=0,u=e;return a+=(u=u+i>>>0)<e?1:0,a+=(u=u+o>>>0)<o?1:0,t+r+n+s+(a+=(u=u+h>>>0)<h?1:0)>>>0},Vh.sum64_4_lo=function(t,e,r,i,n,o,s,h){return e+i+o+h>>>0},Vh.sum64_5_hi=function(t,e,r,i,n,o,s,h,a,u){var f=0,l=e;return f+=(l=l+i>>>0)<e?1:0,f+=(l=l+o>>>0)<o?1:0,f+=(l=l+h>>>0)<h?1:0,t+r+n+s+a+(f+=(l=l+u>>>0)<u?1:0)>>>0},Vh.sum64_5_lo=function(t,e,r,i,n,o,s,h,a,u){return e+i+o+h+u>>>0},Vh.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},Vh.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},Vh.shr64_hi=function(t,e,r){return t>>>r},Vh.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0};var Qh={},ta=Vh,ea=nh;function ra(){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}Qh.BlockHash=ra,ra.prototype.update=function(t,e){if(t=ta.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=ta.join32(t,0,t.length-r,this.endian);for(var i=0;i<t.length;i+=this._delta32)this._update(t,i,i+this._delta32)}return this},ra.prototype.digest=function(t){return this.update(this._pad()),ea(null===this.pending),this._digest(t)},ra.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,r=e-(t+this.padLength)%e,i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=t>>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o<this.padLength;o++)i[n++]=0;return i};var ia={},na={},oa=Vh.rotr32;function sa(t,e,r){return t&e^~t&r}function ha(t,e,r){return t&e^t&r^e&r}function aa(t,e,r){return t^e^r}na.ft_1=function(t,e,r,i){return 0===t?sa(e,r,i):1===t||3===t?aa(e,r,i):2===t?ha(e,r,i):void 0},na.ch32=sa,na.maj32=ha,na.p32=aa,na.s0_256=function(t){return oa(t,2)^oa(t,13)^oa(t,22)},na.s1_256=function(t){return oa(t,6)^oa(t,11)^oa(t,25)},na.g0_256=function(t){return oa(t,7)^oa(t,18)^t>>>3},na.g1_256=function(t){return oa(t,17)^oa(t,19)^t>>>10};var ua=Vh,fa=Qh,la=na,ca=ua.rotl32,da=ua.sum32,pa=ua.sum32_5,ma=la.ft_1,ga=fa.BlockHash,ya=[1518500249,1859775393,2400959708,3395469782];function va(){if(!(this instanceof va))return new va;ga.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}ua.inherits(va,ga);var ba=va;va.blockSize=512,va.outSize=160,va.hmacStrength=80,va.padLength=64,va.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i<r.length;i++)r[i]=ca(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],o=this.h[1],s=this.h[2],h=this.h[3],a=this.h[4];for(i=0;i<r.length;i++){var u=~~(i/20),f=pa(ca(n,5),ma(u,o,s,h),a,r[i],ya[u]);a=h,h=s,s=ca(o,30),o=n,n=f}this.h[0]=da(this.h[0],n),this.h[1]=da(this.h[1],o),this.h[2]=da(this.h[2],s),this.h[3]=da(this.h[3],h),this.h[4]=da(this.h[4],a)},va.prototype._digest=function(t){return"hex"===t?ua.toHex32(this.h,"big"):ua.split32(this.h,"big")};var wa=Vh,Ma=Qh,_a=na,Sa=nh,Ea=wa.sum32,ka=wa.sum32_4,Aa=wa.sum32_5,Ia=_a.ch32,Ta=_a.maj32,Oa=_a.s0_256,Pa=_a.s1_256,xa=_a.g0_256,Ba=_a.g1_256,Ra=Ma.BlockHash,Na=[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 Ua(){if(!(this instanceof Ua))return new Ua;Ra.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Na,this.W=new Array(64)}wa.inherits(Ua,Ra);var Ca=Ua;Ua.blockSize=512,Ua.outSize=256,Ua.hmacStrength=192,Ua.padLength=64,Ua.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i<r.length;i++)r[i]=ka(Ba(r[i-2]),r[i-7],xa(r[i-15]),r[i-16]);var n=this.h[0],o=this.h[1],s=this.h[2],h=this.h[3],a=this.h[4],u=this.h[5],f=this.h[6],l=this.h[7];for(Sa(this.k.length===r.length),i=0;i<r.length;i++){var c=Aa(l,Pa(a),Ia(a,u,f),this.k[i],r[i]),d=Ea(Oa(n),Ta(n,o,s));l=f,f=u,u=a,a=Ea(h,c),h=s,s=o,o=n,n=Ea(c,d)}this.h[0]=Ea(this.h[0],n),this.h[1]=Ea(this.h[1],o),this.h[2]=Ea(this.h[2],s),this.h[3]=Ea(this.h[3],h),this.h[4]=Ea(this.h[4],a),this.h[5]=Ea(this.h[5],u),this.h[6]=Ea(this.h[6],f),this.h[7]=Ea(this.h[7],l)},Ua.prototype._digest=function(t){return"hex"===t?wa.toHex32(this.h,"big"):wa.split32(this.h,"big")};var La=Vh,Da=Ca;function ja(){if(!(this instanceof ja))return new ja;Da.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}La.inherits(ja,Da);var Ha=ja;ja.blockSize=512,ja.outSize=224,ja.hmacStrength=192,ja.padLength=64,ja.prototype._digest=function(t){return"hex"===t?La.toHex32(this.h.slice(0,7),"big"):La.split32(this.h.slice(0,7),"big")};var qa=Vh,Ka=Qh,Fa=nh,za=qa.rotr64_hi,Wa=qa.rotr64_lo,Va=qa.shr64_hi,Za=qa.shr64_lo,Ga=qa.sum64,$a=qa.sum64_hi,Xa=qa.sum64_lo,Ya=qa.sum64_4_hi,Ja=qa.sum64_4_lo,Qa=qa.sum64_5_hi,tu=qa.sum64_5_lo,eu=Ka.BlockHash,ru=[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 iu(){if(!(this instanceof iu))return new iu;eu.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=ru,this.W=new Array(160)}qa.inherits(iu,eu);var nu=iu;function ou(t,e,r,i,n){var o=t&r^~t&n;return o<0&&(o+=4294967296),o}function su(t,e,r,i,n,o){var s=e&i^~e&o;return s<0&&(s+=4294967296),s}function hu(t,e,r,i,n){var o=t&r^t&n^r&n;return o<0&&(o+=4294967296),o}function au(t,e,r,i,n,o){var s=e&i^e&o^i&o;return s<0&&(s+=4294967296),s}function uu(t,e){var r=za(t,e,28)^za(e,t,2)^za(e,t,7);return r<0&&(r+=4294967296),r}function fu(t,e){var r=Wa(t,e,28)^Wa(e,t,2)^Wa(e,t,7);return r<0&&(r+=4294967296),r}function lu(t,e){var r=za(t,e,14)^za(t,e,18)^za(e,t,9);return r<0&&(r+=4294967296),r}function cu(t,e){var r=Wa(t,e,14)^Wa(t,e,18)^Wa(e,t,9);return r<0&&(r+=4294967296),r}function du(t,e){var r=za(t,e,1)^za(t,e,8)^Va(t,e,7);return r<0&&(r+=4294967296),r}function pu(t,e){var r=Wa(t,e,1)^Wa(t,e,8)^Za(t,e,7);return r<0&&(r+=4294967296),r}function mu(t,e){var r=za(t,e,19)^za(e,t,29)^Va(t,e,6);return r<0&&(r+=4294967296),r}function gu(t,e){var r=Wa(t,e,19)^Wa(e,t,29)^Za(t,e,6);return r<0&&(r+=4294967296),r}iu.blockSize=1024,iu.outSize=512,iu.hmacStrength=192,iu.padLength=128,iu.prototype._prepareBlock=function(t,e){for(var r=this.W,i=0;i<32;i++)r[i]=t[e+i];for(;i<r.length;i+=2){var n=mu(r[i-4],r[i-3]),o=gu(r[i-4],r[i-3]),s=r[i-14],h=r[i-13],a=du(r[i-30],r[i-29]),u=pu(r[i-30],r[i-29]),f=r[i-32],l=r[i-31];r[i]=Ya(n,o,s,h,a,u,f,l),r[i+1]=Ja(n,o,s,h,a,u,f,l)}},iu.prototype._update=function(t,e){this._prepareBlock(t,e);var r=this.W,i=this.h[0],n=this.h[1],o=this.h[2],s=this.h[3],h=this.h[4],a=this.h[5],u=this.h[6],f=this.h[7],l=this.h[8],c=this.h[9],d=this.h[10],p=this.h[11],m=this.h[12],g=this.h[13],y=this.h[14],v=this.h[15];Fa(this.k.length===r.length);for(var b=0;b<r.length;b+=2){var w=y,M=v,_=lu(l,c),S=cu(l,c),E=ou(l,c,d,p,m),k=su(l,c,d,p,m,g),A=this.k[b],I=this.k[b+1],T=r[b],O=r[b+1],P=Qa(w,M,_,S,E,k,A,I,T,O),x=tu(w,M,_,S,E,k,A,I,T,O);w=uu(i,n),M=fu(i,n),_=hu(i,n,o,s,h),S=au(i,n,o,s,h,a);var B=$a(w,M,_,S),R=Xa(w,M,_,S);y=m,v=g,m=d,g=p,d=l,p=c,l=$a(u,f,P,x),c=Xa(f,f,P,x),u=h,f=a,h=o,a=s,o=i,s=n,i=$a(P,x,B,R),n=Xa(P,x,B,R)}Ga(this.h,0,i,n),Ga(this.h,2,o,s),Ga(this.h,4,h,a),Ga(this.h,6,u,f),Ga(this.h,8,l,c),Ga(this.h,10,d,p),Ga(this.h,12,m,g),Ga(this.h,14,y,v)},iu.prototype._digest=function(t){return"hex"===t?qa.toHex32(this.h,"big"):qa.split32(this.h,"big")};var yu=Vh,vu=nu;function bu(){if(!(this instanceof bu))return new bu;vu.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}yu.inherits(bu,vu);var wu=bu;bu.blockSize=1024,bu.outSize=384,bu.hmacStrength=192,bu.padLength=128,bu.prototype._digest=function(t){return"hex"===t?yu.toHex32(this.h.slice(0,12),"big"):yu.split32(this.h.slice(0,12),"big")},ia.sha1=ba,ia.sha224=Ha,ia.sha256=Ca,ia.sha384=wu,ia.sha512=nu;var Mu={},_u=Vh,Su=Qh,Eu=_u.rotl32,ku=_u.sum32,Au=_u.sum32_3,Iu=_u.sum32_4,Tu=Su.BlockHash;function Ou(){if(!(this instanceof Ou))return new Ou;Tu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function Pu(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function xu(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function Bu(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}_u.inherits(Ou,Tu),Mu.ripemd160=Ou,Ou.blockSize=512,Ou.outSize=160,Ou.hmacStrength=192,Ou.padLength=64,Ou.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],o=this.h[3],s=this.h[4],h=r,a=i,u=n,f=o,l=s,c=0;c<80;c++){var d=ku(Eu(Iu(r,Pu(c,i,n,o),t[Ru[c]+e],xu(c)),Uu[c]),s);r=s,s=o,o=Eu(n,10),n=i,i=d,d=ku(Eu(Iu(h,Pu(79-c,a,u,f),t[Nu[c]+e],Bu(c)),Cu[c]),l),h=l,l=f,f=Eu(u,10),u=a,a=d}d=Au(this.h[1],n,f),this.h[1]=Au(this.h[2],o,l),this.h[2]=Au(this.h[3],s,h),this.h[3]=Au(this.h[4],r,a),this.h[4]=Au(this.h[0],i,u),this.h[0]=d},Ou.prototype._digest=function(t){return"hex"===t?_u.toHex32(this.h,"little"):_u.split32(this.h,"little")};var Ru=[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],Nu=[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],Uu=[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],Cu=[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],Lu=Vh,Du=nh;function ju(t,e,r){if(!(this instanceof ju))return new ju(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(Lu.toArray(e,r))}var Hu=ju;ju.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),Du(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},ju.prototype.update=function(t,e){return this.inner.update(t,e),this},ju.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)},function(t){var e=Wh;e.utils=Vh,e.common=Qh,e.sha=ia,e.ripemd=Mu,e.hmac=Hu,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}();var qu={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}};!function(t){var e,r=zh,i=Wh,n=lh,o=rh.assert;function s(t){"short"===t.type?this.curve=new n.short(t):"edwards"===t.type?this.curve=new n.edwards(t):this.curve=new n.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function h(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new s(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=s,h("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:i.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),h("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:i.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),h("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:i.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),h("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:i.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"]}),h("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:i.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"]}),h("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["9"]}),h("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:i.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{e=qu}catch(t){e=void 0}h("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:i.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",e]})}();var Ku=Wh,Fu=sh,zu=nh;function Wu(t){if(!(this instanceof Wu))return new Wu(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Fu.toArray(t.entropy,t.entropyEnc||"hex"),r=Fu.toArray(t.nonce,t.nonceEnc||"hex"),i=Fu.toArray(t.pers,t.persEnc||"hex");zu(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Vu=Wu;Wu.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},Wu.prototype._hmac=function(){return new Ku.hmac(this.hash,this.K)},Wu.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},Wu.prototype.reseed=function(t,e,r,i){"string"!=typeof e&&(i=r,r=e,e=null),t=Fu.toArray(t,e),r=Fu.toArray(r,i),zu(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},Wu.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(i=r,r=e,e=null),r&&(r=Fu.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length<t;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var o=n.slice(0,t);return this._update(r),this._reseed++,Fu.encode(o,e)};var Zu=ih.exports,Gu=rh.assert;function $u(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Xu=$u;$u.fromPublic=function(t,e,r){return e instanceof $u?e:new $u(t,{pub:e,pubEnc:r})},$u.fromPrivate=function(t,e,r){return e instanceof $u?e:new $u(t,{priv:e,privEnc:r})},$u.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.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"}},$u.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},$u.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},$u.prototype._importPrivate=function(t,e){this.priv=new Zu(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},$u.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?Gu(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Gu(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},$u.prototype.derive=function(t){return t.validate()||Gu(t.validate(),"public point not validated"),t.mul(this.priv).getX()},$u.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},$u.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},$u.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Yu=ih.exports,Ju=rh,Qu=Ju.assert;function tf(t,e){if(t instanceof tf)return t;this._importDER(t,e)||(Qu(t.r&&t.s,"Signature without r or s"),this.r=new Yu(t.r,16),this.s=new Yu(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var ef=tf;function rf(){this.place=0}function nf(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,o=0,s=e.place;o<i;o++,s++)n<<=8,n|=t[s],n>>>=0;return!(n<=127)&&(e.place=s,n)}function of(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e<r;)e++;return 0===e?t:t.slice(e)}function sf(t,e){if(e<128)t.push(e);else{var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}tf.prototype._importDER=function(t,e){t=Ju.toArray(t,e);var r=new rf;if(48!==t[r.place++])return!1;var i=nf(t,r);if(!1===i)return!1;if(i+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=nf(t,r);if(!1===n)return!1;var o=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var s=nf(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var h=t.slice(r.place,s+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new Yu(o),this.s=new Yu(h),this.recoveryParam=null,!0},tf.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=of(e),r=of(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];sf(i,e.length),(i=i.concat(e)).push(2),sf(i,r.length);var n=i.concat(r),o=[48];return sf(o,n.length),o=o.concat(n),Ju.encode(o,t)};var hf=ih.exports,af=Vu,uf=zh,ff=fh,lf=rh.assert,cf=Xu,df=ef;function pf(t){if(!(this instanceof pf))return new pf(t);"string"==typeof t&&(lf(Object.prototype.hasOwnProperty.call(uf,t),"Unknown curve "+t),t=uf[t]),t instanceof uf.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var mf=pf;pf.prototype.keyPair=function(t){return new cf(this,t)},pf.prototype.keyFromPrivate=function(t,e){return cf.fromPrivate(this,t,e)},pf.prototype.keyFromPublic=function(t,e){return cf.fromPublic(this,t,e)},pf.prototype.genKeyPair=function(t){t||(t={});for(var e=new af({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||ff(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new hf(2));;){var n=new hf(e.generate(r));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},pf.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},pf.prototype.sign=function(t,e,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new hf(t,16));for(var n=this.n.byteLength(),o=e.getPrivate().toArray("be",n),s=t.toArray("be",n),h=new af({hash:this.hash,entropy:o,nonce:s,pers:i.pers,persEnc:i.persEnc||"utf8"}),a=this.n.sub(new hf(1)),u=0;;u++){var f=i.k?i.k(u):new hf(h.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(a)>=0)){var l=this.g.mul(f);if(!l.isInfinity()){var c=l.getX(),d=c.umod(this.n);if(0!==d.cmpn(0)){var p=f.invm(this.n).mul(d.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(l.getY().isOdd()?1:0)|(0!==c.cmp(d)?2:0);return i.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new df({r:d,s:p,recoveryParam:m})}}}}}},pf.prototype.verify=function(t,e,r,i){t=this._truncateToN(new hf(t,16)),r=this.keyFromPublic(r,i);var n=(e=new df(e,"hex")).r,o=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,h=o.invm(this.n),a=h.mul(t).umod(this.n),u=h.mul(n).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(a,r.getPublic(),u)).isInfinity()&&s.eqXToP(n):!(s=this.g.mulAdd(a,r.getPublic(),u)).isInfinity()&&0===s.getX().umod(this.n).cmp(n)},pf.prototype.recoverPubKey=function(t,e,r,i){lf((3&r)===r,"The recovery param is more than two bits"),e=new df(e,i);var n=this.n,o=new hf(t),s=e.r,h=e.s,a=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),a):this.curve.pointFromX(s,a);var f=e.r.invm(n),l=n.sub(o).mul(f).umod(n),c=h.mul(f).umod(n);return this.g.mulAdd(l,s,c)},pf.prototype.getKeyRecoveryParam=function(t,e,r,i){if(null!==(e=new df(e,i)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(t,e,n)}catch(t){continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var gf=rh,yf=gf.assert,vf=gf.parseBytes,bf=gf.cachedProperty;function wf(t,e){this.eddsa=t,this._secret=vf(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=vf(e.pub)}wf.fromPublic=function(t,e){return e instanceof wf?e:new wf(t,{pub:e})},wf.fromSecret=function(t,e){return e instanceof wf?e:new wf(t,{secret:e})},wf.prototype.secret=function(){return this._secret},bf(wf,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),bf(wf,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),bf(wf,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),bf(wf,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),bf(wf,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),bf(wf,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),wf.prototype.sign=function(t){return yf(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},wf.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},wf.prototype.getSecret=function(t){return yf(this._secret,"KeyPair is public only"),gf.encode(this.secret(),t)},wf.prototype.getPublic=function(t){return gf.encode(this.pubBytes(),t)};var Mf=wf,_f=ih.exports,Sf=rh,Ef=Sf.assert,kf=Sf.cachedProperty,Af=Sf.parseBytes;function If(t,e){this.eddsa=t,"object"!=typeof e&&(e=Af(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),Ef(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof _f&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}kf(If,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),kf(If,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),kf(If,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),kf(If,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),If.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},If.prototype.toHex=function(){return Sf.encode(this.toBytes(),"hex").toUpperCase()};var Tf=If,Of=Wh,Pf=zh,xf=rh,Bf=xf.assert,Rf=xf.parseBytes,Nf=Mf,Uf=Tf;function Cf(t){if(Bf("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof Cf))return new Cf(t);t=Pf[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=Of.sha512}var Lf=Cf;Cf.prototype.sign=function(t,e){t=Rf(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),o=this.encodePoint(n),s=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),h=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:o})},Cf.prototype.verify=function(t,e,r){t=Rf(t),e=this.makeSignature(e);var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(i.pub().mul(n)).eq(o)},Cf.prototype.hashInt=function(){for(var t=this.hash(),e=0;e<arguments.length;e++)t.update(arguments[e]);return xf.intFromLE(t.digest()).umod(this.curve.n)},Cf.prototype.keyFromPublic=function(t){return Nf.fromPublic(this,t)},Cf.prototype.keyFromSecret=function(t){return Nf.fromSecret(this,t)},Cf.prototype.makeSignature=function(t){return t instanceof Uf?t:new Uf(this,t)},Cf.prototype.encodePoint=function(t){var e=t.getY().toArray("le",this.encodingLength);return e[this.encodingLength-1]|=t.getX().isOdd()?128:0,e},Cf.prototype.decodePoint=function(t){var e=(t=xf.parseBytes(t)).length-1,r=t.slice(0,e).concat(-129&t[e]),i=0!=(128&t[e]),n=xf.intFromLE(r);return this.curve.pointFromY(n,i)},Cf.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)},Cf.prototype.decodeInt=function(t){return xf.intFromLE(t)},Cf.prototype.isPoint=function(t){return t instanceof this.pointClass},function(t){var e=th;e.version=eh,e.utils=rh,e.rand=fh,e.curve=lh,e.curves=zh,e.ec=mf,e.eddsa=Lf}();const Df=Fs,jf=W.alloc(1,1),Hf=W.alloc(1,0);var qf=function(t,e,r,i,n){let o=W.alloc(32,0),s=W.alloc(32,1);o=Df("sha256",o).update(s).update(Hf).update(e).update(t).update(n||"").digest(),s=Df("sha256",o).update(s).digest(),o=Df("sha256",o).update(s).update(jf).update(e).update(t).update(n||"").digest(),s=Df("sha256",o).update(s).digest(),s=Df("sha256",o).update(s).digest();let h=s;for(;!i(h)||!r(h);)o=Df("sha256",o).update(s).update(Hf).digest(),s=Df("sha256",o).update(s).digest(),s=Df("sha256",o).update(s).digest(),h=s;return h};const Kf=Qs.exports,Ff=new(0,th.ec)("secp256k1"),zf=qf,Wf=W.alloc(32,0),Vf=W.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),Zf=W.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex"),Gf=Ff.curve.n,$f=Gf.shrn(1),Xf=Ff.curve.g;function Yf(t){return It(t)&&32===t.length}function Jf(t){return!!Yf(t)&&t.compare(Vf)<0}function Qf(t){if(!It(t))return!1;if(t.length<33)return!1;const e=t[0],r=t.slice(1,33);if(0===r.compare(Wf))return!1;if(r.compare(Zf)>=0)return!1;if((2===e||3===e)&&33===t.length){try{ol(t)}catch(t){return!1}return!0}const i=t.slice(33);return 0!==i.compare(Wf)&&(!(i.compare(Zf)>=0)&&(4===e&&65===t.length))}function tl(t){return 4!==t[0]}function el(t){return!!Yf(t)&&(t.compare(Wf)>0&&t.compare(Vf)<0)}function rl(t,e){return void 0===t&&void 0!==e?tl(e):void 0===t||t}function il(t){return new Kf(t)}function nl(t){return t.toArrayLike(W,"be",32)}function ol(t){return Ff.curve.decodePoint(t)}function sl(t,e){return W.from(t._encode(e))}function hl(t,e,r){if(!Yf(t))throw new TypeError("Expected Hash");if(!el(e))throw new TypeError("Expected Private");if(void 0!==r&&!Yf(r))throw new TypeError("Expected Extra Data (32 bytes)");const i=il(e),n=il(t);let o,s;zf(t,e,(function(t){const e=il(t),r=Xf.mul(e);return!r.isInfinity()&&(o=r.x.umod(Gf),0!==o.isZero()&&(s=e.invm(Gf).mul(n.add(i.mul(o))).umod(Gf),0!==s.isZero()))}),el,r),s.cmp($f)>0&&(s=Gf.sub(s));const h=W.allocUnsafe(64);return nl(o).copy(h,0),nl(s).copy(h,32),h}var al={isPoint:Qf,isPointCompressed:function(t){return!!Qf(t)&&tl(t)},isPrivate:el,pointAdd:function(t,e,r){if(!Qf(t))throw new TypeError("Expected Point");if(!Qf(e))throw new TypeError("Expected Point");const i=ol(t),n=ol(e),o=i.add(n);return o.isInfinity()?null:sl(o,rl(r,t))},pointAddScalar:function(t,e,r){if(!Qf(t))throw new TypeError("Expected Point");if(!Jf(e))throw new TypeError("Expected Tweak");const i=rl(r,t),n=ol(t);if(0===e.compare(Wf))return sl(n,i);const o=il(e),s=Xf.mul(o),h=n.add(s);return h.isInfinity()?null:sl(h,i)},pointCompress:function(t,e){if(!Qf(t))throw new TypeError("Expected Point");const r=ol(t);if(r.isInfinity())throw new TypeError("Expected Point");return sl(r,rl(e,t))},pointFromScalar:function(t,e){if(!el(t))throw new TypeError("Expected Private");const r=il(t),i=Xf.mul(r);return i.isInfinity()?null:sl(i,rl(e))},pointMultiply:function(t,e,r){if(!Qf(t))throw new TypeError("Expected Point");if(!Jf(e))throw new TypeError("Expected Tweak");const i=rl(r,t),n=ol(t),o=il(e),s=n.mul(o);return s.isInfinity()?null:sl(s,i)},privateAdd:function(t,e){if(!el(t))throw new TypeError("Expected Private");if(!Jf(e))throw new TypeError("Expected Tweak");const r=il(t),i=il(e),n=nl(r.add(i).umod(Gf));return el(n)?n:null},privateSub:function(t,e){if(!el(t))throw new TypeError("Expected Private");if(!Jf(e))throw new TypeError("Expected Tweak");const r=il(t),i=il(e),n=nl(r.sub(i).umod(Gf));return el(n)?n:null},sign:function(t,e){return hl(t,e)},signWithEntropy:function(t,e,r){return hl(t,e,r)},verify:function(t,e,r,i){if(!Yf(t))throw new TypeError("Expected Hash");if(!Qf(e))throw new TypeError("Expected Point");if(!function(t){const e=t.slice(0,32),r=t.slice(32,64);return It(t)&&64===t.length&&e.compare(Vf)<0&&r.compare(Vf)<0}(r))throw new TypeError("Expected Signature");const n=ol(e),o=il(r.slice(0,32)),s=il(r.slice(32,64));if(i&&s.cmp($f)>0)return!1;if(o.gtn(0)<=0)return!1;if(s.gtn(0)<=0)return!1;const h=il(t),a=s.invm(Gf),u=h.mul(a).umod(Gf),f=o.mul(a).umod(Gf),l=Xf.mulAdd(u,n,f);return!l.isInfinity()&&l.x.umod(Gf).eq(o)}},ul={Array:function(t){return null!=t&&t.constructor===Array},Boolean:function(t){return"boolean"==typeof t},Function:function(t){return"function"==typeof t},Nil:function(t){return null==t},Number:function(t){return"number"==typeof t},Object:function(t){return"object"==typeof t},String:function(t){return"string"==typeof t},"":function(){return!0}};for(var fl in ul.Null=ul.Nil,ul)ul[fl].toJSON=function(t){return t}.bind(null,fl);var ll=ul,cl=ll;function dl(t){return t.name||t.toString().match(/function (.*?)\s*\(/)[1]}function pl(t){return cl.Nil(t)?"":dl(t.constructor)}function ml(t,e){Error.captureStackTrace&&Error.captureStackTrace(t,e)}function gl(t){return cl.Function(t)?t.toJSON?t.toJSON():dl(t):cl.Array(t)?"Array":t&&cl.Object(t)?"Object":void 0!==t?t:""}function yl(t,e,r){var i=function(t){return cl.Function(t)?"":cl.String(t)?JSON.stringify(t):t&&cl.Object(t)?"":t}(e);return"Expected "+gl(t)+", got"+(""!==r?" "+r:"")+(""!==i?" "+i:"")}function vl(t,e,r){r=r||pl(e),this.message=yl(t,e,r),ml(this,vl),this.__type=t,this.__value=e,this.__valueTypeName=r}function bl(t,e,r,i,n){t?(n=n||pl(i),this.message=function(t,e,r,i,n){var o='" of type ';return"key"===e&&(o='" with key type '),yl('property "'+gl(r)+o+gl(t),i,n)}(t,r,e,i,n)):this.message='Unexpected property "'+e+'"',ml(this,vl),this.__label=r,this.__property=e,this.__type=t,this.__value=i,this.__valueTypeName=n}vl.prototype=Object.create(Error.prototype),vl.prototype.constructor=vl,bl.prototype=Object.create(Error.prototype),bl.prototype.constructor=vl;var wl={TfTypeError:vl,TfPropertyTypeError:bl,tfCustomError:function(t,e){return new vl(t,{},e)},tfSubError:function(t,e,r){return t instanceof bl?(e=e+"."+t.__property,t=new bl(t.__type,e,t.__label,t.__value,t.__valueTypeName)):t instanceof vl&&(t=new bl(t.__type,e,r,t.__value,t.__valueTypeName)),ml(t),t},tfJSON:gl,getValueTypeName:pl},Ml=ll,_l=wl;function Sl(t){return It(t)}function El(t){return"string"==typeof t&&/^([0-9a-f]{2})+$/i.test(t)}function kl(t,e){var r=t.toJSON();function i(i){if(!t(i))return!1;if(i.length===e)return!0;throw _l.tfCustomError(r+"(Length: "+e+")",r+"(Length: "+i.length+")")}return i.toJSON=function(){return r},i}var Al=kl.bind(null,Ml.Array),Il=kl.bind(null,Sl),Tl=kl.bind(null,El),Ol=kl.bind(null,Ml.String);var Pl=Math.pow(2,53)-1;var xl={ArrayN:Al,Buffer:Sl,BufferN:Il,Finite:function(t){return"number"==typeof t&&isFinite(t)},Hex:El,HexN:Tl,Int8:function(t){return t<<24>>24===t},Int16:function(t){return t<<16>>16===t},Int32:function(t){return(0|t)===t},Int53:function(t){return"number"==typeof t&&t>=-Pl&&t<=Pl&&Math.floor(t)===t},Range:function(t,e,r){function i(i,n){return r(i,n)&&i>t&&i<e}return r=r||Ml.Number,i.toJSON=function(){return`${r.toJSON()} between [${t}, ${e}]`},i},StringN:Ol,UInt8:function(t){return(255&t)===t},UInt16:function(t){return(65535&t)===t},UInt32:function(t){return t>>>0===t},UInt53:function(t){return"number"==typeof t&&t>=0&&t<=Pl&&Math.floor(t)===t}};for(var Bl in xl)xl[Bl].toJSON=function(t){return t}.bind(null,Bl);var Rl=xl,Nl=ll,Ul=wl.tfJSON,Cl=wl.TfTypeError,Ll=wl.TfPropertyTypeError,Dl=wl.tfSubError,jl=wl.getValueTypeName,Hl={arrayOf:function(t,e){function r(r,i){return!!Nl.Array(r)&&(!Nl.Nil(r)&&(!(void 0!==e.minLength&&r.length<e.minLength)&&(!(void 0!==e.maxLength&&r.length>e.maxLength)&&((void 0===e.length||r.length===e.length)&&r.every((function(e,r){try{return Kl(t,e,i)}catch(t){throw Dl(t,r)}}))))))}return t=ql(t),e=e||{},r.toJSON=function(){var r="["+Ul(t)+"]";return void 0!==e.length?r+="{"+e.length+"}":void 0===e.minLength&&void 0===e.maxLength||(r+="{"+(void 0===e.minLength?0:e.minLength)+","+(void 0===e.maxLength?1/0:e.maxLength)+"}"),r},r},maybe:function t(e){function r(r,i){return Nl.Nil(r)||e(r,i,t)}return e=ql(e),r.toJSON=function(){return"?"+Ul(e)},r},map:function(t,e){function r(r,i){if(!Nl.Object(r))return!1;if(Nl.Nil(r))return!1;for(var n in r){try{e&&Kl(e,n,i)}catch(t){throw Dl(t,n,"key")}try{var o=r[n];Kl(t,o,i)}catch(t){throw Dl(t,n)}}return!0}return t=ql(t),e&&(e=ql(e)),r.toJSON=e?function(){return"{"+Ul(e)+": "+Ul(t)+"}"}:function(){return"{"+Ul(t)+"}"},r},object:function(t){var e={};for(var r in t)e[r]=ql(t[r]);function i(t,r){if(!Nl.Object(t))return!1;if(Nl.Nil(t))return!1;var i;try{for(i in e){Kl(e[i],t[i],r)}}catch(t){throw Dl(t,i)}if(r)for(i in t)if(!e[i])throw new Ll(void 0,i);return!0}return i.toJSON=function(){return Ul(e)},i},anyOf:function(){var t=[].slice.call(arguments).map(ql);function e(e,r){return t.some((function(t){try{return Kl(t,e,r)}catch(t){return!1}}))}return e.toJSON=function(){return t.map(Ul).join("|")},e},allOf:function(){var t=[].slice.call(arguments).map(ql);function e(e,r){return t.every((function(t){try{return Kl(t,e,r)}catch(t){return!1}}))}return e.toJSON=function(){return t.map(Ul).join(" & ")},e},quacksLike:function(t){function e(e){return t===jl(e)}return e.toJSON=function(){return t},e},tuple:function(){var t=[].slice.call(arguments).map(ql);function e(e,r){return!Nl.Nil(e)&&(!Nl.Nil(e.length)&&((!r||e.length===t.length)&&t.every((function(t,i){try{return Kl(t,e[i],r)}catch(t){throw Dl(t,i)}}))))}return e.toJSON=function(){return"("+t.map(Ul).join(", ")+")"},e},value:function(t){function e(e){return e===t}return e.toJSON=function(){return t},e}};function ql(t){if(Nl.String(t))return"?"===t[0]?Hl.maybe(t.slice(1)):Nl[t]||Hl.quacksLike(t);if(t&&Nl.Object(t)){if(Nl.Array(t)){if(1!==t.length)throw new TypeError("Expected compile() parameter of type Array of length 1");return Hl.arrayOf(t[0])}return Hl.object(t)}return Nl.Function(t)?t:Hl.value(t)}function Kl(t,e,r,i){if(Nl.Function(t)){if(t(e,r))return!0;throw new Cl(i||t,e)}return Kl(ql(t),e,r)}for(var Fl in Hl.oneOf=Hl.anyOf,Nl)Kl[Fl]=Nl[Fl];for(Fl in Hl)Kl[Fl]=Hl[Fl];var zl=Rl;for(Fl in zl)Kl[Fl]=zl[Fl];Kl.compile=ql,Kl.TfTypeError=Cl,Kl.TfPropertyTypeError=Ll;var Wl=Kl,Vl=Js;function Zl(t,e){if(void 0!==e&&t[0]!==e)throw new Error("Invalid network version");if(33===t.length)return{version:t[0],privateKey:t.slice(1,33),compressed:!1};if(34!==t.length)throw new Error("Invalid WIF length");if(1!==t[33])throw new Error("Invalid compression flag");return{version:t[0],privateKey:t.slice(1,33),compressed:!0}}function Gl(t,e,r){var i=new W(r?34:33);return i.writeUInt8(t,0),e.copy(i,1),r&&(i[33]=1),i}var $l={decode:function(t,e){return Zl(Vl.decode(t),e)},decodeRaw:Zl,encode:function(t,e,r){return"number"==typeof t?Vl.encode(Gl(t,e,r)):Vl.encode(Gl(t.version,t.privateKey,t.compressed))},encodeRaw:Gl};Object.defineProperty(Ot,"__esModule",{value:!0});const Xl=Pt,Yl=Js,Jl=al,Ql=Wl,tc=$l,ec=Ql.BufferN(32),rc=Ql.compile({wif:Ql.UInt8,bip32:{public:Ql.UInt32,private:Ql.UInt32}}),ic={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},nc=Math.pow(2,31)-1;function oc(t){return Ql.String(t)&&null!==t.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}function sc(t){return Ql.UInt32(t)&&t<=nc}class hc{constructor(t,e,r,i,n=0,o=0,s=0){this.__D=t,this.__Q=e,this.chainCode=r,this.network=i,this.__DEPTH=n,this.__INDEX=o,this.__PARENT_FINGERPRINT=s,Ql(rc,i),this.lowR=!1}get depth(){return this.__DEPTH}get index(){return this.__INDEX}get parentFingerprint(){return this.__PARENT_FINGERPRINT}get publicKey(){return void 0===this.__Q&&(this.__Q=Jl.pointFromScalar(this.__D,!0)),this.__Q}get privateKey(){return this.__D}get identifier(){return Xl.hash160(this.publicKey)}get fingerprint(){return this.identifier.slice(0,4)}get compressed(){return!0}isNeutered(){return void 0===this.__D}neutered(){return fc(this.publicKey,this.chainCode,this.network,this.depth,this.index,this.parentFingerprint)}toBase58(){const t=this.network,e=this.isNeutered()?t.bip32.public:t.bip32.private,r=W.allocUnsafe(78);return r.writeUInt32BE(e,0),r.writeUInt8(this.depth,4),r.writeUInt32BE(this.parentFingerprint,5),r.writeUInt32BE(this.index,9),this.chainCode.copy(r,13),this.isNeutered()?this.publicKey.copy(r,45):(r.writeUInt8(0,45),this.privateKey.copy(r,46)),Yl.encode(r)}toWIF(){if(!this.privateKey)throw new TypeError("Missing private key");return tc.encode(this.network.wif,this.privateKey,!0)}derive(t){Ql(Ql.UInt32,t);const e=t>=2147483648,r=W.allocUnsafe(37);if(e){if(this.isNeutered())throw new TypeError("Missing private key for hardened child key");r[0]=0,this.privateKey.copy(r,1),r.writeUInt32BE(t,33)}else this.publicKey.copy(r,0),r.writeUInt32BE(t,33);const i=Xl.hmacSHA512(this.chainCode,r),n=i.slice(0,32),o=i.slice(32);if(!Jl.isPrivate(n))return this.derive(t+1);let s;if(this.isNeutered()){const e=Jl.pointAddScalar(this.publicKey,n,!0);if(null===e)return this.derive(t+1);s=fc(e,o,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}else{const e=Jl.privateAdd(this.privateKey,n);if(null==e)return this.derive(t+1);s=uc(e,o,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}return s}deriveHardened(t){return Ql(sc,t),this.derive(t+2147483648)}derivePath(t){Ql(oc,t);let e=t.split("/");if("m"===e[0]){if(this.parentFingerprint)throw new TypeError("Expected master, got child");e=e.slice(1)}return e.reduce(((t,e)=>{let r;return"'"===e.slice(-1)?(r=parseInt(e.slice(0,-1),10),t.deriveHardened(r)):(r=parseInt(e,10),t.derive(r))}),this)}sign(t,e){if(!this.privateKey)throw new Error("Missing private key");if(void 0===e&&(e=this.lowR),!1===e)return Jl.sign(t,this.privateKey);{let e=Jl.sign(t,this.privateKey);const r=W.alloc(32,0);let i=0;for(;e[0]>127;)i++,r.writeUIntLE(i,0,6),e=Jl.signWithEntropy(t,this.privateKey,r);return e}}verify(t,e){return Jl.verify(t,this.publicKey,e)}}function ac(t,e,r){return uc(t,e,r)}function uc(t,e,r,i,n,o){if(Ql({privateKey:ec,chainCode:ec},{privateKey:t,chainCode:e}),r=r||ic,!Jl.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return new hc(t,void 0,e,r,i,n,o)}function fc(t,e,r,i,n,o){if(Ql({publicKey:Ql.BufferN(33),chainCode:ec},{publicKey:t,chainCode:e}),r=r||ic,!Jl.isPoint(t))throw new TypeError("Point is not on the curve");return new hc(void 0,t,e,r,i,n,o)}Ot.fromBase58=function(t,e){const r=Yl.decode(t);if(78!==r.length)throw new TypeError("Invalid buffer length");e=e||ic;const i=r.readUInt32BE(0);if(i!==e.bip32.private&&i!==e.bip32.public)throw new TypeError("Invalid network version");const n=r[4],o=r.readUInt32BE(5);if(0===n&&0!==o)throw new TypeError("Invalid parent fingerprint");const s=r.readUInt32BE(9);if(0===n&&0!==s)throw new TypeError("Invalid index");const h=r.slice(13,45);let a;if(i===e.bip32.private){if(0!==r.readUInt8(45))throw new TypeError("Invalid private key");a=uc(r.slice(46,78),h,e,n,s,o)}else{a=fc(r.slice(45,78),h,e,n,s,o)}return a},Ot.fromPrivateKey=ac,Ot.fromPublicKey=function(t,e,r){return fc(t,e,r)},Ot.fromSeed=function(t,e){if(Ql(Ql.Buffer,t),t.length<16)throw new TypeError("Seed should be at least 128 bits");if(t.length>64)throw new TypeError("Seed should be at most 512 bits");e=e||ic;const r=Xl.hmacSHA512(W.from("Bitcoin seed","utf8"),t);return ac(r.slice(0,32),r.slice(32),e)},Object.defineProperty(P,"__esModule",{value:!0});var lc=Ot;P.fromSeed=lc.fromSeed,P.fromBase58=lc.fromBase58,P.fromPublicKey=lc.fromPublicKey,P.fromPrivateKey=lc.fromPrivateKey;var cc={},dc={};Object.defineProperty(dc,"__esModule",{value:!0}),dc.bitcoin={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},dc.regtest={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239},dc.testnet={messagePrefix:"Bitcoin Signed Message:\n",bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var pc={},mc={},gc={},yc={};Object.defineProperty(yc,"__esModule",{value:!0}),yc.decode=function(t,e,r){e=e||4,r=void 0===r||r;const i=t.length;if(0===i)return 0;if(i>e)throw new TypeError("Script number overflow");if(r&&0==(127&t[i-1])&&(i<=1||0==(128&t[i-2])))throw new Error("Non-minimally encoded script number");if(5===i){const e=t.readUInt32LE(0),r=t.readUInt8(4);return 128&r?-(4294967296*(-129&r)+e):4294967296*r+e}let n=0;for(let e=0;e<i;++e)n|=t[e]<<8*e;return 128&t[i-1]?-(n&~(128<<8*(i-1))):n},yc.encode=function(t){let e=Math.abs(t);const r=function(t){return t>2147483647?5:t>8388607?4:t>32767?3:t>127?2:t>0?1:0}(e),i=W.allocUnsafe(r),n=t<0;for(let t=0;t<r;++t)i.writeUInt8(255&e,t),e>>=8;return 128&i[r-1]?i.writeUInt8(n?128:0,r-1):n&&(i[r-1]|=128),i};var vc={},bc={};Object.defineProperty(bc,"__esModule",{value:!0});const wc=Wl,Mc=Math.pow(2,31)-1;function _c(t){return wc.String(t)&&!!t.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}bc.UInt31=function(t){return wc.UInt32(t)&&t<=Mc},bc.BIP32Path=_c,_c.toJSON=()=>"BIP32 derivation path",bc.Signer=function(t){return(wc.Buffer(t.publicKey)||"function"==typeof t.getPublicKey)&&"function"==typeof t.sign};bc.Satoshi=function(t){return wc.UInt53(t)&&t<=21e14},bc.ECPoint=wc.quacksLike("Point"),bc.Network=wc.compile({messagePrefix:wc.oneOf(wc.Buffer,wc.String),bip32:{public:wc.UInt32,private:wc.UInt32},pubKeyHash:wc.UInt8,scriptHash:wc.UInt8,wif:wc.UInt8}),bc.Buffer256bit=wc.BufferN(32),bc.Hash160bit=wc.BufferN(20),bc.Hash256bit=wc.BufferN(32),bc.Number=wc.Number,bc.Array=wc.Array,bc.Boolean=wc.Boolean,bc.String=wc.String,bc.Buffer=wc.Buffer,bc.Hex=wc.Hex,bc.maybe=wc.maybe,bc.tuple=wc.tuple,bc.UInt8=wc.UInt8,bc.UInt32=wc.UInt32,bc.Function=wc.Function,bc.BufferN=wc.BufferN,bc.Null=wc.Null,bc.oneOf=wc.oneOf;var Sc=Bt.exports.Buffer;var Ec={check:function(t){if(t.length<8)return!1;if(t.length>72)return!1;if(48!==t[0])return!1;if(t[1]!==t.length-2)return!1;if(2!==t[2])return!1;var e=t[3];if(0===e)return!1;if(5+e>=t.length)return!1;if(2!==t[4+e])return!1;var r=t[5+e];return 0!==r&&(6+e+r===t.length&&(!(128&t[4])&&(!(e>1&&0===t[4]&&!(128&t[5]))&&(!(128&t[e+6])&&!(r>1&&0===t[e+6]&&!(128&t[e+7]))))))},decode:function(t){if(t.length<8)throw new Error("DER sequence length is too short");if(t.length>72)throw new Error("DER sequence length is too long");if(48!==t[0])throw new Error("Expected DER sequence");if(t[1]!==t.length-2)throw new Error("DER sequence length is invalid");if(2!==t[2])throw new Error("Expected DER integer");var e=t[3];if(0===e)throw new Error("R length is zero");if(5+e>=t.length)throw new Error("R length is too long");if(2!==t[4+e])throw new Error("Expected DER integer (2)");var r=t[5+e];if(0===r)throw new Error("S length is zero");if(6+e+r!==t.length)throw new Error("S length is invalid");if(128&t[4])throw new Error("R value is negative");if(e>1&&0===t[4]&&!(128&t[5]))throw new Error("R value excessively padded");if(128&t[e+6])throw new Error("S value is negative");if(r>1&&0===t[e+6]&&!(128&t[e+7]))throw new Error("S value excessively padded");return{r:t.slice(4,4+e),s:t.slice(6+e)}},encode:function(t,e){var r=t.length,i=e.length;if(0===r)throw new Error("R length is zero");if(0===i)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(i>33)throw new Error("S length is too long");if(128&t[0])throw new Error("R value is negative");if(128&e[0])throw new Error("S value is negative");if(r>1&&0===t[0]&&!(128&t[1]))throw new Error("R value excessively padded");if(i>1&&0===e[0]&&!(128&e[1]))throw new Error("S value excessively padded");var n=Sc.allocUnsafe(6+r+i);return n[0]=48,n[1]=n.length-2,n[2]=2,n[3]=t.length,t.copy(n,4),n[4+r]=2,n[5+r]=e.length,e.copy(n,6+r),n}};Object.defineProperty(vc,"__esModule",{value:!0});const kc=bc,Ac=Ec,Ic=Wl,Tc=W.alloc(1,0);function Oc(t){let e=0;for(;0===t[e];)++e;return e===t.length?Tc:128&(t=t.slice(e))[0]?W.concat([Tc,t],1+t.length):t}function Pc(t){0===t[0]&&(t=t.slice(1));const e=W.alloc(32,0),r=Math.max(0,32-t.length);return t.copy(e,r),e}vc.decode=function(t){const e=t.readUInt8(t.length-1),r=-129&e;if(r<=0||r>=4)throw new Error("Invalid hashType "+e);const i=Ac.decode(t.slice(0,-1)),n=Pc(i.r),o=Pc(i.s);return{signature:W.concat([n,o],64),hashType:e}},vc.encode=function(t,e){Ic({signature:kc.BufferN(64),hashType:kc.UInt8},{signature:t,hashType:e});const r=-129&e;if(r<=0||r>=4)throw new Error("Invalid hashType "+e);const i=W.allocUnsafe(1);i.writeUInt8(e,0);const n=Oc(t.slice(0,32)),o=Oc(t.slice(32,64));return W.concat([Ac.encode(n,o),i])};var xc={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255},Bc=xc;function Rc(t){return t<Bc.OP_PUSHDATA1?1:t<=255?2:t<=65535?3:5}var Nc={encodingLength:Rc,encode:function(t,e,r){var i=Rc(e);return 1===i?t.writeUInt8(e,r):2===i?(t.writeUInt8(Bc.OP_PUSHDATA1,r),t.writeUInt8(e,r+1)):3===i?(t.writeUInt8(Bc.OP_PUSHDATA2,r),t.writeUInt16LE(e,r+1)):(t.writeUInt8(Bc.OP_PUSHDATA4,r),t.writeUInt32LE(e,r+1)),i},decode:function(t,e){var r,i,n=t.readUInt8(e);if(n<Bc.OP_PUSHDATA1)r=n,i=1;else if(n===Bc.OP_PUSHDATA1){if(e+2>t.length)return null;r=t.readUInt8(e+1),i=2}else if(n===Bc.OP_PUSHDATA2){if(e+3>t.length)return null;r=t.readUInt16LE(e+1),i=3}else{if(e+5>t.length)return null;if(n!==Bc.OP_PUSHDATA4)throw new Error("Unexpected opcode");r=t.readUInt32LE(e+1),i=5}return{opcode:n,number:r,size:i}}},Uc=xc,Cc={};for(var Lc in Uc){Cc[Uc[Lc]]=Lc}var Dc=Cc;!function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=yc,r=vc,i=bc,n=Ec,o=al,s=Nc,h=Wl;t.OPS=xc;const a=Dc,u=t.OPS.OP_RESERVED;function f(e){return i.Buffer(e)||function(e){return i.Number(e)&&(e===t.OPS.OP_0||e>=t.OPS.OP_1&&e<=t.OPS.OP_16||e===t.OPS.OP_1NEGATE)}(e)}function l(t){return i.Array(t)&&t.every(f)}function c(e){return 0===e.length?t.OPS.OP_0:1===e.length?e[0]>=1&&e[0]<=16?u+e[0]:129===e[0]?t.OPS.OP_1NEGATE:void 0:void 0}function d(t){return It(t)}function p(t){return It(t)}function m(t){if(d(t))return t;h(i.Array,t);const e=t.reduce(((t,e)=>p(e)?1===e.length&&void 0!==c(e)?t+1:t+s.encodingLength(e.length)+e.length:t+1),0),r=W.allocUnsafe(e);let n=0;if(t.forEach((t=>{if(p(t)){const e=c(t);if(void 0!==e)return r.writeUInt8(e,n),void(n+=1);n+=s.encode(r,t.length,n),t.copy(r,n),n+=t.length}else r.writeUInt8(t,n),n+=1})),n!==r.length)throw new Error("Could not decode chunks");return r}function g(e){if(r=e,i.Array(r))return e;var r;h(i.Buffer,e);const n=[];let o=0;for(;o<e.length;){const r=e[o];if(r>t.OPS.OP_0&&r<=t.OPS.OP_PUSHDATA4){const t=s.decode(e,o);if(null===t)return null;if(o+=t.size,o+t.number>e.length)return null;const r=e.slice(o,o+t.number);o+=t.number;const i=c(r);void 0!==i?n.push(i):n.push(r)}else n.push(r),o+=1}return n}function y(t){const e=-129&t;return e>0&&e<4}t.isPushOnly=l,t.compile=m,t.decompile=g,t.toASM=function(t){return d(t)&&(t=g(t)),t.map((t=>{if(p(t)){const e=c(t);if(void 0===e)return t.toString("hex");t=e}return a[t]})).join(" ")},t.fromASM=function(e){return h(i.String,e),m(e.split(" ").map((e=>void 0!==t.OPS[e]?t.OPS[e]:(h(i.Hex,e),W.from(e,"hex")))))},t.toStack=function(r){return r=g(r),h(l,r),r.map((r=>p(r)?r:r===t.OPS.OP_0?W.allocUnsafe(0):e.encode(r-u)))},t.isCanonicalPubKey=function(t){return o.isPoint(t)},t.isDefinedHashType=y,t.isCanonicalScriptSignature=function(t){return!!It(t)&&(!!y(t[t.length-1])&&n.check(t.slice(0,-1)))},t.number=e,t.signature=r}(gc);var jc={};Object.defineProperty(jc,"__esModule",{value:!0}),jc.prop=function(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){const t=r.call(this);return this[e]=t,t},set(t){Object.defineProperty(this,e,{configurable:!0,enumerable:!0,value:t,writable:!0})}})},jc.value=function(t){let e;return()=>(void 0!==e||(e=t()),e)},Object.defineProperty(mc,"__esModule",{value:!0});const Hc=dc,qc=gc,Kc=jc,Fc=Wl,zc=qc.OPS;mc.p2data=function(t,e){if(!t.data&&!t.output)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),Fc({network:Fc.maybe(Fc.Object),output:Fc.maybe(Fc.Buffer),data:Fc.maybe(Fc.arrayOf(Fc.Buffer))},t);const r={name:"embed",network:t.network||Hc.bitcoin};if(Kc.prop(r,"output",(()=>{if(t.data)return qc.compile([zc.OP_RETURN].concat(t.data))})),Kc.prop(r,"data",(()=>{if(t.output)return qc.decompile(t.output).slice(1)})),e.validate&&t.output){const e=qc.decompile(t.output);if(e[0]!==zc.OP_RETURN)throw new TypeError("Output is invalid");if(!e.slice(1).every(Fc.Buffer))throw new TypeError("Output is invalid");if(t.data&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.data,r.data))throw new TypeError("Data mismatch")}return Object.assign(r,t)};var Wc={};Object.defineProperty(Wc,"__esModule",{value:!0});const Vc=dc,Zc=gc,Gc=jc,$c=Zc.OPS,Xc=Wl,Yc=al,Jc=$c.OP_RESERVED;function Qc(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}Wc.p2ms=function(t,e){if(!(t.input||t.output||t.pubkeys&&void 0!==t.m||t.signatures))throw new TypeError("Not enough data");function r(t){return Zc.isCanonicalScriptSignature(t)||void 0!==(e.allowIncomplete&&t===$c.OP_0)}e=Object.assign({validate:!0},e||{}),Xc({network:Xc.maybe(Xc.Object),m:Xc.maybe(Xc.Number),n:Xc.maybe(Xc.Number),output:Xc.maybe(Xc.Buffer),pubkeys:Xc.maybe(Xc.arrayOf(Yc.isPoint)),signatures:Xc.maybe(Xc.arrayOf(r)),input:Xc.maybe(Xc.Buffer)},t);const i={network:t.network||Vc.bitcoin};let n=[],o=!1;function s(t){o||(o=!0,n=Zc.decompile(t),i.m=n[0]-Jc,i.n=n[n.length-2]-Jc,i.pubkeys=n.slice(1,-2))}if(Gc.prop(i,"output",(()=>{if(t.m&&i.n&&t.pubkeys)return Zc.compile([].concat(Jc+t.m,t.pubkeys,Jc+i.n,$c.OP_CHECKMULTISIG))})),Gc.prop(i,"m",(()=>{if(i.output)return s(i.output),i.m})),Gc.prop(i,"n",(()=>{if(i.pubkeys)return i.pubkeys.length})),Gc.prop(i,"pubkeys",(()=>{if(t.output)return s(t.output),i.pubkeys})),Gc.prop(i,"signatures",(()=>{if(t.input)return Zc.decompile(t.input).slice(1)})),Gc.prop(i,"input",(()=>{if(t.signatures)return Zc.compile([$c.OP_0].concat(t.signatures))})),Gc.prop(i,"witness",(()=>{if(i.input)return[]})),Gc.prop(i,"name",(()=>{if(i.m&&i.n)return`p2ms(${i.m} of ${i.n})`})),e.validate){if(t.output){if(s(t.output),!Xc.Number(n[0]))throw new TypeError("Output is invalid");if(!Xc.Number(n[n.length-2]))throw new TypeError("Output is invalid");if(n[n.length-1]!==$c.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==n.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every((t=>Yc.isPoint(t))))throw new TypeError("Output is invalid");if(void 0!==t.m&&t.m!==i.m)throw new TypeError("m mismatch");if(void 0!==t.n&&t.n!==i.n)throw new TypeError("n mismatch");if(t.pubkeys&&!Qc(t.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(t.pubkeys){if(void 0!==t.n&&t.n!==t.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=t.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(t.signatures){if(t.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(t.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(t.input){if(t.input[0]!==$c.OP_0)throw new TypeError("Input is invalid");if(0===i.signatures.length||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(t.signatures&&!Qc(t.signatures,i.signatures))throw new TypeError("Signature mismatch");if(void 0!==t.m&&t.m!==t.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,t)};var td={};Object.defineProperty(td,"__esModule",{value:!0});const ed=dc,rd=gc,id=jc,nd=Wl,od=rd.OPS,sd=al;td.p2pk=function(t,e){if(!(t.input||t.output||t.pubkey||t.input||t.signature))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),nd({network:nd.maybe(nd.Object),output:nd.maybe(nd.Buffer),pubkey:nd.maybe(sd.isPoint),signature:nd.maybe(rd.isCanonicalScriptSignature),input:nd.maybe(nd.Buffer)},t);const r=id.value((()=>rd.decompile(t.input))),i={name:"p2pk",network:t.network||ed.bitcoin};if(id.prop(i,"output",(()=>{if(t.pubkey)return rd.compile([t.pubkey,od.OP_CHECKSIG])})),id.prop(i,"pubkey",(()=>{if(t.output)return t.output.slice(1,-1)})),id.prop(i,"signature",(()=>{if(t.input)return r()[0]})),id.prop(i,"input",(()=>{if(t.signature)return rd.compile([t.signature])})),id.prop(i,"witness",(()=>{if(i.input)return[]})),e.validate){if(t.output){if(t.output[t.output.length-1]!==od.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!sd.isPoint(i.pubkey))throw new TypeError("Output pubkey is invalid");if(t.pubkey&&!t.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(t.signature&&t.input&&!t.input.equals(i.input))throw new TypeError("Signature mismatch");if(t.input){if(1!==r().length)throw new TypeError("Input is invalid");if(!rd.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,t)};var hd={},ad={};Object.defineProperty(ad,"__esModule",{value:!0});const ud=ks;function fd(t){try{return ud("rmd160").update(t).digest()}catch(e){return ud("ripemd160").update(t).digest()}}function ld(t){return ud("sha256").update(t).digest()}ad.ripemd160=fd,ad.sha1=function(t){return ud("sha1").update(t).digest()},ad.sha256=ld,ad.hash160=function(t){return fd(ld(t))},ad.hash256=function(t){return ld(ld(t))},Object.defineProperty(hd,"__esModule",{value:!0});const cd=ad,dd=dc,pd=gc,md=jc,gd=Wl,yd=pd.OPS,vd=al,bd=Js;hd.p2pkh=function(t,e){if(!(t.address||t.hash||t.output||t.pubkey||t.input))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),gd({network:gd.maybe(gd.Object),address:gd.maybe(gd.String),hash:gd.maybe(gd.BufferN(20)),output:gd.maybe(gd.BufferN(25)),pubkey:gd.maybe(vd.isPoint),signature:gd.maybe(pd.isCanonicalScriptSignature),input:gd.maybe(gd.Buffer)},t);const r=md.value((()=>{const e=bd.decode(t.address);return{version:e.readUInt8(0),hash:e.slice(1)}})),i=md.value((()=>pd.decompile(t.input))),n=t.network||dd.bitcoin,o={name:"p2pkh",network:n};if(md.prop(o,"address",(()=>{if(!o.hash)return;const t=W.allocUnsafe(21);return t.writeUInt8(n.pubKeyHash,0),o.hash.copy(t,1),bd.encode(t)})),md.prop(o,"hash",(()=>t.output?t.output.slice(3,23):t.address?r().hash:t.pubkey||o.pubkey?cd.hash160(t.pubkey||o.pubkey):void 0)),md.prop(o,"output",(()=>{if(o.hash)return pd.compile([yd.OP_DUP,yd.OP_HASH160,o.hash,yd.OP_EQUALVERIFY,yd.OP_CHECKSIG])})),md.prop(o,"pubkey",(()=>{if(t.input)return i()[1]})),md.prop(o,"signature",(()=>{if(t.input)return i()[0]})),md.prop(o,"input",(()=>{if(t.pubkey&&t.signature)return pd.compile([t.signature,t.pubkey])})),md.prop(o,"witness",(()=>{if(o.input)return[]})),e.validate){let e=W.from([]);if(t.address){if(r().version!==n.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(20!==r().hash.length)throw new TypeError("Invalid address");e=r().hash}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(25!==t.output.length||t.output[0]!==yd.OP_DUP||t.output[1]!==yd.OP_HASH160||20!==t.output[2]||t.output[23]!==yd.OP_EQUALVERIFY||t.output[24]!==yd.OP_CHECKSIG)throw new TypeError("Output is invalid");const r=t.output.slice(3,23);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.pubkey){const r=cd.hash160(t.pubkey);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.input){const r=i();if(2!==r.length)throw new TypeError("Input is invalid");if(!pd.isCanonicalScriptSignature(r[0]))throw new TypeError("Input has invalid signature");if(!vd.isPoint(r[1]))throw new TypeError("Input has invalid pubkey");if(t.signature&&!t.signature.equals(r[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(r[1]))throw new TypeError("Pubkey mismatch");const n=cd.hash160(r[1]);if(e.length>0&&!e.equals(n))throw new TypeError("Hash mismatch")}}return Object.assign(o,t)};var wd={};Object.defineProperty(wd,"__esModule",{value:!0});const Md=ad,_d=dc,Sd=gc,Ed=jc,kd=Wl,Ad=Sd.OPS,Id=Js;wd.p2sh=function(t,e){if(!(t.address||t.hash||t.output||t.redeem||t.input))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),kd({network:kd.maybe(kd.Object),address:kd.maybe(kd.String),hash:kd.maybe(kd.BufferN(20)),output:kd.maybe(kd.BufferN(23)),redeem:kd.maybe({network:kd.maybe(kd.Object),output:kd.maybe(kd.Buffer),input:kd.maybe(kd.Buffer),witness:kd.maybe(kd.arrayOf(kd.Buffer))}),input:kd.maybe(kd.Buffer),witness:kd.maybe(kd.arrayOf(kd.Buffer))},t);let r=t.network;r||(r=t.redeem&&t.redeem.network||_d.bitcoin);const i={network:r},n=Ed.value((()=>{const e=Id.decode(t.address);return{version:e.readUInt8(0),hash:e.slice(1)}})),o=Ed.value((()=>Sd.decompile(t.input))),s=Ed.value((()=>{const e=o();return{network:r,output:e[e.length-1],input:Sd.compile(e.slice(0,-1)),witness:t.witness||[]}}));if(Ed.prop(i,"address",(()=>{if(!i.hash)return;const t=W.allocUnsafe(21);return t.writeUInt8(i.network.scriptHash,0),i.hash.copy(t,1),Id.encode(t)})),Ed.prop(i,"hash",(()=>t.output?t.output.slice(2,22):t.address?n().hash:i.redeem&&i.redeem.output?Md.hash160(i.redeem.output):void 0)),Ed.prop(i,"output",(()=>{if(i.hash)return Sd.compile([Ad.OP_HASH160,i.hash,Ad.OP_EQUAL])})),Ed.prop(i,"redeem",(()=>{if(t.input)return s()})),Ed.prop(i,"input",(()=>{if(t.redeem&&t.redeem.input&&t.redeem.output)return Sd.compile([].concat(Sd.decompile(t.redeem.input),t.redeem.output))})),Ed.prop(i,"witness",(()=>i.redeem&&i.redeem.witness?i.redeem.witness:i.input?[]:void 0)),Ed.prop(i,"name",(()=>{const t=["p2sh"];return void 0!==i.redeem&&t.push(i.redeem.name),t.join("-")})),e.validate){let e=W.from([]);if(t.address){if(n().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(20!==n().hash.length)throw new TypeError("Invalid address");e=n().hash}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(23!==t.output.length||t.output[0]!==Ad.OP_HASH160||20!==t.output[1]||t.output[22]!==Ad.OP_EQUAL)throw new TypeError("Output is invalid");const r=t.output.slice(2,22);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}const i=t=>{if(t.output){const r=Sd.decompile(t.output);if(!r||r.length<1)throw new TypeError("Redeem.output too short");const i=Md.hash160(t.output);if(e.length>0&&!e.equals(i))throw new TypeError("Hash mismatch");e=i}if(t.input){const e=t.input.length>0,r=t.witness&&t.witness.length>0;if(!e&&!r)throw new TypeError("Empty input");if(e&&r)throw new TypeError("Input and witness provided");if(e){const e=Sd.decompile(t.input);if(!Sd.isPushOnly(e))throw new TypeError("Non push-only scriptSig")}}};if(t.input){const t=o();if(!t||t.length<1)throw new TypeError("Input too short");if(!It(s().output))throw new TypeError("Input is invalid");i(s())}if(t.redeem){if(t.redeem.network&&t.redeem.network!==r)throw new TypeError("Network mismatch");if(t.input){const e=s();if(t.redeem.output&&!t.redeem.output.equals(e.output))throw new TypeError("Redeem.output mismatch");if(t.redeem.input&&!t.redeem.input.equals(e.input))throw new TypeError("Redeem.input mismatch")}i(t.redeem)}if(t.witness&&t.redeem&&t.redeem.witness&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.redeem.witness,t.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(i,t)};for(var Td={},Od="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Pd={},xd=0;xd<Od.length;xd++){var Bd=Od.charAt(xd);if(void 0!==Pd[Bd])throw new TypeError(Bd+" is ambiguous");Pd[Bd]=xd}function Rd(t){var e=t>>25;return(33554431&t)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function Nd(t){for(var e=1,r=0;r<t.length;++r){var i=t.charCodeAt(r);if(i<33||i>126)return"Invalid prefix ("+t+")";e=Rd(e)^i>>5}for(e=Rd(e),r=0;r<t.length;++r){var n=t.charCodeAt(r);e=Rd(e)^31&n}return e}function Ud(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),i=t.toUpperCase();if(t!==r&&t!==i)return"Mixed-case string "+t;var n=(t=r).lastIndexOf("1");if(-1===n)return"No separator character for "+t;if(0===n)return"Missing prefix for "+t;var o=t.slice(0,n),s=t.slice(n+1);if(s.length<6)return"Data too short";var h=Nd(o);if("string"==typeof h)return h;for(var a=[],u=0;u<s.length;++u){var f=s.charAt(u),l=Pd[f];if(void 0===l)return"Unknown character "+f;h=Rd(h)^l,u+6>=s.length||a.push(l)}return 1!==h?"Invalid checksum for "+t:{prefix:o,words:a}}function Cd(t,e,r,i){for(var n=0,o=0,s=(1<<r)-1,h=[],a=0;a<t.length;++a)for(n=n<<e|t[a],o+=e;o>=r;)o-=r,h.push(n>>o&s);if(i)o>0&&h.push(n<<r-o&s);else{if(o>=e)return"Excess padding";if(n<<r-o&s)return"Non-zero padding"}return h}var Ld={decodeUnsafe:function(){var t=Ud.apply(null,arguments);if("object"==typeof t)return t},decode:function(t){var e=Ud.apply(null,arguments);if("object"==typeof e)return e;throw new Error(e)},encode:function(t,e,r){if(r=r||90,t.length+7+e.length>r)throw new TypeError("Exceeds length limit");var i=Nd(t=t.toLowerCase());if("string"==typeof i)throw new Error(i);for(var n=t+"1",o=0;o<e.length;++o){var s=e[o];if(s>>5!=0)throw new Error("Non 5-bit word");i=Rd(i)^s,n+=Od.charAt(s)}for(o=0;o<6;++o)i=Rd(i);for(i^=1,o=0;o<6;++o){n+=Od.charAt(i>>5*(5-o)&31)}return n},toWordsUnsafe:function(t){var e=Cd(t,8,5,!0);if(Array.isArray(e))return e},toWords:function(t){var e=Cd(t,8,5,!0);if(Array.isArray(e))return e;throw new Error(e)},fromWordsUnsafe:function(t){var e=Cd(t,5,8,!1);if(Array.isArray(e))return e},fromWords:function(t){var e=Cd(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}};Object.defineProperty(Td,"__esModule",{value:!0});const Dd=ad,jd=dc,Hd=gc,qd=jc,Kd=Wl,Fd=Hd.OPS,zd=al,Wd=Ld,Vd=W.alloc(0);Td.p2wpkh=function(t,e){if(!(t.address||t.hash||t.output||t.pubkey||t.witness))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),Kd({address:Kd.maybe(Kd.String),hash:Kd.maybe(Kd.BufferN(20)),input:Kd.maybe(Kd.BufferN(0)),network:Kd.maybe(Kd.Object),output:Kd.maybe(Kd.BufferN(22)),pubkey:Kd.maybe(zd.isPoint),signature:Kd.maybe(Hd.isCanonicalScriptSignature),witness:Kd.maybe(Kd.arrayOf(Kd.Buffer))},t);const r=qd.value((()=>{const e=Wd.decode(t.address),r=e.words.shift(),i=Wd.fromWords(e.words);return{version:r,prefix:e.prefix,data:W.from(i)}})),i=t.network||jd.bitcoin,n={name:"p2wpkh",network:i};if(qd.prop(n,"address",(()=>{if(!n.hash)return;const t=Wd.toWords(n.hash);return t.unshift(0),Wd.encode(i.bech32,t)})),qd.prop(n,"hash",(()=>t.output?t.output.slice(2,22):t.address?r().data:t.pubkey||n.pubkey?Dd.hash160(t.pubkey||n.pubkey):void 0)),qd.prop(n,"output",(()=>{if(n.hash)return Hd.compile([Fd.OP_0,n.hash])})),qd.prop(n,"pubkey",(()=>t.pubkey?t.pubkey:t.witness?t.witness[1]:void 0)),qd.prop(n,"signature",(()=>{if(t.witness)return t.witness[0]})),qd.prop(n,"input",(()=>{if(n.witness)return Vd})),qd.prop(n,"witness",(()=>{if(t.pubkey&&t.signature)return[t.signature,t.pubkey]})),e.validate){let e=W.from([]);if(t.address){if(i&&i.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(0!==r().version)throw new TypeError("Invalid address version");if(20!==r().data.length)throw new TypeError("Invalid address data");e=r().data}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(22!==t.output.length||t.output[0]!==Fd.OP_0||20!==t.output[1])throw new TypeError("Output is invalid");if(e.length>0&&!e.equals(t.output.slice(2)))throw new TypeError("Hash mismatch");e=t.output.slice(2)}if(t.pubkey){const r=Dd.hash160(t.pubkey);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");if(e=r,!zd.isPoint(t.pubkey)||33!==t.pubkey.length)throw new TypeError("Invalid pubkey for p2wpkh")}if(t.witness){if(2!==t.witness.length)throw new TypeError("Witness is invalid");if(!Hd.isCanonicalScriptSignature(t.witness[0]))throw new TypeError("Witness has invalid signature");if(!zd.isPoint(t.witness[1])||33!==t.witness[1].length)throw new TypeError("Witness has invalid pubkey");if(t.signature&&!t.signature.equals(t.witness[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(t.witness[1]))throw new TypeError("Pubkey mismatch");const r=Dd.hash160(t.witness[1]);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch")}}return Object.assign(n,t)};var Zd={};Object.defineProperty(Zd,"__esModule",{value:!0});const Gd=ad,$d=dc,Xd=gc,Yd=jc,Jd=Wl,Qd=Xd.OPS,tp=al,ep=Ld,rp=W.alloc(0);function ip(t){return!(!It(t)||65!==t.length||4!==t[0]||!tp.isPoint(t))}Zd.p2wsh=function(t,e){if(!(t.address||t.hash||t.output||t.redeem||t.witness))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),Jd({network:Jd.maybe(Jd.Object),address:Jd.maybe(Jd.String),hash:Jd.maybe(Jd.BufferN(32)),output:Jd.maybe(Jd.BufferN(34)),redeem:Jd.maybe({input:Jd.maybe(Jd.Buffer),network:Jd.maybe(Jd.Object),output:Jd.maybe(Jd.Buffer),witness:Jd.maybe(Jd.arrayOf(Jd.Buffer))}),input:Jd.maybe(Jd.BufferN(0)),witness:Jd.maybe(Jd.arrayOf(Jd.Buffer))},t);const r=Yd.value((()=>{const e=ep.decode(t.address),r=e.words.shift(),i=ep.fromWords(e.words);return{version:r,prefix:e.prefix,data:W.from(i)}})),i=Yd.value((()=>Xd.decompile(t.redeem.input)));let n=t.network;n||(n=t.redeem&&t.redeem.network||$d.bitcoin);const o={network:n};if(Yd.prop(o,"address",(()=>{if(!o.hash)return;const t=ep.toWords(o.hash);return t.unshift(0),ep.encode(n.bech32,t)})),Yd.prop(o,"hash",(()=>t.output?t.output.slice(2):t.address?r().data:o.redeem&&o.redeem.output?Gd.sha256(o.redeem.output):void 0)),Yd.prop(o,"output",(()=>{if(o.hash)return Xd.compile([Qd.OP_0,o.hash])})),Yd.prop(o,"redeem",(()=>{if(t.witness)return{output:t.witness[t.witness.length-1],input:rp,witness:t.witness.slice(0,-1)}})),Yd.prop(o,"input",(()=>{if(o.witness)return rp})),Yd.prop(o,"witness",(()=>{if(t.redeem&&t.redeem.input&&t.redeem.input.length>0&&t.redeem.output&&t.redeem.output.length>0){const e=Xd.toStack(i());return o.redeem=Object.assign({witness:e},t.redeem),o.redeem.input=rp,[].concat(e,t.redeem.output)}if(t.redeem&&t.redeem.output&&t.redeem.witness)return[].concat(t.redeem.witness,t.redeem.output)})),Yd.prop(o,"name",(()=>{const t=["p2wsh"];return void 0!==o.redeem&&t.push(o.redeem.name),t.join("-")})),e.validate){let e=W.from([]);if(t.address){if(r().prefix!==n.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(0!==r().version)throw new TypeError("Invalid address version");if(32!==r().data.length)throw new TypeError("Invalid address data");e=r().data}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(34!==t.output.length||t.output[0]!==Qd.OP_0||32!==t.output[1])throw new TypeError("Output is invalid");const r=t.output.slice(2);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.redeem){if(t.redeem.network&&t.redeem.network!==n)throw new TypeError("Network mismatch");if(t.redeem.input&&t.redeem.input.length>0&&t.redeem.witness&&t.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(t.redeem.output){if(0===Xd.decompile(t.redeem.output).length)throw new TypeError("Redeem.output is invalid");const r=Gd.sha256(t.redeem.output);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.redeem.input&&!Xd.isPushOnly(i()))throw new TypeError("Non push-only scriptSig");if(t.witness&&t.redeem.witness&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.witness,t.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(t.redeem.input&&i().some(ip)||t.redeem.output&&(Xd.decompile(t.redeem.output)||[]).some(ip))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(t.witness&&t.witness.length>0){const e=t.witness[t.witness.length-1];if(t.redeem&&t.redeem.output&&!t.redeem.output.equals(e))throw new TypeError("Witness and redeem.output mismatch");if(t.witness.some(ip)||(Xd.decompile(e)||[]).some(ip))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(o,t)},Object.defineProperty(pc,"__esModule",{value:!0});const np=mc;pc.embed=np.p2data;const op=Wc;pc.p2ms=op.p2ms;const sp=td;pc.p2pk=sp.p2pk;const hp=hd;pc.p2pkh=hp.p2pkh;const ap=wd;pc.p2sh=ap.p2sh;const up=Td;pc.p2wpkh=up.p2wpkh;const fp=Zd;pc.p2wsh=fp.p2wsh,Object.defineProperty(cc,"__esModule",{value:!0});const lp=dc,cp=pc,dp=gc,pp=bc,mp=Ld,gp=Js,yp=Wl;function vp(t){const e=gp.decode(t);if(e.length<21)throw new TypeError(t+" is too short");if(e.length>21)throw new TypeError(t+" is too long");return{version:e.readUInt8(0),hash:e.slice(1)}}function bp(t){const e=mp.decode(t),r=mp.fromWords(e.words.slice(1));return{version:e.words[0],prefix:e.prefix,data:W.from(r)}}cc.fromBase58Check=vp,cc.fromBech32=bp,cc.toBase58Check=function(t,e){yp(pp.tuple(pp.Hash160bit,pp.UInt8),arguments);const r=W.allocUnsafe(21);return r.writeUInt8(e,0),t.copy(r,1),gp.encode(r)},cc.toBech32=function(t,e,r){const i=mp.toWords(t);return i.unshift(e),mp.encode(r,i)},cc.fromOutputScript=function(t,e){e=e||lp.bitcoin;try{return cp.p2pkh({output:t,network:e}).address}catch(t){}try{return cp.p2sh({output:t,network:e}).address}catch(t){}try{return cp.p2wpkh({output:t,network:e}).address}catch(t){}try{return cp.p2wsh({output:t,network:e}).address}catch(t){}throw new Error(dp.toASM(t)+" has no matching Address")},cc.toOutputScript=function(t,e){let r,i;e=e||lp.bitcoin;try{r=vp(t)}catch(t){}if(r){if(r.version===e.pubKeyHash)return cp.p2pkh({hash:r.hash}).output;if(r.version===e.scriptHash)return cp.p2sh({hash:r.hash}).output}else{try{i=bp(t)}catch(t){}if(i){if(i.prefix!==e.bech32)throw new Error(t+" has an invalid prefix");if(0===i.version){if(20===i.data.length)return cp.p2wpkh({hash:i.data}).output;if(32===i.data.length)return cp.p2wsh({hash:i.data}).output}}}throw new Error(t+" has no matching Script")};var wp={},Mp={exports:{}};var _p=Bt.exports.Buffer,Sp=I.crypto||I.msCrypto;Sp&&Sp.getRandomValues?Mp.exports=function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var r=_p.allocUnsafe(t);if(t>0)if(t>65536)for(var i=0;i<t;i+=65536)Sp.getRandomValues(r.slice(i,i+65536));else Sp.getRandomValues(r);if("function"==typeof e)return ie((function(){e(null,r)}));return r}:Mp.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")},Object.defineProperty(wp,"__esModule",{value:!0});const Ep=dc,kp=bc,Ap=al,Ip=Mp.exports,Tp=Wl,Op=$l,Pp=Tp.maybe(Tp.compile({compressed:kp.maybe(kp.Boolean),network:kp.maybe(kp.Network)}));class xp{constructor(t,e,r){this.__D=t,this.__Q=e,this.lowR=!1,void 0===r&&(r={}),this.compressed=void 0===r.compressed||r.compressed,this.network=r.network||Ep.bitcoin,void 0!==e&&(this.__Q=Ap.pointCompress(e,this.compressed))}get privateKey(){return this.__D}get publicKey(){return this.__Q||(this.__Q=Ap.pointFromScalar(this.__D,this.compressed)),this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return Op.encode(this.network.wif,this.__D,this.compressed)}sign(t,e){if(!this.__D)throw new Error("Missing private key");if(void 0===e&&(e=this.lowR),!1===e)return Ap.sign(t,this.__D);{let e=Ap.sign(t,this.__D);const r=W.alloc(32,0);let i=0;for(;e[0]>127;)i++,r.writeUIntLE(i,0,6),e=Ap.signWithEntropy(t,this.__D,r);return e}}verify(t,e){return Ap.verify(t,this.publicKey,e)}}function Bp(t,e){if(Tp(kp.Buffer256bit,t),!Ap.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return Tp(Pp,e),new xp(t,void 0,e)}wp.fromPrivateKey=Bp,wp.fromPublicKey=function(t,e){return Tp(Ap.isPoint,t),Tp(Pp,e),new xp(void 0,t,e)},wp.fromWIF=function(t,e){const r=Op.decode(t),i=r.version;if(kp.Array(e)){if(e=e.filter((t=>i===t.wif)).pop(),!e)throw new Error("Unknown network version")}else if(e=e||Ep.bitcoin,i!==e.wif)throw new Error("Invalid network version");return Bp(r.privateKey,{compressed:r.compressed,network:e})},wp.makeRandom=function(t){Tp(Pp,t),void 0===t&&(t={});const e=t.rng||Ip;let r;do{r=e(32),Tp(kp.Buffer256bit,r)}while(!Ap.isPrivate(r));return Bp(r,t)};var Rp={},Np={},Up=Bt.exports.Buffer;function Cp(t){if(t<0||t>9007199254740991||t%1!=0)throw new RangeError("value out of range")}function Lp(t){return Cp(t),t<253?1:t<=65535?3:t<=4294967295?5:9}var Dp={encode:function t(e,r,i){if(Cp(e),r||(r=Up.allocUnsafe(Lp(e))),!Up.isBuffer(r))throw new TypeError("buffer must be a Buffer instance");return i||(i=0),e<253?(r.writeUInt8(e,i),t.bytes=1):e<=65535?(r.writeUInt8(253,i),r.writeUInt16LE(e,i+1),t.bytes=3):e<=4294967295?(r.writeUInt8(254,i),r.writeUInt32LE(e,i+1),t.bytes=5):(r.writeUInt8(255,i),r.writeUInt32LE(e>>>0,i+1),r.writeUInt32LE(e/4294967296|0,i+5),t.bytes=9),r},decode:function t(e,r){if(!Up.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");r||(r=0);var i=e.readUInt8(r);if(i<253)return t.bytes=1,i;if(253===i)return t.bytes=3,e.readUInt16LE(r+1);if(254===i)return t.bytes=5,e.readUInt32LE(r+1);t.bytes=9;var n=e.readUInt32LE(r+1),o=4294967296*e.readUInt32LE(r+5)+n;return Cp(o),o},encodingLength:Lp};Object.defineProperty(Np,"__esModule",{value:!0});const jp=bc,Hp=Wl,qp=Dp;function Kp(t,e){if("number"!=typeof t)throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}function Fp(t,e){const r=t.readUInt32LE(e);let i=t.readUInt32LE(e+4);return i*=4294967296,Kp(i+r,9007199254740991),i+r}function zp(t,e,r){return Kp(e,9007199254740991),t.writeInt32LE(-1&e,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8}Np.readUInt64LE=Fp,Np.writeUInt64LE=zp,Np.reverseBuffer=function(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let i=0;i<t.length/2;i++)r=t[i],t[i]=t[e],t[e]=r,e--;return t},Np.cloneBuffer=function(t){const e=W.allocUnsafe(t.length);return t.copy(e),e};Np.BufferWriter=class{constructor(t,e=0){this.buffer=t,this.offset=e,Hp(jp.tuple(jp.Buffer,jp.UInt32),[t,e])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=zp(this.buffer,t,this.offset)}writeVarInt(t){qp.encode(t,this.buffer,this.offset),this.offset+=qp.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach((t=>this.writeVarSlice(t)))}};Np.BufferReader=class{constructor(t,e=0){this.buffer=t,this.offset=e,Hp(jp.tuple(jp.Buffer,jp.UInt32),[t,e])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=Fp(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=qp.decode(this.buffer,this.offset);return this.offset+=qp.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const e=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,e}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),e=[];for(let r=0;r<t;r++)e.push(this.readVarSlice());return e}};var Wp={};Object.defineProperty(Wp,"__esModule",{value:!0});const Vp=Np,Zp=ad,Gp=gc,$p=gc,Xp=bc,Yp=Wl,Jp=Dp;function Qp(t){const e=t.length;return Jp.encodingLength(e)+e}const tm=W.allocUnsafe(0),em=[],rm=W.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),im=W.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),nm=W.from("ffffffffffffffff","hex"),om={script:tm,valueBuffer:nm};class sm{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,e){const r=new Vp.BufferReader(t),i=new sm;i.version=r.readInt32();const n=r.readUInt8(),o=r.readUInt8();let s=!1;n===sm.ADVANCED_TRANSACTION_MARKER&&o===sm.ADVANCED_TRANSACTION_FLAG?s=!0:r.offset-=2;const h=r.readVarInt();for(let t=0;t<h;++t)i.ins.push({hash:r.readSlice(32),index:r.readUInt32(),script:r.readVarSlice(),sequence:r.readUInt32(),witness:em});const a=r.readVarInt();for(let t=0;t<a;++t)i.outs.push({value:r.readUInt64(),script:r.readVarSlice()});if(s){for(let t=0;t<h;++t)i.ins[t].witness=r.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=r.readUInt32(),e)return i;if(r.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return sm.fromBuffer(W.from(t,"hex"),!1)}static isCoinbaseHash(t){Yp(Xp.Hash256bit,t);for(let e=0;e<32;++e)if(0!==t[e])return!1;return!0}isCoinbase(){return 1===this.ins.length&&sm.isCoinbaseHash(this.ins[0].hash)}addInput(t,e,r,i){return Yp(Xp.tuple(Xp.Hash256bit,Xp.UInt32,Xp.maybe(Xp.UInt32),Xp.maybe(Xp.Buffer)),arguments),Xp.Null(r)&&(r=sm.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:e,script:i||tm,sequence:r,witness:em})-1}addOutput(t,e){return Yp(Xp.tuple(Xp.Buffer,Xp.Satoshi),arguments),this.outs.push({script:t,value:e})-1}hasWitnesses(){return this.ins.some((t=>0!==t.witness.length))}weight(){return 3*this.byteLength(!1)+this.byteLength(!0)}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const e=t&&this.hasWitnesses();return(e?10:8)+Jp.encodingLength(this.ins.length)+Jp.encodingLength(this.outs.length)+this.ins.reduce(((t,e)=>t+40+Qp(e.script)),0)+this.outs.reduce(((t,e)=>t+8+Qp(e.script)),0)+(e?this.ins.reduce(((t,e)=>t+function(t){const e=t.length;return Jp.encodingLength(e)+t.reduce(((t,e)=>t+Qp(e)),0)}(e.witness)),0):0)}clone(){const t=new sm;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map((t=>({hash:t.hash,index:t.index,script:t.script,sequence:t.sequence,witness:t.witness}))),t.outs=this.outs.map((t=>({script:t.script,value:t.value}))),t}hashForSignature(t,e,r){if(Yp(Xp.tuple(Xp.UInt32,Xp.Buffer,Xp.Number),arguments),t>=this.ins.length)return im;const i=Gp.compile(Gp.decompile(e).filter((t=>t!==$p.OPS.OP_CODESEPARATOR))),n=this.clone();if((31&r)===sm.SIGHASH_NONE)n.outs=[],n.ins.forEach(((e,r)=>{r!==t&&(e.sequence=0)}));else if((31&r)===sm.SIGHASH_SINGLE){if(t>=this.outs.length)return im;n.outs.length=t+1;for(let e=0;e<t;e++)n.outs[e]=om;n.ins.forEach(((e,r)=>{r!==t&&(e.sequence=0)}))}r&sm.SIGHASH_ANYONECANPAY?(n.ins=[n.ins[t]],n.ins[0].script=i):(n.ins.forEach((t=>{t.script=tm})),n.ins[t].script=i);const o=W.allocUnsafe(n.byteLength(!1)+4);return o.writeInt32LE(r,o.length-4),n.__toBuffer(o,0,!1),Zp.hash256(o)}hashForWitnessV0(t,e,r,i){Yp(Xp.tuple(Xp.UInt32,Xp.Buffer,Xp.Satoshi,Xp.UInt32),arguments);let n,o=W.from([]),s=rm,h=rm,a=rm;if(i&sm.SIGHASH_ANYONECANPAY||(o=W.allocUnsafe(36*this.ins.length),n=new Vp.BufferWriter(o,0),this.ins.forEach((t=>{n.writeSlice(t.hash),n.writeUInt32(t.index)})),h=Zp.hash256(o)),i&sm.SIGHASH_ANYONECANPAY||(31&i)===sm.SIGHASH_SINGLE||(31&i)===sm.SIGHASH_NONE||(o=W.allocUnsafe(4*this.ins.length),n=new Vp.BufferWriter(o,0),this.ins.forEach((t=>{n.writeUInt32(t.sequence)})),a=Zp.hash256(o)),(31&i)!==sm.SIGHASH_SINGLE&&(31&i)!==sm.SIGHASH_NONE){const t=this.outs.reduce(((t,e)=>t+8+Qp(e.script)),0);o=W.allocUnsafe(t),n=new Vp.BufferWriter(o,0),this.outs.forEach((t=>{n.writeUInt64(t.value),n.writeVarSlice(t.script)})),s=Zp.hash256(o)}else if((31&i)===sm.SIGHASH_SINGLE&&t<this.outs.length){const e=this.outs[t];o=W.allocUnsafe(8+Qp(e.script)),n=new Vp.BufferWriter(o,0),n.writeUInt64(e.value),n.writeVarSlice(e.script),s=Zp.hash256(o)}o=W.allocUnsafe(156+Qp(e)),n=new Vp.BufferWriter(o,0);const u=this.ins[t];return n.writeUInt32(this.version),n.writeSlice(h),n.writeSlice(a),n.writeSlice(u.hash),n.writeUInt32(u.index),n.writeVarSlice(e),n.writeUInt64(r),n.writeUInt32(u.sequence),n.writeSlice(s),n.writeUInt32(this.locktime),n.writeUInt32(i),Zp.hash256(o)}getHash(t){return t&&this.isCoinbase()?W.alloc(32,0):Zp.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return Vp.reverseBuffer(this.getHash(!1)).toString("hex")}toBuffer(t,e){return this.__toBuffer(t,e,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,e){Yp(Xp.tuple(Xp.Number,Xp.Buffer),arguments),this.ins[t].script=e}setWitness(t,e){Yp(Xp.tuple(Xp.Number,[Xp.Buffer]),arguments),this.ins[t].witness=e}__toBuffer(t,e,r=!1){t||(t=W.allocUnsafe(this.byteLength(r)));const i=new Vp.BufferWriter(t,e||0);i.writeInt32(this.version);const n=r&&this.hasWitnesses();return n&&(i.writeUInt8(sm.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(sm.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach((t=>{i.writeSlice(t.hash),i.writeUInt32(t.index),i.writeVarSlice(t.script),i.writeUInt32(t.sequence)})),i.writeVarInt(this.outs.length),this.outs.forEach((t=>{void 0!==t.value?i.writeUInt64(t.value):i.writeSlice(t.valueBuffer),i.writeVarSlice(t.script)})),n&&this.ins.forEach((t=>{i.writeVector(t.witness)})),i.writeUInt32(this.locktime),void 0!==e?t.slice(e,i.offset):t}}sm.DEFAULT_SEQUENCE=4294967295,sm.SIGHASH_ALL=1,sm.SIGHASH_NONE=2,sm.SIGHASH_SINGLE=3,sm.SIGHASH_ANYONECANPAY=128,sm.ADVANCED_TRANSACTION_MARKER=0,sm.ADVANCED_TRANSACTION_FLAG=1,Wp.Transaction=sm;Object.defineProperty(Rp,"__esModule",{value:!0});const hm=Np,am=ad,um=Wp,fm=bc,lm=function(t,e){if(!Array.isArray(t))throw TypeError("Expected values Array");if("function"!=typeof e)throw TypeError("Expected digest Function");for(var r=t.length,i=t.concat();r>1;){for(var n=0,o=0;o<r;o+=2,++n){var s=i[o],h=o+1===r?s:i[o+1],a=W.concat([s,h]);i[n]=e(a)}r=n}return i[0]},cm=Wl,dm=Dp,pm=new TypeError("Cannot compute merkle root for zero transactions"),mm=new TypeError("Cannot compute witness commit for non-segwit block");class gm{constructor(){this.version=1,this.prevHash=void 0,this.merkleRoot=void 0,this.timestamp=0,this.witnessCommit=void 0,this.bits=0,this.nonce=0,this.transactions=void 0}static fromBuffer(t){if(t.length<80)throw new Error("Buffer too small (< 80 bytes)");const e=new hm.BufferReader(t),r=new gm;if(r.version=e.readInt32(),r.prevHash=e.readSlice(32),r.merkleRoot=e.readSlice(32),r.timestamp=e.readUInt32(),r.bits=e.readUInt32(),r.nonce=e.readUInt32(),80===t.length)return r;const i=()=>{const t=um.Transaction.fromBuffer(e.buffer.slice(e.offset),!0);return e.offset+=t.byteLength(),t},n=e.readVarInt();r.transactions=[];for(let t=0;t<n;++t){const t=i();r.transactions.push(t)}const o=r.getWitnessCommit();return o&&(r.witnessCommit=o),r}static fromHex(t){return gm.fromBuffer(W.from(t,"hex"))}static calculateTarget(t){const e=((4278190080&t)>>24)-3,r=8388607&t,i=W.alloc(32,0);return i.writeUIntBE(r,29-e,3),i}static calculateMerkleRoot(t,e){if(cm([{getHash:fm.Function}],t),0===t.length)throw pm;if(e&&!ym(t))throw mm;const r=t.map((t=>t.getHash(e))),i=lm(r,am.hash256);return e?am.hash256(W.concat([i,t[0].ins[0].witness[0]])):i}getWitnessCommit(){if(!ym(this.transactions))return null;const t=this.transactions[0].outs.filter((t=>t.script.slice(0,6).equals(W.from("6a24aa21a9ed","hex")))).map((t=>t.script.slice(6,38)));if(0===t.length)return null;const e=t[t.length-1];return e instanceof W&&32===e.length?e:null}hasWitnessCommit(){return this.witnessCommit instanceof W&&32===this.witnessCommit.length||null!==this.getWitnessCommit()}hasWitness(){return(t=this.transactions)instanceof Array&&t.some((t=>"object"==typeof t&&t.ins instanceof Array&&t.ins.some((t=>"object"==typeof t&&t.witness instanceof Array&&t.witness.length>0))));var t}weight(){return 3*this.byteLength(!1,!1)+this.byteLength(!1,!0)}byteLength(t,e=!0){return t||!this.transactions?80:80+dm.encodingLength(this.transactions.length)+this.transactions.reduce(((t,r)=>t+r.byteLength(e)),0)}getHash(){return am.hash256(this.toBuffer(!0))}getId(){return hm.reverseBuffer(this.getHash()).toString("hex")}getUTCDate(){const t=new Date(0);return t.setUTCSeconds(this.timestamp),t}toBuffer(t){const e=W.allocUnsafe(this.byteLength(t)),r=new hm.BufferWriter(e);return r.writeInt32(this.version),r.writeSlice(this.prevHash),r.writeSlice(this.merkleRoot),r.writeUInt32(this.timestamp),r.writeUInt32(this.bits),r.writeUInt32(this.nonce),t||!this.transactions||(dm.encode(this.transactions.length,e,r.offset),r.offset+=dm.encode.bytes,this.transactions.forEach((t=>{const i=t.byteLength();t.toBuffer(e,r.offset),r.offset+=i}))),e}toHex(t){return this.toBuffer(t).toString("hex")}checkTxRoots(){const t=this.hasWitnessCommit();return!(!t&&this.hasWitness())&&(this.__checkMerkleRoot()&&(!t||this.__checkWitnessCommit()))}checkProofOfWork(){const t=hm.reverseBuffer(this.getHash()),e=gm.calculateTarget(this.bits);return t.compare(e)<=0}__checkMerkleRoot(){if(!this.transactions)throw pm;const t=gm.calculateMerkleRoot(this.transactions);return 0===this.merkleRoot.compare(t)}__checkWitnessCommit(){if(!this.transactions)throw pm;if(!this.hasWitnessCommit())throw mm;const t=gm.calculateMerkleRoot(this.transactions,!0);return 0===this.witnessCommit.compare(t)}}function ym(t){return t instanceof Array&&t[0]&&t[0].ins&&t[0].ins instanceof Array&&t[0].ins[0]&&t[0].ins[0].witness&&t[0].ins[0].witness instanceof Array&&t[0].ins[0].witness.length>0}Rp.Block=gm;var vm={},bm={},wm={},Mm={},_m={},Sm={},Em={};!function(t){var e,r,i;Object.defineProperty(t,"__esModule",{value:!0}),(e=t.GlobalTypes||(t.GlobalTypes={}))[e.UNSIGNED_TX=0]="UNSIGNED_TX",e[e.GLOBAL_XPUB=1]="GLOBAL_XPUB",t.GLOBAL_TYPE_NAMES=["unsignedTx","globalXpub"],(r=t.InputTypes||(t.InputTypes={}))[r.NON_WITNESS_UTXO=0]="NON_WITNESS_UTXO",r[r.WITNESS_UTXO=1]="WITNESS_UTXO",r[r.PARTIAL_SIG=2]="PARTIAL_SIG",r[r.SIGHASH_TYPE=3]="SIGHASH_TYPE",r[r.REDEEM_SCRIPT=4]="REDEEM_SCRIPT",r[r.WITNESS_SCRIPT=5]="WITNESS_SCRIPT",r[r.BIP32_DERIVATION=6]="BIP32_DERIVATION",r[r.FINAL_SCRIPTSIG=7]="FINAL_SCRIPTSIG",r[r.FINAL_SCRIPTWITNESS=8]="FINAL_SCRIPTWITNESS",r[r.POR_COMMITMENT=9]="POR_COMMITMENT",t.INPUT_TYPE_NAMES=["nonWitnessUtxo","witnessUtxo","partialSig","sighashType","redeemScript","witnessScript","bip32Derivation","finalScriptSig","finalScriptWitness","porCommitment"],(i=t.OutputTypes||(t.OutputTypes={}))[i.REDEEM_SCRIPT=0]="REDEEM_SCRIPT",i[i.WITNESS_SCRIPT=1]="WITNESS_SCRIPT",i[i.BIP32_DERIVATION=2]="BIP32_DERIVATION",t.OUTPUT_TYPE_NAMES=["redeemScript","witnessScript","bip32Derivation"]}(Em);var km={};Object.defineProperty(km,"__esModule",{value:!0});const Am=Em;km.decode=function(t){if(t.key[0]!==Am.GlobalTypes.GLOBAL_XPUB)throw new Error("Decode Error: could not decode globalXpub with key 0x"+t.key.toString("hex"));if(79!==t.key.length||![2,3].includes(t.key[46]))throw new Error("Decode Error: globalXpub has invalid extended pubkey in key 0x"+t.key.toString("hex"));if(t.value.length/4%1!=0)throw new Error("Decode Error: Global GLOBAL_XPUB value length should be multiple of 4");const e=t.key.slice(1),r={masterFingerprint:t.value.slice(0,4),extendedPubkey:e,path:"m"};for(const e of(t=>[...Array(t).keys()])(t.value.length/4-1)){const i=t.value.readUInt32LE(4*e+4),n=!!(2147483648&i),o=2147483647&i;r.path+="/"+o.toString(10)+(n?"'":"")}return r},km.encode=function(t){const e=W.from([Am.GlobalTypes.GLOBAL_XPUB]),r=W.concat([e,t.extendedPubkey]),i=t.path.split("/"),n=W.allocUnsafe(4*i.length);t.masterFingerprint.copy(n,0);let o=4;return i.slice(1).forEach((t=>{const e="'"===t.slice(-1);let r=2147483647&parseInt(e?t.slice(0,-1):t,10);e&&(r+=2147483648),n.writeUInt32LE(r,o),o+=4})),{key:r,value:n}},km.expected="{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }",km.check=function(t){const e=t.extendedPubkey,r=t.masterFingerprint,i=t.path;return It(e)&&78===e.length&&[2,3].indexOf(e[45])>-1&&It(r)&&4===r.length&&"string"==typeof i&&!!i.match(/^m(\/\d+'?)+$/)},km.canAddToArray=function(t,e,r){const i=e.extendedPubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.extendedPubkey.equals(e.extendedPubkey))).length)};var Im={};Object.defineProperty(Im,"__esModule",{value:!0});const Tm=Em;Im.encode=function(t){return{key:W.from([Tm.GlobalTypes.UNSIGNED_TX]),value:t.toBuffer()}};var Om={};Object.defineProperty(Om,"__esModule",{value:!0});const Pm=Em;Om.decode=function(t){if(t.key[0]!==Pm.InputTypes.FINAL_SCRIPTSIG)throw new Error("Decode Error: could not decode finalScriptSig with key 0x"+t.key.toString("hex"));return t.value},Om.encode=function(t){return{key:W.from([Pm.InputTypes.FINAL_SCRIPTSIG]),value:t}},Om.expected="Buffer",Om.check=function(t){return It(t)},Om.canAdd=function(t,e){return!!t&&!!e&&void 0===t.finalScriptSig};var xm={};Object.defineProperty(xm,"__esModule",{value:!0});const Bm=Em;xm.decode=function(t){if(t.key[0]!==Bm.InputTypes.FINAL_SCRIPTWITNESS)throw new Error("Decode Error: could not decode finalScriptWitness with key 0x"+t.key.toString("hex"));return t.value},xm.encode=function(t){return{key:W.from([Bm.InputTypes.FINAL_SCRIPTWITNESS]),value:t}},xm.expected="Buffer",xm.check=function(t){return It(t)},xm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.finalScriptWitness};var Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});const Nm=Em;Rm.decode=function(t){if(t.key[0]!==Nm.InputTypes.NON_WITNESS_UTXO)throw new Error("Decode Error: could not decode nonWitnessUtxo with key 0x"+t.key.toString("hex"));return t.value},Rm.encode=function(t){return{key:W.from([Nm.InputTypes.NON_WITNESS_UTXO]),value:t}},Rm.expected="Buffer",Rm.check=function(t){return It(t)},Rm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.nonWitnessUtxo};var Um={};Object.defineProperty(Um,"__esModule",{value:!0});const Cm=Em;Um.decode=function(t){if(t.key[0]!==Cm.InputTypes.PARTIAL_SIG)throw new Error("Decode Error: could not decode partialSig with key 0x"+t.key.toString("hex"));if(34!==t.key.length&&66!==t.key.length||![2,3,4].includes(t.key[1]))throw new Error("Decode Error: partialSig has invalid pubkey in key 0x"+t.key.toString("hex"));return{pubkey:t.key.slice(1),signature:t.value}},Um.encode=function(t){const e=W.from([Cm.InputTypes.PARTIAL_SIG]);return{key:W.concat([e,t.pubkey]),value:t.signature}},Um.expected="{ pubkey: Buffer; signature: Buffer; }",Um.check=function(t){return It(t.pubkey)&&It(t.signature)&&[33,65].includes(t.pubkey.length)&&[2,3,4].includes(t.pubkey[0])&&function(t){if(!It(t)||t.length<9)return!1;if(48!==t[0])return!1;if(t.length!==t[1]+3)return!1;if(2!==t[2])return!1;const e=t[3];if(e>33||e<1)return!1;if(2!==t[3+e+1])return!1;const r=t[3+e+2];return!(r>33||r<1)&&t.length===3+e+2+r+2}(t.signature)},Um.canAddToArray=function(t,e,r){const i=e.pubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.pubkey.equals(e.pubkey))).length)};var Lm={};Object.defineProperty(Lm,"__esModule",{value:!0});const Dm=Em;Lm.decode=function(t){if(t.key[0]!==Dm.InputTypes.POR_COMMITMENT)throw new Error("Decode Error: could not decode porCommitment with key 0x"+t.key.toString("hex"));return t.value.toString("utf8")},Lm.encode=function(t){return{key:W.from([Dm.InputTypes.POR_COMMITMENT]),value:W.from(t,"utf8")}},Lm.expected="string",Lm.check=function(t){return"string"==typeof t},Lm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.porCommitment};var jm={};Object.defineProperty(jm,"__esModule",{value:!0});const Hm=Em;jm.decode=function(t){if(t.key[0]!==Hm.InputTypes.SIGHASH_TYPE)throw new Error("Decode Error: could not decode sighashType with key 0x"+t.key.toString("hex"));return t.value.readUInt32LE(0)},jm.encode=function(t){const e=W.from([Hm.InputTypes.SIGHASH_TYPE]),r=W.allocUnsafe(4);return r.writeUInt32LE(t,0),{key:e,value:r}},jm.expected="number",jm.check=function(t){return"number"==typeof t},jm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.sighashType};var qm={},Km={},Fm={};Object.defineProperty(Fm,"__esModule",{value:!0});function zm(t){if(t<0||t>9007199254740991||t%1!=0)throw new RangeError("value out of range")}function Wm(t){return zm(t),t<253?1:t<=65535?3:t<=4294967295?5:9}Fm.encode=function t(e,r,i){if(zm(e),r||(r=W.allocUnsafe(Wm(e))),!It(r))throw new TypeError("buffer must be a Buffer instance");return i||(i=0),e<253?(r.writeUInt8(e,i),Object.assign(t,{bytes:1})):e<=65535?(r.writeUInt8(253,i),r.writeUInt16LE(e,i+1),Object.assign(t,{bytes:3})):e<=4294967295?(r.writeUInt8(254,i),r.writeUInt32LE(e,i+1),Object.assign(t,{bytes:5})):(r.writeUInt8(255,i),r.writeUInt32LE(e>>>0,i+1),r.writeUInt32LE(e/4294967296|0,i+5),Object.assign(t,{bytes:9})),r},Fm.decode=function t(e,r){if(!It(e))throw new TypeError("buffer must be a Buffer instance");r||(r=0);const i=e.readUInt8(r);if(i<253)return Object.assign(t,{bytes:1}),i;if(253===i)return Object.assign(t,{bytes:3}),e.readUInt16LE(r+1);if(254===i)return Object.assign(t,{bytes:5}),e.readUInt32LE(r+1);{Object.assign(t,{bytes:9});const i=e.readUInt32LE(r+1),n=4294967296*e.readUInt32LE(r+5)+i;return zm(n),n}},Fm.encodingLength=Wm,Object.defineProperty(Km,"__esModule",{value:!0});const Vm=Fm;function Zm(t){const e=t.key.length,r=t.value.length,i=Vm.encodingLength(e),n=Vm.encodingLength(r),o=W.allocUnsafe(i+e+n+r);return Vm.encode(e,o,0),t.key.copy(o,i),Vm.encode(r,o,i+e),t.value.copy(o,i+e+n),o}function Gm(t,e){if("number"!=typeof t)throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}Km.range=t=>[...Array(t).keys()],Km.reverseBuffer=function(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let i=0;i<t.length/2;i++)r=t[i],t[i]=t[e],t[e]=r,e--;return t},Km.keyValsToBuffer=function(t){const e=t.map(Zm);return e.push(W.from([0])),W.concat(e)},Km.keyValToBuffer=Zm,Km.readUInt64LE=function(t,e){const r=t.readUInt32LE(e);let i=t.readUInt32LE(e+4);return i*=4294967296,Gm(i+r,9007199254740991),i+r},Km.writeUInt64LE=function(t,e,r){return Gm(e,9007199254740991),t.writeInt32LE(-1&e,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8},Object.defineProperty(qm,"__esModule",{value:!0});const $m=Em,Xm=Km,Ym=Fm;qm.decode=function(t){if(t.key[0]!==$m.InputTypes.WITNESS_UTXO)throw new Error("Decode Error: could not decode witnessUtxo with key 0x"+t.key.toString("hex"));const e=Xm.readUInt64LE(t.value,0);let r=8;const i=Ym.decode(t.value,r);r+=Ym.encodingLength(i);const n=t.value.slice(r);if(n.length!==i)throw new Error("Decode Error: WITNESS_UTXO script is not proper length");return{script:n,value:e}},qm.encode=function(t){const{script:e,value:r}=t,i=Ym.encodingLength(e.length),n=W.allocUnsafe(8+i+e.length);return Xm.writeUInt64LE(n,r,0),Ym.encode(e.length,n,8),e.copy(n,8+i),{key:W.from([$m.InputTypes.WITNESS_UTXO]),value:n}},qm.expected="{ script: Buffer; value: number; }",qm.check=function(t){return It(t.script)&&"number"==typeof t.value},qm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.witnessUtxo};var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0});Jm.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode bip32Derivation with key 0x"+e.key.toString("hex"));if(34!==e.key.length&&66!==e.key.length||![2,3,4].includes(e.key[1]))throw new Error("Decode Error: bip32Derivation has invalid pubkey in key 0x"+e.key.toString("hex"));if(e.value.length/4%1!=0)throw new Error("Decode Error: Input BIP32_DERIVATION value length should be multiple of 4");const r=e.key.slice(1),i={masterFingerprint:e.value.slice(0,4),pubkey:r,path:"m"};for(const t of(t=>[...Array(t).keys()])(e.value.length/4-1)){const r=e.value.readUInt32LE(4*t+4),n=!!(2147483648&r),o=2147483647&r;i.path+="/"+o.toString(10)+(n?"'":"")}return i},encode:function(e){const r=W.from([t]),i=W.concat([r,e.pubkey]),n=e.path.split("/"),o=W.allocUnsafe(4*n.length);e.masterFingerprint.copy(o,0);let s=4;return n.slice(1).forEach((t=>{const e="'"===t.slice(-1);let r=2147483647&parseInt(e?t.slice(0,-1):t,10);e&&(r+=2147483648),o.writeUInt32LE(r,s),s+=4})),{key:i,value:o}},check:function(t){return It(t.pubkey)&&It(t.masterFingerprint)&&"string"==typeof t.path&&[33,65].includes(t.pubkey.length)&&[2,3,4].includes(t.pubkey[0])&&4===t.masterFingerprint.length},expected:"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }",canAddToArray:function(t,e,r){const i=e.pubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.pubkey.equals(e.pubkey))).length)}}};var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0}),Qm.makeChecker=function(t){return function(e){let r;if(t.includes(e.key[0])&&(r=e.key.slice(1),33!==r.length&&65!==r.length||![2,3,4].includes(r[0])))throw new Error("Format Error: invalid pubkey in key 0x"+e.key.toString("hex"));return r}};var tg={};Object.defineProperty(tg,"__esModule",{value:!0}),tg.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode redeemScript with key 0x"+e.key.toString("hex"));return e.value},encode:function(e){return{key:W.from([t]),value:e}},check:function(t){return It(t)},expected:"Buffer",canAdd:function(t,e){return!!t&&!!e&&void 0===t.redeemScript}}};var eg={};Object.defineProperty(eg,"__esModule",{value:!0}),eg.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode witnessScript with key 0x"+e.key.toString("hex"));return e.value},encode:function(e){return{key:W.from([t]),value:e}},check:function(t){return It(t)},expected:"Buffer",canAdd:function(t,e){return!!t&&!!e&&void 0===t.witnessScript}}},Object.defineProperty(Sm,"__esModule",{value:!0});const rg=Em,ig=Om,ng=xm,og=Rm,sg=Um,hg=Lm,ag=jm,ug=qm,fg=Jm,lg=Qm,cg=tg,dg=eg,pg={unsignedTx:Im,globalXpub:km,checkPubkey:lg.makeChecker([])};Sm.globals=pg;const mg={nonWitnessUtxo:og,partialSig:sg,sighashType:ag,finalScriptSig:ig,finalScriptWitness:ng,porCommitment:hg,witnessUtxo:ug,bip32Derivation:fg.makeConverter(rg.InputTypes.BIP32_DERIVATION),redeemScript:cg.makeConverter(rg.InputTypes.REDEEM_SCRIPT),witnessScript:dg.makeConverter(rg.InputTypes.WITNESS_SCRIPT),checkPubkey:lg.makeChecker([rg.InputTypes.PARTIAL_SIG,rg.InputTypes.BIP32_DERIVATION])};Sm.inputs=mg;const gg={bip32Derivation:fg.makeConverter(rg.OutputTypes.BIP32_DERIVATION),redeemScript:cg.makeConverter(rg.OutputTypes.REDEEM_SCRIPT),witnessScript:dg.makeConverter(rg.OutputTypes.WITNESS_SCRIPT),checkPubkey:lg.makeChecker([rg.OutputTypes.BIP32_DERIVATION])};Sm.outputs=gg,Object.defineProperty(_m,"__esModule",{value:!0});const yg=Sm,vg=Km,bg=Fm,wg=Em;function Mg(t,e,r){if(!e.equals(W.from([r])))throw new Error(`Format Error: Invalid ${t} key: ${e.toString("hex")}`)}function _g(t,{globalMapKeyVals:e,inputKeyVals:r,outputKeyVals:i}){const n={unsignedTx:t};let o=0;for(const t of e)switch(t.key[0]){case wg.GlobalTypes.UNSIGNED_TX:if(Mg("global",t.key,wg.GlobalTypes.UNSIGNED_TX),o>0)throw new Error("Format Error: GlobalMap has multiple UNSIGNED_TX");o++;break;case wg.GlobalTypes.GLOBAL_XPUB:void 0===n.globalXpub&&(n.globalXpub=[]),n.globalXpub.push(yg.globals.globalXpub.decode(t));break;default:n.unknownKeyVals||(n.unknownKeyVals=[]),n.unknownKeyVals.push(t)}const s=r.length,h=i.length,a=[],u=[];for(const t of vg.range(s)){const e={};for(const i of r[t])switch(yg.inputs.checkPubkey(i),i.key[0]){case wg.InputTypes.NON_WITNESS_UTXO:if(Mg("input",i.key,wg.InputTypes.NON_WITNESS_UTXO),void 0!==e.nonWitnessUtxo)throw new Error("Format Error: Input has multiple NON_WITNESS_UTXO");e.nonWitnessUtxo=yg.inputs.nonWitnessUtxo.decode(i);break;case wg.InputTypes.WITNESS_UTXO:if(Mg("input",i.key,wg.InputTypes.WITNESS_UTXO),void 0!==e.witnessUtxo)throw new Error("Format Error: Input has multiple WITNESS_UTXO");e.witnessUtxo=yg.inputs.witnessUtxo.decode(i);break;case wg.InputTypes.PARTIAL_SIG:void 0===e.partialSig&&(e.partialSig=[]),e.partialSig.push(yg.inputs.partialSig.decode(i));break;case wg.InputTypes.SIGHASH_TYPE:if(Mg("input",i.key,wg.InputTypes.SIGHASH_TYPE),void 0!==e.sighashType)throw new Error("Format Error: Input has multiple SIGHASH_TYPE");e.sighashType=yg.inputs.sighashType.decode(i);break;case wg.InputTypes.REDEEM_SCRIPT:if(Mg("input",i.key,wg.InputTypes.REDEEM_SCRIPT),void 0!==e.redeemScript)throw new Error("Format Error: Input has multiple REDEEM_SCRIPT");e.redeemScript=yg.inputs.redeemScript.decode(i);break;case wg.InputTypes.WITNESS_SCRIPT:if(Mg("input",i.key,wg.InputTypes.WITNESS_SCRIPT),void 0!==e.witnessScript)throw new Error("Format Error: Input has multiple WITNESS_SCRIPT");e.witnessScript=yg.inputs.witnessScript.decode(i);break;case wg.InputTypes.BIP32_DERIVATION:void 0===e.bip32Derivation&&(e.bip32Derivation=[]),e.bip32Derivation.push(yg.inputs.bip32Derivation.decode(i));break;case wg.InputTypes.FINAL_SCRIPTSIG:Mg("input",i.key,wg.InputTypes.FINAL_SCRIPTSIG),e.finalScriptSig=yg.inputs.finalScriptSig.decode(i);break;case wg.InputTypes.FINAL_SCRIPTWITNESS:Mg("input",i.key,wg.InputTypes.FINAL_SCRIPTWITNESS),e.finalScriptWitness=yg.inputs.finalScriptWitness.decode(i);break;case wg.InputTypes.POR_COMMITMENT:Mg("input",i.key,wg.InputTypes.POR_COMMITMENT),e.porCommitment=yg.inputs.porCommitment.decode(i);break;default:e.unknownKeyVals||(e.unknownKeyVals=[]),e.unknownKeyVals.push(i)}a.push(e)}for(const t of vg.range(h)){const e={};for(const r of i[t])switch(yg.outputs.checkPubkey(r),r.key[0]){case wg.OutputTypes.REDEEM_SCRIPT:if(Mg("output",r.key,wg.OutputTypes.REDEEM_SCRIPT),void 0!==e.redeemScript)throw new Error("Format Error: Output has multiple REDEEM_SCRIPT");e.redeemScript=yg.outputs.redeemScript.decode(r);break;case wg.OutputTypes.WITNESS_SCRIPT:if(Mg("output",r.key,wg.OutputTypes.WITNESS_SCRIPT),void 0!==e.witnessScript)throw new Error("Format Error: Output has multiple WITNESS_SCRIPT");e.witnessScript=yg.outputs.witnessScript.decode(r);break;case wg.OutputTypes.BIP32_DERIVATION:void 0===e.bip32Derivation&&(e.bip32Derivation=[]),e.bip32Derivation.push(yg.outputs.bip32Derivation.decode(r));break;default:e.unknownKeyVals||(e.unknownKeyVals=[]),e.unknownKeyVals.push(r)}u.push(e)}return{globalMap:n,inputs:a,outputs:u}}_m.psbtFromBuffer=function(t,e){let r=0;function i(){const e=bg.decode(t,r);r+=bg.encodingLength(e);const i=t.slice(r,r+e);return r+=e,i}function n(){return{key:i(),value:i()}}function o(){if(r>=t.length)throw new Error("Format Error: Unexpected End of PSBT");const e=0===t.readUInt8(r);return e&&r++,e}if(1886610036!==function(){const e=t.readUInt32BE(r);return r+=4,e}())throw new Error("Format Error: Invalid Magic Number");if(255!==function(){const e=t.readUInt8(r);return r+=1,e}())throw new Error("Format Error: Magic Number must be followed by 0xff separator");const s=[],h={};for(;!o();){const t=n(),e=t.key.toString("hex");if(h[e])throw new Error("Format Error: Keys must be unique for global keymap: key "+e);h[e]=1,s.push(t)}const a=s.filter((t=>t.key[0]===wg.GlobalTypes.UNSIGNED_TX));if(1!==a.length)throw new Error("Format Error: Only one UNSIGNED_TX allowed");const u=e(a[0].value),{inputCount:f,outputCount:l}=u.getInputOutputCounts(),c=[],d=[];for(const t of vg.range(f)){const e={},r=[];for(;!o();){const i=n(),o=i.key.toString("hex");if(e[o])throw new Error("Format Error: Keys must be unique for each input: input index "+t+" key "+o);e[o]=1,r.push(i)}c.push(r)}for(const t of vg.range(l)){const e={},r=[];for(;!o();){const i=n(),o=i.key.toString("hex");if(e[o])throw new Error("Format Error: Keys must be unique for each output: output index "+t+" key "+o);e[o]=1,r.push(i)}d.push(r)}return _g(u,{globalMapKeyVals:s,inputKeyVals:c,outputKeyVals:d})},_m.checkKeyBuffer=Mg,_m.psbtFromKeyVals=_g;var Sg={};Object.defineProperty(Sg,"__esModule",{value:!0});const Eg=Sm,kg=Km;Sg.psbtToBuffer=function({globalMap:t,inputs:e,outputs:r}){const{globalKeyVals:i,inputKeyVals:n,outputKeyVals:o}=Tg({globalMap:t,inputs:e,outputs:r}),s=kg.keyValsToBuffer(i),h=t=>0===t.length?[W.from([0])]:t.map(kg.keyValsToBuffer),a=h(n),u=h(o),f=W.allocUnsafe(5);return f.writeUIntBE(482972169471,0,5),W.concat([f,s].concat(a,u))};const Ag=(t,e)=>t.key.compare(e.key);function Ig(t,e){const r=new Set,i=Object.entries(t).reduce(((t,[i,n])=>{if("unknownKeyVals"===i)return t;const o=e[i];if(void 0===o)return t;const s=(Array.isArray(n)?n:[n]).map(o.encode);return s.map((t=>t.key.toString("hex"))).forEach((t=>{if(r.has(t))throw new Error("Serialize Error: Duplicate key: "+t);r.add(t)})),t.concat(s)}),[]),n=t.unknownKeyVals?t.unknownKeyVals.filter((t=>!r.has(t.key.toString("hex")))):[];return i.concat(n).sort(Ag)}function Tg({globalMap:t,inputs:e,outputs:r}){return{globalKeyVals:Ig(t,Eg.globals),inputKeyVals:e.map((t=>Ig(t,Eg.inputs))),outputKeyVals:r.map((t=>Ig(t,Eg.outputs)))}}Sg.psbtToKeyVals=Tg,function(t){function e(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}Object.defineProperty(t,"__esModule",{value:!0}),e(_m),e(Sg)}(Mm),Object.defineProperty(wm,"__esModule",{value:!0});const Og=Mm;function Pg(t,e,r){return i=>{if(t.has(i))return;const n=r.filter((t=>t.key.toString("hex")===i))[0];e.push(n),t.add(i)}}function xg(t){return t.globalMap.unsignedTx}function Bg(t){const e=new Set;return t.forEach((t=>{const r=t.key.toString("hex");if(e.has(r))throw new Error("Combine: KeyValue Map keys should be unique");e.add(r)})),e}wm.combine=function(t){const e=t[0],r=Og.psbtToKeyVals(e),i=t.slice(1);if(0===i.length)throw new Error("Combine: Nothing to combine");const n=xg(e);if(void 0===n)throw new Error("Combine: Self missing transaction");const o=Bg(r.globalKeyVals),s=r.inputKeyVals.map(Bg),h=r.outputKeyVals.map(Bg);for(const t of i){const e=xg(t);if(void 0===e||!e.toBuffer().equals(n.toBuffer()))throw new Error("Combine: One of the Psbts does not have the same transaction.");const i=Og.psbtToKeyVals(t);Bg(i.globalKeyVals).forEach(Pg(o,r.globalKeyVals,i.globalKeyVals));i.inputKeyVals.map(Bg).forEach(((t,e)=>t.forEach(Pg(s[e],r.inputKeyVals[e],i.inputKeyVals[e]))));i.outputKeyVals.map(Bg).forEach(((t,e)=>t.forEach(Pg(h[e],r.outputKeyVals[e],i.outputKeyVals[e]))))}return Og.psbtFromKeyVals(n,{globalMapKeyVals:r.globalKeyVals,inputKeyVals:r.inputKeyVals,outputKeyVals:r.outputKeyVals})};var Rg={};!function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Sm;function r(t,e){const r=t[e];if(void 0===r)throw new Error(`No input #${e}`);return r}function i(t,e,r,i){throw new Error(`Data for ${t} key ${e} is incorrect: Expected ${r} and got ${JSON.stringify(i)}`)}function n(t){return(r,n)=>{for(const o of Object.keys(r)){const s=r[o],{canAdd:h,canAddToArray:a,check:u,expected:f}=e[t+"s"][o]||{},l=!!a;if(u)if(l){if(!Array.isArray(s)||n[o]&&!Array.isArray(n[o]))throw new Error(`Key type ${o} must be an array`);s.every(u)||i(t,o,f,s);const e=n[o]||[],r=new Set;if(!s.every((t=>a(e,t,r))))throw new Error("Can not add duplicate data to array");n[o]=e.concat(s)}else{if(u(s)||i(t,o,f,s),!h(n,s))throw new Error(`Can not add duplicate data to ${t}`);n[o]=s}}}}t.checkForInput=r,t.checkForOutput=function(t,e){const r=t[e];if(void 0===r)throw new Error(`No output #${e}`);return r},t.checkHasKey=function(t,e,r){if(t.key[0]<r)throw new Error("Use the method for your specific key instead of addUnknownKeyVal*");if(e&&0!==e.filter((e=>e.key.equals(t.key))).length)throw new Error(`Duplicate Key: ${t.key.toString("hex")}`)},t.getEnumLength=function(t){let e=0;return Object.keys(t).forEach((t=>{Number(isNaN(Number(t)))&&e++})),e},t.inputCheckUncleanFinalized=function(t,e){let r=!1;if(e.nonWitnessUtxo||e.witnessUtxo){const t=!!e.redeemScript,i=!!e.witnessScript,n=!t||!!e.finalScriptSig,o=!i||!!e.finalScriptWitness,s=!!e.finalScriptSig||!!e.finalScriptWitness;r=n&&o&&s}if(!1===r)throw new Error(`Input #${t} has too much or too little data to clean`)},t.updateGlobal=n("global"),t.updateInput=n("input"),t.updateOutput=n("output"),t.addInputAttributes=function(e,i){const n=r(e,e.length-1);t.updateInput(i,n)},t.addOutputAttributes=function(e,i){const n=r(e,e.length-1);t.updateOutput(i,n)},t.defaultVersionSetter=function(t,e){if(!It(e)||e.length<4)throw new Error("Set Version: Invalid Transaction");return e.writeUInt32LE(t,0),e},t.defaultLocktimeSetter=function(t,e){if(!It(e)||e.length<4)throw new Error("Set Locktime: Invalid Transaction");return e.writeUInt32LE(t,e.length-4),e}}(Rg),Object.defineProperty(bm,"__esModule",{value:!0});const Ng=wm,Ug=Mm,Cg=Em,Lg=Rg;bm.Psbt=class{constructor(t){this.inputs=[],this.outputs=[],this.globalMap={unsignedTx:t}}static fromBase64(t,e){const r=W.from(t,"base64");return this.fromBuffer(r,e)}static fromHex(t,e){const r=W.from(t,"hex");return this.fromBuffer(r,e)}static fromBuffer(t,e){const r=Ug.psbtFromBuffer(t,e),i=new this(r.globalMap.unsignedTx);return Object.assign(i,r),i}toBase64(){return this.toBuffer().toString("base64")}toHex(){return this.toBuffer().toString("hex")}toBuffer(){return Ug.psbtToBuffer(this)}updateGlobal(t){return Lg.updateGlobal(t,this.globalMap),this}updateInput(t,e){const r=Lg.checkForInput(this.inputs,t);return Lg.updateInput(e,r),this}updateOutput(t,e){const r=Lg.checkForOutput(this.outputs,t);return Lg.updateOutput(e,r),this}addUnknownKeyValToGlobal(t){return Lg.checkHasKey(t,this.globalMap.unknownKeyVals,Lg.getEnumLength(Cg.GlobalTypes)),this.globalMap.unknownKeyVals||(this.globalMap.unknownKeyVals=[]),this.globalMap.unknownKeyVals.push(t),this}addUnknownKeyValToInput(t,e){const r=Lg.checkForInput(this.inputs,t);return Lg.checkHasKey(e,r.unknownKeyVals,Lg.getEnumLength(Cg.InputTypes)),r.unknownKeyVals||(r.unknownKeyVals=[]),r.unknownKeyVals.push(e),this}addUnknownKeyValToOutput(t,e){const r=Lg.checkForOutput(this.outputs,t);return Lg.checkHasKey(e,r.unknownKeyVals,Lg.getEnumLength(Cg.OutputTypes)),r.unknownKeyVals||(r.unknownKeyVals=[]),r.unknownKeyVals.push(e),this}addInput(t){this.globalMap.unsignedTx.addInput(t),this.inputs.push({unknownKeyVals:[]});const e=t.unknownKeyVals||[],r=this.inputs.length-1;if(!Array.isArray(e))throw new Error("unknownKeyVals must be an Array");return e.forEach((t=>this.addUnknownKeyValToInput(r,t))),Lg.addInputAttributes(this.inputs,t),this}addOutput(t){this.globalMap.unsignedTx.addOutput(t),this.outputs.push({unknownKeyVals:[]});const e=t.unknownKeyVals||[],r=this.outputs.length-1;if(!Array.isArray(e))throw new Error("unknownKeyVals must be an Array");return e.forEach((t=>this.addUnknownKeyValToInput(r,t))),Lg.addOutputAttributes(this.outputs,t),this}clearFinalizedInput(t){const e=Lg.checkForInput(this.inputs,t);Lg.inputCheckUncleanFinalized(t,e);for(const t of Object.keys(e))["witnessUtxo","nonWitnessUtxo","finalScriptSig","finalScriptWitness","unknownKeyVals"].includes(t)||delete e[t];return this}combine(...t){const e=Ng.combine([this].concat(t));return Object.assign(this,e),this}getTransaction(){return this.globalMap.unsignedTx.toBuffer()}},Object.defineProperty(vm,"__esModule",{value:!0});const Dg=bm,jg=Fm,Hg=Rg,qg=cc,Kg=Np,Fg=ad,zg=wp,Wg=pc,Vg=gc,Zg=Wp,Gg={network:dc.bitcoin,maximumFeeRate:5e3};class $g{constructor(t={},e=new Dg.Psbt(new Yg)){this.data=e,this.opts=Object.assign({},Gg,t),this.__CACHE={__NON_WITNESS_UTXO_TX_CACHE:[],__NON_WITNESS_UTXO_BUF_CACHE:[],__TX_IN_CACHE:{},__TX:this.data.globalMap.unsignedTx.tx,__UNSAFE_SIGN_NONSEGWIT:!1},0===this.data.inputs.length&&this.setVersion(2);const r=(t,e,r,i)=>Object.defineProperty(t,e,{enumerable:r,writable:i});r(this,"__CACHE",!1,!0),r(this,"opts",!1,!0)}static fromBase64(t,e={}){const r=W.from(t,"base64");return this.fromBuffer(r,e)}static fromHex(t,e={}){const r=W.from(t,"hex");return this.fromBuffer(r,e)}static fromBuffer(t,e={}){const r=Dg.Psbt.fromBuffer(t,Xg),i=new $g(e,r);var n,o;return n=i.__CACHE.__TX,o=i.__CACHE,n.ins.forEach((t=>{cy(o,t)})),i}get inputCount(){return this.data.inputs.length}get version(){return this.__CACHE.__TX.version}set version(t){this.setVersion(t)}get locktime(){return this.__CACHE.__TX.locktime}set locktime(t){this.setLocktime(t)}get txInputs(){return this.__CACHE.__TX.ins.map((t=>({hash:Kg.cloneBuffer(t.hash),index:t.index,sequence:t.sequence})))}get txOutputs(){return this.__CACHE.__TX.outs.map((t=>{let e;try{e=qg.fromOutputScript(t.script,this.opts.network)}catch(t){}return{script:Kg.cloneBuffer(t.script),value:t.value,address:e}}))}combine(...t){return this.data.combine(...t.map((t=>t.data))),this}clone(){const t=$g.fromBuffer(this.data.toBuffer());return t.opts=JSON.parse(JSON.stringify(this.opts)),t}setMaximumFeeRate(t){uy(t),this.opts.maximumFeeRate=t}setVersion(t){uy(t),fy(this.data.inputs,"setVersion");const e=this.__CACHE;return e.__TX.version=t,e.__EXTRACTED_TX=void 0,this}setLocktime(t){uy(t),fy(this.data.inputs,"setLocktime");const e=this.__CACHE;return e.__TX.locktime=t,e.__EXTRACTED_TX=void 0,this}setInputSequence(t,e){uy(e),fy(this.data.inputs,"setInputSequence");const r=this.__CACHE;if(r.__TX.ins.length<=t)throw new Error("Input index too high");return r.__TX.ins[t].sequence=e,r.__EXTRACTED_TX=void 0,this}addInputs(t){return t.forEach((t=>this.addInput(t))),this}addInput(t){if(arguments.length>1||!t||void 0===t.hash||void 0===t.index)throw new Error("Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]");fy(this.data.inputs,"addInput"),t.witnessScript&&Oy(t.witnessScript);const e=this.__CACHE;this.data.addInput(t);cy(e,e.__TX.ins[e.__TX.ins.length-1]);const r=this.data.inputs.length-1,i=this.data.inputs[r];return i.nonWitnessUtxo&&Sy(this.__CACHE,i,r),e.__FEE=void 0,e.__FEE_RATE=void 0,e.__EXTRACTED_TX=void 0,this}addOutputs(t){return t.forEach((t=>this.addOutput(t))),this}addOutput(t){if(arguments.length>1||!t||void 0===t.value||void 0===t.address&&void 0===t.script)throw new Error("Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]");fy(this.data.inputs,"addOutput");const{address:e}=t;if("string"==typeof e){const{network:r}=this.opts,i=qg.toOutputScript(e,r);t=Object.assign(t,{script:i})}const r=this.__CACHE;return this.data.addOutput(t),r.__FEE=void 0,r.__FEE_RATE=void 0,r.__EXTRACTED_TX=void 0,this}extractTransaction(t){if(!this.data.inputs.every(ty))throw new Error("Not finalized");const e=this.__CACHE;if(t||function(t,e,r){const i=e.__FEE_RATE||t.getFeeRate(),n=e.__EXTRACTED_TX.virtualSize(),o=i*n;if(i>=r.maximumFeeRate)throw new Error(`Warning: You are paying around ${(o/1e8).toFixed(8)} in fees, which is ${i} satoshi per byte for a transaction with a VSize of ${n} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`)}(this,e,this.opts),e.__EXTRACTED_TX)return e.__EXTRACTED_TX;const r=e.__TX.clone();return Ey(this.data.inputs,r,e,!0),r}getFeeRate(){return gy("__FEE_RATE","fee rate",this.data.inputs,this.__CACHE)}getFee(){return gy("__FEE","fee",this.data.inputs,this.__CACHE)}finalizeAllInputs(){return Hg.checkForInput(this.data.inputs,0),By(this.data.inputs.length).forEach((t=>this.finalizeInput(t))),this}finalizeInput(t,e=yy){const r=Hg.checkForInput(this.data.inputs,t),{script:i,isP2SH:n,isP2WSH:o,isSegwit:s}=function(t,e,r){const i=r.__TX,n={script:null,isSegwit:!1,isP2SH:!1,isP2WSH:!1};if(n.isP2SH=!!e.redeemScript,n.isP2WSH=!!e.witnessScript,e.witnessScript)n.script=e.witnessScript;else if(e.redeemScript)n.script=e.redeemScript;else if(e.nonWitnessUtxo){const o=ky(r,e,t),s=i.ins[t].index;n.script=o.outs[s].script}else e.witnessUtxo&&(n.script=e.witnessUtxo.script);(e.witnessScript||oy(n.script))&&(n.isSegwit=!0);return n}(t,r,this.__CACHE);if(!i)throw new Error(`No script found for input #${t}`);!function(t){if(!t.sighashType||!t.partialSig)return;const{partialSig:e,sighashType:r}=t;e.forEach((t=>{const{hashType:e}=Vg.signature.decode(t.signature);if(r!==e)throw new Error("Signature sighash does not match input sighash type")}))}(r);const{finalScriptSig:h,finalScriptWitness:a}=e(t,r,i,s,n,o);if(h&&this.data.updateInput(t,{finalScriptSig:h}),a&&this.data.updateInput(t,{finalScriptWitness:a}),!h&&!a)throw new Error(`Unknown error finalizing input #${t}`);return this.data.clearFinalizedInput(t),this}getInputType(t){const e=Hg.checkForInput(this.data.inputs,t),r=Ty(Ay(t,e,this.__CACHE),t,"input",e.redeemScript||function(t){if(!t)return;const e=Vg.decompile(t);if(!e)return;const r=e[e.length-1];if(!It(r)||Iy(r)||(i=r,Vg.isCanonicalScriptSignature(i)))return;var i;if(!Vg.decompile(r))return;return r}(e.finalScriptSig),e.witnessScript||function(t){if(!t)return;const e=My(t),r=e[e.length-1];if(Iy(r))return;if(!Vg.decompile(r))return;return r}(e.finalScriptWitness));return("raw"===r.type?"":r.type+"-")+xy(r.meaningfulScript)}inputHasPubkey(t,e){return function(t,e,r,i){const n=Ay(r,e,i),{meaningfulScript:o}=Ty(n,r,"input",e.redeemScript,e.witnessScript);return Py(t,o)}(e,Hg.checkForInput(this.data.inputs,t),t,this.__CACHE)}inputHasHDKey(t,e){const r=Hg.checkForInput(this.data.inputs,t),i=ay(e);return!!r.bip32Derivation&&r.bip32Derivation.some(i)}outputHasPubkey(t,e){return function(t,e,r,i){const n=i.__TX.outs[r].script,{meaningfulScript:o}=Ty(n,r,"output",e.redeemScript,e.witnessScript);return Py(t,o)}(e,Hg.checkForOutput(this.data.outputs,t),t,this.__CACHE)}outputHasHDKey(t,e){const r=Hg.checkForOutput(this.data.outputs,t),i=ay(e);return!!r.bip32Derivation&&r.bip32Derivation.some(i)}validateSignaturesOfAllInputs(){Hg.checkForInput(this.data.inputs,0);return By(this.data.inputs.length).map((t=>this.validateSignaturesOfInput(t))).reduce(((t,e)=>!0===e&&t),!0)}validateSignaturesOfInput(t,e){const r=this.data.inputs[t],i=(r||{}).partialSig;if(!r||!i||i.length<1)throw new Error("No signatures to validate");const n=e?i.filter((t=>t.pubkey.equals(e))):i;if(n.length<1)throw new Error("No signatures for this pubkey");const o=[];let s,h,a;for(const e of n){const i=Vg.signature.decode(e.signature),{hash:n,script:u}=a!==i.hashType?by(t,Object.assign({},r,{sighashType:i.hashType}),this.__CACHE,!0):{hash:s,script:h};a=i.hashType,s=n,h=u,ly(e.pubkey,u,"verify");const f=zg.fromPublicKey(e.pubkey);o.push(f.verify(n,i.signature))}return o.every((t=>!0===t))}signAllInputsHD(t,e=[Zg.Transaction.SIGHASH_ALL]){if(!t||!t.publicKey||!t.fingerprint)throw new Error("Need HDSigner to sign input");const r=[];for(const i of By(this.data.inputs.length))try{this.signInputHD(i,t,e),r.push(!0)}catch(t){r.push(!1)}if(r.every((t=>!1===t)))throw new Error("No inputs were signed");return this}signAllInputsHDAsync(t,e=[Zg.Transaction.SIGHASH_ALL]){return new Promise(((r,i)=>{if(!t||!t.publicKey||!t.fingerprint)return i(new Error("Need HDSigner to sign input"));const n=[],o=[];for(const r of By(this.data.inputs.length))o.push(this.signInputHDAsync(r,t,e).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(o).then((()=>{if(n.every((t=>!1===t)))return i(new Error("No inputs were signed"));r()}))}))}signInputHD(t,e,r=[Zg.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey||!e.fingerprint)throw new Error("Need HDSigner to sign input");return wy(t,this.data.inputs,e).forEach((e=>this.signInput(t,e,r))),this}signInputHDAsync(t,e,r=[Zg.Transaction.SIGHASH_ALL]){return new Promise(((i,n)=>{if(!e||!e.publicKey||!e.fingerprint)return n(new Error("Need HDSigner to sign input"));const o=wy(t,this.data.inputs,e).map((e=>this.signInputAsync(t,e,r)));return Promise.all(o).then((()=>{i()})).catch(n)}))}signAllInputs(t,e=[Zg.Transaction.SIGHASH_ALL]){if(!t||!t.publicKey)throw new Error("Need Signer to sign input");const r=[];for(const i of By(this.data.inputs.length))try{this.signInput(i,t,e),r.push(!0)}catch(t){r.push(!1)}if(r.every((t=>!1===t)))throw new Error("No inputs were signed");return this}signAllInputsAsync(t,e=[Zg.Transaction.SIGHASH_ALL]){return new Promise(((r,i)=>{if(!t||!t.publicKey)return i(new Error("Need Signer to sign input"));const n=[],o=[];for(const[r]of this.data.inputs.entries())o.push(this.signInputAsync(r,t,e).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(o).then((()=>{if(n.every((t=>!1===t)))return i(new Error("No inputs were signed"));r()}))}))}signInput(t,e,r=[Zg.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const{hash:i,sighashType:n}=vy(this.data.inputs,t,e.publicKey,this.__CACHE,r),o=[{pubkey:e.publicKey,signature:Vg.signature.encode(e.sign(i),n)}];return this.data.updateInput(t,{partialSig:o}),this}signInputAsync(t,e,r=[Zg.Transaction.SIGHASH_ALL]){return Promise.resolve().then((()=>{if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const{hash:i,sighashType:n}=vy(this.data.inputs,t,e.publicKey,this.__CACHE,r);return Promise.resolve(e.sign(i)).then((r=>{const i=[{pubkey:e.publicKey,signature:Vg.signature.encode(r,n)}];this.data.updateInput(t,{partialSig:i})}))}))}toBuffer(){return Jg(this.__CACHE),this.data.toBuffer()}toHex(){return Jg(this.__CACHE),this.data.toHex()}toBase64(){return Jg(this.__CACHE),this.data.toBase64()}updateGlobal(t){return this.data.updateGlobal(t),this}updateInput(t,e){return e.witnessScript&&Oy(e.witnessScript),this.data.updateInput(t,e),e.nonWitnessUtxo&&Sy(this.__CACHE,this.data.inputs[t],t),this}updateOutput(t,e){return this.data.updateOutput(t,e),this}addUnknownKeyValToGlobal(t){return this.data.addUnknownKeyValToGlobal(t),this}addUnknownKeyValToInput(t,e){return this.data.addUnknownKeyValToInput(t,e),this}addUnknownKeyValToOutput(t,e){return this.data.addUnknownKeyValToOutput(t,e),this}clearFinalizedInput(t){return this.data.clearFinalizedInput(t),this}}vm.Psbt=$g;const Xg=t=>new Yg(t);class Yg{constructor(t=W.from([2,0,0,0,0,0,0,0,0,0])){this.tx=Zg.Transaction.fromBuffer(t),function(t){const e=t.ins.every((t=>t.script&&0===t.script.length&&t.witness&&0===t.witness.length));if(!e)throw new Error("Format Error: Transaction ScriptSigs are not empty")}(this.tx),Object.defineProperty(this,"tx",{enumerable:!1,writable:!0})}getInputOutputCounts(){return{inputCount:this.tx.ins.length,outputCount:this.tx.outs.length}}addInput(t){if(void 0===t.hash||void 0===t.index||!It(t.hash)&&"string"!=typeof t.hash||"number"!=typeof t.index)throw new Error("Error adding input.");const e="string"==typeof t.hash?Kg.reverseBuffer(W.from(t.hash,"hex")):t.hash;this.tx.addInput(e,t.index,t.sequence)}addOutput(t){if(void 0===t.script||void 0===t.value||!It(t.script)||"number"!=typeof t.value)throw new Error("Error adding output.");this.tx.addOutput(t.script,t.value)}toBuffer(){return this.tx.toBuffer()}}function Jg(t){if(!1!==t.__UNSAFE_SIGN_NONSEGWIT)throw new Error("Not BIP174 compliant, can not export")}function Qg(t,e,r){if(!e)return!1;let i;if(i=r?r.map((t=>{const r=zg.fromPublicKey(t,{compressed:!0}).publicKey;return e.find((t=>t.pubkey.equals(r)))})).filter((t=>!!t)):e,i.length>t)throw new Error("Too many signatures");return i.length===t}function ty(t){return!!t.finalScriptSig||!!t.finalScriptWitness}function ey(t){return e=>{try{return t({output:e}),!0}catch(t){return!1}}}const ry=ey(Wg.p2ms),iy=ey(Wg.p2pk),ny=ey(Wg.p2pkh),oy=ey(Wg.p2wpkh),sy=ey(Wg.p2wsh),hy=ey(Wg.p2sh);function ay(t){return e=>!!e.masterFingerprint.equals(t.fingerprint)&&!!t.derivePath(e.path).publicKey.equals(e.pubkey)}function uy(t){if("number"!=typeof t||t!==Math.floor(t)||t>4294967295||t<0)throw new Error("Invalid 32 bit integer")}function fy(t,e){t.forEach((t=>{let r=!1,i=[];if(0===(t.partialSig||[]).length){if(!t.finalScriptSig&&!t.finalScriptWitness)return;i=function(t){const e=t.finalScriptSig&&Vg.decompile(t.finalScriptSig)||[],r=t.finalScriptWitness&&Vg.decompile(t.finalScriptWitness)||[];return e.concat(r).filter((t=>It(t)&&Vg.isCanonicalScriptSignature(t))).map((t=>({signature:t})))}(t)}else i=t.partialSig;if(i.forEach((t=>{const{hashType:i}=Vg.signature.decode(t.signature),n=[];i&Zg.Transaction.SIGHASH_ANYONECANPAY&&n.push("addInput");switch(31&i){case Zg.Transaction.SIGHASH_ALL:break;case Zg.Transaction.SIGHASH_SINGLE:case Zg.Transaction.SIGHASH_NONE:n.push("addOutput"),n.push("setInputSequence")}-1===n.indexOf(e)&&(r=!0)})),r)throw new Error("Can not modify transaction, signatures exist.")}))}function ly(t,e,r){if(!Py(t,e))throw new Error(`Can not ${r} for this input with the key ${t.toString("hex")}`)}function cy(t,e){const r=Kg.reverseBuffer(W.from(e.hash)).toString("hex")+":"+e.index;if(t.__TX_IN_CACHE[r])throw new Error("Duplicate input detected.");t.__TX_IN_CACHE[r]=1}function dy(t,e){return(r,i,n,o)=>{const s=t({redeem:{output:n}}).output;if(!i.equals(s))throw new Error(`${e} for ${o} #${r} doesn't match the scriptPubKey in the prevout`)}}const py=dy(Wg.p2sh,"Redeem script"),my=dy(Wg.p2wsh,"Witness script");function gy(t,e,r,i){if(!r.every(ty))throw new Error(`PSBT must be finalized to calculate ${e}`);if("__FEE_RATE"===t&&i.__FEE_RATE)return i.__FEE_RATE;if("__FEE"===t&&i.__FEE)return i.__FEE;let n,o=!0;return i.__EXTRACTED_TX?(n=i.__EXTRACTED_TX,o=!1):n=i.__TX.clone(),Ey(r,n,i,o),"__FEE_RATE"===t?i.__FEE_RATE:"__FEE"===t?i.__FEE:void 0}function yy(t,e,r,i,n,o){const s=xy(r);if(!function(t,e,r){switch(r){case"pubkey":case"pubkeyhash":case"witnesspubkeyhash":return Qg(1,t.partialSig);case"multisig":const r=Wg.p2ms({output:e});return Qg(r.m,t.partialSig,r.pubkeys);default:return!1}}(e,r,s))throw new Error(`Can not finalize input #${t}`);return function(t,e,r,i,n,o){let s,h;const a=function(t,e,r){let i;switch(e){case"multisig":const e=function(t,e){return Wg.p2ms({output:t}).pubkeys.map((t=>(e.filter((e=>e.pubkey.equals(t)))[0]||{}).signature)).filter((t=>!!t))}(t,r);i=Wg.p2ms({output:t,signatures:e});break;case"pubkey":i=Wg.p2pk({output:t,signature:r[0].signature});break;case"pubkeyhash":i=Wg.p2pkh({output:t,pubkey:r[0].pubkey,signature:r[0].signature});break;case"witnesspubkeyhash":i=Wg.p2wpkh({output:t,pubkey:r[0].pubkey,signature:r[0].signature})}return i}(t,e,r),u=o?Wg.p2wsh({redeem:a}):null,f=n?Wg.p2sh({redeem:u||a}):null;i?(h=_y(u?u.witness:a.witness),f&&(s=f.input)):s=f?f.input:a.input;return{finalScriptSig:s,finalScriptWitness:h}}(r,s,e.partialSig,i,n,o)}function vy(t,e,r,i,n){const o=Hg.checkForInput(t,e),{hash:s,sighashType:h,script:a}=by(e,o,i,!1,n);return ly(r,a,"sign"),{hash:s,sighashType:h}}function by(t,e,r,i,n){const o=r.__TX,s=e.sighashType||Zg.Transaction.SIGHASH_ALL;if(n&&n.indexOf(s)<0){const t=function(t){let e=t&Zg.Transaction.SIGHASH_ANYONECANPAY?"SIGHASH_ANYONECANPAY | ":"";switch(31&t){case Zg.Transaction.SIGHASH_ALL:e+="SIGHASH_ALL";break;case Zg.Transaction.SIGHASH_SINGLE:e+="SIGHASH_SINGLE";break;case Zg.Transaction.SIGHASH_NONE:e+="SIGHASH_NONE"}return e}(s);throw new Error(`Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${t}`)}let h,a;if(e.nonWitnessUtxo){const i=ky(r,e,t),n=o.ins[t].hash,s=i.getHash();if(!n.equals(s))throw new Error(`Non-witness UTXO hash for input #${t} doesn't match the hash specified in the prevout`);const h=o.ins[t].index;a=i.outs[h]}else{if(!e.witnessUtxo)throw new Error("Need a Utxo input item for signing");a=e.witnessUtxo}const{meaningfulScript:u,type:f}=Ty(a.script,t,"input",e.redeemScript,e.witnessScript);if(["p2sh-p2wsh","p2wsh"].indexOf(f)>=0)h=o.hashForWitnessV0(t,u,a.value,s);else if(oy(u)){const e=Wg.p2pkh({hash:u.slice(2)}).output;h=o.hashForWitnessV0(t,e,a.value,s)}else{if(void 0===e.nonWitnessUtxo&&!1===r.__UNSAFE_SIGN_NONSEGWIT)throw new Error(`Input #${t} has witnessUtxo but non-segwit script: ${u.toString("hex")}`);i||!1===r.__UNSAFE_SIGN_NONSEGWIT||console.warn("Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as the old TransactionBuilder class when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.\n*********************\nPROCEED WITH CAUTION!\n*********************"),h=o.hashForSignature(t,u,s)}return{script:u,sighashType:s,hash:h}}function wy(t,e,r){const i=Hg.checkForInput(e,t);if(!i.bip32Derivation||0===i.bip32Derivation.length)throw new Error("Need bip32Derivation to sign with HD");const n=i.bip32Derivation.map((t=>t.masterFingerprint.equals(r.fingerprint)?t:void 0)).filter((t=>!!t));if(0===n.length)throw new Error("Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint");const o=n.map((t=>{const e=r.derivePath(t.path);if(!t.pubkey.equals(e.publicKey))throw new Error("pubkey did not match bip32Derivation");return e}));return o}function My(t){let e=0;function r(){const r=jg.decode(t,e);return e+=jg.decode.bytes,r}function i(){return function(r){return e+=r,t.slice(e-r,e)}(r())}return function(){const t=r(),e=[];for(let r=0;r<t;r++)e.push(i());return e}()}function _y(t){let e=W.allocUnsafe(0);function r(t){const r=e.length,i=jg.encodingLength(t);e=W.concat([e,W.allocUnsafe(i)]),jg.encode(t,e,r)}function i(t){r(t.length),function(t){e=W.concat([e,W.from(t)])}(t)}var n;return r((n=t).length),n.forEach(i),e}function Sy(t,e,r){t.__NON_WITNESS_UTXO_BUF_CACHE[r]=e.nonWitnessUtxo;const i=Zg.Transaction.fromBuffer(e.nonWitnessUtxo);t.__NON_WITNESS_UTXO_TX_CACHE[r]=i;const n=t,o=r;delete e.nonWitnessUtxo,Object.defineProperty(e,"nonWitnessUtxo",{enumerable:!0,get(){const t=n.__NON_WITNESS_UTXO_BUF_CACHE[o],e=n.__NON_WITNESS_UTXO_TX_CACHE[o];if(void 0!==t)return t;{const t=e.toBuffer();return n.__NON_WITNESS_UTXO_BUF_CACHE[o]=t,t}},set(t){n.__NON_WITNESS_UTXO_BUF_CACHE[o]=t}})}function Ey(t,e,r,i){let n=0;t.forEach(((t,o)=>{if(i&&t.finalScriptSig&&(e.ins[o].script=t.finalScriptSig),i&&t.finalScriptWitness&&(e.ins[o].witness=My(t.finalScriptWitness)),t.witnessUtxo)n+=t.witnessUtxo.value;else if(t.nonWitnessUtxo){const i=ky(r,t,o),s=e.ins[o].index,h=i.outs[s];n+=h.value}}));const o=e.outs.reduce(((t,e)=>t+e.value),0),s=n-o;if(s<0)throw new Error("Outputs are spending more than Inputs");const h=e.virtualSize();r.__FEE=s,r.__EXTRACTED_TX=e,r.__FEE_RATE=Math.floor(s/h)}function ky(t,e,r){const i=t.__NON_WITNESS_UTXO_TX_CACHE;return i[r]||Sy(t,e,r),i[r]}function Ay(t,e,r){if(void 0!==e.witnessUtxo)return e.witnessUtxo.script;if(void 0!==e.nonWitnessUtxo){return ky(r,e,t).outs[r.__TX.ins[t].index].script}throw new Error("Can't find pubkey in input without Utxo data")}function Iy(t){return 33===t.length&&Vg.isCanonicalPubKey(t)}function Ty(t,e,r,i,n){const o=hy(t),s=o&&i&&sy(i),h=sy(t);if(o&&void 0===i)throw new Error("scriptPubkey is P2SH but redeemScript missing");if((h||s)&&void 0===n)throw new Error("scriptPubkey or redeemScript is P2WSH but witnessScript missing");let a;return s?(a=n,py(e,t,i,r),my(e,i,n,r),Oy(a)):h?(a=n,my(e,t,n,r),Oy(a)):o?(a=i,py(e,t,i,r)):a=t,{meaningfulScript:a,type:s?"p2sh-p2wsh":o?"p2sh":h?"p2wsh":"raw"}}function Oy(t){if(oy(t)||hy(t))throw new Error("P2WPKH or P2SH can not be contained within P2WSH")}function Py(t,e){const r=Fg.hash160(t),i=Vg.decompile(e);if(null===i)throw new Error("Unknown script error");return i.some((e=>"number"!=typeof e&&(e.equals(t)||e.equals(r))))}function xy(t){return oy(t)?"witnesspubkeyhash":ny(t)?"pubkeyhash":ry(t)?"multisig":iy(t)?"pubkey":"nonstandard"}function By(t){return[...Array(t).keys()]}var Ry={},Ny={},Uy={},Cy={};Object.defineProperty(Cy,"__esModule",{value:!0});const Ly=gc,Dy=gc;function jy(t){return t===Dy.OPS.OP_0||Ly.isCanonicalScriptSignature(t)}function Hy(t,e){const r=Ly.decompile(t);return!(r.length<2)&&(r[0]===Dy.OPS.OP_0&&(e?r.slice(1).every(jy):r.slice(1).every(Ly.isCanonicalScriptSignature)))}Cy.check=Hy,Hy.toJSON=()=>"multisig input";var qy={};Object.defineProperty(qy,"__esModule",{value:!0});const Ky=gc,Fy=gc,zy=bc,Wy=Fy.OPS.OP_RESERVED;function Vy(t,e){const r=Ky.decompile(t);if(r.length<4)return!1;if(r[r.length-1]!==Fy.OPS.OP_CHECKMULTISIG)return!1;if(!zy.Number(r[0]))return!1;if(!zy.Number(r[r.length-2]))return!1;const i=r[0]-Wy,n=r[r.length-2]-Wy;if(i<=0)return!1;if(n>16)return!1;if(i>n)return!1;if(n!==r.length-3)return!1;if(e)return!0;return r.slice(1,-2).every(Ky.isCanonicalPubKey)}qy.check=Vy,Vy.toJSON=()=>"multi-sig output",Object.defineProperty(Uy,"__esModule",{value:!0});const Zy=Cy;Uy.input=Zy;const Gy=qy;Uy.output=Gy;var $y={};Object.defineProperty($y,"__esModule",{value:!0});const Xy=gc,Yy=Xy.OPS;function Jy(t){const e=Xy.compile(t);return e.length>1&&e[0]===Yy.OP_RETURN}$y.check=Jy,Jy.toJSON=()=>"null data output";const Qy={check:Jy};$y.output=Qy;var tv={},ev={};Object.defineProperty(ev,"__esModule",{value:!0});const rv=gc;function iv(t){const e=rv.decompile(t);return 1===e.length&&rv.isCanonicalScriptSignature(e[0])}ev.check=iv,iv.toJSON=()=>"pubKey input";var nv={};Object.defineProperty(nv,"__esModule",{value:!0});const ov=gc,sv=gc;function hv(t){const e=ov.decompile(t);return 2===e.length&&ov.isCanonicalPubKey(e[0])&&e[1]===sv.OPS.OP_CHECKSIG}nv.check=hv,hv.toJSON=()=>"pubKey output",Object.defineProperty(tv,"__esModule",{value:!0});const av=ev;tv.input=av;const uv=nv;tv.output=uv;var fv={},lv={};Object.defineProperty(lv,"__esModule",{value:!0});const cv=gc;function dv(t){const e=cv.decompile(t);return 2===e.length&&cv.isCanonicalScriptSignature(e[0])&&cv.isCanonicalPubKey(e[1])}lv.check=dv,dv.toJSON=()=>"pubKeyHash input";var pv={};Object.defineProperty(pv,"__esModule",{value:!0});const mv=gc,gv=gc;function yv(t){const e=mv.compile(t);return 25===e.length&&e[0]===gv.OPS.OP_DUP&&e[1]===gv.OPS.OP_HASH160&&20===e[2]&&e[23]===gv.OPS.OP_EQUALVERIFY&&e[24]===gv.OPS.OP_CHECKSIG}pv.check=yv,yv.toJSON=()=>"pubKeyHash output",Object.defineProperty(fv,"__esModule",{value:!0});const vv=lv;fv.input=vv;const bv=pv;fv.output=bv;var wv={},Mv={},_v={};Object.defineProperty(_v,"__esModule",{value:!0});const Sv=gc,Ev=gc;function kv(t){const e=Sv.compile(t);return 22===e.length&&e[0]===Ev.OPS.OP_0&&20===e[1]}_v.check=kv,kv.toJSON=()=>"Witness pubKeyHash output";var Av={};Object.defineProperty(Av,"__esModule",{value:!0});const Iv=gc,Tv=gc;function Ov(t){const e=Iv.compile(t);return 34===e.length&&e[0]===Tv.OPS.OP_0&&32===e[1]}Av.check=Ov,Ov.toJSON=()=>"Witness scriptHash output",Object.defineProperty(Mv,"__esModule",{value:!0});const Pv=gc,xv=Uy,Bv=tv,Rv=fv,Nv=_v,Uv=Av;function Cv(t,e){const r=Pv.decompile(t);if(r.length<1)return!1;const i=r[r.length-1];if(!It(i))return!1;const n=Pv.decompile(Pv.compile(r.slice(0,-1))),o=Pv.decompile(i);return!!o&&(!!Pv.isPushOnly(n)&&(1===r.length?Uv.check(o)||Nv.check(o):!(!Rv.input.check(n)||!Rv.output.check(o))||(!(!xv.input.check(n,e)||!xv.output.check(o))||!(!Bv.input.check(n)||!Bv.output.check(o)))))}Mv.check=Cv,Cv.toJSON=()=>"scriptHash input";var Lv={};Object.defineProperty(Lv,"__esModule",{value:!0});const Dv=gc,jv=gc;function Hv(t){const e=Dv.compile(t);return 23===e.length&&e[0]===jv.OPS.OP_HASH160&&20===e[1]&&e[22]===jv.OPS.OP_EQUAL}Lv.check=Hv,Hv.toJSON=()=>"scriptHash output",Object.defineProperty(wv,"__esModule",{value:!0});const qv=Mv;wv.input=qv;const Kv=Lv;wv.output=Kv;var Fv={},zv={};Object.defineProperty(zv,"__esModule",{value:!0});const Wv=gc,Vv=gc,Zv=bc,Gv=Wl,$v=W.from("aa21a9ed","hex");function Xv(t){const e=Wv.compile(t);return e.length>37&&e[0]===Vv.OPS.OP_RETURN&&36===e[1]&&e.slice(2,6).equals($v)}zv.check=Xv,Xv.toJSON=()=>"Witness commitment output",zv.encode=function(t){Gv(Zv.Hash256bit,t);const e=W.allocUnsafe(36);return $v.copy(e,0),t.copy(e,4),Wv.compile([Vv.OPS.OP_RETURN,e])},zv.decode=function(t){return Gv(Xv,t),Wv.decompile(t)[1].slice(4,36)},Object.defineProperty(Fv,"__esModule",{value:!0});const Yv=zv;Fv.output=Yv;var Jv={},Qv={};Object.defineProperty(Qv,"__esModule",{value:!0});const tb=gc;function eb(t){const e=tb.decompile(t);return 2===e.length&&tb.isCanonicalScriptSignature(e[0])&&function(t){return tb.isCanonicalPubKey(t)&&33===t.length}(e[1])}Qv.check=eb,eb.toJSON=()=>"witnessPubKeyHash input",Object.defineProperty(Jv,"__esModule",{value:!0});const rb=Qv;Jv.input=rb;const ib=_v;Jv.output=ib;var nb={},ob={};Object.defineProperty(ob,"__esModule",{value:!0});const sb=gc,hb=Wl,ab=Uy,ub=tv,fb=fv;function lb(t,e){if(hb(hb.Array,t),t.length<1)return!1;const r=t[t.length-1];if(!It(r))return!1;const i=sb.decompile(r);if(!i||0===i.length)return!1;const n=sb.compile(t.slice(0,-1));return!(!fb.input.check(n)||!fb.output.check(i))||(!(!ab.input.check(n,e)||!ab.output.check(i))||!(!ub.input.check(n)||!ub.output.check(i)))}ob.check=lb,lb.toJSON=()=>"witnessScriptHash input",Object.defineProperty(nb,"__esModule",{value:!0});const cb=ob;nb.input=cb;const db=Av;nb.output=db,Object.defineProperty(Ny,"__esModule",{value:!0});const pb=gc,mb=Uy,gb=$y,yb=tv,vb=fv,bb=wv,wb=Fv,Mb=Jv,_b=nb,Sb={P2MS:"multisig",NONSTANDARD:"nonstandard",NULLDATA:"nulldata",P2PK:"pubkey",P2PKH:"pubkeyhash",P2SH:"scripthash",P2WPKH:"witnesspubkeyhash",P2WSH:"witnessscripthash",WITNESS_COMMITMENT:"witnesscommitment"};Ny.types=Sb,Ny.output=function(t){if(Mb.output.check(t))return Sb.P2WPKH;if(_b.output.check(t))return Sb.P2WSH;if(vb.output.check(t))return Sb.P2PKH;if(bb.output.check(t))return Sb.P2SH;const e=pb.decompile(t);if(!e)throw new TypeError("Invalid script");return mb.output.check(e)?Sb.P2MS:yb.output.check(e)?Sb.P2PK:wb.output.check(e)?Sb.WITNESS_COMMITMENT:gb.output.check(e)?Sb.NULLDATA:Sb.NONSTANDARD},Ny.input=function(t,e){const r=pb.decompile(t);if(!r)throw new TypeError("Invalid script");return vb.input.check(r)?Sb.P2PKH:bb.input.check(r,e)?Sb.P2SH:mb.input.check(r,e)?Sb.P2MS:yb.input.check(r)?Sb.P2PK:Sb.NONSTANDARD},Ny.witness=function(t,e){const r=pb.decompile(t);if(!r)throw new TypeError("Invalid script");return Mb.input.check(r)?Sb.P2WPKH:_b.input.check(r,e)?Sb.P2WSH:Sb.NONSTANDARD},Object.defineProperty(Ry,"__esModule",{value:!0});const Eb=cc,kb=Np,Ab=Ny,Ib=ad,Tb=wp,Ob=dc,Pb=pc,xb=gc,Bb=gc,Rb=Wp,Nb=bc,Ub=Wl,Cb=Ab.types,Lb=new Set(["p2pkh","p2pk","p2wpkh","p2ms","p2sh-p2pkh","p2sh-p2pk","p2sh-p2wpkh","p2sh-p2ms","p2wsh-p2pkh","p2wsh-p2pk","p2wsh-p2ms","p2sh-p2wsh-p2pkh","p2sh-p2wsh-p2pk","p2sh-p2wsh-p2ms"]);function Db(t,e,r){try{Ub(t,e)}catch(t){throw new Error(r)}}class jb{constructor(t=Ob.bitcoin,e=2500){this.network=t,this.maximumFeeRate=e,this.__PREV_TX_SET={},this.__INPUTS=[],this.__TX=new Rb.Transaction,this.__TX.version=2,this.__USE_LOW_R=!1,console.warn("Deprecation Warning: TransactionBuilder will be removed in the future. (v6.x.x or later) Please use the Psbt class instead. Examples of usage are available in the transactions-psbt.js integration test file on our Github. A high level explanation is available in the psbt.ts and psbt.js files as well.")}static fromTransaction(t,e){const r=new jb(e);return r.setVersion(t.version),r.setLockTime(t.locktime),t.outs.forEach((t=>{r.addOutput(t.script,t.value)})),t.ins.forEach((t=>{r.__addInputUnsafe(t.hash,t.index,{sequence:t.sequence,script:t.script,witness:t.witness})})),r.__INPUTS.forEach(((e,r)=>{!function(t,e,r){if(t.redeemScriptType!==Cb.P2MS||!t.redeemScript)return;if(t.pubkeys.length===t.signatures.length)return;const i=t.signatures.concat();t.signatures=t.pubkeys.map((n=>{const o=Tb.fromPublicKey(n);let s;return i.some(((n,h)=>{if(!n)return!1;const a=xb.signature.decode(n),u=e.hashForSignature(r,t.redeemScript,a.hashType);return!!o.verify(u,a.signature)&&(i[h]=void 0,s=n,!0)})),s}))}(e,t,r)})),r}setLowR(t){return Ub(Ub.maybe(Ub.Boolean),t),void 0===t&&(t=!0),this.__USE_LOW_R=t,t}setLockTime(t){if(Ub(Nb.UInt32,t),this.__INPUTS.some((t=>!!t.signatures&&t.signatures.some((t=>void 0!==t)))))throw new Error("No, this would invalidate signatures");this.__TX.locktime=t}setVersion(t){Ub(Nb.UInt32,t),this.__TX.version=t}addInput(t,e,r,i){if(!this.__canModifyInputs())throw new Error("No, this would invalidate signatures");let n;if("string"==typeof(o=t)||o instanceof String)t=kb.reverseBuffer(W.from(t,"hex"));else if(function(t){return t instanceof Rb.Transaction}(t)){const r=t.outs[e];i=r.script,n=r.value,t=t.getHash(!1)}var o;return this.__addInputUnsafe(t,e,{sequence:r,prevOutScript:i,value:n})}addOutput(t,e){if(!this.__canModifyOutputs())throw new Error("No, this would invalidate signatures");return"string"==typeof t&&(t=Eb.toOutputScript(t,this.network)),this.__TX.addOutput(t,e)}build(){return this.__build(!1)}buildIncomplete(){return this.__build(!0)}sign(t,e,r,i,n,o){!function({input:t,ourPubKey:e,keyPair:r,signatureHash:i,hashType:n,useLowR:o}){let s=!1;for(const[h,a]of t.pubkeys.entries()){if(!e.equals(a))continue;if(t.signatures[h])throw new Error("Signature already exists");if(33!==e.length&&t.hasWitness)throw new Error("BIP143 rejects uncompressed public keys in P2WPKH or P2WSH");const u=r.sign(i,o);t.signatures[h]=xb.signature.encode(u,n),s=!0}if(!s)throw new Error("Key pair cannot sign for this input")}(function(t,e,r,i,n,o,s,h,a,u,f){let l;if("number"==typeof n)console.warn("DEPRECATED: TransactionBuilder sign method arguments will change in v6, please use the TxbSignArg interface"),l=n;else{if("object"!=typeof n)throw new TypeError("TransactionBuilder sign first arg must be TxbSignArg or number");!function(t,e){if(!Lb.has(e.prevOutScriptType))throw new TypeError(`Unknown prevOutScriptType "${e.prevOutScriptType}"`);Db(Ub.Number,e.vin,"sign must include vin parameter as Number (input index)"),Db(Nb.Signer,e.keyPair,"sign must include keyPair parameter as Signer interface"),Db(Ub.maybe(Ub.Number),e.hashType,"sign hashType parameter must be a number");const r=(t[e.vin]||[]).prevOutType,i=e.prevOutScriptType;switch(i){case"p2pkh":if(r&&"pubkeyhash"!==r)throw new TypeError(`input #${e.vin} is not of type p2pkh: ${r}`);Db(Ub.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Db(Ub.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Db(Ub.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2pk":if(r&&"pubkey"!==r)throw new TypeError(`input #${e.vin} is not of type p2pk: ${r}`);Db(Ub.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Db(Ub.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Db(Ub.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2wpkh":if(r&&"witnesspubkeyhash"!==r)throw new TypeError(`input #${e.vin} is not of type p2wpkh: ${r}`);Db(Ub.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Db(Ub.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Db(Nb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2ms":if(r&&"multisig"!==r)throw new TypeError(`input #${e.vin} is not of type p2ms: ${r}`);Db(Ub.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Db(Ub.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Db(Ub.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2sh-p2wpkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type p2sh-p2wpkh: ${r}`);Db(Ub.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Db(Ub.Buffer,e.redeemScript,`${i} requires redeemScript`),Db(Nb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2sh-p2ms":case"p2sh-p2pk":case"p2sh-p2pkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Db(Ub.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Db(Ub.Buffer,e.redeemScript,`${i} requires redeemScript`),Db(Ub.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2wsh-p2ms":case"p2wsh-p2pk":case"p2wsh-p2pkh":if(r&&"witnessscripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Db(Ub.Buffer,e.witnessScript,`${i} requires witnessScript`),Db(Ub.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Db(Nb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2sh-p2wsh-p2ms":case"p2sh-p2wsh-p2pk":case"p2sh-p2wsh-p2pkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Db(Ub.Buffer,e.witnessScript,`${i} requires witnessScript`),Db(Ub.Buffer,e.redeemScript,`${i} requires witnessScript`),Db(Nb.Satoshi,e.witnessValue,`${i} requires witnessScript`)}}(e,n),({vin:l,keyPair:o,redeemScript:s,hashType:h,witnessValue:a,witnessScript:u}=n)}if(void 0===o)throw new Error("sign requires keypair");if(o.network&&o.network!==t)throw new TypeError("Inconsistent network");if(!e[l])throw new Error("No input at index: "+l);if(h=h||Rb.Transaction.SIGHASH_ALL,r(h))throw new Error("Transaction needs outputs");const c=e[l];if(void 0!==c.redeemScript&&s&&!c.redeemScript.equals(s))throw new Error("Inconsistent redeemScript");const d=o.publicKey||o.getPublicKey&&o.getPublicKey();if(!Fb(c)){if(void 0!==a){if(void 0!==c.value&&c.value!==a)throw new Error("Input did not match witnessValue");Ub(Nb.Satoshi,a),c.value=a}if(!Fb(c)){const t=function(t,e,r,i){if(r&&i){const n=Pb.p2wsh({redeem:{output:i}}),o=Pb.p2wsh({output:r}),s=Pb.p2sh({redeem:{output:r}}),h=Pb.p2sh({redeem:n});if(!n.hash.equals(o.hash))throw new Error("Witness script inconsistent with prevOutScript");if(!s.hash.equals(h.hash))throw new Error("Redeem script inconsistent with prevOutScript");const a=qb(n.redeem.output,e);if(!a.pubkeys)throw new Error(a.type+" not supported as witnessScript ("+xb.toASM(i)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(a.signatures=t.signatures);const u=i;if(a.type===Cb.P2WPKH)throw new Error("P2SH(P2WSH(P2WPKH)) is a consensus failure");return{redeemScript:r,redeemScriptType:Cb.P2WSH,witnessScript:i,witnessScriptType:a.type,prevOutType:Cb.P2SH,prevOutScript:s.output,hasWitness:!0,signScript:u,signType:a.type,pubkeys:a.pubkeys,signatures:a.signatures,maxSignatures:a.maxSignatures}}if(r){const i=Pb.p2sh({redeem:{output:r}});if(t.prevOutScript){let e;try{e=Pb.p2sh({output:t.prevOutScript})}catch(t){throw new Error("PrevOutScript must be P2SH")}if(!i.hash.equals(e.hash))throw new Error("Redeem script inconsistent with prevOutScript")}const n=qb(i.redeem.output,e);if(!n.pubkeys)throw new Error(n.type+" not supported as redeemScript ("+xb.toASM(r)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(n.signatures=t.signatures);let o=r;return n.type===Cb.P2WPKH&&(o=Pb.p2pkh({pubkey:n.pubkeys[0]}).output),{redeemScript:r,redeemScriptType:n.type,prevOutType:Cb.P2SH,prevOutScript:i.output,hasWitness:n.type===Cb.P2WPKH,signScript:o,signType:n.type,pubkeys:n.pubkeys,signatures:n.signatures,maxSignatures:n.maxSignatures}}if(i){const r=Pb.p2wsh({redeem:{output:i}});if(t.prevOutScript){const e=Pb.p2wsh({output:t.prevOutScript});if(!r.hash.equals(e.hash))throw new Error("Witness script inconsistent with prevOutScript")}const n=qb(r.redeem.output,e);if(!n.pubkeys)throw new Error(n.type+" not supported as witnessScript ("+xb.toASM(i)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(n.signatures=t.signatures);const o=i;if(n.type===Cb.P2WPKH)throw new Error("P2WSH(P2WPKH) is a consensus failure");return{witnessScript:i,witnessScriptType:n.type,prevOutType:Cb.P2WSH,prevOutScript:r.output,hasWitness:!0,signScript:o,signType:n.type,pubkeys:n.pubkeys,signatures:n.signatures,maxSignatures:n.maxSignatures}}if(t.prevOutType&&t.prevOutScript){if(t.prevOutType===Cb.P2SH)throw new Error("PrevOutScript is "+t.prevOutType+", requires redeemScript");if(t.prevOutType===Cb.P2WSH)throw new Error("PrevOutScript is "+t.prevOutType+", requires witnessScript");if(!t.prevOutScript)throw new Error("PrevOutScript is missing");const r=qb(t.prevOutScript,e);if(!r.pubkeys)throw new Error(r.type+" not supported ("+xb.toASM(t.prevOutScript)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(r.signatures=t.signatures);let i=t.prevOutScript;return r.type===Cb.P2WPKH&&(i=Pb.p2pkh({pubkey:r.pubkeys[0]}).output),{prevOutType:r.type,prevOutScript:t.prevOutScript,hasWitness:r.type===Cb.P2WPKH,signScript:i,signType:r.type,pubkeys:r.pubkeys,signatures:r.signatures,maxSignatures:r.maxSignatures}}const n=Pb.p2pkh({pubkey:e}).output;return{prevOutType:Cb.P2PKH,prevOutScript:n,hasWitness:!1,signScript:n,signType:Cb.P2PKH,pubkeys:[e],signatures:[void 0]}}(c,d,s,u);Object.assign(c,t)}if(!Fb(c))throw Error(c.prevOutType+" not supported")}let p;p=c.hasWitness?i.hashForWitnessV0(l,c.signScript,c.value,h):i.hashForSignature(l,c.signScript,h);return{input:c,ourPubKey:d,keyPair:o,signatureHash:p,hashType:h,useLowR:!!f}}(this.network,this.__INPUTS,this.__needsOutputs.bind(this),this.__TX,t,e,r,i,n,o,this.__USE_LOW_R))}__addInputUnsafe(t,e,r){if(Rb.Transaction.isCoinbaseHash(t))throw new Error("coinbase inputs not supported");const i=t.toString("hex")+":"+e;if(void 0!==this.__PREV_TX_SET[i])throw new Error("Duplicate TxOut: "+i);let n={};if(void 0!==r.script&&(n=Hb(r.script,r.witness||[])),void 0!==r.value&&(n.value=r.value),!n.prevOutScript&&r.prevOutScript){let t;if(!n.pubkeys&&!n.signatures){const e=qb(r.prevOutScript);e.pubkeys&&(n.pubkeys=e.pubkeys,n.signatures=e.signatures),t=e.type}n.prevOutScript=r.prevOutScript,n.prevOutType=t||Ab.output(r.prevOutScript)}const o=this.__TX.addInput(t,e,r.sequence,r.scriptSig);return this.__INPUTS[o]=n,this.__PREV_TX_SET[i]=!0,o}__build(t){if(!t){if(!this.__TX.ins.length)throw new Error("Transaction has no inputs");if(!this.__TX.outs.length)throw new Error("Transaction has no outputs")}const e=this.__TX.clone();if(this.__INPUTS.forEach(((r,i)=>{if(!r.prevOutType&&!t)throw new Error("Transaction is not complete");const n=Kb(r.prevOutType,r,t);if(n)e.setInputScript(i,n.input),e.setWitness(i,n.witness);else{if(!t&&r.prevOutType===Cb.NONSTANDARD)throw new Error("Unknown input type");if(!t)throw new Error("Not enough information")}})),!t&&this.__overMaximumFees(e.virtualSize()))throw new Error("Transaction has absurd fees");return e}__canModifyInputs(){return this.__INPUTS.every((t=>!t.signatures||t.signatures.every((t=>{if(!t)return!0;return 0!=(zb(t)&Rb.Transaction.SIGHASH_ANYONECANPAY)}))))}__needsOutputs(t){return t===Rb.Transaction.SIGHASH_ALL?0===this.__TX.outs.length:0===this.__TX.outs.length&&this.__INPUTS.some((t=>!!t.signatures&&t.signatures.some((t=>{if(!t)return!1;return!(zb(t)&Rb.Transaction.SIGHASH_NONE)}))))}__canModifyOutputs(){const t=this.__TX.ins.length,e=this.__TX.outs.length;return this.__INPUTS.every((r=>void 0===r.signatures||r.signatures.every((r=>{if(!r)return!0;const i=31&zb(r);return i===Rb.Transaction.SIGHASH_NONE||i===Rb.Transaction.SIGHASH_SINGLE&&t<=e}))))}__overMaximumFees(t){const e=this.__INPUTS.reduce(((t,e)=>t+(e.value>>>0)),0),r=this.__TX.outs.reduce(((t,e)=>t+e.value),0);return(e-r)/t>this.maximumFeeRate}}function Hb(t,e,r,i){if(0===t.length&&0===e.length)return{};if(!r){let i=Ab.input(t,!0),n=Ab.witness(e,!0);i===Cb.NONSTANDARD&&(i=void 0),n===Cb.NONSTANDARD&&(n=void 0),r=i||n}switch(r){case Cb.P2WPKH:{const{output:t,pubkey:r,signature:i}=Pb.p2wpkh({witness:e});return{prevOutScript:t,prevOutType:Cb.P2WPKH,pubkeys:[r],signatures:[i]}}case Cb.P2PKH:{const{output:e,pubkey:r,signature:i}=Pb.p2pkh({input:t});return{prevOutScript:e,prevOutType:Cb.P2PKH,pubkeys:[r],signatures:[i]}}case Cb.P2PK:{const{signature:e}=Pb.p2pk({input:t});return{prevOutType:Cb.P2PK,pubkeys:[void 0],signatures:[e]}}case Cb.P2MS:{const{m:e,pubkeys:r,signatures:n}=Pb.p2ms({input:t,output:i},{allowIncomplete:!0});return{prevOutType:Cb.P2MS,pubkeys:r,signatures:n,maxSignatures:e}}}if(r===Cb.P2SH){const{output:r,redeem:i}=Pb.p2sh({input:t,witness:e}),n=Ab.output(i.output),o=Hb(i.input,i.witness,n,i.output);return o.prevOutType?{prevOutScript:r,prevOutType:Cb.P2SH,redeemScript:i.output,redeemScriptType:o.prevOutType,witnessScript:o.witnessScript,witnessScriptType:o.witnessScriptType,pubkeys:o.pubkeys,signatures:o.signatures}:{}}if(r===Cb.P2WSH){const{output:r,redeem:i}=Pb.p2wsh({input:t,witness:e}),n=Ab.output(i.output);let o;return o=n===Cb.P2WPKH?Hb(i.input,i.witness,n):Hb(xb.compile(i.witness),[],n,i.output),o.prevOutType?{prevOutScript:r,prevOutType:Cb.P2WSH,witnessScript:i.output,witnessScriptType:o.prevOutType,pubkeys:o.pubkeys,signatures:o.signatures}:{}}return{prevOutType:Cb.NONSTANDARD,prevOutScript:t}}function qb(t,e){Ub(Nb.Buffer,t);const r=Ab.output(t);switch(r){case Cb.P2PKH:{if(!e)return{type:r};const i=Pb.p2pkh({output:t}).hash,n=Ib.hash160(e);return i.equals(n)?{type:r,pubkeys:[e],signatures:[void 0]}:{type:r}}case Cb.P2WPKH:{if(!e)return{type:r};const i=Pb.p2wpkh({output:t}).hash,n=Ib.hash160(e);return i.equals(n)?{type:r,pubkeys:[e],signatures:[void 0]}:{type:r}}case Cb.P2PK:return{type:r,pubkeys:[Pb.p2pk({output:t}).pubkey],signatures:[void 0]};case Cb.P2MS:{const e=Pb.p2ms({output:t});return{type:r,pubkeys:e.pubkeys,signatures:e.pubkeys.map((()=>{})),maxSignatures:e.m}}}return{type:r}}function Kb(t,e,r){const i=e.pubkeys||[];let n=e.signatures||[];switch(t){case Cb.P2PKH:if(0===i.length)break;if(0===n.length)break;return Pb.p2pkh({pubkey:i[0],signature:n[0]});case Cb.P2WPKH:if(0===i.length)break;if(0===n.length)break;return Pb.p2wpkh({pubkey:i[0],signature:n[0]});case Cb.P2PK:if(0===i.length)break;if(0===n.length)break;return Pb.p2pk({signature:n[0]});case Cb.P2MS:{const t=e.maxSignatures;n=r?n.map((t=>t||Bb.OPS.OP_0)):n.filter((t=>t));const o=!r||t===n.length;return Pb.p2ms({m:t,pubkeys:i,signatures:n},{allowIncomplete:r,validate:o})}case Cb.P2SH:{const t=Kb(e.redeemScriptType,e,r);if(!t)return;return Pb.p2sh({redeem:{output:t.output||e.redeemScript,input:t.input,witness:t.witness}})}case Cb.P2WSH:{const t=Kb(e.witnessScriptType,e,r);if(!t)return;return Pb.p2wsh({redeem:{output:e.witnessScript,input:t.input,witness:t.witness}})}}}function Fb(t){return void 0!==t.signScript&&void 0!==t.signType&&void 0!==t.pubkeys&&void 0!==t.signatures&&t.signatures.length===t.pubkeys.length&&t.pubkeys.length>0&&(!1===t.hasWitness||void 0!==t.value)}function zb(t){return t.readUInt8(t.length-1)}Ry.TransactionBuilder=jb,Object.defineProperty(O,"__esModule",{value:!0});const Wb=P;O.bip32=Wb;const Vb=cc;O.address=Vb;const Zb=ad;O.crypto=Zb;const Gb=wp;O.ECPair=Gb;const $b=dc;O.networks=$b;const Xb=pc;O.payments=Xb;const Yb=gc;var Jb=O.script=Yb,Qb=Rp;O.Block=Qb.Block;var tw=vm;O.Psbt=tw.Psbt;var ew=gc;O.opcodes=ew.OPS;var rw=Wp,iw=O.Transaction=rw.Transaction,nw=Ry;O.TransactionBuilder=nw.TransactionBuilder;var ow={},sw={},hw={exports:{}},aw={},uw={};Object.defineProperty(uw,"__esModule",{value:!0}),uw.default=function(t){var e=t.length,r=e%4;if(!r)return t;var i=e,n=4-r,o=e+n,s=W.alloc(o);for(s.write(t);n--;)s.write("=",i++);return s.toString()},Object.defineProperty(aw,"__esModule",{value:!0});var fw=uw;function lw(t,e){return void 0===e&&(e="utf8"),It(t)?dw(t.toString("base64")):dw(W.from(t,e).toString("base64"))}function cw(t){return t=t.toString(),fw.default(t).replace(/\-/g,"+").replace(/_/g,"/")}function dw(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}var pw,mw=lw;mw.encode=lw,mw.decode=function(t,e){return void 0===e&&(e="utf8"),W.from(cw(t),"base64").toString(e)},mw.toBase64=cw,mw.fromBase64=dw,mw.toBuffer=function(t){return W.from(cw(t),"base64")},aw.default=mw,(pw=hw).exports=aw.default,pw.exports.default=pw.exports;var gw={},yw={};function vw(t){return(t/8|0)+(t%8==0?0:1)}var bw={ES256:vw(256),ES384:vw(384),ES512:vw(521)};var ww=function(t){var e=bw[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')},Mw=Bt.exports.Buffer,_w=ww;function Sw(t){if(Mw.isBuffer(t))return t;if("string"==typeof t)return Mw.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function Ew(t,e,r){for(var i=0;e+i<r&&0===t[e+i];)++i;return t[e+i]>=128&&--i,i}var kw={derToJose:function(t,e){t=Sw(t);var r=_w(e),i=r+1,n=t.length,o=0;if(48!==t[o++])throw new Error('Could not find expected "seq"');var s=t[o++];if(129===s&&(s=t[o++]),n-o<s)throw new Error('"seq" specified length of "'+s+'", only "'+(n-o)+'" remaining');if(2!==t[o++])throw new Error('Could not find expected "int" for "r"');var h=t[o++];if(n-o-2<h)throw new Error('"r" specified length of "'+h+'", only "'+(n-o-2)+'" available');if(i<h)throw new Error('"r" specified length of "'+h+'", max of "'+i+'" is acceptable');var a=o;if(o+=h,2!==t[o++])throw new Error('Could not find expected "int" for "s"');var u=t[o++];if(n-o!==u)throw new Error('"s" specified length of "'+u+'", expected "'+(n-o)+'"');if(i<u)throw new Error('"s" specified length of "'+u+'", max of "'+i+'" is acceptable');var f=o;if((o+=u)!==n)throw new Error('Expected to consume entire buffer, but "'+(n-o)+'" bytes remain');var l=r-h,c=r-u,d=Mw.allocUnsafe(l+h+c+u);for(o=0;o<l;++o)d[o]=0;t.copy(d,o,a+Math.max(-l,0),a+h);for(var p=o=r;o<p+c;++o)d[o]=0;return t.copy(d,o,f+Math.max(-c,0),f+u),d=(d=d.toString("base64")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},joseToDer:function(t,e){t=Sw(t);var r=_w(e),i=t.length;if(i!==2*r)throw new TypeError('"'+e+'" signatures must be "'+2*r+'" bytes, saw "'+i+'"');var n=Ew(t,0,r),o=Ew(t,r,t.length),s=r-n,h=r-o,a=2+s+1+1+h,u=a<128,f=Mw.allocUnsafe((u?2:3)+a),l=0;return f[l++]=48,u?f[l++]=a:(f[l++]=129,f[l++]=255&a),f[l++]=2,f[l++]=s,n<0?(f[l++]=0,l+=t.copy(f,l,0,r)):l+=t.copy(f,l,n,r),f[l++]=2,f[l++]=h,o<0?(f[l++]=0,t.copy(f,l,r)):t.copy(f,l,r+o),f}},Aw={};Object.defineProperty(Aw,"__esModule",{value:!0});class Iw extends Error{constructor(t){super(),this.name="MissingParametersError",this.message=t||""}}Aw.MissingParametersError=Iw;class Tw extends Error{constructor(t){super(),this.name="InvalidTokenError",this.message=t||""}}Aw.InvalidTokenError=Tw,Object.defineProperty(yw,"__esModule",{value:!0});const Ow=th,Pw=kw,xw=Aw;class Bw{constructor(){}static loadPrivateKey(t){return 66===t.length&&(t=t.slice(0,64)),Bw.ec.keyFromPrivate(t)}static loadPublicKey(t){return Bw.ec.keyFromPublic(t,"hex")}static derivePublicKey(t,e=!0){if("string"!=typeof t)throw Error("private key must be a string");if(!/^[0-9A-F]+$/i.test(t))throw Error("private key must be a hex string");if(66==t.length)t=t.slice(0,64);else if(!(t.length<=64))throw Error("private key must be 66 characters or less");return Bw.ec.keyFromPrivate(t).getPublic(e,"hex")}static signHash(t,e,r="jose"){if(!t||!e)throw new xw.MissingParametersError("a signing input hash and private key are all required");const i=Bw.loadPrivateKey(e).sign(t),n=W.from(i.toDER());if("der"===r)return n.toString("hex");if("jose"===r)return Pw.derToJose(n,"ES256");throw Error("Invalid signature format")}static loadSignature(t){return Pw.joseToDer(t,"ES256")}static verifyHash(t,e,r){if(!(t&&e&&r))throw new xw.MissingParametersError("a signing input hash, der signature, and public key are all required");return Bw.loadPublicKey(r).verify(t,e)}}yw.SECP256K1Client=Bw,Bw.ec=new Ow.ec("secp256k1"),Bw.algorithmName="ES256K",Object.defineProperty(gw,"__esModule",{value:!0});const Rw=yw;gw.SECP256K1Client=Rw.SECP256K1Client;const Nw={ES256K:Rw.SECP256K1Client};gw.cryptoClients=Nw;var Uw,Cw={},Lw={},Dw={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}},jw=Dw,Hw={},qw=Math.pow(2,30)-1,Kw=function(t,e){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof e)throw new TypeError("Key length not a number");if(e<0||e>qw||e!=e)throw new TypeError("Bad key length")};if(I.process&&I.true)Uw="utf-8";else if(I.process&&I.process.version){Uw=parseInt(ye.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else Uw="utf-8";var Fw=Uw,zw=Bt.exports.Buffer,Ww=function(t,e,r){if(zw.isBuffer(t))return t;if("string"==typeof t)return zw.from(t,e);if(ArrayBuffer.isView(t))return zw.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")},Vw=Rs,Zw=Qn,Gw=to.exports,$w=Bt.exports.Buffer,Xw=Kw,Yw=Fw,Jw=Ww,Qw=$w.alloc(128),tM={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function eM(t,e,r){var i=function(t){function e(e){return Gw(t).update(e).digest()}function r(t){return(new Zw).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?Vw:e}(t),n="sha512"===t||"sha384"===t?128:64;e.length>n?e=i(e):e.length<n&&(e=$w.concat([e,Qw],n));for(var o=$w.allocUnsafe(n+tM[t]),s=$w.allocUnsafe(n+tM[t]),h=0;h<n;h++)o[h]=54^e[h],s[h]=92^e[h];var a=$w.allocUnsafe(n+r+4);o.copy(a,0,0,n),this.ipad1=a,this.ipad2=o,this.opad=s,this.alg=t,this.blocksize=n,this.hash=i,this.size=tM[t]}eM.prototype.run=function(t,e){return t.copy(e,this.blocksize),this.hash(e).copy(this.opad,this.blocksize),this.hash(this.opad)};var rM,iM,nM=function(t,e,r,i,n){Xw(r,i);var o=new eM(n=n||"sha1",t=Jw(t,Yw,"Password"),(e=Jw(e,Yw,"Salt")).length),s=$w.allocUnsafe(i),h=$w.allocUnsafe(e.length+4);e.copy(h,0,0,e.length);for(var a=0,u=tM[n],f=Math.ceil(i/u),l=1;l<=f;l++){h.writeUInt32BE(l,e.length);for(var c=o.run(h,o.ipad1),d=c,p=1;p<r;p++){d=o.run(d,o.ipad2);for(var m=0;m<u;m++)c[m]^=d[m]}c.copy(s,a),a+=u}return s},oM=Bt.exports.Buffer,sM=Kw,hM=Fw,aM=nM,uM=Ww,fM=I.crypto&&I.crypto.subtle,lM={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},cM=[];function dM(){return iM||(iM=I.process&&I.process.nextTick?I.process.nextTick:I.queueMicrotask?I.queueMicrotask:I.setImmediate?I.setImmediate:I.setTimeout)}function pM(t,e,r,i,n){return fM.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return fM.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return oM.from(t)}))}Hw.pbkdf2=function(t,e,r,i,n,o){"function"==typeof n&&(o=n,n=void 0);var s=lM[(n=n||"sha1").toLowerCase()];if(s&&"function"==typeof I.Promise){if(sM(r,i),t=uM(t,hM,"Password"),e=uM(e,hM,"Salt"),"function"!=typeof o)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){dM()((function(){e(null,t)}))}),(function(t){dM()((function(){e(t)}))}))}(function(t){if(I.process&&!I.true)return Promise.resolve(!1);if(!fM||!fM.importKey||!fM.deriveBits)return Promise.resolve(!1);if(void 0!==cM[t])return cM[t];var e=pM(rM=rM||oM.alloc(8),rM,10,128,t).then((function(){return!0})).catch((function(){return!1}));return cM[t]=e,e}(s).then((function(o){return o?pM(t,e,r,i,s):aM(t,e,r,i,n)})),o)}else dM()((function(){var s;try{s=aM(t,e,r,i,n)}catch(t){return o(t)}o(null,s)}))},Hw.pbkdf2Sync=nM;var mM={},gM={},yM={readUInt32BE:function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},writeUInt32BE:function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},ip:function(t,e,r,i){for(var n=0,o=0,s=6;s>=0;s-=2){for(var h=0;h<=24;h+=8)n<<=1,n|=e>>>h+s&1;for(h=0;h<=24;h+=8)n<<=1,n|=t>>>h+s&1}for(s=6;s>=0;s-=2){for(h=1;h<=25;h+=8)o<<=1,o|=e>>>h+s&1;for(h=1;h<=25;h+=8)o<<=1,o|=t>>>h+s&1}r[i+0]=n>>>0,r[i+1]=o>>>0},rip:function(t,e,r,i){for(var n=0,o=0,s=0;s<4;s++)for(var h=24;h>=0;h-=8)n<<=1,n|=e>>>h+s&1,n<<=1,n|=t>>>h+s&1;for(s=4;s<8;s++)for(h=24;h>=0;h-=8)o<<=1,o|=e>>>h+s&1,o<<=1,o|=t>>>h+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},pc1:function(t,e,r,i){for(var n=0,o=0,s=7;s>=5;s--){for(var h=0;h<=24;h+=8)n<<=1,n|=e>>h+s&1;for(h=0;h<=24;h+=8)n<<=1,n|=t>>h+s&1}for(h=0;h<=24;h+=8)n<<=1,n|=e>>h+s&1;for(s=1;s<=3;s++){for(h=0;h<=24;h+=8)o<<=1,o|=e>>h+s&1;for(h=0;h<=24;h+=8)o<<=1,o|=t>>h+s&1}for(h=0;h<=24;h+=8)o<<=1,o|=t>>h+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},r28shl:function(t,e){return t<<e&268435455|t>>>28-e}},vM=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];yM.pc2=function(t,e,r,i){for(var n=0,o=0,s=vM.length>>>1,h=0;h<s;h++)n<<=1,n|=t>>>vM[h]&1;for(h=s;h<vM.length;h++)o<<=1,o|=e>>>vM[h]&1;r[i+0]=n>>>0,r[i+1]=o>>>0},yM.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var bM=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];yM.substitute=function(t,e){for(var r=0,i=0;i<4;i++){r<<=4,r|=bM[64*i+(t>>>18-6*i&63)]}for(i=0;i<4;i++){r<<=4,r|=bM[256+64*i+(e>>>18-6*i&63)]}return r>>>0};var wM=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];yM.permute=function(t){for(var e=0,r=0;r<wM.length;r++)e<<=1,e|=t>>>wM[r]&1;return e>>>0},yM.padSplit=function(t,e,r){for(var i=t.toString(2);i.length<e;)i="0"+i;for(var n=[],o=0;o<e;o+=r)n.push(i.slice(o,o+r));return n.join(" ")};var MM=nh;function _M(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}var SM=_M;_M.prototype._init=function(){},_M.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},_M.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i<r;i++)this.buffer[this.bufferOff+i]=t[e+i];return this.bufferOff+=r,r},_M.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},_M.prototype._updateEncrypt=function(t){var e=0,r=0,i=(this.bufferOff+t.length)/this.blockSize|0,n=new Array(i*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(n,r)));for(var o=t.length-(t.length-e)%this.blockSize;e<o;e+=this.blockSize)this._update(t,e,n,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return n},_M.prototype._updateDecrypt=function(t){for(var e=0,r=0,i=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,n=new Array(i*this.blockSize);i>0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},_M.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},_M.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},_M.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},_M.prototype._unpad=function(t){return t},_M.prototype._finalDecrypt=function(){MM.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)};var EM=nh,kM=xt.exports,AM=yM,IM=SM;function TM(){this.tmp=new Array(2),this.keys=null}function OM(t){IM.call(this,t);var e=new TM;this._desState=e,this.deriveKeys(e,t.key)}kM(OM,IM);var PM=OM;OM.create=function(t){return new OM(t)};var xM=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];OM.prototype.deriveKeys=function(t,e){t.keys=new Array(32),EM.equal(e.length,this.blockSize,"Invalid key length");var r=AM.readUInt32BE(e,0),i=AM.readUInt32BE(e,4);AM.pc1(r,i,t.tmp,0),r=t.tmp[0],i=t.tmp[1];for(var n=0;n<t.keys.length;n+=2){var o=xM[n>>>1];r=AM.r28shl(r,o),i=AM.r28shl(i,o),AM.pc2(r,i,t.keys,n)}},OM.prototype._update=function(t,e,r,i){var n=this._desState,o=AM.readUInt32BE(t,e),s=AM.readUInt32BE(t,e+4);AM.ip(o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],"encrypt"===this.type?this._encrypt(n,o,s,n.tmp,0):this._decrypt(n,o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],AM.writeUInt32BE(r,o,i),AM.writeUInt32BE(r,s,i+4)},OM.prototype._pad=function(t,e){for(var r=t.length-e,i=e;i<t.length;i++)t[i]=r;return!0},OM.prototype._unpad=function(t){for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)EM.equal(t[r],e);return t.slice(0,t.length-e)},OM.prototype._encrypt=function(t,e,r,i,n){for(var o=e,s=r,h=0;h<t.keys.length;h+=2){var a=t.keys[h],u=t.keys[h+1];AM.expand(s,t.tmp,0),a^=t.tmp[0],u^=t.tmp[1];var f=AM.substitute(a,u),l=s;s=(o^AM.permute(f))>>>0,o=l}AM.rip(s,o,i,n)},OM.prototype._decrypt=function(t,e,r,i,n){for(var o=r,s=e,h=t.keys.length-2;h>=0;h-=2){var a=t.keys[h],u=t.keys[h+1];AM.expand(o,t.tmp,0),a^=t.tmp[0],u^=t.tmp[1];var f=AM.substitute(a,u),l=o;o=(s^AM.permute(f))>>>0,s=l}AM.rip(o,s,i,n)};var BM={},RM=nh,NM=xt.exports,UM={};function CM(t){RM.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=t[e]}BM.instantiate=function(t){function e(e){t.call(this,e),this._cbcInit()}NM(e,t);for(var r=Object.keys(UM),i=0;i<r.length;i++){var n=r[i];e.prototype[n]=UM[n]}return e.create=function(t){return new e(t)},e},UM._cbcInit=function(){var t=new CM(this.options.iv);this._cbcState=t},UM._update=function(t,e,r,i){var n=this._cbcState,o=this.constructor.super_.prototype,s=n.iv;if("encrypt"===this.type){for(var h=0;h<this.blockSize;h++)s[h]^=t[e+h];o._update.call(this,s,0,r,i);for(h=0;h<this.blockSize;h++)s[h]=r[i+h]}else{o._update.call(this,t,e,r,i);for(h=0;h<this.blockSize;h++)r[i+h]^=s[h];for(h=0;h<this.blockSize;h++)s[h]=t[e+h]}};var LM=nh,DM=xt.exports,jM=SM,HM=PM;function qM(t,e){LM.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),i=e.slice(8,16),n=e.slice(16,24);this.ciphers="encrypt"===t?[HM.create({type:"encrypt",key:r}),HM.create({type:"decrypt",key:i}),HM.create({type:"encrypt",key:n})]:[HM.create({type:"decrypt",key:n}),HM.create({type:"encrypt",key:i}),HM.create({type:"decrypt",key:r})]}function KM(t){jM.call(this,t);var e=new qM(this.type,this.options.key);this._edeState=e}DM(KM,jM);var FM=KM;KM.create=function(t){return new KM(t)},KM.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},KM.prototype._pad=HM.prototype._pad,KM.prototype._unpad=HM.prototype._unpad,gM.utils=yM,gM.Cipher=SM,gM.DES=PM,gM.CBC=BM,gM.EDE=FM;var zM=vs,WM=gM,VM=xt.exports,ZM=Bt.exports.Buffer,GM={"des-ede3-cbc":WM.CBC.instantiate(WM.EDE),"des-ede3":WM.EDE,"des-ede-cbc":WM.CBC.instantiate(WM.EDE),"des-ede":WM.EDE,"des-cbc":WM.CBC.instantiate(WM.DES),"des-ecb":WM.DES};GM.des=GM["des-cbc"],GM.des3=GM["des-ede3-cbc"];var $M=XM;function XM(t){zM.call(this);var e,r=t.mode.toLowerCase(),i=GM[r];e=t.decrypt?"decrypt":"encrypt";var n=t.key;ZM.isBuffer(n)||(n=ZM.from(n)),"des-ede"!==r&&"des-ede-cbc"!==r||(n=ZM.concat([n,n.slice(0,8)]));var o=t.iv;ZM.isBuffer(o)||(o=ZM.from(o)),this._des=i.create({key:n,iv:o,type:e})}VM(XM,zM),XM.prototype._update=function(t){return ZM.from(this._des.update(t))},XM.prototype._final=function(){return ZM.from(this._des.final())};var YM={},JM={},QM={encrypt:function(t,e){return t._cipher.encryptBlock(e)},decrypt:function(t,e){return t._cipher.decryptBlock(e)}},t_={},e_=function(t,e){for(var r=Math.min(t.length,e.length),i=new W(r),n=0;n<r;++n)i[n]=t[n]^e[n];return i},r_=e_;t_.encrypt=function(t,e){var r=r_(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},t_.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return r_(i,r)};var i_={},n_=Bt.exports.Buffer,o_=e_;function s_(t,e,r){var i=e.length,n=o_(e,t._cache);return t._cache=t._cache.slice(i),t._prev=n_.concat([t._prev,r?e:n]),n}i_.encrypt=function(t,e,r){for(var i,n=n_.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n_.allocUnsafe(0)),!(t._cache.length<=e.length)){n=n_.concat([n,s_(t,e,r)]);break}i=t._cache.length,n=n_.concat([n,s_(t,e.slice(0,i),r)]),e=e.slice(i)}return n};var h_={},a_=Bt.exports.Buffer;function u_(t,e,r){var i=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=a_.concat([t._prev.slice(1),a_.from([r?e:i])]),i}h_.encrypt=function(t,e,r){for(var i=e.length,n=a_.allocUnsafe(i),o=-1;++o<i;)n[o]=u_(t,e[o],r);return n};var f_={},l_=Bt.exports.Buffer;function c_(t,e,r){for(var i,n,o=-1,s=0;++o<8;)i=e&1<<7-o?128:0,s+=(128&(n=t._cipher.encryptBlock(t._prev)[0]^i))>>o%8,t._prev=d_(t._prev,r?i:n);return s}function d_(t,e){var r=t.length,i=-1,n=l_.allocUnsafe(t.length);for(t=l_.concat([t,l_.from([e])]);++i<r;)n[i]=t[i]<<1|t[i+1]>>7;return n}f_.encrypt=function(t,e,r){for(var i=e.length,n=l_.allocUnsafe(i),o=-1;++o<i;)n[o]=c_(t,e[o],r);return n};var p_={},m_=e_;function g_(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}p_.encrypt=function(t,e){for(;t._cache.length<e.length;)t._cache=W.concat([t._cache,g_(t)]);var r=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),m_(e,r)};var y_={};var v_=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}},b_=e_,w_=Bt.exports.Buffer,M_=v_;function __(t){var e=t._cipher.encryptBlockRaw(t._prev);return M_(t._prev),e}y_.encrypt=function(t,e){var r=Math.ceil(e.length/16),i=t._cache.length;t._cache=w_.concat([t._cache,w_.allocUnsafe(16*r)]);for(var n=0;n<r;n++){var o=__(t),s=i+16*n;t._cache.writeUInt32BE(o[0],s+0),t._cache.writeUInt32BE(o[1],s+4),t._cache.writeUInt32BE(o[2],s+8),t._cache.writeUInt32BE(o[3],s+12)}var h=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),b_(e,h)};var S_={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},E_={ECB:QM,CBC:t_,CFB:i_,CFB8:h_,CFB1:f_,OFB:p_,CTR:y_,GCM:y_},k_=S_;for(var A_ in k_)k_[A_].module=E_[k_[A_].mode];var I_=k_,T_={},O_=Bt.exports.Buffer;function P_(t){O_.isBuffer(t)||(t=O_.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i<e;i++)r[i]=t.readUInt32BE(4*i);return r}function x_(t){for(;0<t.length;t++)t[0]=0}function B_(t,e,r,i,n){for(var o,s,h,a,u=r[0],f=r[1],l=r[2],c=r[3],d=t[0]^e[0],p=t[1]^e[1],m=t[2]^e[2],g=t[3]^e[3],y=4,v=1;v<n;v++)o=u[d>>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&g]^e[y++],s=u[p>>>24]^f[m>>>16&255]^l[g>>>8&255]^c[255&d]^e[y++],h=u[m>>>24]^f[g>>>16&255]^l[d>>>8&255]^c[255&p]^e[y++],a=u[g>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[y++],d=o,p=s,m=h,g=a;return o=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&g])^e[y++],s=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[g>>>8&255]<<8|i[255&d])^e[y++],h=(i[m>>>24]<<24|i[g>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[y++],a=(i[g>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[y++],[o>>>=0,s>>>=0,h>>>=0,a>>>=0]}var R_=[0,1,2,4,8,16,32,64,128,27,54],N_=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],s=0,h=0,a=0;a<256;++a){var u=h^h<<1^h<<2^h<<3^h<<4;u=u>>>8^255&u^99,r[s]=u,i[u]=s;var f=t[s],l=t[f],c=t[l],d=257*t[u]^16843008*u;n[0][s]=d<<24|d>>>8,n[1][s]=d<<16|d>>>16,n[2][s]=d<<8|d>>>24,n[3][s]=d,d=16843009*c^65537*l^257*f^16843008*s,o[0][u]=d<<24|d>>>8,o[1][u]=d<<16|d>>>16,o[2][u]=d<<8|d>>>24,o[3][u]=d,0===s?s=h=1:(s=f^t[t[t[c^f]]],h^=t[t[h]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}}();function U_(t){this._key=P_(t),this._reset()}U_.blockSize=16,U_.keySize=32,U_.prototype.blockSize=U_.blockSize,U_.prototype.keySize=U_.keySize,U_.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],o=0;o<e;o++)n[o]=t[o];for(o=e;o<i;o++){var s=n[o-1];o%e==0?(s=s<<8|s>>>24,s=N_.SBOX[s>>>24]<<24|N_.SBOX[s>>>16&255]<<16|N_.SBOX[s>>>8&255]<<8|N_.SBOX[255&s],s^=R_[o/e|0]<<24):e>6&&o%e==4&&(s=N_.SBOX[s>>>24]<<24|N_.SBOX[s>>>16&255]<<16|N_.SBOX[s>>>8&255]<<8|N_.SBOX[255&s]),n[o]=n[o-e]^s}for(var h=[],a=0;a<i;a++){var u=i-a,f=n[u-(a%4?0:4)];h[a]=a<4||u<=4?f:N_.INV_SUB_MIX[0][N_.SBOX[f>>>24]]^N_.INV_SUB_MIX[1][N_.SBOX[f>>>16&255]]^N_.INV_SUB_MIX[2][N_.SBOX[f>>>8&255]]^N_.INV_SUB_MIX[3][N_.SBOX[255&f]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=h},U_.prototype.encryptBlockRaw=function(t){return B_(t=P_(t),this._keySchedule,N_.SUB_MIX,N_.SBOX,this._nRounds)},U_.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=O_.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},U_.prototype.decryptBlock=function(t){var e=(t=P_(t))[1];t[1]=t[3],t[3]=e;var r=B_(t,this._invKeySchedule,N_.INV_SUB_MIX,N_.INV_SBOX,this._nRounds),i=O_.allocUnsafe(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[3],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[1],12),i},U_.prototype.scrub=function(){x_(this._keySchedule),x_(this._invKeySchedule),x_(this._key)},T_.AES=U_;var C_=Bt.exports.Buffer,L_=C_.alloc(16,0);function D_(t){var e=C_.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function j_(t){this.h=t,this.state=C_.alloc(16,0),this.cache=C_.allocUnsafe(0)}j_.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},j_.prototype._multiply=function(){for(var t,e,r,i=[(t=this.h).readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)],n=[0,0,0,0],o=-1;++o<128;){for(0!=(this.state[~~(o/8)]&1<<7-o%8)&&(n[0]^=i[0],n[1]^=i[1],n[2]^=i[2],n[3]^=i[3]),r=0!=(1&i[3]),e=3;e>0;e--)i[e]=i[e]>>>1|(1&i[e-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=D_(n)},j_.prototype.update=function(t){var e;for(this.cache=C_.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},j_.prototype.final=function(t,e){return this.cache.length&&this.ghash(C_.concat([this.cache,L_],16)),this.ghash(D_([0,t,0,e])),this.state};var H_=j_,q_=T_,K_=Bt.exports.Buffer,F_=vs,z_=xt.exports,W_=H_,V_=e_,Z_=v_;function G_(t,e,r,i){F_.call(this);var n=K_.alloc(4,0);this._cipher=new q_.AES(e);var o=this._cipher.encryptBlock(n);this._ghash=new W_(o),r=function(t,e,r){if(12===e.length)return t._finID=K_.concat([e,K_.from([0,0,0,1])]),K_.concat([e,K_.from([0,0,0,2])]);var i=new W_(r),n=e.length,o=n%16;i.update(e),o&&(o=16-o,i.update(K_.alloc(o,0))),i.update(K_.alloc(8,0));var s=8*n,h=K_.alloc(8);h.writeUIntBE(s,0,8),i.update(h),t._finID=i.state;var a=K_.from(t._finID);return Z_(a),a}(this,r,o),this._prev=K_.from(r),this._cache=K_.allocUnsafe(0),this._secCache=K_.allocUnsafe(0),this._decrypt=i,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}z_(G_,F_),G_.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=K_.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},G_.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=V_(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n<i;++n)r+=t[n]^e[n];return r}(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},G_.prototype.getAuthTag=function(){if(this._decrypt||!K_.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},G_.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},G_.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length};var $_=G_,X_=T_,Y_=Bt.exports.Buffer,J_=vs;function Q_(t,e,r,i){J_.call(this),this._cipher=new X_.AES(e),this._prev=Y_.from(r),this._cache=Y_.allocUnsafe(0),this._secCache=Y_.allocUnsafe(0),this._decrypt=i,this._mode=t}(0,xt.exports)(Q_,J_),Q_.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},Q_.prototype._final=function(){this._cipher.scrub()};var tS=Q_,eS=Bt.exports.Buffer,rS=Un;var iS=function(t,e,r,i){if(eS.isBuffer(t)||(t=eS.from(t,"binary")),e&&(eS.isBuffer(e)||(e=eS.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var n=r/8,o=eS.alloc(n),s=eS.alloc(i||0),h=eS.alloc(0);n>0||i>0;){var a=new rS;a.update(h),a.update(t),e&&a.update(e),h=a.digest();var u=0;if(n>0){var f=o.length-n;u=Math.min(n,h.length),h.copy(o,f,0,u),n-=u}if(u<h.length&&i>0){var l=s.length-i,c=Math.min(i,h.length-u);h.copy(s,l,u,u+c),i-=c}}return h.fill(0),{key:o,iv:s}},nS=I_,oS=$_,sS=Bt.exports.Buffer,hS=tS,aS=vs,uS=T_,fS=iS;function lS(t,e,r){aS.call(this),this._cache=new dS,this._cipher=new uS.AES(e),this._prev=sS.from(r),this._mode=t,this._autopadding=!0}(0,xt.exports)(lS,aS),lS.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get();)r=this._mode.encrypt(this,e),i.push(r);return sS.concat(i)};var cS=sS.alloc(16,16);function dS(){this.cache=sS.allocUnsafe(0)}function pS(t,e,r){var i=nS[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=sS.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=sS.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===i.type?new hS(i.module,e,r):"auth"===i.type?new oS(i.module,e,r):new lS(i.module,e,r)}lS.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(cS))throw this._cipher.scrub(),new Error("data not multiple of block length")},lS.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},dS.prototype.add=function(t){this.cache=sS.concat([this.cache,t])},dS.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},dS.prototype.flush=function(){for(var t=16-this.cache.length,e=sS.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return sS.concat([this.cache,e])},JM.createCipheriv=pS,JM.createCipher=function(t,e){var r=nS[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=fS(e,!1,r.key,r.iv);return pS(t,i.key,i.iv)};var mS={},gS=$_,yS=Bt.exports.Buffer,vS=I_,bS=tS,wS=vs,MS=T_,_S=iS;function SS(t,e,r){wS.call(this),this._cache=new ES,this._last=void 0,this._cipher=new MS.AES(e),this._prev=yS.from(r),this._mode=t,this._autopadding=!0}function ES(){this.cache=yS.allocUnsafe(0)}function kS(t,e,r){var i=vS[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=yS.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=yS.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===i.type?new bS(i.module,e,r,!0):"auth"===i.type?new gS(i.module,e,r,!0):new SS(i.module,e,r)}(0,xt.exports)(SS,wS),SS.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),i.push(r);return yS.concat(i)},SS.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16===e)return;return t.slice(0,16-e)}(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},SS.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},ES.prototype.add=function(t){this.cache=yS.concat([this.cache,t])},ES.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},ES.prototype.flush=function(){if(this.cache.length)return this.cache},mS.createDecipher=function(t,e){var r=vS[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=_S(e,!1,r.key,r.iv);return kS(t,i.key,i.iv)},mS.createDecipheriv=kS;var AS=JM,IS=mS,TS=S_;YM.createCipher=YM.Cipher=AS.createCipher,YM.createCipheriv=YM.Cipheriv=AS.createCipheriv,YM.createDecipher=YM.Decipher=IS.createDecipher,YM.createDecipheriv=YM.Decipheriv=IS.createDecipheriv,YM.listCiphers=YM.getCiphers=function(){return Object.keys(TS)};var OS={};!function(t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}}(OS);var PS=$M,xS=YM,BS=I_,RS=OS,NS=iS;function US(t,e,r){if(t=t.toLowerCase(),BS[t])return xS.createCipheriv(t,e,r);if(RS[t])return new PS({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function CS(t,e,r){if(t=t.toLowerCase(),BS[t])return xS.createDecipheriv(t,e,r);if(RS[t])return new PS({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}mM.createCipher=mM.Cipher=function(t,e){var r,i;if(t=t.toLowerCase(),BS[t])r=BS[t].key,i=BS[t].iv;else{if(!RS[t])throw new TypeError("invalid suite type");r=8*RS[t].key,i=RS[t].iv}var n=NS(e,!1,r,i);return US(t,n.key,n.iv)},mM.createCipheriv=mM.Cipheriv=US,mM.createDecipher=mM.Decipher=function(t,e){var r,i;if(t=t.toLowerCase(),BS[t])r=BS[t].key,i=BS[t].iv;else{if(!RS[t])throw new TypeError("invalid suite type");r=8*RS[t].key,i=RS[t].iv}var n=NS(e,!1,r,i);return CS(t,n.key,n.iv)},mM.createDecipheriv=mM.Decipheriv=CS,mM.listCiphers=mM.getCiphers=function(){return Object.keys(RS).concat(xS.getCiphers())};var LS={},DS={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(DS,I);var jS={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(jS,I);var HS=jS.exports,qS=fh;function KS(t){this.rand=t||new qS.Rand}var FS=KS;KS.create=function(t){return new KS(t)},KS.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new HS(this.rand.generate(r))}while(i.cmp(t)>=0);return i},KS.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},KS.prototype.test=function(t,e,r){var i=t.bitLength(),n=HS.mont(t),o=new HS(1).toRed(n);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),h=0;!s.testn(h);h++);for(var a=t.shrn(h),u=s.toRed(n);e>0;e--){var f=this._randrange(new HS(2),s);r&&r(f);var l=f.toRed(n).redPow(a);if(0!==l.cmp(o)&&0!==l.cmp(u)){for(var c=1;c<h;c++){if(0===(l=l.redSqr()).cmp(o))return!1;if(0===l.cmp(u))break}if(c===h)return!1}}return!0},KS.prototype.getDivisor=function(t,e){var r=t.bitLength(),i=HS.mont(t),n=new HS(1).toRed(i);e||(e=Math.max(1,r/48|0));for(var o=t.subn(1),s=0;!o.testn(s);s++);for(var h=t.shrn(s),a=o.toRed(i);e>0;e--){var u=this._randrange(new HS(2),o),f=t.gcd(u);if(0!==f.cmpn(1))return f;var l=u.toRed(i).redPow(h);if(0!==l.cmp(n)&&0!==l.cmp(a)){for(var c=1;c<s;c++){if(0===(l=l.redSqr()).cmp(n))return l.fromRed().subn(1).gcd(t);if(0===l.cmp(a))break}if(c===s)return(l=l.redSqr()).fromRed().subn(1).gcd(t)}}return!1};var zS=Mp.exports,WS=oE;oE.simpleSieve=iE,oE.fermatTest=nE;var VS=DS.exports,ZS=new VS(24),GS=new FS,$S=new VS(1),XS=new VS(2),YS=new VS(5);new VS(16),new VS(8);var JS=new VS(10),QS=new VS(3);new VS(7);var tE=new VS(11),eE=new VS(4);new VS(12);var rE=null;function iE(t){for(var e=function(){if(null!==rE)return rE;var t=[];t[0]=2;for(var e=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;n<e&&t[n]<=i&&r%t[n]!=0;n++);e!==n&&t[n]<=i||(t[e++]=r)}return rE=t,t}(),r=0;r<e.length;r++)if(0===t.modn(e[r]))return 0===t.cmpn(e[r]);return!0}function nE(t){var e=VS.mont(t);return 0===XS.toRed(e).redPow(t.subn(1)).fromRed().cmpn(1)}function oE(t,e){if(t<16)return new VS(2===e||5===e?[140,123]:[140,39]);var r,i;for(e=new VS(e);;){for(r=new VS(zS(Math.ceil(t/8)));r.bitLength()>t;)r.ishrn(1);if(r.isEven()&&r.iadd($S),r.testn(1)||r.iadd(XS),e.cmp(XS)){if(!e.cmp(YS))for(;r.mod(JS).cmp(QS);)r.iadd(eE)}else for(;r.mod(ZS).cmp(tE);)r.iadd(eE);if(iE(i=r.shrn(1))&&iE(r)&&nE(i)&&nE(r)&&GS.test(i)&&GS.test(r))return r}}var sE={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}},hE=DS.exports,aE=new FS,uE=new hE(24),fE=new hE(11),lE=new hE(10),cE=new hE(3),dE=new hE(7),pE=WS,mE=Mp.exports,gE=wE;function yE(t,e){return e=e||"utf8",It(t)||(t=new W(t,e)),this._pub=new hE(t),this}function vE(t,e){return e=e||"utf8",It(t)||(t=new W(t,e)),this._priv=new hE(t),this}var bE={};function wE(t,e,r){this.setGenerator(e),this.__prime=new hE(t),this._prime=hE.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=yE,this.setPrivateKey=vE):this._primeCode=8}function ME(t,e){var r=new W(t.toArray());return e?r.toString(e):r}Object.defineProperty(wE.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in bE)return bE[i];var n,o=0;if(t.isEven()||!pE.simpleSieve||!pE.fermatTest(t)||!aE.test(t))return o+=1,o+="02"===r||"05"===r?8:4,bE[i]=o,o;switch(aE.test(t.shrn(1))||(o+=2),r){case"02":t.mod(uE).cmp(fE)&&(o+=8);break;case"05":(n=t.mod(lE)).cmp(cE)&&n.cmp(dE)&&(o+=8);break;default:o+=4}return bE[i]=o,o}(this.__prime,this.__gen)),this._primeCode}}),wE.prototype.generateKeys=function(){return this._priv||(this._priv=new hE(mE(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},wE.prototype.computeSecret=function(t){var e=new W((t=(t=new hE(t)).toRed(this._prime)).redPow(this._priv).fromRed().toArray()),r=this.getPrime();if(e.length<r.length){var i=new W(r.length-e.length);i.fill(0),e=W.concat([i,e])}return e},wE.prototype.getPublicKey=function(t){return ME(this._pub,t)},wE.prototype.getPrivateKey=function(t){return ME(this._priv,t)},wE.prototype.getPrime=function(t){return ME(this.__prime,t)},wE.prototype.getGenerator=function(t){return ME(this._gen,t)},wE.prototype.setGenerator=function(t,e){return e=e||"utf8",It(t)||(t=new W(t,e)),this.__gen=t,this._gen=new hE(t),this};var _E=WS,SE=sE,EE=gE;var kE={binary:!0,hex:!0,base64:!0};LS.DiffieHellmanGroup=LS.createDiffieHellmanGroup=LS.getDiffieHellman=function(t){var e=new W(SE[t].prime,"hex"),r=new W(SE[t].gen,"hex");return new EE(e,r)},LS.createDiffieHellman=LS.DiffieHellman=function t(e,r,i,n){return It(r)||void 0===kE[r]?t(e,"binary",r,i):(r=r||"binary",n=n||"binary",It(i=i||new W([2]))||(i=new W(i,n)),"number"==typeof e?new EE(_E(e,i),i,!0):(It(e)||(e=new W(e,r)),new EE(e,i,!0)))};var AE={exports:{}},IE={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,i,n){for(var o=0,s=0,h=Math.min(t.length,i),a=e;a<h;a++){var u=t.charCodeAt(a)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(t){n.prototype.inspect=f}else n.prototype.inspect=f;function f(){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],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r._strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?l[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=c[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:l[u-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(m=p),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this._strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new E(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},i(w,b),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,b),i(_,b),i(S,b),S.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return v[t]=e,e},E.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},E.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},E.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,E),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(IE,I);var TE=IE.exports,OE=Mp.exports;function PE(t){var e,r=t.modulus.byteLength();do{e=new TE(OE(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function xE(t,e){var r=function(t){var e=PE(t);return{blinder:e.toRed(TE.mont(t.modulus)).redPow(new TE(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),i=e.modulus.byteLength(),n=new TE(t).mul(r.blinder).umod(e.modulus),o=n.toRed(TE.mont(e.prime1)),s=n.toRed(TE.mont(e.prime2)),h=e.coefficient,a=e.prime1,u=e.prime2,f=o.redPow(e.exponent1).fromRed(),l=s.redPow(e.exponent2).fromRed(),c=f.isub(l).imul(h).umod(a).imul(u);return l.iadd(c).imul(r.unblinder).umod(e.modulus).toArrayLike(W,"be",i)}xE.getr=PE;var BE=xE,RE={},NE={},UE={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(UE,I);var CE,LE={},DE={},jE=Rt,HE=jE.Buffer,qE={};for(CE in jE)jE.hasOwnProperty(CE)&&"SlowBuffer"!==CE&&"Buffer"!==CE&&(qE[CE]=jE[CE]);var KE=qE.Buffer={};for(CE in HE)HE.hasOwnProperty(CE)&&"allocUnsafe"!==CE&&"allocUnsafeSlow"!==CE&&(KE[CE]=HE[CE]);if(qE.Buffer.prototype=HE.prototype,KE.from&&KE.from!==Uint8Array.from||(KE.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return HE(t,e,r)}),KE.alloc||(KE.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var i=HE(t);return e&&0!==e.length?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i}),!qE.kStringMaxLength)try{qE.kStringMaxLength=ye.binding("buffer").kStringMaxLength}catch(t){}qE.constants||(qE.constants={MAX_LENGTH:qE.kMaxLength},qE.kStringMaxLength&&(qE.constants.MAX_STRING_LENGTH=qE.kStringMaxLength));var FE=qE,zE={};const WE=xt.exports;function VE(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function ZE(t,e){this.path=t,this.rethrow(e)}zE.Reporter=VE,VE.prototype.isError=function(t){return t instanceof ZE},VE.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},VE.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},VE.prototype.enterKey=function(t){return this._reporterState.path.push(t)},VE.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},VE.prototype.leaveKey=function(t,e,r){const i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},VE.prototype.path=function(){return this._reporterState.path.join("/")},VE.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},VE.prototype.leaveObject=function(t){const e=this._reporterState,r=e.obj;return e.obj=t,r},VE.prototype.error=function(t){let e;const r=this._reporterState,i=t instanceof ZE;if(e=i?t:new ZE(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},VE.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},WE(ZE,Error),ZE.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,ZE),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this};var GE={};const $E=xt.exports,XE=zE.Reporter,YE=FE.Buffer;function JE(t,e){XE.call(this,e),YE.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function QE(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return QE.isEncoderBuffer(t)||(t=new QE(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=YE.byteLength(t);else{if(!YE.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}$E(JE,XE),GE.DecoderBuffer=JE,JE.isDecoderBuffer=function(t){if(t instanceof JE)return!0;return"object"==typeof t&&YE.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},JE.prototype.save=function(){return{offset:this.offset,reporter:XE.prototype.save.call(this)}},JE.prototype.restore=function(t){const e=new JE(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,XE.prototype.restore.call(this,t.reporter),e},JE.prototype.isEmpty=function(){return this.offset===this.length},JE.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},JE.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new JE(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},JE.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},GE.EncoderBuffer=QE,QE.isEncoderBuffer=function(t){if(t instanceof QE)return!0;return"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},QE.prototype.join=function(t,e){return t||(t=YE.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):YE.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t};const tk=zE.Reporter,ek=GE.EncoderBuffer,rk=GE.DecoderBuffer,ik=nh,nk=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],ok=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(nk);function sk(t,e,r){const i={};this._baseState=i,i.name=r,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}var hk=sk;const ak=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];sk.prototype.clone=function(){const t=this._baseState,e={};ak.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},sk.prototype._wrap=function(){const t=this._baseState;ok.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},sk.prototype._init=function(t){const e=this._baseState;ik(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),ik.equal(e.children.length,1,"Root node can have only one child")},sk.prototype._useArgs=function(t){const e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(ik(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(ik(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);const i=t[r];e[i]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){sk.prototype[t]=function(){const e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),nk.forEach((function(t){sk.prototype[t]=function(){const e=this._baseState,r=Array.prototype.slice.call(arguments);return ik(null===e.tag),e.tag=t,this._useArgs(r),this}})),sk.prototype.use=function(t){ik(t);const e=this._baseState;return ik(null===e.use),e.use=t,this},sk.prototype.optional=function(){return this._baseState.optional=!0,this},sk.prototype.def=function(t){const e=this._baseState;return ik(null===e.default),e.default=t,e.optional=!0,this},sk.prototype.explicit=function(t){const e=this._baseState;return ik(null===e.explicit&&null===e.implicit),e.explicit=t,this},sk.prototype.implicit=function(t){const e=this._baseState;return ik(null===e.explicit&&null===e.implicit),e.implicit=t,this},sk.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},sk.prototype.key=function(t){const e=this._baseState;return ik(null===e.key),e.key=t,this},sk.prototype.any=function(){return this._baseState.any=!0,this},sk.prototype.choice=function(t){const e=this._baseState;return ik(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},sk.prototype.contains=function(t){const e=this._baseState;return ik(null===e.use),e.contains=t,this},sk.prototype._decode=function(t,e){const r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));let i,n=r.default,o=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){let i=null;if(null!==r.explicit?i=r.explicit:null!==r.implicit?i=r.implicit:null!==r.tag&&(i=r.tag),null!==i||r.any){if(o=this._peekTag(t,i,r.any),t.isError(o))return o}else{const i=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(i)}}if(r.obj&&o&&(i=t.enterObject()),o){if(null!==r.explicit){const e=this._decodeTag(t,r.explicit);if(t.isError(e))return e;t=e}const i=t.offset;if(null===r.use&&null===r.choice){let e;r.any&&(e=t.save());const i=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(i))return i;r.any?n=t.raw(e):t=i}if(e&&e.track&&null!==r.tag&&e.track(t.path(),i,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const i=new rk(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(i,e)}}return r.obj&&o&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,n),n},sk.prototype._decodeGeneric=function(t,e,r){const i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},sk.prototype._getUse=function(t,e){const r=this._baseState;return r.useDecoder=this._use(t,e),ik(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},sk.prototype._decodeChoice=function(t,e){const r=this._baseState;let i=null,n=!1;return Object.keys(r.choice).some((function(o){const s=t.save(),h=r.choice[o];try{const r=h._decode(t,e);if(t.isError(r))return!1;i={type:o,value:r},n=!0}catch(e){return t.restore(s),!1}return!0}),this),n?i:t.error("Choice not matched")},sk.prototype._createEncoderBuffer=function(t){return new ek(t,this.reporter)},sk.prototype._encode=function(t,e,r){const i=this._baseState;if(null!==i.default&&i.default===t)return;const n=this._encodeValue(t,e,r);return void 0===n||this._skipDefault(n,e,r)?void 0:n},sk.prototype._encodeValue=function(t,e,r){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(t,e||new tk);let n=null;if(this.reporter=e,i.optional&&void 0===t){if(null===i.default)return;t=i.default}let o=null,s=!1;if(i.any)n=this._createEncoderBuffer(t);else if(i.choice)n=this._encodeChoice(t,e);else if(i.contains)o=this._getUse(i.contains,r)._encode(t,e),s=!0;else if(i.children)o=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");const i=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return e.error("Too many args for : "+i.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){const i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),r))}else null!==i.use?n=this._getUse(i.use,r)._encode(t,e):(o=this._encodePrimitive(i.tag,t),s=!0);if(!i.any&&null===i.choice){const t=null!==i.implicit?i.implicit:i.tag,r=null===i.implicit?"universal":"context";null===t?null===i.use&&e.error("Tag could be omitted only for .use()"):null===i.use&&(n=this._encodeComposite(t,s,r,o))}return null!==i.explicit&&(n=this._encodeComposite(i.explicit,!1,"context",n)),n},sk.prototype._encodeChoice=function(t,e){const r=this._baseState,i=r.choice[t.type];return i||ik(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},sk.prototype._encodePrimitive=function(t,e){const r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},sk.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},sk.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)};var uk={};!function(t){function e(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=e(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=e(t.tag)}(uk);const fk=xt.exports,lk=FE.Buffer,ck=hk,dk=uk;function pk(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new gk,this.tree._init(t.body)}var mk=pk;function gk(t){ck.call(this,"der",t)}function yk(t){return t<10?"0"+t:t}pk.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},fk(gk,ck),gk.prototype._encodeComposite=function(t,e,r,i){const n=function(t,e,r,i){let n;"seqof"===t?t="seq":"setof"===t&&(t="set");if(dk.tagByName.hasOwnProperty(t))n=dk.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}if(n>=31)return i.error("Multi-octet tag encoding unsupported");e||(n|=32);return n|=dk.tagClassByName[r||"universal"]<<6,n}(t,e,r,this.reporter);if(i.length<128){const t=lk.alloc(2);return t[0]=n,t[1]=i.length,this._createEncoderBuffer([t,i])}let o=1;for(let t=i.length;t>=256;t>>=8)o++;const s=lk.alloc(2+o);s[0]=n,s[1]=128|o;for(let t=1+o,e=i.length;e>0;t--,e>>=8)s[t]=255&e;return this._createEncoderBuffer([s,i])},gk.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=lk.alloc(2*t.length);for(let r=0;r<t.length;r++)e.writeUInt16BE(t.charCodeAt(r),2*r);return this._createEncoderBuffer(e)}return"numstr"===e?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===e?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(e)||"objDesc"===e?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+e+" unsupported")},gk.prototype._encodeObjid=function(t,e,r){if("string"==typeof t){if(!e)return this.reporter.error("string objid given, but no values map found");if(!e.hasOwnProperty(t))return this.reporter.error("objid not found in values map");t=e[t].split(/[\s.]+/g);for(let e=0;e<t.length;e++)t[e]|=0}else if(Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]|=0}if(!Array.isArray(t))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(t));if(!r){if(t[1]>=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let i=0;for(let e=0;e<t.length;e++){let r=t[e];for(i++;r>=128;r>>=7)i++}const n=lk.alloc(i);let o=n.length-1;for(let e=t.length-1;e>=0;e--){let r=t[e];for(n[o--]=127&r;(r>>=7)>0;)n[o--]=128|127&r}return this._createEncoderBuffer(n)},gk.prototype._encodeTime=function(t,e){let r;const i=new Date(t);return"gentime"===e?r=[yk(i.getUTCFullYear()),yk(i.getUTCMonth()+1),yk(i.getUTCDate()),yk(i.getUTCHours()),yk(i.getUTCMinutes()),yk(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[yk(i.getUTCFullYear()%100),yk(i.getUTCMonth()+1),yk(i.getUTCDate()),yk(i.getUTCHours()),yk(i.getUTCMinutes()),yk(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},gk.prototype._encodeNull=function(){return this._createEncoderBuffer("")},gk.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!lk.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=lk.from(e)}if(lk.isBuffer(t)){let e=t.length;0===t.length&&e++;const r=lk.alloc(e);return t.copy(r),0===t.length&&(r[0]=0),this._createEncoderBuffer(r)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let r=1;for(let e=t;e>=256;e>>=8)r++;const i=new Array(r);for(let e=i.length-1;e>=0;e--)i[e]=255&t,t>>=8;return 128&i[0]&&i.unshift(0),this._createEncoderBuffer(lk.from(i))},gk.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},gk.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},gk.prototype._skipDefault=function(t,e,r){const i=this._baseState;let n;if(null===i.default)return!1;const o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n<o.length;n++)if(o[n]!==i.defaultBuffer[n])return!1;return!0};const vk=xt.exports,bk=mk;function wk(t){bk.call(this,t),this.enc="pem"}vk(wk,bk);var Mk=wk;wk.prototype.encode=function(t,e){const r=bk.prototype.encode.call(this,t).toString("base64"),i=["-----BEGIN "+e.label+"-----"];for(let t=0;t<r.length;t+=64)i.push(r.slice(t,t+64));return i.push("-----END "+e.label+"-----"),i.join("\n")},function(t){const e=t;e.der=mk,e.pem=Mk}(DE);var _k={};const Sk=xt.exports,Ek=UE.exports,kk=GE.DecoderBuffer,Ak=hk,Ik=uk;function Tk(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new Pk,this.tree._init(t.body)}var Ok=Tk;function Pk(t){Ak.call(this,"der",t)}function xk(t,e){let r=t.readUInt8(e);if(t.isError(r))return r;const i=Ik.tagClass[r>>6],n=0==(32&r);if(31==(31&r)){let i=r;for(r=0;128==(128&i);){if(i=t.readUInt8(e),t.isError(i))return i;r<<=7,r|=127&i}}else r&=31;return{cls:i,primitive:n,tag:r,tagStr:Ik.tag[r]}}function Bk(t,e,r){let i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(0==(128&i))return i;const n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(let e=0;e<n;e++){i<<=8;const e=t.readUInt8(r);if(t.isError(e))return e;i|=e}return i}Tk.prototype.decode=function(t,e){return kk.isDecoderBuffer(t)||(t=new kk(t,e)),this.tree._decode(t,e)},Sk(Pk,Ak),Pk.prototype._peekTag=function(t,e,r){if(t.isEmpty())return!1;const i=t.save(),n=xk(t,'Failed to peek tag: "'+e+'"');return t.isError(n)?n:(t.restore(i),n.tag===e||n.tagStr===e||n.tagStr+"of"===e||r)},Pk.prototype._decodeTag=function(t,e,r){const i=xk(t,'Failed to decode tag of "'+e+'"');if(t.isError(i))return i;let n=Bk(t,i.primitive,'Failed to get length of "'+e+'"');if(t.isError(n))return n;if(!r&&i.tag!==e&&i.tagStr!==e&&i.tagStr+"of"!==e)return t.error('Failed to match tag: "'+e+'"');if(i.primitive||null!==n)return t.skip(n,'Failed to match body of: "'+e+'"');const o=t.save(),s=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(s)?s:(n=t.offset-o.offset,t.restore(o),t.skip(n,'Failed to match body of: "'+e+'"'))},Pk.prototype._skipUntilEnd=function(t,e){for(;;){const r=xk(t,e);if(t.isError(r))return r;const i=Bk(t,r.primitive,e);if(t.isError(i))return i;let n;if(n=r.primitive||null!==i?t.skip(i):this._skipUntilEnd(t,e),t.isError(n))return n;if("end"===r.tagStr)break}},Pk.prototype._decodeList=function(t,e,r,i){const n=[];for(;!t.isEmpty();){const e=this._peekTag(t,"end");if(t.isError(e))return e;const o=r.decode(t,"der",i);if(t.isError(o)&&e)break;n.push(o)}return n},Pk.prototype._decodeStr=function(t,e){if("bitstr"===e){const e=t.readUInt8();return t.isError(e)?e:{unused:e,data:t.raw()}}if("bmpstr"===e){const e=t.raw();if(e.length%2==1)return t.error("Decoding of string type: bmpstr length mismatch");let r="";for(let t=0;t<e.length/2;t++)r+=String.fromCharCode(e.readUInt16BE(2*t));return r}if("numstr"===e){const e=t.raw().toString("ascii");return this._isNumstr(e)?e:t.error("Decoding of string type: numstr unsupported characters")}if("octstr"===e)return t.raw();if("objDesc"===e)return t.raw();if("printstr"===e){const e=t.raw().toString("ascii");return this._isPrintstr(e)?e:t.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(e)?t.raw().toString():t.error("Decoding of string type: "+e+" unsupported")},Pk.prototype._decodeObjid=function(t,e,r){let i;const n=[];let o=0,s=0;for(;!t.isEmpty();)s=t.readUInt8(),o<<=7,o|=127&s,0==(128&s)&&(n.push(o),o=0);128&s&&n.push(o);const h=n[0]/40|0,a=n[0]%40;if(i=r?n:[h,a].concat(n.slice(1)),e){let t=e[i.join(" ")];void 0===t&&(t=e[i.join(".")]),void 0!==t&&(i=t)}return i},Pk.prototype._decodeTime=function(t,e){const r=t.raw().toString();let i,n,o,s,h,a;if("gentime"===e)i=0|r.slice(0,4),n=0|r.slice(4,6),o=0|r.slice(6,8),s=0|r.slice(8,10),h=0|r.slice(10,12),a=0|r.slice(12,14);else{if("utctime"!==e)return t.error("Decoding "+e+" time is not supported yet");i=0|r.slice(0,2),n=0|r.slice(2,4),o=0|r.slice(4,6),s=0|r.slice(6,8),h=0|r.slice(8,10),a=0|r.slice(10,12),i=i<70?2e3+i:1900+i}return Date.UTC(i,n-1,o,s,h,a,0)},Pk.prototype._decodeNull=function(){return null},Pk.prototype._decodeBool=function(t){const e=t.readUInt8();return t.isError(e)?e:0!==e},Pk.prototype._decodeInt=function(t,e){const r=t.raw();let i=new Ek(r);return e&&(i=e[i.toString(10)]||i),i},Pk.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getDecoder("der").tree};const Rk=xt.exports,Nk=FE.Buffer,Uk=Ok;function Ck(t){Uk.call(this,t),this.enc="pem"}Rk(Ck,Uk);var Lk=Ck;Ck.prototype.decode=function(t,e){const r=t.toString().split(/[\r\n]+/g),i=e.label.toUpperCase(),n=/^-----(BEGIN|END) ([^-]+)-----$/;let o=-1,s=-1;for(let t=0;t<r.length;t++){const e=r[t].match(n);if(null!==e&&e[2]===i){if(-1!==o){if("END"!==e[1])break;s=t;break}if("BEGIN"!==e[1])break;o=t}}if(-1===o||-1===s)throw new Error("PEM section not found for: "+i);const h=r.slice(o+1,s).join("");h.replace(/[^a-z0-9+/=]+/gi,"");const a=Nk.from(h,"base64");return Uk.prototype.decode.call(this,a,e)},function(t){const e=t;e.der=Ok,e.pem=Lk}(_k),function(t){const e=DE,r=_k,i=xt.exports;function n(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}t.define=function(t,e){return new n(t,e)},n.prototype._createNamed=function(t){const e=this.name;function r(t){this._initNamed(t,e)}return i(r,t),r.prototype._initNamed=function(e,r){t.call(this,e,r)},new r(this)},n.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(r[t])),this.decoders[t]},n.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},n.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(e[t])),this.encoders[t]},n.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}}(LE);var Dk={};!function(t){const e=t;e.Reporter=zE.Reporter,e.DecoderBuffer=GE.DecoderBuffer,e.EncoderBuffer=GE.EncoderBuffer,e.Node=hk}(Dk);var jk={};!function(t){const e=t;e._reverse=function(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e},e.der=uk}(jk),function(t){const e=NE;e.bignum=UE.exports,e.define=LE.define,e.base=Dk,e.constants=jk,e.decoders=_k,e.encoders=DE}();var Hk=NE,qk=Hk.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),Kk=Hk.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),Fk=Hk.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),zk=Hk.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Fk),this.key("subjectPublicKey").bitstr())})),Wk=Hk.define("RelativeDistinguishedName",(function(){this.setof(Kk)})),Vk=Hk.define("RDNSequence",(function(){this.seqof(Wk)})),Zk=Hk.define("Name",(function(){this.choice({rdnSequence:this.use(Vk)})})),Gk=Hk.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(qk),this.key("notAfter").use(qk))})),$k=Hk.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),Xk=Hk.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(Fk),this.key("issuer").use(Zk),this.key("validity").use(Gk),this.key("subject").use(Zk),this.key("subjectPublicKeyInfo").use(zk),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof($k).optional())})),Yk=Hk.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(Xk),this.key("signatureAlgorithm").use(Fk),this.key("signatureValue").bitstr())})),Jk=NE;RE.certificate=Yk;var Qk=Jk.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));RE.RSAPrivateKey=Qk;var tA=Jk.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));RE.RSAPublicKey=tA;var eA=Jk.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(rA),this.key("subjectPublicKey").bitstr())}));RE.PublicKey=eA;var rA=Jk.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),iA=Jk.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(rA),this.key("subjectPrivateKey").octstr())}));RE.PrivateKey=iA;var nA=Jk.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));RE.EncryptedPrivateKey=nA;var oA=Jk.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));RE.DSAPrivateKey=oA,RE.DSAparam=Jk.define("DSAparam",(function(){this.int()}));var sA=Jk.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(hA),this.key("publicKey").optional().explicit(1).bitstr())}));RE.ECPrivateKey=sA;var hA=Jk.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));RE.signature=Jk.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}));var aA=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,uA=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,fA=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,lA=iS,cA=YM,dA=Bt.exports.Buffer,pA=RE,mA={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"},gA=function(t,e){var r,i=t.toString(),n=i.match(aA);if(n){var o="aes"+n[1],s=dA.from(n[2],"hex"),h=dA.from(n[3].replace(/[\r\n]/g,""),"base64"),a=lA(e,s.slice(0,8),parseInt(n[1],10)).key,u=[],f=cA.createDecipheriv(o,a,s);u.push(f.update(h)),u.push(f.final()),r=dA.concat(u)}else{var l=i.match(fA);r=dA.from(l[2].replace(/[\r\n]/g,""),"base64")}return{tag:i.match(uA)[1],data:r}},yA=YM,vA=Hw,bA=Bt.exports.Buffer,wA=MA;function MA(t){var e;"object"!=typeof t||bA.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=bA.from(t));var r,i,n=gA(t,e),o=n.tag,s=n.data;switch(o){case"CERTIFICATE":i=pA.certificate.decode(s,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(i||(i=pA.PublicKey.decode(s,"der")),r=i.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return pA.RSAPublicKey.decode(i.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return i.subjectPrivateKey=i.subjectPublicKey,{type:"ec",data:i};case"1.2.840.10040.4.1":return i.algorithm.params.pub_key=pA.DSAparam.decode(i.subjectPublicKey.data,"der"),{type:"dsa",data:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":s=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),n=mA[t.algorithm.decrypt.cipher.algo.join(".")],o=t.algorithm.decrypt.cipher.iv,s=t.subjectPrivateKey,h=parseInt(n.split("-")[1],10)/8,a=vA.pbkdf2Sync(e,r,i,h,"sha1"),u=yA.createDecipheriv(n,a,o),f=[];return f.push(u.update(s)),f.push(u.final()),bA.concat(f)}(s=pA.EncryptedPrivateKey.decode(s,"der"),e);case"PRIVATE KEY":switch(r=(i=pA.PrivateKey.decode(s,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return pA.RSAPrivateKey.decode(i.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:i.algorithm.curve,privateKey:pA.ECPrivateKey.decode(i.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return i.algorithm.params.priv_key=pA.DSAparam.decode(i.subjectPrivateKey,"der"),{type:"dsa",params:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return pA.RSAPublicKey.decode(s,"der");case"RSA PRIVATE KEY":return pA.RSAPrivateKey.decode(s,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:pA.DSAPrivateKey.decode(s,"der")};case"EC PRIVATE KEY":return{curve:(s=pA.ECPrivateKey.decode(s,"der")).parameters.value,privateKey:s.privateKey};default:throw new Error("unknown key type "+o)}}MA.signature=pA.signature;var _A={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"},SA=Bt.exports.Buffer,EA=Fs,kA=BE,AA=th.ec,IA=IE.exports,TA=wA,OA=_A;function PA(t,e,r,i){if((t=SA.from(t.toArray())).length<e.byteLength()){var n=SA.alloc(e.byteLength()-t.length);t=SA.concat([n,t])}var o=r.length,s=function(t,e){t=(t=xA(t,e)).mod(e);var r=SA.from(t.toArray());if(r.length<e.byteLength()){var i=SA.alloc(e.byteLength()-r.length);r=SA.concat([i,r])}return r}(r,e),h=SA.alloc(o);h.fill(1);var a=SA.alloc(o);return a=EA(i,a).update(h).update(SA.from([0])).update(t).update(s).digest(),h=EA(i,a).update(h).digest(),{k:a=EA(i,a).update(h).update(SA.from([1])).update(t).update(s).digest(),v:h=EA(i,a).update(h).digest()}}function xA(t,e){var r=new IA(t),i=(t.length<<3)-e.bitLength();return i>0&&r.ishrn(i),r}function BA(t,e,r){var i,n;do{for(i=SA.alloc(0);8*i.length<t.bitLength();)e.v=EA(r,e.k).update(e.v).digest(),i=SA.concat([i,e.v]);n=xA(i,t),e.k=EA(r,e.k).update(e.v).update(SA.from([0])).digest(),e.v=EA(r,e.k).update(e.v).digest()}while(-1!==n.cmp(t));return n}function RA(t,e,r,i){return t.toRed(IA.mont(r)).redPow(e).fromRed().mod(i)}AE.exports=function(t,e,r,i,n){var o=TA(e);if(o.curve){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");return function(t,e){var r=OA[e.curve.join(".")];if(!r)throw new Error("unknown curve "+e.curve.join("."));var i=new AA(r).keyFromPrivate(e.privateKey).sign(t);return SA.from(i.toDER())}(t,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong private key type");return function(t,e,r){var i,n=e.params.priv_key,o=e.params.p,s=e.params.q,h=e.params.g,a=new IA(0),u=xA(t,s).mod(s),f=!1,l=PA(n,s,t,r);for(;!1===f;)a=RA(h,i=BA(s,l,r),o,s),0===(f=i.invm(s).imul(u.add(n.mul(a))).mod(s)).cmpn(0)&&(f=!1,a=new IA(0));return function(t,e){t=t.toArray(),e=e.toArray(),128&t[0]&&(t=[0].concat(t));128&e[0]&&(e=[0].concat(e));var r=[48,t.length+e.length+4,2,t.length];return r=r.concat(t,[2,e.length],e),SA.from(r)}(a,f)}(t,o,r)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");t=SA.concat([n,t]);for(var s=o.modulus.byteLength(),h=[0,1];t.length+h.length+1<s;)h.push(255);h.push(0);for(var a=-1;++a<t.length;)h.push(t[a]);return kA(h,o)},AE.exports.getKey=PA,AE.exports.makeKey=BA;var NA=Bt.exports.Buffer,UA=IE.exports,CA=th.ec,LA=wA,DA=_A;function jA(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=e)throw new Error("invalid sig")}var HA=function(t,e,r,i,n){var o=LA(r);if("ec"===o.type){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong public key type");return function(t,e,r){var i=DA[r.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var n=new CA(i),o=r.data.subjectPrivateKey.data;return n.verify(e,t,o)}(t,e,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong public key type");return function(t,e,r){var i=r.data.p,n=r.data.q,o=r.data.g,s=r.data.pub_key,h=LA.signature.decode(t,"der"),a=h.s,u=h.r;jA(a,n),jA(u,n);var f=UA.mont(i),l=a.invm(n);return 0===o.toRed(f).redPow(new UA(e).mul(l).mod(n)).fromRed().mul(s.toRed(f).redPow(u.mul(l).mod(n)).fromRed()).mod(i).mod(n).cmp(u)}(t,e,o)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong public key type");e=NA.concat([n,e]);for(var s=o.modulus.byteLength(),h=[1],a=0;e.length+h.length+2<s;)h.push(255),a++;h.push(0);for(var u=-1;++u<e.length;)h.push(e[u]);h=NA.from(h);var f=UA.mont(o.modulus);t=(t=new UA(t).toRed(f)).redPow(new UA(o.publicExponent)),t=NA.from(t.fromRed().toArray());var l=a<8?1:0;for(s=Math.min(t.length,h.length),t.length!==h.length&&(l=1),u=-1;++u<s;)l|=t[u]^h[u];return 0===l},qA=Bt.exports.Buffer,KA=ks,FA=zt.exports,zA=xt.exports,WA=AE.exports,VA=HA,ZA=Dw;function GA(t){FA.Writable.call(this);var e=ZA[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=KA(e.hash),this._tag=e.id,this._signType=e.sign}function $A(t){FA.Writable.call(this);var e=ZA[t];if(!e)throw new Error("Unknown message digest");this._hash=KA(e.hash),this._tag=e.id,this._signType=e.sign}function XA(t){return new GA(t)}function YA(t){return new $A(t)}Object.keys(ZA).forEach((function(t){ZA[t].id=qA.from(ZA[t].id,"hex"),ZA[t.toLowerCase()]=ZA[t]})),zA(GA,FA.Writable),GA.prototype._write=function(t,e,r){this._hash.update(t),r()},GA.prototype.update=function(t,e){return"string"==typeof t&&(t=qA.from(t,e)),this._hash.update(t),this},GA.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=WA(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},zA($A,FA.Writable),$A.prototype._write=function(t,e,r){this._hash.update(t),r()},$A.prototype.update=function(t,e){return"string"==typeof t&&(t=qA.from(t,e)),this._hash.update(t),this},$A.prototype.verify=function(t,e,r){"string"==typeof e&&(e=qA.from(e,r)),this.end();var i=this._hash.digest();return VA(e,i,t,this._signType,this._tag)};var JA={Sign:XA,Verify:YA,createSign:XA,createVerify:YA},QA={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(QA,I);var tI=th,eI=QA.exports,rI={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function iI(t){this.curveType=rI[t],this.curveType||(this.curveType={name:t}),this.curve=new tI.ec(this.curveType.name),this.keys=void 0}function nI(t,e,r){Array.isArray(t)||(t=t.toArray());var i=new W(t);if(r&&i.length<r){var n=new W(r-i.length);n.fill(0),i=W.concat([n,i])}return e?i.toString(e):i}rI.p224=rI.secp224r1,rI.p256=rI.secp256r1=rI.prime256v1,rI.p192=rI.secp192r1=rI.prime192v1,rI.p384=rI.secp384r1,rI.p521=rI.secp521r1,iI.prototype.generateKeys=function(t,e){return this.keys=this.curve.genKeyPair(),this.getPublicKey(t,e)},iI.prototype.computeSecret=function(t,e,r){return e=e||"utf8",It(t)||(t=new W(t,e)),nI(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},iI.prototype.getPublicKey=function(t,e){var r=this.keys.getPublic("compressed"===e,!0);return"hybrid"===e&&(r[r.length-1]%2?r[0]=7:r[0]=6),nI(r,t)},iI.prototype.getPrivateKey=function(t){return nI(this.keys.getPrivate(),t)},iI.prototype.setPublicKey=function(t,e){return e=e||"utf8",It(t)||(t=new W(t,e)),this.keys._importPublic(t),this},iI.prototype.setPrivateKey=function(t,e){e=e||"utf8",It(t)||(t=new W(t,e));var r=new eI(t);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this};var oI={},sI=ks,hI=Bt.exports.Buffer,aI=function(t,e){for(var r,i=hI.alloc(0),n=0;i.length<e;)r=uI(n++),i=hI.concat([i,sI("sha1").update(t).update(r).digest()]);return i.slice(0,e)};function uI(t){var e=hI.allocUnsafe(4);return e.writeUInt32BE(t,0),e}var fI=function(t,e){for(var r=t.length,i=-1;++i<r;)t[i]^=e[i];return t},lI={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Ne.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):i<63?c(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(lI,I);var cI=lI.exports,dI=Bt.exports.Buffer;var pI=function(t,e){return dI.from(t.toRed(cI.mont(e.modulus)).redPow(new cI(e.publicExponent)).fromRed().toArray())},mI=wA,gI=Mp.exports,yI=ks,vI=aI,bI=fI,wI=lI.exports,MI=pI,_I=BE,SI=Bt.exports.Buffer,EI=function(t,e,r){var i;i=t.padding?t.padding:r?1:4;var n,o=mI(t);if(4===i)n=function(t,e){var r=t.modulus.byteLength(),i=e.length,n=yI("sha1").update(SI.alloc(0)).digest(),o=n.length,s=2*o;if(i>r-s-2)throw new Error("message too long");var h=SI.alloc(r-i-s-2),a=r-o-1,u=gI(o),f=bI(SI.concat([n,h,SI.alloc(1,1),e],a),vI(u,a)),l=bI(u,vI(f,o));return new wI(SI.concat([SI.alloc(1),l,f],r))}(o,e);else if(1===i)n=function(t,e,r){var i,n=e.length,o=t.modulus.byteLength();if(n>o-11)throw new Error("message too long");i=r?SI.alloc(o-n-3,255):function(t){var e,r=SI.allocUnsafe(t),i=0,n=gI(2*t),o=0;for(;i<t;)o===n.length&&(n=gI(2*t),o=0),(e=n[o++])&&(r[i++]=e);return r}(o-n-3);return new wI(SI.concat([SI.from([0,r?1:2]),i,SI.alloc(1),e],o))}(o,e,r);else{if(3!==i)throw new Error("unknown padding");if((n=new wI(e)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?_I(n,o):MI(n,o)};var kI=wA,AI=aI,II=fI,TI=lI.exports,OI=BE,PI=ks,xI=pI,BI=Bt.exports.Buffer,RI=function(t,e,r){var i;i=t.padding?t.padding:r?1:4;var n,o=kI(t),s=o.modulus.byteLength();if(e.length>s||new TI(e).cmp(o.modulus)>=0)throw new Error("decryption error");n=r?xI(new TI(e),o):OI(e,o);var h=BI.alloc(s-n.length);if(n=BI.concat([h,n],s),4===i)return function(t,e){var r=t.modulus.byteLength(),i=PI("sha1").update(BI.alloc(0)).digest(),n=i.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,n+1),s=e.slice(n+1),h=II(o,AI(s,n)),a=II(s,AI(h,r-n-1));if(function(t,e){t=BI.from(t),e=BI.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;for(;++n<i;)r+=t[n]^e[n];return r}(i,a.slice(0,n)))throw new Error("decryption error");var u=n;for(;0===a[u];)u++;if(1!==a[u++])throw new Error("decryption error");return a.slice(u)}(o,n);if(1===i)return function(t,e,r){var i=e.slice(0,2),n=2,o=0;for(;0!==e[n++];)if(n>=e.length){o++;break}var s=e.slice(2,n-1);("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(n)}(0,n,r);if(3===i)return n;throw new Error("unknown padding")};!function(t){t.publicEncrypt=EI,t.privateDecrypt=RI,t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}}(oI);var NI={};function UI(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var CI=Bt.exports,LI=CI.Buffer,DI=CI.kMaxLength,jI=I.crypto||I.msCrypto,HI=Math.pow(2,32)-1;function qI(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>HI||t<0)throw new TypeError("offset must be a uint32");if(t>DI||t>e)throw new RangeError("offset out of range")}function KI(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>HI||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>DI)throw new RangeError("buffer too small")}function FI(t,e,r,i){var n=t.buffer,o=new Uint8Array(n,e,r);return jI.getRandomValues(o),i?void ie((function(){i(null,t)})):t}jI&&jI.getRandomValues?(NI.randomFill=function(t,e,r,i){if(!(LI.isBuffer(t)||t instanceof I.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return qI(e,t.length),KI(r,e,t.length),FI(t,e,r,i)},NI.randomFillSync=function(t,e,r){void 0===e&&(e=0);if(!(LI.isBuffer(t)||t instanceof I.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');qI(e,t.length),void 0===r&&(r=t.length-e);return KI(r,e,t.length),FI(t,e,r)}):(NI.randomFill=UI,NI.randomFillSync=UI),Lw.randomBytes=Lw.rng=Lw.pseudoRandomBytes=Lw.prng=Mp.exports,Lw.createHash=Lw.Hash=ks,Lw.createHmac=Lw.Hmac=Fs;var zI=jw,WI=Object.keys(zI),VI=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(WI);Lw.getHashes=function(){return VI};var ZI=Hw;Lw.pbkdf2=ZI.pbkdf2,Lw.pbkdf2Sync=ZI.pbkdf2Sync;var GI=mM;Lw.Cipher=GI.Cipher,Lw.createCipher=GI.createCipher,Lw.Cipheriv=GI.Cipheriv,Lw.createCipheriv=GI.createCipheriv,Lw.Decipher=GI.Decipher,Lw.createDecipher=GI.createDecipher,Lw.Decipheriv=GI.Decipheriv,Lw.createDecipheriv=GI.createDecipheriv,Lw.getCiphers=GI.getCiphers,Lw.listCiphers=GI.listCiphers;var $I=LS;Lw.DiffieHellmanGroup=$I.DiffieHellmanGroup,Lw.createDiffieHellmanGroup=$I.createDiffieHellmanGroup,Lw.getDiffieHellman=$I.getDiffieHellman,Lw.createDiffieHellman=$I.createDiffieHellman,Lw.DiffieHellman=$I.DiffieHellman;var XI=JA;Lw.createSign=XI.createSign,Lw.Sign=XI.Sign,Lw.createVerify=XI.createVerify,Lw.Verify=XI.Verify,Lw.createECDH=function(t){return new iI(t)};var YI=oI;Lw.publicEncrypt=YI.publicEncrypt,Lw.privateEncrypt=YI.privateEncrypt,Lw.publicDecrypt=YI.publicDecrypt,Lw.privateDecrypt=YI.privateDecrypt;var JI=NI;Lw.randomFill=JI.randomFill,Lw.randomFillSync=JI.randomFillSync,Lw.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},Lw.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};var QI=I&&I.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{a(i.next(t))}catch(t){o(t)}}function h(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(s,h)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(Cw,"__esModule",{value:!0});const tT=to.exports;function eT(t){return(new tT.sha256).update(t).digest()}Cw.hashSha256=eT,Cw.hashSha256Async=function(t){return QI(this,void 0,void 0,(function*(){try{if("undefined"!=typeof crypto&&void 0!==crypto.subtle){const e="string"==typeof t?W.from(t):t,r=yield crypto.subtle.digest("SHA-256",e);return W.from(r)}{const e=Lw;if(!e.createHash)throw new Error("`crypto` module does not contain `createHash`");return Promise.resolve(e.createHash("sha256").update(t).digest())}}catch(e){return console.log(e),console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, nor the or the Node.js `require("crypto").createHash` module is available. Falling back to JS implementation.'),Promise.resolve(eT(t))}}))};var rT=I&&I.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{a(i.next(t))}catch(t){o(t)}}function h(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(s,h)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(sw,"__esModule",{value:!0});const iT=hw.exports,nT=gw,oT=Aw,sT=Cw;function hT(t,e){const r=[],i=iT.default.encode(JSON.stringify(e));r.push(i);const n=iT.default.encode(JSON.stringify(t));r.push(n);return r.join(".")}sw.createUnsecuredToken=function(t){return hT(t,{typ:"JWT",alg:"none"})+"."};sw.TokenSigner=class{constructor(t,e){if(!t||!e)throw new oT.MissingParametersError("a signing algorithm and private key are required");if("string"!=typeof t)throw new Error("signing algorithm parameter must be a string");if(t=t.toUpperCase(),!nT.cryptoClients.hasOwnProperty(t))throw new Error("invalid signing algorithm");this.tokenType="JWT",this.cryptoClient=nT.cryptoClients[t],this.rawPrivateKey=e}header(t={}){const e={typ:this.tokenType,alg:this.cryptoClient.algorithmName};return Object.assign({},e,t)}sign(t,e=!1,r={}){const i=this.header(r),n=hT(t,i),o=sT.hashSha256(n);return this.createWithSignedHash(t,e,i,n,o)}signAsync(t,e=!1,r={}){return rT(this,void 0,void 0,(function*(){const i=this.header(r),n=hT(t,i),o=yield sT.hashSha256Async(n);return this.createWithSignedHash(t,e,i,n,o)}))}createWithSignedHash(t,e,r,i,n){const o=this.cryptoClient.signHash(n,this.rawPrivateKey);if(e){return{header:[iT.default.encode(JSON.stringify(r))],payload:JSON.stringify(t),signature:[o]}}return[i,o].join(".")}};var aT={};Object.defineProperty(aT,"__esModule",{value:!0});const uT=hw.exports,fT=gw,lT=Aw,cT=Cw;aT.TokenVerifier=class{constructor(t,e){if(!t||!e)throw new lT.MissingParametersError("a signing algorithm and public key are required");if("string"!=typeof t)throw"signing algorithm parameter must be a string";if(t=t.toUpperCase(),!fT.cryptoClients.hasOwnProperty(t))throw"invalid signing algorithm";this.tokenType="JWT",this.cryptoClient=fT.cryptoClients[t],this.rawPublicKey=e}verify(t){return"string"==typeof t?this.verifyCompact(t,!1):"object"==typeof t?this.verifyExpanded(t,!1):void 0}verifyAsync(t){return"string"==typeof t?this.verifyCompact(t,!0):"object"==typeof t?this.verifyExpanded(t,!0):Promise.resolve(!1)}verifyCompact(t,e){const r=t.split("."),i=r[0]+"."+r[1],n=t=>{const e=this.cryptoClient.loadSignature(r[2]);return this.cryptoClient.verifyHash(t,e,this.rawPublicKey)};if(e)return cT.hashSha256Async(i).then((t=>n(t)));{const t=cT.hashSha256(i);return n(t)}}verifyExpanded(t,e){const r=[t.header.join("."),uT.default.encode(t.payload)].join(".");let i=!0;const n=e=>(t.signature.map((t=>{const r=this.cryptoClient.loadSignature(t);this.cryptoClient.verifyHash(e,r,this.rawPublicKey)||(i=!1)})),i);if(e)return cT.hashSha256Async(r).then((t=>n(t)));{const t=cT.hashSha256(r);return n(t)}}};var dT={};Object.defineProperty(dT,"__esModule",{value:!0});const pT=hw.exports;dT.decodeToken=function(t){if("string"==typeof t){const e=t.split(".");return{header:JSON.parse(pT.default.decode(e[0])),payload:JSON.parse(pT.default.decode(e[1])),signature:e[2]}}if("object"==typeof t){if("string"!=typeof t.payload)throw new Error("Expected token payload to be a base64 or json string");let e=t.payload;"{"!==t.payload[0]&&(e=pT.default.decode(e));const r=[];return t.header.map((t=>{const e=JSON.parse(pT.default.decode(t));r.push(e)})),{header:r,payload:JSON.parse(e),signature:t.signature}}},function(t){function e(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}Object.defineProperty(t,"__esModule",{value:!0}),e(sw),e(aT),e(dT),e(Aw),e(gw)}(ow);const mT="blockstack-gaia-hub-config";async function gT(t,e,r,o="application/octet-stream",s=!0,h,a){i.debug(`uploadToGaiaHub: uploading ${t} to ${r.server}`);const u={"Content-Type":o,Authorization:`bearer ${r.token}`};a||(s?u["If-None-Match"]="*":h&&(u["If-Match"]=h));const f=await n(`${r.server}/store/${r.address}/${t}`,{method:"POST",headers:u,body:e});if(!f.ok)throw await _T(f,"Error when uploading to Gaia hub.",r);const l=await f.text();return JSON.parse(l)}async function yT(t,e){i.debug(`deleteFromGaiaHub: deleting ${t} from ${e.server}`);const r=await n(`${e.server}/delete/${e.address}/${t}`,{method:"DELETE",headers:{Authorization:`bearer ${e.token}`}});if(!r.ok)throw await _T(r,"Error deleting file from Gaia hub.",e)}function vT(t,e){return Promise.resolve(`${e.url_prefix}${e.address}/${t}`)}function bT(t,e,i,n){const o=t.challenge_text,s=t.latest_auth_version&&parseInt(t.latest_auth_version.slice(1),10)>=1,h=v(e);if(!s)return function(t,e){let i;try{i=JSON.parse(t)}catch(t){throw new Error("Failed in parsing legacy challenge text from the gaia hub.")}if("gaiahub"===i[0]&&"blockstack_storage_please_sign"===i[3]){const i=w(r.from(t)),n=M(i,_(e)),o=Jb.signature.encode(n,iw.SIGHASH_NONE).toString("hex").slice(0,-2),s=v(e);return r.from(JSON.stringify({publickey:s,signature:o})).toString("base64")}throw new Error("Failed to connect to legacy gaia hub. If you operate this hub, please update.")}(o,e);const a={gaiaChallenge:o,hubUrl:i,iss:h,salt:b(16).toString("hex"),associationToken:n};return`v1:${new ow.TokenSigner("ES256K",e).sign(a)}`}async function wT(t,e,r){i.debug(`connectToGaiaHub: ${t}/hub_info`);const o=await n(`${t}/hub_info`),s=await o.json(),h=s.read_url_prefix,a=bT(s,e,t,r),u=y(v(e));return{url_prefix:h,max_file_upload_size_megabytes:s.max_file_upload_size_megabytes,address:u,token:a,server:t}}async function MT(t,e){const r=await n(`${t}/hub_info`),i=await r.text();return`${JSON.parse(i).read_url_prefix}${y(v(e))}/`}async function _T(t,e,r){if(t.ok)throw new Error("Cannot get a BlockstackError from a valid response.");const n=await async function(t){let e,r="";try{r=await t.text();try{e=JSON.parse(r)}catch(t){}}catch(t){i.debug(`Error getting bad http response text: ${t}`)}return{status:t.status,statusText:t.statusText,body:e||r}}(t);if(401===n.status)return new o(e,n);if(402===n.status)return new s(e,n);if(403===n.status)return new h(e,n);if(404===n.status)throw new a(e,n);if(409===n.status)return new u(e,n);if(412===n.status)return new f(e,n);if(413===n.status){const t=r&&r.max_file_upload_size_megabytes?l(r.max_file_upload_size_megabytes):0;return new c(e,n,t)}return new Error(e)}class ST{constructor(t){this.userSession=t.userSession}async getFile(t,e){const r={decrypt:!0,verify:!1,app:d("location",{returnEmptyObject:!0}).origin},i=Object.assign({},r,e);if(i.verify&&!i.decrypt)return this.getFileSignedUnencrypted(t,i);const n=await this.getFileContents(t,i.app,i.username,i.zoneFileLookupURL,!!i.decrypt);if(null===n)return n;if(i.decrypt&&!i.verify){if("string"!=typeof n)throw new Error("Expected to get back a string for the cipherText");if("string"==typeof i.decrypt){const t={privateKey:i.decrypt};return this.userSession.decryptContent(n,t)}return this.userSession.decryptContent(n)}if(i.decrypt&&i.verify){if("string"!=typeof n)throw new Error("Expected to get back a string for the cipherText");let e;return"string"==typeof i.decrypt&&(e=i.decrypt),this.handleSignedEncryptedContents(t,n,i.app,e,i.username,i.zoneFileLookupURL)}if(i.verify||i.decrypt)throw new Error("Should be unreachable.");return n}async getUserAppFileUrl(e,r,i,n){const o=await t({username:r,zoneFileLookupURL:n});let s;if(o.hasOwnProperty("apps")&&o.apps.hasOwnProperty(i)){s=`${o.apps[i].replace(/\/?(\?|#|$)/,"/$1")}${e}`}return s}async getGaiaAddress(t,e,r){const i=kT(this.userSession,{app:t,username:e,zoneFileLookupURL:r});let n;if(e)n=await this.getUserAppFileUrl("/",i.username,i.app,i.zoneFileLookupURL);else{const t=await this.getOrSetLocalGaiaHubConnection();n=await vT("/",t)}const o=n.match(/([13][a-km-zA-HJ-NP-Z0-9]{26,35})/);if(!o)throw new Error("Failed to parse gaia address");return o[o.length-1]}async getFileUrl(t,e){const r=kT(this.userSession,e);let i;if(r.username)i=await this.getUserAppFileUrl(t,r.username,r.app,r.zoneFileLookupURL);else{const e=await this.getOrSetLocalGaiaHubConnection();i=await vT(t,e)}if(i)return i;throw new Error("Missing readURL")}async getFileContents(t,e,r,i,o){const s={app:e,username:r,zoneFileLookupURL:i},h=await this.getFileUrl(t,s),a=await n(h);if(!a.ok)throw await _T(a,`getFile ${t} failed.`,null);let u=a.headers.get("Content-Type");"string"==typeof u&&(u=u.toLowerCase());const f=a.headers.get("ETag");if(f){const e=this.userSession.store.getSessionData();e.etags[t]=f,this.userSession.store.setSessionData(e)}return o||null===u||u.startsWith("text")||u.startsWith("application/json")?a.text():a.arrayBuffer()}async getFileSignedUnencrypted(t,e){const r=`${t}.sig`;try{const[i,n,o]=await Promise.all([this.getFileContents(t,e.app,e.username,e.zoneFileLookupURL,!1),this.getFileContents(r,e.app,e.username,e.zoneFileLookupURL,!0),this.getGaiaAddress(e.app,e.username,e.zoneFileLookupURL)]);if(!i)return i;if(!o)throw new p(`Failed to get gaia address for verification of: ${t}`);if(!n||"string"!=typeof n)throw new p(`Failed to obtain signature for file: ${t} -- looked in ${t}.sig`);let s,h;try{const t=JSON.parse(n);s=t.signature,h=t.publicKey}catch(e){throw e instanceof SyntaxError?new Error(`Failed to parse signature content JSON (path: ${t}.sig) The content may be corrupted.`):e}const a=y(h);if(o!==a)throw new p(`Signer pubkey address (${a}) doesn't match gaia address (${o})`);if(S(i,h,s))return i;throw new p(`Contents do not match ECDSA signature: path: ${t}, signature: ${t}.sig`)}catch(e){throw e instanceof a&&e.message.indexOf(r)>=0?new p(`Failed to obtain signature for file: ${t} -- looked in ${t}.sig`):e}}async handleSignedEncryptedContents(t,e,r,i,n,o){const s=i||this.userSession.loadUserData().appPrivateKey,h=v(s);let a,u;if(a=n?await this.getGaiaAddress(r,n,o):y(h),!a)throw new p(`Failed to get gaia address for verification of: ${t}`);try{u=JSON.parse(e)}catch(t){throw t instanceof SyntaxError?new Error("Failed to parse encrypted, signed content JSON. The content may not be encrypted. If using getFile, try passing { verify: false, decrypt: false }."):t}const f=u.signature,l=u.publicKey,c=u.cipherText,d=y(l);if(l&&c&&f){if(d!==a)throw new p(`Signer pubkey address (${d}) doesn't match gaia address (${a})`);if(S(c,l,f)){if("string"==typeof i){const t={privateKey:i};return this.userSession.decryptContent(c,t)}return this.userSession.decryptContent(c)}throw new p(`Contents do not match ECDSA signature in file: ${t}`)}throw new p(`Failed to get signature verification data from file: ${t}`)}async putFile(t,e,r){var i,n;const o=Object.assign({},{encrypt:!0,sign:!1,cipherTextEncoding:"hex",dangerouslyIgnoreEtag:!1},r),s=await this.getOrSetLocalGaiaHubConnection(),h=l(s.max_file_upload_size_megabytes),a=h>0,u=new A(e,o.contentType);let f,d=u.contentType;if(!o.encrypt&&a&&u.contentByteLength>h){const t=`The max file upload size for this hub is ${h} bytes, the given content is ${u.contentByteLength} bytes`,e=new c(t,null,h);throw console.error(e),e}if(o.encrypt&&a){const t=E({contentLength:u.contentByteLength,wasString:u.wasString,sign:!!o.sign,cipherTextEncoding:o.cipherTextEncoding});if(t>h){const e=new c(`The max file upload size for this hub is ${h} bytes, the given content is ${t} bytes after encryption`,null,h);throw console.error(e),e}}let p=!0;const m=this.userSession.store.getSessionData();let g;if(o.dangerouslyIgnoreEtag||(null===(i=m.etags)||void 0===i?void 0:i[t])&&(p=!1,f=null===(n=m.etags)||void 0===n?void 0:n[t]),!o.encrypt&&o.sign){const e=await u.load();let r;r="string"==typeof o.sign?o.sign:this.userSession.loadUserData().appPrivateKey;const i=k(r,e),n=JSON.stringify(i);g=async r=>{const i=(await Promise.all([gT(t,e,r,d,p,f,o.dangerouslyIgnoreEtag),gT(`${t}.sig`,n,r,"application/json")]))[0];return!o.dangerouslyIgnoreEtag&&i.etag&&(m.etags[t]=i.etag,this.userSession.store.setSessionData(m)),i.publicURL}}else{let e;if(o.encrypt||o.sign){let t;t="string"==typeof o.encrypt?o.encrypt:"string"==typeof o.sign?v(o.sign):v(this.userSession.loadUserData().appPrivateKey);const r=await u.load();e=await this.userSession.encryptContent(r,{publicKey:t,wasString:u.wasString,cipherTextEncoding:o.cipherTextEncoding,sign:o.sign}),d="application/json"}else e=u.content;g=async r=>{const i=await gT(t,e,r,d,p,f,o.dangerouslyIgnoreEtag);return i.etag&&(m.etags[t]=i.etag,this.userSession.store.setSessionData(m)),i.publicURL}}try{return await g(s)}catch(t){if(function(t){if(!t||!t.hubError||!t.hubError.statusCode)return!1;const e=t.hubError.statusCode;if(401===e)return!0;if(409===e)return!0;if(e>=500&&e<=599)return!0;return!1}(t)){console.error(t),console.error("Possible recoverable error during Gaia upload, retrying...");const e=await this.setLocalGaiaHubConnection();return await g(e)}throw t}}async deleteFile(t,e){const r=await this.getOrSetLocalGaiaHubConnection();if(Object.assign({},e).wasSigned)try{await yT(t,r),await yT(`${t}.sig`,r);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const i=await this.setLocalGaiaHubConnection();await yT(t,i),await yT(`${t}.sig`,r);const n=this.userSession.store.getSessionData();delete n.etags[t],this.userSession.store.setSessionData(n)}else try{await yT(t,r);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const r=await this.setLocalGaiaHubConnection();await yT(t,r);const i=this.userSession.store.getSessionData();delete i.etags[t],this.userSession.store.setSessionData(i)}}getAppBucketUrl(t,e){return MT(t,e)}async listFilesLoop(t,e,r,i,o){if(r>65536)throw new Error("Too many entries to list");let s;t=t||await this.getOrSetLocalGaiaHubConnection();try{const r=JSON.stringify({page:e}),i={method:"POST",headers:{"Content-Type":"application/json","Content-Length":`${r.length}`,Authorization:`bearer ${t.token}`},body:r};if(s=await n(`${t.server}/list-files/${t.address}`,i),!s.ok)throw await _T(s,"ListFiles failed.",t)}catch(t){if(0===r){const t=await this.setLocalGaiaHubConnection();return this.listFilesLoop(t,e,r+1,0,o)}throw t}const h=await s.text(),a=JSON.parse(h),u=a.entries,f=a.page;if(null==u)throw new Error("Bad listFiles response: no entries");let l=0;for(let t=0;t<u.length;t++)if(null!==u[t]){l++;if(!o(u[t]))return i+t}return f&&u.length>0?this.listFilesLoop(t,f,r+1,i+l,o):i+l}listFiles(t){return this.listFilesLoop(null,null,0,0,t)}async getOrSetLocalGaiaHubConnection(){const t=this.userSession.store.getSessionData().userData;if(!t)throw new m("Missing userData");const e=t.gaiaHubConfig;return e?Promise.resolve(e):this.setLocalGaiaHubConnection()}async setLocalGaiaHubConnection(){const t=this.userSession.loadUserData();if(!t)throw new m("Missing userData");t.hubUrl||(t.hubUrl=g);const e=await wT(t.hubUrl,t.appPrivateKey,t.gaiaAssociationToken);t.gaiaHubConfig=e;const r=this.userSession.store.getSessionData();return r.userData.gaiaHubConfig=e,this.userSession.store.setSessionData(r),e}}function ET(t){return new ST({}).getUserAppFileUrl(t.path,t.username,t.appOrigin,t.zoneFileLookupURL)}function kT(t,r){var i;const n=Object.assign({},r);if(n.username){if(!n.app){if(!t.appConfig)throw new m("Missing AppConfig");n.app=t.appConfig.appDomain}if(!n.zoneFileLookupURL){if(!t.appConfig)throw new m("Missing AppConfig");if(!t.store)throw new m("Missing store UserSession");const r=(null===(i=t.store.getSessionData().userData)||void 0===i?void 0:i.coreNode)||t.appConfig.coreNode;r&&(n.zoneFileLookupURL=`${r}${e}`)}}return n}export{mT as BLOCKSTACK_GAIA_HUB_LABEL,ST as Storage,wT as connectToGaiaHub,yT as deleteFromGaiaHub,MT as getBucketUrl,vT as getFullReadUrl,ET as getUserAppFileUrl,gT as uploadToGaiaHub};
|
|
12
|
+
function(t,e){var r=Bt,i=r.Buffer;function n(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(n(r,e),e.Buffer=o),o.prototype=Object.create(i.prototype),n(i,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}}(xt,xt.exports);var Ft={exports:{}},zt={};function Wt(){throw new Error("setTimeout has not been defined")}function Vt(){throw new Error("clearTimeout has not been defined")}var Zt=Wt,Gt=Vt;function $t(t){if(Zt===setTimeout)return setTimeout(t,0);if((Zt===Wt||!Zt)&&setTimeout)return Zt=setTimeout,setTimeout(t,0);try{return Zt(t,0)}catch(e){try{return Zt.call(null,t,0)}catch(e){return Zt.call(this,t,0)}}}"function"==typeof P.setTimeout&&(Zt=setTimeout),"function"==typeof P.clearTimeout&&(Gt=clearTimeout);var Xt,Yt=[],Jt=!1,Qt=-1;function te(){Jt&&Xt&&(Jt=!1,Xt.length?Yt=Xt.concat(Yt):Qt=-1,Yt.length&&ee())}function ee(){if(!Jt){var t=$t(te);Jt=!0;for(var e=Yt.length;e;){for(Xt=Yt,Yt=[];++Qt<e;)Xt&&Xt[Qt].run();Qt=-1,e=Yt.length}Xt=null,Jt=!1,function(t){if(Gt===clearTimeout)return clearTimeout(t);if((Gt===Vt||!Gt)&&clearTimeout)return Gt=clearTimeout,clearTimeout(t);try{Gt(t)}catch(e){try{return Gt.call(null,t)}catch(e){return Gt.call(this,t)}}}(t)}}function re(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];Yt.push(new ie(t,e)),1!==Yt.length||Jt||$t(ee)}function ie(t,e){this.fun=t,this.array=e}ie.prototype.run=function(){this.fun.apply(null,this.array)};function ne(){}var oe=ne,se=ne,he=ne,ae=ne,ue=ne,fe=ne,le=ne;var ce=P.performance||{},de=ce.now||ce.mozNow||ce.msNow||ce.oNow||ce.webkitNow||function(){return(new Date).getTime()};var pe=new Date;var me,ge={nextTick:re,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:oe,addListener:se,once:he,off:ae,removeListener:ue,removeAllListeners:fe,emit:le,binding:function(t){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(t){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(t){var e=.001*de.call(ce),r=Math.floor(e),i=Math.floor(e%1*1e9);return t&&(r-=t[0],(i-=t[1])<0&&(r--,i+=1e9)),[r,i]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-pe)/1e3}},ye={exports:{}},ve="object"==typeof Reflect?Reflect:null,be=ve&&"function"==typeof ve.apply?ve.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};me=ve&&"function"==typeof ve.ownKeys?ve.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var we=Number.isNaN||function(t){return t!=t};function Me(){Me.init.call(this)}ye.exports=Me,ye.exports.once=function(t,e){return new Promise((function(r,i){function n(r){t.removeListener(e,o),i(r)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",n),r([].slice.call(arguments))}xe(t,e,o,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&xe(t,"error",e,r)}(t,n,{once:!0})}))},Me.EventEmitter=Me,Me.prototype._events=void 0,Me.prototype._eventsCount=0,Me.prototype._maxListeners=void 0;var _e=10;function Se(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function Ee(t){return void 0===t._maxListeners?Me.defaultMaxListeners:t._maxListeners}function ke(t,e,r,i){var n,o,s,h;if(Se(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"==typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),(n=Ee(t))>0&&s.length>n&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,h=a,console&&console.warn&&console.warn(h)}return t}function Ae(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ie(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=Ae.bind(i);return n.listener=r,i.wrapFn=n,n}function Te(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(n):Pe(n,n.length)}function Oe(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function Pe(t,e){for(var r=new Array(e),i=0;i<e;++i)r[i]=t[i];return r}function xe(t,e,r,i){if("function"==typeof t.on)i.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function n(o){i.once&&t.removeEventListener(e,n),r(o)}))}}Object.defineProperty(Me,"defaultMaxListeners",{enumerable:!0,get:function(){return _e},set:function(t){if("number"!=typeof t||t<0||we(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");_e=t}}),Me.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Me.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||we(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},Me.prototype.getMaxListeners=function(){return Ee(this)},Me.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,n=this._events;if(void 0!==n)i=i&&void 0===n.error;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var h=n[t];if(void 0===h)return!1;if("function"==typeof h)be(h,this,e);else{var a=h.length,u=Pe(h,a);for(r=0;r<a;++r)be(u[r],this,e)}return!0},Me.prototype.addListener=function(t,e){return ke(this,t,e,!1)},Me.prototype.on=Me.prototype.addListener,Me.prototype.prependListener=function(t,e){return ke(this,t,e,!0)},Me.prototype.once=function(t,e){return Se(e),this.on(t,Ie(this,t,e)),this},Me.prototype.prependOnceListener=function(t,e){return Se(e),this.prependListener(t,Ie(this,t,e)),this},Me.prototype.removeListener=function(t,e){var r,i,n,o,s;if(Se(e),void 0===(i=this._events))return this;if(void 0===(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,n),1===r.length&&(i[t]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",t,s||e)}return this},Me.prototype.off=Me.prototype.removeListener,Me.prototype.removeAllListeners=function(t){var e,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i<o.length;++i)"removeListener"!==(n=o[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},Me.prototype.listeners=function(t){return Te(this,t,!0)},Me.prototype.rawListeners=function(t){return Te(this,t,!1)},Me.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):Oe.call(t,e)},Me.prototype.listenerCount=Oe,Me.prototype.eventNames=function(){return this._eventsCount>0?me(this._events):[]};var Be=ye.exports.EventEmitter,Re=I(Object.freeze({__proto__:null,default:{}}));function Ne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function Ue(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ce(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var Le=Bt.Buffer,De=Re.inspect,je=De&&De.custom||"inspect";function He(t,e,r){Le.prototype.copy.call(t,e,r)}var qe=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r,i;return e=t,(r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return Le.alloc(0);for(var e=Le.allocUnsafe(t>>>0),r=this.head,i=0;r;)He(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,i=e.data;for(t-=i.length;e=e.next;){var n=e.data,o=t>n.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),0==(t-=o)){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=Le.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),0==(t-=o)){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:je,value:function(t,e){return De(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ne(Object(r),!0).forEach((function(e){Ue(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ne(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},e,{depth:0,customInspect:!1}))}}])&&Ce(e.prototype,r),i&&Ce(e,i),t}();function Ke(t,e){ze(t,e),Fe(t)}function Fe(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function ze(t,e){t.emit("error",e)}var We={destroy:function(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,re(ze,this,t)):re(ze,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?re(Fe,r):(r._writableState.errorEmitted=!0,re(Ke,r,t)):re(Ke,r,t):e?(re(Fe,r),e(t)):re(Fe,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}},Ve={};var Ze={};function Ge(t,e,r){r||(r=Error);var i=function(t){var r,i;function n(r,i,n){return t.call(this,function(t,r,i){return"string"==typeof e?e:e(t,r,i)}(r,i,n))||this}return i=t,(r=n).prototype=Object.create(i.prototype),r.prototype.constructor=r,r.__proto__=i,n}(r);i.prototype.name=r.name,i.prototype.code=t,Ze[t]=i}function $e(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}Ge("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),Ge("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n,o,s;if("string"==typeof e&&(n="not ",e.substr(!o||o<0?0:+o,n.length)===n)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))s="The ".concat(t," ").concat(i," ").concat($e(e,"type"));else{var h=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";s='The "'.concat(t,'" ').concat(h," ").concat(i," ").concat($e(e,"type"))}return s+=". Received type ".concat(typeof r)}),TypeError),Ge("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),Ge("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),Ge("ERR_STREAM_PREMATURE_CLOSE","Premature close"),Ge("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),Ge("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),Ge("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),Ge("ERR_STREAM_WRITE_AFTER_END","write after end"),Ge("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),Ge("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),Ge("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ve.codes=Ze;var Xe=Ve.codes.ERR_INVALID_OPT_VALUE;var Ye={getHighWaterMark:function(t,e,r,i){var n=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new Xe(i?r:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}},Je={},Qe={exports:{}};!function(t,e){var r=Bt,i=r.Buffer;function n(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(n(r,e),e.Buffer=o),n(i,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}}(Qe,Qe.exports);var tr=Qe.exports.Buffer,er=tr.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function rr(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(tr.isEncoding===er||!er(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=or,this.end=sr,e=4;break;case"utf8":this.fillLast=nr,e=4;break;case"base64":this.text=hr,this.end=ar,e=3;break;default:return this.write=ur,void(this.end=fr)}this.lastNeed=0,this.lastTotal=0,this.lastChar=tr.allocUnsafe(e)}function ir(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function nr(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function or(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function sr(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function hr(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function ar(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function ur(t){return t.toString(this.encoding)}function fr(t){return t&&t.length?this.write(t):""}Je.StringDecoder=rr,rr.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},rr.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},rr.prototype.text=function(t,e){var r=function(t,e,r){var i=e.length-1;if(i<r)return 0;var n=ir(e[i]);if(n>=0)return n>0&&(t.lastNeed=n-1),n;if(--i<r||-2===n)return 0;if((n=ir(e[i]))>=0)return n>0&&(t.lastNeed=n-2),n;if(--i<r||-2===n)return 0;if((n=ir(e[i]))>=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},rr.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};var lr=Ve.codes.ERR_STREAM_PREMATURE_CLOSE;function cr(){}var dr,pr=function t(e,r,i){if("function"==typeof r)return t(e,null,r);r||(r={}),i=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];t.apply(this,i)}}}(i||cr);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,s=function(){e.writable||a()},h=e._writableState&&e._writableState.finished,a=function(){o=!1,h=!0,n||i.call(e)},u=e._readableState&&e._readableState.endEmitted,f=function(){n=!1,u=!0,o||i.call(e)},l=function(t){i.call(e,t)},c=function(){var t;return n&&!u?(e._readableState&&e._readableState.ended||(t=new lr),i.call(e,t)):o&&!h?(e._writableState&&e._writableState.ended||(t=new lr),i.call(e,t)):void 0},d=function(){e.req.on("finish",a)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(e)?o&&!e._writableState&&(e.on("end",s),e.on("close",s)):(e.on("complete",a),e.on("abort",c),e.req?d():e.on("request",d)),e.on("end",f),e.on("finish",a),!1!==r.error&&e.on("error",l),e.on("close",c),function(){e.removeListener("complete",a),e.removeListener("abort",c),e.removeListener("request",d),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",f),e.removeListener("error",l),e.removeListener("close",c)}};function mr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var gr=pr,yr=Symbol("lastResolve"),vr=Symbol("lastReject"),br=Symbol("error"),wr=Symbol("ended"),Mr=Symbol("lastPromise"),_r=Symbol("handlePromise"),Sr=Symbol("stream");function Er(t,e){return{value:t,done:e}}function kr(t){var e=t[yr];if(null!==e){var r=t[Sr].read();null!==r&&(t[Mr]=null,t[yr]=null,t[vr]=null,e(Er(r,!1)))}}function Ar(t){re(kr,t)}var Ir=Object.getPrototypeOf((function(){})),Tr=Object.setPrototypeOf((mr(dr={get stream(){return this[Sr]},next:function(){var t=this,e=this[br];if(null!==e)return Promise.reject(e);if(this[wr])return Promise.resolve(Er(void 0,!0));if(this[Sr].destroyed)return new Promise((function(e,r){re((function(){t[br]?r(t[br]):e(Er(void 0,!0))}))}));var r,i=this[Mr];if(i)r=new Promise(function(t,e){return function(r,i){t.then((function(){e[wr]?r(Er(void 0,!0)):e[_r](r,i)}),i)}}(i,this));else{var n=this[Sr].read();if(null!==n)return Promise.resolve(Er(n,!1));r=new Promise(this[_r])}return this[Mr]=r,r}},Symbol.asyncIterator,(function(){return this})),mr(dr,"return",(function(){var t=this;return new Promise((function(e,r){t[Sr].destroy(null,(function(t){t?r(t):e(Er(void 0,!0))}))}))})),dr),Ir),Or=function(t){var e,r=Object.create(Tr,(mr(e={},Sr,{value:t,writable:!0}),mr(e,yr,{value:null,writable:!0}),mr(e,vr,{value:null,writable:!0}),mr(e,br,{value:null,writable:!0}),mr(e,wr,{value:t._readableState.endEmitted,writable:!0}),mr(e,_r,{value:function(t,e){var i=r[Sr].read();i?(r[Mr]=null,r[yr]=null,r[vr]=null,t(Er(i,!1))):(r[yr]=t,r[vr]=e)},writable:!0}),e));return r[Mr]=null,gr(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[vr];return null!==e&&(r[Mr]=null,r[yr]=null,r[vr]=null,e(t)),void(r[br]=t)}var i=r[yr];null!==i&&(r[Mr]=null,r[yr]=null,r[vr]=null,i(Er(void 0,!0))),r[wr]=!0})),t.on("readable",Ar.bind(null,r)),r},Pr=function(){throw new Error("Readable.from is not available in the browser")};const xr=zt;xr.Readable=Jr,Jr.ReadableState=Yr,ye.exports.EventEmitter;var Br=function(t,e){return t.listeners(e).length},Rr=Be,Nr=Bt.Buffer,Ur=A.Uint8Array||function(){};var Cr,Lr=Re;Cr=Lr&&Lr.debuglog?Lr.debuglog("stream"):function(){};var Dr,jr,Hr,qr=qe,Kr=We,Fr=Ye.getHighWaterMark,zr=Ve.codes,Wr=zr.ERR_INVALID_ARG_TYPE,Vr=zr.ERR_STREAM_PUSH_AFTER_EOF,Zr=zr.ERR_METHOD_NOT_IMPLEMENTED,Gr=zr.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;Pt.exports(Jr,Rr);var $r=Kr.errorOrDestroy,Xr=["error","close","destroy","pause","resume"];function Yr(t,e,r){t=t||{},"boolean"!=typeof r&&(r=e instanceof xr.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Fr(this,t,"readableHighWaterMark",r),this.buffer=new qr,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Dr||(Dr=Je.StringDecoder),this.decoder=new Dr(t.encoding),this.encoding=t.encoding)}function Jr(t){if(!(this instanceof Jr))return new Jr(t);var e=this instanceof xr.Duplex;this._readableState=new Yr(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),Rr.call(this)}function Qr(t,e,r,i,n){Cr("readableAddChunk",e);var o,s=t._readableState;if(null===e)s.reading=!1,function(t,e){if(Cr("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?ri(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,ii(t)))}(t,s);else if(n||(o=function(t,e){var r;i=e,Nr.isBuffer(i)||i instanceof Ur||"string"==typeof e||void 0===e||t.objectMode||(r=new Wr("chunk",["string","Buffer","Uint8Array"],e));var i;return r}(s,e)),o)$r(t,o);else if(s.objectMode||e&&e.length>0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===Nr.prototype||(e=function(t){return Nr.from(t)}(e)),i)s.endEmitted?$r(t,new Gr):ti(t,s,e,!0);else if(s.ended)$r(t,new Vr);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?ti(t,s,e,!1):ni(t,s)):ti(t,s,e,!1)}else i||(s.reading=!1,ni(t,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function ti(t,e,r,i){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&ri(t)),ni(t,e)}Object.defineProperty(Jr.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),Jr.prototype.destroy=Kr.destroy,Jr.prototype._undestroy=Kr.undestroy,Jr.prototype._destroy=function(t,e){e(t)},Jr.prototype.push=function(t,e){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof t&&((e=e||i.defaultEncoding)!==i.encoding&&(t=Nr.from(t,e),e=""),r=!0),Qr(this,t,e,!1,r)},Jr.prototype.unshift=function(t){return Qr(this,t,null,!0,!1)},Jr.prototype.isPaused=function(){return!1===this._readableState.flowing},Jr.prototype.setEncoding=function(t){Dr||(Dr=Je.StringDecoder);var e=new Dr(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,i="";null!==r;)i+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function ei(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function ri(t){var e=t._readableState;Cr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Cr("emitReadable",e.flowing),e.emittedReadable=!0,re(ii,t))}function ii(t){var e=t._readableState;Cr("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,ui(t)}function ni(t,e){e.readingMore||(e.readingMore=!0,re(oi,t,e))}function oi(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(Cr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function si(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function hi(t){Cr("readable nexttick read 0"),t.read(0)}function ai(t,e){Cr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),ui(t),e.flowing&&!e.reading&&t.read(0)}function ui(t){var e=t._readableState;for(Cr("flow",e.flowing);e.flowing&&null!==t.read(););}function fi(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function li(t){var e=t._readableState;Cr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,re(ci,e,t))}function ci(t,e){if(Cr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function di(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1}Jr.prototype.read=function(t){Cr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return Cr("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?li(this):ri(this),null;if(0===(t=ei(t,e))&&e.ended)return 0===e.length&&li(this),null;var i,n=e.needReadable;return Cr("need readable",n),(0===e.length||e.length-t<e.highWaterMark)&&Cr("length less than watermark",n=!0),e.ended||e.reading?Cr("reading or ended",n=!1):n&&(Cr("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=ei(r,e))),null===(i=t>0?fi(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&li(this)),null!==i&&this.emit("data",i),i},Jr.prototype._read=function(t){$r(this,new Zr("_read()"))},Jr.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,Cr("pipe count=%d opts=%j",i.pipesCount,e);var n=(!e||!1!==e.end)&&t!==ge.stdout&&t!==ge.stderr?s:d;function o(e,n){Cr("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,Cr("cleanup"),t.removeListener("close",l),t.removeListener("finish",c),t.removeListener("drain",h),t.removeListener("error",f),t.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",d),r.removeListener("data",u),a=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function s(){Cr("onend"),t.end()}i.endEmitted?re(n):r.once("end",n),t.on("unpipe",o);var h=function(t){return function(){var e=t._readableState;Cr("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&Br(t,"data")&&(e.flowing=!0,ui(t))}}(r);t.on("drain",h);var a=!1;function u(e){Cr("ondata");var n=t.write(e);Cr("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==di(i.pipes,t))&&!a&&(Cr("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(e){Cr("onerror",e),d(),t.removeListener("error",f),0===Br(t,"error")&&$r(t,e)}function l(){t.removeListener("finish",c),d()}function c(){Cr("onfinish"),t.removeListener("close",l),d()}function d(){Cr("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",l),t.once("finish",c),t.emit("pipe",r),i.flowing||(Cr("pipe resume"),r.resume()),t},Jr.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<n;o++)i[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=di(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},Jr.prototype.on=function(t,e){var r=Rr.prototype.on.call(this,t,e),i=this._readableState;return"data"===t?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Cr("on readable",i.length,i.reading),i.length?ri(this):i.reading||re(hi,this))),r},Jr.prototype.addListener=Jr.prototype.on,Jr.prototype.removeListener=function(t,e){var r=Rr.prototype.removeListener.call(this,t,e);return"readable"===t&&re(si,this),r},Jr.prototype.removeAllListeners=function(t){var e=Rr.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||re(si,this),e},Jr.prototype.resume=function(){var t=this._readableState;return t.flowing||(Cr("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,re(ai,t,e))}(this,t)),t.paused=!1,this},Jr.prototype.pause=function(){return Cr("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(Cr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Jr.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(Cr("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(Cr("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o<Xr.length;o++)t.on(Xr[o],this.emit.bind(this,Xr[o]));return this._read=function(e){Cr("wrapped _read",e),i&&(i=!1,t.resume())},this},"function"==typeof Symbol&&(Jr.prototype[Symbol.asyncIterator]=function(){return void 0===jr&&(jr=Or),jr(this)}),Object.defineProperty(Jr.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Jr.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Jr.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),Jr._fromList=fi,Object.defineProperty(Jr.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Jr.from=function(t,e){return void 0===Hr&&(Hr=Pr),Hr(Jr,t,e)});var pi=function(t,e){if(mi("noDeprecation"))return t;var r=!1;return function(){if(!r){if(mi("throwDeprecation"))throw new Error(e);mi("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}};function mi(t){try{if(!A.localStorage)return!1}catch(t){return!1}var e=A.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}const gi=zt;function yi(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}gi.Writable=Li,Li.WritableState=Ci;var vi={deprecate:pi},bi=Be,wi=Bt.Buffer,Mi=A.Uint8Array||function(){};var _i,Si=We,Ei=Ye.getHighWaterMark,ki=Ve.codes,Ai=ki.ERR_INVALID_ARG_TYPE,Ii=ki.ERR_METHOD_NOT_IMPLEMENTED,Ti=ki.ERR_MULTIPLE_CALLBACK,Oi=ki.ERR_STREAM_CANNOT_PIPE,Pi=ki.ERR_STREAM_DESTROYED,xi=ki.ERR_STREAM_NULL_VALUES,Bi=ki.ERR_STREAM_WRITE_AFTER_END,Ri=ki.ERR_UNKNOWN_ENCODING,Ni=Si.errorOrDestroy;function Ui(){}function Ci(t,e,r){t=t||{},"boolean"!=typeof r&&(r=e instanceof gi.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Ei(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===t.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new Ti;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,n){--e.pendingcb,r?(re(n,i),re(Fi,t,e),t._writableState.errorEmitted=!0,Ni(t,i)):(n(i),t._writableState.errorEmitted=!0,Ni(t,i),Fi(t,e))}(t,r,i,e,n);else{var o=qi(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||Hi(t,r),i?re(ji,t,r,o,n):ji(t,r,o,n)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new yi(this)}function Li(t){var e=this instanceof gi.Duplex;if(!e&&!_i.call(Li,this))return new Li(t);this._writableState=new Ci(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),bi.call(this)}function Di(t,e,r,i,n,o,s){e.writelen=i,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new Pi("write")):r?t._writev(n,e.onwrite):t._write(n,o,e.onwrite),e.sync=!1}function ji(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),Fi(t,e)}function Hi(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var s=0,h=!0;r;)n[s]=r,r.isBuf||(h=!1),r=r.next,s+=1;n.allBuffers=h,Di(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new yi(e),e.bufferedRequestCount=0}else{for(;r;){var a=r.chunk,u=r.encoding,f=r.callback;if(Di(t,e,!1,e.objectMode?1:a.length,a,u,f),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function qi(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function Ki(t,e){t._final((function(r){e.pendingcb--,r&&Ni(t,r),e.prefinished=!0,t.emit("prefinish"),Fi(t,e)}))}function Fi(t,e){var r=qi(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,re(Ki,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return r}Pt.exports(Li,bi),Ci.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(Ci.prototype,"buffer",{get:vi.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(_i=Function.prototype[Symbol.hasInstance],Object.defineProperty(Li,Symbol.hasInstance,{value:function(t){return!!_i.call(this,t)||this===Li&&(t&&t._writableState instanceof Ci)}})):_i=function(t){return t instanceof this},Li.prototype.pipe=function(){Ni(this,new Oi)},Li.prototype.write=function(t,e,r){var i,n=this._writableState,o=!1,s=!n.objectMode&&(i=t,wi.isBuffer(i)||i instanceof Mi);return s&&!wi.isBuffer(t)&&(t=function(t){return wi.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=n.defaultEncoding),"function"!=typeof r&&(r=Ui),n.ending?function(t,e){var r=new Bi;Ni(t,r),re(e,r)}(this,r):(s||function(t,e,r,i){var n;return null===r?n=new xi:"string"==typeof r||e.objectMode||(n=new Ai("chunk",["string","Buffer"],r)),!n||(Ni(t,n),re(i,n),!1)}(this,n,t,r))&&(n.pendingcb++,o=function(t,e,r,i,n,o){if(!r){var s=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=wi.from(e,r));return e}(e,i,n);i!==s&&(r=!0,n="buffer",i=s)}var h=e.objectMode?1:i.length;e.length+=h;var a=e.length<e.highWaterMark;a||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else Di(t,e,!1,h,i,n,o);return a}(this,n,s,t,e,r)),o},Li.prototype.cork=function(){this._writableState.corked++},Li.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||Hi(this,t))},Li.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new Ri(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(Li.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Li.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Li.prototype._write=function(t,e,r){r(new Ii("_write()"))},Li.prototype._writev=null,Li.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,Fi(t,e),r&&(e.finished?re(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(Li.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Li.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),Li.prototype.destroy=Si.destroy,Li.prototype._undestroy=Si.undestroy,Li.prototype._destroy=function(t,e){e(t)};var zi=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};const Wi=zt;Wi.Duplex=$i,Pt.exports($i,Wi.Readable);for(var Vi=zi(Wi.Writable.prototype),Zi=0;Zi<Vi.length;Zi++){var Gi=Vi[Zi];$i.prototype[Gi]||($i.prototype[Gi]=Wi.Writable.prototype[Gi])}function $i(t){if(!(this instanceof $i))return new $i(t);Wi.Readable.call(this,t),Wi.Writable.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",Xi)))}function Xi(){this._writableState.ended||re(Yi,this)}function Yi(t){t.end()}Object.defineProperty($i.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty($i.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty($i.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty($i.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}});const Ji=zt;Ji.Transform=sn;var Qi=Ve.codes,tn=Qi.ERR_METHOD_NOT_IMPLEMENTED,en=Qi.ERR_MULTIPLE_CALLBACK,rn=Qi.ERR_TRANSFORM_ALREADY_TRANSFORMING,nn=Qi.ERR_TRANSFORM_WITH_LENGTH_0;function on(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new en);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function sn(t){if(!(this instanceof sn))return new sn(t);Ji.Duplex.call(this,t),this._transformState={afterTransform:on.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",hn)}function hn(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?an(this,null,null):this._flush((function(e,r){an(t,e,r)}))}function an(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new nn;if(t._transformState.transforming)throw new rn;return t.push(null)}Pt.exports(sn,Ji.Duplex),sn.prototype.push=function(t,e){return this._transformState.needTransform=!1,Ji.Duplex.prototype.push.call(this,t,e)},sn.prototype._transform=function(t,e,r){r(new tn("_transform()"))},sn.prototype._write=function(t,e,r){var i=this._transformState;if(i.writecb=r,i.writechunk=t,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},sn.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},sn.prototype._destroy=function(t,e){Ji.Duplex.prototype._destroy.call(this,t,(function(t){e(t)}))};const un=zt;function fn(t){if(!(this instanceof fn))return new fn(t);Transform.call(this,t)}var ln;un.PassThrough=fn,Pt.exports(fn,un.Transform),fn.prototype._transform=function(t,e,r){r(null,t)};var cn=Ve.codes,dn=cn.ERR_MISSING_ARGS,pn=cn.ERR_STREAM_DESTROYED;function mn(t){if(t)throw t}function gn(t,e,r,i){i=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(i);var n=!1;t.on("close",(function(){n=!0})),void 0===ln&&(ln=pr),ln(t,{readable:e,writable:r},(function(t){if(t)return i(t);n=!0,i()}));var o=!1;return function(e){if(!n&&!o)return o=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void i(e||new pn("pipe"))}}function yn(t){t()}function vn(t,e){return t.pipe(e)}function bn(t){return t.length?"function"!=typeof t[t.length-1]?mn:t.pop():mn}var wn=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var i,n=bn(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new dn("streams");var o=e.map((function(t,r){var s=r<e.length-1;return gn(t,s,r>0,(function(t){i||(i=t),t&&o.forEach(yn),s||(o.forEach(yn),n(i))}))}));return e.reduce(vn)};!function(t,e){const r=zt;(e=Ft.exports=r.Readable).Stream=r.Readable,e.Readable=r.Readable,e.Writable=r.Writable,e.Duplex=r.Duplex,e.Transform=r.Transform,e.PassThrough=r.PassThrough,e.finished=pr,e.pipeline=wn}(0,Ft.exports);var Mn=xt.exports.Buffer,_n=Ft.exports.Transform;function Sn(t){_n.call(this),this._block=Mn.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}(0,Pt.exports)(Sn,_n),Sn.prototype._transform=function(t,e,r){var i=null;try{this.update(t,e)}catch(t){i=t}r(i)},Sn.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},Sn.prototype.update=function(t,e){if(function(t,e){if(!Mn.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");Mn.isBuffer(t)||(t=Mn.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var n=this._blockOffset;n<this._blockSize;)r[n++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)r[this._blockOffset++]=t[i++];for(var o=0,s=8*t.length;s>0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},Sn.prototype._update=function(){throw new Error("_update is not implemented")},Sn.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},Sn.prototype._digest=function(){throw new Error("_digest is not implemented")};var En=Sn,kn=Pt.exports,An=En,In=xt.exports.Buffer,Tn=new Array(16);function On(){An.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function Pn(t,e){return t<<e|t>>>32-e}function xn(t,e,r,i,n,o,s){return Pn(t+(e&r|~e&i)+n+o|0,s)+e|0}function Bn(t,e,r,i,n,o,s){return Pn(t+(e&i|r&~i)+n+o|0,s)+e|0}function Rn(t,e,r,i,n,o,s){return Pn(t+(e^r^i)+n+o|0,s)+e|0}function Nn(t,e,r,i,n,o,s){return Pn(t+(r^(e|~i))+n+o|0,s)+e|0}kn(On,An),On.prototype._update=function(){for(var t=Tn,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,o=this._d;r=xn(r,i,n,o,t[0],3614090360,7),o=xn(o,r,i,n,t[1],3905402710,12),n=xn(n,o,r,i,t[2],606105819,17),i=xn(i,n,o,r,t[3],3250441966,22),r=xn(r,i,n,o,t[4],4118548399,7),o=xn(o,r,i,n,t[5],1200080426,12),n=xn(n,o,r,i,t[6],2821735955,17),i=xn(i,n,o,r,t[7],4249261313,22),r=xn(r,i,n,o,t[8],1770035416,7),o=xn(o,r,i,n,t[9],2336552879,12),n=xn(n,o,r,i,t[10],4294925233,17),i=xn(i,n,o,r,t[11],2304563134,22),r=xn(r,i,n,o,t[12],1804603682,7),o=xn(o,r,i,n,t[13],4254626195,12),n=xn(n,o,r,i,t[14],2792965006,17),r=Bn(r,i=xn(i,n,o,r,t[15],1236535329,22),n,o,t[1],4129170786,5),o=Bn(o,r,i,n,t[6],3225465664,9),n=Bn(n,o,r,i,t[11],643717713,14),i=Bn(i,n,o,r,t[0],3921069994,20),r=Bn(r,i,n,o,t[5],3593408605,5),o=Bn(o,r,i,n,t[10],38016083,9),n=Bn(n,o,r,i,t[15],3634488961,14),i=Bn(i,n,o,r,t[4],3889429448,20),r=Bn(r,i,n,o,t[9],568446438,5),o=Bn(o,r,i,n,t[14],3275163606,9),n=Bn(n,o,r,i,t[3],4107603335,14),i=Bn(i,n,o,r,t[8],1163531501,20),r=Bn(r,i,n,o,t[13],2850285829,5),o=Bn(o,r,i,n,t[2],4243563512,9),n=Bn(n,o,r,i,t[7],1735328473,14),r=Rn(r,i=Bn(i,n,o,r,t[12],2368359562,20),n,o,t[5],4294588738,4),o=Rn(o,r,i,n,t[8],2272392833,11),n=Rn(n,o,r,i,t[11],1839030562,16),i=Rn(i,n,o,r,t[14],4259657740,23),r=Rn(r,i,n,o,t[1],2763975236,4),o=Rn(o,r,i,n,t[4],1272893353,11),n=Rn(n,o,r,i,t[7],4139469664,16),i=Rn(i,n,o,r,t[10],3200236656,23),r=Rn(r,i,n,o,t[13],681279174,4),o=Rn(o,r,i,n,t[0],3936430074,11),n=Rn(n,o,r,i,t[3],3572445317,16),i=Rn(i,n,o,r,t[6],76029189,23),r=Rn(r,i,n,o,t[9],3654602809,4),o=Rn(o,r,i,n,t[12],3873151461,11),n=Rn(n,o,r,i,t[15],530742520,16),r=Nn(r,i=Rn(i,n,o,r,t[2],3299628645,23),n,o,t[0],4096336452,6),o=Nn(o,r,i,n,t[7],1126891415,10),n=Nn(n,o,r,i,t[14],2878612391,15),i=Nn(i,n,o,r,t[5],4237533241,21),r=Nn(r,i,n,o,t[12],1700485571,6),o=Nn(o,r,i,n,t[3],2399980690,10),n=Nn(n,o,r,i,t[10],4293915773,15),i=Nn(i,n,o,r,t[1],2240044497,21),r=Nn(r,i,n,o,t[8],1873313359,6),o=Nn(o,r,i,n,t[15],4264355552,10),n=Nn(n,o,r,i,t[6],2734768916,15),i=Nn(i,n,o,r,t[13],1309151649,21),r=Nn(r,i,n,o,t[4],4149444226,6),o=Nn(o,r,i,n,t[11],3174756917,10),n=Nn(n,o,r,i,t[2],718787259,15),i=Nn(i,n,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},On.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=In.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t};var Un=On,Cn=Bt.Buffer,Ln=Pt.exports,Dn=En,jn=new Array(16),Hn=[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],qn=[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],Kn=[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],Fn=[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],zn=[0,1518500249,1859775393,2400959708,2840853838],Wn=[1352829926,1548603684,1836072691,2053994217,0];function Vn(){Dn.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function Zn(t,e){return t<<e|t>>>32-e}function Gn(t,e,r,i,n,o,s,h){return Zn(t+(e^r^i)+o+s|0,h)+n|0}function $n(t,e,r,i,n,o,s,h){return Zn(t+(e&r|~e&i)+o+s|0,h)+n|0}function Xn(t,e,r,i,n,o,s,h){return Zn(t+((e|~r)^i)+o+s|0,h)+n|0}function Yn(t,e,r,i,n,o,s,h){return Zn(t+(e&i|r&~i)+o+s|0,h)+n|0}function Jn(t,e,r,i,n,o,s,h){return Zn(t+(e^(r|~i))+o+s|0,h)+n|0}Ln(Vn,Dn),Vn.prototype._update=function(){for(var t=jn,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,h=0|this._a,a=0|this._b,u=0|this._c,f=0|this._d,l=0|this._e,c=0;c<80;c+=1){var d,p;c<16?(d=Gn(r,i,n,o,s,t[Hn[c]],zn[0],Kn[c]),p=Jn(h,a,u,f,l,t[qn[c]],Wn[0],Fn[c])):c<32?(d=$n(r,i,n,o,s,t[Hn[c]],zn[1],Kn[c]),p=Yn(h,a,u,f,l,t[qn[c]],Wn[1],Fn[c])):c<48?(d=Xn(r,i,n,o,s,t[Hn[c]],zn[2],Kn[c]),p=Xn(h,a,u,f,l,t[qn[c]],Wn[2],Fn[c])):c<64?(d=Yn(r,i,n,o,s,t[Hn[c]],zn[3],Kn[c]),p=$n(h,a,u,f,l,t[qn[c]],Wn[3],Fn[c])):(d=Jn(r,i,n,o,s,t[Hn[c]],zn[4],Kn[c]),p=Gn(h,a,u,f,l,t[qn[c]],Wn[4],Fn[c])),r=s,s=o,o=Zn(n,10),n=i,i=d,h=l,l=f,f=Zn(u,10),u=a,a=p}var m=this._b+n+f|0;this._b=this._c+o+l|0,this._c=this._d+s+h|0,this._d=this._e+r+a|0,this._e=this._a+i+u|0,this._a=m},Vn.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Cn.alloc?Cn.alloc(20):new Cn(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t};var Qn=Vn,to={exports:{}},eo=xt.exports.Buffer;function ro(t,e){this._block=eo.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}ro.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=eo.from(t,e));for(var r=this._block,i=this._blockSize,n=t.length,o=this._len,s=0;s<n;){for(var h=o%i,a=Math.min(n-s,i-h),u=0;u<a;u++)r[h+u]=t[s+u];s+=a,(o+=a)%i==0&&this._update(r)}return this._len+=n,this},ro.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},ro.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var io=ro,no=Pt.exports,oo=io,so=xt.exports.Buffer,ho=[1518500249,1859775393,-1894007588,-899497514],ao=new Array(80);function uo(){this.init(),this._w=ao,oo.call(this,64,56)}function fo(t){return t<<30|t>>>2}function lo(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}no(uo,oo),uo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},uo.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,h=0|this._e,a=0;a<16;++a)r[a]=t.readInt32BE(4*a);for(;a<80;++a)r[a]=r[a-3]^r[a-8]^r[a-14]^r[a-16];for(var u=0;u<80;++u){var f=~~(u/20),l=0|((e=i)<<5|e>>>27)+lo(f,n,o,s)+h+r[u]+ho[f];h=s,s=o,o=fo(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=h+this._e|0},uo.prototype._hash=function(){var t=so.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var co=uo,po=Pt.exports,mo=io,go=xt.exports.Buffer,yo=[1518500249,1859775393,-1894007588,-899497514],vo=new Array(80);function bo(){this.init(),this._w=vo,mo.call(this,64,56)}function wo(t){return t<<5|t>>>27}function Mo(t){return t<<30|t>>>2}function _o(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}po(bo,mo),bo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},bo.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,h=0|this._e,a=0;a<16;++a)r[a]=t.readInt32BE(4*a);for(;a<80;++a)r[a]=(e=r[a-3]^r[a-8]^r[a-14]^r[a-16])<<1|e>>>31;for(var u=0;u<80;++u){var f=~~(u/20),l=wo(i)+_o(f,n,o,s)+h+r[u]+yo[f]|0;h=s,s=o,o=Mo(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=h+this._e|0},bo.prototype._hash=function(){var t=go.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var So=bo,Eo=Pt.exports,ko=io,Ao=xt.exports.Buffer,Io=[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],To=new Array(64);function Oo(){this.init(),this._w=To,ko.call(this,64,56)}function Po(t,e,r){return r^t&(e^r)}function xo(t,e,r){return t&e|r&(t|e)}function Bo(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function Ro(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function No(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function Uo(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}Eo(Oo,ko),Oo.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Oo.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,h=0|this._f,a=0|this._g,u=0|this._h,f=0;f<16;++f)e[f]=t.readInt32BE(4*f);for(;f<64;++f)e[f]=Uo(e[f-2])+e[f-7]+No(e[f-15])+e[f-16]|0;for(var l=0;l<64;++l){var c=u+Ro(s)+Po(s,h,a)+Io[l]+e[l]|0,d=Bo(r)+xo(r,i,n)|0;u=a,a=h,h=s,s=o+c|0,o=n,n=i,i=r,r=c+d|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0,this._f=h+this._f|0,this._g=a+this._g|0,this._h=u+this._h|0},Oo.prototype._hash=function(){var t=Ao.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t};var Co=Oo,Lo=Pt.exports,Do=Co,jo=io,Ho=xt.exports.Buffer,qo=new Array(64);function Ko(){this.init(),this._w=qo,jo.call(this,64,56)}Lo(Ko,Do),Ko.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Ko.prototype._hash=function(){var t=Ho.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t};var Fo=Ko,zo=Pt.exports,Wo=io,Vo=xt.exports.Buffer,Zo=[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],Go=new Array(160);function $o(){this.init(),this._w=Go,Wo.call(this,128,112)}function Xo(t,e,r){return r^t&(e^r)}function Yo(t,e,r){return t&e|r&(t|e)}function Jo(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function Qo(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function ts(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function es(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function rs(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function is(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function ns(t,e){return t>>>0<e>>>0?1:0}zo($o,Wo),$o.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},$o.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,h=0|this._fh,a=0|this._gh,u=0|this._hh,f=0|this._al,l=0|this._bl,c=0|this._cl,d=0|this._dl,p=0|this._el,m=0|this._fl,g=0|this._gl,y=0|this._hl,v=0;v<32;v+=2)e[v]=t.readInt32BE(4*v),e[v+1]=t.readInt32BE(4*v+4);for(;v<160;v+=2){var b=e[v-30],w=e[v-30+1],M=ts(b,w),_=es(w,b),S=rs(b=e[v-4],w=e[v-4+1]),E=is(w,b),k=e[v-14],A=e[v-14+1],I=e[v-32],T=e[v-32+1],O=_+A|0,P=M+k+ns(O,_)|0;P=(P=P+S+ns(O=O+E|0,E)|0)+I+ns(O=O+T|0,T)|0,e[v]=P,e[v+1]=O}for(var x=0;x<160;x+=2){P=e[x],O=e[x+1];var B=Yo(r,i,n),R=Yo(f,l,c),N=Jo(r,f),U=Jo(f,r),C=Qo(s,p),L=Qo(p,s),D=Zo[x],j=Zo[x+1],H=Xo(s,h,a),q=Xo(p,m,g),K=y+L|0,F=u+C+ns(K,y)|0;F=(F=(F=F+H+ns(K=K+q|0,q)|0)+D+ns(K=K+j|0,j)|0)+P+ns(K=K+O|0,O)|0;var z=U+R|0,W=N+B+ns(z,U)|0;u=a,y=g,a=h,g=m,h=s,m=p,s=o+F+ns(p=d+K|0,d)|0,o=n,d=c,n=i,c=l,i=r,l=f,r=F+W+ns(f=K+z|0,K)|0}this._al=this._al+f|0,this._bl=this._bl+l|0,this._cl=this._cl+c|0,this._dl=this._dl+d|0,this._el=this._el+p|0,this._fl=this._fl+m|0,this._gl=this._gl+g|0,this._hl=this._hl+y|0,this._ah=this._ah+r+ns(this._al,f)|0,this._bh=this._bh+i+ns(this._bl,l)|0,this._ch=this._ch+n+ns(this._cl,c)|0,this._dh=this._dh+o+ns(this._dl,d)|0,this._eh=this._eh+s+ns(this._el,p)|0,this._fh=this._fh+h+ns(this._fl,m)|0,this._gh=this._gh+a+ns(this._gl,g)|0,this._hh=this._hh+u+ns(this._hl,y)|0},$o.prototype._hash=function(){var t=Vo.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t};var os=$o,ss=Pt.exports,hs=os,as=io,us=xt.exports.Buffer,fs=new Array(160);function ls(){this.init(),this._w=fs,as.call(this,128,112)}ss(ls,hs),ls.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},ls.prototype._hash=function(){var t=us.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t};var cs=ls,ds=to.exports=function(t){t=t.toLowerCase();var e=ds[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};ds.sha=co,ds.sha1=So,ds.sha224=Fo,ds.sha256=Co,ds.sha384=cs,ds.sha512=os;var ps=xt.exports.Buffer,ms=Ft.exports.Transform,gs=Je.StringDecoder;function ys(t){ms.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}(0,Pt.exports)(ys,ms),ys.prototype.update=function(t,e,r){"string"==typeof t&&(t=ps.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},ys.prototype.setAutoPadding=function(){},ys.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},ys.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},ys.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},ys.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},ys.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},ys.prototype._finalOrDigest=function(t){var e=this.__final()||ps.alloc(0);return t&&(e=this._toString(e,t,!0)),e},ys.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new gs(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i};var vs=ys,bs=Pt.exports,ws=Un,Ms=Qn,_s=to.exports,Ss=vs;function Es(t){Ss.call(this,"digest"),this._hash=t}bs(Es,Ss),Es.prototype._update=function(t){this._hash.update(t)},Es.prototype._final=function(){return this._hash.digest()};var ks=function(t){return"md5"===(t=t.toLowerCase())?new ws:"rmd160"===t||"ripemd160"===t?new Ms:new Es(_s(t))},As=Pt.exports,Is=xt.exports.Buffer,Ts=vs,Os=Is.alloc(128);function Ps(t,e){Ts.call(this,"digest"),"string"==typeof e&&(e=Is.from(e)),this._alg=t,this._key=e,e.length>64?e=t(e):e.length<64&&(e=Is.concat([e,Os],64));for(var r=this._ipad=Is.allocUnsafe(64),i=this._opad=Is.allocUnsafe(64),n=0;n<64;n++)r[n]=54^e[n],i[n]=92^e[n];this._hash=[r]}As(Ps,Ts),Ps.prototype._update=function(t){this._hash.push(t)},Ps.prototype._final=function(){var t=this._alg(Is.concat(this._hash));return this._alg(Is.concat([this._opad,t]))};var xs=Ps,Bs=Un,Rs=function(t){return(new Bs).update(t).digest()},Ns=Pt.exports,Us=xs,Cs=vs,Ls=xt.exports.Buffer,Ds=Rs,js=Qn,Hs=to.exports,qs=Ls.alloc(128);function Ks(t,e){Cs.call(this,"digest"),"string"==typeof e&&(e=Ls.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new js:Hs(t)).update(e).digest():e.length<r&&(e=Ls.concat([e,qs],r));for(var i=this._ipad=Ls.allocUnsafe(r),n=this._opad=Ls.allocUnsafe(r),o=0;o<r;o++)i[o]=54^e[o],n[o]=92^e[o];this._hash="rmd160"===t?new js:Hs(t),this._hash.update(i)}Ns(Ks,Cs),Ks.prototype._update=function(t){this._hash.update(t)},Ks.prototype._final=function(){var t=this._hash.digest();return("rmd160"===this._alg?new js:Hs(this._alg)).update(this._opad).update(t).digest()};var Fs=function(t,e){return"rmd160"===(t=t.toLowerCase())||"ripemd160"===t?new Ks("rmd160",e):"md5"===t?new Us(Ds,e):new Ks(t,e)};Object.defineProperty(Ot,"__esModule",{value:!0});const zs=ks,Ws=Fs;Ot.hash160=function(t){const e=zs("sha256").update(t).digest();try{return zs("rmd160").update(e).digest()}catch(t){return zs("ripemd160").update(e).digest()}},Ot.hmacSHA512=function(t,e){return Ws("sha512",t).update(e).digest()};var Vs=xt.exports.Buffer;var Zs=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var i=0;i<t.length;i++){var n=t.charAt(i),o=n.charCodeAt(0);if(255!==e[o])throw new TypeError(n+" is ambiguous");e[o]=i}var s=t.length,h=t.charAt(0),a=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return Vs.alloc(0);var r=0;if(" "!==t[r]){for(var i=0,n=0;t[r]===h;)i++,r++;for(var o=(t.length-r)*a+1>>>0,u=new Uint8Array(o);t[r];){var f=e[t.charCodeAt(r)];if(255===f)return;for(var l=0,c=o-1;(0!==f||l<n)&&-1!==c;c--,l++)f+=s*u[c]>>>0,u[c]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");n=l,r++}if(" "!==t[r]){for(var d=o-n;d!==o&&0===u[d];)d++;var p=Vs.allocUnsafe(i+(o-d));p.fill(0,0,i);for(var m=i;d!==o;)p[m++]=u[d++];return p}}}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=Vs.from(e)),!Vs.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,i=0,n=0,o=e.length;n!==o&&0===e[n];)n++,r++;for(var a=(o-n)*u+1>>>0,f=new Uint8Array(a);n!==o;){for(var l=e[n],c=0,d=a-1;(0!==l||c<i)&&-1!==d;d--,c++)l+=256*f[d]>>>0,f[d]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");i=c,n++}for(var p=a-i;p!==a&&0===f[p];)p++;for(var m=h.repeat(r);p<a;++p)m+=t.charAt(f[p]);return m},decodeUnsafe:f,decode:function(t){var e=f(t);if(e)return e;throw new Error("Non-base"+s+" character")}}}("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),Gs=xt.exports.Buffer,$s=ks;var Xs=function(t){function e(e){var r=e.slice(0,-4),i=e.slice(-4),n=t(r);if(!(i[0]^n[0]|i[1]^n[1]|i[2]^n[2]|i[3]^n[3]))return r}return{encode:function(e){var r=t(e);return Zs.encode(Gs.concat([e,r],e.length+4))},decode:function(t){var r=e(Zs.decode(t));if(!r)throw new Error("Invalid checksum");return r},decodeUnsafe:function(t){var r=Zs.decodeUnsafe(t);if(r)return e(r)}}}((function(t){var e=$s("sha256").update(t).digest();return $s("sha256").update(e).digest()})),Ys={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(Ys,A);var Js={},Qs="6.5.4",th={},eh={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(eh,A);var rh=ih;function ih(t,e){if(!t)throw new Error(e||"Assertion failed")}ih.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)};var nh={};let oh;!function(t){var e=nh;function r(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",i=0;i<t.length;i++)e+=r(t[i].toString(16));return e}e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var i=0;i<t.length;i++)r[i]=0|t[i];return r}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(i=0;i<t.length;i+=2)r.push(parseInt(t[i]+t[i+1],16))}else for(i=0;i<t.length;i++){var n=t.charCodeAt(i),o=n>>8,s=255&n;o?r.push(o,s):r.push(s)}return r},e.zero2=r,e.toHex=i,e.encode=function(t,e){return"hex"===e?i(t):t}}(),function(t){var e=th,r=eh.exports,i=rh,n=nh;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode,e.getNAF=function(t,e,r){var i=new Array(Math.max(t.bitLength(),r)+1);i.fill(0);for(var n=1<<e+1,o=t.clone(),s=0;s<i.length;s++){var h,a=o.andln(n-1);o.isOdd()?(h=a>(n>>1)-1?(n>>1)-a:a,o.isubn(h)):h=0,i[s]=h,o.iushrn(1)}return i},e.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var i,n=0,o=0;t.cmpn(-n)>0||e.cmpn(-o)>0;){var s,h,a=t.andln(3)+n&3,u=e.andln(3)+o&3;3===a&&(a=-1),3===u&&(u=-1),s=0==(1&a)?0:3!==(i=t.andln(7)+n&7)&&5!==i||2!==u?a:-a,r[0].push(s),h=0==(1&u)?0:3!==(i=e.andln(7)+o&7)&&5!==i||2!==a?u:-u,r[1].push(h),2*n===s+1&&(n=1-n),2*o===h+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},e.cachedProperty=function(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},e.parseBytes=function(t){return"string"==typeof t?e.toArray(t,"hex"):t},e.intFromLE=function(t){return new r(t,"hex","le")}}();class sh{constructor(t){this.rand=t}generate(t){return this._rand(t)}_rand(t){if(this.rand.getBytes)return this.rand.getBytes(t);const e=new Uint8Array(t);for(let t=0;t<e.length;t++)e[t]=this.rand.getByte();return e}}if("object"==typeof self)self.crypto&&self.crypto.getRandomValues?sh.prototype._rand=function(t){const e=new Uint8Array(t);return self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?sh.prototype._rand=function(t){const e=new Uint8Array(t);return self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(sh.prototype._rand=function(){throw new Error("Not implemented yet")});else try{const t=require("crypto");if("function"!=typeof t.randomBytes)throw new Error("Not supported");sh.prototype._rand=function(e){return t.randomBytes(e)}}catch(t){}var hh=I(Object.freeze({__proto__:null,rand:function(t){return oh||(oh=new sh(null)),oh.generate(t)},Rand:sh})),ah={},uh=eh.exports,fh=th,lh=fh.getNAF,ch=fh.getJSF,dh=fh.assert;function ph(t,e){this.type=t,this.p=new uh(e.p,16),this.red=e.prime?uh.red(e.prime):uh.mont(this.p),this.zero=new uh(0).toRed(this.red),this.one=new uh(1).toRed(this.red),this.two=new uh(2).toRed(this.red),this.n=e.n&&new uh(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.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 r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var mh=ph;function gh(t,e){this.curve=t,this.type=e,this.precomputed=null}ph.prototype.point=function(){throw new Error("Not implemented")},ph.prototype.validate=function(){throw new Error("Not implemented")},ph.prototype._fixedNafMul=function(t,e){dh(t.precomputed);var r=t._getDoubles(),i=lh(e,1,this._bitLength),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;var o,s,h=[];for(o=0;o<i.length;o+=r.step){s=0;for(var a=o+r.step-1;a>=o;a--)s=(s<<1)+i[a];h.push(s)}for(var u=this.jpoint(null,null,null),f=this.jpoint(null,null,null),l=n;l>0;l--){for(o=0;o<h.length;o++)(s=h[o])===l?f=f.mixedAdd(r.points[o]):s===-l&&(f=f.mixedAdd(r.points[o].neg()));u=u.add(f)}return u.toP()},ph.prototype._wnafMul=function(t,e){var r=4,i=t._getNAFPoints(r);r=i.wnd;for(var n=i.points,o=lh(e,r,this._bitLength),s=this.jpoint(null,null,null),h=o.length-1;h>=0;h--){for(var a=0;h>=0&&0===o[h];h--)a++;if(h>=0&&a++,s=s.dblp(a),h<0)break;var u=o[h];dh(0!==u),s="affine"===t.type?u>0?s.mixedAdd(n[u-1>>1]):s.mixedAdd(n[-u-1>>1].neg()):u>0?s.add(n[u-1>>1]):s.add(n[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},ph.prototype._wnafMulAdd=function(t,e,r,i,n){var o,s,h,a=this._wnafT1,u=this._wnafT2,f=this._wnafT3,l=0;for(o=0;o<i;o++){var c=(h=e[o])._getNAFPoints(t);a[o]=c.wnd,u[o]=c.points}for(o=i-1;o>=1;o-=2){var d=o-1,p=o;if(1===a[d]&&1===a[p]){var m=[e[d],null,null,e[p]];0===e[d].y.cmp(e[p].y)?(m[1]=e[d].add(e[p]),m[2]=e[d].toJ().mixedAdd(e[p].neg())):0===e[d].y.cmp(e[p].y.redNeg())?(m[1]=e[d].toJ().mixedAdd(e[p]),m[2]=e[d].add(e[p].neg())):(m[1]=e[d].toJ().mixedAdd(e[p]),m[2]=e[d].toJ().mixedAdd(e[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=ch(r[d],r[p]);for(l=Math.max(y[0].length,l),f[d]=new Array(l),f[p]=new Array(l),s=0;s<l;s++){var v=0|y[0][s],b=0|y[1][s];f[d][s]=g[3*(v+1)+(b+1)],f[p][s]=0,u[d]=m}}else f[d]=lh(r[d],a[d],this._bitLength),f[p]=lh(r[p],a[p],this._bitLength),l=Math.max(f[d].length,l),l=Math.max(f[p].length,l)}var w=this.jpoint(null,null,null),M=this._wnafT4;for(o=l;o>=0;o--){for(var _=0;o>=0;){var S=!0;for(s=0;s<i;s++)M[s]=0|f[s][o],0!==M[s]&&(S=!1);if(!S)break;_++,o--}if(o>=0&&_++,w=w.dblp(_),o<0)break;for(s=0;s<i;s++){var E=M[s];0!==E&&(E>0?h=u[s][E-1>>1]:E<0&&(h=u[s][-E-1>>1].neg()),w="affine"===h.type?w.mixedAdd(h):w.add(h))}}for(o=0;o<i;o++)u[o]=null;return n?w:w.toP()},ph.BasePoint=gh,gh.prototype.eq=function(){throw new Error("Not implemented")},gh.prototype.validate=function(){return this.curve.validate(this)},ph.prototype.decodePoint=function(t,e){t=fh.toArray(t,e);var r=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*r)return 6===t[0]?dh(t[t.length-1]%2==0):7===t[0]&&dh(t[t.length-1]%2==1),this.point(t.slice(1,1+r),t.slice(1+r,1+2*r));if((2===t[0]||3===t[0])&&t.length-1===r)return this.pointFromX(t.slice(1,1+r),3===t[0]);throw new Error("Unknown point format")},gh.prototype.encodeCompressed=function(t){return this.encode(t,!0)},gh.prototype._encode=function(t){var e=this.curve.p.byteLength(),r=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",e))},gh.prototype.encode=function(t,e){return fh.encode(this._encode(e),t)},gh.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},gh.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},gh.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<e;n+=t){for(var o=0;o<t;o++)i=i.dbl();r.push(i)}return{step:t,points:r}},gh.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],r=(1<<t)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)e[n]=e[n-1].add(i);return{wnd:t,points:e}},gh.prototype._getBeta=function(){return null},gh.prototype.dblp=function(t){for(var e=this,r=0;r<t;r++)e=e.dbl();return e};var yh=th,vh=eh.exports,bh=Pt.exports,wh=mh,Mh=yh.assert;function _h(t){wh.call(this,"short",t),this.a=new vh(t.a,16).toRed(this.red),this.b=new vh(t.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(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}bh(_h,wh);var Sh=_h;function Eh(t,e,r,i){wh.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new vh(e,16),this.y=new vh(r,16),i&&(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 kh(t,e,r,i){wh.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new vh(0)):(this.x=new vh(e,16),this.y=new vh(r,16),this.z=new vh(i,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}_h.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new vh(t.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=(e=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(t.lambda)r=new vh(t.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(e))?r=n[0]:(r=n[1],Mh(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new vh(t.a,16),b:new vh(t.b,16)}})):this._getEndoBasis(r)}}},_h.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:vh.mont(t),r=new vh(2).toRed(e).redInvm(),i=r.redNeg(),n=new vh(3).toRed(e).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},_h.prototype._getEndoBasis=function(t){for(var e,r,i,n,o,s,h,a,u,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=t,c=this.n.clone(),d=new vh(1),p=new vh(0),m=new vh(0),g=new vh(1),y=0;0!==l.cmpn(0);){var v=c.div(l);a=c.sub(v.mul(l)),u=m.sub(v.mul(d));var b=g.sub(v.mul(p));if(!i&&a.cmp(f)<0)e=h.neg(),r=d,i=a.neg(),n=u;else if(i&&2==++y)break;h=a,c=l,l=a,m=d,d=u,g=p,p=b}o=a.neg(),s=u;var w=i.sqr().add(n.sqr());return o.sqr().add(s.sqr()).cmp(w)>=0&&(o=e,s=r),i.negative&&(i=i.neg(),n=n.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:i,b:n},{a:o,b:s}]},_h.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=n.mul(r.a),h=o.mul(i.a),a=n.mul(r.b),u=o.mul(i.b);return{k1:t.sub(s).sub(h),k2:a.add(u).neg()}},_h.prototype.pointFromX=function(t,e){(t=new vh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var n=i.fromRed().isOdd();return(e&&!n||!e&&n)&&(i=i.redNeg()),this.point(t,i)},_h.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},_h.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o<t.length;o++){var s=this._endoSplit(e[o]),h=t[o],a=h._getBeta();s.k1.negative&&(s.k1.ineg(),h=h.neg(!0)),s.k2.negative&&(s.k2.ineg(),a=a.neg(!0)),i[2*o]=h,i[2*o+1]=a,n[2*o]=s.k1,n[2*o+1]=s.k2}for(var u=this._wnafMulAdd(1,i,n,2*o,r),f=0;f<2*o;f++)i[f]=null,n[f]=null;return u},bh(Eh,wh.BasePoint),_h.prototype.point=function(t,e,r){return new Eh(this,t,e,r)},_h.prototype.pointFromJSON=function(t,e){return Eh.fromJSON(this,t,e)},Eh.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var r=this.curve,i=function(t){return r.point(t.x.redMul(r.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(i)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(i)}}}return e}},Eh.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]},Eh.fromJSON=function(t,e,r){"string"==typeof e&&(e=JSON.parse(e));var i=t.point(e[0],e[1],r);if(!e[2])return i;function n(e){return t.point(e[0],e[1],r)}var o=e[2];return i.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[i].concat(o.doubles.points.map(n))},naf:o.naf&&{wnd:o.naf.wnd,points:[i].concat(o.naf.points.map(n))}},i},Eh.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)+">"},Eh.prototype.isInfinity=function(){return this.inf},Eh.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},Eh.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),s=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},Eh.prototype.getX=function(){return this.x.fromRed()},Eh.prototype.getY=function(){return this.y.fromRed()},Eh.prototype.mul=function(t){return t=new vh(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Eh.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},Eh.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},Eh.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},Eh.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},Eh.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},bh(kh,wh.BasePoint),_h.prototype.jpoint=function(t,e,r){return new kh(this,t,e,r)},kh.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},kh.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},kh.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),h=i.redSub(n),a=o.redSub(s);if(0===h.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=h.redSqr(),f=u.redMul(h),l=i.redMul(u),c=a.redSqr().redIAdd(f).redISub(l).redISub(l),d=a.redMul(l.redISub(c)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(h);return this.curve.jpoint(c,d,p)},kh.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(i),h=n.redSub(o);if(0===s.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var a=s.redSqr(),u=a.redMul(s),f=r.redMul(a),l=h.redSqr().redIAdd(u).redISub(f).redISub(f),c=h.redMul(f.redISub(l)).redISub(n.redMul(u)),d=this.z.redMul(s);return this.curve.jpoint(l,c,d)},kh.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e<t;e++)r=r.dbl();return r}var i=this.curve.a,n=this.curve.tinv,o=this.x,s=this.y,h=this.z,a=h.redSqr().redSqr(),u=s.redAdd(s);for(e=0;e<t;e++){var f=o.redSqr(),l=u.redSqr(),c=l.redSqr(),d=f.redAdd(f).redIAdd(f).redIAdd(i.redMul(a)),p=o.redMul(l),m=d.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=d.redMul(g);y=y.redIAdd(y).redISub(c);var v=u.redMul(h);e+1<t&&(a=a.redMul(c)),o=m,h=v,u=y}return this.curve.jpoint(o,u.redMul(n),h)},kh.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},kh.prototype._zeroDbl=function(){var t,e,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(o);s=s.redIAdd(s);var h=i.redAdd(i).redIAdd(i),a=h.redSqr().redISub(s).redISub(s),u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),t=a,e=h.redMul(s.redISub(a)).redISub(u),r=this.y.redAdd(this.y)}else{var f=this.x.redSqr(),l=this.y.redSqr(),c=l.redSqr(),d=this.x.redAdd(l).redSqr().redISub(f).redISub(c);d=d.redIAdd(d);var p=f.redAdd(f).redIAdd(f),m=p.redSqr(),g=c.redIAdd(c);g=(g=g.redIAdd(g)).redIAdd(g),t=m.redISub(d).redISub(d),e=p.redMul(d.redISub(t)).redISub(g),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(t,e,r)},kh.prototype._threeDbl=function(){var t,e,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(o);s=s.redIAdd(s);var h=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),a=h.redSqr().redISub(s).redISub(s);t=a;var u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),e=h.redMul(s.redISub(a)).redISub(u),r=this.y.redAdd(this.y)}else{var f=this.z.redSqr(),l=this.y.redSqr(),c=this.x.redMul(l),d=this.x.redSub(f).redMul(this.x.redAdd(f));d=d.redAdd(d).redIAdd(d);var p=c.redIAdd(c),m=(p=p.redIAdd(p)).redAdd(p);t=d.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(l).redISub(f);var g=l.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),e=d.redMul(p.redISub(t)).redISub(g)}return this.curve.jpoint(t,e,r)},kh.prototype._dbl=function(){var t=this.curve.a,e=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),o=e.redSqr(),s=r.redSqr(),h=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(n)),a=e.redAdd(e),u=(a=a.redIAdd(a)).redMul(s),f=h.redSqr().redISub(u.redAdd(u)),l=u.redISub(f),c=s.redSqr();c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var d=h.redMul(l).redISub(c),p=r.redAdd(r).redMul(i);return this.curve.jpoint(f,d,p)},kh.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr(),i=e.redSqr(),n=t.redAdd(t).redIAdd(t),o=n.redSqr(),s=this.x.redAdd(e).redSqr().redISub(t).redISub(i),h=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),a=i.redIAdd(i);a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var u=n.redIAdd(s).redSqr().redISub(o).redISub(h).redISub(a),f=e.redMul(u);f=(f=f.redIAdd(f)).redIAdd(f);var l=this.x.redMul(h).redISub(f);l=(l=l.redIAdd(l)).redIAdd(l);var c=this.y.redMul(u.redMul(a.redISub(u)).redISub(s.redMul(h)));c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var d=this.z.redAdd(s).redSqr().redISub(r).redISub(h);return this.curve.jpoint(l,c,d)},kh.prototype.mul=function(t,e){return t=new vh(t,e),this.curve._wnafMul(this,t)},kh.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),r=t.z.redSqr();if(0!==this.x.redMul(r).redISub(t.x.redMul(e)).cmpn(0))return!1;var i=e.redMul(this.z),n=r.redMul(t.z);return 0===this.y.redMul(n).redISub(t.y.redMul(i)).cmpn(0)},kh.prototype.eqXToP=function(t){var e=this.z.redSqr(),r=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(r))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(e);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},kh.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)+">"},kh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ah=eh.exports,Ih=Pt.exports,Th=mh,Oh=th;function Ph(t){Th.call(this,"mont",t),this.a=new Ah(t.a,16).toRed(this.red),this.b=new Ah(t.b,16).toRed(this.red),this.i4=new Ah(4).toRed(this.red).redInvm(),this.two=new Ah(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Ih(Ph,Th);var xh=Ph;function Bh(t,e,r){Th.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Ah(e,16),this.z=new Ah(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Ph.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===i.redSqrt().redSqr().cmp(i)},Ih(Bh,Th.BasePoint),Ph.prototype.decodePoint=function(t,e){return this.point(Oh.toArray(t,e),1)},Ph.prototype.point=function(t,e){return new Bh(this,t,e)},Ph.prototype.pointFromJSON=function(t){return Bh.fromJSON(this,t)},Bh.prototype.precompute=function(){},Bh.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Bh.fromJSON=function(t,e){return new Bh(t,e[0],e[1]||t.one)},Bh.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Bh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Bh.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),i=t.redMul(e),n=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},Bh.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Bh.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),s=n.redMul(i),h=e.z.redMul(o.redAdd(s).redSqr()),a=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(h,a)},Bh.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=[];0!==e.cmpn(0);e.iushrn(1))n.push(e.andln(1));for(var o=n.length-1;o>=0;o--)0===n[o]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},Bh.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Bh.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Bh.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},Bh.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Bh.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Rh=th,Nh=eh.exports,Uh=Pt.exports,Ch=mh,Lh=Rh.assert;function Dh(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,Ch.call(this,"edwards",t),this.a=new Nh(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Nh(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Nh(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Lh(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}Uh(Dh,Ch);var jh=Dh;function Hh(t,e,r,i,n){Ch.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Nh(e,16),this.y=new Nh(r,16),this.z=i?new Nh(i,16):this.curve.one,this.t=n&&new Nh(n,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.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Dh.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},Dh.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},Dh.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},Dh.prototype.pointFromX=function(t,e){(t=new Nh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(n.redInvm()),s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var h=s.fromRed().isOdd();return(e&&!h||!e&&h)&&(s=s.redNeg()),this.point(t,s)},Dh.prototype.pointFromY=function(t,e){(t=new Nh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(n.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},Dh.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},Uh(Hh,Ch.BasePoint),Dh.prototype.pointFromJSON=function(t){return Hh.fromJSON(this,t)},Dh.prototype.point=function(t,e,r,i){return new Hh(this,t,e,r,i)},Hh.fromJSON=function(t,e){return new Hh(t,e[0],e[1],e[2])},Hh.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)+" z: "+this.z.fromRed().toString(16,2)+">"},Hh.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Hh.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=i.redAdd(e),s=o.redSub(r),h=i.redSub(e),a=n.redMul(s),u=o.redMul(h),f=n.redMul(h),l=s.redMul(o);return this.curve.point(a,u,l,f)},Hh.prototype._projDbl=function(){var t,e,r,i,n,o,s=this.x.redAdd(this.y).redSqr(),h=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var u=(i=this.curve._mulA(h)).redAdd(a);this.zOne?(t=s.redSub(h).redSub(a).redMul(u.redSub(this.curve.two)),e=u.redMul(i.redSub(a)),r=u.redSqr().redSub(u).redSub(u)):(n=this.z.redSqr(),o=u.redSub(n).redISub(n),t=s.redSub(h).redISub(a).redMul(o),e=u.redMul(i.redSub(a)),r=u.redMul(o))}else i=h.redAdd(a),n=this.curve._mulC(this.z).redSqr(),o=i.redSub(n).redSub(n),t=this.curve._mulC(s.redISub(i)).redMul(o),e=this.curve._mulC(i).redMul(h.redISub(a)),r=i.redMul(o);return this.curve.point(t,e,r)},Hh.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Hh.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),s=n.redSub(i),h=n.redAdd(i),a=r.redAdd(e),u=o.redMul(s),f=h.redMul(a),l=o.redMul(a),c=s.redMul(h);return this.curve.point(u,f,c,l)},Hh.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),h=this.curve.d.redMul(o).redMul(s),a=n.redSub(h),u=n.redAdd(h),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=i.redMul(a).redMul(f);return this.curve.twisted?(e=i.redMul(u).redMul(s.redSub(this.curve._mulA(o))),r=a.redMul(u)):(e=i.redMul(u).redMul(s.redSub(o)),r=this.curve._mulC(a).redMul(u)),this.curve.point(l,e,r)},Hh.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Hh.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Hh.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},Hh.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},Hh.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Hh.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Hh.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Hh.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Hh.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Hh.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},Hh.prototype.toP=Hh.prototype.normalize,Hh.prototype.mixedAdd=Hh.prototype.add,function(t){var e=t;e.base=mh,e.short=Sh,e.mont=xh,e.edwards=jh}(ah);var qh={},Kh={},Fh={},zh=rh,Wh=Pt.exports;function Vh(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function Zh(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Gh(t){return 1===t.length?"0"+t:t}function $h(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}Fh.inherits=Wh,Fh.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(var i=0,n=0;n<t.length;n++){var o=t.charCodeAt(n);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=63&o|128):Vh(t,n)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n<t.length;n++)r[n]=0|t[n];return r},Fh.toHex=function(t){for(var e="",r=0;r<t.length;r++)e+=Gh(t[r].toString(16));return e},Fh.htonl=Zh,Fh.toHex32=function(t,e){for(var r="",i=0;i<t.length;i++){var n=t[i];"little"===e&&(n=Zh(n)),r+=$h(n.toString(16))}return r},Fh.zero2=Gh,Fh.zero8=$h,Fh.join32=function(t,e,r,i){var n=r-e;zh(n%4==0);for(var o=new Array(n/4),s=0,h=e;s<o.length;s++,h+=4){var a;a="big"===i?t[h]<<24|t[h+1]<<16|t[h+2]<<8|t[h+3]:t[h+3]<<24|t[h+2]<<16|t[h+1]<<8|t[h],o[s]=a>>>0}return o},Fh.split32=function(t,e){for(var r=new Array(4*t.length),i=0,n=0;i<t.length;i++,n+=4){var o=t[i];"big"===e?(r[n]=o>>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r},Fh.rotr32=function(t,e){return t>>>e|t<<32-e},Fh.rotl32=function(t,e){return t<<e|t>>>32-e},Fh.sum32=function(t,e){return t+e>>>0},Fh.sum32_3=function(t,e,r){return t+e+r>>>0},Fh.sum32_4=function(t,e,r,i){return t+e+r+i>>>0},Fh.sum32_5=function(t,e,r,i,n){return t+e+r+i+n>>>0},Fh.sum64=function(t,e,r,i){var n=t[e],o=i+t[e+1]>>>0,s=(o<i?1:0)+r+n;t[e]=s>>>0,t[e+1]=o},Fh.sum64_hi=function(t,e,r,i){return(e+i>>>0<e?1:0)+t+r>>>0},Fh.sum64_lo=function(t,e,r,i){return e+i>>>0},Fh.sum64_4_hi=function(t,e,r,i,n,o,s,h){var a=0,u=e;return a+=(u=u+i>>>0)<e?1:0,a+=(u=u+o>>>0)<o?1:0,t+r+n+s+(a+=(u=u+h>>>0)<h?1:0)>>>0},Fh.sum64_4_lo=function(t,e,r,i,n,o,s,h){return e+i+o+h>>>0},Fh.sum64_5_hi=function(t,e,r,i,n,o,s,h,a,u){var f=0,l=e;return f+=(l=l+i>>>0)<e?1:0,f+=(l=l+o>>>0)<o?1:0,f+=(l=l+h>>>0)<h?1:0,t+r+n+s+a+(f+=(l=l+u>>>0)<u?1:0)>>>0},Fh.sum64_5_lo=function(t,e,r,i,n,o,s,h,a,u){return e+i+o+h+u>>>0},Fh.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},Fh.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},Fh.shr64_hi=function(t,e,r){return t>>>r},Fh.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0};var Xh={},Yh=Fh,Jh=rh;function Qh(){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}Xh.BlockHash=Qh,Qh.prototype.update=function(t,e){if(t=Yh.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=Yh.join32(t,0,t.length-r,this.endian);for(var i=0;i<t.length;i+=this._delta32)this._update(t,i,i+this._delta32)}return this},Qh.prototype.digest=function(t){return this.update(this._pad()),Jh(null===this.pending),this._digest(t)},Qh.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,r=e-(t+this.padLength)%e,i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=t>>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o<this.padLength;o++)i[n++]=0;return i};var ta={},ea={},ra=Fh.rotr32;function ia(t,e,r){return t&e^~t&r}function na(t,e,r){return t&e^t&r^e&r}function oa(t,e,r){return t^e^r}ea.ft_1=function(t,e,r,i){return 0===t?ia(e,r,i):1===t||3===t?oa(e,r,i):2===t?na(e,r,i):void 0},ea.ch32=ia,ea.maj32=na,ea.p32=oa,ea.s0_256=function(t){return ra(t,2)^ra(t,13)^ra(t,22)},ea.s1_256=function(t){return ra(t,6)^ra(t,11)^ra(t,25)},ea.g0_256=function(t){return ra(t,7)^ra(t,18)^t>>>3},ea.g1_256=function(t){return ra(t,17)^ra(t,19)^t>>>10};var sa=Fh,ha=Xh,aa=ea,ua=sa.rotl32,fa=sa.sum32,la=sa.sum32_5,ca=aa.ft_1,da=ha.BlockHash,pa=[1518500249,1859775393,2400959708,3395469782];function ma(){if(!(this instanceof ma))return new ma;da.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}sa.inherits(ma,da);var ga=ma;ma.blockSize=512,ma.outSize=160,ma.hmacStrength=80,ma.padLength=64,ma.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i<r.length;i++)r[i]=ua(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],o=this.h[1],s=this.h[2],h=this.h[3],a=this.h[4];for(i=0;i<r.length;i++){var u=~~(i/20),f=la(ua(n,5),ca(u,o,s,h),a,r[i],pa[u]);a=h,h=s,s=ua(o,30),o=n,n=f}this.h[0]=fa(this.h[0],n),this.h[1]=fa(this.h[1],o),this.h[2]=fa(this.h[2],s),this.h[3]=fa(this.h[3],h),this.h[4]=fa(this.h[4],a)},ma.prototype._digest=function(t){return"hex"===t?sa.toHex32(this.h,"big"):sa.split32(this.h,"big")};var ya=Fh,va=Xh,ba=ea,wa=rh,Ma=ya.sum32,_a=ya.sum32_4,Sa=ya.sum32_5,Ea=ba.ch32,ka=ba.maj32,Aa=ba.s0_256,Ia=ba.s1_256,Ta=ba.g0_256,Oa=ba.g1_256,Pa=va.BlockHash,xa=[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 Ba(){if(!(this instanceof Ba))return new Ba;Pa.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=xa,this.W=new Array(64)}ya.inherits(Ba,Pa);var Ra=Ba;Ba.blockSize=512,Ba.outSize=256,Ba.hmacStrength=192,Ba.padLength=64,Ba.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i<r.length;i++)r[i]=_a(Oa(r[i-2]),r[i-7],Ta(r[i-15]),r[i-16]);var n=this.h[0],o=this.h[1],s=this.h[2],h=this.h[3],a=this.h[4],u=this.h[5],f=this.h[6],l=this.h[7];for(wa(this.k.length===r.length),i=0;i<r.length;i++){var c=Sa(l,Ia(a),Ea(a,u,f),this.k[i],r[i]),d=Ma(Aa(n),ka(n,o,s));l=f,f=u,u=a,a=Ma(h,c),h=s,s=o,o=n,n=Ma(c,d)}this.h[0]=Ma(this.h[0],n),this.h[1]=Ma(this.h[1],o),this.h[2]=Ma(this.h[2],s),this.h[3]=Ma(this.h[3],h),this.h[4]=Ma(this.h[4],a),this.h[5]=Ma(this.h[5],u),this.h[6]=Ma(this.h[6],f),this.h[7]=Ma(this.h[7],l)},Ba.prototype._digest=function(t){return"hex"===t?ya.toHex32(this.h,"big"):ya.split32(this.h,"big")};var Na=Fh,Ua=Ra;function Ca(){if(!(this instanceof Ca))return new Ca;Ua.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Na.inherits(Ca,Ua);var La=Ca;Ca.blockSize=512,Ca.outSize=224,Ca.hmacStrength=192,Ca.padLength=64,Ca.prototype._digest=function(t){return"hex"===t?Na.toHex32(this.h.slice(0,7),"big"):Na.split32(this.h.slice(0,7),"big")};var Da=Fh,ja=Xh,Ha=rh,qa=Da.rotr64_hi,Ka=Da.rotr64_lo,Fa=Da.shr64_hi,za=Da.shr64_lo,Wa=Da.sum64,Va=Da.sum64_hi,Za=Da.sum64_lo,Ga=Da.sum64_4_hi,$a=Da.sum64_4_lo,Xa=Da.sum64_5_hi,Ya=Da.sum64_5_lo,Ja=ja.BlockHash,Qa=[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 tu(){if(!(this instanceof tu))return new tu;Ja.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Qa,this.W=new Array(160)}Da.inherits(tu,Ja);var eu=tu;function ru(t,e,r,i,n){var o=t&r^~t&n;return o<0&&(o+=4294967296),o}function iu(t,e,r,i,n,o){var s=e&i^~e&o;return s<0&&(s+=4294967296),s}function nu(t,e,r,i,n){var o=t&r^t&n^r&n;return o<0&&(o+=4294967296),o}function ou(t,e,r,i,n,o){var s=e&i^e&o^i&o;return s<0&&(s+=4294967296),s}function su(t,e){var r=qa(t,e,28)^qa(e,t,2)^qa(e,t,7);return r<0&&(r+=4294967296),r}function hu(t,e){var r=Ka(t,e,28)^Ka(e,t,2)^Ka(e,t,7);return r<0&&(r+=4294967296),r}function au(t,e){var r=qa(t,e,14)^qa(t,e,18)^qa(e,t,9);return r<0&&(r+=4294967296),r}function uu(t,e){var r=Ka(t,e,14)^Ka(t,e,18)^Ka(e,t,9);return r<0&&(r+=4294967296),r}function fu(t,e){var r=qa(t,e,1)^qa(t,e,8)^Fa(t,e,7);return r<0&&(r+=4294967296),r}function lu(t,e){var r=Ka(t,e,1)^Ka(t,e,8)^za(t,e,7);return r<0&&(r+=4294967296),r}function cu(t,e){var r=qa(t,e,19)^qa(e,t,29)^Fa(t,e,6);return r<0&&(r+=4294967296),r}function du(t,e){var r=Ka(t,e,19)^Ka(e,t,29)^za(t,e,6);return r<0&&(r+=4294967296),r}tu.blockSize=1024,tu.outSize=512,tu.hmacStrength=192,tu.padLength=128,tu.prototype._prepareBlock=function(t,e){for(var r=this.W,i=0;i<32;i++)r[i]=t[e+i];for(;i<r.length;i+=2){var n=cu(r[i-4],r[i-3]),o=du(r[i-4],r[i-3]),s=r[i-14],h=r[i-13],a=fu(r[i-30],r[i-29]),u=lu(r[i-30],r[i-29]),f=r[i-32],l=r[i-31];r[i]=Ga(n,o,s,h,a,u,f,l),r[i+1]=$a(n,o,s,h,a,u,f,l)}},tu.prototype._update=function(t,e){this._prepareBlock(t,e);var r=this.W,i=this.h[0],n=this.h[1],o=this.h[2],s=this.h[3],h=this.h[4],a=this.h[5],u=this.h[6],f=this.h[7],l=this.h[8],c=this.h[9],d=this.h[10],p=this.h[11],m=this.h[12],g=this.h[13],y=this.h[14],v=this.h[15];Ha(this.k.length===r.length);for(var b=0;b<r.length;b+=2){var w=y,M=v,_=au(l,c),S=uu(l,c),E=ru(l,c,d,p,m),k=iu(l,c,d,p,m,g),A=this.k[b],I=this.k[b+1],T=r[b],O=r[b+1],P=Xa(w,M,_,S,E,k,A,I,T,O),x=Ya(w,M,_,S,E,k,A,I,T,O);w=su(i,n),M=hu(i,n),_=nu(i,n,o,s,h),S=ou(i,n,o,s,h,a);var B=Va(w,M,_,S),R=Za(w,M,_,S);y=m,v=g,m=d,g=p,d=l,p=c,l=Va(u,f,P,x),c=Za(f,f,P,x),u=h,f=a,h=o,a=s,o=i,s=n,i=Va(P,x,B,R),n=Za(P,x,B,R)}Wa(this.h,0,i,n),Wa(this.h,2,o,s),Wa(this.h,4,h,a),Wa(this.h,6,u,f),Wa(this.h,8,l,c),Wa(this.h,10,d,p),Wa(this.h,12,m,g),Wa(this.h,14,y,v)},tu.prototype._digest=function(t){return"hex"===t?Da.toHex32(this.h,"big"):Da.split32(this.h,"big")};var pu=Fh,mu=eu;function gu(){if(!(this instanceof gu))return new gu;mu.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}pu.inherits(gu,mu);var yu=gu;gu.blockSize=1024,gu.outSize=384,gu.hmacStrength=192,gu.padLength=128,gu.prototype._digest=function(t){return"hex"===t?pu.toHex32(this.h.slice(0,12),"big"):pu.split32(this.h.slice(0,12),"big")},ta.sha1=ga,ta.sha224=La,ta.sha256=Ra,ta.sha384=yu,ta.sha512=eu;var vu={},bu=Fh,wu=Xh,Mu=bu.rotl32,_u=bu.sum32,Su=bu.sum32_3,Eu=bu.sum32_4,ku=wu.BlockHash;function Au(){if(!(this instanceof Au))return new Au;ku.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function Iu(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function Tu(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function Ou(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}bu.inherits(Au,ku),vu.ripemd160=Au,Au.blockSize=512,Au.outSize=160,Au.hmacStrength=192,Au.padLength=64,Au.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],o=this.h[3],s=this.h[4],h=r,a=i,u=n,f=o,l=s,c=0;c<80;c++){var d=_u(Mu(Eu(r,Iu(c,i,n,o),t[Pu[c]+e],Tu(c)),Bu[c]),s);r=s,s=o,o=Mu(n,10),n=i,i=d,d=_u(Mu(Eu(h,Iu(79-c,a,u,f),t[xu[c]+e],Ou(c)),Ru[c]),l),h=l,l=f,f=Mu(u,10),u=a,a=d}d=Su(this.h[1],n,f),this.h[1]=Su(this.h[2],o,l),this.h[2]=Su(this.h[3],s,h),this.h[3]=Su(this.h[4],r,a),this.h[4]=Su(this.h[0],i,u),this.h[0]=d},Au.prototype._digest=function(t){return"hex"===t?bu.toHex32(this.h,"little"):bu.split32(this.h,"little")};var Pu=[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],xu=[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],Bu=[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],Ru=[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],Nu=Fh,Uu=rh;function Cu(t,e,r){if(!(this instanceof Cu))return new Cu(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(Nu.toArray(e,r))}var Lu=Cu;Cu.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),Uu(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},Cu.prototype.update=function(t,e){return this.inner.update(t,e),this},Cu.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)},function(t){var e=Kh;e.utils=Fh,e.common=Xh,e.sha=ta,e.ripemd=vu,e.hmac=Lu,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}();var Du={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}};!function(t){var e,r=qh,i=Kh,n=ah,o=th.assert;function s(t){"short"===t.type?this.curve=new n.short(t):"edwards"===t.type?this.curve=new n.edwards(t):this.curve=new n.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function h(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new s(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=s,h("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:i.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),h("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:i.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),h("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:i.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),h("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:i.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"]}),h("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:i.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"]}),h("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["9"]}),h("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:i.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{e=Du}catch(t){e=void 0}h("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:i.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",e]})}();var ju=Kh,Hu=nh,qu=rh;function Ku(t){if(!(this instanceof Ku))return new Ku(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Hu.toArray(t.entropy,t.entropyEnc||"hex"),r=Hu.toArray(t.nonce,t.nonceEnc||"hex"),i=Hu.toArray(t.pers,t.persEnc||"hex");qu(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Fu=Ku;Ku.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},Ku.prototype._hmac=function(){return new ju.hmac(this.hash,this.K)},Ku.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},Ku.prototype.reseed=function(t,e,r,i){"string"!=typeof e&&(i=r,r=e,e=null),t=Hu.toArray(t,e),r=Hu.toArray(r,i),qu(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},Ku.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(i=r,r=e,e=null),r&&(r=Hu.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length<t;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var o=n.slice(0,t);return this._update(r),this._reseed++,Hu.encode(o,e)};var zu=eh.exports,Wu=th.assert;function Vu(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Zu=Vu;Vu.fromPublic=function(t,e,r){return e instanceof Vu?e:new Vu(t,{pub:e,pubEnc:r})},Vu.fromPrivate=function(t,e,r){return e instanceof Vu?e:new Vu(t,{priv:e,privEnc:r})},Vu.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.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"}},Vu.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},Vu.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},Vu.prototype._importPrivate=function(t,e){this.priv=new zu(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},Vu.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?Wu(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Wu(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},Vu.prototype.derive=function(t){return t.validate()||Wu(t.validate(),"public point not validated"),t.mul(this.priv).getX()},Vu.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},Vu.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},Vu.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Gu=eh.exports,$u=th,Xu=$u.assert;function Yu(t,e){if(t instanceof Yu)return t;this._importDER(t,e)||(Xu(t.r&&t.s,"Signature without r or s"),this.r=new Gu(t.r,16),this.s=new Gu(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Ju=Yu;function Qu(){this.place=0}function tf(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,o=0,s=e.place;o<i;o++,s++)n<<=8,n|=t[s],n>>>=0;return!(n<=127)&&(e.place=s,n)}function ef(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e<r;)e++;return 0===e?t:t.slice(e)}function rf(t,e){if(e<128)t.push(e);else{var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}Yu.prototype._importDER=function(t,e){t=$u.toArray(t,e);var r=new Qu;if(48!==t[r.place++])return!1;var i=tf(t,r);if(!1===i)return!1;if(i+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=tf(t,r);if(!1===n)return!1;var o=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var s=tf(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var h=t.slice(r.place,s+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new Gu(o),this.s=new Gu(h),this.recoveryParam=null,!0},Yu.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=ef(e),r=ef(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];rf(i,e.length),(i=i.concat(e)).push(2),rf(i,r.length);var n=i.concat(r),o=[48];return rf(o,n.length),o=o.concat(n),$u.encode(o,t)};var nf=eh.exports,of=Fu,sf=qh,hf=hh,af=th.assert,uf=Zu,ff=Ju;function lf(t){if(!(this instanceof lf))return new lf(t);"string"==typeof t&&(af(Object.prototype.hasOwnProperty.call(sf,t),"Unknown curve "+t),t=sf[t]),t instanceof sf.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var cf=lf;lf.prototype.keyPair=function(t){return new uf(this,t)},lf.prototype.keyFromPrivate=function(t,e){return uf.fromPrivate(this,t,e)},lf.prototype.keyFromPublic=function(t,e){return uf.fromPublic(this,t,e)},lf.prototype.genKeyPair=function(t){t||(t={});for(var e=new of({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||hf(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new nf(2));;){var n=new nf(e.generate(r));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},lf.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},lf.prototype.sign=function(t,e,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new nf(t,16));for(var n=this.n.byteLength(),o=e.getPrivate().toArray("be",n),s=t.toArray("be",n),h=new of({hash:this.hash,entropy:o,nonce:s,pers:i.pers,persEnc:i.persEnc||"utf8"}),a=this.n.sub(new nf(1)),u=0;;u++){var f=i.k?i.k(u):new nf(h.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(a)>=0)){var l=this.g.mul(f);if(!l.isInfinity()){var c=l.getX(),d=c.umod(this.n);if(0!==d.cmpn(0)){var p=f.invm(this.n).mul(d.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(l.getY().isOdd()?1:0)|(0!==c.cmp(d)?2:0);return i.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new ff({r:d,s:p,recoveryParam:m})}}}}}},lf.prototype.verify=function(t,e,r,i){t=this._truncateToN(new nf(t,16)),r=this.keyFromPublic(r,i);var n=(e=new ff(e,"hex")).r,o=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,h=o.invm(this.n),a=h.mul(t).umod(this.n),u=h.mul(n).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(a,r.getPublic(),u)).isInfinity()&&s.eqXToP(n):!(s=this.g.mulAdd(a,r.getPublic(),u)).isInfinity()&&0===s.getX().umod(this.n).cmp(n)},lf.prototype.recoverPubKey=function(t,e,r,i){af((3&r)===r,"The recovery param is more than two bits"),e=new ff(e,i);var n=this.n,o=new nf(t),s=e.r,h=e.s,a=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),a):this.curve.pointFromX(s,a);var f=e.r.invm(n),l=n.sub(o).mul(f).umod(n),c=h.mul(f).umod(n);return this.g.mulAdd(l,s,c)},lf.prototype.getKeyRecoveryParam=function(t,e,r,i){if(null!==(e=new ff(e,i)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(t,e,n)}catch(t){continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var df=th,pf=df.assert,mf=df.parseBytes,gf=df.cachedProperty;function yf(t,e){this.eddsa=t,this._secret=mf(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=mf(e.pub)}yf.fromPublic=function(t,e){return e instanceof yf?e:new yf(t,{pub:e})},yf.fromSecret=function(t,e){return e instanceof yf?e:new yf(t,{secret:e})},yf.prototype.secret=function(){return this._secret},gf(yf,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),gf(yf,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),gf(yf,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),gf(yf,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),gf(yf,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),gf(yf,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),yf.prototype.sign=function(t){return pf(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},yf.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},yf.prototype.getSecret=function(t){return pf(this._secret,"KeyPair is public only"),df.encode(this.secret(),t)},yf.prototype.getPublic=function(t){return df.encode(this.pubBytes(),t)};var vf=yf,bf=eh.exports,wf=th,Mf=wf.assert,_f=wf.cachedProperty,Sf=wf.parseBytes;function Ef(t,e){this.eddsa=t,"object"!=typeof e&&(e=Sf(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),Mf(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof bf&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}_f(Ef,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),_f(Ef,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),_f(Ef,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),_f(Ef,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),Ef.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Ef.prototype.toHex=function(){return wf.encode(this.toBytes(),"hex").toUpperCase()};var kf=Ef,Af=Kh,If=qh,Tf=th,Of=Tf.assert,Pf=Tf.parseBytes,xf=vf,Bf=kf;function Rf(t){if(Of("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof Rf))return new Rf(t);t=If[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=Af.sha512}var Nf=Rf;Rf.prototype.sign=function(t,e){t=Pf(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),o=this.encodePoint(n),s=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),h=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:o})},Rf.prototype.verify=function(t,e,r){t=Pf(t),e=this.makeSignature(e);var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(i.pub().mul(n)).eq(o)},Rf.prototype.hashInt=function(){for(var t=this.hash(),e=0;e<arguments.length;e++)t.update(arguments[e]);return Tf.intFromLE(t.digest()).umod(this.curve.n)},Rf.prototype.keyFromPublic=function(t){return xf.fromPublic(this,t)},Rf.prototype.keyFromSecret=function(t){return xf.fromSecret(this,t)},Rf.prototype.makeSignature=function(t){return t instanceof Bf?t:new Bf(this,t)},Rf.prototype.encodePoint=function(t){var e=t.getY().toArray("le",this.encodingLength);return e[this.encodingLength-1]|=t.getX().isOdd()?128:0,e},Rf.prototype.decodePoint=function(t){var e=(t=Tf.parseBytes(t)).length-1,r=t.slice(0,e).concat(-129&t[e]),i=0!=(128&t[e]),n=Tf.intFromLE(r);return this.curve.pointFromY(n,i)},Rf.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)},Rf.prototype.decodeInt=function(t){return Tf.intFromLE(t)},Rf.prototype.isPoint=function(t){return t instanceof this.pointClass},function(t){var e=Js;e.version=Qs,e.utils=th,e.rand=hh,e.curve=ah,e.curves=qh,e.ec=cf,e.eddsa=Nf}();const Uf=Fs,Cf=z.alloc(1,1),Lf=z.alloc(1,0);var Df=function(t,e,r,i,n){let o=z.alloc(32,0),s=z.alloc(32,1);o=Uf("sha256",o).update(s).update(Lf).update(e).update(t).update(n||"").digest(),s=Uf("sha256",o).update(s).digest(),o=Uf("sha256",o).update(s).update(Cf).update(e).update(t).update(n||"").digest(),s=Uf("sha256",o).update(s).digest(),s=Uf("sha256",o).update(s).digest();let h=s;for(;!i(h)||!r(h);)o=Uf("sha256",o).update(s).update(Lf).digest(),s=Uf("sha256",o).update(s).digest(),s=Uf("sha256",o).update(s).digest(),h=s;return h};const jf=Ys.exports,Hf=new(0,Js.ec)("secp256k1"),qf=Df,Kf=z.alloc(32,0),Ff=z.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),zf=z.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex"),Wf=Hf.curve.n,Vf=Wf.shrn(1),Zf=Hf.curve.g;function Gf(t){return At(t)&&32===t.length}function $f(t){return!!Gf(t)&&t.compare(Ff)<0}function Xf(t){if(!At(t))return!1;if(t.length<33)return!1;const e=t[0],r=t.slice(1,33);if(0===r.compare(Kf))return!1;if(r.compare(zf)>=0)return!1;if((2===e||3===e)&&33===t.length){try{rl(t)}catch(t){return!1}return!0}const i=t.slice(33);return 0!==i.compare(Kf)&&(!(i.compare(zf)>=0)&&(4===e&&65===t.length))}function Yf(t){return 4!==t[0]}function Jf(t){return!!Gf(t)&&(t.compare(Kf)>0&&t.compare(Ff)<0)}function Qf(t,e){return void 0===t&&void 0!==e?Yf(e):void 0===t||t}function tl(t){return new jf(t)}function el(t){return t.toArrayLike(z,"be",32)}function rl(t){return Hf.curve.decodePoint(t)}function il(t,e){return z.from(t._encode(e))}function nl(t,e,r){if(!Gf(t))throw new TypeError("Expected Hash");if(!Jf(e))throw new TypeError("Expected Private");if(void 0!==r&&!Gf(r))throw new TypeError("Expected Extra Data (32 bytes)");const i=tl(e),n=tl(t);let o,s;qf(t,e,(function(t){const e=tl(t),r=Zf.mul(e);return!r.isInfinity()&&(o=r.x.umod(Wf),0!==o.isZero()&&(s=e.invm(Wf).mul(n.add(i.mul(o))).umod(Wf),0!==s.isZero()))}),Jf,r),s.cmp(Vf)>0&&(s=Wf.sub(s));const h=z.allocUnsafe(64);return el(o).copy(h,0),el(s).copy(h,32),h}var ol={isPoint:Xf,isPointCompressed:function(t){return!!Xf(t)&&Yf(t)},isPrivate:Jf,pointAdd:function(t,e,r){if(!Xf(t))throw new TypeError("Expected Point");if(!Xf(e))throw new TypeError("Expected Point");const i=rl(t),n=rl(e),o=i.add(n);return o.isInfinity()?null:il(o,Qf(r,t))},pointAddScalar:function(t,e,r){if(!Xf(t))throw new TypeError("Expected Point");if(!$f(e))throw new TypeError("Expected Tweak");const i=Qf(r,t),n=rl(t);if(0===e.compare(Kf))return il(n,i);const o=tl(e),s=Zf.mul(o),h=n.add(s);return h.isInfinity()?null:il(h,i)},pointCompress:function(t,e){if(!Xf(t))throw new TypeError("Expected Point");const r=rl(t);if(r.isInfinity())throw new TypeError("Expected Point");return il(r,Qf(e,t))},pointFromScalar:function(t,e){if(!Jf(t))throw new TypeError("Expected Private");const r=tl(t),i=Zf.mul(r);return i.isInfinity()?null:il(i,Qf(e))},pointMultiply:function(t,e,r){if(!Xf(t))throw new TypeError("Expected Point");if(!$f(e))throw new TypeError("Expected Tweak");const i=Qf(r,t),n=rl(t),o=tl(e),s=n.mul(o);return s.isInfinity()?null:il(s,i)},privateAdd:function(t,e){if(!Jf(t))throw new TypeError("Expected Private");if(!$f(e))throw new TypeError("Expected Tweak");const r=tl(t),i=tl(e),n=el(r.add(i).umod(Wf));return Jf(n)?n:null},privateSub:function(t,e){if(!Jf(t))throw new TypeError("Expected Private");if(!$f(e))throw new TypeError("Expected Tweak");const r=tl(t),i=tl(e),n=el(r.sub(i).umod(Wf));return Jf(n)?n:null},sign:function(t,e){return nl(t,e)},signWithEntropy:function(t,e,r){return nl(t,e,r)},verify:function(t,e,r,i){if(!Gf(t))throw new TypeError("Expected Hash");if(!Xf(e))throw new TypeError("Expected Point");if(!function(t){const e=t.slice(0,32),r=t.slice(32,64);return At(t)&&64===t.length&&e.compare(Ff)<0&&r.compare(Ff)<0}(r))throw new TypeError("Expected Signature");const n=rl(e),o=tl(r.slice(0,32)),s=tl(r.slice(32,64));if(i&&s.cmp(Vf)>0)return!1;if(o.gtn(0)<=0)return!1;if(s.gtn(0)<=0)return!1;const h=tl(t),a=s.invm(Wf),u=h.mul(a).umod(Wf),f=o.mul(a).umod(Wf),l=Zf.mulAdd(u,n,f);return!l.isInfinity()&&l.x.umod(Wf).eq(o)}},sl={Array:function(t){return null!=t&&t.constructor===Array},Boolean:function(t){return"boolean"==typeof t},Function:function(t){return"function"==typeof t},Nil:function(t){return null==t},Number:function(t){return"number"==typeof t},Object:function(t){return"object"==typeof t},String:function(t){return"string"==typeof t},"":function(){return!0}};for(var hl in sl.Null=sl.Nil,sl)sl[hl].toJSON=function(t){return t}.bind(null,hl);var al=sl,ul=al;function fl(t){return t.name||t.toString().match(/function (.*?)\s*\(/)[1]}function ll(t){return ul.Nil(t)?"":fl(t.constructor)}function cl(t,e){Error.captureStackTrace&&Error.captureStackTrace(t,e)}function dl(t){return ul.Function(t)?t.toJSON?t.toJSON():fl(t):ul.Array(t)?"Array":t&&ul.Object(t)?"Object":void 0!==t?t:""}function pl(t,e,r){var i=function(t){return ul.Function(t)?"":ul.String(t)?JSON.stringify(t):t&&ul.Object(t)?"":t}(e);return"Expected "+dl(t)+", got"+(""!==r?" "+r:"")+(""!==i?" "+i:"")}function ml(t,e,r){r=r||ll(e),this.message=pl(t,e,r),cl(this,ml),this.__type=t,this.__value=e,this.__valueTypeName=r}function gl(t,e,r,i,n){t?(n=n||ll(i),this.message=function(t,e,r,i,n){var o='" of type ';return"key"===e&&(o='" with key type '),pl('property "'+dl(r)+o+dl(t),i,n)}(t,r,e,i,n)):this.message='Unexpected property "'+e+'"',cl(this,ml),this.__label=r,this.__property=e,this.__type=t,this.__value=i,this.__valueTypeName=n}ml.prototype=Object.create(Error.prototype),ml.prototype.constructor=ml,gl.prototype=Object.create(Error.prototype),gl.prototype.constructor=ml;var yl={TfTypeError:ml,TfPropertyTypeError:gl,tfCustomError:function(t,e){return new ml(t,{},e)},tfSubError:function(t,e,r){return t instanceof gl?(e=e+"."+t.__property,t=new gl(t.__type,e,t.__label,t.__value,t.__valueTypeName)):t instanceof ml&&(t=new gl(t.__type,e,r,t.__value,t.__valueTypeName)),cl(t),t},tfJSON:dl,getValueTypeName:ll},vl=al,bl=yl;function wl(t){return At(t)}function Ml(t){return"string"==typeof t&&/^([0-9a-f]{2})+$/i.test(t)}function _l(t,e){var r=t.toJSON();function i(i){if(!t(i))return!1;if(i.length===e)return!0;throw bl.tfCustomError(r+"(Length: "+e+")",r+"(Length: "+i.length+")")}return i.toJSON=function(){return r},i}var Sl=_l.bind(null,vl.Array),El=_l.bind(null,wl),kl=_l.bind(null,Ml),Al=_l.bind(null,vl.String);var Il=Math.pow(2,53)-1;var Tl={ArrayN:Sl,Buffer:wl,BufferN:El,Finite:function(t){return"number"==typeof t&&isFinite(t)},Hex:Ml,HexN:kl,Int8:function(t){return t<<24>>24===t},Int16:function(t){return t<<16>>16===t},Int32:function(t){return(0|t)===t},Int53:function(t){return"number"==typeof t&&t>=-Il&&t<=Il&&Math.floor(t)===t},Range:function(t,e,r){function i(i,n){return r(i,n)&&i>t&&i<e}return r=r||vl.Number,i.toJSON=function(){return`${r.toJSON()} between [${t}, ${e}]`},i},StringN:Al,UInt8:function(t){return(255&t)===t},UInt16:function(t){return(65535&t)===t},UInt32:function(t){return t>>>0===t},UInt53:function(t){return"number"==typeof t&&t>=0&&t<=Il&&Math.floor(t)===t}};for(var Ol in Tl)Tl[Ol].toJSON=function(t){return t}.bind(null,Ol);var Pl=Tl,xl=al,Bl=yl.tfJSON,Rl=yl.TfTypeError,Nl=yl.TfPropertyTypeError,Ul=yl.tfSubError,Cl=yl.getValueTypeName,Ll={arrayOf:function(t,e){function r(r,i){return!!xl.Array(r)&&(!xl.Nil(r)&&(!(void 0!==e.minLength&&r.length<e.minLength)&&(!(void 0!==e.maxLength&&r.length>e.maxLength)&&((void 0===e.length||r.length===e.length)&&r.every((function(e,r){try{return jl(t,e,i)}catch(t){throw Ul(t,r)}}))))))}return t=Dl(t),e=e||{},r.toJSON=function(){var r="["+Bl(t)+"]";return void 0!==e.length?r+="{"+e.length+"}":void 0===e.minLength&&void 0===e.maxLength||(r+="{"+(void 0===e.minLength?0:e.minLength)+","+(void 0===e.maxLength?1/0:e.maxLength)+"}"),r},r},maybe:function t(e){function r(r,i){return xl.Nil(r)||e(r,i,t)}return e=Dl(e),r.toJSON=function(){return"?"+Bl(e)},r},map:function(t,e){function r(r,i){if(!xl.Object(r))return!1;if(xl.Nil(r))return!1;for(var n in r){try{e&&jl(e,n,i)}catch(t){throw Ul(t,n,"key")}try{var o=r[n];jl(t,o,i)}catch(t){throw Ul(t,n)}}return!0}return t=Dl(t),e&&(e=Dl(e)),r.toJSON=e?function(){return"{"+Bl(e)+": "+Bl(t)+"}"}:function(){return"{"+Bl(t)+"}"},r},object:function(t){var e={};for(var r in t)e[r]=Dl(t[r]);function i(t,r){if(!xl.Object(t))return!1;if(xl.Nil(t))return!1;var i;try{for(i in e){jl(e[i],t[i],r)}}catch(t){throw Ul(t,i)}if(r)for(i in t)if(!e[i])throw new Nl(void 0,i);return!0}return i.toJSON=function(){return Bl(e)},i},anyOf:function(){var t=[].slice.call(arguments).map(Dl);function e(e,r){return t.some((function(t){try{return jl(t,e,r)}catch(t){return!1}}))}return e.toJSON=function(){return t.map(Bl).join("|")},e},allOf:function(){var t=[].slice.call(arguments).map(Dl);function e(e,r){return t.every((function(t){try{return jl(t,e,r)}catch(t){return!1}}))}return e.toJSON=function(){return t.map(Bl).join(" & ")},e},quacksLike:function(t){function e(e){return t===Cl(e)}return e.toJSON=function(){return t},e},tuple:function(){var t=[].slice.call(arguments).map(Dl);function e(e,r){return!xl.Nil(e)&&(!xl.Nil(e.length)&&((!r||e.length===t.length)&&t.every((function(t,i){try{return jl(t,e[i],r)}catch(t){throw Ul(t,i)}}))))}return e.toJSON=function(){return"("+t.map(Bl).join(", ")+")"},e},value:function(t){function e(e){return e===t}return e.toJSON=function(){return t},e}};function Dl(t){if(xl.String(t))return"?"===t[0]?Ll.maybe(t.slice(1)):xl[t]||Ll.quacksLike(t);if(t&&xl.Object(t)){if(xl.Array(t)){if(1!==t.length)throw new TypeError("Expected compile() parameter of type Array of length 1");return Ll.arrayOf(t[0])}return Ll.object(t)}return xl.Function(t)?t:Ll.value(t)}function jl(t,e,r,i){if(xl.Function(t)){if(t(e,r))return!0;throw new Rl(i||t,e)}return jl(Dl(t),e,r)}for(var Hl in Ll.oneOf=Ll.anyOf,xl)jl[Hl]=xl[Hl];for(Hl in Ll)jl[Hl]=Ll[Hl];var ql=Pl;for(Hl in ql)jl[Hl]=ql[Hl];jl.compile=Dl,jl.TfTypeError=Rl,jl.TfPropertyTypeError=Nl;var Kl=jl,Fl=Xs;function zl(t,e){if(void 0!==e&&t[0]!==e)throw new Error("Invalid network version");if(33===t.length)return{version:t[0],privateKey:t.slice(1,33),compressed:!1};if(34!==t.length)throw new Error("Invalid WIF length");if(1!==t[33])throw new Error("Invalid compression flag");return{version:t[0],privateKey:t.slice(1,33),compressed:!0}}function Wl(t,e,r){var i=new z(r?34:33);return i.writeUInt8(t,0),e.copy(i,1),r&&(i[33]=1),i}var Vl={decode:function(t,e){return zl(Fl.decode(t),e)},decodeRaw:zl,encode:function(t,e,r){return"number"==typeof t?Fl.encode(Wl(t,e,r)):Fl.encode(Wl(t.version,t.privateKey,t.compressed))},encodeRaw:Wl};Object.defineProperty(Tt,"__esModule",{value:!0});const Zl=Ot,Gl=Xs,$l=ol,Xl=Kl,Yl=Vl,Jl=Xl.BufferN(32),Ql=Xl.compile({wif:Xl.UInt8,bip32:{public:Xl.UInt32,private:Xl.UInt32}}),tc={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},ec=Math.pow(2,31)-1;function rc(t){return Xl.String(t)&&null!==t.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}function ic(t){return Xl.UInt32(t)&&t<=ec}class nc{constructor(t,e,r,i,n=0,o=0,s=0){this.__D=t,this.__Q=e,this.chainCode=r,this.network=i,this.__DEPTH=n,this.__INDEX=o,this.__PARENT_FINGERPRINT=s,Xl(Ql,i),this.lowR=!1}get depth(){return this.__DEPTH}get index(){return this.__INDEX}get parentFingerprint(){return this.__PARENT_FINGERPRINT}get publicKey(){return void 0===this.__Q&&(this.__Q=$l.pointFromScalar(this.__D,!0)),this.__Q}get privateKey(){return this.__D}get identifier(){return Zl.hash160(this.publicKey)}get fingerprint(){return this.identifier.slice(0,4)}get compressed(){return!0}isNeutered(){return void 0===this.__D}neutered(){return hc(this.publicKey,this.chainCode,this.network,this.depth,this.index,this.parentFingerprint)}toBase58(){const t=this.network,e=this.isNeutered()?t.bip32.public:t.bip32.private,r=z.allocUnsafe(78);return r.writeUInt32BE(e,0),r.writeUInt8(this.depth,4),r.writeUInt32BE(this.parentFingerprint,5),r.writeUInt32BE(this.index,9),this.chainCode.copy(r,13),this.isNeutered()?this.publicKey.copy(r,45):(r.writeUInt8(0,45),this.privateKey.copy(r,46)),Gl.encode(r)}toWIF(){if(!this.privateKey)throw new TypeError("Missing private key");return Yl.encode(this.network.wif,this.privateKey,!0)}derive(t){Xl(Xl.UInt32,t);const e=t>=2147483648,r=z.allocUnsafe(37);if(e){if(this.isNeutered())throw new TypeError("Missing private key for hardened child key");r[0]=0,this.privateKey.copy(r,1),r.writeUInt32BE(t,33)}else this.publicKey.copy(r,0),r.writeUInt32BE(t,33);const i=Zl.hmacSHA512(this.chainCode,r),n=i.slice(0,32),o=i.slice(32);if(!$l.isPrivate(n))return this.derive(t+1);let s;if(this.isNeutered()){const e=$l.pointAddScalar(this.publicKey,n,!0);if(null===e)return this.derive(t+1);s=hc(e,o,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}else{const e=$l.privateAdd(this.privateKey,n);if(null==e)return this.derive(t+1);s=sc(e,o,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}return s}deriveHardened(t){return Xl(ic,t),this.derive(t+2147483648)}derivePath(t){Xl(rc,t);let e=t.split("/");if("m"===e[0]){if(this.parentFingerprint)throw new TypeError("Expected master, got child");e=e.slice(1)}return e.reduce(((t,e)=>{let r;return"'"===e.slice(-1)?(r=parseInt(e.slice(0,-1),10),t.deriveHardened(r)):(r=parseInt(e,10),t.derive(r))}),this)}sign(t,e){if(!this.privateKey)throw new Error("Missing private key");if(void 0===e&&(e=this.lowR),!1===e)return $l.sign(t,this.privateKey);{let e=$l.sign(t,this.privateKey);const r=z.alloc(32,0);let i=0;for(;e[0]>127;)i++,r.writeUIntLE(i,0,6),e=$l.signWithEntropy(t,this.privateKey,r);return e}}verify(t,e){return $l.verify(t,this.publicKey,e)}}function oc(t,e,r){return sc(t,e,r)}function sc(t,e,r,i,n,o){if(Xl({privateKey:Jl,chainCode:Jl},{privateKey:t,chainCode:e}),r=r||tc,!$l.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return new nc(t,void 0,e,r,i,n,o)}function hc(t,e,r,i,n,o){if(Xl({publicKey:Xl.BufferN(33),chainCode:Jl},{publicKey:t,chainCode:e}),r=r||tc,!$l.isPoint(t))throw new TypeError("Point is not on the curve");return new nc(void 0,t,e,r,i,n,o)}Tt.fromBase58=function(t,e){const r=Gl.decode(t);if(78!==r.length)throw new TypeError("Invalid buffer length");e=e||tc;const i=r.readUInt32BE(0);if(i!==e.bip32.private&&i!==e.bip32.public)throw new TypeError("Invalid network version");const n=r[4],o=r.readUInt32BE(5);if(0===n&&0!==o)throw new TypeError("Invalid parent fingerprint");const s=r.readUInt32BE(9);if(0===n&&0!==s)throw new TypeError("Invalid index");const h=r.slice(13,45);let a;if(i===e.bip32.private){if(0!==r.readUInt8(45))throw new TypeError("Invalid private key");a=sc(r.slice(46,78),h,e,n,s,o)}else{a=hc(r.slice(45,78),h,e,n,s,o)}return a},Tt.fromPrivateKey=oc,Tt.fromPublicKey=function(t,e,r){return hc(t,e,r)},Tt.fromSeed=function(t,e){if(Xl(Xl.Buffer,t),t.length<16)throw new TypeError("Seed should be at least 128 bits");if(t.length>64)throw new TypeError("Seed should be at most 512 bits");e=e||tc;const r=Zl.hmacSHA512(z.from("Bitcoin seed","utf8"),t);return oc(r.slice(0,32),r.slice(32),e)},Object.defineProperty(O,"__esModule",{value:!0});var ac=Tt;O.fromSeed=ac.fromSeed,O.fromBase58=ac.fromBase58,O.fromPublicKey=ac.fromPublicKey,O.fromPrivateKey=ac.fromPrivateKey;var uc={},fc={};Object.defineProperty(fc,"__esModule",{value:!0}),fc.bitcoin={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},fc.regtest={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239},fc.testnet={messagePrefix:"Bitcoin Signed Message:\n",bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var lc={},cc={},dc={},pc={};Object.defineProperty(pc,"__esModule",{value:!0}),pc.decode=function(t,e,r){e=e||4,r=void 0===r||r;const i=t.length;if(0===i)return 0;if(i>e)throw new TypeError("Script number overflow");if(r&&0==(127&t[i-1])&&(i<=1||0==(128&t[i-2])))throw new Error("Non-minimally encoded script number");if(5===i){const e=t.readUInt32LE(0),r=t.readUInt8(4);return 128&r?-(4294967296*(-129&r)+e):4294967296*r+e}let n=0;for(let e=0;e<i;++e)n|=t[e]<<8*e;return 128&t[i-1]?-(n&~(128<<8*(i-1))):n},pc.encode=function(t){let e=Math.abs(t);const r=function(t){return t>2147483647?5:t>8388607?4:t>32767?3:t>127?2:t>0?1:0}(e),i=z.allocUnsafe(r),n=t<0;for(let t=0;t<r;++t)i.writeUInt8(255&e,t),e>>=8;return 128&i[r-1]?i.writeUInt8(n?128:0,r-1):n&&(i[r-1]|=128),i};var mc={},gc={};Object.defineProperty(gc,"__esModule",{value:!0});const yc=Kl,vc=Math.pow(2,31)-1;function bc(t){return yc.String(t)&&!!t.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}gc.UInt31=function(t){return yc.UInt32(t)&&t<=vc},gc.BIP32Path=bc,bc.toJSON=()=>"BIP32 derivation path",gc.Signer=function(t){return(yc.Buffer(t.publicKey)||"function"==typeof t.getPublicKey)&&"function"==typeof t.sign};gc.Satoshi=function(t){return yc.UInt53(t)&&t<=21e14},gc.ECPoint=yc.quacksLike("Point"),gc.Network=yc.compile({messagePrefix:yc.oneOf(yc.Buffer,yc.String),bip32:{public:yc.UInt32,private:yc.UInt32},pubKeyHash:yc.UInt8,scriptHash:yc.UInt8,wif:yc.UInt8}),gc.Buffer256bit=yc.BufferN(32),gc.Hash160bit=yc.BufferN(20),gc.Hash256bit=yc.BufferN(32),gc.Number=yc.Number,gc.Array=yc.Array,gc.Boolean=yc.Boolean,gc.String=yc.String,gc.Buffer=yc.Buffer,gc.Hex=yc.Hex,gc.maybe=yc.maybe,gc.tuple=yc.tuple,gc.UInt8=yc.UInt8,gc.UInt32=yc.UInt32,gc.Function=yc.Function,gc.BufferN=yc.BufferN,gc.Null=yc.Null,gc.oneOf=yc.oneOf;var wc=xt.exports.Buffer;var Mc={check:function(t){if(t.length<8)return!1;if(t.length>72)return!1;if(48!==t[0])return!1;if(t[1]!==t.length-2)return!1;if(2!==t[2])return!1;var e=t[3];if(0===e)return!1;if(5+e>=t.length)return!1;if(2!==t[4+e])return!1;var r=t[5+e];return 0!==r&&(6+e+r===t.length&&(!(128&t[4])&&(!(e>1&&0===t[4]&&!(128&t[5]))&&(!(128&t[e+6])&&!(r>1&&0===t[e+6]&&!(128&t[e+7]))))))},decode:function(t){if(t.length<8)throw new Error("DER sequence length is too short");if(t.length>72)throw new Error("DER sequence length is too long");if(48!==t[0])throw new Error("Expected DER sequence");if(t[1]!==t.length-2)throw new Error("DER sequence length is invalid");if(2!==t[2])throw new Error("Expected DER integer");var e=t[3];if(0===e)throw new Error("R length is zero");if(5+e>=t.length)throw new Error("R length is too long");if(2!==t[4+e])throw new Error("Expected DER integer (2)");var r=t[5+e];if(0===r)throw new Error("S length is zero");if(6+e+r!==t.length)throw new Error("S length is invalid");if(128&t[4])throw new Error("R value is negative");if(e>1&&0===t[4]&&!(128&t[5]))throw new Error("R value excessively padded");if(128&t[e+6])throw new Error("S value is negative");if(r>1&&0===t[e+6]&&!(128&t[e+7]))throw new Error("S value excessively padded");return{r:t.slice(4,4+e),s:t.slice(6+e)}},encode:function(t,e){var r=t.length,i=e.length;if(0===r)throw new Error("R length is zero");if(0===i)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(i>33)throw new Error("S length is too long");if(128&t[0])throw new Error("R value is negative");if(128&e[0])throw new Error("S value is negative");if(r>1&&0===t[0]&&!(128&t[1]))throw new Error("R value excessively padded");if(i>1&&0===e[0]&&!(128&e[1]))throw new Error("S value excessively padded");var n=wc.allocUnsafe(6+r+i);return n[0]=48,n[1]=n.length-2,n[2]=2,n[3]=t.length,t.copy(n,4),n[4+r]=2,n[5+r]=e.length,e.copy(n,6+r),n}};Object.defineProperty(mc,"__esModule",{value:!0});const _c=gc,Sc=Mc,Ec=Kl,kc=z.alloc(1,0);function Ac(t){let e=0;for(;0===t[e];)++e;return e===t.length?kc:128&(t=t.slice(e))[0]?z.concat([kc,t],1+t.length):t}function Ic(t){0===t[0]&&(t=t.slice(1));const e=z.alloc(32,0),r=Math.max(0,32-t.length);return t.copy(e,r),e}mc.decode=function(t){const e=t.readUInt8(t.length-1),r=-129&e;if(r<=0||r>=4)throw new Error("Invalid hashType "+e);const i=Sc.decode(t.slice(0,-1)),n=Ic(i.r),o=Ic(i.s);return{signature:z.concat([n,o],64),hashType:e}},mc.encode=function(t,e){Ec({signature:_c.BufferN(64),hashType:_c.UInt8},{signature:t,hashType:e});const r=-129&e;if(r<=0||r>=4)throw new Error("Invalid hashType "+e);const i=z.allocUnsafe(1);i.writeUInt8(e,0);const n=Ac(t.slice(0,32)),o=Ac(t.slice(32,64));return z.concat([Sc.encode(n,o),i])};var Tc={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255},Oc=Tc;function Pc(t){return t<Oc.OP_PUSHDATA1?1:t<=255?2:t<=65535?3:5}var xc={encodingLength:Pc,encode:function(t,e,r){var i=Pc(e);return 1===i?t.writeUInt8(e,r):2===i?(t.writeUInt8(Oc.OP_PUSHDATA1,r),t.writeUInt8(e,r+1)):3===i?(t.writeUInt8(Oc.OP_PUSHDATA2,r),t.writeUInt16LE(e,r+1)):(t.writeUInt8(Oc.OP_PUSHDATA4,r),t.writeUInt32LE(e,r+1)),i},decode:function(t,e){var r,i,n=t.readUInt8(e);if(n<Oc.OP_PUSHDATA1)r=n,i=1;else if(n===Oc.OP_PUSHDATA1){if(e+2>t.length)return null;r=t.readUInt8(e+1),i=2}else if(n===Oc.OP_PUSHDATA2){if(e+3>t.length)return null;r=t.readUInt16LE(e+1),i=3}else{if(e+5>t.length)return null;if(n!==Oc.OP_PUSHDATA4)throw new Error("Unexpected opcode");r=t.readUInt32LE(e+1),i=5}return{opcode:n,number:r,size:i}}},Bc=Tc,Rc={};for(var Nc in Bc){Rc[Bc[Nc]]=Nc}var Uc=Rc;!function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=pc,r=mc,i=gc,n=Mc,o=ol,s=xc,h=Kl;t.OPS=Tc;const a=Uc,u=t.OPS.OP_RESERVED;function f(e){return i.Buffer(e)||function(e){return i.Number(e)&&(e===t.OPS.OP_0||e>=t.OPS.OP_1&&e<=t.OPS.OP_16||e===t.OPS.OP_1NEGATE)}(e)}function l(t){return i.Array(t)&&t.every(f)}function c(e){return 0===e.length?t.OPS.OP_0:1===e.length?e[0]>=1&&e[0]<=16?u+e[0]:129===e[0]?t.OPS.OP_1NEGATE:void 0:void 0}function d(t){return At(t)}function p(t){return At(t)}function m(t){if(d(t))return t;h(i.Array,t);const e=t.reduce(((t,e)=>p(e)?1===e.length&&void 0!==c(e)?t+1:t+s.encodingLength(e.length)+e.length:t+1),0),r=z.allocUnsafe(e);let n=0;if(t.forEach((t=>{if(p(t)){const e=c(t);if(void 0!==e)return r.writeUInt8(e,n),void(n+=1);n+=s.encode(r,t.length,n),t.copy(r,n),n+=t.length}else r.writeUInt8(t,n),n+=1})),n!==r.length)throw new Error("Could not decode chunks");return r}function g(e){if(r=e,i.Array(r))return e;var r;h(i.Buffer,e);const n=[];let o=0;for(;o<e.length;){const r=e[o];if(r>t.OPS.OP_0&&r<=t.OPS.OP_PUSHDATA4){const t=s.decode(e,o);if(null===t)return null;if(o+=t.size,o+t.number>e.length)return null;const r=e.slice(o,o+t.number);o+=t.number;const i=c(r);void 0!==i?n.push(i):n.push(r)}else n.push(r),o+=1}return n}function y(t){const e=-129&t;return e>0&&e<4}t.isPushOnly=l,t.compile=m,t.decompile=g,t.toASM=function(t){return d(t)&&(t=g(t)),t.map((t=>{if(p(t)){const e=c(t);if(void 0===e)return t.toString("hex");t=e}return a[t]})).join(" ")},t.fromASM=function(e){return h(i.String,e),m(e.split(" ").map((e=>void 0!==t.OPS[e]?t.OPS[e]:(h(i.Hex,e),z.from(e,"hex")))))},t.toStack=function(r){return r=g(r),h(l,r),r.map((r=>p(r)?r:r===t.OPS.OP_0?z.allocUnsafe(0):e.encode(r-u)))},t.isCanonicalPubKey=function(t){return o.isPoint(t)},t.isDefinedHashType=y,t.isCanonicalScriptSignature=function(t){return!!At(t)&&(!!y(t[t.length-1])&&n.check(t.slice(0,-1)))},t.number=e,t.signature=r}(dc);var Cc={};Object.defineProperty(Cc,"__esModule",{value:!0}),Cc.prop=function(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){const t=r.call(this);return this[e]=t,t},set(t){Object.defineProperty(this,e,{configurable:!0,enumerable:!0,value:t,writable:!0})}})},Cc.value=function(t){let e;return()=>(void 0!==e||(e=t()),e)},Object.defineProperty(cc,"__esModule",{value:!0});const Lc=fc,Dc=dc,jc=Cc,Hc=Kl,qc=Dc.OPS;cc.p2data=function(t,e){if(!t.data&&!t.output)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),Hc({network:Hc.maybe(Hc.Object),output:Hc.maybe(Hc.Buffer),data:Hc.maybe(Hc.arrayOf(Hc.Buffer))},t);const r={name:"embed",network:t.network||Lc.bitcoin};if(jc.prop(r,"output",(()=>{if(t.data)return Dc.compile([qc.OP_RETURN].concat(t.data))})),jc.prop(r,"data",(()=>{if(t.output)return Dc.decompile(t.output).slice(1)})),e.validate&&t.output){const e=Dc.decompile(t.output);if(e[0]!==qc.OP_RETURN)throw new TypeError("Output is invalid");if(!e.slice(1).every(Hc.Buffer))throw new TypeError("Output is invalid");if(t.data&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.data,r.data))throw new TypeError("Data mismatch")}return Object.assign(r,t)};var Kc={};Object.defineProperty(Kc,"__esModule",{value:!0});const Fc=fc,zc=dc,Wc=Cc,Vc=zc.OPS,Zc=Kl,Gc=ol,$c=Vc.OP_RESERVED;function Xc(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}Kc.p2ms=function(t,e){if(!(t.input||t.output||t.pubkeys&&void 0!==t.m||t.signatures))throw new TypeError("Not enough data");function r(t){return zc.isCanonicalScriptSignature(t)||void 0!==(e.allowIncomplete&&t===Vc.OP_0)}e=Object.assign({validate:!0},e||{}),Zc({network:Zc.maybe(Zc.Object),m:Zc.maybe(Zc.Number),n:Zc.maybe(Zc.Number),output:Zc.maybe(Zc.Buffer),pubkeys:Zc.maybe(Zc.arrayOf(Gc.isPoint)),signatures:Zc.maybe(Zc.arrayOf(r)),input:Zc.maybe(Zc.Buffer)},t);const i={network:t.network||Fc.bitcoin};let n=[],o=!1;function s(t){o||(o=!0,n=zc.decompile(t),i.m=n[0]-$c,i.n=n[n.length-2]-$c,i.pubkeys=n.slice(1,-2))}if(Wc.prop(i,"output",(()=>{if(t.m&&i.n&&t.pubkeys)return zc.compile([].concat($c+t.m,t.pubkeys,$c+i.n,Vc.OP_CHECKMULTISIG))})),Wc.prop(i,"m",(()=>{if(i.output)return s(i.output),i.m})),Wc.prop(i,"n",(()=>{if(i.pubkeys)return i.pubkeys.length})),Wc.prop(i,"pubkeys",(()=>{if(t.output)return s(t.output),i.pubkeys})),Wc.prop(i,"signatures",(()=>{if(t.input)return zc.decompile(t.input).slice(1)})),Wc.prop(i,"input",(()=>{if(t.signatures)return zc.compile([Vc.OP_0].concat(t.signatures))})),Wc.prop(i,"witness",(()=>{if(i.input)return[]})),Wc.prop(i,"name",(()=>{if(i.m&&i.n)return`p2ms(${i.m} of ${i.n})`})),e.validate){if(t.output){if(s(t.output),!Zc.Number(n[0]))throw new TypeError("Output is invalid");if(!Zc.Number(n[n.length-2]))throw new TypeError("Output is invalid");if(n[n.length-1]!==Vc.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==n.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every((t=>Gc.isPoint(t))))throw new TypeError("Output is invalid");if(void 0!==t.m&&t.m!==i.m)throw new TypeError("m mismatch");if(void 0!==t.n&&t.n!==i.n)throw new TypeError("n mismatch");if(t.pubkeys&&!Xc(t.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(t.pubkeys){if(void 0!==t.n&&t.n!==t.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=t.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(t.signatures){if(t.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(t.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(t.input){if(t.input[0]!==Vc.OP_0)throw new TypeError("Input is invalid");if(0===i.signatures.length||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(t.signatures&&!Xc(t.signatures,i.signatures))throw new TypeError("Signature mismatch");if(void 0!==t.m&&t.m!==t.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,t)};var Yc={};Object.defineProperty(Yc,"__esModule",{value:!0});const Jc=fc,Qc=dc,td=Cc,ed=Kl,rd=Qc.OPS,id=ol;Yc.p2pk=function(t,e){if(!(t.input||t.output||t.pubkey||t.input||t.signature))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),ed({network:ed.maybe(ed.Object),output:ed.maybe(ed.Buffer),pubkey:ed.maybe(id.isPoint),signature:ed.maybe(Qc.isCanonicalScriptSignature),input:ed.maybe(ed.Buffer)},t);const r=td.value((()=>Qc.decompile(t.input))),i={name:"p2pk",network:t.network||Jc.bitcoin};if(td.prop(i,"output",(()=>{if(t.pubkey)return Qc.compile([t.pubkey,rd.OP_CHECKSIG])})),td.prop(i,"pubkey",(()=>{if(t.output)return t.output.slice(1,-1)})),td.prop(i,"signature",(()=>{if(t.input)return r()[0]})),td.prop(i,"input",(()=>{if(t.signature)return Qc.compile([t.signature])})),td.prop(i,"witness",(()=>{if(i.input)return[]})),e.validate){if(t.output){if(t.output[t.output.length-1]!==rd.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!id.isPoint(i.pubkey))throw new TypeError("Output pubkey is invalid");if(t.pubkey&&!t.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(t.signature&&t.input&&!t.input.equals(i.input))throw new TypeError("Signature mismatch");if(t.input){if(1!==r().length)throw new TypeError("Input is invalid");if(!Qc.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,t)};var nd={},od={};Object.defineProperty(od,"__esModule",{value:!0});const sd=ks;function hd(t){try{return sd("rmd160").update(t).digest()}catch(e){return sd("ripemd160").update(t).digest()}}function ad(t){return sd("sha256").update(t).digest()}od.ripemd160=hd,od.sha1=function(t){return sd("sha1").update(t).digest()},od.sha256=ad,od.hash160=function(t){return hd(ad(t))},od.hash256=function(t){return ad(ad(t))},Object.defineProperty(nd,"__esModule",{value:!0});const ud=od,fd=fc,ld=dc,cd=Cc,dd=Kl,pd=ld.OPS,md=ol,gd=Xs;nd.p2pkh=function(t,e){if(!(t.address||t.hash||t.output||t.pubkey||t.input))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),dd({network:dd.maybe(dd.Object),address:dd.maybe(dd.String),hash:dd.maybe(dd.BufferN(20)),output:dd.maybe(dd.BufferN(25)),pubkey:dd.maybe(md.isPoint),signature:dd.maybe(ld.isCanonicalScriptSignature),input:dd.maybe(dd.Buffer)},t);const r=cd.value((()=>{const e=gd.decode(t.address);return{version:e.readUInt8(0),hash:e.slice(1)}})),i=cd.value((()=>ld.decompile(t.input))),n=t.network||fd.bitcoin,o={name:"p2pkh",network:n};if(cd.prop(o,"address",(()=>{if(!o.hash)return;const t=z.allocUnsafe(21);return t.writeUInt8(n.pubKeyHash,0),o.hash.copy(t,1),gd.encode(t)})),cd.prop(o,"hash",(()=>t.output?t.output.slice(3,23):t.address?r().hash:t.pubkey||o.pubkey?ud.hash160(t.pubkey||o.pubkey):void 0)),cd.prop(o,"output",(()=>{if(o.hash)return ld.compile([pd.OP_DUP,pd.OP_HASH160,o.hash,pd.OP_EQUALVERIFY,pd.OP_CHECKSIG])})),cd.prop(o,"pubkey",(()=>{if(t.input)return i()[1]})),cd.prop(o,"signature",(()=>{if(t.input)return i()[0]})),cd.prop(o,"input",(()=>{if(t.pubkey&&t.signature)return ld.compile([t.signature,t.pubkey])})),cd.prop(o,"witness",(()=>{if(o.input)return[]})),e.validate){let e=z.from([]);if(t.address){if(r().version!==n.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(20!==r().hash.length)throw new TypeError("Invalid address");e=r().hash}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(25!==t.output.length||t.output[0]!==pd.OP_DUP||t.output[1]!==pd.OP_HASH160||20!==t.output[2]||t.output[23]!==pd.OP_EQUALVERIFY||t.output[24]!==pd.OP_CHECKSIG)throw new TypeError("Output is invalid");const r=t.output.slice(3,23);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.pubkey){const r=ud.hash160(t.pubkey);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.input){const r=i();if(2!==r.length)throw new TypeError("Input is invalid");if(!ld.isCanonicalScriptSignature(r[0]))throw new TypeError("Input has invalid signature");if(!md.isPoint(r[1]))throw new TypeError("Input has invalid pubkey");if(t.signature&&!t.signature.equals(r[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(r[1]))throw new TypeError("Pubkey mismatch");const n=ud.hash160(r[1]);if(e.length>0&&!e.equals(n))throw new TypeError("Hash mismatch")}}return Object.assign(o,t)};var yd={};Object.defineProperty(yd,"__esModule",{value:!0});const vd=od,bd=fc,wd=dc,Md=Cc,_d=Kl,Sd=wd.OPS,Ed=Xs;yd.p2sh=function(t,e){if(!(t.address||t.hash||t.output||t.redeem||t.input))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),_d({network:_d.maybe(_d.Object),address:_d.maybe(_d.String),hash:_d.maybe(_d.BufferN(20)),output:_d.maybe(_d.BufferN(23)),redeem:_d.maybe({network:_d.maybe(_d.Object),output:_d.maybe(_d.Buffer),input:_d.maybe(_d.Buffer),witness:_d.maybe(_d.arrayOf(_d.Buffer))}),input:_d.maybe(_d.Buffer),witness:_d.maybe(_d.arrayOf(_d.Buffer))},t);let r=t.network;r||(r=t.redeem&&t.redeem.network||bd.bitcoin);const i={network:r},n=Md.value((()=>{const e=Ed.decode(t.address);return{version:e.readUInt8(0),hash:e.slice(1)}})),o=Md.value((()=>wd.decompile(t.input))),s=Md.value((()=>{const e=o();return{network:r,output:e[e.length-1],input:wd.compile(e.slice(0,-1)),witness:t.witness||[]}}));if(Md.prop(i,"address",(()=>{if(!i.hash)return;const t=z.allocUnsafe(21);return t.writeUInt8(i.network.scriptHash,0),i.hash.copy(t,1),Ed.encode(t)})),Md.prop(i,"hash",(()=>t.output?t.output.slice(2,22):t.address?n().hash:i.redeem&&i.redeem.output?vd.hash160(i.redeem.output):void 0)),Md.prop(i,"output",(()=>{if(i.hash)return wd.compile([Sd.OP_HASH160,i.hash,Sd.OP_EQUAL])})),Md.prop(i,"redeem",(()=>{if(t.input)return s()})),Md.prop(i,"input",(()=>{if(t.redeem&&t.redeem.input&&t.redeem.output)return wd.compile([].concat(wd.decompile(t.redeem.input),t.redeem.output))})),Md.prop(i,"witness",(()=>i.redeem&&i.redeem.witness?i.redeem.witness:i.input?[]:void 0)),Md.prop(i,"name",(()=>{const t=["p2sh"];return void 0!==i.redeem&&t.push(i.redeem.name),t.join("-")})),e.validate){let e=z.from([]);if(t.address){if(n().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(20!==n().hash.length)throw new TypeError("Invalid address");e=n().hash}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(23!==t.output.length||t.output[0]!==Sd.OP_HASH160||20!==t.output[1]||t.output[22]!==Sd.OP_EQUAL)throw new TypeError("Output is invalid");const r=t.output.slice(2,22);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}const i=t=>{if(t.output){const r=wd.decompile(t.output);if(!r||r.length<1)throw new TypeError("Redeem.output too short");const i=vd.hash160(t.output);if(e.length>0&&!e.equals(i))throw new TypeError("Hash mismatch");e=i}if(t.input){const e=t.input.length>0,r=t.witness&&t.witness.length>0;if(!e&&!r)throw new TypeError("Empty input");if(e&&r)throw new TypeError("Input and witness provided");if(e){const e=wd.decompile(t.input);if(!wd.isPushOnly(e))throw new TypeError("Non push-only scriptSig")}}};if(t.input){const t=o();if(!t||t.length<1)throw new TypeError("Input too short");if(!At(s().output))throw new TypeError("Input is invalid");i(s())}if(t.redeem){if(t.redeem.network&&t.redeem.network!==r)throw new TypeError("Network mismatch");if(t.input){const e=s();if(t.redeem.output&&!t.redeem.output.equals(e.output))throw new TypeError("Redeem.output mismatch");if(t.redeem.input&&!t.redeem.input.equals(e.input))throw new TypeError("Redeem.input mismatch")}i(t.redeem)}if(t.witness&&t.redeem&&t.redeem.witness&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.redeem.witness,t.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(i,t)};for(var kd={},Ad="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Id={},Td=0;Td<Ad.length;Td++){var Od=Ad.charAt(Td);if(void 0!==Id[Od])throw new TypeError(Od+" is ambiguous");Id[Od]=Td}function Pd(t){var e=t>>25;return(33554431&t)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function xd(t){for(var e=1,r=0;r<t.length;++r){var i=t.charCodeAt(r);if(i<33||i>126)return"Invalid prefix ("+t+")";e=Pd(e)^i>>5}for(e=Pd(e),r=0;r<t.length;++r){var n=t.charCodeAt(r);e=Pd(e)^31&n}return e}function Bd(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),i=t.toUpperCase();if(t!==r&&t!==i)return"Mixed-case string "+t;var n=(t=r).lastIndexOf("1");if(-1===n)return"No separator character for "+t;if(0===n)return"Missing prefix for "+t;var o=t.slice(0,n),s=t.slice(n+1);if(s.length<6)return"Data too short";var h=xd(o);if("string"==typeof h)return h;for(var a=[],u=0;u<s.length;++u){var f=s.charAt(u),l=Id[f];if(void 0===l)return"Unknown character "+f;h=Pd(h)^l,u+6>=s.length||a.push(l)}return 1!==h?"Invalid checksum for "+t:{prefix:o,words:a}}function Rd(t,e,r,i){for(var n=0,o=0,s=(1<<r)-1,h=[],a=0;a<t.length;++a)for(n=n<<e|t[a],o+=e;o>=r;)o-=r,h.push(n>>o&s);if(i)o>0&&h.push(n<<r-o&s);else{if(o>=e)return"Excess padding";if(n<<r-o&s)return"Non-zero padding"}return h}var Nd={decodeUnsafe:function(){var t=Bd.apply(null,arguments);if("object"==typeof t)return t},decode:function(t){var e=Bd.apply(null,arguments);if("object"==typeof e)return e;throw new Error(e)},encode:function(t,e,r){if(r=r||90,t.length+7+e.length>r)throw new TypeError("Exceeds length limit");var i=xd(t=t.toLowerCase());if("string"==typeof i)throw new Error(i);for(var n=t+"1",o=0;o<e.length;++o){var s=e[o];if(s>>5!=0)throw new Error("Non 5-bit word");i=Pd(i)^s,n+=Ad.charAt(s)}for(o=0;o<6;++o)i=Pd(i);for(i^=1,o=0;o<6;++o){n+=Ad.charAt(i>>5*(5-o)&31)}return n},toWordsUnsafe:function(t){var e=Rd(t,8,5,!0);if(Array.isArray(e))return e},toWords:function(t){var e=Rd(t,8,5,!0);if(Array.isArray(e))return e;throw new Error(e)},fromWordsUnsafe:function(t){var e=Rd(t,5,8,!1);if(Array.isArray(e))return e},fromWords:function(t){var e=Rd(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}};Object.defineProperty(kd,"__esModule",{value:!0});const Ud=od,Cd=fc,Ld=dc,Dd=Cc,jd=Kl,Hd=Ld.OPS,qd=ol,Kd=Nd,Fd=z.alloc(0);kd.p2wpkh=function(t,e){if(!(t.address||t.hash||t.output||t.pubkey||t.witness))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),jd({address:jd.maybe(jd.String),hash:jd.maybe(jd.BufferN(20)),input:jd.maybe(jd.BufferN(0)),network:jd.maybe(jd.Object),output:jd.maybe(jd.BufferN(22)),pubkey:jd.maybe(qd.isPoint),signature:jd.maybe(Ld.isCanonicalScriptSignature),witness:jd.maybe(jd.arrayOf(jd.Buffer))},t);const r=Dd.value((()=>{const e=Kd.decode(t.address),r=e.words.shift(),i=Kd.fromWords(e.words);return{version:r,prefix:e.prefix,data:z.from(i)}})),i=t.network||Cd.bitcoin,n={name:"p2wpkh",network:i};if(Dd.prop(n,"address",(()=>{if(!n.hash)return;const t=Kd.toWords(n.hash);return t.unshift(0),Kd.encode(i.bech32,t)})),Dd.prop(n,"hash",(()=>t.output?t.output.slice(2,22):t.address?r().data:t.pubkey||n.pubkey?Ud.hash160(t.pubkey||n.pubkey):void 0)),Dd.prop(n,"output",(()=>{if(n.hash)return Ld.compile([Hd.OP_0,n.hash])})),Dd.prop(n,"pubkey",(()=>t.pubkey?t.pubkey:t.witness?t.witness[1]:void 0)),Dd.prop(n,"signature",(()=>{if(t.witness)return t.witness[0]})),Dd.prop(n,"input",(()=>{if(n.witness)return Fd})),Dd.prop(n,"witness",(()=>{if(t.pubkey&&t.signature)return[t.signature,t.pubkey]})),e.validate){let e=z.from([]);if(t.address){if(i&&i.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(0!==r().version)throw new TypeError("Invalid address version");if(20!==r().data.length)throw new TypeError("Invalid address data");e=r().data}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(22!==t.output.length||t.output[0]!==Hd.OP_0||20!==t.output[1])throw new TypeError("Output is invalid");if(e.length>0&&!e.equals(t.output.slice(2)))throw new TypeError("Hash mismatch");e=t.output.slice(2)}if(t.pubkey){const r=Ud.hash160(t.pubkey);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");if(e=r,!qd.isPoint(t.pubkey)||33!==t.pubkey.length)throw new TypeError("Invalid pubkey for p2wpkh")}if(t.witness){if(2!==t.witness.length)throw new TypeError("Witness is invalid");if(!Ld.isCanonicalScriptSignature(t.witness[0]))throw new TypeError("Witness has invalid signature");if(!qd.isPoint(t.witness[1])||33!==t.witness[1].length)throw new TypeError("Witness has invalid pubkey");if(t.signature&&!t.signature.equals(t.witness[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(t.witness[1]))throw new TypeError("Pubkey mismatch");const r=Ud.hash160(t.witness[1]);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch")}}return Object.assign(n,t)};var zd={};Object.defineProperty(zd,"__esModule",{value:!0});const Wd=od,Vd=fc,Zd=dc,Gd=Cc,$d=Kl,Xd=Zd.OPS,Yd=ol,Jd=Nd,Qd=z.alloc(0);function tp(t){return!(!At(t)||65!==t.length||4!==t[0]||!Yd.isPoint(t))}zd.p2wsh=function(t,e){if(!(t.address||t.hash||t.output||t.redeem||t.witness))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),$d({network:$d.maybe($d.Object),address:$d.maybe($d.String),hash:$d.maybe($d.BufferN(32)),output:$d.maybe($d.BufferN(34)),redeem:$d.maybe({input:$d.maybe($d.Buffer),network:$d.maybe($d.Object),output:$d.maybe($d.Buffer),witness:$d.maybe($d.arrayOf($d.Buffer))}),input:$d.maybe($d.BufferN(0)),witness:$d.maybe($d.arrayOf($d.Buffer))},t);const r=Gd.value((()=>{const e=Jd.decode(t.address),r=e.words.shift(),i=Jd.fromWords(e.words);return{version:r,prefix:e.prefix,data:z.from(i)}})),i=Gd.value((()=>Zd.decompile(t.redeem.input)));let n=t.network;n||(n=t.redeem&&t.redeem.network||Vd.bitcoin);const o={network:n};if(Gd.prop(o,"address",(()=>{if(!o.hash)return;const t=Jd.toWords(o.hash);return t.unshift(0),Jd.encode(n.bech32,t)})),Gd.prop(o,"hash",(()=>t.output?t.output.slice(2):t.address?r().data:o.redeem&&o.redeem.output?Wd.sha256(o.redeem.output):void 0)),Gd.prop(o,"output",(()=>{if(o.hash)return Zd.compile([Xd.OP_0,o.hash])})),Gd.prop(o,"redeem",(()=>{if(t.witness)return{output:t.witness[t.witness.length-1],input:Qd,witness:t.witness.slice(0,-1)}})),Gd.prop(o,"input",(()=>{if(o.witness)return Qd})),Gd.prop(o,"witness",(()=>{if(t.redeem&&t.redeem.input&&t.redeem.input.length>0&&t.redeem.output&&t.redeem.output.length>0){const e=Zd.toStack(i());return o.redeem=Object.assign({witness:e},t.redeem),o.redeem.input=Qd,[].concat(e,t.redeem.output)}if(t.redeem&&t.redeem.output&&t.redeem.witness)return[].concat(t.redeem.witness,t.redeem.output)})),Gd.prop(o,"name",(()=>{const t=["p2wsh"];return void 0!==o.redeem&&t.push(o.redeem.name),t.join("-")})),e.validate){let e=z.from([]);if(t.address){if(r().prefix!==n.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(0!==r().version)throw new TypeError("Invalid address version");if(32!==r().data.length)throw new TypeError("Invalid address data");e=r().data}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(34!==t.output.length||t.output[0]!==Xd.OP_0||32!==t.output[1])throw new TypeError("Output is invalid");const r=t.output.slice(2);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.redeem){if(t.redeem.network&&t.redeem.network!==n)throw new TypeError("Network mismatch");if(t.redeem.input&&t.redeem.input.length>0&&t.redeem.witness&&t.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(t.redeem.output){if(0===Zd.decompile(t.redeem.output).length)throw new TypeError("Redeem.output is invalid");const r=Wd.sha256(t.redeem.output);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.redeem.input&&!Zd.isPushOnly(i()))throw new TypeError("Non push-only scriptSig");if(t.witness&&t.redeem.witness&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.witness,t.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(t.redeem.input&&i().some(tp)||t.redeem.output&&(Zd.decompile(t.redeem.output)||[]).some(tp))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(t.witness&&t.witness.length>0){const e=t.witness[t.witness.length-1];if(t.redeem&&t.redeem.output&&!t.redeem.output.equals(e))throw new TypeError("Witness and redeem.output mismatch");if(t.witness.some(tp)||(Zd.decompile(e)||[]).some(tp))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(o,t)},Object.defineProperty(lc,"__esModule",{value:!0});const ep=cc;lc.embed=ep.p2data;const rp=Kc;lc.p2ms=rp.p2ms;const ip=Yc;lc.p2pk=ip.p2pk;const np=nd;lc.p2pkh=np.p2pkh;const op=yd;lc.p2sh=op.p2sh;const sp=kd;lc.p2wpkh=sp.p2wpkh;const hp=zd;lc.p2wsh=hp.p2wsh,Object.defineProperty(uc,"__esModule",{value:!0});const ap=fc,up=lc,fp=dc,lp=gc,cp=Nd,dp=Xs,pp=Kl;function mp(t){const e=dp.decode(t);if(e.length<21)throw new TypeError(t+" is too short");if(e.length>21)throw new TypeError(t+" is too long");return{version:e.readUInt8(0),hash:e.slice(1)}}function gp(t){const e=cp.decode(t),r=cp.fromWords(e.words.slice(1));return{version:e.words[0],prefix:e.prefix,data:z.from(r)}}uc.fromBase58Check=mp,uc.fromBech32=gp,uc.toBase58Check=function(t,e){pp(lp.tuple(lp.Hash160bit,lp.UInt8),arguments);const r=z.allocUnsafe(21);return r.writeUInt8(e,0),t.copy(r,1),dp.encode(r)},uc.toBech32=function(t,e,r){const i=cp.toWords(t);return i.unshift(e),cp.encode(r,i)},uc.fromOutputScript=function(t,e){e=e||ap.bitcoin;try{return up.p2pkh({output:t,network:e}).address}catch(t){}try{return up.p2sh({output:t,network:e}).address}catch(t){}try{return up.p2wpkh({output:t,network:e}).address}catch(t){}try{return up.p2wsh({output:t,network:e}).address}catch(t){}throw new Error(fp.toASM(t)+" has no matching Address")},uc.toOutputScript=function(t,e){let r,i;e=e||ap.bitcoin;try{r=mp(t)}catch(t){}if(r){if(r.version===e.pubKeyHash)return up.p2pkh({hash:r.hash}).output;if(r.version===e.scriptHash)return up.p2sh({hash:r.hash}).output}else{try{i=gp(t)}catch(t){}if(i){if(i.prefix!==e.bech32)throw new Error(t+" has an invalid prefix");if(0===i.version){if(20===i.data.length)return up.p2wpkh({hash:i.data}).output;if(32===i.data.length)return up.p2wsh({hash:i.data}).output}}}throw new Error(t+" has no matching Script")};var yp={},vp={exports:{}};var bp=xt.exports.Buffer,wp=A.crypto||A.msCrypto;wp&&wp.getRandomValues?vp.exports=function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var r=bp.allocUnsafe(t);if(t>0)if(t>65536)for(var i=0;i<t;i+=65536)wp.getRandomValues(r.slice(i,i+65536));else wp.getRandomValues(r);if("function"==typeof e)return re((function(){e(null,r)}));return r}:vp.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")},Object.defineProperty(yp,"__esModule",{value:!0});const Mp=fc,_p=gc,Sp=ol,Ep=vp.exports,kp=Kl,Ap=Vl,Ip=kp.maybe(kp.compile({compressed:_p.maybe(_p.Boolean),network:_p.maybe(_p.Network)}));class Tp{constructor(t,e,r){this.__D=t,this.__Q=e,this.lowR=!1,void 0===r&&(r={}),this.compressed=void 0===r.compressed||r.compressed,this.network=r.network||Mp.bitcoin,void 0!==e&&(this.__Q=Sp.pointCompress(e,this.compressed))}get privateKey(){return this.__D}get publicKey(){return this.__Q||(this.__Q=Sp.pointFromScalar(this.__D,this.compressed)),this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return Ap.encode(this.network.wif,this.__D,this.compressed)}sign(t,e){if(!this.__D)throw new Error("Missing private key");if(void 0===e&&(e=this.lowR),!1===e)return Sp.sign(t,this.__D);{let e=Sp.sign(t,this.__D);const r=z.alloc(32,0);let i=0;for(;e[0]>127;)i++,r.writeUIntLE(i,0,6),e=Sp.signWithEntropy(t,this.__D,r);return e}}verify(t,e){return Sp.verify(t,this.publicKey,e)}}function Op(t,e){if(kp(_p.Buffer256bit,t),!Sp.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return kp(Ip,e),new Tp(t,void 0,e)}yp.fromPrivateKey=Op,yp.fromPublicKey=function(t,e){return kp(Sp.isPoint,t),kp(Ip,e),new Tp(void 0,t,e)},yp.fromWIF=function(t,e){const r=Ap.decode(t),i=r.version;if(_p.Array(e)){if(!(e=e.filter((t=>i===t.wif)).pop()))throw new Error("Unknown network version")}else if(e=e||Mp.bitcoin,i!==e.wif)throw new Error("Invalid network version");return Op(r.privateKey,{compressed:r.compressed,network:e})},yp.makeRandom=function(t){kp(Ip,t),void 0===t&&(t={});const e=t.rng||Ep;let r;do{r=e(32),kp(_p.Buffer256bit,r)}while(!Sp.isPrivate(r));return Op(r,t)};var Pp={},xp={},Bp=xt.exports.Buffer;function Rp(t){if(t<0||t>9007199254740991||t%1!=0)throw new RangeError("value out of range")}function Np(t){return Rp(t),t<253?1:t<=65535?3:t<=4294967295?5:9}var Up={encode:function t(e,r,i){if(Rp(e),r||(r=Bp.allocUnsafe(Np(e))),!Bp.isBuffer(r))throw new TypeError("buffer must be a Buffer instance");return i||(i=0),e<253?(r.writeUInt8(e,i),t.bytes=1):e<=65535?(r.writeUInt8(253,i),r.writeUInt16LE(e,i+1),t.bytes=3):e<=4294967295?(r.writeUInt8(254,i),r.writeUInt32LE(e,i+1),t.bytes=5):(r.writeUInt8(255,i),r.writeUInt32LE(e>>>0,i+1),r.writeUInt32LE(e/4294967296|0,i+5),t.bytes=9),r},decode:function t(e,r){if(!Bp.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");r||(r=0);var i=e.readUInt8(r);if(i<253)return t.bytes=1,i;if(253===i)return t.bytes=3,e.readUInt16LE(r+1);if(254===i)return t.bytes=5,e.readUInt32LE(r+1);t.bytes=9;var n=e.readUInt32LE(r+1),o=4294967296*e.readUInt32LE(r+5)+n;return Rp(o),o},encodingLength:Np};Object.defineProperty(xp,"__esModule",{value:!0});const Cp=gc,Lp=Kl,Dp=Up;function jp(t,e){if("number"!=typeof t)throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}function Hp(t,e){const r=t.readUInt32LE(e);let i=t.readUInt32LE(e+4);return i*=4294967296,jp(i+r,9007199254740991),i+r}function qp(t,e,r){return jp(e,9007199254740991),t.writeInt32LE(-1&e,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8}xp.readUInt64LE=Hp,xp.writeUInt64LE=qp,xp.reverseBuffer=function(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let i=0;i<t.length/2;i++)r=t[i],t[i]=t[e],t[e]=r,e--;return t},xp.cloneBuffer=function(t){const e=z.allocUnsafe(t.length);return t.copy(e),e};xp.BufferWriter=class{constructor(t,e=0){this.buffer=t,this.offset=e,Lp(Cp.tuple(Cp.Buffer,Cp.UInt32),[t,e])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=qp(this.buffer,t,this.offset)}writeVarInt(t){Dp.encode(t,this.buffer,this.offset),this.offset+=Dp.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach((t=>this.writeVarSlice(t)))}};xp.BufferReader=class{constructor(t,e=0){this.buffer=t,this.offset=e,Lp(Cp.tuple(Cp.Buffer,Cp.UInt32),[t,e])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=Hp(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=Dp.decode(this.buffer,this.offset);return this.offset+=Dp.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const e=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,e}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),e=[];for(let r=0;r<t;r++)e.push(this.readVarSlice());return e}};var Kp={};Object.defineProperty(Kp,"__esModule",{value:!0});const Fp=xp,zp=od,Wp=dc,Vp=dc,Zp=gc,Gp=Kl,$p=Up;function Xp(t){const e=t.length;return $p.encodingLength(e)+e}const Yp=z.allocUnsafe(0),Jp=[],Qp=z.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),tm=z.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),em=z.from("ffffffffffffffff","hex"),rm={script:Yp,valueBuffer:em};class im{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,e){const r=new Fp.BufferReader(t),i=new im;i.version=r.readInt32();const n=r.readUInt8(),o=r.readUInt8();let s=!1;n===im.ADVANCED_TRANSACTION_MARKER&&o===im.ADVANCED_TRANSACTION_FLAG?s=!0:r.offset-=2;const h=r.readVarInt();for(let t=0;t<h;++t)i.ins.push({hash:r.readSlice(32),index:r.readUInt32(),script:r.readVarSlice(),sequence:r.readUInt32(),witness:Jp});const a=r.readVarInt();for(let t=0;t<a;++t)i.outs.push({value:r.readUInt64(),script:r.readVarSlice()});if(s){for(let t=0;t<h;++t)i.ins[t].witness=r.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=r.readUInt32(),e)return i;if(r.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return im.fromBuffer(z.from(t,"hex"),!1)}static isCoinbaseHash(t){Gp(Zp.Hash256bit,t);for(let e=0;e<32;++e)if(0!==t[e])return!1;return!0}isCoinbase(){return 1===this.ins.length&&im.isCoinbaseHash(this.ins[0].hash)}addInput(t,e,r,i){return Gp(Zp.tuple(Zp.Hash256bit,Zp.UInt32,Zp.maybe(Zp.UInt32),Zp.maybe(Zp.Buffer)),arguments),Zp.Null(r)&&(r=im.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:e,script:i||Yp,sequence:r,witness:Jp})-1}addOutput(t,e){return Gp(Zp.tuple(Zp.Buffer,Zp.Satoshi),arguments),this.outs.push({script:t,value:e})-1}hasWitnesses(){return this.ins.some((t=>0!==t.witness.length))}weight(){return 3*this.byteLength(!1)+this.byteLength(!0)}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const e=t&&this.hasWitnesses();return(e?10:8)+$p.encodingLength(this.ins.length)+$p.encodingLength(this.outs.length)+this.ins.reduce(((t,e)=>t+40+Xp(e.script)),0)+this.outs.reduce(((t,e)=>t+8+Xp(e.script)),0)+(e?this.ins.reduce(((t,e)=>t+function(t){const e=t.length;return $p.encodingLength(e)+t.reduce(((t,e)=>t+Xp(e)),0)}(e.witness)),0):0)}clone(){const t=new im;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map((t=>({hash:t.hash,index:t.index,script:t.script,sequence:t.sequence,witness:t.witness}))),t.outs=this.outs.map((t=>({script:t.script,value:t.value}))),t}hashForSignature(t,e,r){if(Gp(Zp.tuple(Zp.UInt32,Zp.Buffer,Zp.Number),arguments),t>=this.ins.length)return tm;const i=Wp.compile(Wp.decompile(e).filter((t=>t!==Vp.OPS.OP_CODESEPARATOR))),n=this.clone();if((31&r)===im.SIGHASH_NONE)n.outs=[],n.ins.forEach(((e,r)=>{r!==t&&(e.sequence=0)}));else if((31&r)===im.SIGHASH_SINGLE){if(t>=this.outs.length)return tm;n.outs.length=t+1;for(let e=0;e<t;e++)n.outs[e]=rm;n.ins.forEach(((e,r)=>{r!==t&&(e.sequence=0)}))}r&im.SIGHASH_ANYONECANPAY?(n.ins=[n.ins[t]],n.ins[0].script=i):(n.ins.forEach((t=>{t.script=Yp})),n.ins[t].script=i);const o=z.allocUnsafe(n.byteLength(!1)+4);return o.writeInt32LE(r,o.length-4),n.__toBuffer(o,0,!1),zp.hash256(o)}hashForWitnessV0(t,e,r,i){Gp(Zp.tuple(Zp.UInt32,Zp.Buffer,Zp.Satoshi,Zp.UInt32),arguments);let n,o=z.from([]),s=Qp,h=Qp,a=Qp;if(i&im.SIGHASH_ANYONECANPAY||(o=z.allocUnsafe(36*this.ins.length),n=new Fp.BufferWriter(o,0),this.ins.forEach((t=>{n.writeSlice(t.hash),n.writeUInt32(t.index)})),h=zp.hash256(o)),i&im.SIGHASH_ANYONECANPAY||(31&i)===im.SIGHASH_SINGLE||(31&i)===im.SIGHASH_NONE||(o=z.allocUnsafe(4*this.ins.length),n=new Fp.BufferWriter(o,0),this.ins.forEach((t=>{n.writeUInt32(t.sequence)})),a=zp.hash256(o)),(31&i)!==im.SIGHASH_SINGLE&&(31&i)!==im.SIGHASH_NONE){const t=this.outs.reduce(((t,e)=>t+8+Xp(e.script)),0);o=z.allocUnsafe(t),n=new Fp.BufferWriter(o,0),this.outs.forEach((t=>{n.writeUInt64(t.value),n.writeVarSlice(t.script)})),s=zp.hash256(o)}else if((31&i)===im.SIGHASH_SINGLE&&t<this.outs.length){const e=this.outs[t];o=z.allocUnsafe(8+Xp(e.script)),n=new Fp.BufferWriter(o,0),n.writeUInt64(e.value),n.writeVarSlice(e.script),s=zp.hash256(o)}o=z.allocUnsafe(156+Xp(e)),n=new Fp.BufferWriter(o,0);const u=this.ins[t];return n.writeUInt32(this.version),n.writeSlice(h),n.writeSlice(a),n.writeSlice(u.hash),n.writeUInt32(u.index),n.writeVarSlice(e),n.writeUInt64(r),n.writeUInt32(u.sequence),n.writeSlice(s),n.writeUInt32(this.locktime),n.writeUInt32(i),zp.hash256(o)}getHash(t){return t&&this.isCoinbase()?z.alloc(32,0):zp.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return Fp.reverseBuffer(this.getHash(!1)).toString("hex")}toBuffer(t,e){return this.__toBuffer(t,e,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,e){Gp(Zp.tuple(Zp.Number,Zp.Buffer),arguments),this.ins[t].script=e}setWitness(t,e){Gp(Zp.tuple(Zp.Number,[Zp.Buffer]),arguments),this.ins[t].witness=e}__toBuffer(t,e,r=!1){t||(t=z.allocUnsafe(this.byteLength(r)));const i=new Fp.BufferWriter(t,e||0);i.writeInt32(this.version);const n=r&&this.hasWitnesses();return n&&(i.writeUInt8(im.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(im.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach((t=>{i.writeSlice(t.hash),i.writeUInt32(t.index),i.writeVarSlice(t.script),i.writeUInt32(t.sequence)})),i.writeVarInt(this.outs.length),this.outs.forEach((t=>{void 0!==t.value?i.writeUInt64(t.value):i.writeSlice(t.valueBuffer),i.writeVarSlice(t.script)})),n&&this.ins.forEach((t=>{i.writeVector(t.witness)})),i.writeUInt32(this.locktime),void 0!==e?t.slice(e,i.offset):t}}im.DEFAULT_SEQUENCE=4294967295,im.SIGHASH_ALL=1,im.SIGHASH_NONE=2,im.SIGHASH_SINGLE=3,im.SIGHASH_ANYONECANPAY=128,im.ADVANCED_TRANSACTION_MARKER=0,im.ADVANCED_TRANSACTION_FLAG=1,Kp.Transaction=im;Object.defineProperty(Pp,"__esModule",{value:!0});const nm=xp,om=od,sm=Kp,hm=gc,am=function(t,e){if(!Array.isArray(t))throw TypeError("Expected values Array");if("function"!=typeof e)throw TypeError("Expected digest Function");for(var r=t.length,i=t.concat();r>1;){for(var n=0,o=0;o<r;o+=2,++n){var s=i[o],h=o+1===r?s:i[o+1],a=z.concat([s,h]);i[n]=e(a)}r=n}return i[0]},um=Kl,fm=Up,lm=new TypeError("Cannot compute merkle root for zero transactions"),cm=new TypeError("Cannot compute witness commit for non-segwit block");class dm{constructor(){this.version=1,this.prevHash=void 0,this.merkleRoot=void 0,this.timestamp=0,this.witnessCommit=void 0,this.bits=0,this.nonce=0,this.transactions=void 0}static fromBuffer(t){if(t.length<80)throw new Error("Buffer too small (< 80 bytes)");const e=new nm.BufferReader(t),r=new dm;if(r.version=e.readInt32(),r.prevHash=e.readSlice(32),r.merkleRoot=e.readSlice(32),r.timestamp=e.readUInt32(),r.bits=e.readUInt32(),r.nonce=e.readUInt32(),80===t.length)return r;const i=()=>{const t=sm.Transaction.fromBuffer(e.buffer.slice(e.offset),!0);return e.offset+=t.byteLength(),t},n=e.readVarInt();r.transactions=[];for(let t=0;t<n;++t){const t=i();r.transactions.push(t)}const o=r.getWitnessCommit();return o&&(r.witnessCommit=o),r}static fromHex(t){return dm.fromBuffer(z.from(t,"hex"))}static calculateTarget(t){const e=((4278190080&t)>>24)-3,r=8388607&t,i=z.alloc(32,0);return i.writeUIntBE(r,29-e,3),i}static calculateMerkleRoot(t,e){if(um([{getHash:hm.Function}],t),0===t.length)throw lm;if(e&&!pm(t))throw cm;const r=t.map((t=>t.getHash(e))),i=am(r,om.hash256);return e?om.hash256(z.concat([i,t[0].ins[0].witness[0]])):i}getWitnessCommit(){if(!pm(this.transactions))return null;const t=this.transactions[0].outs.filter((t=>t.script.slice(0,6).equals(z.from("6a24aa21a9ed","hex")))).map((t=>t.script.slice(6,38)));if(0===t.length)return null;const e=t[t.length-1];return e instanceof z&&32===e.length?e:null}hasWitnessCommit(){return this.witnessCommit instanceof z&&32===this.witnessCommit.length||null!==this.getWitnessCommit()}hasWitness(){return(t=this.transactions)instanceof Array&&t.some((t=>"object"==typeof t&&t.ins instanceof Array&&t.ins.some((t=>"object"==typeof t&&t.witness instanceof Array&&t.witness.length>0))));var t}weight(){return 3*this.byteLength(!1,!1)+this.byteLength(!1,!0)}byteLength(t,e=!0){return t||!this.transactions?80:80+fm.encodingLength(this.transactions.length)+this.transactions.reduce(((t,r)=>t+r.byteLength(e)),0)}getHash(){return om.hash256(this.toBuffer(!0))}getId(){return nm.reverseBuffer(this.getHash()).toString("hex")}getUTCDate(){const t=new Date(0);return t.setUTCSeconds(this.timestamp),t}toBuffer(t){const e=z.allocUnsafe(this.byteLength(t)),r=new nm.BufferWriter(e);return r.writeInt32(this.version),r.writeSlice(this.prevHash),r.writeSlice(this.merkleRoot),r.writeUInt32(this.timestamp),r.writeUInt32(this.bits),r.writeUInt32(this.nonce),t||!this.transactions||(fm.encode(this.transactions.length,e,r.offset),r.offset+=fm.encode.bytes,this.transactions.forEach((t=>{const i=t.byteLength();t.toBuffer(e,r.offset),r.offset+=i}))),e}toHex(t){return this.toBuffer(t).toString("hex")}checkTxRoots(){const t=this.hasWitnessCommit();return!(!t&&this.hasWitness())&&(this.__checkMerkleRoot()&&(!t||this.__checkWitnessCommit()))}checkProofOfWork(){const t=nm.reverseBuffer(this.getHash()),e=dm.calculateTarget(this.bits);return t.compare(e)<=0}__checkMerkleRoot(){if(!this.transactions)throw lm;const t=dm.calculateMerkleRoot(this.transactions);return 0===this.merkleRoot.compare(t)}__checkWitnessCommit(){if(!this.transactions)throw lm;if(!this.hasWitnessCommit())throw cm;const t=dm.calculateMerkleRoot(this.transactions,!0);return 0===this.witnessCommit.compare(t)}}function pm(t){return t instanceof Array&&t[0]&&t[0].ins&&t[0].ins instanceof Array&&t[0].ins[0]&&t[0].ins[0].witness&&t[0].ins[0].witness instanceof Array&&t[0].ins[0].witness.length>0}Pp.Block=dm;var mm={},gm={},ym={},vm={},bm={},wm={},Mm={};!function(t){var e,r,i;Object.defineProperty(t,"__esModule",{value:!0}),(e=t.GlobalTypes||(t.GlobalTypes={}))[e.UNSIGNED_TX=0]="UNSIGNED_TX",e[e.GLOBAL_XPUB=1]="GLOBAL_XPUB",t.GLOBAL_TYPE_NAMES=["unsignedTx","globalXpub"],(r=t.InputTypes||(t.InputTypes={}))[r.NON_WITNESS_UTXO=0]="NON_WITNESS_UTXO",r[r.WITNESS_UTXO=1]="WITNESS_UTXO",r[r.PARTIAL_SIG=2]="PARTIAL_SIG",r[r.SIGHASH_TYPE=3]="SIGHASH_TYPE",r[r.REDEEM_SCRIPT=4]="REDEEM_SCRIPT",r[r.WITNESS_SCRIPT=5]="WITNESS_SCRIPT",r[r.BIP32_DERIVATION=6]="BIP32_DERIVATION",r[r.FINAL_SCRIPTSIG=7]="FINAL_SCRIPTSIG",r[r.FINAL_SCRIPTWITNESS=8]="FINAL_SCRIPTWITNESS",r[r.POR_COMMITMENT=9]="POR_COMMITMENT",t.INPUT_TYPE_NAMES=["nonWitnessUtxo","witnessUtxo","partialSig","sighashType","redeemScript","witnessScript","bip32Derivation","finalScriptSig","finalScriptWitness","porCommitment"],(i=t.OutputTypes||(t.OutputTypes={}))[i.REDEEM_SCRIPT=0]="REDEEM_SCRIPT",i[i.WITNESS_SCRIPT=1]="WITNESS_SCRIPT",i[i.BIP32_DERIVATION=2]="BIP32_DERIVATION",t.OUTPUT_TYPE_NAMES=["redeemScript","witnessScript","bip32Derivation"]}(Mm);var _m={};Object.defineProperty(_m,"__esModule",{value:!0});const Sm=Mm;_m.decode=function(t){if(t.key[0]!==Sm.GlobalTypes.GLOBAL_XPUB)throw new Error("Decode Error: could not decode globalXpub with key 0x"+t.key.toString("hex"));if(79!==t.key.length||![2,3].includes(t.key[46]))throw new Error("Decode Error: globalXpub has invalid extended pubkey in key 0x"+t.key.toString("hex"));if(t.value.length/4%1!=0)throw new Error("Decode Error: Global GLOBAL_XPUB value length should be multiple of 4");const e=t.key.slice(1),r={masterFingerprint:t.value.slice(0,4),extendedPubkey:e,path:"m"};for(const e of(t=>[...Array(t).keys()])(t.value.length/4-1)){const i=t.value.readUInt32LE(4*e+4),n=!!(2147483648&i),o=2147483647&i;r.path+="/"+o.toString(10)+(n?"'":"")}return r},_m.encode=function(t){const e=z.from([Sm.GlobalTypes.GLOBAL_XPUB]),r=z.concat([e,t.extendedPubkey]),i=t.path.split("/"),n=z.allocUnsafe(4*i.length);t.masterFingerprint.copy(n,0);let o=4;return i.slice(1).forEach((t=>{const e="'"===t.slice(-1);let r=2147483647&parseInt(e?t.slice(0,-1):t,10);e&&(r+=2147483648),n.writeUInt32LE(r,o),o+=4})),{key:r,value:n}},_m.expected="{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }",_m.check=function(t){const e=t.extendedPubkey,r=t.masterFingerprint,i=t.path;return At(e)&&78===e.length&&[2,3].indexOf(e[45])>-1&&At(r)&&4===r.length&&"string"==typeof i&&!!i.match(/^m(\/\d+'?)+$/)},_m.canAddToArray=function(t,e,r){const i=e.extendedPubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.extendedPubkey.equals(e.extendedPubkey))).length)};var Em={};Object.defineProperty(Em,"__esModule",{value:!0});const km=Mm;Em.encode=function(t){return{key:z.from([km.GlobalTypes.UNSIGNED_TX]),value:t.toBuffer()}};var Am={};Object.defineProperty(Am,"__esModule",{value:!0});const Im=Mm;Am.decode=function(t){if(t.key[0]!==Im.InputTypes.FINAL_SCRIPTSIG)throw new Error("Decode Error: could not decode finalScriptSig with key 0x"+t.key.toString("hex"));return t.value},Am.encode=function(t){return{key:z.from([Im.InputTypes.FINAL_SCRIPTSIG]),value:t}},Am.expected="Buffer",Am.check=function(t){return At(t)},Am.canAdd=function(t,e){return!!t&&!!e&&void 0===t.finalScriptSig};var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});const Om=Mm;Tm.decode=function(t){if(t.key[0]!==Om.InputTypes.FINAL_SCRIPTWITNESS)throw new Error("Decode Error: could not decode finalScriptWitness with key 0x"+t.key.toString("hex"));return t.value},Tm.encode=function(t){return{key:z.from([Om.InputTypes.FINAL_SCRIPTWITNESS]),value:t}},Tm.expected="Buffer",Tm.check=function(t){return At(t)},Tm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.finalScriptWitness};var Pm={};Object.defineProperty(Pm,"__esModule",{value:!0});const xm=Mm;Pm.decode=function(t){if(t.key[0]!==xm.InputTypes.NON_WITNESS_UTXO)throw new Error("Decode Error: could not decode nonWitnessUtxo with key 0x"+t.key.toString("hex"));return t.value},Pm.encode=function(t){return{key:z.from([xm.InputTypes.NON_WITNESS_UTXO]),value:t}},Pm.expected="Buffer",Pm.check=function(t){return At(t)},Pm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.nonWitnessUtxo};var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0});const Rm=Mm;Bm.decode=function(t){if(t.key[0]!==Rm.InputTypes.PARTIAL_SIG)throw new Error("Decode Error: could not decode partialSig with key 0x"+t.key.toString("hex"));if(34!==t.key.length&&66!==t.key.length||![2,3,4].includes(t.key[1]))throw new Error("Decode Error: partialSig has invalid pubkey in key 0x"+t.key.toString("hex"));return{pubkey:t.key.slice(1),signature:t.value}},Bm.encode=function(t){const e=z.from([Rm.InputTypes.PARTIAL_SIG]);return{key:z.concat([e,t.pubkey]),value:t.signature}},Bm.expected="{ pubkey: Buffer; signature: Buffer; }",Bm.check=function(t){return At(t.pubkey)&&At(t.signature)&&[33,65].includes(t.pubkey.length)&&[2,3,4].includes(t.pubkey[0])&&function(t){if(!At(t)||t.length<9)return!1;if(48!==t[0])return!1;if(t.length!==t[1]+3)return!1;if(2!==t[2])return!1;const e=t[3];if(e>33||e<1)return!1;if(2!==t[3+e+1])return!1;const r=t[3+e+2];return!(r>33||r<1)&&t.length===3+e+2+r+2}(t.signature)},Bm.canAddToArray=function(t,e,r){const i=e.pubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.pubkey.equals(e.pubkey))).length)};var Nm={};Object.defineProperty(Nm,"__esModule",{value:!0});const Um=Mm;Nm.decode=function(t){if(t.key[0]!==Um.InputTypes.POR_COMMITMENT)throw new Error("Decode Error: could not decode porCommitment with key 0x"+t.key.toString("hex"));return t.value.toString("utf8")},Nm.encode=function(t){return{key:z.from([Um.InputTypes.POR_COMMITMENT]),value:z.from(t,"utf8")}},Nm.expected="string",Nm.check=function(t){return"string"==typeof t},Nm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.porCommitment};var Cm={};Object.defineProperty(Cm,"__esModule",{value:!0});const Lm=Mm;Cm.decode=function(t){if(t.key[0]!==Lm.InputTypes.SIGHASH_TYPE)throw new Error("Decode Error: could not decode sighashType with key 0x"+t.key.toString("hex"));return t.value.readUInt32LE(0)},Cm.encode=function(t){const e=z.from([Lm.InputTypes.SIGHASH_TYPE]),r=z.allocUnsafe(4);return r.writeUInt32LE(t,0),{key:e,value:r}},Cm.expected="number",Cm.check=function(t){return"number"==typeof t},Cm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.sighashType};var Dm={},jm={},Hm={};Object.defineProperty(Hm,"__esModule",{value:!0});function qm(t){if(t<0||t>9007199254740991||t%1!=0)throw new RangeError("value out of range")}function Km(t){return qm(t),t<253?1:t<=65535?3:t<=4294967295?5:9}Hm.encode=function t(e,r,i){if(qm(e),r||(r=z.allocUnsafe(Km(e))),!At(r))throw new TypeError("buffer must be a Buffer instance");return i||(i=0),e<253?(r.writeUInt8(e,i),Object.assign(t,{bytes:1})):e<=65535?(r.writeUInt8(253,i),r.writeUInt16LE(e,i+1),Object.assign(t,{bytes:3})):e<=4294967295?(r.writeUInt8(254,i),r.writeUInt32LE(e,i+1),Object.assign(t,{bytes:5})):(r.writeUInt8(255,i),r.writeUInt32LE(e>>>0,i+1),r.writeUInt32LE(e/4294967296|0,i+5),Object.assign(t,{bytes:9})),r},Hm.decode=function t(e,r){if(!At(e))throw new TypeError("buffer must be a Buffer instance");r||(r=0);const i=e.readUInt8(r);if(i<253)return Object.assign(t,{bytes:1}),i;if(253===i)return Object.assign(t,{bytes:3}),e.readUInt16LE(r+1);if(254===i)return Object.assign(t,{bytes:5}),e.readUInt32LE(r+1);{Object.assign(t,{bytes:9});const i=e.readUInt32LE(r+1),n=4294967296*e.readUInt32LE(r+5)+i;return qm(n),n}},Hm.encodingLength=Km,Object.defineProperty(jm,"__esModule",{value:!0});const Fm=Hm;function zm(t){const e=t.key.length,r=t.value.length,i=Fm.encodingLength(e),n=Fm.encodingLength(r),o=z.allocUnsafe(i+e+n+r);return Fm.encode(e,o,0),t.key.copy(o,i),Fm.encode(r,o,i+e),t.value.copy(o,i+e+n),o}function Wm(t,e){if("number"!=typeof t)throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}jm.range=t=>[...Array(t).keys()],jm.reverseBuffer=function(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let i=0;i<t.length/2;i++)r=t[i],t[i]=t[e],t[e]=r,e--;return t},jm.keyValsToBuffer=function(t){const e=t.map(zm);return e.push(z.from([0])),z.concat(e)},jm.keyValToBuffer=zm,jm.readUInt64LE=function(t,e){const r=t.readUInt32LE(e);let i=t.readUInt32LE(e+4);return i*=4294967296,Wm(i+r,9007199254740991),i+r},jm.writeUInt64LE=function(t,e,r){return Wm(e,9007199254740991),t.writeInt32LE(-1&e,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8},Object.defineProperty(Dm,"__esModule",{value:!0});const Vm=Mm,Zm=jm,Gm=Hm;Dm.decode=function(t){if(t.key[0]!==Vm.InputTypes.WITNESS_UTXO)throw new Error("Decode Error: could not decode witnessUtxo with key 0x"+t.key.toString("hex"));const e=Zm.readUInt64LE(t.value,0);let r=8;const i=Gm.decode(t.value,r);r+=Gm.encodingLength(i);const n=t.value.slice(r);if(n.length!==i)throw new Error("Decode Error: WITNESS_UTXO script is not proper length");return{script:n,value:e}},Dm.encode=function(t){const{script:e,value:r}=t,i=Gm.encodingLength(e.length),n=z.allocUnsafe(8+i+e.length);return Zm.writeUInt64LE(n,r,0),Gm.encode(e.length,n,8),e.copy(n,8+i),{key:z.from([Vm.InputTypes.WITNESS_UTXO]),value:n}},Dm.expected="{ script: Buffer; value: number; }",Dm.check=function(t){return At(t.script)&&"number"==typeof t.value},Dm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.witnessUtxo};var $m={};Object.defineProperty($m,"__esModule",{value:!0});$m.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode bip32Derivation with key 0x"+e.key.toString("hex"));if(34!==e.key.length&&66!==e.key.length||![2,3,4].includes(e.key[1]))throw new Error("Decode Error: bip32Derivation has invalid pubkey in key 0x"+e.key.toString("hex"));if(e.value.length/4%1!=0)throw new Error("Decode Error: Input BIP32_DERIVATION value length should be multiple of 4");const r=e.key.slice(1),i={masterFingerprint:e.value.slice(0,4),pubkey:r,path:"m"};for(const t of(t=>[...Array(t).keys()])(e.value.length/4-1)){const r=e.value.readUInt32LE(4*t+4),n=!!(2147483648&r),o=2147483647&r;i.path+="/"+o.toString(10)+(n?"'":"")}return i},encode:function(e){const r=z.from([t]),i=z.concat([r,e.pubkey]),n=e.path.split("/"),o=z.allocUnsafe(4*n.length);e.masterFingerprint.copy(o,0);let s=4;return n.slice(1).forEach((t=>{const e="'"===t.slice(-1);let r=2147483647&parseInt(e?t.slice(0,-1):t,10);e&&(r+=2147483648),o.writeUInt32LE(r,s),s+=4})),{key:i,value:o}},check:function(t){return At(t.pubkey)&&At(t.masterFingerprint)&&"string"==typeof t.path&&[33,65].includes(t.pubkey.length)&&[2,3,4].includes(t.pubkey[0])&&4===t.masterFingerprint.length},expected:"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }",canAddToArray:function(t,e,r){const i=e.pubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.pubkey.equals(e.pubkey))).length)}}};var Xm={};Object.defineProperty(Xm,"__esModule",{value:!0}),Xm.makeChecker=function(t){return function(e){let r;if(t.includes(e.key[0])&&(r=e.key.slice(1),33!==r.length&&65!==r.length||![2,3,4].includes(r[0])))throw new Error("Format Error: invalid pubkey in key 0x"+e.key.toString("hex"));return r}};var Ym={};Object.defineProperty(Ym,"__esModule",{value:!0}),Ym.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode redeemScript with key 0x"+e.key.toString("hex"));return e.value},encode:function(e){return{key:z.from([t]),value:e}},check:function(t){return At(t)},expected:"Buffer",canAdd:function(t,e){return!!t&&!!e&&void 0===t.redeemScript}}};var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0}),Jm.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode witnessScript with key 0x"+e.key.toString("hex"));return e.value},encode:function(e){return{key:z.from([t]),value:e}},check:function(t){return At(t)},expected:"Buffer",canAdd:function(t,e){return!!t&&!!e&&void 0===t.witnessScript}}},Object.defineProperty(wm,"__esModule",{value:!0});const Qm=Mm,tg=Am,eg=Tm,rg=Pm,ig=Bm,ng=Nm,og=Cm,sg=Dm,hg=$m,ag=Xm,ug=Ym,fg=Jm,lg={unsignedTx:Em,globalXpub:_m,checkPubkey:ag.makeChecker([])};wm.globals=lg;const cg={nonWitnessUtxo:rg,partialSig:ig,sighashType:og,finalScriptSig:tg,finalScriptWitness:eg,porCommitment:ng,witnessUtxo:sg,bip32Derivation:hg.makeConverter(Qm.InputTypes.BIP32_DERIVATION),redeemScript:ug.makeConverter(Qm.InputTypes.REDEEM_SCRIPT),witnessScript:fg.makeConverter(Qm.InputTypes.WITNESS_SCRIPT),checkPubkey:ag.makeChecker([Qm.InputTypes.PARTIAL_SIG,Qm.InputTypes.BIP32_DERIVATION])};wm.inputs=cg;const dg={bip32Derivation:hg.makeConverter(Qm.OutputTypes.BIP32_DERIVATION),redeemScript:ug.makeConverter(Qm.OutputTypes.REDEEM_SCRIPT),witnessScript:fg.makeConverter(Qm.OutputTypes.WITNESS_SCRIPT),checkPubkey:ag.makeChecker([Qm.OutputTypes.BIP32_DERIVATION])};wm.outputs=dg,Object.defineProperty(bm,"__esModule",{value:!0});const pg=wm,mg=jm,gg=Hm,yg=Mm;function vg(t,e,r){if(!e.equals(z.from([r])))throw new Error(`Format Error: Invalid ${t} key: ${e.toString("hex")}`)}function bg(t,{globalMapKeyVals:e,inputKeyVals:r,outputKeyVals:i}){const n={unsignedTx:t};let o=0;for(const t of e)switch(t.key[0]){case yg.GlobalTypes.UNSIGNED_TX:if(vg("global",t.key,yg.GlobalTypes.UNSIGNED_TX),o>0)throw new Error("Format Error: GlobalMap has multiple UNSIGNED_TX");o++;break;case yg.GlobalTypes.GLOBAL_XPUB:void 0===n.globalXpub&&(n.globalXpub=[]),n.globalXpub.push(pg.globals.globalXpub.decode(t));break;default:n.unknownKeyVals||(n.unknownKeyVals=[]),n.unknownKeyVals.push(t)}const s=r.length,h=i.length,a=[],u=[];for(const t of mg.range(s)){const e={};for(const i of r[t])switch(pg.inputs.checkPubkey(i),i.key[0]){case yg.InputTypes.NON_WITNESS_UTXO:if(vg("input",i.key,yg.InputTypes.NON_WITNESS_UTXO),void 0!==e.nonWitnessUtxo)throw new Error("Format Error: Input has multiple NON_WITNESS_UTXO");e.nonWitnessUtxo=pg.inputs.nonWitnessUtxo.decode(i);break;case yg.InputTypes.WITNESS_UTXO:if(vg("input",i.key,yg.InputTypes.WITNESS_UTXO),void 0!==e.witnessUtxo)throw new Error("Format Error: Input has multiple WITNESS_UTXO");e.witnessUtxo=pg.inputs.witnessUtxo.decode(i);break;case yg.InputTypes.PARTIAL_SIG:void 0===e.partialSig&&(e.partialSig=[]),e.partialSig.push(pg.inputs.partialSig.decode(i));break;case yg.InputTypes.SIGHASH_TYPE:if(vg("input",i.key,yg.InputTypes.SIGHASH_TYPE),void 0!==e.sighashType)throw new Error("Format Error: Input has multiple SIGHASH_TYPE");e.sighashType=pg.inputs.sighashType.decode(i);break;case yg.InputTypes.REDEEM_SCRIPT:if(vg("input",i.key,yg.InputTypes.REDEEM_SCRIPT),void 0!==e.redeemScript)throw new Error("Format Error: Input has multiple REDEEM_SCRIPT");e.redeemScript=pg.inputs.redeemScript.decode(i);break;case yg.InputTypes.WITNESS_SCRIPT:if(vg("input",i.key,yg.InputTypes.WITNESS_SCRIPT),void 0!==e.witnessScript)throw new Error("Format Error: Input has multiple WITNESS_SCRIPT");e.witnessScript=pg.inputs.witnessScript.decode(i);break;case yg.InputTypes.BIP32_DERIVATION:void 0===e.bip32Derivation&&(e.bip32Derivation=[]),e.bip32Derivation.push(pg.inputs.bip32Derivation.decode(i));break;case yg.InputTypes.FINAL_SCRIPTSIG:vg("input",i.key,yg.InputTypes.FINAL_SCRIPTSIG),e.finalScriptSig=pg.inputs.finalScriptSig.decode(i);break;case yg.InputTypes.FINAL_SCRIPTWITNESS:vg("input",i.key,yg.InputTypes.FINAL_SCRIPTWITNESS),e.finalScriptWitness=pg.inputs.finalScriptWitness.decode(i);break;case yg.InputTypes.POR_COMMITMENT:vg("input",i.key,yg.InputTypes.POR_COMMITMENT),e.porCommitment=pg.inputs.porCommitment.decode(i);break;default:e.unknownKeyVals||(e.unknownKeyVals=[]),e.unknownKeyVals.push(i)}a.push(e)}for(const t of mg.range(h)){const e={};for(const r of i[t])switch(pg.outputs.checkPubkey(r),r.key[0]){case yg.OutputTypes.REDEEM_SCRIPT:if(vg("output",r.key,yg.OutputTypes.REDEEM_SCRIPT),void 0!==e.redeemScript)throw new Error("Format Error: Output has multiple REDEEM_SCRIPT");e.redeemScript=pg.outputs.redeemScript.decode(r);break;case yg.OutputTypes.WITNESS_SCRIPT:if(vg("output",r.key,yg.OutputTypes.WITNESS_SCRIPT),void 0!==e.witnessScript)throw new Error("Format Error: Output has multiple WITNESS_SCRIPT");e.witnessScript=pg.outputs.witnessScript.decode(r);break;case yg.OutputTypes.BIP32_DERIVATION:void 0===e.bip32Derivation&&(e.bip32Derivation=[]),e.bip32Derivation.push(pg.outputs.bip32Derivation.decode(r));break;default:e.unknownKeyVals||(e.unknownKeyVals=[]),e.unknownKeyVals.push(r)}u.push(e)}return{globalMap:n,inputs:a,outputs:u}}bm.psbtFromBuffer=function(t,e){let r=0;function i(){const e=gg.decode(t,r);r+=gg.encodingLength(e);const i=t.slice(r,r+e);return r+=e,i}function n(){return{key:i(),value:i()}}function o(){if(r>=t.length)throw new Error("Format Error: Unexpected End of PSBT");const e=0===t.readUInt8(r);return e&&r++,e}if(1886610036!==function(){const e=t.readUInt32BE(r);return r+=4,e}())throw new Error("Format Error: Invalid Magic Number");if(255!==function(){const e=t.readUInt8(r);return r+=1,e}())throw new Error("Format Error: Magic Number must be followed by 0xff separator");const s=[],h={};for(;!o();){const t=n(),e=t.key.toString("hex");if(h[e])throw new Error("Format Error: Keys must be unique for global keymap: key "+e);h[e]=1,s.push(t)}const a=s.filter((t=>t.key[0]===yg.GlobalTypes.UNSIGNED_TX));if(1!==a.length)throw new Error("Format Error: Only one UNSIGNED_TX allowed");const u=e(a[0].value),{inputCount:f,outputCount:l}=u.getInputOutputCounts(),c=[],d=[];for(const t of mg.range(f)){const e={},r=[];for(;!o();){const i=n(),o=i.key.toString("hex");if(e[o])throw new Error("Format Error: Keys must be unique for each input: input index "+t+" key "+o);e[o]=1,r.push(i)}c.push(r)}for(const t of mg.range(l)){const e={},r=[];for(;!o();){const i=n(),o=i.key.toString("hex");if(e[o])throw new Error("Format Error: Keys must be unique for each output: output index "+t+" key "+o);e[o]=1,r.push(i)}d.push(r)}return bg(u,{globalMapKeyVals:s,inputKeyVals:c,outputKeyVals:d})},bm.checkKeyBuffer=vg,bm.psbtFromKeyVals=bg;var wg={};Object.defineProperty(wg,"__esModule",{value:!0});const Mg=wm,_g=jm;wg.psbtToBuffer=function({globalMap:t,inputs:e,outputs:r}){const{globalKeyVals:i,inputKeyVals:n,outputKeyVals:o}=kg({globalMap:t,inputs:e,outputs:r}),s=_g.keyValsToBuffer(i),h=t=>0===t.length?[z.from([0])]:t.map(_g.keyValsToBuffer),a=h(n),u=h(o),f=z.allocUnsafe(5);return f.writeUIntBE(482972169471,0,5),z.concat([f,s].concat(a,u))};const Sg=(t,e)=>t.key.compare(e.key);function Eg(t,e){const r=new Set,i=Object.entries(t).reduce(((t,[i,n])=>{if("unknownKeyVals"===i)return t;const o=e[i];if(void 0===o)return t;const s=(Array.isArray(n)?n:[n]).map(o.encode);return s.map((t=>t.key.toString("hex"))).forEach((t=>{if(r.has(t))throw new Error("Serialize Error: Duplicate key: "+t);r.add(t)})),t.concat(s)}),[]),n=t.unknownKeyVals?t.unknownKeyVals.filter((t=>!r.has(t.key.toString("hex")))):[];return i.concat(n).sort(Sg)}function kg({globalMap:t,inputs:e,outputs:r}){return{globalKeyVals:Eg(t,Mg.globals),inputKeyVals:e.map((t=>Eg(t,Mg.inputs))),outputKeyVals:r.map((t=>Eg(t,Mg.outputs)))}}wg.psbtToKeyVals=kg,function(t){function e(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}Object.defineProperty(t,"__esModule",{value:!0}),e(bm),e(wg)}(vm),Object.defineProperty(ym,"__esModule",{value:!0});const Ag=vm;function Ig(t,e,r){return i=>{if(t.has(i))return;const n=r.filter((t=>t.key.toString("hex")===i))[0];e.push(n),t.add(i)}}function Tg(t){return t.globalMap.unsignedTx}function Og(t){const e=new Set;return t.forEach((t=>{const r=t.key.toString("hex");if(e.has(r))throw new Error("Combine: KeyValue Map keys should be unique");e.add(r)})),e}ym.combine=function(t){const e=t[0],r=Ag.psbtToKeyVals(e),i=t.slice(1);if(0===i.length)throw new Error("Combine: Nothing to combine");const n=Tg(e);if(void 0===n)throw new Error("Combine: Self missing transaction");const o=Og(r.globalKeyVals),s=r.inputKeyVals.map(Og),h=r.outputKeyVals.map(Og);for(const t of i){const e=Tg(t);if(void 0===e||!e.toBuffer().equals(n.toBuffer()))throw new Error("Combine: One of the Psbts does not have the same transaction.");const i=Ag.psbtToKeyVals(t);Og(i.globalKeyVals).forEach(Ig(o,r.globalKeyVals,i.globalKeyVals));i.inputKeyVals.map(Og).forEach(((t,e)=>t.forEach(Ig(s[e],r.inputKeyVals[e],i.inputKeyVals[e]))));i.outputKeyVals.map(Og).forEach(((t,e)=>t.forEach(Ig(h[e],r.outputKeyVals[e],i.outputKeyVals[e]))))}return Ag.psbtFromKeyVals(n,{globalMapKeyVals:r.globalKeyVals,inputKeyVals:r.inputKeyVals,outputKeyVals:r.outputKeyVals})};var Pg={};!function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=wm;function r(t,e){const r=t[e];if(void 0===r)throw new Error(`No input #${e}`);return r}function i(t,e,r,i){throw new Error(`Data for ${t} key ${e} is incorrect: Expected ${r} and got ${JSON.stringify(i)}`)}function n(t){return(r,n)=>{for(const o of Object.keys(r)){const s=r[o],{canAdd:h,canAddToArray:a,check:u,expected:f}=e[t+"s"][o]||{},l=!!a;if(u)if(l){if(!Array.isArray(s)||n[o]&&!Array.isArray(n[o]))throw new Error(`Key type ${o} must be an array`);s.every(u)||i(t,o,f,s);const e=n[o]||[],r=new Set;if(!s.every((t=>a(e,t,r))))throw new Error("Can not add duplicate data to array");n[o]=e.concat(s)}else{if(u(s)||i(t,o,f,s),!h(n,s))throw new Error(`Can not add duplicate data to ${t}`);n[o]=s}}}}t.checkForInput=r,t.checkForOutput=function(t,e){const r=t[e];if(void 0===r)throw new Error(`No output #${e}`);return r},t.checkHasKey=function(t,e,r){if(t.key[0]<r)throw new Error("Use the method for your specific key instead of addUnknownKeyVal*");if(e&&0!==e.filter((e=>e.key.equals(t.key))).length)throw new Error(`Duplicate Key: ${t.key.toString("hex")}`)},t.getEnumLength=function(t){let e=0;return Object.keys(t).forEach((t=>{Number(isNaN(Number(t)))&&e++})),e},t.inputCheckUncleanFinalized=function(t,e){let r=!1;if(e.nonWitnessUtxo||e.witnessUtxo){const t=!!e.redeemScript,i=!!e.witnessScript,n=!t||!!e.finalScriptSig,o=!i||!!e.finalScriptWitness,s=!!e.finalScriptSig||!!e.finalScriptWitness;r=n&&o&&s}if(!1===r)throw new Error(`Input #${t} has too much or too little data to clean`)},t.updateGlobal=n("global"),t.updateInput=n("input"),t.updateOutput=n("output"),t.addInputAttributes=function(e,i){const n=r(e,e.length-1);t.updateInput(i,n)},t.addOutputAttributes=function(e,i){const n=r(e,e.length-1);t.updateOutput(i,n)},t.defaultVersionSetter=function(t,e){if(!At(e)||e.length<4)throw new Error("Set Version: Invalid Transaction");return e.writeUInt32LE(t,0),e},t.defaultLocktimeSetter=function(t,e){if(!At(e)||e.length<4)throw new Error("Set Locktime: Invalid Transaction");return e.writeUInt32LE(t,e.length-4),e}}(Pg),Object.defineProperty(gm,"__esModule",{value:!0});const xg=ym,Bg=vm,Rg=Mm,Ng=Pg;gm.Psbt=class{constructor(t){this.inputs=[],this.outputs=[],this.globalMap={unsignedTx:t}}static fromBase64(t,e){const r=z.from(t,"base64");return this.fromBuffer(r,e)}static fromHex(t,e){const r=z.from(t,"hex");return this.fromBuffer(r,e)}static fromBuffer(t,e){const r=Bg.psbtFromBuffer(t,e),i=new this(r.globalMap.unsignedTx);return Object.assign(i,r),i}toBase64(){return this.toBuffer().toString("base64")}toHex(){return this.toBuffer().toString("hex")}toBuffer(){return Bg.psbtToBuffer(this)}updateGlobal(t){return Ng.updateGlobal(t,this.globalMap),this}updateInput(t,e){const r=Ng.checkForInput(this.inputs,t);return Ng.updateInput(e,r),this}updateOutput(t,e){const r=Ng.checkForOutput(this.outputs,t);return Ng.updateOutput(e,r),this}addUnknownKeyValToGlobal(t){return Ng.checkHasKey(t,this.globalMap.unknownKeyVals,Ng.getEnumLength(Rg.GlobalTypes)),this.globalMap.unknownKeyVals||(this.globalMap.unknownKeyVals=[]),this.globalMap.unknownKeyVals.push(t),this}addUnknownKeyValToInput(t,e){const r=Ng.checkForInput(this.inputs,t);return Ng.checkHasKey(e,r.unknownKeyVals,Ng.getEnumLength(Rg.InputTypes)),r.unknownKeyVals||(r.unknownKeyVals=[]),r.unknownKeyVals.push(e),this}addUnknownKeyValToOutput(t,e){const r=Ng.checkForOutput(this.outputs,t);return Ng.checkHasKey(e,r.unknownKeyVals,Ng.getEnumLength(Rg.OutputTypes)),r.unknownKeyVals||(r.unknownKeyVals=[]),r.unknownKeyVals.push(e),this}addInput(t){this.globalMap.unsignedTx.addInput(t),this.inputs.push({unknownKeyVals:[]});const e=t.unknownKeyVals||[],r=this.inputs.length-1;if(!Array.isArray(e))throw new Error("unknownKeyVals must be an Array");return e.forEach((t=>this.addUnknownKeyValToInput(r,t))),Ng.addInputAttributes(this.inputs,t),this}addOutput(t){this.globalMap.unsignedTx.addOutput(t),this.outputs.push({unknownKeyVals:[]});const e=t.unknownKeyVals||[],r=this.outputs.length-1;if(!Array.isArray(e))throw new Error("unknownKeyVals must be an Array");return e.forEach((t=>this.addUnknownKeyValToInput(r,t))),Ng.addOutputAttributes(this.outputs,t),this}clearFinalizedInput(t){const e=Ng.checkForInput(this.inputs,t);Ng.inputCheckUncleanFinalized(t,e);for(const t of Object.keys(e))["witnessUtxo","nonWitnessUtxo","finalScriptSig","finalScriptWitness","unknownKeyVals"].includes(t)||delete e[t];return this}combine(...t){const e=xg.combine([this].concat(t));return Object.assign(this,e),this}getTransaction(){return this.globalMap.unsignedTx.toBuffer()}},Object.defineProperty(mm,"__esModule",{value:!0});const Ug=gm,Cg=Hm,Lg=Pg,Dg=uc,jg=xp,Hg=od,qg=yp,Kg=lc,Fg=dc,zg=Kp,Wg={network:fc.bitcoin,maximumFeeRate:5e3};class Vg{constructor(t={},e=new Ug.Psbt(new Gg)){this.data=e,this.opts=Object.assign({},Wg,t),this.__CACHE={__NON_WITNESS_UTXO_TX_CACHE:[],__NON_WITNESS_UTXO_BUF_CACHE:[],__TX_IN_CACHE:{},__TX:this.data.globalMap.unsignedTx.tx,__UNSAFE_SIGN_NONSEGWIT:!1},0===this.data.inputs.length&&this.setVersion(2);const r=(t,e,r,i)=>Object.defineProperty(t,e,{enumerable:r,writable:i});r(this,"__CACHE",!1,!0),r(this,"opts",!1,!0)}static fromBase64(t,e={}){const r=z.from(t,"base64");return this.fromBuffer(r,e)}static fromHex(t,e={}){const r=z.from(t,"hex");return this.fromBuffer(r,e)}static fromBuffer(t,e={}){const r=Ug.Psbt.fromBuffer(t,Zg),i=new Vg(e,r);var n,o;return n=i.__CACHE.__TX,o=i.__CACHE,n.ins.forEach((t=>{uy(o,t)})),i}get inputCount(){return this.data.inputs.length}get version(){return this.__CACHE.__TX.version}set version(t){this.setVersion(t)}get locktime(){return this.__CACHE.__TX.locktime}set locktime(t){this.setLocktime(t)}get txInputs(){return this.__CACHE.__TX.ins.map((t=>({hash:jg.cloneBuffer(t.hash),index:t.index,sequence:t.sequence})))}get txOutputs(){return this.__CACHE.__TX.outs.map((t=>{let e;try{e=Dg.fromOutputScript(t.script,this.opts.network)}catch(t){}return{script:jg.cloneBuffer(t.script),value:t.value,address:e}}))}combine(...t){return this.data.combine(...t.map((t=>t.data))),this}clone(){const t=Vg.fromBuffer(this.data.toBuffer());return t.opts=JSON.parse(JSON.stringify(this.opts)),t}setMaximumFeeRate(t){sy(t),this.opts.maximumFeeRate=t}setVersion(t){sy(t),hy(this.data.inputs,"setVersion");const e=this.__CACHE;return e.__TX.version=t,e.__EXTRACTED_TX=void 0,this}setLocktime(t){sy(t),hy(this.data.inputs,"setLocktime");const e=this.__CACHE;return e.__TX.locktime=t,e.__EXTRACTED_TX=void 0,this}setInputSequence(t,e){sy(e),hy(this.data.inputs,"setInputSequence");const r=this.__CACHE;if(r.__TX.ins.length<=t)throw new Error("Input index too high");return r.__TX.ins[t].sequence=e,r.__EXTRACTED_TX=void 0,this}addInputs(t){return t.forEach((t=>this.addInput(t))),this}addInput(t){if(arguments.length>1||!t||void 0===t.hash||void 0===t.index)throw new Error("Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]");hy(this.data.inputs,"addInput"),t.witnessScript&&Ay(t.witnessScript);const e=this.__CACHE;this.data.addInput(t);uy(e,e.__TX.ins[e.__TX.ins.length-1]);const r=this.data.inputs.length-1,i=this.data.inputs[r];return i.nonWitnessUtxo&&wy(this.__CACHE,i,r),e.__FEE=void 0,e.__FEE_RATE=void 0,e.__EXTRACTED_TX=void 0,this}addOutputs(t){return t.forEach((t=>this.addOutput(t))),this}addOutput(t){if(arguments.length>1||!t||void 0===t.value||void 0===t.address&&void 0===t.script)throw new Error("Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]");hy(this.data.inputs,"addOutput");const{address:e}=t;if("string"==typeof e){const{network:r}=this.opts,i=Dg.toOutputScript(e,r);t=Object.assign(t,{script:i})}const r=this.__CACHE;return this.data.addOutput(t),r.__FEE=void 0,r.__FEE_RATE=void 0,r.__EXTRACTED_TX=void 0,this}extractTransaction(t){if(!this.data.inputs.every(Yg))throw new Error("Not finalized");const e=this.__CACHE;if(t||function(t,e,r){const i=e.__FEE_RATE||t.getFeeRate(),n=e.__EXTRACTED_TX.virtualSize(),o=i*n;if(i>=r.maximumFeeRate)throw new Error(`Warning: You are paying around ${(o/1e8).toFixed(8)} in fees, which is ${i} satoshi per byte for a transaction with a VSize of ${n} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`)}(this,e,this.opts),e.__EXTRACTED_TX)return e.__EXTRACTED_TX;const r=e.__TX.clone();return My(this.data.inputs,r,e,!0),r}getFeeRate(){return dy("__FEE_RATE","fee rate",this.data.inputs,this.__CACHE)}getFee(){return dy("__FEE","fee",this.data.inputs,this.__CACHE)}finalizeAllInputs(){return Lg.checkForInput(this.data.inputs,0),Oy(this.data.inputs.length).forEach((t=>this.finalizeInput(t))),this}finalizeInput(t,e=py){const r=Lg.checkForInput(this.data.inputs,t),{script:i,isP2SH:n,isP2WSH:o,isSegwit:s}=function(t,e,r){const i=r.__TX,n={script:null,isSegwit:!1,isP2SH:!1,isP2WSH:!1};if(n.isP2SH=!!e.redeemScript,n.isP2WSH=!!e.witnessScript,e.witnessScript)n.script=e.witnessScript;else if(e.redeemScript)n.script=e.redeemScript;else if(e.nonWitnessUtxo){const o=_y(r,e,t),s=i.ins[t].index;n.script=o.outs[s].script}else e.witnessUtxo&&(n.script=e.witnessUtxo.script);(e.witnessScript||ry(n.script))&&(n.isSegwit=!0);return n}(t,r,this.__CACHE);if(!i)throw new Error(`No script found for input #${t}`);!function(t){if(!t.sighashType||!t.partialSig)return;const{partialSig:e,sighashType:r}=t;e.forEach((t=>{const{hashType:e}=Fg.signature.decode(t.signature);if(r!==e)throw new Error("Signature sighash does not match input sighash type")}))}(r);const{finalScriptSig:h,finalScriptWitness:a}=e(t,r,i,s,n,o);if(h&&this.data.updateInput(t,{finalScriptSig:h}),a&&this.data.updateInput(t,{finalScriptWitness:a}),!h&&!a)throw new Error(`Unknown error finalizing input #${t}`);return this.data.clearFinalizedInput(t),this}getInputType(t){const e=Lg.checkForInput(this.data.inputs,t),r=ky(Sy(t,e,this.__CACHE),t,"input",e.redeemScript||function(t){if(!t)return;const e=Fg.decompile(t);if(!e)return;const r=e[e.length-1];if(!At(r)||Ey(r)||(i=r,Fg.isCanonicalScriptSignature(i)))return;var i;if(!Fg.decompile(r))return;return r}(e.finalScriptSig),e.witnessScript||function(t){if(!t)return;const e=vy(t),r=e[e.length-1];if(Ey(r))return;if(!Fg.decompile(r))return;return r}(e.finalScriptWitness));return("raw"===r.type?"":r.type+"-")+Ty(r.meaningfulScript)}inputHasPubkey(t,e){return function(t,e,r,i){const n=Sy(r,e,i),{meaningfulScript:o}=ky(n,r,"input",e.redeemScript,e.witnessScript);return Iy(t,o)}(e,Lg.checkForInput(this.data.inputs,t),t,this.__CACHE)}inputHasHDKey(t,e){const r=Lg.checkForInput(this.data.inputs,t),i=oy(e);return!!r.bip32Derivation&&r.bip32Derivation.some(i)}outputHasPubkey(t,e){return function(t,e,r,i){const n=i.__TX.outs[r].script,{meaningfulScript:o}=ky(n,r,"output",e.redeemScript,e.witnessScript);return Iy(t,o)}(e,Lg.checkForOutput(this.data.outputs,t),t,this.__CACHE)}outputHasHDKey(t,e){const r=Lg.checkForOutput(this.data.outputs,t),i=oy(e);return!!r.bip32Derivation&&r.bip32Derivation.some(i)}validateSignaturesOfAllInputs(){Lg.checkForInput(this.data.inputs,0);return Oy(this.data.inputs.length).map((t=>this.validateSignaturesOfInput(t))).reduce(((t,e)=>!0===e&&t),!0)}validateSignaturesOfInput(t,e){const r=this.data.inputs[t],i=(r||{}).partialSig;if(!r||!i||i.length<1)throw new Error("No signatures to validate");const n=e?i.filter((t=>t.pubkey.equals(e))):i;if(n.length<1)throw new Error("No signatures for this pubkey");const o=[];let s,h,a;for(const e of n){const i=Fg.signature.decode(e.signature),{hash:n,script:u}=a!==i.hashType?gy(t,Object.assign({},r,{sighashType:i.hashType}),this.__CACHE,!0):{hash:s,script:h};a=i.hashType,s=n,h=u,ay(e.pubkey,u,"verify");const f=qg.fromPublicKey(e.pubkey);o.push(f.verify(n,i.signature))}return o.every((t=>!0===t))}signAllInputsHD(t,e=[zg.Transaction.SIGHASH_ALL]){if(!t||!t.publicKey||!t.fingerprint)throw new Error("Need HDSigner to sign input");const r=[];for(const i of Oy(this.data.inputs.length))try{this.signInputHD(i,t,e),r.push(!0)}catch(t){r.push(!1)}if(r.every((t=>!1===t)))throw new Error("No inputs were signed");return this}signAllInputsHDAsync(t,e=[zg.Transaction.SIGHASH_ALL]){return new Promise(((r,i)=>{if(!t||!t.publicKey||!t.fingerprint)return i(new Error("Need HDSigner to sign input"));const n=[],o=[];for(const r of Oy(this.data.inputs.length))o.push(this.signInputHDAsync(r,t,e).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(o).then((()=>{if(n.every((t=>!1===t)))return i(new Error("No inputs were signed"));r()}))}))}signInputHD(t,e,r=[zg.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey||!e.fingerprint)throw new Error("Need HDSigner to sign input");return yy(t,this.data.inputs,e).forEach((e=>this.signInput(t,e,r))),this}signInputHDAsync(t,e,r=[zg.Transaction.SIGHASH_ALL]){return new Promise(((i,n)=>{if(!e||!e.publicKey||!e.fingerprint)return n(new Error("Need HDSigner to sign input"));const o=yy(t,this.data.inputs,e).map((e=>this.signInputAsync(t,e,r)));return Promise.all(o).then((()=>{i()})).catch(n)}))}signAllInputs(t,e=[zg.Transaction.SIGHASH_ALL]){if(!t||!t.publicKey)throw new Error("Need Signer to sign input");const r=[];for(const i of Oy(this.data.inputs.length))try{this.signInput(i,t,e),r.push(!0)}catch(t){r.push(!1)}if(r.every((t=>!1===t)))throw new Error("No inputs were signed");return this}signAllInputsAsync(t,e=[zg.Transaction.SIGHASH_ALL]){return new Promise(((r,i)=>{if(!t||!t.publicKey)return i(new Error("Need Signer to sign input"));const n=[],o=[];for(const[r]of this.data.inputs.entries())o.push(this.signInputAsync(r,t,e).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(o).then((()=>{if(n.every((t=>!1===t)))return i(new Error("No inputs were signed"));r()}))}))}signInput(t,e,r=[zg.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const{hash:i,sighashType:n}=my(this.data.inputs,t,e.publicKey,this.__CACHE,r),o=[{pubkey:e.publicKey,signature:Fg.signature.encode(e.sign(i),n)}];return this.data.updateInput(t,{partialSig:o}),this}signInputAsync(t,e,r=[zg.Transaction.SIGHASH_ALL]){return Promise.resolve().then((()=>{if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const{hash:i,sighashType:n}=my(this.data.inputs,t,e.publicKey,this.__CACHE,r);return Promise.resolve(e.sign(i)).then((r=>{const i=[{pubkey:e.publicKey,signature:Fg.signature.encode(r,n)}];this.data.updateInput(t,{partialSig:i})}))}))}toBuffer(){return $g(this.__CACHE),this.data.toBuffer()}toHex(){return $g(this.__CACHE),this.data.toHex()}toBase64(){return $g(this.__CACHE),this.data.toBase64()}updateGlobal(t){return this.data.updateGlobal(t),this}updateInput(t,e){return e.witnessScript&&Ay(e.witnessScript),this.data.updateInput(t,e),e.nonWitnessUtxo&&wy(this.__CACHE,this.data.inputs[t],t),this}updateOutput(t,e){return this.data.updateOutput(t,e),this}addUnknownKeyValToGlobal(t){return this.data.addUnknownKeyValToGlobal(t),this}addUnknownKeyValToInput(t,e){return this.data.addUnknownKeyValToInput(t,e),this}addUnknownKeyValToOutput(t,e){return this.data.addUnknownKeyValToOutput(t,e),this}clearFinalizedInput(t){return this.data.clearFinalizedInput(t),this}}mm.Psbt=Vg;const Zg=t=>new Gg(t);class Gg{constructor(t=z.from([2,0,0,0,0,0,0,0,0,0])){this.tx=zg.Transaction.fromBuffer(t),function(t){if(!t.ins.every((t=>t.script&&0===t.script.length&&t.witness&&0===t.witness.length)))throw new Error("Format Error: Transaction ScriptSigs are not empty")}(this.tx),Object.defineProperty(this,"tx",{enumerable:!1,writable:!0})}getInputOutputCounts(){return{inputCount:this.tx.ins.length,outputCount:this.tx.outs.length}}addInput(t){if(void 0===t.hash||void 0===t.index||!At(t.hash)&&"string"!=typeof t.hash||"number"!=typeof t.index)throw new Error("Error adding input.");const e="string"==typeof t.hash?jg.reverseBuffer(z.from(t.hash,"hex")):t.hash;this.tx.addInput(e,t.index,t.sequence)}addOutput(t){if(void 0===t.script||void 0===t.value||!At(t.script)||"number"!=typeof t.value)throw new Error("Error adding output.");this.tx.addOutput(t.script,t.value)}toBuffer(){return this.tx.toBuffer()}}function $g(t){if(!1!==t.__UNSAFE_SIGN_NONSEGWIT)throw new Error("Not BIP174 compliant, can not export")}function Xg(t,e,r){if(!e)return!1;let i;if(i=r?r.map((t=>{const r=qg.fromPublicKey(t,{compressed:!0}).publicKey;return e.find((t=>t.pubkey.equals(r)))})).filter((t=>!!t)):e,i.length>t)throw new Error("Too many signatures");return i.length===t}function Yg(t){return!!t.finalScriptSig||!!t.finalScriptWitness}function Jg(t){return e=>{try{return t({output:e}),!0}catch(t){return!1}}}const Qg=Jg(Kg.p2ms),ty=Jg(Kg.p2pk),ey=Jg(Kg.p2pkh),ry=Jg(Kg.p2wpkh),iy=Jg(Kg.p2wsh),ny=Jg(Kg.p2sh);function oy(t){return e=>!!e.masterFingerprint.equals(t.fingerprint)&&!!t.derivePath(e.path).publicKey.equals(e.pubkey)}function sy(t){if("number"!=typeof t||t!==Math.floor(t)||t>4294967295||t<0)throw new Error("Invalid 32 bit integer")}function hy(t,e){t.forEach((t=>{let r=!1,i=[];if(0===(t.partialSig||[]).length){if(!t.finalScriptSig&&!t.finalScriptWitness)return;i=function(t){const e=t.finalScriptSig&&Fg.decompile(t.finalScriptSig)||[],r=t.finalScriptWitness&&Fg.decompile(t.finalScriptWitness)||[];return e.concat(r).filter((t=>At(t)&&Fg.isCanonicalScriptSignature(t))).map((t=>({signature:t})))}(t)}else i=t.partialSig;if(i.forEach((t=>{const{hashType:i}=Fg.signature.decode(t.signature),n=[];i&zg.Transaction.SIGHASH_ANYONECANPAY&&n.push("addInput");switch(31&i){case zg.Transaction.SIGHASH_ALL:break;case zg.Transaction.SIGHASH_SINGLE:case zg.Transaction.SIGHASH_NONE:n.push("addOutput"),n.push("setInputSequence")}-1===n.indexOf(e)&&(r=!0)})),r)throw new Error("Can not modify transaction, signatures exist.")}))}function ay(t,e,r){if(!Iy(t,e))throw new Error(`Can not ${r} for this input with the key ${t.toString("hex")}`)}function uy(t,e){const r=jg.reverseBuffer(z.from(e.hash)).toString("hex")+":"+e.index;if(t.__TX_IN_CACHE[r])throw new Error("Duplicate input detected.");t.__TX_IN_CACHE[r]=1}function fy(t,e){return(r,i,n,o)=>{const s=t({redeem:{output:n}}).output;if(!i.equals(s))throw new Error(`${e} for ${o} #${r} doesn't match the scriptPubKey in the prevout`)}}const ly=fy(Kg.p2sh,"Redeem script"),cy=fy(Kg.p2wsh,"Witness script");function dy(t,e,r,i){if(!r.every(Yg))throw new Error(`PSBT must be finalized to calculate ${e}`);if("__FEE_RATE"===t&&i.__FEE_RATE)return i.__FEE_RATE;if("__FEE"===t&&i.__FEE)return i.__FEE;let n,o=!0;return i.__EXTRACTED_TX?(n=i.__EXTRACTED_TX,o=!1):n=i.__TX.clone(),My(r,n,i,o),"__FEE_RATE"===t?i.__FEE_RATE:"__FEE"===t?i.__FEE:void 0}function py(t,e,r,i,n,o){const s=Ty(r);if(!function(t,e,r){switch(r){case"pubkey":case"pubkeyhash":case"witnesspubkeyhash":return Xg(1,t.partialSig);case"multisig":const r=Kg.p2ms({output:e});return Xg(r.m,t.partialSig,r.pubkeys);default:return!1}}(e,r,s))throw new Error(`Can not finalize input #${t}`);return function(t,e,r,i,n,o){let s,h;const a=function(t,e,r){let i;switch(e){case"multisig":const e=function(t,e){return Kg.p2ms({output:t}).pubkeys.map((t=>(e.filter((e=>e.pubkey.equals(t)))[0]||{}).signature)).filter((t=>!!t))}(t,r);i=Kg.p2ms({output:t,signatures:e});break;case"pubkey":i=Kg.p2pk({output:t,signature:r[0].signature});break;case"pubkeyhash":i=Kg.p2pkh({output:t,pubkey:r[0].pubkey,signature:r[0].signature});break;case"witnesspubkeyhash":i=Kg.p2wpkh({output:t,pubkey:r[0].pubkey,signature:r[0].signature})}return i}(t,e,r),u=o?Kg.p2wsh({redeem:a}):null,f=n?Kg.p2sh({redeem:u||a}):null;i?(h=by(u?u.witness:a.witness),f&&(s=f.input)):s=f?f.input:a.input;return{finalScriptSig:s,finalScriptWitness:h}}(r,s,e.partialSig,i,n,o)}function my(t,e,r,i,n){const o=Lg.checkForInput(t,e),{hash:s,sighashType:h,script:a}=gy(e,o,i,!1,n);return ay(r,a,"sign"),{hash:s,sighashType:h}}function gy(t,e,r,i,n){const o=r.__TX,s=e.sighashType||zg.Transaction.SIGHASH_ALL;if(n&&n.indexOf(s)<0){const t=function(t){let e=t&zg.Transaction.SIGHASH_ANYONECANPAY?"SIGHASH_ANYONECANPAY | ":"";switch(31&t){case zg.Transaction.SIGHASH_ALL:e+="SIGHASH_ALL";break;case zg.Transaction.SIGHASH_SINGLE:e+="SIGHASH_SINGLE";break;case zg.Transaction.SIGHASH_NONE:e+="SIGHASH_NONE"}return e}(s);throw new Error(`Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${t}`)}let h,a;if(e.nonWitnessUtxo){const i=_y(r,e,t),n=o.ins[t].hash,s=i.getHash();if(!n.equals(s))throw new Error(`Non-witness UTXO hash for input #${t} doesn't match the hash specified in the prevout`);const h=o.ins[t].index;a=i.outs[h]}else{if(!e.witnessUtxo)throw new Error("Need a Utxo input item for signing");a=e.witnessUtxo}const{meaningfulScript:u,type:f}=ky(a.script,t,"input",e.redeemScript,e.witnessScript);if(["p2sh-p2wsh","p2wsh"].indexOf(f)>=0)h=o.hashForWitnessV0(t,u,a.value,s);else if(ry(u)){const e=Kg.p2pkh({hash:u.slice(2)}).output;h=o.hashForWitnessV0(t,e,a.value,s)}else{if(void 0===e.nonWitnessUtxo&&!1===r.__UNSAFE_SIGN_NONSEGWIT)throw new Error(`Input #${t} has witnessUtxo but non-segwit script: ${u.toString("hex")}`);i||!1===r.__UNSAFE_SIGN_NONSEGWIT||console.warn("Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as the old TransactionBuilder class when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.\n*********************\nPROCEED WITH CAUTION!\n*********************"),h=o.hashForSignature(t,u,s)}return{script:u,sighashType:s,hash:h}}function yy(t,e,r){const i=Lg.checkForInput(e,t);if(!i.bip32Derivation||0===i.bip32Derivation.length)throw new Error("Need bip32Derivation to sign with HD");const n=i.bip32Derivation.map((t=>t.masterFingerprint.equals(r.fingerprint)?t:void 0)).filter((t=>!!t));if(0===n.length)throw new Error("Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint");return n.map((t=>{const e=r.derivePath(t.path);if(!t.pubkey.equals(e.publicKey))throw new Error("pubkey did not match bip32Derivation");return e}))}function vy(t){let e=0;function r(){const r=Cg.decode(t,e);return e+=Cg.decode.bytes,r}function i(){return function(r){return e+=r,t.slice(e-r,e)}(r())}return function(){const t=r(),e=[];for(let r=0;r<t;r++)e.push(i());return e}()}function by(t){let e=z.allocUnsafe(0);function r(t){const r=e.length,i=Cg.encodingLength(t);e=z.concat([e,z.allocUnsafe(i)]),Cg.encode(t,e,r)}function i(t){r(t.length),function(t){e=z.concat([e,z.from(t)])}(t)}var n;return r((n=t).length),n.forEach(i),e}function wy(t,e,r){t.__NON_WITNESS_UTXO_BUF_CACHE[r]=e.nonWitnessUtxo;const i=zg.Transaction.fromBuffer(e.nonWitnessUtxo);t.__NON_WITNESS_UTXO_TX_CACHE[r]=i;const n=t,o=r;delete e.nonWitnessUtxo,Object.defineProperty(e,"nonWitnessUtxo",{enumerable:!0,get(){const t=n.__NON_WITNESS_UTXO_BUF_CACHE[o],e=n.__NON_WITNESS_UTXO_TX_CACHE[o];if(void 0!==t)return t;{const t=e.toBuffer();return n.__NON_WITNESS_UTXO_BUF_CACHE[o]=t,t}},set(t){n.__NON_WITNESS_UTXO_BUF_CACHE[o]=t}})}function My(t,e,r,i){let n=0;t.forEach(((t,o)=>{if(i&&t.finalScriptSig&&(e.ins[o].script=t.finalScriptSig),i&&t.finalScriptWitness&&(e.ins[o].witness=vy(t.finalScriptWitness)),t.witnessUtxo)n+=t.witnessUtxo.value;else if(t.nonWitnessUtxo){const i=_y(r,t,o),s=e.ins[o].index,h=i.outs[s];n+=h.value}}));const o=e.outs.reduce(((t,e)=>t+e.value),0),s=n-o;if(s<0)throw new Error("Outputs are spending more than Inputs");const h=e.virtualSize();r.__FEE=s,r.__EXTRACTED_TX=e,r.__FEE_RATE=Math.floor(s/h)}function _y(t,e,r){const i=t.__NON_WITNESS_UTXO_TX_CACHE;return i[r]||wy(t,e,r),i[r]}function Sy(t,e,r){if(void 0!==e.witnessUtxo)return e.witnessUtxo.script;if(void 0!==e.nonWitnessUtxo){return _y(r,e,t).outs[r.__TX.ins[t].index].script}throw new Error("Can't find pubkey in input without Utxo data")}function Ey(t){return 33===t.length&&Fg.isCanonicalPubKey(t)}function ky(t,e,r,i,n){const o=ny(t),s=o&&i&&iy(i),h=iy(t);if(o&&void 0===i)throw new Error("scriptPubkey is P2SH but redeemScript missing");if((h||s)&&void 0===n)throw new Error("scriptPubkey or redeemScript is P2WSH but witnessScript missing");let a;return s?(a=n,ly(e,t,i,r),cy(e,i,n,r),Ay(a)):h?(a=n,cy(e,t,n,r),Ay(a)):o?(a=i,ly(e,t,i,r)):a=t,{meaningfulScript:a,type:s?"p2sh-p2wsh":o?"p2sh":h?"p2wsh":"raw"}}function Ay(t){if(ry(t)||ny(t))throw new Error("P2WPKH or P2SH can not be contained within P2WSH")}function Iy(t,e){const r=Hg.hash160(t),i=Fg.decompile(e);if(null===i)throw new Error("Unknown script error");return i.some((e=>"number"!=typeof e&&(e.equals(t)||e.equals(r))))}function Ty(t){return ry(t)?"witnesspubkeyhash":ey(t)?"pubkeyhash":Qg(t)?"multisig":ty(t)?"pubkey":"nonstandard"}function Oy(t){return[...Array(t).keys()]}var Py={},xy={},By={},Ry={};Object.defineProperty(Ry,"__esModule",{value:!0});const Ny=dc,Uy=dc;function Cy(t){return t===Uy.OPS.OP_0||Ny.isCanonicalScriptSignature(t)}function Ly(t,e){const r=Ny.decompile(t);return!(r.length<2)&&(r[0]===Uy.OPS.OP_0&&(e?r.slice(1).every(Cy):r.slice(1).every(Ny.isCanonicalScriptSignature)))}Ry.check=Ly,Ly.toJSON=()=>"multisig input";var Dy={};Object.defineProperty(Dy,"__esModule",{value:!0});const jy=dc,Hy=dc,qy=gc,Ky=Hy.OPS.OP_RESERVED;function Fy(t,e){const r=jy.decompile(t);if(r.length<4)return!1;if(r[r.length-1]!==Hy.OPS.OP_CHECKMULTISIG)return!1;if(!qy.Number(r[0]))return!1;if(!qy.Number(r[r.length-2]))return!1;const i=r[0]-Ky,n=r[r.length-2]-Ky;if(i<=0)return!1;if(n>16)return!1;if(i>n)return!1;if(n!==r.length-3)return!1;if(e)return!0;return r.slice(1,-2).every(jy.isCanonicalPubKey)}Dy.check=Fy,Fy.toJSON=()=>"multi-sig output",Object.defineProperty(By,"__esModule",{value:!0});const zy=Ry;By.input=zy;const Wy=Dy;By.output=Wy;var Vy={};Object.defineProperty(Vy,"__esModule",{value:!0});const Zy=dc,Gy=Zy.OPS;function $y(t){const e=Zy.compile(t);return e.length>1&&e[0]===Gy.OP_RETURN}Vy.check=$y,$y.toJSON=()=>"null data output";const Xy={check:$y};Vy.output=Xy;var Yy={},Jy={};Object.defineProperty(Jy,"__esModule",{value:!0});const Qy=dc;function tv(t){const e=Qy.decompile(t);return 1===e.length&&Qy.isCanonicalScriptSignature(e[0])}Jy.check=tv,tv.toJSON=()=>"pubKey input";var ev={};Object.defineProperty(ev,"__esModule",{value:!0});const rv=dc,iv=dc;function nv(t){const e=rv.decompile(t);return 2===e.length&&rv.isCanonicalPubKey(e[0])&&e[1]===iv.OPS.OP_CHECKSIG}ev.check=nv,nv.toJSON=()=>"pubKey output",Object.defineProperty(Yy,"__esModule",{value:!0});const ov=Jy;Yy.input=ov;const sv=ev;Yy.output=sv;var hv={},av={};Object.defineProperty(av,"__esModule",{value:!0});const uv=dc;function fv(t){const e=uv.decompile(t);return 2===e.length&&uv.isCanonicalScriptSignature(e[0])&&uv.isCanonicalPubKey(e[1])}av.check=fv,fv.toJSON=()=>"pubKeyHash input";var lv={};Object.defineProperty(lv,"__esModule",{value:!0});const cv=dc,dv=dc;function pv(t){const e=cv.compile(t);return 25===e.length&&e[0]===dv.OPS.OP_DUP&&e[1]===dv.OPS.OP_HASH160&&20===e[2]&&e[23]===dv.OPS.OP_EQUALVERIFY&&e[24]===dv.OPS.OP_CHECKSIG}lv.check=pv,pv.toJSON=()=>"pubKeyHash output",Object.defineProperty(hv,"__esModule",{value:!0});const mv=av;hv.input=mv;const gv=lv;hv.output=gv;var yv={},vv={},bv={};Object.defineProperty(bv,"__esModule",{value:!0});const wv=dc,Mv=dc;function _v(t){const e=wv.compile(t);return 22===e.length&&e[0]===Mv.OPS.OP_0&&20===e[1]}bv.check=_v,_v.toJSON=()=>"Witness pubKeyHash output";var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});const Ev=dc,kv=dc;function Av(t){const e=Ev.compile(t);return 34===e.length&&e[0]===kv.OPS.OP_0&&32===e[1]}Sv.check=Av,Av.toJSON=()=>"Witness scriptHash output",Object.defineProperty(vv,"__esModule",{value:!0});const Iv=dc,Tv=By,Ov=Yy,Pv=hv,xv=bv,Bv=Sv;function Rv(t,e){const r=Iv.decompile(t);if(r.length<1)return!1;const i=r[r.length-1];if(!At(i))return!1;const n=Iv.decompile(Iv.compile(r.slice(0,-1))),o=Iv.decompile(i);return!!o&&(!!Iv.isPushOnly(n)&&(1===r.length?Bv.check(o)||xv.check(o):!(!Pv.input.check(n)||!Pv.output.check(o))||(!(!Tv.input.check(n,e)||!Tv.output.check(o))||!(!Ov.input.check(n)||!Ov.output.check(o)))))}vv.check=Rv,Rv.toJSON=()=>"scriptHash input";var Nv={};Object.defineProperty(Nv,"__esModule",{value:!0});const Uv=dc,Cv=dc;function Lv(t){const e=Uv.compile(t);return 23===e.length&&e[0]===Cv.OPS.OP_HASH160&&20===e[1]&&e[22]===Cv.OPS.OP_EQUAL}Nv.check=Lv,Lv.toJSON=()=>"scriptHash output",Object.defineProperty(yv,"__esModule",{value:!0});const Dv=vv;yv.input=Dv;const jv=Nv;yv.output=jv;var Hv={},qv={};Object.defineProperty(qv,"__esModule",{value:!0});const Kv=dc,Fv=dc,zv=gc,Wv=Kl,Vv=z.from("aa21a9ed","hex");function Zv(t){const e=Kv.compile(t);return e.length>37&&e[0]===Fv.OPS.OP_RETURN&&36===e[1]&&e.slice(2,6).equals(Vv)}qv.check=Zv,Zv.toJSON=()=>"Witness commitment output",qv.encode=function(t){Wv(zv.Hash256bit,t);const e=z.allocUnsafe(36);return Vv.copy(e,0),t.copy(e,4),Kv.compile([Fv.OPS.OP_RETURN,e])},qv.decode=function(t){return Wv(Zv,t),Kv.decompile(t)[1].slice(4,36)},Object.defineProperty(Hv,"__esModule",{value:!0});const Gv=qv;Hv.output=Gv;var $v={},Xv={};Object.defineProperty(Xv,"__esModule",{value:!0});const Yv=dc;function Jv(t){const e=Yv.decompile(t);return 2===e.length&&Yv.isCanonicalScriptSignature(e[0])&&function(t){return Yv.isCanonicalPubKey(t)&&33===t.length}(e[1])}Xv.check=Jv,Jv.toJSON=()=>"witnessPubKeyHash input",Object.defineProperty($v,"__esModule",{value:!0});const Qv=Xv;$v.input=Qv;const tb=bv;$v.output=tb;var eb={},rb={};Object.defineProperty(rb,"__esModule",{value:!0});const ib=dc,nb=Kl,ob=By,sb=Yy,hb=hv;function ab(t,e){if(nb(nb.Array,t),t.length<1)return!1;const r=t[t.length-1];if(!At(r))return!1;const i=ib.decompile(r);if(!i||0===i.length)return!1;const n=ib.compile(t.slice(0,-1));return!(!hb.input.check(n)||!hb.output.check(i))||(!(!ob.input.check(n,e)||!ob.output.check(i))||!(!sb.input.check(n)||!sb.output.check(i)))}rb.check=ab,ab.toJSON=()=>"witnessScriptHash input",Object.defineProperty(eb,"__esModule",{value:!0});const ub=rb;eb.input=ub;const fb=Sv;eb.output=fb,Object.defineProperty(xy,"__esModule",{value:!0});const lb=dc,cb=By,db=Vy,pb=Yy,mb=hv,gb=yv,yb=Hv,vb=$v,bb=eb,wb={P2MS:"multisig",NONSTANDARD:"nonstandard",NULLDATA:"nulldata",P2PK:"pubkey",P2PKH:"pubkeyhash",P2SH:"scripthash",P2WPKH:"witnesspubkeyhash",P2WSH:"witnessscripthash",WITNESS_COMMITMENT:"witnesscommitment"};xy.types=wb,xy.output=function(t){if(vb.output.check(t))return wb.P2WPKH;if(bb.output.check(t))return wb.P2WSH;if(mb.output.check(t))return wb.P2PKH;if(gb.output.check(t))return wb.P2SH;const e=lb.decompile(t);if(!e)throw new TypeError("Invalid script");return cb.output.check(e)?wb.P2MS:pb.output.check(e)?wb.P2PK:yb.output.check(e)?wb.WITNESS_COMMITMENT:db.output.check(e)?wb.NULLDATA:wb.NONSTANDARD},xy.input=function(t,e){const r=lb.decompile(t);if(!r)throw new TypeError("Invalid script");return mb.input.check(r)?wb.P2PKH:gb.input.check(r,e)?wb.P2SH:cb.input.check(r,e)?wb.P2MS:pb.input.check(r)?wb.P2PK:wb.NONSTANDARD},xy.witness=function(t,e){const r=lb.decompile(t);if(!r)throw new TypeError("Invalid script");return vb.input.check(r)?wb.P2WPKH:bb.input.check(r,e)?wb.P2WSH:wb.NONSTANDARD},Object.defineProperty(Py,"__esModule",{value:!0});const Mb=uc,_b=xp,Sb=xy,Eb=od,kb=yp,Ab=fc,Ib=lc,Tb=dc,Ob=dc,Pb=Kp,xb=gc,Bb=Kl,Rb=Sb.types,Nb=new Set(["p2pkh","p2pk","p2wpkh","p2ms","p2sh-p2pkh","p2sh-p2pk","p2sh-p2wpkh","p2sh-p2ms","p2wsh-p2pkh","p2wsh-p2pk","p2wsh-p2ms","p2sh-p2wsh-p2pkh","p2sh-p2wsh-p2pk","p2sh-p2wsh-p2ms"]);function Ub(t,e,r){try{Bb(t,e)}catch(t){throw new Error(r)}}class Cb{constructor(t=Ab.bitcoin,e=2500){this.network=t,this.maximumFeeRate=e,this.__PREV_TX_SET={},this.__INPUTS=[],this.__TX=new Pb.Transaction,this.__TX.version=2,this.__USE_LOW_R=!1,console.warn("Deprecation Warning: TransactionBuilder will be removed in the future. (v6.x.x or later) Please use the Psbt class instead. Examples of usage are available in the transactions-psbt.js integration test file on our Github. A high level explanation is available in the psbt.ts and psbt.js files as well.")}static fromTransaction(t,e){const r=new Cb(e);return r.setVersion(t.version),r.setLockTime(t.locktime),t.outs.forEach((t=>{r.addOutput(t.script,t.value)})),t.ins.forEach((t=>{r.__addInputUnsafe(t.hash,t.index,{sequence:t.sequence,script:t.script,witness:t.witness})})),r.__INPUTS.forEach(((e,r)=>{!function(t,e,r){if(t.redeemScriptType!==Rb.P2MS||!t.redeemScript)return;if(t.pubkeys.length===t.signatures.length)return;const i=t.signatures.concat();t.signatures=t.pubkeys.map((n=>{const o=kb.fromPublicKey(n);let s;return i.some(((n,h)=>{if(!n)return!1;const a=Tb.signature.decode(n),u=e.hashForSignature(r,t.redeemScript,a.hashType);return!!o.verify(u,a.signature)&&(i[h]=void 0,s=n,!0)})),s}))}(e,t,r)})),r}setLowR(t){return Bb(Bb.maybe(Bb.Boolean),t),void 0===t&&(t=!0),this.__USE_LOW_R=t,t}setLockTime(t){if(Bb(xb.UInt32,t),this.__INPUTS.some((t=>!!t.signatures&&t.signatures.some((t=>void 0!==t)))))throw new Error("No, this would invalidate signatures");this.__TX.locktime=t}setVersion(t){Bb(xb.UInt32,t),this.__TX.version=t}addInput(t,e,r,i){if(!this.__canModifyInputs())throw new Error("No, this would invalidate signatures");let n;if("string"==typeof(o=t)||o instanceof String)t=_b.reverseBuffer(z.from(t,"hex"));else if(function(t){return t instanceof Pb.Transaction}(t)){const r=t.outs[e];i=r.script,n=r.value,t=t.getHash(!1)}var o;return this.__addInputUnsafe(t,e,{sequence:r,prevOutScript:i,value:n})}addOutput(t,e){if(!this.__canModifyOutputs())throw new Error("No, this would invalidate signatures");return"string"==typeof t&&(t=Mb.toOutputScript(t,this.network)),this.__TX.addOutput(t,e)}build(){return this.__build(!1)}buildIncomplete(){return this.__build(!0)}sign(t,e,r,i,n,o){!function({input:t,ourPubKey:e,keyPair:r,signatureHash:i,hashType:n,useLowR:o}){let s=!1;for(const[h,a]of t.pubkeys.entries()){if(!e.equals(a))continue;if(t.signatures[h])throw new Error("Signature already exists");if(33!==e.length&&t.hasWitness)throw new Error("BIP143 rejects uncompressed public keys in P2WPKH or P2WSH");const u=r.sign(i,o);t.signatures[h]=Tb.signature.encode(u,n),s=!0}if(!s)throw new Error("Key pair cannot sign for this input")}(function(t,e,r,i,n,o,s,h,a,u,f){let l;if("number"==typeof n)console.warn("DEPRECATED: TransactionBuilder sign method arguments will change in v6, please use the TxbSignArg interface"),l=n;else{if("object"!=typeof n)throw new TypeError("TransactionBuilder sign first arg must be TxbSignArg or number");!function(t,e){if(!Nb.has(e.prevOutScriptType))throw new TypeError(`Unknown prevOutScriptType "${e.prevOutScriptType}"`);Ub(Bb.Number,e.vin,"sign must include vin parameter as Number (input index)"),Ub(xb.Signer,e.keyPair,"sign must include keyPair parameter as Signer interface"),Ub(Bb.maybe(Bb.Number),e.hashType,"sign hashType parameter must be a number");const r=(t[e.vin]||[]).prevOutType,i=e.prevOutScriptType;switch(i){case"p2pkh":if(r&&"pubkeyhash"!==r)throw new TypeError(`input #${e.vin} is not of type p2pkh: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2pk":if(r&&"pubkey"!==r)throw new TypeError(`input #${e.vin} is not of type p2pk: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2wpkh":if(r&&"witnesspubkeyhash"!==r)throw new TypeError(`input #${e.vin} is not of type p2wpkh: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2ms":if(r&&"multisig"!==r)throw new TypeError(`input #${e.vin} is not of type p2ms: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2sh-p2wpkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type p2sh-p2wpkh: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.Buffer,e.redeemScript,`${i} requires redeemScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2sh-p2ms":case"p2sh-p2pk":case"p2sh-p2pkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.Buffer,e.redeemScript,`${i} requires redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2wsh-p2ms":case"p2wsh-p2pk":case"p2wsh-p2pkh":if(r&&"witnessscripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Ub(Bb.Buffer,e.witnessScript,`${i} requires witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2sh-p2wsh-p2ms":case"p2sh-p2wsh-p2pk":case"p2sh-p2wsh-p2pkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Ub(Bb.Buffer,e.witnessScript,`${i} requires witnessScript`),Ub(Bb.Buffer,e.redeemScript,`${i} requires witnessScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessScript`)}}(e,n),({vin:l,keyPair:o,redeemScript:s,hashType:h,witnessValue:a,witnessScript:u}=n)}if(void 0===o)throw new Error("sign requires keypair");if(o.network&&o.network!==t)throw new TypeError("Inconsistent network");if(!e[l])throw new Error("No input at index: "+l);if(h=h||Pb.Transaction.SIGHASH_ALL,r(h))throw new Error("Transaction needs outputs");const c=e[l];if(void 0!==c.redeemScript&&s&&!c.redeemScript.equals(s))throw new Error("Inconsistent redeemScript");const d=o.publicKey||o.getPublicKey&&o.getPublicKey();if(!Hb(c)){if(void 0!==a){if(void 0!==c.value&&c.value!==a)throw new Error("Input did not match witnessValue");Bb(xb.Satoshi,a),c.value=a}if(!Hb(c)){const t=function(t,e,r,i){if(r&&i){const n=Ib.p2wsh({redeem:{output:i}}),o=Ib.p2wsh({output:r}),s=Ib.p2sh({redeem:{output:r}}),h=Ib.p2sh({redeem:n});if(!n.hash.equals(o.hash))throw new Error("Witness script inconsistent with prevOutScript");if(!s.hash.equals(h.hash))throw new Error("Redeem script inconsistent with prevOutScript");const a=Db(n.redeem.output,e);if(!a.pubkeys)throw new Error(a.type+" not supported as witnessScript ("+Tb.toASM(i)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(a.signatures=t.signatures);const u=i;if(a.type===Rb.P2WPKH)throw new Error("P2SH(P2WSH(P2WPKH)) is a consensus failure");return{redeemScript:r,redeemScriptType:Rb.P2WSH,witnessScript:i,witnessScriptType:a.type,prevOutType:Rb.P2SH,prevOutScript:s.output,hasWitness:!0,signScript:u,signType:a.type,pubkeys:a.pubkeys,signatures:a.signatures,maxSignatures:a.maxSignatures}}if(r){const i=Ib.p2sh({redeem:{output:r}});if(t.prevOutScript){let e;try{e=Ib.p2sh({output:t.prevOutScript})}catch(t){throw new Error("PrevOutScript must be P2SH")}if(!i.hash.equals(e.hash))throw new Error("Redeem script inconsistent with prevOutScript")}const n=Db(i.redeem.output,e);if(!n.pubkeys)throw new Error(n.type+" not supported as redeemScript ("+Tb.toASM(r)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(n.signatures=t.signatures);let o=r;return n.type===Rb.P2WPKH&&(o=Ib.p2pkh({pubkey:n.pubkeys[0]}).output),{redeemScript:r,redeemScriptType:n.type,prevOutType:Rb.P2SH,prevOutScript:i.output,hasWitness:n.type===Rb.P2WPKH,signScript:o,signType:n.type,pubkeys:n.pubkeys,signatures:n.signatures,maxSignatures:n.maxSignatures}}if(i){const r=Ib.p2wsh({redeem:{output:i}});if(t.prevOutScript){const e=Ib.p2wsh({output:t.prevOutScript});if(!r.hash.equals(e.hash))throw new Error("Witness script inconsistent with prevOutScript")}const n=Db(r.redeem.output,e);if(!n.pubkeys)throw new Error(n.type+" not supported as witnessScript ("+Tb.toASM(i)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(n.signatures=t.signatures);const o=i;if(n.type===Rb.P2WPKH)throw new Error("P2WSH(P2WPKH) is a consensus failure");return{witnessScript:i,witnessScriptType:n.type,prevOutType:Rb.P2WSH,prevOutScript:r.output,hasWitness:!0,signScript:o,signType:n.type,pubkeys:n.pubkeys,signatures:n.signatures,maxSignatures:n.maxSignatures}}if(t.prevOutType&&t.prevOutScript){if(t.prevOutType===Rb.P2SH)throw new Error("PrevOutScript is "+t.prevOutType+", requires redeemScript");if(t.prevOutType===Rb.P2WSH)throw new Error("PrevOutScript is "+t.prevOutType+", requires witnessScript");if(!t.prevOutScript)throw new Error("PrevOutScript is missing");const r=Db(t.prevOutScript,e);if(!r.pubkeys)throw new Error(r.type+" not supported ("+Tb.toASM(t.prevOutScript)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(r.signatures=t.signatures);let i=t.prevOutScript;return r.type===Rb.P2WPKH&&(i=Ib.p2pkh({pubkey:r.pubkeys[0]}).output),{prevOutType:r.type,prevOutScript:t.prevOutScript,hasWitness:r.type===Rb.P2WPKH,signScript:i,signType:r.type,pubkeys:r.pubkeys,signatures:r.signatures,maxSignatures:r.maxSignatures}}const n=Ib.p2pkh({pubkey:e}).output;return{prevOutType:Rb.P2PKH,prevOutScript:n,hasWitness:!1,signScript:n,signType:Rb.P2PKH,pubkeys:[e],signatures:[void 0]}}(c,d,s,u);Object.assign(c,t)}if(!Hb(c))throw Error(c.prevOutType+" not supported")}let p;p=c.hasWitness?i.hashForWitnessV0(l,c.signScript,c.value,h):i.hashForSignature(l,c.signScript,h);return{input:c,ourPubKey:d,keyPair:o,signatureHash:p,hashType:h,useLowR:!!f}}(this.network,this.__INPUTS,this.__needsOutputs.bind(this),this.__TX,t,e,r,i,n,o,this.__USE_LOW_R))}__addInputUnsafe(t,e,r){if(Pb.Transaction.isCoinbaseHash(t))throw new Error("coinbase inputs not supported");const i=t.toString("hex")+":"+e;if(void 0!==this.__PREV_TX_SET[i])throw new Error("Duplicate TxOut: "+i);let n={};if(void 0!==r.script&&(n=Lb(r.script,r.witness||[])),void 0!==r.value&&(n.value=r.value),!n.prevOutScript&&r.prevOutScript){let t;if(!n.pubkeys&&!n.signatures){const e=Db(r.prevOutScript);e.pubkeys&&(n.pubkeys=e.pubkeys,n.signatures=e.signatures),t=e.type}n.prevOutScript=r.prevOutScript,n.prevOutType=t||Sb.output(r.prevOutScript)}const o=this.__TX.addInput(t,e,r.sequence,r.scriptSig);return this.__INPUTS[o]=n,this.__PREV_TX_SET[i]=!0,o}__build(t){if(!t){if(!this.__TX.ins.length)throw new Error("Transaction has no inputs");if(!this.__TX.outs.length)throw new Error("Transaction has no outputs")}const e=this.__TX.clone();if(this.__INPUTS.forEach(((r,i)=>{if(!r.prevOutType&&!t)throw new Error("Transaction is not complete");const n=jb(r.prevOutType,r,t);if(n)e.setInputScript(i,n.input),e.setWitness(i,n.witness);else{if(!t&&r.prevOutType===Rb.NONSTANDARD)throw new Error("Unknown input type");if(!t)throw new Error("Not enough information")}})),!t&&this.__overMaximumFees(e.virtualSize()))throw new Error("Transaction has absurd fees");return e}__canModifyInputs(){return this.__INPUTS.every((t=>!t.signatures||t.signatures.every((t=>{if(!t)return!0;return 0!=(qb(t)&Pb.Transaction.SIGHASH_ANYONECANPAY)}))))}__needsOutputs(t){return t===Pb.Transaction.SIGHASH_ALL?0===this.__TX.outs.length:0===this.__TX.outs.length&&this.__INPUTS.some((t=>!!t.signatures&&t.signatures.some((t=>{if(!t)return!1;return!(qb(t)&Pb.Transaction.SIGHASH_NONE)}))))}__canModifyOutputs(){const t=this.__TX.ins.length,e=this.__TX.outs.length;return this.__INPUTS.every((r=>void 0===r.signatures||r.signatures.every((r=>{if(!r)return!0;const i=31&qb(r);return i===Pb.Transaction.SIGHASH_NONE||i===Pb.Transaction.SIGHASH_SINGLE&&t<=e}))))}__overMaximumFees(t){return(this.__INPUTS.reduce(((t,e)=>t+(e.value>>>0)),0)-this.__TX.outs.reduce(((t,e)=>t+e.value),0))/t>this.maximumFeeRate}}function Lb(t,e,r,i){if(0===t.length&&0===e.length)return{};if(!r){let i=Sb.input(t,!0),n=Sb.witness(e,!0);i===Rb.NONSTANDARD&&(i=void 0),n===Rb.NONSTANDARD&&(n=void 0),r=i||n}switch(r){case Rb.P2WPKH:{const{output:t,pubkey:r,signature:i}=Ib.p2wpkh({witness:e});return{prevOutScript:t,prevOutType:Rb.P2WPKH,pubkeys:[r],signatures:[i]}}case Rb.P2PKH:{const{output:e,pubkey:r,signature:i}=Ib.p2pkh({input:t});return{prevOutScript:e,prevOutType:Rb.P2PKH,pubkeys:[r],signatures:[i]}}case Rb.P2PK:{const{signature:e}=Ib.p2pk({input:t});return{prevOutType:Rb.P2PK,pubkeys:[void 0],signatures:[e]}}case Rb.P2MS:{const{m:e,pubkeys:r,signatures:n}=Ib.p2ms({input:t,output:i},{allowIncomplete:!0});return{prevOutType:Rb.P2MS,pubkeys:r,signatures:n,maxSignatures:e}}}if(r===Rb.P2SH){const{output:r,redeem:i}=Ib.p2sh({input:t,witness:e}),n=Sb.output(i.output),o=Lb(i.input,i.witness,n,i.output);return o.prevOutType?{prevOutScript:r,prevOutType:Rb.P2SH,redeemScript:i.output,redeemScriptType:o.prevOutType,witnessScript:o.witnessScript,witnessScriptType:o.witnessScriptType,pubkeys:o.pubkeys,signatures:o.signatures}:{}}if(r===Rb.P2WSH){const{output:r,redeem:i}=Ib.p2wsh({input:t,witness:e}),n=Sb.output(i.output);let o;return o=n===Rb.P2WPKH?Lb(i.input,i.witness,n):Lb(Tb.compile(i.witness),[],n,i.output),o.prevOutType?{prevOutScript:r,prevOutType:Rb.P2WSH,witnessScript:i.output,witnessScriptType:o.prevOutType,pubkeys:o.pubkeys,signatures:o.signatures}:{}}return{prevOutType:Rb.NONSTANDARD,prevOutScript:t}}function Db(t,e){Bb(xb.Buffer,t);const r=Sb.output(t);switch(r){case Rb.P2PKH:{if(!e)return{type:r};const i=Ib.p2pkh({output:t}).hash,n=Eb.hash160(e);return i.equals(n)?{type:r,pubkeys:[e],signatures:[void 0]}:{type:r}}case Rb.P2WPKH:{if(!e)return{type:r};const i=Ib.p2wpkh({output:t}).hash,n=Eb.hash160(e);return i.equals(n)?{type:r,pubkeys:[e],signatures:[void 0]}:{type:r}}case Rb.P2PK:return{type:r,pubkeys:[Ib.p2pk({output:t}).pubkey],signatures:[void 0]};case Rb.P2MS:{const e=Ib.p2ms({output:t});return{type:r,pubkeys:e.pubkeys,signatures:e.pubkeys.map((()=>{})),maxSignatures:e.m}}}return{type:r}}function jb(t,e,r){const i=e.pubkeys||[];let n=e.signatures||[];switch(t){case Rb.P2PKH:if(0===i.length)break;if(0===n.length)break;return Ib.p2pkh({pubkey:i[0],signature:n[0]});case Rb.P2WPKH:if(0===i.length)break;if(0===n.length)break;return Ib.p2wpkh({pubkey:i[0],signature:n[0]});case Rb.P2PK:if(0===i.length)break;if(0===n.length)break;return Ib.p2pk({signature:n[0]});case Rb.P2MS:{const t=e.maxSignatures;n=r?n.map((t=>t||Ob.OPS.OP_0)):n.filter((t=>t));const o=!r||t===n.length;return Ib.p2ms({m:t,pubkeys:i,signatures:n},{allowIncomplete:r,validate:o})}case Rb.P2SH:{const t=jb(e.redeemScriptType,e,r);if(!t)return;return Ib.p2sh({redeem:{output:t.output||e.redeemScript,input:t.input,witness:t.witness}})}case Rb.P2WSH:{const t=jb(e.witnessScriptType,e,r);if(!t)return;return Ib.p2wsh({redeem:{output:e.witnessScript,input:t.input,witness:t.witness}})}}}function Hb(t){return void 0!==t.signScript&&void 0!==t.signType&&void 0!==t.pubkeys&&void 0!==t.signatures&&t.signatures.length===t.pubkeys.length&&t.pubkeys.length>0&&(!1===t.hasWitness||void 0!==t.value)}function qb(t){return t.readUInt8(t.length-1)}Py.TransactionBuilder=Cb,Object.defineProperty(T,"__esModule",{value:!0});const Kb=O;T.bip32=Kb;const Fb=uc;T.address=Fb;const zb=od;T.crypto=zb;const Wb=yp;var Vb=T.ECPair=Wb;const Zb=fc;T.networks=Zb;const Gb=lc;T.payments=Gb;const $b=dc;var Xb=T.script=$b,Yb=Pp;T.Block=Yb.Block;var Jb=mm;T.Psbt=Jb.Psbt;var Qb=dc;T.opcodes=Qb.OPS;var tw=Kp,ew=T.Transaction=tw.Transaction,rw=Py;T.TransactionBuilder=rw.TransactionBuilder;var iw={},nw={},ow={exports:{}},sw={},hw={};Object.defineProperty(hw,"__esModule",{value:!0}),hw.default=function(t){var e=t.length,r=e%4;if(!r)return t;var i=e,n=4-r,o=e+n,s=z.alloc(o);for(s.write(t);n--;)s.write("=",i++);return s.toString()},Object.defineProperty(sw,"__esModule",{value:!0});var aw=hw;function uw(t,e){return void 0===e&&(e="utf8"),At(t)?lw(t.toString("base64")):lw(z.from(t,e).toString("base64"))}function fw(t){return t=t.toString(),aw.default(t).replace(/\-/g,"+").replace(/_/g,"/")}function lw(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}var cw,dw=uw;dw.encode=uw,dw.decode=function(t,e){return void 0===e&&(e="utf8"),z.from(fw(t),"base64").toString(e)},dw.toBase64=fw,dw.fromBase64=lw,dw.toBuffer=function(t){return z.from(fw(t),"base64")},sw.default=dw,(cw=ow).exports=sw.default,cw.exports.default=cw.exports;var pw={},mw={};function gw(t){return(t/8|0)+(t%8==0?0:1)}var yw={ES256:gw(256),ES384:gw(384),ES512:gw(521)};var vw=function(t){var e=yw[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')},bw=xt.exports.Buffer,ww=vw;function Mw(t){if(bw.isBuffer(t))return t;if("string"==typeof t)return bw.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function _w(t,e,r){for(var i=0;e+i<r&&0===t[e+i];)++i;return t[e+i]>=128&&--i,i}var Sw={derToJose:function(t,e){t=Mw(t);var r=ww(e),i=r+1,n=t.length,o=0;if(48!==t[o++])throw new Error('Could not find expected "seq"');var s=t[o++];if(129===s&&(s=t[o++]),n-o<s)throw new Error('"seq" specified length of "'+s+'", only "'+(n-o)+'" remaining');if(2!==t[o++])throw new Error('Could not find expected "int" for "r"');var h=t[o++];if(n-o-2<h)throw new Error('"r" specified length of "'+h+'", only "'+(n-o-2)+'" available');if(i<h)throw new Error('"r" specified length of "'+h+'", max of "'+i+'" is acceptable');var a=o;if(o+=h,2!==t[o++])throw new Error('Could not find expected "int" for "s"');var u=t[o++];if(n-o!==u)throw new Error('"s" specified length of "'+u+'", expected "'+(n-o)+'"');if(i<u)throw new Error('"s" specified length of "'+u+'", max of "'+i+'" is acceptable');var f=o;if((o+=u)!==n)throw new Error('Expected to consume entire buffer, but "'+(n-o)+'" bytes remain');var l=r-h,c=r-u,d=bw.allocUnsafe(l+h+c+u);for(o=0;o<l;++o)d[o]=0;t.copy(d,o,a+Math.max(-l,0),a+h);for(var p=o=r;o<p+c;++o)d[o]=0;return t.copy(d,o,f+Math.max(-c,0),f+u),d=(d=d.toString("base64")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},joseToDer:function(t,e){t=Mw(t);var r=ww(e),i=t.length;if(i!==2*r)throw new TypeError('"'+e+'" signatures must be "'+2*r+'" bytes, saw "'+i+'"');var n=_w(t,0,r),o=_w(t,r,t.length),s=r-n,h=r-o,a=2+s+1+1+h,u=a<128,f=bw.allocUnsafe((u?2:3)+a),l=0;return f[l++]=48,u?f[l++]=a:(f[l++]=129,f[l++]=255&a),f[l++]=2,f[l++]=s,n<0?(f[l++]=0,l+=t.copy(f,l,0,r)):l+=t.copy(f,l,n,r),f[l++]=2,f[l++]=h,o<0?(f[l++]=0,t.copy(f,l,r)):t.copy(f,l,r+o),f}},Ew={};Object.defineProperty(Ew,"__esModule",{value:!0});class kw extends Error{constructor(t){super(),this.name="MissingParametersError",this.message=t||""}}Ew.MissingParametersError=kw;class Aw extends Error{constructor(t){super(),this.name="InvalidTokenError",this.message=t||""}}Ew.InvalidTokenError=Aw,Object.defineProperty(mw,"__esModule",{value:!0});const Iw=Js,Tw=Sw,Ow=Ew;class Pw{constructor(){}static loadPrivateKey(t){return 66===t.length&&(t=t.slice(0,64)),Pw.ec.keyFromPrivate(t)}static loadPublicKey(t){return Pw.ec.keyFromPublic(t,"hex")}static derivePublicKey(t,e=!0){if("string"!=typeof t)throw Error("private key must be a string");if(!/^[0-9A-F]+$/i.test(t))throw Error("private key must be a hex string");if(66==t.length)t=t.slice(0,64);else if(!(t.length<=64))throw Error("private key must be 66 characters or less");return Pw.ec.keyFromPrivate(t).getPublic(e,"hex")}static signHash(t,e,r="jose"){if(!t||!e)throw new Ow.MissingParametersError("a signing input hash and private key are all required");const i=Pw.loadPrivateKey(e).sign(t),n=z.from(i.toDER());if("der"===r)return n.toString("hex");if("jose"===r)return Tw.derToJose(n,"ES256");throw Error("Invalid signature format")}static loadSignature(t){return Tw.joseToDer(t,"ES256")}static verifyHash(t,e,r){if(!(t&&e&&r))throw new Ow.MissingParametersError("a signing input hash, der signature, and public key are all required");return Pw.loadPublicKey(r).verify(t,e)}}mw.SECP256K1Client=Pw,Pw.ec=new Iw.ec("secp256k1"),Pw.algorithmName="ES256K",Object.defineProperty(pw,"__esModule",{value:!0});const xw=mw;pw.SECP256K1Client=xw.SECP256K1Client;const Bw={ES256K:xw.SECP256K1Client};pw.cryptoClients=Bw;var Rw,Nw={},Uw={},Cw={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}},Lw=Cw,Dw={},jw=Math.pow(2,30)-1,Hw=function(t,e){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof e)throw new TypeError("Key length not a number");if(e<0||e>jw||e!=e)throw new TypeError("Bad key length")};if(A.process&&A.true)Rw="utf-8";else if(A.process&&A.process.version){Rw=parseInt(ge.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else Rw="utf-8";var qw=Rw,Kw=xt.exports.Buffer,Fw=function(t,e,r){if(Kw.isBuffer(t))return t;if("string"==typeof t)return Kw.from(t,e);if(ArrayBuffer.isView(t))return Kw.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")},zw=Rs,Ww=Qn,Vw=to.exports,Zw=xt.exports.Buffer,Gw=Hw,$w=qw,Xw=Fw,Yw=Zw.alloc(128),Jw={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Qw(t,e,r){var i=function(t){function e(e){return Vw(t).update(e).digest()}function r(t){return(new Ww).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?zw:e}(t),n="sha512"===t||"sha384"===t?128:64;e.length>n?e=i(e):e.length<n&&(e=Zw.concat([e,Yw],n));for(var o=Zw.allocUnsafe(n+Jw[t]),s=Zw.allocUnsafe(n+Jw[t]),h=0;h<n;h++)o[h]=54^e[h],s[h]=92^e[h];var a=Zw.allocUnsafe(n+r+4);o.copy(a,0,0,n),this.ipad1=a,this.ipad2=o,this.opad=s,this.alg=t,this.blocksize=n,this.hash=i,this.size=Jw[t]}Qw.prototype.run=function(t,e){return t.copy(e,this.blocksize),this.hash(e).copy(this.opad,this.blocksize),this.hash(this.opad)};var tM,eM,rM=function(t,e,r,i,n){Gw(r,i);var o=new Qw(n=n||"sha1",t=Xw(t,$w,"Password"),(e=Xw(e,$w,"Salt")).length),s=Zw.allocUnsafe(i),h=Zw.allocUnsafe(e.length+4);e.copy(h,0,0,e.length);for(var a=0,u=Jw[n],f=Math.ceil(i/u),l=1;l<=f;l++){h.writeUInt32BE(l,e.length);for(var c=o.run(h,o.ipad1),d=c,p=1;p<r;p++){d=o.run(d,o.ipad2);for(var m=0;m<u;m++)c[m]^=d[m]}c.copy(s,a),a+=u}return s},iM=xt.exports.Buffer,nM=Hw,oM=qw,sM=rM,hM=Fw,aM=A.crypto&&A.crypto.subtle,uM={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},fM=[];function lM(){return eM||(eM=A.process&&A.process.nextTick?A.process.nextTick:A.queueMicrotask?A.queueMicrotask:A.setImmediate?A.setImmediate:A.setTimeout)}function cM(t,e,r,i,n){return aM.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return aM.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return iM.from(t)}))}Dw.pbkdf2=function(t,e,r,i,n,o){"function"==typeof n&&(o=n,n=void 0);var s=uM[(n=n||"sha1").toLowerCase()];if(s&&"function"==typeof A.Promise){if(nM(r,i),t=hM(t,oM,"Password"),e=hM(e,oM,"Salt"),"function"!=typeof o)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){lM()((function(){e(null,t)}))}),(function(t){lM()((function(){e(t)}))}))}(function(t){if(A.process&&!A.true)return Promise.resolve(!1);if(!aM||!aM.importKey||!aM.deriveBits)return Promise.resolve(!1);if(void 0!==fM[t])return fM[t];var e=cM(tM=tM||iM.alloc(8),tM,10,128,t).then((function(){return!0})).catch((function(){return!1}));return fM[t]=e,e}(s).then((function(o){return o?cM(t,e,r,i,s):sM(t,e,r,i,n)})),o)}else lM()((function(){var s;try{s=sM(t,e,r,i,n)}catch(t){return o(t)}o(null,s)}))},Dw.pbkdf2Sync=rM;var dM={},pM={},mM={readUInt32BE:function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},writeUInt32BE:function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},ip:function(t,e,r,i){for(var n=0,o=0,s=6;s>=0;s-=2){for(var h=0;h<=24;h+=8)n<<=1,n|=e>>>h+s&1;for(h=0;h<=24;h+=8)n<<=1,n|=t>>>h+s&1}for(s=6;s>=0;s-=2){for(h=1;h<=25;h+=8)o<<=1,o|=e>>>h+s&1;for(h=1;h<=25;h+=8)o<<=1,o|=t>>>h+s&1}r[i+0]=n>>>0,r[i+1]=o>>>0},rip:function(t,e,r,i){for(var n=0,o=0,s=0;s<4;s++)for(var h=24;h>=0;h-=8)n<<=1,n|=e>>>h+s&1,n<<=1,n|=t>>>h+s&1;for(s=4;s<8;s++)for(h=24;h>=0;h-=8)o<<=1,o|=e>>>h+s&1,o<<=1,o|=t>>>h+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},pc1:function(t,e,r,i){for(var n=0,o=0,s=7;s>=5;s--){for(var h=0;h<=24;h+=8)n<<=1,n|=e>>h+s&1;for(h=0;h<=24;h+=8)n<<=1,n|=t>>h+s&1}for(h=0;h<=24;h+=8)n<<=1,n|=e>>h+s&1;for(s=1;s<=3;s++){for(h=0;h<=24;h+=8)o<<=1,o|=e>>h+s&1;for(h=0;h<=24;h+=8)o<<=1,o|=t>>h+s&1}for(h=0;h<=24;h+=8)o<<=1,o|=t>>h+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},r28shl:function(t,e){return t<<e&268435455|t>>>28-e}},gM=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];mM.pc2=function(t,e,r,i){for(var n=0,o=0,s=gM.length>>>1,h=0;h<s;h++)n<<=1,n|=t>>>gM[h]&1;for(h=s;h<gM.length;h++)o<<=1,o|=e>>>gM[h]&1;r[i+0]=n>>>0,r[i+1]=o>>>0},mM.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var yM=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];mM.substitute=function(t,e){for(var r=0,i=0;i<4;i++){r<<=4,r|=yM[64*i+(t>>>18-6*i&63)]}for(i=0;i<4;i++){r<<=4,r|=yM[256+64*i+(e>>>18-6*i&63)]}return r>>>0};var vM=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];mM.permute=function(t){for(var e=0,r=0;r<vM.length;r++)e<<=1,e|=t>>>vM[r]&1;return e>>>0},mM.padSplit=function(t,e,r){for(var i=t.toString(2);i.length<e;)i="0"+i;for(var n=[],o=0;o<e;o+=r)n.push(i.slice(o,o+r));return n.join(" ")};var bM=rh;function wM(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}var MM=wM;wM.prototype._init=function(){},wM.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},wM.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i<r;i++)this.buffer[this.bufferOff+i]=t[e+i];return this.bufferOff+=r,r},wM.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},wM.prototype._updateEncrypt=function(t){var e=0,r=0,i=(this.bufferOff+t.length)/this.blockSize|0,n=new Array(i*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(n,r)));for(var o=t.length-(t.length-e)%this.blockSize;e<o;e+=this.blockSize)this._update(t,e,n,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return n},wM.prototype._updateDecrypt=function(t){for(var e=0,r=0,i=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,n=new Array(i*this.blockSize);i>0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},wM.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},wM.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},wM.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},wM.prototype._unpad=function(t){return t},wM.prototype._finalDecrypt=function(){bM.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)};var _M=rh,SM=Pt.exports,EM=mM,kM=MM;function AM(){this.tmp=new Array(2),this.keys=null}function IM(t){kM.call(this,t);var e=new AM;this._desState=e,this.deriveKeys(e,t.key)}SM(IM,kM);var TM=IM;IM.create=function(t){return new IM(t)};var OM=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];IM.prototype.deriveKeys=function(t,e){t.keys=new Array(32),_M.equal(e.length,this.blockSize,"Invalid key length");var r=EM.readUInt32BE(e,0),i=EM.readUInt32BE(e,4);EM.pc1(r,i,t.tmp,0),r=t.tmp[0],i=t.tmp[1];for(var n=0;n<t.keys.length;n+=2){var o=OM[n>>>1];r=EM.r28shl(r,o),i=EM.r28shl(i,o),EM.pc2(r,i,t.keys,n)}},IM.prototype._update=function(t,e,r,i){var n=this._desState,o=EM.readUInt32BE(t,e),s=EM.readUInt32BE(t,e+4);EM.ip(o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],"encrypt"===this.type?this._encrypt(n,o,s,n.tmp,0):this._decrypt(n,o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],EM.writeUInt32BE(r,o,i),EM.writeUInt32BE(r,s,i+4)},IM.prototype._pad=function(t,e){for(var r=t.length-e,i=e;i<t.length;i++)t[i]=r;return!0},IM.prototype._unpad=function(t){for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)_M.equal(t[r],e);return t.slice(0,t.length-e)},IM.prototype._encrypt=function(t,e,r,i,n){for(var o=e,s=r,h=0;h<t.keys.length;h+=2){var a=t.keys[h],u=t.keys[h+1];EM.expand(s,t.tmp,0),a^=t.tmp[0],u^=t.tmp[1];var f=EM.substitute(a,u),l=s;s=(o^EM.permute(f))>>>0,o=l}EM.rip(s,o,i,n)},IM.prototype._decrypt=function(t,e,r,i,n){for(var o=r,s=e,h=t.keys.length-2;h>=0;h-=2){var a=t.keys[h],u=t.keys[h+1];EM.expand(o,t.tmp,0),a^=t.tmp[0],u^=t.tmp[1];var f=EM.substitute(a,u),l=o;o=(s^EM.permute(f))>>>0,s=l}EM.rip(o,s,i,n)};var PM={},xM=rh,BM=Pt.exports,RM={};function NM(t){xM.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=t[e]}PM.instantiate=function(t){function e(e){t.call(this,e),this._cbcInit()}BM(e,t);for(var r=Object.keys(RM),i=0;i<r.length;i++){var n=r[i];e.prototype[n]=RM[n]}return e.create=function(t){return new e(t)},e},RM._cbcInit=function(){var t=new NM(this.options.iv);this._cbcState=t},RM._update=function(t,e,r,i){var n=this._cbcState,o=this.constructor.super_.prototype,s=n.iv;if("encrypt"===this.type){for(var h=0;h<this.blockSize;h++)s[h]^=t[e+h];o._update.call(this,s,0,r,i);for(h=0;h<this.blockSize;h++)s[h]=r[i+h]}else{o._update.call(this,t,e,r,i);for(h=0;h<this.blockSize;h++)r[i+h]^=s[h];for(h=0;h<this.blockSize;h++)s[h]=t[e+h]}};var UM=rh,CM=Pt.exports,LM=MM,DM=TM;function jM(t,e){UM.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),i=e.slice(8,16),n=e.slice(16,24);this.ciphers="encrypt"===t?[DM.create({type:"encrypt",key:r}),DM.create({type:"decrypt",key:i}),DM.create({type:"encrypt",key:n})]:[DM.create({type:"decrypt",key:n}),DM.create({type:"encrypt",key:i}),DM.create({type:"decrypt",key:r})]}function HM(t){LM.call(this,t);var e=new jM(this.type,this.options.key);this._edeState=e}CM(HM,LM);var qM=HM;HM.create=function(t){return new HM(t)},HM.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},HM.prototype._pad=DM.prototype._pad,HM.prototype._unpad=DM.prototype._unpad,pM.utils=mM,pM.Cipher=MM,pM.DES=TM,pM.CBC=PM,pM.EDE=qM;var KM=vs,FM=pM,zM=Pt.exports,WM=xt.exports.Buffer,VM={"des-ede3-cbc":FM.CBC.instantiate(FM.EDE),"des-ede3":FM.EDE,"des-ede-cbc":FM.CBC.instantiate(FM.EDE),"des-ede":FM.EDE,"des-cbc":FM.CBC.instantiate(FM.DES),"des-ecb":FM.DES};VM.des=VM["des-cbc"],VM.des3=VM["des-ede3-cbc"];var ZM=GM;function GM(t){KM.call(this);var e,r=t.mode.toLowerCase(),i=VM[r];e=t.decrypt?"decrypt":"encrypt";var n=t.key;WM.isBuffer(n)||(n=WM.from(n)),"des-ede"!==r&&"des-ede-cbc"!==r||(n=WM.concat([n,n.slice(0,8)]));var o=t.iv;WM.isBuffer(o)||(o=WM.from(o)),this._des=i.create({key:n,iv:o,type:e})}zM(GM,KM),GM.prototype._update=function(t){return WM.from(this._des.update(t))},GM.prototype._final=function(){return WM.from(this._des.final())};var $M={},XM={},YM={encrypt:function(t,e){return t._cipher.encryptBlock(e)},decrypt:function(t,e){return t._cipher.decryptBlock(e)}},JM={},QM=function(t,e){for(var r=Math.min(t.length,e.length),i=new z(r),n=0;n<r;++n)i[n]=t[n]^e[n];return i},t_=QM;JM.encrypt=function(t,e){var r=t_(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},JM.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return t_(i,r)};var e_={},r_=xt.exports.Buffer,i_=QM;function n_(t,e,r){var i=e.length,n=i_(e,t._cache);return t._cache=t._cache.slice(i),t._prev=r_.concat([t._prev,r?e:n]),n}e_.encrypt=function(t,e,r){for(var i,n=r_.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=r_.allocUnsafe(0)),!(t._cache.length<=e.length)){n=r_.concat([n,n_(t,e,r)]);break}i=t._cache.length,n=r_.concat([n,n_(t,e.slice(0,i),r)]),e=e.slice(i)}return n};var o_={},s_=xt.exports.Buffer;function h_(t,e,r){var i=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=s_.concat([t._prev.slice(1),s_.from([r?e:i])]),i}o_.encrypt=function(t,e,r){for(var i=e.length,n=s_.allocUnsafe(i),o=-1;++o<i;)n[o]=h_(t,e[o],r);return n};var a_={},u_=xt.exports.Buffer;function f_(t,e,r){for(var i,n,o=-1,s=0;++o<8;)i=e&1<<7-o?128:0,s+=(128&(n=t._cipher.encryptBlock(t._prev)[0]^i))>>o%8,t._prev=l_(t._prev,r?i:n);return s}function l_(t,e){var r=t.length,i=-1,n=u_.allocUnsafe(t.length);for(t=u_.concat([t,u_.from([e])]);++i<r;)n[i]=t[i]<<1|t[i+1]>>7;return n}a_.encrypt=function(t,e,r){for(var i=e.length,n=u_.allocUnsafe(i),o=-1;++o<i;)n[o]=f_(t,e[o],r);return n};var c_={},d_=QM;function p_(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}c_.encrypt=function(t,e){for(;t._cache.length<e.length;)t._cache=z.concat([t._cache,p_(t)]);var r=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),d_(e,r)};var m_={};var g_=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}},y_=QM,v_=xt.exports.Buffer,b_=g_;function w_(t){var e=t._cipher.encryptBlockRaw(t._prev);return b_(t._prev),e}m_.encrypt=function(t,e){var r=Math.ceil(e.length/16),i=t._cache.length;t._cache=v_.concat([t._cache,v_.allocUnsafe(16*r)]);for(var n=0;n<r;n++){var o=w_(t),s=i+16*n;t._cache.writeUInt32BE(o[0],s+0),t._cache.writeUInt32BE(o[1],s+4),t._cache.writeUInt32BE(o[2],s+8),t._cache.writeUInt32BE(o[3],s+12)}var h=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),y_(e,h)};var M_={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},__={ECB:YM,CBC:JM,CFB:e_,CFB8:o_,CFB1:a_,OFB:c_,CTR:m_,GCM:m_},S_=M_;for(var E_ in S_)S_[E_].module=__[S_[E_].mode];var k_=S_,A_={},I_=xt.exports.Buffer;function T_(t){I_.isBuffer(t)||(t=I_.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i<e;i++)r[i]=t.readUInt32BE(4*i);return r}function O_(t){for(;0<t.length;t++)t[0]=0}function P_(t,e,r,i,n){for(var o,s,h,a,u=r[0],f=r[1],l=r[2],c=r[3],d=t[0]^e[0],p=t[1]^e[1],m=t[2]^e[2],g=t[3]^e[3],y=4,v=1;v<n;v++)o=u[d>>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&g]^e[y++],s=u[p>>>24]^f[m>>>16&255]^l[g>>>8&255]^c[255&d]^e[y++],h=u[m>>>24]^f[g>>>16&255]^l[d>>>8&255]^c[255&p]^e[y++],a=u[g>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[y++],d=o,p=s,m=h,g=a;return o=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&g])^e[y++],s=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[g>>>8&255]<<8|i[255&d])^e[y++],h=(i[m>>>24]<<24|i[g>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[y++],a=(i[g>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[y++],[o>>>=0,s>>>=0,h>>>=0,a>>>=0]}var x_=[0,1,2,4,8,16,32,64,128,27,54],B_=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],s=0,h=0,a=0;a<256;++a){var u=h^h<<1^h<<2^h<<3^h<<4;u=u>>>8^255&u^99,r[s]=u,i[u]=s;var f=t[s],l=t[f],c=t[l],d=257*t[u]^16843008*u;n[0][s]=d<<24|d>>>8,n[1][s]=d<<16|d>>>16,n[2][s]=d<<8|d>>>24,n[3][s]=d,d=16843009*c^65537*l^257*f^16843008*s,o[0][u]=d<<24|d>>>8,o[1][u]=d<<16|d>>>16,o[2][u]=d<<8|d>>>24,o[3][u]=d,0===s?s=h=1:(s=f^t[t[t[c^f]]],h^=t[t[h]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}}();function R_(t){this._key=T_(t),this._reset()}R_.blockSize=16,R_.keySize=32,R_.prototype.blockSize=R_.blockSize,R_.prototype.keySize=R_.keySize,R_.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],o=0;o<e;o++)n[o]=t[o];for(o=e;o<i;o++){var s=n[o-1];o%e==0?(s=s<<8|s>>>24,s=B_.SBOX[s>>>24]<<24|B_.SBOX[s>>>16&255]<<16|B_.SBOX[s>>>8&255]<<8|B_.SBOX[255&s],s^=x_[o/e|0]<<24):e>6&&o%e==4&&(s=B_.SBOX[s>>>24]<<24|B_.SBOX[s>>>16&255]<<16|B_.SBOX[s>>>8&255]<<8|B_.SBOX[255&s]),n[o]=n[o-e]^s}for(var h=[],a=0;a<i;a++){var u=i-a,f=n[u-(a%4?0:4)];h[a]=a<4||u<=4?f:B_.INV_SUB_MIX[0][B_.SBOX[f>>>24]]^B_.INV_SUB_MIX[1][B_.SBOX[f>>>16&255]]^B_.INV_SUB_MIX[2][B_.SBOX[f>>>8&255]]^B_.INV_SUB_MIX[3][B_.SBOX[255&f]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=h},R_.prototype.encryptBlockRaw=function(t){return P_(t=T_(t),this._keySchedule,B_.SUB_MIX,B_.SBOX,this._nRounds)},R_.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=I_.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},R_.prototype.decryptBlock=function(t){var e=(t=T_(t))[1];t[1]=t[3],t[3]=e;var r=P_(t,this._invKeySchedule,B_.INV_SUB_MIX,B_.INV_SBOX,this._nRounds),i=I_.allocUnsafe(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[3],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[1],12),i},R_.prototype.scrub=function(){O_(this._keySchedule),O_(this._invKeySchedule),O_(this._key)},A_.AES=R_;var N_=xt.exports.Buffer,U_=N_.alloc(16,0);function C_(t){var e=N_.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function L_(t){this.h=t,this.state=N_.alloc(16,0),this.cache=N_.allocUnsafe(0)}L_.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},L_.prototype._multiply=function(){for(var t,e,r,i=[(t=this.h).readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)],n=[0,0,0,0],o=-1;++o<128;){for(0!=(this.state[~~(o/8)]&1<<7-o%8)&&(n[0]^=i[0],n[1]^=i[1],n[2]^=i[2],n[3]^=i[3]),r=0!=(1&i[3]),e=3;e>0;e--)i[e]=i[e]>>>1|(1&i[e-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=C_(n)},L_.prototype.update=function(t){var e;for(this.cache=N_.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},L_.prototype.final=function(t,e){return this.cache.length&&this.ghash(N_.concat([this.cache,U_],16)),this.ghash(C_([0,t,0,e])),this.state};var D_=L_,j_=A_,H_=xt.exports.Buffer,q_=vs,K_=Pt.exports,F_=D_,z_=QM,W_=g_;function V_(t,e,r,i){q_.call(this);var n=H_.alloc(4,0);this._cipher=new j_.AES(e);var o=this._cipher.encryptBlock(n);this._ghash=new F_(o),r=function(t,e,r){if(12===e.length)return t._finID=H_.concat([e,H_.from([0,0,0,1])]),H_.concat([e,H_.from([0,0,0,2])]);var i=new F_(r),n=e.length,o=n%16;i.update(e),o&&(o=16-o,i.update(H_.alloc(o,0))),i.update(H_.alloc(8,0));var s=8*n,h=H_.alloc(8);h.writeUIntBE(s,0,8),i.update(h),t._finID=i.state;var a=H_.from(t._finID);return W_(a),a}(this,r,o),this._prev=H_.from(r),this._cache=H_.allocUnsafe(0),this._secCache=H_.allocUnsafe(0),this._decrypt=i,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}K_(V_,q_),V_.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=H_.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},V_.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=z_(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n<i;++n)r+=t[n]^e[n];return r}(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},V_.prototype.getAuthTag=function(){if(this._decrypt||!H_.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},V_.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},V_.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length};var Z_=V_,G_=A_,$_=xt.exports.Buffer,X_=vs;function Y_(t,e,r,i){X_.call(this),this._cipher=new G_.AES(e),this._prev=$_.from(r),this._cache=$_.allocUnsafe(0),this._secCache=$_.allocUnsafe(0),this._decrypt=i,this._mode=t}(0,Pt.exports)(Y_,X_),Y_.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},Y_.prototype._final=function(){this._cipher.scrub()};var J_=Y_,Q_=xt.exports.Buffer,tS=Un;var eS=function(t,e,r,i){if(Q_.isBuffer(t)||(t=Q_.from(t,"binary")),e&&(Q_.isBuffer(e)||(e=Q_.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var n=r/8,o=Q_.alloc(n),s=Q_.alloc(i||0),h=Q_.alloc(0);n>0||i>0;){var a=new tS;a.update(h),a.update(t),e&&a.update(e),h=a.digest();var u=0;if(n>0){var f=o.length-n;u=Math.min(n,h.length),h.copy(o,f,0,u),n-=u}if(u<h.length&&i>0){var l=s.length-i,c=Math.min(i,h.length-u);h.copy(s,l,u,u+c),i-=c}}return h.fill(0),{key:o,iv:s}},rS=k_,iS=Z_,nS=xt.exports.Buffer,oS=J_,sS=vs,hS=A_,aS=eS;function uS(t,e,r){sS.call(this),this._cache=new lS,this._cipher=new hS.AES(e),this._prev=nS.from(r),this._mode=t,this._autopadding=!0}(0,Pt.exports)(uS,sS),uS.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get();)r=this._mode.encrypt(this,e),i.push(r);return nS.concat(i)};var fS=nS.alloc(16,16);function lS(){this.cache=nS.allocUnsafe(0)}function cS(t,e,r){var i=rS[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=nS.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=nS.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===i.type?new oS(i.module,e,r):"auth"===i.type?new iS(i.module,e,r):new uS(i.module,e,r)}uS.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(fS))throw this._cipher.scrub(),new Error("data not multiple of block length")},uS.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},lS.prototype.add=function(t){this.cache=nS.concat([this.cache,t])},lS.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},lS.prototype.flush=function(){for(var t=16-this.cache.length,e=nS.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return nS.concat([this.cache,e])},XM.createCipheriv=cS,XM.createCipher=function(t,e){var r=rS[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=aS(e,!1,r.key,r.iv);return cS(t,i.key,i.iv)};var dS={},pS=Z_,mS=xt.exports.Buffer,gS=k_,yS=J_,vS=vs,bS=A_,wS=eS;function MS(t,e,r){vS.call(this),this._cache=new _S,this._last=void 0,this._cipher=new bS.AES(e),this._prev=mS.from(r),this._mode=t,this._autopadding=!0}function _S(){this.cache=mS.allocUnsafe(0)}function SS(t,e,r){var i=gS[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=mS.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=mS.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===i.type?new yS(i.module,e,r,!0):"auth"===i.type?new pS(i.module,e,r,!0):new MS(i.module,e,r)}(0,Pt.exports)(MS,vS),MS.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),i.push(r);return mS.concat(i)},MS.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16===e)return;return t.slice(0,16-e)}(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},MS.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},_S.prototype.add=function(t){this.cache=mS.concat([this.cache,t])},_S.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},_S.prototype.flush=function(){if(this.cache.length)return this.cache},dS.createDecipher=function(t,e){var r=gS[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=wS(e,!1,r.key,r.iv);return SS(t,i.key,i.iv)},dS.createDecipheriv=SS;var ES=XM,kS=dS,AS=M_;$M.createCipher=$M.Cipher=ES.createCipher,$M.createCipheriv=$M.Cipheriv=ES.createCipheriv,$M.createDecipher=$M.Decipher=kS.createDecipher,$M.createDecipheriv=$M.Decipheriv=kS.createDecipheriv,$M.listCiphers=$M.getCiphers=function(){return Object.keys(AS)};var IS={};!function(t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}}(IS);var TS=ZM,OS=$M,PS=k_,xS=IS,BS=eS;function RS(t,e,r){if(t=t.toLowerCase(),PS[t])return OS.createCipheriv(t,e,r);if(xS[t])return new TS({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function NS(t,e,r){if(t=t.toLowerCase(),PS[t])return OS.createDecipheriv(t,e,r);if(xS[t])return new TS({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}dM.createCipher=dM.Cipher=function(t,e){var r,i;if(t=t.toLowerCase(),PS[t])r=PS[t].key,i=PS[t].iv;else{if(!xS[t])throw new TypeError("invalid suite type");r=8*xS[t].key,i=xS[t].iv}var n=BS(e,!1,r,i);return RS(t,n.key,n.iv)},dM.createCipheriv=dM.Cipheriv=RS,dM.createDecipher=dM.Decipher=function(t,e){var r,i;if(t=t.toLowerCase(),PS[t])r=PS[t].key,i=PS[t].iv;else{if(!xS[t])throw new TypeError("invalid suite type");r=8*xS[t].key,i=xS[t].iv}var n=BS(e,!1,r,i);return NS(t,n.key,n.iv)},dM.createDecipheriv=dM.Decipheriv=NS,dM.listCiphers=dM.getCiphers=function(){return Object.keys(xS).concat(OS.getCiphers())};var US={},CS={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(CS,A);var LS={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(LS,A);var DS=LS.exports,jS=hh;function HS(t){this.rand=t||new jS.Rand}var qS=HS;HS.create=function(t){return new HS(t)},HS.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new DS(this.rand.generate(r))}while(i.cmp(t)>=0);return i},HS.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},HS.prototype.test=function(t,e,r){var i=t.bitLength(),n=DS.mont(t),o=new DS(1).toRed(n);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),h=0;!s.testn(h);h++);for(var a=t.shrn(h),u=s.toRed(n);e>0;e--){var f=this._randrange(new DS(2),s);r&&r(f);var l=f.toRed(n).redPow(a);if(0!==l.cmp(o)&&0!==l.cmp(u)){for(var c=1;c<h;c++){if(0===(l=l.redSqr()).cmp(o))return!1;if(0===l.cmp(u))break}if(c===h)return!1}}return!0},HS.prototype.getDivisor=function(t,e){var r=t.bitLength(),i=DS.mont(t),n=new DS(1).toRed(i);e||(e=Math.max(1,r/48|0));for(var o=t.subn(1),s=0;!o.testn(s);s++);for(var h=t.shrn(s),a=o.toRed(i);e>0;e--){var u=this._randrange(new DS(2),o),f=t.gcd(u);if(0!==f.cmpn(1))return f;var l=u.toRed(i).redPow(h);if(0!==l.cmp(n)&&0!==l.cmp(a)){for(var c=1;c<s;c++){if(0===(l=l.redSqr()).cmp(n))return l.fromRed().subn(1).gcd(t);if(0===l.cmp(a))break}if(c===s)return(l=l.redSqr()).fromRed().subn(1).gcd(t)}}return!1};var KS=vp.exports,FS=iE;iE.simpleSieve=eE,iE.fermatTest=rE;var zS=CS.exports,WS=new zS(24),VS=new qS,ZS=new zS(1),GS=new zS(2),$S=new zS(5);new zS(16),new zS(8);var XS=new zS(10),YS=new zS(3);new zS(7);var JS=new zS(11),QS=new zS(4);new zS(12);var tE=null;function eE(t){for(var e=function(){if(null!==tE)return tE;var t=[];t[0]=2;for(var e=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;n<e&&t[n]<=i&&r%t[n]!=0;n++);e!==n&&t[n]<=i||(t[e++]=r)}return tE=t,t}(),r=0;r<e.length;r++)if(0===t.modn(e[r]))return 0===t.cmpn(e[r]);return!0}function rE(t){var e=zS.mont(t);return 0===GS.toRed(e).redPow(t.subn(1)).fromRed().cmpn(1)}function iE(t,e){if(t<16)return new zS(2===e||5===e?[140,123]:[140,39]);var r,i;for(e=new zS(e);;){for(r=new zS(KS(Math.ceil(t/8)));r.bitLength()>t;)r.ishrn(1);if(r.isEven()&&r.iadd(ZS),r.testn(1)||r.iadd(GS),e.cmp(GS)){if(!e.cmp($S))for(;r.mod(XS).cmp(YS);)r.iadd(QS)}else for(;r.mod(WS).cmp(JS);)r.iadd(QS);if(eE(i=r.shrn(1))&&eE(r)&&rE(i)&&rE(r)&&VS.test(i)&&VS.test(r))return r}}var nE={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}},oE=CS.exports,sE=new qS,hE=new oE(24),aE=new oE(11),uE=new oE(10),fE=new oE(3),lE=new oE(7),cE=FS,dE=vp.exports,pE=vE;function mE(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this._pub=new oE(t),this}function gE(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this._priv=new oE(t),this}var yE={};function vE(t,e,r){this.setGenerator(e),this.__prime=new oE(t),this._prime=oE.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=mE,this.setPrivateKey=gE):this._primeCode=8}function bE(t,e){var r=new z(t.toArray());return e?r.toString(e):r}Object.defineProperty(vE.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in yE)return yE[i];var n,o=0;if(t.isEven()||!cE.simpleSieve||!cE.fermatTest(t)||!sE.test(t))return o+=1,o+="02"===r||"05"===r?8:4,yE[i]=o,o;switch(sE.test(t.shrn(1))||(o+=2),r){case"02":t.mod(hE).cmp(aE)&&(o+=8);break;case"05":(n=t.mod(uE)).cmp(fE)&&n.cmp(lE)&&(o+=8);break;default:o+=4}return yE[i]=o,o}(this.__prime,this.__gen)),this._primeCode}}),vE.prototype.generateKeys=function(){return this._priv||(this._priv=new oE(dE(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},vE.prototype.computeSecret=function(t){var e=new z((t=(t=new oE(t)).toRed(this._prime)).redPow(this._priv).fromRed().toArray()),r=this.getPrime();if(e.length<r.length){var i=new z(r.length-e.length);i.fill(0),e=z.concat([i,e])}return e},vE.prototype.getPublicKey=function(t){return bE(this._pub,t)},vE.prototype.getPrivateKey=function(t){return bE(this._priv,t)},vE.prototype.getPrime=function(t){return bE(this.__prime,t)},vE.prototype.getGenerator=function(t){return bE(this._gen,t)},vE.prototype.setGenerator=function(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this.__gen=t,this._gen=new oE(t),this};var wE=FS,ME=nE,_E=pE;var SE={binary:!0,hex:!0,base64:!0};US.DiffieHellmanGroup=US.createDiffieHellmanGroup=US.getDiffieHellman=function(t){var e=new z(ME[t].prime,"hex"),r=new z(ME[t].gen,"hex");return new _E(e,r)},US.createDiffieHellman=US.DiffieHellman=function t(e,r,i,n){return At(r)||void 0===SE[r]?t(e,"binary",r,i):(r=r||"binary",n=n||"binary",At(i=i||new z([2]))||(i=new z(i,n)),"number"==typeof e?new _E(wE(e,i),i,!0):(At(e)||(e=new z(e,r)),new _E(e,i,!0)))};var EE={exports:{}},kE={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,i,n){for(var o=0,s=0,h=Math.min(t.length,i),a=e;a<h;a++){var u=t.charCodeAt(a)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(t){n.prototype.inspect=f}else n.prototype.inspect=f;function f(){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],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r._strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?l[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=c[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:l[u-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(m=p),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this._strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new E(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},i(w,b),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,b),i(_,b),i(S,b),S.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return v[t]=e,e},E.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},E.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},E.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,E),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(kE,A);var AE=kE.exports,IE=vp.exports;function TE(t){var e,r=t.modulus.byteLength();do{e=new AE(IE(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function OE(t,e){var r=function(t){var e=TE(t);return{blinder:e.toRed(AE.mont(t.modulus)).redPow(new AE(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),i=e.modulus.byteLength(),n=new AE(t).mul(r.blinder).umod(e.modulus),o=n.toRed(AE.mont(e.prime1)),s=n.toRed(AE.mont(e.prime2)),h=e.coefficient,a=e.prime1,u=e.prime2,f=o.redPow(e.exponent1).fromRed(),l=s.redPow(e.exponent2).fromRed(),c=f.isub(l).imul(h).umod(a).imul(u);return l.iadd(c).imul(r.unblinder).umod(e.modulus).toArrayLike(z,"be",i)}OE.getr=TE;var PE=OE,xE={},BE={},RE={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(RE,A);var NE,UE={},CE={},LE=Bt,DE=LE.Buffer,jE={};for(NE in LE)LE.hasOwnProperty(NE)&&"SlowBuffer"!==NE&&"Buffer"!==NE&&(jE[NE]=LE[NE]);var HE=jE.Buffer={};for(NE in DE)DE.hasOwnProperty(NE)&&"allocUnsafe"!==NE&&"allocUnsafeSlow"!==NE&&(HE[NE]=DE[NE]);if(jE.Buffer.prototype=DE.prototype,HE.from&&HE.from!==Uint8Array.from||(HE.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return DE(t,e,r)}),HE.alloc||(HE.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var i=DE(t);return e&&0!==e.length?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i}),!jE.kStringMaxLength)try{jE.kStringMaxLength=ge.binding("buffer").kStringMaxLength}catch(t){}jE.constants||(jE.constants={MAX_LENGTH:jE.kMaxLength},jE.kStringMaxLength&&(jE.constants.MAX_STRING_LENGTH=jE.kStringMaxLength));var qE=jE,KE={};const FE=Pt.exports;function zE(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function WE(t,e){this.path=t,this.rethrow(e)}KE.Reporter=zE,zE.prototype.isError=function(t){return t instanceof WE},zE.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},zE.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},zE.prototype.enterKey=function(t){return this._reporterState.path.push(t)},zE.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},zE.prototype.leaveKey=function(t,e,r){const i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},zE.prototype.path=function(){return this._reporterState.path.join("/")},zE.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},zE.prototype.leaveObject=function(t){const e=this._reporterState,r=e.obj;return e.obj=t,r},zE.prototype.error=function(t){let e;const r=this._reporterState,i=t instanceof WE;if(e=i?t:new WE(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},zE.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},FE(WE,Error),WE.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,WE),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this};var VE={};const ZE=Pt.exports,GE=KE.Reporter,$E=qE.Buffer;function XE(t,e){GE.call(this,e),$E.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function YE(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return YE.isEncoderBuffer(t)||(t=new YE(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=$E.byteLength(t);else{if(!$E.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}ZE(XE,GE),VE.DecoderBuffer=XE,XE.isDecoderBuffer=function(t){if(t instanceof XE)return!0;return"object"==typeof t&&$E.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},XE.prototype.save=function(){return{offset:this.offset,reporter:GE.prototype.save.call(this)}},XE.prototype.restore=function(t){const e=new XE(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,GE.prototype.restore.call(this,t.reporter),e},XE.prototype.isEmpty=function(){return this.offset===this.length},XE.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},XE.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new XE(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},XE.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},VE.EncoderBuffer=YE,YE.isEncoderBuffer=function(t){if(t instanceof YE)return!0;return"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},YE.prototype.join=function(t,e){return t||(t=$E.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):$E.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t};const JE=KE.Reporter,QE=VE.EncoderBuffer,tk=VE.DecoderBuffer,ek=rh,rk=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],ik=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(rk);function nk(t,e,r){const i={};this._baseState=i,i.name=r,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}var ok=nk;const sk=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];nk.prototype.clone=function(){const t=this._baseState,e={};sk.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},nk.prototype._wrap=function(){const t=this._baseState;ik.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},nk.prototype._init=function(t){const e=this._baseState;ek(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),ek.equal(e.children.length,1,"Root node can have only one child")},nk.prototype._useArgs=function(t){const e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(ek(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(ek(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);const i=t[r];e[i]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){nk.prototype[t]=function(){const e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),rk.forEach((function(t){nk.prototype[t]=function(){const e=this._baseState,r=Array.prototype.slice.call(arguments);return ek(null===e.tag),e.tag=t,this._useArgs(r),this}})),nk.prototype.use=function(t){ek(t);const e=this._baseState;return ek(null===e.use),e.use=t,this},nk.prototype.optional=function(){return this._baseState.optional=!0,this},nk.prototype.def=function(t){const e=this._baseState;return ek(null===e.default),e.default=t,e.optional=!0,this},nk.prototype.explicit=function(t){const e=this._baseState;return ek(null===e.explicit&&null===e.implicit),e.explicit=t,this},nk.prototype.implicit=function(t){const e=this._baseState;return ek(null===e.explicit&&null===e.implicit),e.implicit=t,this},nk.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},nk.prototype.key=function(t){const e=this._baseState;return ek(null===e.key),e.key=t,this},nk.prototype.any=function(){return this._baseState.any=!0,this},nk.prototype.choice=function(t){const e=this._baseState;return ek(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},nk.prototype.contains=function(t){const e=this._baseState;return ek(null===e.use),e.contains=t,this},nk.prototype._decode=function(t,e){const r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));let i,n=r.default,o=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){let i=null;if(null!==r.explicit?i=r.explicit:null!==r.implicit?i=r.implicit:null!==r.tag&&(i=r.tag),null!==i||r.any){if(o=this._peekTag(t,i,r.any),t.isError(o))return o}else{const i=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(i)}}if(r.obj&&o&&(i=t.enterObject()),o){if(null!==r.explicit){const e=this._decodeTag(t,r.explicit);if(t.isError(e))return e;t=e}const i=t.offset;if(null===r.use&&null===r.choice){let e;r.any&&(e=t.save());const i=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(i))return i;r.any?n=t.raw(e):t=i}if(e&&e.track&&null!==r.tag&&e.track(t.path(),i,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const i=new tk(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(i,e)}}return r.obj&&o&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,n),n},nk.prototype._decodeGeneric=function(t,e,r){const i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},nk.prototype._getUse=function(t,e){const r=this._baseState;return r.useDecoder=this._use(t,e),ek(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},nk.prototype._decodeChoice=function(t,e){const r=this._baseState;let i=null,n=!1;return Object.keys(r.choice).some((function(o){const s=t.save(),h=r.choice[o];try{const r=h._decode(t,e);if(t.isError(r))return!1;i={type:o,value:r},n=!0}catch(e){return t.restore(s),!1}return!0}),this),n?i:t.error("Choice not matched")},nk.prototype._createEncoderBuffer=function(t){return new QE(t,this.reporter)},nk.prototype._encode=function(t,e,r){const i=this._baseState;if(null!==i.default&&i.default===t)return;const n=this._encodeValue(t,e,r);return void 0===n||this._skipDefault(n,e,r)?void 0:n},nk.prototype._encodeValue=function(t,e,r){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(t,e||new JE);let n=null;if(this.reporter=e,i.optional&&void 0===t){if(null===i.default)return;t=i.default}let o=null,s=!1;if(i.any)n=this._createEncoderBuffer(t);else if(i.choice)n=this._encodeChoice(t,e);else if(i.contains)o=this._getUse(i.contains,r)._encode(t,e),s=!0;else if(i.children)o=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");const i=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return e.error("Too many args for : "+i.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){const i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),r))}else null!==i.use?n=this._getUse(i.use,r)._encode(t,e):(o=this._encodePrimitive(i.tag,t),s=!0);if(!i.any&&null===i.choice){const t=null!==i.implicit?i.implicit:i.tag,r=null===i.implicit?"universal":"context";null===t?null===i.use&&e.error("Tag could be omitted only for .use()"):null===i.use&&(n=this._encodeComposite(t,s,r,o))}return null!==i.explicit&&(n=this._encodeComposite(i.explicit,!1,"context",n)),n},nk.prototype._encodeChoice=function(t,e){const r=this._baseState,i=r.choice[t.type];return i||ek(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},nk.prototype._encodePrimitive=function(t,e){const r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},nk.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},nk.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)};var hk={};!function(t){function e(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=e(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=e(t.tag)}(hk);const ak=Pt.exports,uk=qE.Buffer,fk=ok,lk=hk;function ck(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new pk,this.tree._init(t.body)}var dk=ck;function pk(t){fk.call(this,"der",t)}function mk(t){return t<10?"0"+t:t}ck.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},ak(pk,fk),pk.prototype._encodeComposite=function(t,e,r,i){const n=function(t,e,r,i){let n;"seqof"===t?t="seq":"setof"===t&&(t="set");if(lk.tagByName.hasOwnProperty(t))n=lk.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}if(n>=31)return i.error("Multi-octet tag encoding unsupported");e||(n|=32);return n|=lk.tagClassByName[r||"universal"]<<6,n}(t,e,r,this.reporter);if(i.length<128){const t=uk.alloc(2);return t[0]=n,t[1]=i.length,this._createEncoderBuffer([t,i])}let o=1;for(let t=i.length;t>=256;t>>=8)o++;const s=uk.alloc(2+o);s[0]=n,s[1]=128|o;for(let t=1+o,e=i.length;e>0;t--,e>>=8)s[t]=255&e;return this._createEncoderBuffer([s,i])},pk.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=uk.alloc(2*t.length);for(let r=0;r<t.length;r++)e.writeUInt16BE(t.charCodeAt(r),2*r);return this._createEncoderBuffer(e)}return"numstr"===e?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===e?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(e)||"objDesc"===e?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+e+" unsupported")},pk.prototype._encodeObjid=function(t,e,r){if("string"==typeof t){if(!e)return this.reporter.error("string objid given, but no values map found");if(!e.hasOwnProperty(t))return this.reporter.error("objid not found in values map");t=e[t].split(/[\s.]+/g);for(let e=0;e<t.length;e++)t[e]|=0}else if(Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]|=0}if(!Array.isArray(t))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(t));if(!r){if(t[1]>=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let i=0;for(let e=0;e<t.length;e++){let r=t[e];for(i++;r>=128;r>>=7)i++}const n=uk.alloc(i);let o=n.length-1;for(let e=t.length-1;e>=0;e--){let r=t[e];for(n[o--]=127&r;(r>>=7)>0;)n[o--]=128|127&r}return this._createEncoderBuffer(n)},pk.prototype._encodeTime=function(t,e){let r;const i=new Date(t);return"gentime"===e?r=[mk(i.getUTCFullYear()),mk(i.getUTCMonth()+1),mk(i.getUTCDate()),mk(i.getUTCHours()),mk(i.getUTCMinutes()),mk(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[mk(i.getUTCFullYear()%100),mk(i.getUTCMonth()+1),mk(i.getUTCDate()),mk(i.getUTCHours()),mk(i.getUTCMinutes()),mk(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},pk.prototype._encodeNull=function(){return this._createEncoderBuffer("")},pk.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!uk.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=uk.from(e)}if(uk.isBuffer(t)){let e=t.length;0===t.length&&e++;const r=uk.alloc(e);return t.copy(r),0===t.length&&(r[0]=0),this._createEncoderBuffer(r)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let r=1;for(let e=t;e>=256;e>>=8)r++;const i=new Array(r);for(let e=i.length-1;e>=0;e--)i[e]=255&t,t>>=8;return 128&i[0]&&i.unshift(0),this._createEncoderBuffer(uk.from(i))},pk.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},pk.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},pk.prototype._skipDefault=function(t,e,r){const i=this._baseState;let n;if(null===i.default)return!1;const o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n<o.length;n++)if(o[n]!==i.defaultBuffer[n])return!1;return!0};const gk=Pt.exports,yk=dk;function vk(t){yk.call(this,t),this.enc="pem"}gk(vk,yk);var bk=vk;vk.prototype.encode=function(t,e){const r=yk.prototype.encode.call(this,t).toString("base64"),i=["-----BEGIN "+e.label+"-----"];for(let t=0;t<r.length;t+=64)i.push(r.slice(t,t+64));return i.push("-----END "+e.label+"-----"),i.join("\n")},function(t){const e=t;e.der=dk,e.pem=bk}(CE);var wk={};const Mk=Pt.exports,_k=RE.exports,Sk=VE.DecoderBuffer,Ek=ok,kk=hk;function Ak(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new Tk,this.tree._init(t.body)}var Ik=Ak;function Tk(t){Ek.call(this,"der",t)}function Ok(t,e){let r=t.readUInt8(e);if(t.isError(r))return r;const i=kk.tagClass[r>>6],n=0==(32&r);if(31==(31&r)){let i=r;for(r=0;128==(128&i);){if(i=t.readUInt8(e),t.isError(i))return i;r<<=7,r|=127&i}}else r&=31;return{cls:i,primitive:n,tag:r,tagStr:kk.tag[r]}}function Pk(t,e,r){let i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(0==(128&i))return i;const n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(let e=0;e<n;e++){i<<=8;const e=t.readUInt8(r);if(t.isError(e))return e;i|=e}return i}Ak.prototype.decode=function(t,e){return Sk.isDecoderBuffer(t)||(t=new Sk(t,e)),this.tree._decode(t,e)},Mk(Tk,Ek),Tk.prototype._peekTag=function(t,e,r){if(t.isEmpty())return!1;const i=t.save(),n=Ok(t,'Failed to peek tag: "'+e+'"');return t.isError(n)?n:(t.restore(i),n.tag===e||n.tagStr===e||n.tagStr+"of"===e||r)},Tk.prototype._decodeTag=function(t,e,r){const i=Ok(t,'Failed to decode tag of "'+e+'"');if(t.isError(i))return i;let n=Pk(t,i.primitive,'Failed to get length of "'+e+'"');if(t.isError(n))return n;if(!r&&i.tag!==e&&i.tagStr!==e&&i.tagStr+"of"!==e)return t.error('Failed to match tag: "'+e+'"');if(i.primitive||null!==n)return t.skip(n,'Failed to match body of: "'+e+'"');const o=t.save(),s=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(s)?s:(n=t.offset-o.offset,t.restore(o),t.skip(n,'Failed to match body of: "'+e+'"'))},Tk.prototype._skipUntilEnd=function(t,e){for(;;){const r=Ok(t,e);if(t.isError(r))return r;const i=Pk(t,r.primitive,e);if(t.isError(i))return i;let n;if(n=r.primitive||null!==i?t.skip(i):this._skipUntilEnd(t,e),t.isError(n))return n;if("end"===r.tagStr)break}},Tk.prototype._decodeList=function(t,e,r,i){const n=[];for(;!t.isEmpty();){const e=this._peekTag(t,"end");if(t.isError(e))return e;const o=r.decode(t,"der",i);if(t.isError(o)&&e)break;n.push(o)}return n},Tk.prototype._decodeStr=function(t,e){if("bitstr"===e){const e=t.readUInt8();return t.isError(e)?e:{unused:e,data:t.raw()}}if("bmpstr"===e){const e=t.raw();if(e.length%2==1)return t.error("Decoding of string type: bmpstr length mismatch");let r="";for(let t=0;t<e.length/2;t++)r+=String.fromCharCode(e.readUInt16BE(2*t));return r}if("numstr"===e){const e=t.raw().toString("ascii");return this._isNumstr(e)?e:t.error("Decoding of string type: numstr unsupported characters")}if("octstr"===e)return t.raw();if("objDesc"===e)return t.raw();if("printstr"===e){const e=t.raw().toString("ascii");return this._isPrintstr(e)?e:t.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(e)?t.raw().toString():t.error("Decoding of string type: "+e+" unsupported")},Tk.prototype._decodeObjid=function(t,e,r){let i;const n=[];let o=0,s=0;for(;!t.isEmpty();)s=t.readUInt8(),o<<=7,o|=127&s,0==(128&s)&&(n.push(o),o=0);128&s&&n.push(o);const h=n[0]/40|0,a=n[0]%40;if(i=r?n:[h,a].concat(n.slice(1)),e){let t=e[i.join(" ")];void 0===t&&(t=e[i.join(".")]),void 0!==t&&(i=t)}return i},Tk.prototype._decodeTime=function(t,e){const r=t.raw().toString();let i,n,o,s,h,a;if("gentime"===e)i=0|r.slice(0,4),n=0|r.slice(4,6),o=0|r.slice(6,8),s=0|r.slice(8,10),h=0|r.slice(10,12),a=0|r.slice(12,14);else{if("utctime"!==e)return t.error("Decoding "+e+" time is not supported yet");i=0|r.slice(0,2),n=0|r.slice(2,4),o=0|r.slice(4,6),s=0|r.slice(6,8),h=0|r.slice(8,10),a=0|r.slice(10,12),i=i<70?2e3+i:1900+i}return Date.UTC(i,n-1,o,s,h,a,0)},Tk.prototype._decodeNull=function(){return null},Tk.prototype._decodeBool=function(t){const e=t.readUInt8();return t.isError(e)?e:0!==e},Tk.prototype._decodeInt=function(t,e){const r=t.raw();let i=new _k(r);return e&&(i=e[i.toString(10)]||i),i},Tk.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getDecoder("der").tree};const xk=Pt.exports,Bk=qE.Buffer,Rk=Ik;function Nk(t){Rk.call(this,t),this.enc="pem"}xk(Nk,Rk);var Uk=Nk;Nk.prototype.decode=function(t,e){const r=t.toString().split(/[\r\n]+/g),i=e.label.toUpperCase(),n=/^-----(BEGIN|END) ([^-]+)-----$/;let o=-1,s=-1;for(let t=0;t<r.length;t++){const e=r[t].match(n);if(null!==e&&e[2]===i){if(-1!==o){if("END"!==e[1])break;s=t;break}if("BEGIN"!==e[1])break;o=t}}if(-1===o||-1===s)throw new Error("PEM section not found for: "+i);const h=r.slice(o+1,s).join("");h.replace(/[^a-z0-9+/=]+/gi,"");const a=Bk.from(h,"base64");return Rk.prototype.decode.call(this,a,e)},function(t){const e=t;e.der=Ik,e.pem=Uk}(wk),function(t){const e=CE,r=wk,i=Pt.exports;function n(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}t.define=function(t,e){return new n(t,e)},n.prototype._createNamed=function(t){const e=this.name;function r(t){this._initNamed(t,e)}return i(r,t),r.prototype._initNamed=function(e,r){t.call(this,e,r)},new r(this)},n.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(r[t])),this.decoders[t]},n.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},n.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(e[t])),this.encoders[t]},n.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}}(UE);var Ck={};!function(t){const e=t;e.Reporter=KE.Reporter,e.DecoderBuffer=VE.DecoderBuffer,e.EncoderBuffer=VE.EncoderBuffer,e.Node=ok}(Ck);var Lk={};!function(t){const e=t;e._reverse=function(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e},e.der=hk}(Lk),function(t){const e=BE;e.bignum=RE.exports,e.define=UE.define,e.base=Ck,e.constants=Lk,e.decoders=wk,e.encoders=CE}();var Dk=BE,jk=Dk.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),Hk=Dk.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),qk=Dk.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),Kk=Dk.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(qk),this.key("subjectPublicKey").bitstr())})),Fk=Dk.define("RelativeDistinguishedName",(function(){this.setof(Hk)})),zk=Dk.define("RDNSequence",(function(){this.seqof(Fk)})),Wk=Dk.define("Name",(function(){this.choice({rdnSequence:this.use(zk)})})),Vk=Dk.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(jk),this.key("notAfter").use(jk))})),Zk=Dk.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),Gk=Dk.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(qk),this.key("issuer").use(Wk),this.key("validity").use(Vk),this.key("subject").use(Wk),this.key("subjectPublicKeyInfo").use(Kk),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(Zk).optional())})),$k=Dk.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(Gk),this.key("signatureAlgorithm").use(qk),this.key("signatureValue").bitstr())})),Xk=BE;xE.certificate=$k;var Yk=Xk.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));xE.RSAPrivateKey=Yk;var Jk=Xk.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));xE.RSAPublicKey=Jk;var Qk=Xk.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(tA),this.key("subjectPublicKey").bitstr())}));xE.PublicKey=Qk;var tA=Xk.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),eA=Xk.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(tA),this.key("subjectPrivateKey").octstr())}));xE.PrivateKey=eA;var rA=Xk.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));xE.EncryptedPrivateKey=rA;var iA=Xk.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));xE.DSAPrivateKey=iA,xE.DSAparam=Xk.define("DSAparam",(function(){this.int()}));var nA=Xk.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(oA),this.key("publicKey").optional().explicit(1).bitstr())}));xE.ECPrivateKey=nA;var oA=Xk.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));xE.signature=Xk.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}));var sA=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,hA=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,aA=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,uA=eS,fA=$M,lA=xt.exports.Buffer,cA=xE,dA={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"},pA=function(t,e){var r,i=t.toString(),n=i.match(sA);if(n){var o="aes"+n[1],s=lA.from(n[2],"hex"),h=lA.from(n[3].replace(/[\r\n]/g,""),"base64"),a=uA(e,s.slice(0,8),parseInt(n[1],10)).key,u=[],f=fA.createDecipheriv(o,a,s);u.push(f.update(h)),u.push(f.final()),r=lA.concat(u)}else{var l=i.match(aA);r=lA.from(l[2].replace(/[\r\n]/g,""),"base64")}return{tag:i.match(hA)[1],data:r}},mA=$M,gA=Dw,yA=xt.exports.Buffer,vA=bA;function bA(t){var e;"object"!=typeof t||yA.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=yA.from(t));var r,i,n=pA(t,e),o=n.tag,s=n.data;switch(o){case"CERTIFICATE":i=cA.certificate.decode(s,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(i||(i=cA.PublicKey.decode(s,"der")),r=i.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return cA.RSAPublicKey.decode(i.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return i.subjectPrivateKey=i.subjectPublicKey,{type:"ec",data:i};case"1.2.840.10040.4.1":return i.algorithm.params.pub_key=cA.DSAparam.decode(i.subjectPublicKey.data,"der"),{type:"dsa",data:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":s=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),n=dA[t.algorithm.decrypt.cipher.algo.join(".")],o=t.algorithm.decrypt.cipher.iv,s=t.subjectPrivateKey,h=parseInt(n.split("-")[1],10)/8,a=gA.pbkdf2Sync(e,r,i,h,"sha1"),u=mA.createDecipheriv(n,a,o),f=[];return f.push(u.update(s)),f.push(u.final()),yA.concat(f)}(s=cA.EncryptedPrivateKey.decode(s,"der"),e);case"PRIVATE KEY":switch(r=(i=cA.PrivateKey.decode(s,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return cA.RSAPrivateKey.decode(i.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:i.algorithm.curve,privateKey:cA.ECPrivateKey.decode(i.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return i.algorithm.params.priv_key=cA.DSAparam.decode(i.subjectPrivateKey,"der"),{type:"dsa",params:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return cA.RSAPublicKey.decode(s,"der");case"RSA PRIVATE KEY":return cA.RSAPrivateKey.decode(s,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:cA.DSAPrivateKey.decode(s,"der")};case"EC PRIVATE KEY":return{curve:(s=cA.ECPrivateKey.decode(s,"der")).parameters.value,privateKey:s.privateKey};default:throw new Error("unknown key type "+o)}}bA.signature=cA.signature;var wA={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"},MA=xt.exports.Buffer,_A=Fs,SA=PE,EA=Js.ec,kA=kE.exports,AA=vA,IA=wA;function TA(t,e,r,i){if((t=MA.from(t.toArray())).length<e.byteLength()){var n=MA.alloc(e.byteLength()-t.length);t=MA.concat([n,t])}var o=r.length,s=function(t,e){t=(t=OA(t,e)).mod(e);var r=MA.from(t.toArray());if(r.length<e.byteLength()){var i=MA.alloc(e.byteLength()-r.length);r=MA.concat([i,r])}return r}(r,e),h=MA.alloc(o);h.fill(1);var a=MA.alloc(o);return a=_A(i,a).update(h).update(MA.from([0])).update(t).update(s).digest(),h=_A(i,a).update(h).digest(),{k:a=_A(i,a).update(h).update(MA.from([1])).update(t).update(s).digest(),v:h=_A(i,a).update(h).digest()}}function OA(t,e){var r=new kA(t),i=(t.length<<3)-e.bitLength();return i>0&&r.ishrn(i),r}function PA(t,e,r){var i,n;do{for(i=MA.alloc(0);8*i.length<t.bitLength();)e.v=_A(r,e.k).update(e.v).digest(),i=MA.concat([i,e.v]);n=OA(i,t),e.k=_A(r,e.k).update(e.v).update(MA.from([0])).digest(),e.v=_A(r,e.k).update(e.v).digest()}while(-1!==n.cmp(t));return n}function xA(t,e,r,i){return t.toRed(kA.mont(r)).redPow(e).fromRed().mod(i)}EE.exports=function(t,e,r,i,n){var o=AA(e);if(o.curve){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");return function(t,e){var r=IA[e.curve.join(".")];if(!r)throw new Error("unknown curve "+e.curve.join("."));var i=new EA(r).keyFromPrivate(e.privateKey).sign(t);return MA.from(i.toDER())}(t,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong private key type");return function(t,e,r){var i,n=e.params.priv_key,o=e.params.p,s=e.params.q,h=e.params.g,a=new kA(0),u=OA(t,s).mod(s),f=!1,l=TA(n,s,t,r);for(;!1===f;)a=xA(h,i=PA(s,l,r),o,s),0===(f=i.invm(s).imul(u.add(n.mul(a))).mod(s)).cmpn(0)&&(f=!1,a=new kA(0));return function(t,e){t=t.toArray(),e=e.toArray(),128&t[0]&&(t=[0].concat(t));128&e[0]&&(e=[0].concat(e));var r=[48,t.length+e.length+4,2,t.length];return r=r.concat(t,[2,e.length],e),MA.from(r)}(a,f)}(t,o,r)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");t=MA.concat([n,t]);for(var s=o.modulus.byteLength(),h=[0,1];t.length+h.length+1<s;)h.push(255);h.push(0);for(var a=-1;++a<t.length;)h.push(t[a]);return SA(h,o)},EE.exports.getKey=TA,EE.exports.makeKey=PA;var BA=xt.exports.Buffer,RA=kE.exports,NA=Js.ec,UA=vA,CA=wA;function LA(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=e)throw new Error("invalid sig")}var DA=function(t,e,r,i,n){var o=UA(r);if("ec"===o.type){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong public key type");return function(t,e,r){var i=CA[r.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var n=new NA(i),o=r.data.subjectPrivateKey.data;return n.verify(e,t,o)}(t,e,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong public key type");return function(t,e,r){var i=r.data.p,n=r.data.q,o=r.data.g,s=r.data.pub_key,h=UA.signature.decode(t,"der"),a=h.s,u=h.r;LA(a,n),LA(u,n);var f=RA.mont(i),l=a.invm(n);return 0===o.toRed(f).redPow(new RA(e).mul(l).mod(n)).fromRed().mul(s.toRed(f).redPow(u.mul(l).mod(n)).fromRed()).mod(i).mod(n).cmp(u)}(t,e,o)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong public key type");e=BA.concat([n,e]);for(var s=o.modulus.byteLength(),h=[1],a=0;e.length+h.length+2<s;)h.push(255),a++;h.push(0);for(var u=-1;++u<e.length;)h.push(e[u]);h=BA.from(h);var f=RA.mont(o.modulus);t=(t=new RA(t).toRed(f)).redPow(new RA(o.publicExponent)),t=BA.from(t.fromRed().toArray());var l=a<8?1:0;for(s=Math.min(t.length,h.length),t.length!==h.length&&(l=1),u=-1;++u<s;)l|=t[u]^h[u];return 0===l},jA=xt.exports.Buffer,HA=ks,qA=Ft.exports,KA=Pt.exports,FA=EE.exports,zA=DA,WA=Cw;function VA(t){qA.Writable.call(this);var e=WA[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=HA(e.hash),this._tag=e.id,this._signType=e.sign}function ZA(t){qA.Writable.call(this);var e=WA[t];if(!e)throw new Error("Unknown message digest");this._hash=HA(e.hash),this._tag=e.id,this._signType=e.sign}function GA(t){return new VA(t)}function $A(t){return new ZA(t)}Object.keys(WA).forEach((function(t){WA[t].id=jA.from(WA[t].id,"hex"),WA[t.toLowerCase()]=WA[t]})),KA(VA,qA.Writable),VA.prototype._write=function(t,e,r){this._hash.update(t),r()},VA.prototype.update=function(t,e){return"string"==typeof t&&(t=jA.from(t,e)),this._hash.update(t),this},VA.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=FA(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},KA(ZA,qA.Writable),ZA.prototype._write=function(t,e,r){this._hash.update(t),r()},ZA.prototype.update=function(t,e){return"string"==typeof t&&(t=jA.from(t,e)),this._hash.update(t),this},ZA.prototype.verify=function(t,e,r){"string"==typeof e&&(e=jA.from(e,r)),this.end();var i=this._hash.digest();return zA(e,i,t,this._signType,this._tag)};var XA={Sign:GA,Verify:$A,createSign:GA,createVerify:$A},YA={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(YA,A);var JA=Js,QA=YA.exports,tI={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function eI(t){this.curveType=tI[t],this.curveType||(this.curveType={name:t}),this.curve=new JA.ec(this.curveType.name),this.keys=void 0}function rI(t,e,r){Array.isArray(t)||(t=t.toArray());var i=new z(t);if(r&&i.length<r){var n=new z(r-i.length);n.fill(0),i=z.concat([n,i])}return e?i.toString(e):i}tI.p224=tI.secp224r1,tI.p256=tI.secp256r1=tI.prime256v1,tI.p192=tI.secp192r1=tI.prime192v1,tI.p384=tI.secp384r1,tI.p521=tI.secp521r1,eI.prototype.generateKeys=function(t,e){return this.keys=this.curve.genKeyPair(),this.getPublicKey(t,e)},eI.prototype.computeSecret=function(t,e,r){return e=e||"utf8",At(t)||(t=new z(t,e)),rI(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},eI.prototype.getPublicKey=function(t,e){var r=this.keys.getPublic("compressed"===e,!0);return"hybrid"===e&&(r[r.length-1]%2?r[0]=7:r[0]=6),rI(r,t)},eI.prototype.getPrivateKey=function(t){return rI(this.keys.getPrivate(),t)},eI.prototype.setPublicKey=function(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this.keys._importPublic(t),this},eI.prototype.setPrivateKey=function(t,e){e=e||"utf8",At(t)||(t=new z(t,e));var r=new QA(t);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this};var iI={},nI=ks,oI=xt.exports.Buffer,sI=function(t,e){for(var r,i=oI.alloc(0),n=0;i.length<e;)r=hI(n++),i=oI.concat([i,nI("sha1").update(t).update(r).digest()]);return i.slice(0,e)};function hI(t){var e=oI.allocUnsafe(4);return e.writeUInt32BE(t,0),e}var aI=function(t,e){for(var r=t.length,i=-1;++i<r;)t[i]^=e[i];return t},uI={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","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],l=[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 c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(uI,A);var fI=uI.exports,lI=xt.exports.Buffer;var cI=function(t,e){return lI.from(t.toRed(fI.mont(e.modulus)).redPow(new fI(e.publicExponent)).fromRed().toArray())},dI=vA,pI=vp.exports,mI=ks,gI=sI,yI=aI,vI=uI.exports,bI=cI,wI=PE,MI=xt.exports.Buffer,_I=function(t,e,r){var i;i=t.padding?t.padding:r?1:4;var n,o=dI(t);if(4===i)n=function(t,e){var r=t.modulus.byteLength(),i=e.length,n=mI("sha1").update(MI.alloc(0)).digest(),o=n.length,s=2*o;if(i>r-s-2)throw new Error("message too long");var h=MI.alloc(r-i-s-2),a=r-o-1,u=pI(o),f=yI(MI.concat([n,h,MI.alloc(1,1),e],a),gI(u,a)),l=yI(u,gI(f,o));return new vI(MI.concat([MI.alloc(1),l,f],r))}(o,e);else if(1===i)n=function(t,e,r){var i,n=e.length,o=t.modulus.byteLength();if(n>o-11)throw new Error("message too long");i=r?MI.alloc(o-n-3,255):function(t){var e,r=MI.allocUnsafe(t),i=0,n=pI(2*t),o=0;for(;i<t;)o===n.length&&(n=pI(2*t),o=0),(e=n[o++])&&(r[i++]=e);return r}(o-n-3);return new vI(MI.concat([MI.from([0,r?1:2]),i,MI.alloc(1),e],o))}(o,e,r);else{if(3!==i)throw new Error("unknown padding");if((n=new vI(e)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?wI(n,o):bI(n,o)};var SI=vA,EI=sI,kI=aI,AI=uI.exports,II=PE,TI=ks,OI=cI,PI=xt.exports.Buffer,xI=function(t,e,r){var i;i=t.padding?t.padding:r?1:4;var n,o=SI(t),s=o.modulus.byteLength();if(e.length>s||new AI(e).cmp(o.modulus)>=0)throw new Error("decryption error");n=r?OI(new AI(e),o):II(e,o);var h=PI.alloc(s-n.length);if(n=PI.concat([h,n],s),4===i)return function(t,e){var r=t.modulus.byteLength(),i=TI("sha1").update(PI.alloc(0)).digest(),n=i.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,n+1),s=e.slice(n+1),h=kI(o,EI(s,n)),a=kI(s,EI(h,r-n-1));if(function(t,e){t=PI.from(t),e=PI.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;for(;++n<i;)r+=t[n]^e[n];return r}(i,a.slice(0,n)))throw new Error("decryption error");var u=n;for(;0===a[u];)u++;if(1!==a[u++])throw new Error("decryption error");return a.slice(u)}(o,n);if(1===i)return function(t,e,r){var i=e.slice(0,2),n=2,o=0;for(;0!==e[n++];)if(n>=e.length){o++;break}var s=e.slice(2,n-1);("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(n)}(0,n,r);if(3===i)return n;throw new Error("unknown padding")};!function(t){t.publicEncrypt=_I,t.privateDecrypt=xI,t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}}(iI);var BI={};function RI(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var NI=xt.exports,UI=NI.Buffer,CI=NI.kMaxLength,LI=A.crypto||A.msCrypto,DI=Math.pow(2,32)-1;function jI(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>DI||t<0)throw new TypeError("offset must be a uint32");if(t>CI||t>e)throw new RangeError("offset out of range")}function HI(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>DI||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>CI)throw new RangeError("buffer too small")}function qI(t,e,r,i){var n=t.buffer,o=new Uint8Array(n,e,r);return LI.getRandomValues(o),i?void re((function(){i(null,t)})):t}LI&&LI.getRandomValues?(BI.randomFill=function(t,e,r,i){if(!(UI.isBuffer(t)||t instanceof A.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return jI(e,t.length),HI(r,e,t.length),qI(t,e,r,i)},BI.randomFillSync=function(t,e,r){void 0===e&&(e=0);if(!(UI.isBuffer(t)||t instanceof A.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');jI(e,t.length),void 0===r&&(r=t.length-e);return HI(r,e,t.length),qI(t,e,r)}):(BI.randomFill=RI,BI.randomFillSync=RI),Uw.randomBytes=Uw.rng=Uw.pseudoRandomBytes=Uw.prng=vp.exports,Uw.createHash=Uw.Hash=ks,Uw.createHmac=Uw.Hmac=Fs;var KI=Lw,FI=Object.keys(KI),zI=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(FI);Uw.getHashes=function(){return zI};var WI=Dw;Uw.pbkdf2=WI.pbkdf2,Uw.pbkdf2Sync=WI.pbkdf2Sync;var VI=dM;Uw.Cipher=VI.Cipher,Uw.createCipher=VI.createCipher,Uw.Cipheriv=VI.Cipheriv,Uw.createCipheriv=VI.createCipheriv,Uw.Decipher=VI.Decipher,Uw.createDecipher=VI.createDecipher,Uw.Decipheriv=VI.Decipheriv,Uw.createDecipheriv=VI.createDecipheriv,Uw.getCiphers=VI.getCiphers,Uw.listCiphers=VI.listCiphers;var ZI=US;Uw.DiffieHellmanGroup=ZI.DiffieHellmanGroup,Uw.createDiffieHellmanGroup=ZI.createDiffieHellmanGroup,Uw.getDiffieHellman=ZI.getDiffieHellman,Uw.createDiffieHellman=ZI.createDiffieHellman,Uw.DiffieHellman=ZI.DiffieHellman;var GI=XA;Uw.createSign=GI.createSign,Uw.Sign=GI.Sign,Uw.createVerify=GI.createVerify,Uw.Verify=GI.Verify,Uw.createECDH=function(t){return new eI(t)};var $I=iI;Uw.publicEncrypt=$I.publicEncrypt,Uw.privateEncrypt=$I.privateEncrypt,Uw.publicDecrypt=$I.publicDecrypt,Uw.privateDecrypt=$I.privateDecrypt;var XI=BI;Uw.randomFill=XI.randomFill,Uw.randomFillSync=XI.randomFillSync,Uw.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},Uw.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};var YI=A&&A.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{a(i.next(t))}catch(t){o(t)}}function h(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(s,h)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(Nw,"__esModule",{value:!0});const JI=to.exports;function QI(t){return(new JI.sha256).update(t).digest()}Nw.hashSha256=QI,Nw.hashSha256Async=function(t){return YI(this,void 0,void 0,(function*(){try{if("undefined"!=typeof crypto&&void 0!==crypto.subtle){const e="string"==typeof t?z.from(t):t,r=yield crypto.subtle.digest("SHA-256",e);return z.from(r)}{const e=Uw;if(!e.createHash)throw new Error("`crypto` module does not contain `createHash`");return Promise.resolve(e.createHash("sha256").update(t).digest())}}catch(e){return console.log(e),console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, nor the or the Node.js `require("crypto").createHash` module is available. Falling back to JS implementation.'),Promise.resolve(QI(t))}}))};var tT=A&&A.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{a(i.next(t))}catch(t){o(t)}}function h(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(s,h)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(nw,"__esModule",{value:!0});const eT=ow.exports,rT=pw,iT=Ew,nT=Nw;function oT(t,e){const r=[],i=eT.default.encode(JSON.stringify(e));r.push(i);const n=eT.default.encode(JSON.stringify(t));r.push(n);return r.join(".")}nw.createUnsecuredToken=function(t){return oT(t,{typ:"JWT",alg:"none"})+"."};nw.TokenSigner=class{constructor(t,e){if(!t||!e)throw new iT.MissingParametersError("a signing algorithm and private key are required");if("string"!=typeof t)throw new Error("signing algorithm parameter must be a string");if(t=t.toUpperCase(),!rT.cryptoClients.hasOwnProperty(t))throw new Error("invalid signing algorithm");this.tokenType="JWT",this.cryptoClient=rT.cryptoClients[t],this.rawPrivateKey=e}header(t={}){const e={typ:this.tokenType,alg:this.cryptoClient.algorithmName};return Object.assign({},e,t)}sign(t,e=!1,r={}){const i=this.header(r),n=oT(t,i),o=nT.hashSha256(n);return this.createWithSignedHash(t,e,i,n,o)}signAsync(t,e=!1,r={}){return tT(this,void 0,void 0,(function*(){const i=this.header(r),n=oT(t,i),o=yield nT.hashSha256Async(n);return this.createWithSignedHash(t,e,i,n,o)}))}createWithSignedHash(t,e,r,i,n){const o=this.cryptoClient.signHash(n,this.rawPrivateKey);if(e){return{header:[eT.default.encode(JSON.stringify(r))],payload:JSON.stringify(t),signature:[o]}}return[i,o].join(".")}};var sT={};Object.defineProperty(sT,"__esModule",{value:!0});const hT=ow.exports,aT=pw,uT=Ew,fT=Nw;sT.TokenVerifier=class{constructor(t,e){if(!t||!e)throw new uT.MissingParametersError("a signing algorithm and public key are required");if("string"!=typeof t)throw"signing algorithm parameter must be a string";if(t=t.toUpperCase(),!aT.cryptoClients.hasOwnProperty(t))throw"invalid signing algorithm";this.tokenType="JWT",this.cryptoClient=aT.cryptoClients[t],this.rawPublicKey=e}verify(t){return"string"==typeof t?this.verifyCompact(t,!1):"object"==typeof t?this.verifyExpanded(t,!1):void 0}verifyAsync(t){return"string"==typeof t?this.verifyCompact(t,!0):"object"==typeof t?this.verifyExpanded(t,!0):Promise.resolve(!1)}verifyCompact(t,e){const r=t.split("."),i=r[0]+"."+r[1],n=t=>{const e=this.cryptoClient.loadSignature(r[2]);return this.cryptoClient.verifyHash(t,e,this.rawPublicKey)};if(e)return fT.hashSha256Async(i).then((t=>n(t)));{const t=fT.hashSha256(i);return n(t)}}verifyExpanded(t,e){const r=[t.header.join("."),hT.default.encode(t.payload)].join(".");let i=!0;const n=e=>(t.signature.map((t=>{const r=this.cryptoClient.loadSignature(t);this.cryptoClient.verifyHash(e,r,this.rawPublicKey)||(i=!1)})),i);if(e)return fT.hashSha256Async(r).then((t=>n(t)));{const t=fT.hashSha256(r);return n(t)}}};var lT={};Object.defineProperty(lT,"__esModule",{value:!0});const cT=ow.exports;lT.decodeToken=function(t){if("string"==typeof t){const e=t.split(".");return{header:JSON.parse(cT.default.decode(e[0])),payload:JSON.parse(cT.default.decode(e[1])),signature:e[2]}}if("object"==typeof t){if("string"!=typeof t.payload)throw new Error("Expected token payload to be a base64 or json string");let e=t.payload;"{"!==t.payload[0]&&(e=cT.default.decode(e));const r=[];return t.header.map((t=>{const e=JSON.parse(cT.default.decode(t));r.push(e)})),{header:r,payload:JSON.parse(e),signature:t.signature}}},function(t){function e(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}Object.defineProperty(t,"__esModule",{value:!0}),e(nw),e(sT),e(lT),e(Ew),e(pw)}(iw);const dT="blockstack-gaia-hub-config";async function pT(r,i,n,o="application/octet-stream",s=!0,h,a){t.debug(`uploadToGaiaHub: uploading ${r} to ${n.server}`);const u={"Content-Type":o,Authorization:`bearer ${n.token}`};a||(s?u["If-None-Match"]="*":h&&(u["If-Match"]=h));const f=await e(`${n.server}/store/${n.address}/${r}`,{method:"POST",headers:u,body:i});if(!f.ok)throw await wT(f,"Error when uploading to Gaia hub.",n);const l=await f.text();return JSON.parse(l)}async function mT(r,i){t.debug(`deleteFromGaiaHub: deleting ${r} from ${i.server}`);const n=await e(`${i.server}/delete/${i.address}/${r}`,{method:"DELETE",headers:{Authorization:`bearer ${i.token}`}});if(!n.ok)throw await wT(n,"Error deleting file from Gaia hub.",i)}function gT(t,e){return Promise.resolve(`${e.url_prefix}${e.address}/${t}`)}function yT(t,e,i,n){const o=t.challenge_text,s=t.latest_auth_version&&parseInt(t.latest_auth_version.slice(1),10)>=1,h=y(e);if(!s)return function(t,e){let i;try{i=JSON.parse(t)}catch(t){throw new Error("Failed in parsing legacy challenge text from the gaia hub.")}if("gaiahub"===i[0]&&"blockstack_storage_please_sign"===i[3]){const i=g(e+(64===e.length?"01":"")),n=b(r.from(t)),o=i.sign(n),s=Xb.signature.encode(o,ew.SIGHASH_NONE).toString("hex").slice(0,-2),h=y(e);return r.from(JSON.stringify({publickey:h,signature:s})).toString("base64")}throw new Error("Failed to connect to legacy gaia hub. If you operate this hub, please update.")}(o,e);const a={gaiaChallenge:o,hubUrl:i,iss:h,salt:v(16).toString("hex"),associationToken:n};return`v1:${new iw.TokenSigner("ES256K",e).sign(a)}`}async function vT(r,i,n){t.debug(`connectToGaiaHub: ${r}/hub_info`);const o=await e(`${r}/hub_info`),s=await o.json(),h=s.read_url_prefix,a=yT(s,i,r,n),u=m(g(i+(64===i.length?"01":"")));return{url_prefix:h,max_file_upload_size_megabytes:s.max_file_upload_size_megabytes,address:u,token:a,server:r}}async function bT(t,i){const n=Vb.fromPrivateKey(r.from(i,"hex")),o=await e(`${t}/hub_info`),s=await o.text();return`${JSON.parse(s).read_url_prefix}${m(n)}/`}async function wT(e,r,l){if(e.ok)throw new Error("Cannot get a BlockstackError from a valid response.");const c=await async function(e){let r,i="";try{i=await e.text();try{r=JSON.parse(i)}catch(t){}}catch(e){t.debug(`Error getting bad http response text: ${e}`)}return{status:e.status,statusText:e.statusText,body:r||i}}(e);if(401===c.status)return new i(r,c);if(402===c.status)return new n(r,c);if(403===c.status)return new o(r,c);if(404===c.status)throw new s(r,c);if(409===c.status)return new h(r,c);if(412===c.status)return new a(r,c);if(413===c.status){const t=l&&l.max_file_upload_size_megabytes?u(l.max_file_upload_size_megabytes):0;return new f(r,c,t)}return new Error(r)}class MT{constructor(t,e){this.wasString="string"==typeof t,this.content=MT.normalizeContentDataType(t,e),this.contentType=e||this.detectContentType(),this.contentByteLength=this.detectContentLength()}static normalizeContentDataType(t,e){try{if("string"==typeof t){const i=(e||"").toLowerCase().replace("-","");if(i.includes("charset")&&!i.includes("charset=utf8")&&!i.includes("charset=ascii"))throw new Error(`Unable to determine byte length with charset: ${e}`);if("undefined"!=typeof TextEncoder){const e=(new TextEncoder).encode(t);return r.from(e.buffer)}return r.from(t)}if(r.isBuffer(t))return t;if(ArrayBuffer.isView(t))return r.from(t.buffer,t.byteOffset,t.byteLength);if("undefined"!=typeof Blob&&t instanceof Blob)return t;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer)return r.from(t);if(Array.isArray(t)){if(t.length>0&&(!Number.isInteger(t[0])||t[0]<0||t[0]>255))throw new Error(`Unexpected array values provided as file data: value "${t[0]}" at index 0 is not an octet number. ${this.supportedTypesMsg}`);return r.from(t)}{const e=Object.prototype.toString.call(t);throw new Error(`Unexpected type provided as file data: ${e}. ${this.supportedTypesMsg}`)}}catch(t){throw console.error(t),new Error(`Error processing data: ${t}`)}}detectContentType(){return this.wasString?"text/plain; charset=utf-8":"undefined"!=typeof Blob&&this.content instanceof Blob&&this.content.type?this.content.type:"application/octet-stream"}detectContentLength(){if(ArrayBuffer.isView(this.content)||r.isBuffer(this.content))return this.content.byteLength;if("undefined"!=typeof Blob&&this.content instanceof Blob)return this.content.size;const t=Object.prototype.toString.call(this.content),e=new Error(`Unexpected type "${t}" while detecting content length`);throw console.error(e),e}async loadContent(){try{if(r.isBuffer(this.content))return this.content;if(ArrayBuffer.isView(this.content))return r.from(this.content.buffer,this.content.byteOffset,this.content.byteLength);if("undefined"!=typeof Blob&&this.content instanceof Blob){const t=new FileReader,e=new Promise(((e,i)=>{t.onerror=t=>{i(t)},t.onload=()=>{const i=t.result;e(r.from(i))},t.readAsArrayBuffer(this.content)}));return await e}{const t=Object.prototype.toString.call(this.content);throw new Error(`Unexpected type ${t}`)}}catch(t){console.error(t);const e=new Error(`Error loading content: ${t}`);throw console.error(e),e}}load(){return void 0===this.loadedData&&(this.loadedData=this.loadContent()),this.loadedData}}MT.supportedTypesMsg="Supported types are: `string` (to be UTF8 encoded), `Buffer`, `Blob`, `File`, `ArrayBuffer`, `UInt8Array` or any other typed array buffer. ";class _T{constructor(t){this.userSession=t.userSession}async getFile(t,e){const r={decrypt:!0,verify:!1,app:l("location",{returnEmptyObject:!0}).origin},i=Object.assign({},r,e);if(i.verify&&!i.decrypt)return this.getFileSignedUnencrypted(t,i);const n=await this.getFileContents(t,i.app,i.username,i.zoneFileLookupURL,!!i.decrypt);if(null===n)return n;if(i.decrypt&&!i.verify){if("string"!=typeof n)throw new Error("Expected to get back a string for the cipherText");if("string"==typeof i.decrypt){const t={privateKey:i.decrypt};return this.userSession.decryptContent(n,t)}return this.userSession.decryptContent(n)}if(i.decrypt&&i.verify){if("string"!=typeof n)throw new Error("Expected to get back a string for the cipherText");let e;return"string"==typeof i.decrypt&&(e=i.decrypt),this.handleSignedEncryptedContents(t,n,i.app,e,i.username,i.zoneFileLookupURL)}if(i.verify||i.decrypt)throw new Error("Should be unreachable.");return n}async getUserAppFileUrl(t,e,r,i){const n=await E({username:e,zoneFileLookupURL:i});let o;if(n.hasOwnProperty("apps")&&n.apps.hasOwnProperty(r)){o=`${n.apps[r].replace(/\/?(\?|#|$)/,"/$1")}${t}`}return o}async getGaiaAddress(t,e,r){const i=ET(this.userSession,{app:t,username:e,zoneFileLookupURL:r});let n;if(e)n=await this.getUserAppFileUrl("/",i.username,i.app,i.zoneFileLookupURL);else{const t=await this.getOrSetLocalGaiaHubConnection();n=await gT("/",t)}const o=n.match(/([13][a-km-zA-HJ-NP-Z0-9]{26,35})/);if(!o)throw new Error("Failed to parse gaia address");return o[o.length-1]}async getFileUrl(t,e){const r=ET(this.userSession,e);let i;if(r.username)i=await this.getUserAppFileUrl(t,r.username,r.app,r.zoneFileLookupURL);else{const e=await this.getOrSetLocalGaiaHubConnection();i=await gT(t,e)}if(i)return i;throw new Error("Missing readURL")}async getFileContents(t,r,i,n,o){const s={app:r,username:i,zoneFileLookupURL:n},h=await this.getFileUrl(t,s),a=await e(h);if(!a.ok)throw await wT(a,`getFile ${t} failed.`,null);let u=a.headers.get("Content-Type");"string"==typeof u&&(u=u.toLowerCase());const f=a.headers.get("ETag");if(f){const e=this.userSession.store.getSessionData();e.etags[t]=f,this.userSession.store.setSessionData(e)}return o||null===u||u.startsWith("text")||u.startsWith("application/json")?a.text():a.arrayBuffer()}async getFileSignedUnencrypted(t,e){const r=`${t}.sig`;try{const[i,n,o]=await Promise.all([this.getFileContents(t,e.app,e.username,e.zoneFileLookupURL,!1),this.getFileContents(r,e.app,e.username,e.zoneFileLookupURL,!0),this.getGaiaAddress(e.app,e.username,e.zoneFileLookupURL)]);if(!i)return i;if(!o)throw new c(`Failed to get gaia address for verification of: ${t}`);if(!n||"string"!=typeof n)throw new c(`Failed to obtain signature for file: ${t} -- looked in ${t}.sig`);let s,h;try{const t=JSON.parse(n);s=t.signature,h=t.publicKey}catch(e){throw e instanceof SyntaxError?new Error(`Failed to parse signature content JSON (path: ${t}.sig) The content may be corrupted.`):e}const a=w(h);if(o!==a)throw new c(`Signer pubkey address (${a}) doesn't match gaia address (${o})`);if(M(i,h,s))return i;throw new c(`Contents do not match ECDSA signature: path: ${t}, signature: ${t}.sig`)}catch(e){throw e instanceof s&&e.message.indexOf(r)>=0?new c(`Failed to obtain signature for file: ${t} -- looked in ${t}.sig`):e}}async handleSignedEncryptedContents(t,e,r,i,n,o){const s=i||this.userSession.loadUserData().appPrivateKey,h=y(s);let a,u;if(a=n?await this.getGaiaAddress(r,n,o):w(h),!a)throw new c(`Failed to get gaia address for verification of: ${t}`);try{u=JSON.parse(e)}catch(t){throw t instanceof SyntaxError?new Error("Failed to parse encrypted, signed content JSON. The content may not be encrypted. If using getFile, try passing { verify: false, decrypt: false }."):t}const f=u.signature,l=u.publicKey,d=u.cipherText,p=w(l);if(l&&d&&f){if(p!==a)throw new c(`Signer pubkey address (${p}) doesn't match gaia address (${a})`);if(M(d,l,f)){if("string"==typeof i){const t={privateKey:i};return this.userSession.decryptContent(d,t)}return this.userSession.decryptContent(d)}throw new c(`Contents do not match ECDSA signature in file: ${t}`)}throw new c(`Failed to get signature verification data from file: ${t}`)}async putFile(t,e,r){var i,n;const o=Object.assign({},{encrypt:!0,sign:!1,cipherTextEncoding:"hex",dangerouslyIgnoreEtag:!1},r),s=await this.getOrSetLocalGaiaHubConnection(),h=u(s.max_file_upload_size_megabytes),a=h>0,l=new MT(e,o.contentType);let c,d=l.contentType;if(!o.encrypt&&a&&l.contentByteLength>h){const t=`The max file upload size for this hub is ${h} bytes, the given content is ${l.contentByteLength} bytes`,e=new f(t,null,h);throw console.error(e),e}if(o.encrypt&&a){const t=_({contentLength:l.contentByteLength,wasString:l.wasString,sign:!!o.sign,cipherTextEncoding:o.cipherTextEncoding});if(t>h){const e=new f(`The max file upload size for this hub is ${h} bytes, the given content is ${t} bytes after encryption`,null,h);throw console.error(e),e}}let p=!0;const m=this.userSession.store.getSessionData();let g;if(o.dangerouslyIgnoreEtag||(null===(i=m.etags)||void 0===i?void 0:i[t])&&(p=!1,c=null===(n=m.etags)||void 0===n?void 0:n[t]),!o.encrypt&&o.sign){const e=await l.load();let r;r="string"==typeof o.sign?o.sign:this.userSession.loadUserData().appPrivateKey;const i=S(r,e),n=JSON.stringify(i);g=async r=>{const i=(await Promise.all([pT(t,e,r,d,p,c,o.dangerouslyIgnoreEtag),pT(`${t}.sig`,n,r,"application/json")]))[0];return!o.dangerouslyIgnoreEtag&&i.etag&&(m.etags[t]=i.etag,this.userSession.store.setSessionData(m)),i.publicURL}}else{let e;if(o.encrypt||o.sign){let t;t="string"==typeof o.encrypt?o.encrypt:"string"==typeof o.sign?y(o.sign):y(this.userSession.loadUserData().appPrivateKey);const r=await l.load();e=await this.userSession.encryptContent(r,{publicKey:t,wasString:l.wasString,cipherTextEncoding:o.cipherTextEncoding,sign:o.sign}),d="application/json"}else e=l.content;g=async r=>{const i=await pT(t,e,r,d,p,c,o.dangerouslyIgnoreEtag);return i.etag&&(m.etags[t]=i.etag,this.userSession.store.setSessionData(m)),i.publicURL}}try{return await g(s)}catch(t){if(function(t){if(!t||!t.hubError||!t.hubError.statusCode)return!1;const e=t.hubError.statusCode;if(401===e)return!0;if(409===e)return!0;if(e>=500&&e<=599)return!0;return!1}(t)){console.error(t),console.error("Possible recoverable error during Gaia upload, retrying...");const e=await this.setLocalGaiaHubConnection();return await g(e)}throw t}}async deleteFile(t,e){const r=await this.getOrSetLocalGaiaHubConnection();if(Object.assign({},e).wasSigned)try{await mT(t,r),await mT(`${t}.sig`,r);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const i=await this.setLocalGaiaHubConnection();await mT(t,i),await mT(`${t}.sig`,r);const n=this.userSession.store.getSessionData();delete n.etags[t],this.userSession.store.setSessionData(n)}else try{await mT(t,r);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const r=await this.setLocalGaiaHubConnection();await mT(t,r);const i=this.userSession.store.getSessionData();delete i.etags[t],this.userSession.store.setSessionData(i)}}getAppBucketUrl(t,e){return bT(t,e)}async listFilesLoop(t,r,i,n,o){if(i>65536)throw new Error("Too many entries to list");let s;t=t||await this.getOrSetLocalGaiaHubConnection();try{const i=JSON.stringify({page:r}),n={method:"POST",headers:{"Content-Type":"application/json","Content-Length":`${i.length}`,Authorization:`bearer ${t.token}`},body:i};if(s=await e(`${t.server}/list-files/${t.address}`,n),!s.ok)throw await wT(s,"ListFiles failed.",t)}catch(t){if(0===i){const t=await this.setLocalGaiaHubConnection();return this.listFilesLoop(t,r,i+1,0,o)}throw t}const h=await s.text(),a=JSON.parse(h),u=a.entries,f=a.page;if(null==u)throw new Error("Bad listFiles response: no entries");let l=0;for(let t=0;t<u.length;t++)if(null!==u[t]){l++;if(!o(u[t]))return n+t}return f&&u.length>0?this.listFilesLoop(t,f,i+1,n+l,o):n+l}listFiles(t){return this.listFilesLoop(null,null,0,0,t)}async getOrSetLocalGaiaHubConnection(){const t=this.userSession.store.getSessionData().userData;if(!t)throw new d("Missing userData");const e=t.gaiaHubConfig;return e?Promise.resolve(e):this.setLocalGaiaHubConnection()}async setLocalGaiaHubConnection(){const t=this.userSession.loadUserData();if(!t)throw new d("Missing userData");t.hubUrl||(t.hubUrl=p);const e=await vT(t.hubUrl,t.appPrivateKey,t.gaiaAssociationToken);t.gaiaHubConfig=e;const r=this.userSession.store.getSessionData();return r.userData.gaiaHubConfig=e,this.userSession.store.setSessionData(r),e}}function ST(t){return new _T({}).getUserAppFileUrl(t.path,t.username,t.appOrigin,t.zoneFileLookupURL)}function ET(t,e){var r;const i=Object.assign({},e);if(i.username){if(!i.app){if(!t.appConfig)throw new d("Missing AppConfig");i.app=t.appConfig.appDomain}if(!i.zoneFileLookupURL){if(!t.appConfig)throw new d("Missing AppConfig");if(!t.store)throw new d("Missing store UserSession");const e=(null===(r=t.store.getSessionData().userData)||void 0===r?void 0:r.coreNode)||t.appConfig.coreNode;e&&(i.zoneFileLookupURL=`${e}${k}`)}}return i}export{dT as BLOCKSTACK_GAIA_HUB_LABEL,_T as Storage,vT as connectToGaiaHub,mT as deleteFromGaiaHub,bT as getBucketUrl,gT as getFullReadUrl,ST as getUserAppFileUrl,pT as uploadToGaiaHub};
|