text: (()=>{var f={8794:(f,e,t)=>{"use strict";t.d(e,{i:()=>r});const r="bignumber/5.5.0"},2593:(f,e,t)=>{"use strict";t.d(e,{Zm:()=>d,O$:()=>p,g$:()=>v,t2:()=>w});var r=t(3550),n=t.n(r),i=t(3286),o=t(711),a=t(8794),s=n().BN;const c=new o.Yd(a.i),u={},l=9007199254740991;function d(f){return null!=f&&(p.isBigNumber(f)||"number"==typeof f&&f%1==0||"string"==typeof f&&!!f.match(/^-?[0-9]+$/)||(0,i.A7)(f)||"bigint"==typeof f||(0,i._t)(f))}let h=!1;class p{constructor(f,e){c.checkNew(new.target,p),f!==u&&c.throwError("cannot call constructor directly; use BigNumber.from",o.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(f){return m(g(this).fromTwos(f))}toTwos(f){return m(g(this).toTwos(f))}abs(){return"-"===this._hex[0]?p.from(this._hex.substring(1)):this}add(f){return m(g(this).add(g(f)))}sub(f){return m(g(this).sub(g(f)))}div(f){return p.from(f).isZero()&&y("division by zero","div"),m(g(this).div(g(f)))}mul(f){return m(g(this).mul(g(f)))}mod(f){const e=g(f);return e.isNeg()&&y("cannot modulo negative values","mod"),m(g(this).umod(e))}pow(f){const e=g(f);return e.isNeg()&&y("cannot raise to negative values","pow"),m(g(this).pow(e))}and(f){const e=g(f);return(this.isNegative()||e.isNeg())&&y("cannot 'and' negative values","and"),m(g(this).and(e))}or(f){const e=g(f);return(this.isNegative()||e.isNeg())&&y("cannot 'or' negative values","or"),m(g(this).or(e))}xor(f){const e=g(f);return(this.isNegative()||e.isNeg())&&y("cannot 'xor' negative values","xor"),m(g(this).xor(e))}mask(f){return(this.isNegative()||f<0)&&y("cannot mask negative values","mask"),m(g(this).maskn(f))}shl(f){return(this.isNegative()||f<0)&&y("cannot shift negative values","shl"),m(g(this).shln(f))}shr(f){return(this.isNegative()||f<0)&&y("cannot shift negative values","shr"),m(g(this).shrn(f))}eq(f){return g(this).eq(g(f))}lt(f){return g(this).lt(g(f))}lte(f){return g(this).lte(g(f))}gt(f){return g(this).gt(g(f))}gte(f){return g(this).gte(g(f))}isNegative(){return"-"===this._hex[0]}isZero(){return g(this).isZero()}toNumber(){try{return g(this).toNumber()}catch(f){y("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(f){}return c.throwError("this platform does not support BigInt",o.Yd.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?h||(h=!0,c.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?c.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",o.Yd.errors.UNEXPECTED_ARGUMENT,{}):c.throwError("BigNumber.toString does not accept parameters",o.Yd.errors.UNEXPECTED_ARGUMENT,{})),g(this).toString(10)}toHexString(){return this._hex}toJSON(f){return{type:"BigNumber",hex:this.toHexString()}}static from(f){if(f instanceof p)return f;if("string"==typeof f)return f.match(/^-?0x[0-9a-f]+$/i)?new p(u,b(f)):f.match(/^-?[0-9]+$/)?new p(u,b(new s(f))):c.throwArgumentError("invalid BigNumber string","value",f);if("number"==typeof f)return f%1&&y("underflow","BigNumber.from",f),(f>=l||f<=-l)&&y("overflow","BigNumber.from",f),p.from(String(f));const e=f;if("bigint"==typeof e)return p.from(e.toString());if((0,i._t)(e))return p.from((0,i.Dv)(e));if(e)if(e.toHexString){const f=e.toHexString();if("string"==typeof f)return p.from(f)}else{let f=e._hex;if(null==f&&"BigNumber"===e.type&&(f=e.hex),"string"==typeof f&&((0,i.A7)(f)||"-"===f[0]&&(0,i.A7)(f.substring(1))))return p.from(f)}return c.throwArgumentError("invalid BigNumber value","value",f)}static isBigNumber(f){return!(!f||!f._isBigNumber)}}function b(f){if("string"!=typeof f)return b(f.toString(16));if("-"===f[0])return"-"===(f=f.substring(1))[0]&&c.throwArgumentError("invalid hex","value",f),"0x00"===(f=b(f))?f:"-"+f;if("0x"!==f.substring(0,2)&&(f="0x"+f),"0x"===f)return"0x00";for(f.length%2&&(f="0x0"+f.substring(2));f.length>4&&"0x00"===f.substring(0,4);)f="0x"+f.substring(4);return f}function m(f){return p.from(b(f))}function g(f){const e=p.from(f).toHexString();return"-"===e[0]?new s("-"+e.substring(3),16):new s(e.substring(2),16)}function y(f,e,t){const r={fault:f,operation:e};return null!=t&&(r.value=t),c.throwError(f,o.Yd.errors.NUMERIC_FAULT,r)}function v(f){return new s(f,36).toString(16)}function w(f){return new s(f,16).toString(36)}},335:(f,e,t)=>{"use strict";t.d(e,{S5:()=>p,Ox:()=>b,xO:()=>m,xs:()=>g});var r=t(3286),n=t(711),i=t(8794),o=t(2593);const a=new n.Yd(i.i),s={},c=o.O$.from(0),u=o.O$.from(-1);function l(f,e,t,r){const i={fault:e,operation:t};return void 0!==r&&(i.value=r),a.throwError(f,n.Yd.errors.NUMERIC_FAULT,i)}let d="0";for(;d.length<256;)d+=d;function h(f){if("number"!=typeof f)try{f=o.O$.from(f).toNumber()}catch(f){}return"number"==typeof f&&f>=0&&f<=256&&!(f%1)?"1"+d.substring(0,f):a.throwArgumentError("invalid decimal size","decimals",f)}function p(f,e){null==e&&(e=0);const t=h(e),r=(f=o.O$.from(f)).lt(c);r&&(f=f.mul(u));let n=f.mod(t).toString();for(;n.length<t.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const i=f.div(t).toString();return f=1===t.length?i:i+"."+n,r&&(f="-"+f),f}function b(f,e){null==e&&(e=0);const t=h(e);"string"==typeof f&&f.match(/^-?[0-9.]+$/)||a.throwArgumentError("invalid decimal value","value",f);const r="-"===f.substring(0,1);r&&(f=f.substring(1)),"."===f&&a.throwArgumentError("missing value","value",f);const n=f.split(".");n.length>2&&a.throwArgumentError("too many decimal points","value",f);let i=n[0],s=n[1];for(i||(i="0"),s||(s="0");"0"===s[s.length-1];)s=s.substring(0,s.length-1);for(s.length>t.length-1&&l("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.length<t.length-1;)s+="0";const c=o.O$.from(i),d=o.O$.from(s);let p=c.mul(t).add(d);return r&&(p=p.mul(u)),p}class m{constructor(f,e,t,r){f!==s&&a.throwError("cannot use FixedFormat constructor; use FixedFormat.from",n.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=e,this.width=t,this.decimals=r,this.name=(e?"":"u")+"fixed"+String(t)+"x"+String(r),this._multiplier=h(r),Object.freeze(this)}static from(f){if(f instanceof m)return f;"number"==typeof f&&(f=`fixed128x${f}`);let e=!0,t=128,r=18;if("string"==typeof f)if("fixed"===f);else if("ufixed"===f)e=!1;else{const n=f.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);n||a.throwArgumentError("invalid fixed format","format",f),e="u"!==n[1],t=parseInt(n[2]),r=parseInt(n[3])}else if(f){const n=(e,t,r)=>null==f[e]?r:(typeof f[e]!==t&&a.throwArgumentError("invalid fixed format ("+e+" not "+t+")","format."+e,f[e]),f[e]);e=n("signed","boolean",e),t=n("width","number",t),r=n("decimals","number",r)}return t%8&&a.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",t),r>80&&a.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",r),new m(s,e,t,r)}}class g{constructor(f,e,t,r){a.checkNew(new.target,g),f!==s&&a.throwError("cannot use FixedNumber constructor; use FixedNumber.from",n.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=r,this._hex=e,this._value=t,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(f){this.format.name!==f.format.name&&a.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",f)}addUnsafe(f){this._checkFormat(f);const e=b(this._value,this.format.decimals),t=b(f._value,f.format.decimals);return g.fromValue(e.add(t),this.format.decimals,this.format)}subUnsafe(f){this._checkFormat(f);const e=b(this._value,this.format.decimals),t=b(f._value,f.format.decimals);return g.fromValue(e.sub(t),this.format.decimals,this.format)}mulUnsafe(f){this._checkFormat(f);const e=b(this._value,this.format.decimals),t=b(f._value,f.format.decimals);return g.fromValue(e.mul(t).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(f){this._checkFormat(f);const e=b(this._value,this.format.decimals),t=b(f._value,f.format.decimals);return g.fromValue(e.mul(this.format._multiplier).div(t),this.format.decimals,this.format)}floor(){const f=this.toString().split(".");1===f.length&&f.push("0");let e=g.from(f[0],this.format);const t=!f[1].match(/^(0*)$/);return this.isNegative()&&t&&(e=e.subUnsafe(y.toFormat(e.format))),e}ceiling(){const f=this.toString().split(".");1===f.length&&f.push("0");let e=g.from(f[0],this.format);const t=!f[1].match(/^(0*)$/);return!this.isNegative()&&t&&(e=e.addUnsafe(y.toFormat(e.format))),e}round(f){null==f&&(f=0);const e=this.toString().split(".");if(1===e.length&&e.push("0"),(f<0||f>80||f%1)&&a.throwArgumentError("invalid decimal count","decimals",f),e[1].length<=f)return this;const t=g.from("1"+d.substring(0,f),this.format),r=v.toFormat(this.format);return this.mulUnsafe(t).addUnsafe(r).floor().divUnsafe(t)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(f){if(null==f)return this._hex;f%8&&a.throwArgumentError("invalid byte width","width",f);const e=o.O$.from(this._hex).fromTwos(this.format.width).toTwos(f).toHexString();return(0,r.$m)(e,f/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(f){return g.fromString(this._value,f)}static fromValue(f,e,t){return null!=t||null==e||(0,o.Zm)(e)||(t=e,e=null),null==e&&(e=0),null==t&&(t="fixed"),g.fromString(p(f,e),m.from(t))}static fromString(f,e){null==e&&(e="fixed");const t=m.from(e),n=b(f,t.decimals);!t.signed&&n.lt(c)&&l("unsigned value cannot be negative","overflow","value",f);let i=null;t.signed?i=n.toTwos(t.width).toHexString():(i=n.toHexString(),i=(0,r.$m)(i,t.width/8));const o=p(n,t.decimals);return new g(s,i,o,t)}static fromBytes(f,e){null==e&&(e="fixed");const t=m.from(e);if((0,r.lE)(f).length>t.width/8)throw new Error("overflow");let n=o.O$.from(f);t.signed&&(n=n.fromTwos(t.width));const i=n.toTwos((t.signed?0:1)+t.width).toHexString(),a=p(n,t.decimals);return new g(s,i,a,t)}static from(f,e){if("string"==typeof f)return g.fromString(f,e);if((0,r._t)(f))return g.fromBytes(f,e);try{return g.fromValue(f,0,e)}catch(f){if(f.code!==n.Yd.errors.INVALID_ARGUMENT)throw f}return a.throwArgumentError("invalid FixedNumber value","value",f)}static isFixedNumber(f){return!(!f||!f._isFixedNumber)}}const y=g.from(1),v=g.from("0.5")},833:(f,e,t)=>{"use strict";t.r(e),t.d(e,{BigNumber:()=>r.O$,formatFixed:()=>n.S5,FixedFormat:()=>n.xO,FixedNumber:()=>n.xs,parseFixed:()=>n.Ox,_base16To36:()=>r.t2,_base36To16:()=>r.g$});var r=t(2593),n=t(335)},3286:(f,e,t)=>{"use strict";t.d(e,{lE:()=>c,zo:()=>u,xs:()=>y,E1:()=>m,p3:()=>g,Ou:()=>w,$P:()=>v,$m:()=>_,Dv:()=>b,_t:()=>s,Zq:()=>o,A7:()=>h,gV:()=>A,N:()=>E,G1:()=>l,Bu:()=>d});const r=new(t(711).Yd)("bytes/5.5.0");function n(f){return!!f.toHexString}function i(f){return f.slice||(f.slice=function(){const e=Array.prototype.slice.call(arguments);return i(new Uint8Array(Array.prototype.slice.apply(f,e)))}),f}function o(f){return h(f)&&!(f.length%2)||s(f)}function a(f){return"number"==typeof f&&f==f&&f%1==0}function s(f){if(null==f)return!1;if(f.constructor===Uint8Array)return!0;if("string"==typeof f)return!1;if(!a(f.length)||f.length<0)return!1;for(let e=0;e<f.length;e++){const t=f[e];if(!a(t)||t<0||t>=256)return!1}return!0}function c(f,e){if(e||(e={}),"number"==typeof f){r.checkSafeUint53(f,"invalid arrayify value");const e=[];for(;f;)e.unshift(255&f),f=parseInt(String(f/256));return 0===e.length&&e.push(0),i(new Uint8Array(e))}if(e.allowMissingPrefix&&"string"==typeof f&&"0x"!==f.substring(0,2)&&(f="0x"+f),n(f)&&(f=f.toHexString()),h(f)){let t=f.substring(2);t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":r.throwArgumentError("hex data is odd-length","value",f));const n=[];for(let f=0;f<t.length;f+=2)n.push(parseInt(t.substring(f,f+2),16));return i(new Uint8Array(n))}return s(f)?i(new Uint8Array(f)):r.throwArgumentError("invalid arrayify value","value",f)}function u(f){const e=f.map((f=>c(f))),t=e.reduce(((f,e)=>f+e.length),0),r=new Uint8Array(t);return e.reduce(((f,e)=>(r.set(e,f),f+e.length)),0),i(r)}function l(f){let e=c(f);if(0===e.length)return e;let t=0;for(;t<e.length&&0===e[t];)t++;return t&&(e=e.slice(t)),e}function d(f,e){(f=c(f)).length>e&&r.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(f,e-f.length),i(t)}function h(f,e){return!("string"!=typeof f||!f.match(/^0x[0-9A-Fa-f]*$/))&&(!e||f.length===2+2*e)}const p="0123456789abcdef";function b(f,e){if(e||(e={}),"number"==typeof f){r.checkSafeUint53(f,"invalid hexlify value");let e="";for(;f;)e=p[15&f]+e,f=Math.floor(f/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if("bigint"==typeof f)return(f=f.toString(16)).length%2?"0x0"+f:"0x"+f;if(e.allowMissingPrefix&&"string"==typeof f&&"0x"!==f.substring(0,2)&&(f="0x"+f),n(f))return f.toHexString();if(h(f))return f.length%2&&("left"===e.hexPad?f="0x0"+f.substring(2):"right"===e.hexPad?f+="0":r.throwArgumentError("hex data is odd-length","value",f)),f.toLowerCase();if(s(f)){let e="0x";for(let t=0;t<f.length;t++){let r=f[t];e+=p[(240&r)>>4]+p[15&r]}return e}return r.throwArgumentError("invalid hexlify value","value",f)}function m(f){if("string"!=typeof f)f=b(f);else if(!h(f)||f.length%2)return null;return(f.length-2)/2}function g(f,e,t){return"string"!=typeof f?f=b(f):(!h(f)||f.length%2)&&r.throwArgumentError("invalid hexData","value",f),e=2+2*e,null!=t?"0x"+f.substring(e,2+2*t):"0x"+f.substring(e)}function y(f){let e="0x";return f.forEach((f=>{e+=b(f).substring(2)})),e}function v(f){const e=w(b(f,{hexPad:"left"}));return"0x"===e?"0x0":e}function w(f){"string"!=typeof f&&(f=b(f)),h(f)||r.throwArgumentError("invalid hex string","value",f),f=f.substring(2);let e=0;for(;e<f.length&&"0"===f[e];)e++;return"0x"+f.substring(e)}function _(f,e){for("string"!=typeof f?f=b(f):h(f)||r.throwArgumentError("invalid hex string","value",f),f.length>2*e+2&&r.throwArgumentError("value out of range","value",arguments[1]);f.length<2*e+2;)f="0x0"+f.substring(2);return f}function E(f){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(o(f)){const t=c(f);65!==t.length&&r.throwArgumentError("invalid signature string; must be 65 bytes","signature",f),e.r=b(t.slice(0,32)),e.s=b(t.slice(32,64)),e.v=t[64],e.v<27&&(0===e.v||1===e.v?e.v+=27:r.throwArgumentError("signature invalid v byte","signature",f)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=b(t.slice(32,64))}else{if(e.r=f.r,e.s=f.s,e.v=f.v,e.recoveryParam=f.recoveryParam,e._vs=f._vs,null!=e._vs){const t=d(c(e._vs),32);e._vs=b(t);const n=t[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=n:e.recoveryParam!==n&&r.throwArgumentError("signature recoveryParam mismatch _vs","signature",f),t[0]&=127;const i=b(t);null==e.s?e.s=i:e.s!==i&&r.throwArgumentError("signature v mismatch _vs","signature",f)}if(null==e.recoveryParam)null==e.v?r.throwArgumentError("signature missing v and recoveryParam","signature",f):0===e.v||1===e.v?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(null==e.v)e.v=27+e.recoveryParam;else{const t=0===e.v||1===e.v?e.v:1-e.v%2;e.recoveryParam!==t&&r.throwArgumentError("signature recoveryParam mismatch v","signature",f)}null!=e.r&&h(e.r)?e.r=_(e.r,32):r.throwArgumentError("signature missing or invalid r","signature",f),null!=e.s&&h(e.s)?e.s=_(e.s,32):r.throwArgumentError("signature missing or invalid s","signature",f);const t=c(e.s);t[0]>=128&&r.throwArgumentError("signature s out of range","signature",f),e.recoveryParam&&(t[0]|=128);const n=b(t);e._vs&&(h(e._vs)||r.throwArgumentError("signature invalid _vs","signature",f),e._vs=_(e._vs,32)),null==e._vs?e._vs=n:e._vs!==n&&r.throwArgumentError("signature _vs mismatch v and s","signature",f)}return e}function A(f){return b(u([(f=E(f)).r,f.s,f.recoveryParam?"0x1c":"0x1b"]))}},711:(f,e,t)=>{"use strict";t.d(e,{jK:()=>u,Yd:()=>d});let r=!1,n=!1;const i={debug:1,default:2,info:2,warning:3,error:4,off:5};let o=i.default,a=null;const s=function(){try{const f=[];if(["NFD","NFC","NFKD","NFKC"].forEach((e=>{try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(t){f.push(e)}})),f.length)throw new Error("missing "+f.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(f){return f.message}return null}();var c,u;!function(f){f.DEBUG="DEBUG",f.INFO="INFO",f.WARNING="WARNING",f.ERROR="ERROR",f.OFF="OFF"}(c||(c={})),function(f){f.UNKNOWN_ERROR="UNKNOWN_ERROR",f.NOT_IMPLEMENTED="NOT_IMPLEMENTED",f.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",f.NETWORK_ERROR="NETWORK_ERROR",f.SERVER_ERROR="SERVER_ERROR",f.TIMEOUT="TIMEOUT",f.BUFFER_OVERRUN="BUFFER_OVERRUN",f.NUMERIC_FAULT="NUMERIC_FAULT",f.MISSING_NEW="MISSING_NEW",f.INVALID_ARGUMENT="INVALID_ARGUMENT",f.MISSING_ARGUMENT="MISSING_ARGUMENT",f.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",f.CALL_EXCEPTION="CALL_EXCEPTION",f.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",f.NONCE_EXPIRED="NONCE_EXPIRED",f.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",f.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",f.TRANSACTION_REPLACED="TRANSACTION_REPLACED"}(u||(u={}));const l="0123456789abcdef";class d{constructor(f){Object.defineProperty(this,"version",{enumerable:!0,value:f,writable:!1})}_log(f,e){const t=f.toLowerCase();null==i[t]&&this.throwArgumentError("invalid log level name","logLevel",f),o>i[t]||console.log.apply(console,e)}debug(...f){this._log(d.levels.DEBUG,f)}info(...f){this._log(d.levels.INFO,f)}warn(...f){this._log(d.levels.WARNING,f)}makeError(f,e,t){if(n)return this.makeError("censored error",e,{});e||(e=d.errors.UNKNOWN_ERROR),t||(t={});const r=[];Object.keys(t).forEach((f=>{const e=t[f];try{if(e instanceof Uint8Array){let t="";for(let f=0;f<e.length;f++)t+=l[e[f]>>4],t+=l[15&e[f]];r.push(f+"=Uint8Array(0x"+t+")")}else r.push(f+"="+JSON.stringify(e))}catch(e){r.push(f+"="+JSON.stringify(t[f].toString()))}})),r.push(`code=${e}`),r.push(`version=${this.version}`);const i=f;r.length&&(f+=" ("+r.join(", ")+")");const o=new Error(f);return o.reason=i,o.code=e,Object.keys(t).forEach((function(f){o[f]=t[f]})),o}throwError(f,e,t){throw this.makeError(f,e,t)}throwArgumentError(f,e,t){return this.throwError(f,d.errors.INVALID_ARGUMENT,{argument:e,value:t})}assert(f,e,t,r){f||this.throwError(e,t,r)}assertArgument(f,e,t,r){f||this.throwArgumentError(e,t,r)}checkNormalize(f){null==f&&(f="platform missing String.prototype.normalize"),s&&this.throwError("platform missing String.prototype.normalize",d.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:s})}checkSafeUint53(f,e){"number"==typeof f&&(null==e&&(e="value not safe"),(f<0||f>=9007199254740991)&&this.throwError(e,d.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:f}),f%1&&this.throwError(e,d.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:f}))}checkArgumentCount(f,e,t){t=t?": "+t:"",f<e&&this.throwError("missing argument"+t,d.errors.MISSING_ARGUMENT,{count:f,expectedCount:e}),f>e&&this.throwError("too many arguments"+t,d.errors.UNEXPECTED_ARGUMENT,{count:f,expectedCount:e})}checkNew(f,e){f!==Object&&null!=f||this.throwError("missing new",d.errors.MISSING_NEW,{name:e.name})}checkAbstract(f,e){f===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",d.errors.UNSUPPORTED_OPERATION,{name:f.name,operation:"new"}):f!==Object&&null!=f||this.throwError("missing new",d.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return a||(a=new d("logger/5.5.0")),a}static setCensorship(f,e){if(!f&&e&&this.globalLogger().throwError("cannot permanently disable censorship",d.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),r){if(!f)return;this.globalLogger().throwError("error censorship permanent",d.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!f,r=!!e}static setLogLevel(f){const e=i[f.toLowerCase()];null!=e?o=e:d.globalLogger().warn("invalid log level - "+f)}static from(f){return new d(f)}}d.errors=u,d.levels=c},144:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=class{constructor(f,e){this.debounceTime=f,this.work=e}run(){void 0!==this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((()=>{this.work()}),this.debounceTime)}}},4405:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(9438));class i extends n.default{constructor(){super(document.body)}}e.default=new i},3892:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(1809));class i extends n.default{constructor(f,e){super(f,e),this.touchCloseZone=()=>{this.delete()},this.onDom("mousedown",(f=>{this.deleteChildren(this),f.stopPropagation()}))}deleteChildren(f){for(const e of f.children)e instanceof i?e.delete():this.deleteChildren(e)}appendTo(f,e){const t=super.appendTo(f,e);if(f instanceof i!=!0){const f=n.default.findAncestorOf(this);void 0!==f&&(this.closeZone=f,this.closeZone.onDom("mousedown",this.touchCloseZone))}return t}exceptFromParent(){void 0!==this.closeZone&&!0!==this.closeZone.deleted&&this.closeZone.offDom("mousedown",this.touchCloseZone),super.exceptFromParent()}}e.default=i},9438:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(1872)),i=r(t(9216));class o extends i.default{constructor(f){super(),this.children=[],this.domEventMap={},f instanceof HTMLElement?this.domElement=f:this.domElement=o.createElement(f)}static createElement(f){let e;const t=f.indexOf("#");if(-1!==t){e=f.substring(t+1),f=f.substring(0,t);const r=e.indexOf(".");-1!==r&&(e=e.substring(0,r),f+=e.substring(r))}let r;const n=f.indexOf(".");-1!==n&&(r=f.substring(n+1).replace(/\./g," "),f=f.substring(0,n)),""===f&&(f="div");const i=document.createElement(f);return void 0!==e&&(i.id=e),void 0!==r&&(i.className=r),i}style(f){for(const[e,t]of Object.entries(f))void 0===t?this.domElement.style.removeProperty(e):this.domElement.style[e]="number"==typeof t&&"zIndex"!==e&&"opacity"!==e&&"flexGrow"!==e&&"flexShrink"!==e&&"gridGap"!==e&&"order"!==e&&"zoom"!==e?`${t}px`:t}get rect(){return this.domElement.getBoundingClientRect()}get innerScrollPosition(){let f=0,e=0;if(this.domElement!==document.body){let t=this.domElement.parentNode;for(;t!==document.body&&null!==t;)t instanceof HTMLElement&&(f+=t.scrollLeft,e+=t.scrollTop),t=t.parentNode}return{left:f,top:e}}onDom(f,e){void 0===this.domEventMap[f]&&(this.domEventMap[f]=[]);const t=f=>e(f,this);this.domEventMap[f].push({eventHandler:e,domEventHandler:t}),this.domElement.addEventListener(f,t)}offDom(f,e){const t=this.domEventMap[f];if(void 0!==t){const r=t.find((f=>f.eventHandler===e));void 0!==r&&(this.domElement.removeEventListener(f,r.domEventHandler),n.default.pull(t,r),0===t.length&&delete this.domEventMap[f])}}fireDomEvent(f,...e){this.domElement.dispatchEvent(new Event(f))}appendText(f){const e=new DocumentFragment,t=f.split("\n");for(const[f,r]of t.entries())f>0&&e.append(document.createElement("br")),e.append(r);this.domElement.append(e)}checkVisible(){return void 0!==this.parent&&(this.parent.domElement===document.body||this.parent.checkVisible())}fireVisible(){this.fireEvent("visible");for(const f of this.children)f.fireVisible()}appendTo(f,e){void 0!==e&&e<f.children.length?f.domElement.insertBefore(this.domElement,f.children[e].domElement):f.domElement.append(this.domElement);const t=super.appendTo(f,e);return!0===this.checkVisible()&&this.fireVisible(),t}empty(){for(super.empty();this.domElement.firstChild;)this.domElement.removeChild(this.domElement.firstChild);return this}addClass(f){this.domElement.classList.add(f)}deleteClass(f){this.domElement.classList.remove(f)}checkClass(f){return this.domElement.classList.contains(f)}delete(){this.domElement.remove(),this.domEventMap=void 0,super.delete()}}e.default=o},1809:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(4405)),i=r(t(9438)),o=r(t(6902));class a extends i.default{constructor(f,e){super(e),this.position=f,this.style({left:f.left,top:f.top})}static findAncestorOf(f){let e=f.parent;for(;void 0!==e;){if(e===n.default||e instanceof a)return e;if(e instanceof o.default)return e.content;e=e.parent}}putInsideWindow(){this.style({left:this.position.left,top:this.position.top});const f=this.domElement.getBoundingClientRect();f.left+f.width>window.innerWidth&&this.style({left:window.innerWidth-f.width}),f.top+f.height>window.innerHeight&&this.style({top:window.innerHeight-f.height})}appendToAncestorOf(f){const e=a.findAncestorOf(f);if(void 0!==e)return this.appendTo(e)}appendTo(f,e){const t=super.appendTo(f,e);return this.putInsideWindow(),t}}e.default=a},6902:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(4405)),i=r(t(9438));class o extends i.default{constructor(f){super(f),this.on("mousedown",(f=>{f.stopPropagation()})),n.default.append(this)}}e.default=o},1724:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(9438));class i extends n.default{constructor(f,e){super(f),this.src=e}set src(f){this.domElement.src=f;const e=f.substring(0,f.lastIndexOf(".png"));this.domElement.srcset=`${e}@2x.png 2x, ${e}@3x.png 3x`}}e.default=i},493:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollItemDomNode=void 0;const n=r(t(144)),i=r(t(1872)),o=r(t(9438));class a extends o.default{}e.ScrollItemDomNode=a;class s extends o.default{constructor(f,e,t){super(f),this.options=e,this.createChild=t,this.nodeDataSet=[],this.scrollAreaHeight=0,this.scrollStack=[],this.refresh=()=>{const f=this.domElement.scrollTop;0===this.scrollAreaHeight||2===this.scrollStack.length&&this.scrollStack[0].top===f&&this.scrollStack[1].length===this.nodeDataSet.length||this.draw(f)},this.calculateSize=()=>{this.scrollAreaHeight=this.domElement.clientHeight,this.refresh()},this.resizeDebouncer=new n.default(100,(()=>this.calculateSize())),this.resizeHandler=()=>this.resizeDebouncer.run(),this.append(this.topPaddingNode=new o.default(document.createElement(e.childTag)),this.bottomPaddingNode=new o.default(document.createElement(e.childTag))),this.domElement.style.overflowY="scroll",this.on("visible",(()=>this.calculateSize())),this.onDom("scroll",(()=>this.refresh())),window.addEventListener("resize",this.resizeHandler)}init(f){var e;for(const f of this.nodeDataSet)null===(e=f.dom)||void 0===e||e.delete();this.nodeDataSet=[];for(const e of f)this.nodeDataSet.push({data:e,height:this.options.baseChildHeight});this.scrollAreaHeight=this.domElement.clientHeight,this.draw(this.domElement.scrollTop)}draw(f){var e,t;this.scrollStack.push({top:f,length:this.nodeDataSet.length}),this.scrollStack.length>2&&this.scrollStack.splice(0,1);const r=f,n=f+this.scrollAreaHeight;let i=0,o=0,a=-1,s=-1,c=0;for(const[f,e]of this.nodeDataSet.entries())c+e.height<r?i+=e.height:c>n?o+=e.height:(-1===a&&(a=f),s<f&&(s=f),void 0===e.dom&&(e.dom=this.createChild(e.data,f),e.dom.appendTo(this),e.height=e.dom.rect.height)),c+=e.height;for(const[f,r]of this.nodeDataSet.entries())a<=f&&f<=s?null===(e=r.dom)||void 0===e||e.appendTo(this):(null===(t=r.dom)||void 0===t||t.delete(),delete r.dom);this.topPaddingNode.domElement.style.height=`${i}px`,this.bottomPaddingNode.domElement.style.height=`${o}px`,this.bottomPaddingNode.appendTo(this)}add(f,e){void 0!==e&&e<this.nodeDataSet.length?i.default.insert(this.nodeDataSet,e,{data:f,height:this.options.baseChildHeight}):this.nodeDataSet.push({data:f,height:this.options.baseChildHeight}),this.refresh()}findDataIndex(f){return this.nodeDataSet.findIndex((e=>e.data===f))}remove(f){var e;const t=this.findDataIndex(f);-1!==t&&(null===(e=this.nodeDataSet[t].dom)||void 0===e||e.delete(),this.nodeDataSet.splice(t,1),this.refresh())}move(f,e){var t;const r=this.findDataIndex(f);-1!==r&&(null===(t=this.nodeDataSet[r].dom)||void 0===t||t.delete(),this.nodeDataSet.splice(r,1),r<e&&(e-=1)),void 0!==e&&e<this.nodeDataSet.length?i.default.insert(this.nodeDataSet,e,{data:f,height:this.options.baseChildHeight}):this.nodeDataSet.push({data:f,height:this.options.baseChildHeight}),this.refresh()}delete(){window.removeEventListener("resize",this.resizeHandler),super.delete()}}e.default=s},9216:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(7162)),i=r(t(1872));class o extends n.default{constructor(){super(...arguments),this.children=[]}append(...f){for(const e of f)void 0!==e&&e.appendTo(this)}appendTo(f,e){return this.parent===f&&void 0!==e&&this.parent.children.indexOf(this)<e&&(e-=1),this.exceptFromParent(),void 0!==e&&e<f.children.length?f.children.splice(e,0,this):f.children.push(this),this.parent=f,this}exceptFromParent(){void 0!==this.parent&&(i.default.pull(this.parent.children,this),this.parent=void 0)}empty(){const f=[];for(const e of this.children)f.push(e);for(const e of f)e.delete();return this}checkChild(f){for(const e of this.children)if(e===f||!0===e.checkChild(f))return!0;return!1}delete(){super.delete(),this.exceptFromParent(),this.empty(),this.children=void 0}}e.default=o},3524:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(9438));e.default=(f,...e)=>{const t=new n.default(n.default.createElement(f));for(const f of e)if(void 0!==f)if("string"==typeof f)t.appendText(f);else if(f instanceof n.default)t.append(f);else for(const[e,r]of Object.entries(f))"function"==typeof r?t.onDom(e,r):"style"===e&&"object"==typeof r?t.style(r):void 0===r?t.domElement.removeAttribute(e):"string"==typeof r&&t.domElement.setAttribute(e,r);return t}},9687:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.Popup=e.ClosableFloatingDomNode=e.FloatingDomNode=e.ScrollItemDomNode=e.ScrollableDomNode=e.el=e.BodyNode=e.ResponsiveImage=e.DomNode=e.SkyNode=void 0;var n=t(9216);Object.defineProperty(e,"SkyNode",{enumerable:!0,get:function(){return r(n).default}});var i=t(9438);Object.defineProperty(e,"DomNode",{enumerable:!0,get:function(){return r(i).default}});var o=t(1724);Object.defineProperty(e,"ResponsiveImage",{enumerable:!0,get:function(){return r(o).default}});var a=t(4405);Object.defineProperty(e,"BodyNode",{enumerable:!0,get:function(){return r(a).default}});var s=t(3524);Object.defineProperty(e,"el",{enumerable:!0,get:function(){return r(s).default}});var c=t(493);Object.defineProperty(e,"ScrollableDomNode",{enumerable:!0,get:function(){return r(c).default}}),Object.defineProperty(e,"ScrollItemDomNode",{enumerable:!0,get:function(){return c.ScrollItemDomNode}});var u=t(1809);Object.defineProperty(e,"FloatingDomNode",{enumerable:!0,get:function(){return r(u).default}});var l=t(3892);Object.defineProperty(e,"ClosableFloatingDomNode",{enumerable:!0,get:function(){return r(l).default}});var d=t(6902);Object.defineProperty(e,"Popup",{enumerable:!0,get:function(){return r(d).default}})},1872:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=class{static pull(f,...e){for(const t of e){const e=f.indexOf(t);-1!==e&&f.splice(e,1)}}static insert(f,e,t){f.splice(e,0,t)}static random(f,e){return Math.floor(Math.random()*(e-f+1)+f)}static repeat(f,e){const t=[];for(let r=0;r<f;r+=1){const f=e(r);f instanceof Promise&&t.push(f)}if(t.length>0)return Promise.all(t)}}},8826:function(f){"use strict";!function(e){function t(f){return parseInt(f)===f}function r(f){if(!t(f.length))return!1;for(var e=0;e<f.length;e++)if(!t(f[e])||f[e]<0||f[e]>255)return!1;return!0}function n(f,e){if(f.buffer&&ArrayBuffer.isView(f)&&"Uint8Array"===f.name)return e&&(f=f.slice?f.slice():Array.prototype.slice.call(f)),f;if(Array.isArray(f)){if(!r(f))throw new Error("Array contains invalid value: "+f);return new Uint8Array(f)}if(t(f.length)&&r(f))return new Uint8Array(f);throw new Error("unsupported array-like object")}function i(f){return new Uint8Array(f)}function o(f,e,t,r,n){null==r&&null==n||(f=f.slice?f.slice(r,n):Array.prototype.slice.call(f,r,n)),e.set(f,t)}var a,s={toBytes:function(f){var e=[],t=0;for(f=encodeURI(f);t<f.length;){var r=f.charCodeAt(t++);37===r?(e.push(parseInt(f.substr(t,2),16)),t+=2):e.push(r)}return n(e)},fromBytes:function(f){for(var e=[],t=0;t<f.length;){var r=f[t];r<128?(e.push(String.fromCharCode(r)),t++):r>191&&r<224?(e.push(String.fromCharCode((31&r)<<6|63&f[t+1])),t+=2):(e.push(String.fromCharCode((15&r)<<12|(63&f[t+1])<<6|63&f[t+2])),t+=3)}return e.join("")}},c=(a="0123456789abcdef",{toBytes:function(f){for(var e=[],t=0;t<f.length;t+=2)e.push(parseInt(f.substr(t,2),16));return e},fromBytes:function(f){for(var e=[],t=0;t<f.length;t++){var r=f[t];e.push(a[(240&r)>>4]+a[15&r])}return e.join("")}}),u={16:10,24:12,32:14},l=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],h=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],b=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],m=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],g=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],v=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],_=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],E=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],A=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],S=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],k=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function M(f){for(var e=[],t=0;t<f.length;t+=4)e.push(f[t]<<24|f[t+1]<<16|f[t+2]<<8|f[t+3]);return e}var P=function(f){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:n(f,!0)}),this._prepare()};P.prototype._prepare=function(){var f=u[this.key.length];if(null==f)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var e=0;e<=f;e++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var t,r=4*(f+1),n=this.key.length/4,i=M(this.key);for(e=0;e<n;e++)t=e>>2,this._Ke[t][e%4]=i[e],this._Kd[f-t][e%4]=i[e];for(var o,a=0,s=n;s<r;){if(o=i[n-1],i[0]^=d[o>>16&255]<<24^d[o>>8&255]<<16^d[255&o]<<8^d[o>>24&255]^l[a]<<24,a+=1,8!=n)for(e=1;e<n;e++)i[e]^=i[e-1];else{for(e=1;e<n/2;e++)i[e]^=i[e-1];o=i[n/2-1],i[n/2]^=d[255&o]^d[o>>8&255]<<8^d[o>>16&255]<<16^d[o>>24&255]<<24;for(e=n/2+1;e<n;e++)i[e]^=i[e-1]}for(e=0;e<n&&s<r;)c=s>>2,h=s%4,this._Ke[c][h]=i[e],this._Kd[f-c][h]=i[e++],s++}for(var c=1;c<f;c++)for(var h=0;h<4;h++)o=this._Kd[c][h],this._Kd[c][h]=E[o>>24&255]^A[o>>16&255]^S[o>>8&255]^k[255&o]},P.prototype.encrypt=function(f){if(16!=f.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var e=this._Ke.length-1,t=[0,0,0,0],r=M(f),n=0;n<4;n++)r[n]^=this._Ke[0][n];for(var o=1;o<e;o++){for(n=0;n<4;n++)t[n]=p[r[n]>>24&255]^b[r[(n+1)%4]>>16&255]^m[r[(n+2)%4]>>8&255]^g[255&r[(n+3)%4]]^this._Ke[o][n];r=t.slice()}var a,s=i(16);for(n=0;n<4;n++)a=this._Ke[e][n],s[4*n]=255&(d[r[n]>>24&255]^a>>24),s[4*n+1]=255&(d[r[(n+1)%4]>>16&255]^a>>16),s[4*n+2]=255&(d[r[(n+2)%4]>>8&255]^a>>8),s[4*n+3]=255&(d[255&r[(n+3)%4]]^a);return s},P.prototype.decrypt=function(f){if(16!=f.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var e=this._Kd.length-1,t=[0,0,0,0],r=M(f),n=0;n<4;n++)r[n]^=this._Kd[0][n];for(var o=1;o<e;o++){for(n=0;n<4;n++)t[n]=y[r[n]>>24&255]^v[r[(n+3)%4]>>16&255]^w[r[(n+2)%4]>>8&255]^_[255&r[(n+1)%4]]^this._Kd[o][n];r=t.slice()}var a,s=i(16);for(n=0;n<4;n++)a=this._Kd[e][n],s[4*n]=255&(h[r[n]>>24&255]^a>>24),s[4*n+1]=255&(h[r[(n+3)%4]>>16&255]^a>>16),s[4*n+2]=255&(h[r[(n+2)%4]>>8&255]^a>>8),s[4*n+3]=255&(h[255&r[(n+1)%4]]^a);return s};var x=function(f){if(!(this instanceof x))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new P(f)};x.prototype.encrypt=function(f){if((f=n(f)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=i(f.length),t=i(16),r=0;r<f.length;r+=16)o(f,t,0,r,r+16),o(t=this._aes.encrypt(t),e,r);return e},x.prototype.decrypt=function(f){if((f=n(f)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var e=i(f.length),t=i(16),r=0;r<f.length;r+=16)o(f,t,0,r,r+16),o(t=this._aes.decrypt(t),e,r);return e};var O=function(f,e){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else e=i(16);this._lastCipherblock=n(e,!0),this._aes=new P(f)};O.prototype.encrypt=function(f){if((f=n(f)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=i(f.length),t=i(16),r=0;r<f.length;r+=16){o(f,t,0,r,r+16);for(var a=0;a<16;a++)t[a]^=this._lastCipherblock[a];this._lastCipherblock=this._aes.encrypt(t),o(this._lastCipherblock,e,r)}return e},O.prototype.decrypt=function(f){if((f=n(f)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var e=i(f.length),t=i(16),r=0;r<f.length;r+=16){o(f,t,0,r,r+16),t=this._aes.decrypt(t);for(var a=0;a<16;a++)e[r+a]=t[a]^this._lastCipherblock[a];o(f,this._lastCipherblock,0,r,r+16)}return e};var N=function(f,e,t){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 size)")}else e=i(16);t||(t=1),this.segmentSize=t,this._shiftRegister=n(e,!0),this._aes=new P(f)};N.prototype.encrypt=function(f){if(f.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var e,t=n(f,!0),r=0;r<t.length;r+=this.segmentSize){e=this._aes.encrypt(this._shiftRegister);for(var i=0;i<this.segmentSize;i++)t[r+i]^=e[i];o(this._shiftRegister,this._shiftRegister,0,this.segmentSize),o(t,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return t},N.prototype.decrypt=function(f){if(f.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var e,t=n(f,!0),r=0;r<t.length;r+=this.segmentSize){e=this._aes.encrypt(this._shiftRegister);for(var i=0;i<this.segmentSize;i++)t[r+i]^=e[i];o(this._shiftRegister,this._shiftRegister,0,this.segmentSize),o(f,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return t};var T=function(f,e){if(!(this instanceof T))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else e=i(16);this._lastPrecipher=n(e,!0),this._lastPrecipherIndex=16,this._aes=new P(f)};T.prototype.encrypt=function(f){for(var e=n(f,!0),t=0;t<e.length;t++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),e[t]^=this._lastPrecipher[this._lastPrecipherIndex++];return e},T.prototype.decrypt=T.prototype.encrypt;var R=function(f){if(!(this instanceof R))throw Error("Counter must be instanitated with `new`");0===f||f||(f=1),"number"==typeof f?(this._counter=i(16),this.setValue(f)):this.setBytes(f)};R.prototype.setValue=function(f){if("number"!=typeof f||parseInt(f)!=f)throw new Error("invalid counter value (must be an integer)");for(var e=15;e>=0;--e)this._counter[e]=f%256,f>>=8},R.prototype.setBytes=function(f){if(16!=(f=n(f,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=f},R.prototype.increment=function(){for(var f=15;f>=0;f--){if(255!==this._counter[f]){this._counter[f]++;break}this._counter[f]=0}};var I=function(f,e){if(!(this instanceof I))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",e instanceof R||(e=new R(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new P(f)};I.prototype.encrypt=function(f){for(var e=n(f,!0),t=0;t<e.length;t++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),e[t]^=this._remainingCounter[this._remainingCounterIndex++];return e},I.prototype.decrypt=I.prototype.encrypt;var C={AES:P,Counter:R,ModeOfOperation:{ecb:x,cbc:O,cfb:N,ofb:T,ctr:I},utils:{hex:c,utf8:s},padding:{pkcs7:{pad:function(f){var e=16-(f=n(f,!0)).length%16,t=i(f.length+e);o(f,t);for(var r=f.length;r<t.length;r++)t[r]=e;return t},strip:function(f){if((f=n(f,!0)).length<16)throw new Error("PKCS#7 invalid length");var e=f[f.length-1];if(e>16)throw new Error("PKCS#7 padding byte out of range");for(var t=f.length-e,r=0;r<e;r++)if(f[t+r]!==e)throw new Error("PKCS#7 invalid padding byte");var a=i(t);return o(f,a,0,0,t),a}}},_arrayTest:{coerceArray:n,createArray:i,copyArray:o}};f.exports=C}()},2882:f=>{"use strict";for(var e="qpzry9x8gf2tvdw0s3jn54khce6mua7l",t={},r=0;r<e.length;r++){var n=e.charAt(r);if(void 0!==t[n])throw new TypeError(n+" is ambiguous");t[n]=r}function i(f){var e=f>>25;return(33554431&f)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function o(f){for(var e=1,t=0;t<f.length;++t){var r=f.charCodeAt(t);if(r<33||r>126)return"Invalid prefix ("+f+")";e=i(e)^r>>5}for(e=i(e),t=0;t<f.length;++t){var n=f.charCodeAt(t);e=i(e)^31&n}return e}function a(f,e){if(e=e||90,f.length<8)return f+" too short";if(f.length>e)return"Exceeds length limit";var r=f.toLowerCase(),n=f.toUpperCase();if(f!==r&&f!==n)return"Mixed-case string "+f;var a=(f=r).lastIndexOf("1");if(-1===a)return"No separator character for "+f;if(0===a)return"Missing prefix for "+f;var s=f.slice(0,a),c=f.slice(a+1);if(c.length<6)return"Data too short";var u=o(s);if("string"==typeof u)return u;for(var l=[],d=0;d<c.length;++d){var h=c.charAt(d),p=t[h];if(void 0===p)return"Unknown character "+h;u=i(u)^p,d+6>=c.length||l.push(p)}return 1!==u?"Invalid checksum for "+f:{prefix:s,words:l}}function s(f,e,t,r){for(var n=0,i=0,o=(1<<t)-1,a=[],s=0;s<f.length;++s)for(n=n<<e|f[s],i+=e;i>=t;)i-=t,a.push(n>>i&o);if(r)i>0&&a.push(n<<t-i&o);else{if(i>=e)return"Excess padding";if(n<<t-i&o)return"Non-zero padding"}return a}f.exports={decodeUnsafe:function(){var f=a.apply(null,arguments);if("object"==typeof f)return f},decode:function(f){var e=a.apply(null,arguments);if("object"==typeof e)return e;throw new Error(e)},encode:function(f,t,r){if(r=r||90,f.length+7+t.length>r)throw new TypeError("Exceeds length limit");var n=o(f=f.toLowerCase());if("string"==typeof n)throw new Error(n);for(var a=f+"1",s=0;s<t.length;++s){var c=t[s];if(c>>5!=0)throw new Error("Non 5-bit word");n=i(n)^c,a+=e.charAt(c)}for(s=0;s<6;++s)n=i(n);for(n^=1,s=0;s<6;++s){a+=e.charAt(n>>5*(5-s)&31)}return a},toWordsUnsafe:function(f){var e=s(f,8,5,!0);if(Array.isArray(e))return e},toWords:function(f){var e=s(f,8,5,!0);if(Array.isArray(e))return e;throw new Error(e)},fromWordsUnsafe:function(f){var e=s(f,5,8,!1);if(Array.isArray(e))return e},fromWords:function(f){var e=s(f,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}}},3550:function(f,e,t){!function(f,e){"use strict";function r(f,e){if(!f)throw new Error(e||"Assertion failed")}function n(f,e){f.super_=e;var t=function(){};t.prototype=e.prototype,f.prototype=new t,f.prototype.constructor=f}function i(f,e,t){if(i.isBN(f))return f;this.negative=0,this.words=null,this.length=0,this.red=null,null!==f&&("le"!==e&&"be"!==e||(t=e,e=10),this._init(f||0,e||10,t||"be"))}var o;"object"==typeof f?f.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(6601).Buffer}catch(f){}function a(f,e){var t=f.charCodeAt(e);return t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:t-48&15}function s(f,e,t){var r=a(f,t);return t-1>=e&&(r|=a(f,t-1)<<4),r}function c(f,e,t,r){for(var n=0,i=Math.min(f.length,t),o=e;o<i;o++){var a=f.charCodeAt(o)-48;n*=r,n+=a>=49?a-49+10:a>=17?a-17+10:a}return n}i.isBN=function(f){return f instanceof i||null!==f&&"object"==typeof f&&f.constructor.wordSize===i.wordSize&&Array.isArray(f.words)},i.max=function(f,e){return f.cmp(e)>0?f:e},i.min=function(f,e){return f.cmp(e)<0?f:e},i.prototype._init=function(f,e,t){if("number"==typeof f)return this._initNumber(f,e,t);if("object"==typeof f)return this._initArray(f,e,t);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(f=f.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<f.length&&(16===e?this._parseHex(f,n,t):(this._parseBase(f,e,n),"le"===t&&this._initArray(this.toArray(),e,t)))},i.prototype._initNumber=function(f,e,t){f<0&&(this.negative=1,f=-f),f<67108864?(this.words=[67108863&f],this.length=1):f<4503599627370496?(this.words=[67108863&f,f/67108864&67108863],this.length=2):(r(f<9007199254740992),this.words=[67108863&f,f/67108864&67108863,1],this.length=3),"le"===t&&this._initArray(this.toArray(),e,t)},i.prototype._initArray=function(f,e,t){if(r("number"==typeof f.length),f.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(f.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o,a=0;if("be"===t)for(n=f.length-1,i=0;n>=0;n-=3)o=f[n]|f[n-1]<<8|f[n-2]<<16,this.words[i]|=o<<a&67108863,this.words[i+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,i++);else if("le"===t)for(n=0,i=0;n<f.length;n+=3)o=f[n]|f[n+1]<<8|f[n+2]<<16,this.words[i]|=o<<a&67108863,this.words[i+1]=o>>>26-a&67108863,(a+=24)>=26&&(a-=26,i++);return this.strip()},i.prototype._parseHex=function(f,e,t){this.length=Math.ceil((f.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i=0,o=0;if("be"===t)for(r=f.length-1;r>=e;r-=2)n=s(f,e,r)<<i,this.words[o]|=67108863&n,i>=18?(i-=18,o+=1,this.words[o]|=n>>>26):i+=8;else for(r=(f.length-e)%2==0?e+1:e;r<f.length;r+=2)n=s(f,e,r)<<i,this.words[o]|=67108863&n,i>=18?(i-=18,o+=1,this.words[o]|=n>>>26):i+=8;this.strip()},i.prototype._parseBase=function(f,e,t){this.words=[0],this.length=1;for(var r=0,n=1;n<=67108863;n*=e)r++;r--,n=n/e|0;for(var i=f.length-t,o=i%r,a=Math.min(i,i-o)+t,s=0,u=t;u<a;u+=r)s=c(f,u,u+r,e),this.imuln(n),this.words[0]+s<67108864?this.words[0]+=s:this._iaddn(s);if(0!==o){var l=1;for(s=c(f,u,f.length,e),u=0;u<o;u++)l*=e;this.imuln(l),this.words[0]+s<67108864?this.words[0]+=s:this._iaddn(s)}this.strip()},i.prototype.copy=function(f){f.words=new Array(this.length);for(var e=0;e<this.length;e++)f.words[e]=this.words[e];f.length=this.length,f.negative=this.negative,f.red=this.red},i.prototype.clone=function(){var f=new i(null);return this.copy(f),f},i.prototype._expand=function(f){for(;this.length<f;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.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"],l=[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 h(f,e,t){t.negative=e.negative^f.negative;var r=f.length+e.length|0;t.length=r,r=r-1|0;var n=0|f.words[0],i=0|e.words[0],o=n*i,a=67108863&o,s=o/67108864|0;t.words[0]=a;for(var c=1;c<r;c++){for(var u=s>>>26,l=67108863&s,d=Math.min(c,e.length-1),h=Math.max(0,c-f.length+1);h<=d;h++){var p=c-h|0;u+=(o=(n=0|f.words[p])*(i=0|e.words[h])+l)/67108864|0,l=67108863&o}t.words[c]=0|l,s=0|u}return 0!==s?t.words[c]=0|s:t.length--,t.strip()}i.prototype.toString=function(f,e){var t;if(e=0|e||1,16===(f=f||10)||"hex"===f){t="";for(var n=0,i=0,o=0;o<this.length;o++){var a=this.words[o],s=(16777215&(a<<n|i)).toString(16);t=0!==(i=a>>>24-n&16777215)||o!==this.length-1?u[6-s.length]+s+t:s+t,(n+=2)>=26&&(n-=26,o--)}for(0!==i&&(t=i.toString(16)+t);t.length%e!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}if(f===(0|f)&&f>=2&&f<=36){var c=l[f],h=d[f];t="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modn(h).toString(f);t=(p=p.idivn(h)).isZero()?b+t:u[c-b.length]+b+t}for(this.isZero()&&(t="0"+t);t.length%e!=0;)t="0"+t;return 0!==this.negative&&(t="-"+t),t}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var f=this.words[0];return 2===this.length?f+=67108864*this.words[1]:3===this.length&&1===this.words[2]?f+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-f:f},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(f,e){return r(void 0!==o),this.toArrayLike(o,f,e)},i.prototype.toArray=function(f,e){return this.toArrayLike(Array,f,e)},i.prototype.toArrayLike=function(f,e,t){var n=this.byteLength(),i=t||Math.max(1,n);r(n<=i,"byte array longer than desired length"),r(i>0,"Requested array length <= 0"),this.strip();var o,a,s="le"===e,c=new f(i),u=this.clone();if(s){for(a=0;!u.isZero();a++)o=u.andln(255),u.iushrn(8),c[a]=o;for(;a<i;a++)c[a]=0}else{for(a=0;a<i-n;a++)c[a]=0;for(a=0;!u.isZero();a++)o=u.andln(255),u.iushrn(8),c[i-a-1]=o}return c},Math.clz32?i.prototype._countBits=function(f){return 32-Math.clz32(f)}:i.prototype._countBits=function(f){var e=f,t=0;return e>=4096&&(t+=13,e>>>=13),e>=64&&(t+=7,e>>>=7),e>=8&&(t+=4,e>>>=4),e>=2&&(t+=2,e>>>=2),t+e},i.prototype._zeroBits=function(f){if(0===f)return 26;var e=f,t=0;return 0==(8191&e)&&(t+=13,e>>>=13),0==(127&e)&&(t+=7,e>>>=7),0==(15&e)&&(t+=4,e>>>=4),0==(3&e)&&(t+=2,e>>>=2),0==(1&e)&&t++,t},i.prototype.bitLength=function(){var f=this.words[this.length-1],e=this._countBits(f);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,e=0;e<this.length;e++){var t=this._zeroBits(this.words[e]);if(f+=t,26!==t)break}return f},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(f){return 0!==this.negative?this.abs().inotn(f).iaddn(1):this.clone()},i.prototype.fromTwos=function(f){return this.testn(f-1)?this.notn(f).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(f){for(;this.length<f.length;)this.words[this.length++]=0;for(var e=0;e<f.length;e++)this.words[e]=this.words[e]|f.words[e];return this.strip()},i.prototype.ior=function(f){return r(0==(this.negative|f.negative)),this.iuor(f)},i.prototype.or=function(f){return this.length>f.length?this.clone().ior(f):f.clone().ior(this)},i.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},i.prototype.iuand=function(f){var e;e=this.length>f.length?f:this;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]&f.words[t];return this.length=e.length,this.strip()},i.prototype.iand=function(f){return r(0==(this.negative|f.negative)),this.iuand(f)},i.prototype.and=function(f){return this.length>f.length?this.clone().iand(f):f.clone().iand(this)},i.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},i.prototype.iuxor=function(f){var e,t;this.length>f.length?(e=this,t=f):(e=f,t=this);for(var r=0;r<t.length;r++)this.words[r]=e.words[r]^t.words[r];if(this!==e)for(;r<e.length;r++)this.words[r]=e.words[r];return this.length=e.length,this.strip()},i.prototype.ixor=function(f){return r(0==(this.negative|f.negative)),this.iuxor(f)},i.prototype.xor=function(f){return this.length>f.length?this.clone().ixor(f):f.clone().ixor(this)},i.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},i.prototype.inotn=function(f){r("number"==typeof f&&f>=0);var e=0|Math.ceil(f/26),t=f%26;this._expand(e),t>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return t>0&&(this.words[n]=~this.words[n]&67108863>>26-t),this.strip()},i.prototype.notn=function(f){return this.clone().inotn(f)},i.prototype.setn=function(f,e){r("number"==typeof f&&f>=0);var t=f/26|0,n=f%26;return this._expand(t+1),this.words[t]=e?this.words[t]|1<<n:this.words[t]&~(1<<n),this.strip()},i.prototype.iadd=function(f){var e,t,r;if(0!==this.negative&&0===f.negative)return this.negative=0,e=this.isub(f),this.negative^=1,this._normSign();if(0===this.negative&&0!==f.negative)return f.negative=0,e=this.isub(f),f.negative=1,e._normSign();this.length>f.length?(t=this,r=f):(t=f,r=this);for(var n=0,i=0;i<r.length;i++)e=(0|t.words[i])+(0|r.words[i])+n,this.words[i]=67108863&e,n=e>>>26;for(;0!==n&&i<t.length;i++)e=(0|t.words[i])+n,this.words[i]=67108863&e,n=e>>>26;if(this.length=t.length,0!==n)this.words[this.length]=n,this.length++;else if(t!==this)for(;i<t.length;i++)this.words[i]=t.words[i];return this},i.prototype.add=function(f){var e;return 0!==f.negative&&0===this.negative?(f.negative=0,e=this.sub(f),f.negative^=1,e):0===f.negative&&0!==this.negative?(this.negative=0,e=f.sub(this),this.negative=1,e):this.length>f.length?this.clone().iadd(f):f.clone().iadd(this)},i.prototype.isub=function(f){if(0!==f.negative){f.negative=0;var e=this.iadd(f);return f.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var t,r,n=this.cmp(f);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(t=this,r=f):(t=f,r=this);for(var i=0,o=0;o<r.length;o++)i=(e=(0|t.words[o])-(0|r.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<t.length;o++)i=(e=(0|t.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&o<t.length&&t!==this)for(;o<t.length;o++)this.words[o]=t.words[o];return this.length=Math.max(this.length,o),t!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(f){return this.clone().isub(f)};var p=function(f,e,t){var r,n,i,o=f.words,a=e.words,s=t.words,c=0,u=0|o[0],l=8191&u,d=u>>>13,h=0|o[1],p=8191&h,b=h>>>13,m=0|o[2],g=8191&m,y=m>>>13,v=0|o[3],w=8191&v,_=v>>>13,E=0|o[4],A=8191&E,S=E>>>13,k=0|o[5],M=8191&k,P=k>>>13,x=0|o[6],O=8191&x,N=x>>>13,T=0|o[7],R=8191&T,I=T>>>13,C=0|o[8],F=8191&C,B=C>>>13,D=0|o[9],L=8191&D,j=D>>>13,U=0|a[0],z=8191&U,G=U>>>13,q=0|a[1],$=8191&q,W=q>>>13,H=0|a[2],K=8191&H,V=H>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ff=X>>>13,ef=0|a[5],tf=8191&ef,rf=ef>>>13,nf=0|a[6],of=8191&nf,af=nf>>>13,sf=0|a[7],cf=8191&sf,uf=sf>>>13,lf=0|a[8],df=8191&lf,hf=lf>>>13,pf=0|a[9],bf=8191&pf,mf=pf>>>13;t.negative=f.negative^e.negative,t.length=19;var gf=(c+(r=Math.imul(l,z))|0)+((8191&(n=(n=Math.imul(l,G))+Math.imul(d,z)|0))<<13)|0;c=((i=Math.imul(d,G))+(n>>>13)|0)+(gf>>>26)|0,gf&=67108863,r=Math.imul(p,z),n=(n=Math.imul(p,G))+Math.imul(b,z)|0,i=Math.imul(b,G);var yf=(c+(r=r+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(d,$)|0))<<13)|0;c=((i=i+Math.imul(d,W)|0)+(n>>>13)|0)+(yf>>>26)|0,yf&=67108863,r=Math.imul(g,z),n=(n=Math.imul(g,G))+Math.imul(y,z)|0,i=Math.imul(y,G),r=r+Math.imul(p,$)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(b,$)|0,i=i+Math.imul(b,W)|0;var vf=(c+(r=r+Math.imul(l,K)|0)|0)+((8191&(n=(n=n+Math.imul(l,V)|0)+Math.imul(d,K)|0))<<13)|0;c=((i=i+Math.imul(d,V)|0)+(n>>>13)|0)+(vf>>>26)|0,vf&=67108863,r=Math.imul(w,z),n=(n=Math.imul(w,G))+Math.imul(_,z)|0,i=Math.imul(_,G),r=r+Math.imul(g,$)|0,n=(n=n+Math.imul(g,W)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,W)|0,r=r+Math.imul(p,K)|0,n=(n=n+Math.imul(p,V)|0)+Math.imul(b,K)|0,i=i+Math.imul(b,V)|0;var wf=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(n=(n=n+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((i=i+Math.imul(d,Z)|0)+(n>>>13)|0)+(wf>>>26)|0,wf&=67108863,r=Math.imul(A,z),n=(n=Math.imul(A,G))+Math.imul(S,z)|0,i=Math.imul(S,G),r=r+Math.imul(w,$)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,W)|0,r=r+Math.imul(g,K)|0,n=(n=n+Math.imul(g,V)|0)+Math.imul(y,K)|0,i=i+Math.imul(y,V)|0,r=r+Math.imul(p,J)|0,n=(n=n+Math.imul(p,Z)|0)+Math.imul(b,J)|0,i=i+Math.imul(b,Z)|0;var _f=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,ff)|0)+Math.imul(d,Q)|0))<<13)|0;c=((i=i+Math.imul(d,ff)|0)+(n>>>13)|0)+(_f>>>26)|0,_f&=67108863,r=Math.imul(M,z),n=(n=Math.imul(M,G))+Math.imul(P,z)|0,i=Math.imul(P,G),r=r+Math.imul(A,$)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,W)|0,r=r+Math.imul(w,K)|0,n=(n=n+Math.imul(w,V)|0)+Math.imul(_,K)|0,i=i+Math.imul(_,V)|0,r=r+Math.imul(g,J)|0,n=(n=n+Math.imul(g,Z)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,Z)|0,r=r+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,ff)|0)+Math.imul(b,Q)|0,i=i+Math.imul(b,ff)|0;var Ef=(c+(r=r+Math.imul(l,tf)|0)|0)+((8191&(n=(n=n+Math.imul(l,rf)|0)+Math.imul(d,tf)|0))<<13)|0;c=((i=i+Math.imul(d,rf)|0)+(n>>>13)|0)+(Ef>>>26)|0,Ef&=67108863,r=Math.imul(O,z),n=(n=Math.imul(O,G))+Math.imul(N,z)|0,i=Math.imul(N,G),r=r+Math.imul(M,$)|0,n=(n=n+Math.imul(M,W)|0)+Math.imul(P,$)|0,i=i+Math.imul(P,W)|0,r=r+Math.imul(A,K)|0,n=(n=n+Math.imul(A,V)|0)+Math.imul(S,K)|0,i=i+Math.imul(S,V)|0,r=r+Math.imul(w,J)|0,n=(n=n+Math.imul(w,Z)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,Z)|0,r=r+Math.imul(g,Q)|0,n=(n=n+Math.imul(g,ff)|0)+Math.imul(y,Q)|0,i=i+Math.imul(y,ff)|0,r=r+Math.imul(p,tf)|0,n=(n=n+Math.imul(p,rf)|0)+Math.imul(b,tf)|0,i=i+Math.imul(b,rf)|0;var Af=(c+(r=r+Math.imul(l,of)|0)|0)+((8191&(n=(n=n+Math.imul(l,af)|0)+Math.imul(d,of)|0))<<13)|0;c=((i=i+Math.imul(d,af)|0)+(n>>>13)|0)+(Af>>>26)|0,Af&=67108863,r=Math.imul(R,z),n=(n=Math.imul(R,G))+Math.imul(I,z)|0,i=Math.imul(I,G),r=r+Math.imul(O,$)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(N,$)|0,i=i+Math.imul(N,W)|0,r=r+Math.imul(M,K)|0,n=(n=n+Math.imul(M,V)|0)+Math.imul(P,K)|0,i=i+Math.imul(P,V)|0,r=r+Math.imul(A,J)|0,n=(n=n+Math.imul(A,Z)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,Z)|0,r=r+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,ff)|0)+Math.imul(_,Q)|0,i=i+Math.imul(_,ff)|0,r=r+Math.imul(g,tf)|0,n=(n=n+Math.imul(g,rf)|0)+Math.imul(y,tf)|0,i=i+Math.imul(y,rf)|0,r=r+Math.imul(p,of)|0,n=(n=n+Math.imul(p,af)|0)+Math.imul(b,of)|0,i=i+Math.imul(b,af)|0;var Sf=(c+(r=r+Math.imul(l,cf)|0)|0)+((8191&(n=(n=n+Math.imul(l,uf)|0)+Math.imul(d,cf)|0))<<13)|0;c=((i=i+Math.imul(d,uf)|0)+(n>>>13)|0)+(Sf>>>26)|0,Sf&=67108863,r=Math.imul(F,z),n=(n=Math.imul(F,G))+Math.imul(B,z)|0,i=Math.imul(B,G),r=r+Math.imul(R,$)|0,n=(n=n+Math.imul(R,W)|0)+Math.imul(I,$)|0,i=i+Math.imul(I,W)|0,r=r+Math.imul(O,K)|0,n=(n=n+Math.imul(O,V)|0)+Math.imul(N,K)|0,i=i+Math.imul(N,V)|0,r=r+Math.imul(M,J)|0,n=(n=n+Math.imul(M,Z)|0)+Math.imul(P,J)|0,i=i+Math.imul(P,Z)|0,r=r+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,ff)|0)+Math.imul(S,Q)|0,i=i+Math.imul(S,ff)|0,r=r+Math.imul(w,tf)|0,n=(n=n+Math.imul(w,rf)|0)+Math.imul(_,tf)|0,i=i+Math.imul(_,rf)|0,r=r+Math.imul(g,of)|0,n=(n=n+Math.imul(g,af)|0)+Math.imul(y,of)|0,i=i+Math.imul(y,af)|0,r=r+Math.imul(p,cf)|0,n=(n=n+Math.imul(p,uf)|0)+Math.imul(b,cf)|0,i=i+Math.imul(b,uf)|0;var kf=(c+(r=r+Math.imul(l,df)|0)|0)+((8191&(n=(n=n+Math.imul(l,hf)|0)+Math.imul(d,df)|0))<<13)|0;c=((i=i+Math.imul(d,hf)|0)+(n>>>13)|0)+(kf>>>26)|0,kf&=67108863,r=Math.imul(L,z),n=(n=Math.imul(L,G))+Math.imul(j,z)|0,i=Math.imul(j,G),r=r+Math.imul(F,$)|0,n=(n=n+Math.imul(F,W)|0)+Math.imul(B,$)|0,i=i+Math.imul(B,W)|0,r=r+Math.imul(R,K)|0,n=(n=n+Math.imul(R,V)|0)+Math.imul(I,K)|0,i=i+Math.imul(I,V)|0,r=r+Math.imul(O,J)|0,n=(n=n+Math.imul(O,Z)|0)+Math.imul(N,J)|0,i=i+Math.imul(N,Z)|0,r=r+Math.imul(M,Q)|0,n=(n=n+Math.imul(M,ff)|0)+Math.imul(P,Q)|0,i=i+Math.imul(P,ff)|0,r=r+Math.imul(A,tf)|0,n=(n=n+Math.imul(A,rf)|0)+Math.imul(S,tf)|0,i=i+Math.imul(S,rf)|0,r=r+Math.imul(w,of)|0,n=(n=n+Math.imul(w,af)|0)+Math.imul(_,of)|0,i=i+Math.imul(_,af)|0,r=r+Math.imul(g,cf)|0,n=(n=n+Math.imul(g,uf)|0)+Math.imul(y,cf)|0,i=i+Math.imul(y,uf)|0,r=r+Math.imul(p,df)|0,n=(n=n+Math.imul(p,hf)|0)+Math.imul(b,df)|0,i=i+Math.imul(b,hf)|0;var Mf=(c+(r=r+Math.imul(l,bf)|0)|0)+((8191&(n=(n=n+Math.imul(l,mf)|0)+Math.imul(d,bf)|0))<<13)|0;c=((i=i+Math.imul(d,mf)|0)+(n>>>13)|0)+(Mf>>>26)|0,Mf&=67108863,r=Math.imul(L,$),n=(n=Math.imul(L,W))+Math.imul(j,$)|0,i=Math.imul(j,W),r=r+Math.imul(F,K)|0,n=(n=n+Math.imul(F,V)|0)+Math.imul(B,K)|0,i=i+Math.imul(B,V)|0,r=r+Math.imul(R,J)|0,n=(n=n+Math.imul(R,Z)|0)+Math.imul(I,J)|0,i=i+Math.imul(I,Z)|0,r=r+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,ff)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ff)|0,r=r+Math.imul(M,tf)|0,n=(n=n+Math.imul(M,rf)|0)+Math.imul(P,tf)|0,i=i+Math.imul(P,rf)|0,r=r+Math.imul(A,of)|0,n=(n=n+Math.imul(A,af)|0)+Math.imul(S,of)|0,i=i+Math.imul(S,af)|0,r=r+Math.imul(w,cf)|0,n=(n=n+Math.imul(w,uf)|0)+Math.imul(_,cf)|0,i=i+Math.imul(_,uf)|0,r=r+Math.imul(g,df)|0,n=(n=n+Math.imul(g,hf)|0)+Math.imul(y,df)|0,i=i+Math.imul(y,hf)|0;var Pf=(c+(r=r+Math.imul(p,bf)|0)|0)+((8191&(n=(n=n+Math.imul(p,mf)|0)+Math.imul(b,bf)|0))<<13)|0;c=((i=i+Math.imul(b,mf)|0)+(n>>>13)|0)+(Pf>>>26)|0,Pf&=67108863,r=Math.imul(L,K),n=(n=Math.imul(L,V))+Math.imul(j,K)|0,i=Math.imul(j,V),r=r+Math.imul(F,J)|0,n=(n=n+Math.imul(F,Z)|0)+Math.imul(B,J)|0,i=i+Math.imul(B,Z)|0,r=r+Math.imul(R,Q)|0,n=(n=n+Math.imul(R,ff)|0)+Math.imul(I,Q)|0,i=i+Math.imul(I,ff)|0,r=r+Math.imul(O,tf)|0,n=(n=n+Math.imul(O,rf)|0)+Math.imul(N,tf)|0,i=i+Math.imul(N,rf)|0,r=r+Math.imul(M,of)|0,n=(n=n+Math.imul(M,af)|0)+Math.imul(P,of)|0,i=i+Math.imul(P,af)|0,r=r+Math.imul(A,cf)|0,n=(n=n+Math.imul(A,uf)|0)+Math.imul(S,cf)|0,i=i+Math.imul(S,uf)|0,r=r+Math.imul(w,df)|0,n=(n=n+Math.imul(w,hf)|0)+Math.imul(_,df)|0,i=i+Math.imul(_,hf)|0;var xf=(c+(r=r+Math.imul(g,bf)|0)|0)+((8191&(n=(n=n+Math.imul(g,mf)|0)+Math.imul(y,bf)|0))<<13)|0;c=((i=i+Math.imul(y,mf)|0)+(n>>>13)|0)+(xf>>>26)|0,xf&=67108863,r=Math.imul(L,J),n=(n=Math.imul(L,Z))+Math.imul(j,J)|0,i=Math.imul(j,Z),r=r+Math.imul(F,Q)|0,n=(n=n+Math.imul(F,ff)|0)+Math.imul(B,Q)|0,i=i+Math.imul(B,ff)|0,r=r+Math.imul(R,tf)|0,n=(n=n+Math.imul(R,rf)|0)+Math.imul(I,tf)|0,i=i+Math.imul(I,rf)|0,r=r+Math.imul(O,of)|0,n=(n=n+Math.imul(O,af)|0)+Math.imul(N,of)|0,i=i+Math.imul(N,af)|0,r=r+Math.imul(M,cf)|0,n=(n=n+Math.imul(M,uf)|0)+Math.imul(P,cf)|0,i=i+Math.imul(P,uf)|0,r=r+Math.imul(A,df)|0,n=(n=n+Math.imul(A,hf)|0)+Math.imul(S,df)|0,i=i+Math.imul(S,hf)|0;var Of=(c+(r=r+Math.imul(w,bf)|0)|0)+((8191&(n=(n=n+Math.imul(w,mf)|0)+Math.imul(_,bf)|0))<<13)|0;c=((i=i+Math.imul(_,mf)|0)+(n>>>13)|0)+(Of>>>26)|0,Of&=67108863,r=Math.imul(L,Q),n=(n=Math.imul(L,ff))+Math.imul(j,Q)|0,i=Math.imul(j,ff),r=r+Math.imul(F,tf)|0,n=(n=n+Math.imul(F,rf)|0)+Math.imul(B,tf)|0,i=i+Math.imul(B,rf)|0,r=r+Math.imul(R,of)|0,n=(n=n+Math.imul(R,af)|0)+Math.imul(I,of)|0,i=i+Math.imul(I,af)|0,r=r+Math.imul(O,cf)|0,n=(n=n+Math.imul(O,uf)|0)+Math.imul(N,cf)|0,i=i+Math.imul(N,uf)|0,r=r+Math.imul(M,df)|0,n=(n=n+Math.imul(M,hf)|0)+Math.imul(P,df)|0,i=i+Math.imul(P,hf)|0;var Nf=(c+(r=r+Math.imul(A,bf)|0)|0)+((8191&(n=(n=n+Math.imul(A,mf)|0)+Math.imul(S,bf)|0))<<13)|0;c=((i=i+Math.imul(S,mf)|0)+(n>>>13)|0)+(Nf>>>26)|0,Nf&=67108863,r=Math.imul(L,tf),n=(n=Math.imul(L,rf))+Math.imul(j,tf)|0,i=Math.imul(j,rf),r=r+Math.imul(F,of)|0,n=(n=n+Math.imul(F,af)|0)+Math.imul(B,of)|0,i=i+Math.imul(B,af)|0,r=r+Math.imul(R,cf)|0,n=(n=n+Math.imul(R,uf)|0)+Math.imul(I,cf)|0,i=i+Math.imul(I,uf)|0,r=r+Math.imul(O,df)|0,n=(n=n+Math.imul(O,hf)|0)+Math.imul(N,df)|0,i=i+Math.imul(N,hf)|0;var Tf=(c+(r=r+Math.imul(M,bf)|0)|0)+((8191&(n=(n=n+Math.imul(M,mf)|0)+Math.imul(P,bf)|0))<<13)|0;c=((i=i+Math.imul(P,mf)|0)+(n>>>13)|0)+(Tf>>>26)|0,Tf&=67108863,r=Math.imul(L,of),n=(n=Math.imul(L,af))+Math.imul(j,of)|0,i=Math.imul(j,af),r=r+Math.imul(F,cf)|0,n=(n=n+Math.imul(F,uf)|0)+Math.imul(B,cf)|0,i=i+Math.imul(B,uf)|0,r=r+Math.imul(R,df)|0,n=(n=n+Math.imul(R,hf)|0)+Math.imul(I,df)|0,i=i+Math.imul(I,hf)|0;var Rf=(c+(r=r+Math.imul(O,bf)|0)|0)+((8191&(n=(n=n+Math.imul(O,mf)|0)+Math.imul(N,bf)|0))<<13)|0;c=((i=i+Math.imul(N,mf)|0)+(n>>>13)|0)+(Rf>>>26)|0,Rf&=67108863,r=Math.imul(L,cf),n=(n=Math.imul(L,uf))+Math.imul(j,cf)|0,i=Math.imul(j,uf),r=r+Math.imul(F,df)|0,n=(n=n+Math.imul(F,hf)|0)+Math.imul(B,df)|0,i=i+Math.imul(B,hf)|0;var If=(c+(r=r+Math.imul(R,bf)|0)|0)+((8191&(n=(n=n+Math.imul(R,mf)|0)+Math.imul(I,bf)|0))<<13)|0;c=((i=i+Math.imul(I,mf)|0)+(n>>>13)|0)+(If>>>26)|0,If&=67108863,r=Math.imul(L,df),n=(n=Math.imul(L,hf))+Math.imul(j,df)|0,i=Math.imul(j,hf);var Cf=(c+(r=r+Math.imul(F,bf)|0)|0)+((8191&(n=(n=n+Math.imul(F,mf)|0)+Math.imul(B,bf)|0))<<13)|0;c=((i=i+Math.imul(B,mf)|0)+(n>>>13)|0)+(Cf>>>26)|0,Cf&=67108863;var Ff=(c+(r=Math.imul(L,bf))|0)+((8191&(n=(n=Math.imul(L,mf))+Math.imul(j,bf)|0))<<13)|0;return c=((i=Math.imul(j,mf))+(n>>>13)|0)+(Ff>>>26)|0,Ff&=67108863,s[0]=gf,s[1]=yf,s[2]=vf,s[3]=wf,s[4]=_f,s[5]=Ef,s[6]=Af,s[7]=Sf,s[8]=kf,s[9]=Mf,s[10]=Pf,s[11]=xf,s[12]=Of,s[13]=Nf,s[14]=Tf,s[15]=Rf,s[16]=If,s[17]=Cf,s[18]=Ff,0!==c&&(s[19]=c,t.length++),t};function b(f,e,t){return(new m).mulp(f,e,t)}function m(f,e){this.x=f,this.y=e}Math.imul||(p=h),i.prototype.mulTo=function(f,e){var t,r=this.length+f.length;return t=10===this.length&&10===f.length?p(this,f,e):r<63?h(this,f,e):r<1024?function(f,e,t){t.negative=e.negative^f.negative,t.length=f.length+e.length;for(var r=0,n=0,i=0;i<t.length-1;i++){var o=n;n=0;for(var a=67108863&r,s=Math.min(i,e.length-1),c=Math.max(0,i-f.length+1);c<=s;c++){var u=i-c,l=(0|f.words[u])*(0|e.words[c]),d=67108863&l;a=67108863&(d=d+a|0),n+=(o=(o=o+(l/67108864|0)|0)+(d>>>26)|0)>>>26,o&=67108863}t.words[i]=a,r=o,o=n}return 0!==r?t.words[i]=r:t.length--,t.strip()}(this,f,e):b(this,f,e),t},m.prototype.makeRBT=function(f){for(var e=new Array(f),t=i.prototype._countBits(f)-1,r=0;r<f;r++)e[r]=this.revBin(r,t,f);return e},m.prototype.revBin=function(f,e,t){if(0===f||f===t-1)return f;for(var r=0,n=0;n<e;n++)r|=(1&f)<<e-n-1,f>>=1;return r},m.prototype.permute=function(f,e,t,r,n,i){for(var o=0;o<i;o++)r[o]=e[f[o]],n[o]=t[f[o]]},m.prototype.transform=function(f,e,t,r,n,i){this.permute(i,f,e,t,r,n);for(var o=1;o<n;o<<=1)for(var a=o<<1,s=Math.cos(2*Math.PI/a),c=Math.sin(2*Math.PI/a),u=0;u<n;u+=a)for(var l=s,d=c,h=0;h<o;h++){var p=t[u+h],b=r[u+h],m=t[u+h+o],g=r[u+h+o],y=l*m-d*g;g=l*g+d*m,m=y,t[u+h]=p+m,r[u+h]=b+g,t[u+h+o]=p-m,r[u+h+o]=b-g,h!==a&&(y=s*l-c*d,d=s*d+c*l,l=y)}},m.prototype.guessLen13b=function(f,e){var t=1|Math.max(e,f),r=1&t,n=0;for(t=t/2|0;t;t>>>=1)n++;return 1<<n+1+r},m.prototype.conjugate=function(f,e,t){if(!(t<=1))for(var r=0;r<t/2;r++){var n=f[r];f[r]=f[t-r-1],f[t-r-1]=n,n=e[r],e[r]=-e[t-r-1],e[t-r-1]=-n}},m.prototype.normalize13b=function(f,e){for(var t=0,r=0;r<e/2;r++){var n=8192*Math.round(f[2*r+1]/e)+Math.round(f[2*r]/e)+t;f[r]=67108863&n,t=n<67108864?0:n/67108864|0}return f},m.prototype.convert13b=function(f,e,t,n){for(var i=0,o=0;o<e;o++)i+=0|f[o],t[2*o]=8191&i,i>>>=13,t[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<n;++o)t[o]=0;r(0===i),r(0==(-8192&i))},m.prototype.stub=function(f){for(var e=new Array(f),t=0;t<f;t++)e[t]=0;return e},m.prototype.mulp=function(f,e,t){var r=2*this.guessLen13b(f.length,e.length),n=this.makeRBT(r),i=this.stub(r),o=new Array(r),a=new Array(r),s=new Array(r),c=new Array(r),u=new Array(r),l=new Array(r),d=t.words;d.length=r,this.convert13b(f.words,f.length,o,r),this.convert13b(e.words,e.length,c,r),this.transform(o,i,a,s,r,n),this.transform(c,i,u,l,r,n);for(var h=0;h<r;h++){var p=a[h]*u[h]-s[h]*l[h];s[h]=a[h]*l[h]+s[h]*u[h],a[h]=p}return this.conjugate(a,s,r),this.transform(a,s,d,i,r,n),this.conjugate(d,i,r),this.normalize13b(d,r),t.negative=f.negative^e.negative,t.length=f.length+e.length,t.strip()},i.prototype.mul=function(f){var e=new i(null);return e.words=new Array(this.length+f.length),this.mulTo(f,e)},i.prototype.mulf=function(f){var e=new i(null);return e.words=new Array(this.length+f.length),b(this,f,e)},i.prototype.imul=function(f){return this.clone().mulTo(f,this)},i.prototype.imuln=function(f){r("number"==typeof f),r(f<67108864);for(var e=0,t=0;t<this.length;t++){var n=(0|this.words[t])*f,i=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=i>>>26,this.words[t]=67108863&i}return 0!==e&&(this.words[t]=e,this.length++),this},i.prototype.muln=function(f){return this.clone().imuln(f)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(f){var e=function(f){for(var e=new Array(f.bitLength()),t=0;t<e.length;t++){var r=t/26|0,n=t%26;e[t]=(f.words[r]&1<<n)>>>n}return e}(f);if(0===e.length)return new i(1);for(var t=this,r=0;r<e.length&&0===e[r];r++,t=t.sqr());if(++r<e.length)for(var n=t.sqr();r<e.length;r++,n=n.sqr())0!==e[r]&&(t=t.mul(n));return t},i.prototype.iushln=function(f){r("number"==typeof f&&f>=0);var e,t=f%26,n=(f-t)/26,i=67108863>>>26-t<<26-t;if(0!==t){var o=0;for(e=0;e<this.length;e++){var a=this.words[e]&i,s=(0|this.words[e])-a<<t;this.words[e]=s|o,o=a>>>26-t}o&&(this.words[e]=o,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()},i.prototype.ishln=function(f){return r(0===this.negative),this.iushln(f)},i.prototype.iushrn=function(f,e,t){var n;r("number"==typeof f&&f>=0),n=e?(e-e%26)/26:0;var i=f%26,o=Math.min((f-i)/26,this.length),a=67108863^67108863>>>i<<i,s=t;if(n-=o,n=Math.max(0,n),s){for(var c=0;c<o;c++)s.words[c]=this.words[c];s.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=n);c--){var l=0|this.words[c];this.words[c]=u<<26-i|l>>>i,u=l&a}return s&&0!==u&&(s.words[s.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(f,e,t){return r(0===this.negative),this.iushrn(f,e,t)},i.prototype.shln=function(f){return this.clone().ishln(f)},i.prototype.ushln=function(f){return this.clone().iushln(f)},i.prototype.shrn=function(f){return this.clone().ishrn(f)},i.prototype.ushrn=function(f){return this.clone().iushrn(f)},i.prototype.testn=function(f){r("number"==typeof f&&f>=0);var e=f%26,t=(f-e)/26,n=1<<e;return!(this.length<=t)&&!!(this.words[t]&n)},i.prototype.imaskn=function(f){r("number"==typeof f&&f>=0);var e=f%26,t=(f-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=t)return this;if(0!==e&&t++,this.length=Math.min(t,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},i.prototype.maskn=function(f){return this.clone().imaskn(f)},i.prototype.iaddn=function(f){return r("number"==typeof f),r(f<67108864),f<0?this.isubn(-f):0!==this.negative?1===this.length&&(0|this.words[0])<f?(this.words[0]=f-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(f),this.negative=1,this):this._iaddn(f)},i.prototype._iaddn=function(f){this.words[0]+=f;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},i.prototype.isubn=function(f){if(r("number"==typeof f),r(f<67108864),f<0)return this.iaddn(-f);if(0!==this.negative)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,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()},i.prototype.addn=function(f){return this.clone().iaddn(f)},i.prototype.subn=function(f){return this.clone().isubn(f)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(f,e,t){var n,i,o=f.length+t;this._expand(o);var a=0;for(n=0;n<f.length;n++){i=(0|this.words[n+t])+a;var s=(0|f.words[n])*e;a=((i-=67108863&s)>>26)-(s/67108864|0),this.words[n+t]=67108863&i}for(;n<this.length-t;n++)a=(i=(0|this.words[n+t])+a)>>26,this.words[n+t]=67108863&i;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(i=-(0|this.words[n])+a)>>26,this.words[n]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(f,e){var t=(this.length,f.length),r=this.clone(),n=f,o=0|n.words[n.length-1];0!==(t=26-this._countBits(o))&&(n=n.ushln(t),r.iushln(t),o=0|n.words[n.length-1]);var a,s=r.length-n.length;if("mod"!==e){(a=new i(null)).length=s+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var u=r.clone()._ishlnsubmul(n,1,s);0===u.negative&&(r=u,a&&(a.words[s]=1));for(var l=s-1;l>=0;l--){var d=67108864*(0|r.words[n.length+l])+(0|r.words[n.length+l-1]);for(d=Math.min(d/o|0,67108863),r._ishlnsubmul(n,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(n,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),r.strip(),"div"!==e&&0!==t&&r.iushrn(t),{div:a||null,mod:r}},i.prototype.divmod=function(f,e,t){return r(!f.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===f.negative?(a=this.neg().divmod(f,e),"mod"!==e&&(n=a.div.neg()),"div"!==e&&(o=a.mod.neg(),t&&0!==o.negative&&o.iadd(f)),{div:n,mod:o}):0===this.negative&&0!==f.negative?(a=this.divmod(f.neg(),e),"mod"!==e&&(n=a.div.neg()),{div:n,mod:a.mod}):0!=(this.negative&f.negative)?(a=this.neg().divmod(f.neg(),e),"div"!==e&&(o=a.mod.neg(),t&&0!==o.negative&&o.isub(f)),{div:a.div,mod:o}):f.length>this.length||this.cmp(f)<0?{div:new i(0),mod:this}:1===f.length?"div"===e?{div:this.divn(f.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new i(this.modn(f.words[0]))}:this._wordDiv(f,e);var n,o,a},i.prototype.div=function(f){return this.divmod(f,"div",!1).div},i.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},i.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},i.prototype.divRound=function(f){var e=this.divmod(f);if(e.mod.isZero())return e.div;var t=0!==e.div.negative?e.mod.isub(f):e.mod,r=f.ushrn(1),n=f.andln(1),i=t.cmp(r);return i<0||1===n&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(f){r(f<=67108863);for(var e=(1<<26)%f,t=0,n=this.length-1;n>=0;n--)t=(e*t+(0|this.words[n]))%f;return t},i.prototype.idivn=function(f){r(f<=67108863);for(var e=0,t=this.length-1;t>=0;t--){var n=(0|this.words[t])+67108864*e;this.words[t]=n/f|0,e=n%f}return this.strip()},i.prototype.divn=function(f){return this.clone().idivn(f)},i.prototype.egcd=function(f){r(0===f.negative),r(!f.isZero());var e=this,t=f.clone();e=0!==e.negative?e.umod(f):e.clone();for(var n=new i(1),o=new i(0),a=new i(0),s=new i(1),c=0;e.isEven()&&t.isEven();)e.iushrn(1),t.iushrn(1),++c;for(var u=t.clone(),l=e.clone();!e.isZero();){for(var d=0,h=1;0==(e.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(u),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,b=1;0==(t.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(t.iushrn(p);p-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(u),s.isub(l)),a.iushrn(1),s.iushrn(1);e.cmp(t)>=0?(e.isub(t),n.isub(a),o.isub(s)):(t.isub(e),a.isub(n),s.isub(o))}return{a,b:s,gcd:t.iushln(c)}},i.prototype._invmp=function(f){r(0===f.negative),r(!f.isZero());var e=this,t=f.clone();e=0!==e.negative?e.umod(f):e.clone();for(var n,o=new i(1),a=new i(0),s=t.clone();e.cmpn(1)>0&&t.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);for(var l=0,d=1;0==(t.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);e.cmp(t)>=0?(e.isub(t),o.isub(a)):(t.isub(e),a.isub(o))}return(n=0===e.cmpn(1)?o:a).cmpn(0)<0&&n.iadd(f),n},i.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var e=this.clone(),t=f.clone();e.negative=0,t.negative=0;for(var r=0;e.isEven()&&t.isEven();r++)e.iushrn(1),t.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;t.isEven();)t.iushrn(1);var n=e.cmp(t);if(n<0){var i=e;e=t,t=i}else if(0===n||0===t.cmpn(1))break;e.isub(t)}return t.iushln(r)},i.prototype.invm=function(f){return this.egcd(f).a.umod(f)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(f){return this.words[0]&f},i.prototype.bincn=function(f){r("number"==typeof f);var e=f%26,t=(f-e)/26,n=1<<e;if(this.length<=t)return this._expand(t+1),this.words[t]|=n,this;for(var i=n,o=t;0!==i&&o<this.length;o++){var a=0|this.words[o];i=(a+=i)>>>26,a&=67108863,this.words[o]=a}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(f){var e,t=f<0;if(0!==this.negative&&!t)return-1;if(0===this.negative&&t)return 1;if(this.strip(),this.length>1)e=1;else{t&&(f=-f),r(f<=67108863,"Number is too big");var n=0|this.words[0];e=n===f?0:n<f?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(f){if(0!==this.negative&&0===f.negative)return-1;if(0===this.negative&&0!==f.negative)return 1;var e=this.ucmp(f);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(f){if(this.length>f.length)return 1;if(this.length<f.length)return-1;for(var e=0,t=this.length-1;t>=0;t--){var r=0|this.words[t],n=0|f.words[t];if(r!==n){r<n?e=-1:r>n&&(e=1);break}}return e},i.prototype.gtn=function(f){return 1===this.cmpn(f)},i.prototype.gt=function(f){return 1===this.cmp(f)},i.prototype.gten=function(f){return this.cmpn(f)>=0},i.prototype.gte=function(f){return this.cmp(f)>=0},i.prototype.ltn=function(f){return-1===this.cmpn(f)},i.prototype.lt=function(f){return-1===this.cmp(f)},i.prototype.lten=function(f){return this.cmpn(f)<=0},i.prototype.lte=function(f){return this.cmp(f)<=0},i.prototype.eqn=function(f){return 0===this.cmpn(f)},i.prototype.eq=function(f){return 0===this.cmp(f)},i.red=function(f){return new A(f)},i.prototype.toRed=function(f){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),f.convertTo(this)._forceRed(f)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(f){return this.red=f,this},i.prototype.forceRed=function(f){return r(!this.red,"Already a number in reduction context"),this._forceRed(f)},i.prototype.redAdd=function(f){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},i.prototype.redIAdd=function(f){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},i.prototype.redSub=function(f){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},i.prototype.redISub=function(f){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},i.prototype.redShl=function(f){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},i.prototype.redMul=function(f){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},i.prototype.redIMul=function(f){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(f){return r(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var g={k256:null,p224:null,p192:null,p25519:null};function y(f,e){this.name=f,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(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 w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(f){if("string"==typeof f){var e=i._prime(f);this.m=e.p,this.prime=e}else r(f.gtn(1),"modulus must be greater than 1"),this.m=f,this.prime=null}function S(f){A.call(this,f),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var f=new i(null);return f.words=new Array(Math.ceil(this.n/13)),f},y.prototype.ireduce=function(f){var e,t=f;do{this.split(t,this.tmp),e=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(e>this.n);var r=e<this.n?-1:t.ucmp(this.p);return 0===r?(t.words[0]=0,t.length=1):r>0?t.isub(this.p):void 0!==t.strip?t.strip():t._strip(),t},y.prototype.split=function(f,e){f.iushrn(this.n,0,e)},y.prototype.imulK=function(f){return f.imul(this.k)},n(v,y),v.prototype.split=function(f,e){for(var t=4194303,r=Math.min(f.length,9),n=0;n<r;n++)e.words[n]=f.words[n];if(e.length=r,f.length<=9)return f.words[0]=0,void(f.length=1);var i=f.words[9];for(e.words[e.length++]=i&t,n=10;n<f.length;n++){var o=0|f.words[n];f.words[n-10]=(o&t)<<4|i>>>22,i=o}i>>>=22,f.words[n-10]=i,0===i&&f.length>10?f.length-=10:f.length-=9},v.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var e=0,t=0;t<f.length;t++){var r=0|f.words[t];e+=977*r,f.words[t]=67108863&e,e=64*r+(e/67108864|0)}return 0===f.words[f.length-1]&&(f.length--,0===f.words[f.length-1]&&f.length--),f},n(w,y),n(_,y),n(E,y),E.prototype.imulK=function(f){for(var e=0,t=0;t<f.length;t++){var r=19*(0|f.words[t])+e,n=67108863&r;r>>>=26,f.words[t]=n,e=r}return 0!==e&&(f.words[f.length++]=e),f},i._prime=function(f){if(g[f])return g[f];var e;if("k256"===f)e=new v;else if("p224"===f)e=new w;else if("p192"===f)e=new _;else{if("p25519"!==f)throw new Error("Unknown prime "+f);e=new E}return g[f]=e,e},A.prototype._verify1=function(f){r(0===f.negative,"red works only with positives"),r(f.red,"red works only with red numbers")},A.prototype._verify2=function(f,e){r(0==(f.negative|e.negative),"red works only with positives"),r(f.red&&f.red===e.red,"red works only with red numbers")},A.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):f.umod(this.m)._forceRed(this)},A.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},A.prototype.add=function(f,e){this._verify2(f,e);var t=f.add(e);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},A.prototype.iadd=function(f,e){this._verify2(f,e);var t=f.iadd(e);return t.cmp(this.m)>=0&&t.isub(this.m),t},A.prototype.sub=function(f,e){this._verify2(f,e);var t=f.sub(e);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},A.prototype.isub=function(f,e){this._verify2(f,e);var t=f.isub(e);return t.cmpn(0)<0&&t.iadd(this.m),t},A.prototype.shl=function(f,e){return this._verify1(f),this.imod(f.ushln(e))},A.prototype.imul=function(f,e){return this._verify2(f,e),this.imod(f.imul(e))},A.prototype.mul=function(f,e){return this._verify2(f,e),this.imod(f.mul(e))},A.prototype.isqr=function(f){return this.imul(f,f.clone())},A.prototype.sqr=function(f){return this.mul(f,f)},A.prototype.sqrt=function(f){if(f.isZero())return f.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var t=this.m.add(new i(1)).iushrn(2);return this.pow(f,t)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);r(!n.isZero());var a=new i(1).toRed(this),s=a.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(s);)u.redIAdd(s);for(var l=this.pow(u,n),d=this.pow(f,n.addn(1).iushrn(1)),h=this.pow(f,n),p=o;0!==h.cmp(a);){for(var b=h,m=0;0!==b.cmp(a);m++)b=b.redSqr();r(m<p);var g=this.pow(l,new i(1).iushln(p-m-1));d=d.redMul(g),l=g.redSqr(),h=h.redMul(l),p=m}return d},A.prototype.invm=function(f){var e=f._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(f,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return f.clone();var t=new Array(16);t[0]=new i(1).toRed(this),t[1]=f;for(var r=2;r<t.length;r++)t[r]=this.mul(t[r-1],f);var n=t[0],o=0,a=0,s=e.bitLength()%26;for(0===s&&(s=26),r=e.length-1;r>=0;r--){for(var c=e.words[r],u=s-1;u>=0;u--){var l=c>>u&1;n!==t[0]&&(n=this.sqr(n)),0!==l||0!==o?(o<<=1,o|=l,(4===++a||0===r&&0===u)&&(n=this.mul(n,t[o]),a=0,o=0)):a=0}s=26}return n},A.prototype.convertTo=function(f){var e=f.umod(this.m);return e===f?e.clone():e},A.prototype.convertFrom=function(f){var e=f.clone();return e.red=null,e},i.mont=function(f){return new S(f)},n(S,A),S.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},S.prototype.convertFrom=function(f){var e=this.imod(f.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(f,e){if(f.isZero()||e.isZero())return f.words[0]=0,f.length=1,f;var t=f.imul(e),r=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=t.isub(r).iushrn(this.shift),i=n;return n.cmp(this.m)>=0?i=n.isub(this.m):n.cmpn(0)<0&&(i=n.iadd(this.m)),i._forceRed(this)},S.prototype.mul=function(f,e){if(f.isZero()||e.isZero())return new i(0)._forceRed(this);var t=f.mul(e),r=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=t.isub(r).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.invm=function(f){return this.imod(f._invmp(this.m).mul(this.r2))._forceRed(this)}}(f=t.nmd(f),this)},1206:function(f){f.exports=function(f){var e={};function t(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return f[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=f,t.c=e,t.d=function(f,e,r){t.o(f,e)||Object.defineProperty(f,e,{enumerable:!0,get:r})},t.r=function(f){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(f,"__esModule",{value:!0})},t.t=function(f,e){if(1&e&&(f=t(f)),8&e)return f;if(4&e&&"object"==typeof f&&f&&f.__esModule)return f;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:f}),2&e&&"string"!=typeof f)for(var n in f)t.d(r,n,function(e){return f[e]}.bind(null,n));return r},t.n=function(f){var e=f&&f.__esModule?function(){return f.default}:function(){return f};return t.d(e,"a",e),e},t.o=function(f,e){return Object.prototype.hasOwnProperty.call(f,e)},t.p="",t(t.s=90)}({17:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r=t(18),n=function(){function f(){}return f.getFirstMatch=function(f,e){var t=e.match(f);return t&&t.length>0&&t[1]||""},f.getSecondMatch=function(f,e){var t=e.match(f);return t&&t.length>1&&t[2]||""},f.matchAndReturnConst=function(f,e,t){if(f.test(e))return t},f.getWindowsVersionName=function(f){switch(f){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},f.getMacOSVersionName=function(f){var e=f.split(".").splice(0,2).map((function(f){return parseInt(f,10)||0}));if(e.push(0),10===e[0])switch(e[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},f.getAndroidVersionName=function(f){var e=f.split(".").splice(0,2).map((function(f){return parseInt(f,10)||0}));if(e.push(0),!(1===e[0]&&e[1]<5))return 1===e[0]&&e[1]<6?"Cupcake":1===e[0]&&e[1]>=6?"Donut":2===e[0]&&e[1]<2?"Eclair":2===e[0]&&2===e[1]?"Froyo":2===e[0]&&e[1]>2?"Gingerbread":3===e[0]?"Honeycomb":4===e[0]&&e[1]<1?"Ice Cream Sandwich":4===e[0]&&e[1]<4?"Jelly Bean":4===e[0]&&e[1]>=4?"KitKat":5===e[0]?"Lollipop":6===e[0]?"Marshmallow":7===e[0]?"Nougat":8===e[0]?"Oreo":9===e[0]?"Pie":void 0},f.getVersionPrecision=function(f){return f.split(".").length},f.compareVersions=function(e,t,r){void 0===r&&(r=!1);var n=f.getVersionPrecision(e),i=f.getVersionPrecision(t),o=Math.max(n,i),a=0,s=f.map([e,t],(function(e){var t=o-f.getVersionPrecision(e),r=e+new Array(t+1).join(".0");return f.map(r.split("."),(function(f){return new Array(20-f.length).join("0")+f})).reverse()}));for(r&&(a=o-Math.min(n,i)),o-=1;o>=a;){if(s[0][o]>s[1][o])return 1;if(s[0][o]===s[1][o]){if(o===a)return 0;o-=1}else if(s[0][o]<s[1][o])return-1}},f.map=function(f,e){var t,r=[];if(Array.prototype.map)return Array.prototype.map.call(f,e);for(t=0;t<f.length;t+=1)r.push(e(f[t]));return r},f.find=function(f,e){var t,r;if(Array.prototype.find)return Array.prototype.find.call(f,e);for(t=0,r=f.length;t<r;t+=1){var n=f[t];if(e(n,t))return n}},f.assign=function(f){for(var e,t,r=f,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];if(Object.assign)return Object.assign.apply(Object,[f].concat(i));var a=function(){var f=i[e];"object"==typeof f&&null!==f&&Object.keys(f).forEach((function(e){r[e]=f[e]}))};for(e=0,t=i.length;e<t;e+=1)a();return f},f.getBrowserAlias=function(f){return r.BROWSER_ALIASES_MAP[f]},f.getBrowserTypeByAlias=function(f){return r.BROWSER_MAP[f]||""},f}();e.default=n,f.exports=e.default},18:function(f,e,t){"use strict";e.__esModule=!0,e.ENGINE_MAP=e.OS_MAP=e.PLATFORMS_MAP=e.BROWSER_MAP=e.BROWSER_ALIASES_MAP=void 0,e.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},e.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},e.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},e.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},e.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r,n=(r=t(91))&&r.__esModule?r:{default:r},i=t(18);function o(f,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(f,r.key,r)}}var a=function(){function f(){}var e,t,r;return f.getParser=function(f,e){if(void 0===e&&(e=!1),"string"!=typeof f)throw new Error("UserAgent should be a string");return new n.default(f,e)},f.parse=function(f){return new n.default(f).getResult()},e=f,r=[{key:"BROWSER_MAP",get:function(){return i.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return i.ENGINE_MAP}},{key:"OS_MAP",get:function(){return i.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return i.PLATFORMS_MAP}}],(t=null)&&o(e.prototype,t),r&&o(e,r),f}();e.default=a,f.exports=e.default},91:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r=s(t(92)),n=s(t(93)),i=s(t(94)),o=s(t(95)),a=s(t(17));function s(f){return f&&f.__esModule?f:{default:f}}var c=function(){function f(f,e){if(void 0===e&&(e=!1),null==f||""===f)throw new Error("UserAgent parameter can't be empty");this._ua=f,this.parsedResult={},!0!==e&&this.parse()}var e=f.prototype;return e.getUA=function(){return this._ua},e.test=function(f){return f.test(this._ua)},e.parseBrowser=function(){var f=this;this.parsedResult.browser={};var e=a.default.find(r.default,(function(e){if("function"==typeof e.test)return e.test(f);if(e.test instanceof Array)return e.test.some((function(e){return f.test(e)}));throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.browser=e.describe(this.getUA())),this.parsedResult.browser},e.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},e.getBrowserName=function(f){return f?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},e.getBrowserVersion=function(){return this.getBrowser().version},e.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},e.parseOS=function(){var f=this;this.parsedResult.os={};var e=a.default.find(n.default,(function(e){if("function"==typeof e.test)return e.test(f);if(e.test instanceof Array)return e.test.some((function(e){return f.test(e)}));throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.os=e.describe(this.getUA())),this.parsedResult.os},e.getOSName=function(f){var e=this.getOS().name;return f?String(e).toLowerCase()||"":e||""},e.getOSVersion=function(){return this.getOS().version},e.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},e.getPlatformType=function(f){void 0===f&&(f=!1);var e=this.getPlatform().type;return f?String(e).toLowerCase()||"":e||""},e.parsePlatform=function(){var f=this;this.parsedResult.platform={};var e=a.default.find(i.default,(function(e){if("function"==typeof e.test)return e.test(f);if(e.test instanceof Array)return e.test.some((function(e){return f.test(e)}));throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.platform=e.describe(this.getUA())),this.parsedResult.platform},e.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},e.getEngineName=function(f){return f?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},e.parseEngine=function(){var f=this;this.parsedResult.engine={};var e=a.default.find(o.default,(function(e){if("function"==typeof e.test)return e.test(f);if(e.test instanceof Array)return e.test.some((function(e){return f.test(e)}));throw new Error("Browser's test function is not valid")}));return e&&(this.parsedResult.engine=e.describe(this.getUA())),this.parsedResult.engine},e.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},e.getResult=function(){return a.default.assign({},this.parsedResult)},e.satisfies=function(f){var e=this,t={},r=0,n={},i=0;if(Object.keys(f).forEach((function(e){var o=f[e];"string"==typeof o?(n[e]=o,i+=1):"object"==typeof o&&(t[e]=o,r+=1)})),r>0){var o=Object.keys(t),s=a.default.find(o,(function(f){return e.isOS(f)}));if(s){var c=this.satisfies(t[s]);if(void 0!==c)return c}var u=a.default.find(o,(function(f){return e.isPlatform(f)}));if(u){var l=this.satisfies(t[u]);if(void 0!==l)return l}}if(i>0){var d=Object.keys(n),h=a.default.find(d,(function(f){return e.isBrowser(f,!0)}));if(void 0!==h)return this.compareVersion(n[h])}},e.isBrowser=function(f,e){void 0===e&&(e=!1);var t=this.getBrowserName().toLowerCase(),r=f.toLowerCase(),n=a.default.getBrowserTypeByAlias(r);return e&&n&&(r=n.toLowerCase()),r===t},e.compareVersion=function(f){var e=[0],t=f,r=!1,n=this.getBrowserVersion();if("string"==typeof n)return">"===f[0]||"<"===f[0]?(t=f.substr(1),"="===f[1]?(r=!0,t=f.substr(2)):e=[],">"===f[0]?e.push(1):e.push(-1)):"="===f[0]?t=f.substr(1):"~"===f[0]&&(r=!0,t=f.substr(1)),e.indexOf(a.default.compareVersions(n,t,r))>-1},e.isOS=function(f){return this.getOSName(!0)===String(f).toLowerCase()},e.isPlatform=function(f){return this.getPlatformType(!0)===String(f).toLowerCase()},e.isEngine=function(f){return this.getEngineName(!0)===String(f).toLowerCase()},e.is=function(f,e){return void 0===e&&(e=!1),this.isBrowser(f,e)||this.isOS(f)||this.isPlatform(f)},e.some=function(f){var e=this;return void 0===f&&(f=[]),f.some((function(f){return e.is(f)}))},f}();e.default=c,f.exports=e.default},92:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r,n=(r=t(17))&&r.__esModule?r:{default:r},i=/version\/(\d+(\.?_?\d+)+)/i,o=[{test:[/googlebot/i],describe:function(f){var e={name:"Googlebot"},t=n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/opera/i],describe:function(f){var e={name:"Opera"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/opr\/|opios/i],describe:function(f){var e={name:"Opera"},t=n.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/SamsungBrowser/i],describe:function(f){var e={name:"Samsung Internet for Android"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/Whale/i],describe:function(f){var e={name:"NAVER Whale Browser"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/MZBrowser/i],describe:function(f){var e={name:"MZ Browser"},t=n.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/focus/i],describe:function(f){var e={name:"Focus"},t=n.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/swing/i],describe:function(f){var e={name:"Swing"},t=n.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/coast/i],describe:function(f){var e={name:"Opera Coast"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(f){var e={name:"Opera Touch"},t=n.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/yabrowser/i],describe:function(f){var e={name:"Yandex Browser"},t=n.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/ucbrowser/i],describe:function(f){var e={name:"UC Browser"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/Maxthon|mxios/i],describe:function(f){var e={name:"Maxthon"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/epiphany/i],describe:function(f){var e={name:"Epiphany"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/puffin/i],describe:function(f){var e={name:"Puffin"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/sleipnir/i],describe:function(f){var e={name:"Sleipnir"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/k-meleon/i],describe:function(f){var e={name:"K-Meleon"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/micromessenger/i],describe:function(f){var e={name:"WeChat"},t=n.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/qqbrowser/i],describe:function(f){var e={name:/qqbrowserlite/i.test(f)?"QQ Browser Lite":"QQ Browser"},t=n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/msie|trident/i],describe:function(f){var e={name:"Internet Explorer"},t=n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/\sedg\//i],describe:function(f){var e={name:"Microsoft Edge"},t=n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/edg([ea]|ios)/i],describe:function(f){var e={name:"Microsoft Edge"},t=n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/vivaldi/i],describe:function(f){var e={name:"Vivaldi"},t=n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/seamonkey/i],describe:function(f){var e={name:"SeaMonkey"},t=n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/sailfish/i],describe:function(f){var e={name:"Sailfish"},t=n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,f);return t&&(e.version=t),e}},{test:[/silk/i],describe:function(f){var e={name:"Amazon Silk"},t=n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/phantom/i],describe:function(f){var e={name:"PhantomJS"},t=n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/slimerjs/i],describe:function(f){var e={name:"SlimerJS"},t=n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(f){var e={name:"BlackBerry"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/(web|hpw)[o0]s/i],describe:function(f){var e={name:"WebOS Browser"},t=n.default.getFirstMatch(i,f)||n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/bada/i],describe:function(f){var e={name:"Bada"},t=n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/tizen/i],describe:function(f){var e={name:"Tizen"},t=n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/qupzilla/i],describe:function(f){var e={name:"QupZilla"},t=n.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/firefox|iceweasel|fxios/i],describe:function(f){var e={name:"Firefox"},t=n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/electron/i],describe:function(f){var e={name:"Electron"},t=n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/MiuiBrowser/i],describe:function(f){var e={name:"Miui"},t=n.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/chromium/i],describe:function(f){var e={name:"Chromium"},t=n.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,f)||n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/chrome|crios|crmo/i],describe:function(f){var e={name:"Chrome"},t=n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/GSA/i],describe:function(f){var e={name:"Google Search"},t=n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:function(f){var e=!f.test(/like android/i),t=f.test(/android/i);return e&&t},describe:function(f){var e={name:"Android Browser"},t=n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/playstation 4/i],describe:function(f){var e={name:"PlayStation 4"},t=n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/safari|applewebkit/i],describe:function(f){var e={name:"Safari"},t=n.default.getFirstMatch(i,f);return t&&(e.version=t),e}},{test:[/.*/i],describe:function(f){var e=-1!==f.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:n.default.getFirstMatch(e,f),version:n.default.getSecondMatch(e,f)}}}];e.default=o,f.exports=e.default},93:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r,n=(r=t(17))&&r.__esModule?r:{default:r},i=t(18),o=[{test:[/Roku\/DVP/],describe:function(f){var e=n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,f);return{name:i.OS_MAP.Roku,version:e}}},{test:[/windows phone/i],describe:function(f){var e=n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,f);return{name:i.OS_MAP.WindowsPhone,version:e}}},{test:[/windows /i],describe:function(f){var e=n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,f),t=n.default.getWindowsVersionName(e);return{name:i.OS_MAP.Windows,version:e,versionName:t}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(f){var e={name:i.OS_MAP.iOS},t=n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,f);return t&&(e.version=t),e}},{test:[/macintosh/i],describe:function(f){var e=n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,f).replace(/[_\s]/g,"."),t=n.default.getMacOSVersionName(e),r={name:i.OS_MAP.MacOS,version:e};return t&&(r.versionName=t),r}},{test:[/(ipod|iphone|ipad)/i],describe:function(f){var e=n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,f).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:e}}},{test:function(f){var e=!f.test(/like android/i),t=f.test(/android/i);return e&&t},describe:function(f){var e=n.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,f),t=n.default.getAndroidVersionName(e),r={name:i.OS_MAP.Android,version:e};return t&&(r.versionName=t),r}},{test:[/(web|hpw)[o0]s/i],describe:function(f){var e=n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,f),t={name:i.OS_MAP.WebOS};return e&&e.length&&(t.version=e),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(f){var e=n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,f)||n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,f)||n.default.getFirstMatch(/\bbb(\d+)/i,f);return{name:i.OS_MAP.BlackBerry,version:e}}},{test:[/bada/i],describe:function(f){var e=n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,f);return{name:i.OS_MAP.Bada,version:e}}},{test:[/tizen/i],describe:function(f){var e=n.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,f);return{name:i.OS_MAP.Tizen,version:e}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(f){var e=n.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,f);return{name:i.OS_MAP.PlayStation4,version:e}}}];e.default=o,f.exports=e.default},94:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r,n=(r=t(17))&&r.__esModule?r:{default:r},i=t(18),o=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(f){var e=n.default.getFirstMatch(/(can-l01)/i,f)&&"Nova",t={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return e&&(t.model=e),t}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(f){var e=f.test(/ipod|iphone/i),t=f.test(/like (ipod|iphone)/i);return e&&!t},describe:function(f){var e=n.default.getFirstMatch(/(ipod|iphone)/i,f);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(f){return"blackberry"===f.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(f){return"bada"===f.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(f){return"windows phone"===f.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(f){var e=Number(String(f.getOSVersion()).split(".")[0]);return"android"===f.getOSName(!0)&&e>=3},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(f){return"android"===f.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(f){return"macos"===f.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(f){return"windows"===f.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(f){return"linux"===f.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(f){return"playstation 4"===f.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(f){return"roku"===f.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}];e.default=o,f.exports=e.default},95:function(f,e,t){"use strict";e.__esModule=!0,e.default=void 0;var r,n=(r=t(17))&&r.__esModule?r:{default:r},i=t(18),o=[{test:function(f){return"microsoft edge"===f.getBrowserName(!0)},describe:function(f){if(/\sedg\//i.test(f))return{name:i.ENGINE_MAP.Blink};var e=n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,f);return{name:i.ENGINE_MAP.EdgeHTML,version:e}}},{test:[/trident/i],describe:function(f){var e={name:i.ENGINE_MAP.Trident},t=n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:function(f){return f.test(/presto/i)},describe:function(f){var e={name:i.ENGINE_MAP.Presto},t=n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:function(f){var e=f.test(/gecko/i),t=f.test(/like gecko/i);return e&&!t},describe:function(f){var e={name:i.ENGINE_MAP.Gecko},t=n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(f){var e={name:i.ENGINE_MAP.WebKit},t=n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,f);return t&&(e.version=t),e}}];e.default=o,f.exports=e.default}})},1924:(f,e,t)=>{"use strict";var r=t(210),n=t(5559),i=n(r("String.prototype.indexOf"));f.exports=function(f,e){var t=r(f,!!e);return"function"==typeof t&&i(f,".prototype.")>-1?n(t):t}},5559:(f,e,t)=>{"use strict";var r=t(8612),n=t(210),i=n("%Function.prototype.apply%"),o=n("%Function.prototype.call%"),a=n("%Reflect.apply%",!0)||r.call(o,i),s=n("%Object.getOwnPropertyDescriptor%",!0),c=n("%Object.defineProperty%",!0),u=n("%Math.max%");if(c)try{c({},"a",{value:1})}catch(f){c=null}f.exports=function(f){var e=a(r,o,arguments);if(s&&c){var t=s(e,"length");t.configurable&&c(e,"length",{value:1+u(0,f.length-(arguments.length-1))})}return e};var l=function(){return a(r,i,arguments)};c?c(f.exports,"apply",{value:l}):f.exports.apply=l},8767:f=>{function e(f){if(f)return function(f){for(var t in e.prototype)f[t]=e.prototype[t];return f}(f)}f.exports=e,e.prototype.on=e.prototype.addEventListener=function(f,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+f]=this._callbacks["$"+f]||[]).push(e),this},e.prototype.once=function(f,e){function t(){this.off(f,t),e.apply(this,arguments)}return t.fn=e,this.on(f,t),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(f,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var t,r=this._callbacks["$"+f];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+f],this;for(var n=0;n<r.length;n++)if((t=r[n])===e||t.fn===e){r.splice(n,1);break}return 0===r.length&&delete this._callbacks["$"+f],this},e.prototype.emit=function(f){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+f],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(t){r=0;for(var n=(t=t.slice(0)).length;r<n;++r)t[r].apply(this,e)}return this},e.prototype.listeners=function(f){return this._callbacks=this._callbacks||{},this._callbacks["$"+f]||[]},e.prototype.hasListeners=function(f){return!!this.listeners(f).length}},7936:(f,e,t)=>{"use strict";t.r(e),t.d(e,{BaseContract:()=>Yt,BigNumber:()=>u.O$,Contract:()=>Jt,ContractFactory:()=>Zt,FixedNumber:()=>Xt.xs,Signer:()=>Se,VoidSigner:()=>ke,Wallet:()=>Pn,Wordlist:()=>Pr,constants:()=>n,errors:()=>l.jK,ethers:()=>s,getDefaultProvider:()=>na,logger:()=>Aa,providers:()=>i,utils:()=>a,version:()=>Ea,wordlists:()=>Tr});var r={};t.r(r),t.d(r,{decode:()=>U,encode:()=>D});var n={};t.r(n),t.d(n,{AddressZero:()=>Nn,EtherSymbol:()=>Rn,HashZero:()=>Tn,MaxInt256:()=>Nf,MaxUint256:()=>xf,MinInt256:()=>Of,NegativeOne:()=>Af,One:()=>kf,Two:()=>Mf,WeiPerEther:()=>Pf,Zero:()=>Sf});var i={};t.r(i),t.d(i,{AlchemyProvider:()=>ho,AlchemyWebSocketProvider:()=>lo,BaseProvider:()=>zi,CloudflareProvider:()=>mo,EtherscanProvider:()=>ko,FallbackProvider:()=>zo,Formatter:()=>yi,InfuraProvider:()=>Ho,InfuraWebSocketProvider:()=>Wo,IpcProvider:()=>Go,JsonRpcBatchProvider:()=>Ko,JsonRpcProvider:()=>Qi,JsonRpcSigner:()=>Ji,NodesmithProvider:()=>Yo,PocketProvider:()=>Xo,Provider:()=>ve,Resolver:()=>Li,StaticJsonRpcProvider:()=>ao,UrlJsonRpcProvider:()=>so,Web3Provider:()=>ta,WebSocketProvider:()=>no,getDefaultProvider:()=>na,getNetwork:()=>Un,isCommunityResourcable:()=>vi,isCommunityResource:()=>wi,showThrottleMessage:()=>Ei});var o={};t.r(o),t.d(o,{decode:()=>ri,encode:()=>ni});var a={};t.r(a),t.d(a,{AbiCoder:()=>oe,ConstructorFragment:()=>Yf,ErrorFragment:()=>Xf,EventFragment:()=>Wf,FormatTypes:()=>Uf,Fragment:()=>$f,FunctionFragment:()=>Jf,HDNode:()=>Gr,Indexed:()=>de,Interface:()=>be,LogDescription:()=>ce,Logger:()=>l.Yd,ParamType:()=>Gf,RLP:()=>r,SigningKey:()=>bt,SupportedAlgorithm:()=>vr,TransactionDescription:()=>ue,TransactionTypes:()=>vt,UnicodeNormalizationForm:()=>Q,Utf8ErrorFuncs:()=>tf,Utf8ErrorReason:()=>ff,_TypedDataEncoder:()=>mr,_fetchData:()=>li,_toEscapedUtf8String:()=>af,accessListify:()=>xt,arrayify:()=>c.lE,base58:()=>yr,base64:()=>o,checkProperties:()=>g,checkResultErrors:()=>M,commify:()=>ga,computeAddress:()=>St,computeHmac:()=>Sr,computePublicKey:()=>gt,concat:()=>c.zo,deepCopy:()=>E,defaultAbiCoder:()=>ae,defaultPath:()=>zr,defineReadOnly:()=>p,entropyToMnemonic:()=>Wr,fetchJson:()=>di,formatBytes32String:()=>ha,formatEther:()=>wa,formatUnits:()=>ya,getAccountPath:()=>Kr,getAddress:()=>K,getContractAddress:()=>J,getCreate2Address:()=>Z,getIcapAddress:()=>Y,getJsonWalletAddress:()=>dn,getStatic:()=>b,hashMessage:()=>Qt,hexConcat:()=>c.xs,hexDataLength:()=>c.E1,hexDataSlice:()=>c.p3,hexStripZeros:()=>c.Ou,hexValue:()=>c.$P,hexZeroPad:()=>c.$m,hexlify:()=>c.Dv,id:()=>lf,isAddress:()=>V,isBytes:()=>c._t,isBytesLike:()=>c.Zq,isHexString:()=>c.A7,isValidMnemonic:()=>Hr,isValidName:()=>ei,joinSignature:()=>c.gV,keccak256:()=>R,mnemonicToEntropy:()=>$r,mnemonicToSeed:()=>qr,namehash:()=>ti,nameprep:()=>Zn,parseBytes32String:()=>pa,parseEther:()=>_a,parseTransaction:()=>Ct,parseUnits:()=>va,poll:()=>hi,randomBytes:()=>Zr,recoverAddress:()=>kt,recoverPublicKey:()=>mt,resolveProperties:()=>m,ripemd160:()=>_r,serializeTransaction:()=>Rt,sha256:()=>Er,sha512:()=>Ar,shallowCopy:()=>y,shuffled:()=>Mo,solidityKeccak256:()=>la,solidityPack:()=>ua,soliditySha256:()=>da,splitSignature:()=>c.N,stripZeros:()=>c.G1,toUtf8Bytes:()=>nf,toUtf8CodePoints:()=>uf,toUtf8String:()=>cf,verifyMessage:()=>xn,verifyTypedData:()=>On,zeroPad:()=>c.Bu});var s={};t.r(s),t.d(s,{BaseContract:()=>Yt,BigNumber:()=>u.O$,Contract:()=>Jt,ContractFactory:()=>Zt,FixedNumber:()=>Xt.xs,Signer:()=>Se,VoidSigner:()=>ke,Wallet:()=>Pn,Wordlist:()=>Pr,constants:()=>n,errors:()=>l.jK,getDefaultProvider:()=>na,logger:()=>Aa,providers:()=>i,utils:()=>a,version:()=>Ea,wordlists:()=>Tr});var c=t(3286),u=t(2593),l=t(711);var d=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const h=new l.Yd("properties/5.5.0");function p(f,e,t){Object.defineProperty(f,e,{enumerable:!0,value:t,writable:!1})}function b(f,e){for(let t=0;t<32;t++){if(f[e])return f[e];if(!f.prototype||"object"!=typeof f.prototype)break;f=Object.getPrototypeOf(f.prototype).constructor}return null}function m(f){return d(this,void 0,void 0,(function*(){const e=Object.keys(f).map((e=>{const t=f[e];return Promise.resolve(t).then((f=>({key:e,value:f})))}));return(yield Promise.all(e)).reduce(((f,e)=>(f[e.key]=e.value,f)),{})}))}function g(f,e){f&&"object"==typeof f||h.throwArgumentError("invalid object","object",f),Object.keys(f).forEach((t=>{e[t]||h.throwArgumentError("invalid object key - "+t,"transaction:"+t,f)}))}function y(f){const e={};for(const t in f)e[t]=f[t];return e}const v={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function w(f){if(null==f||v[typeof f])return!0;if(Array.isArray(f)||"object"==typeof f){if(!Object.isFrozen(f))return!1;const e=Object.keys(f);for(let t=0;t<e.length;t++){let r=null;try{r=f[e[t]]}catch(f){continue}if(!w(r))return!1}return!0}return h.throwArgumentError("Cannot deepCopy "+typeof f,"object",f)}function _(f){if(w(f))return f;if(Array.isArray(f))return Object.freeze(f.map((f=>E(f))));if("object"==typeof f){const e={};for(const t in f){const r=f[t];void 0!==r&&p(e,t,E(r))}return e}return h.throwArgumentError("Cannot deepCopy "+typeof f,"object",f)}function E(f){return _(f)}class A{constructor(f){for(const e in f)this[e]=E(f[e])}}const S="abi/5.5.0",k=new l.Yd(S);function M(f){const e=[],t=function(f,r){if(Array.isArray(r))for(let n in r){const i=f.slice();i.push(n);try{t(i,r[n])}catch(f){e.push({path:i,error:f})}}};return t([],f),e}class P{constructor(f,e,t,r){this.name=f,this.type=e,this.localName=t,this.dynamic=r}_throwError(f,e){k.throwArgumentError(f,this.localName,e)}}class x{constructor(f){p(this,"wordSize",f||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(f)}get data(){return(0,c.xs)(this._data)}get length(){return this._dataLength}_writeData(f){return this._data.push(f),this._dataLength+=f.length,f.length}appendWriter(f){return this._writeData((0,c.zo)(f._data))}writeBytes(f){let e=(0,c.lE)(f);const t=e.length%this.wordSize;return t&&(e=(0,c.zo)([e,this._padding.slice(t)])),this._writeData(e)}_getValue(f){let e=(0,c.lE)(u.O$.from(f));return e.length>this.wordSize&&k.throwError("value out-of-bounds",l.Yd.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=(0,c.zo)([this._padding.slice(e.length%this.wordSize),e])),e}writeValue(f){return this._writeData(this._getValue(f))}writeUpdatableValue(){const f=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,e=>{this._data[f]=this._getValue(e)}}}class O{constructor(f,e,t,r){p(this,"_data",(0,c.lE)(f)),p(this,"wordSize",e||32),p(this,"_coerceFunc",t),p(this,"allowLoose",r),this._offset=0}get data(){return(0,c.Dv)(this._data)}get consumed(){return this._offset}static coerce(f,e){let t=f.match("^u?int([0-9]+)$");return t&&parseInt(t[1])<=48&&(e=e.toNumber()),e}coerce(f,e){return this._coerceFunc?this._coerceFunc(f,e):O.coerce(f,e)}_peekBytes(f,e,t){let r=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&t&&this._offset+e<=this._data.length?r=e:k.throwError("data out-of-bounds",l.Yd.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(f){return new O(this._data.slice(this._offset+f),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(f,e){let t=this._peekBytes(0,f,!!e);return this._offset+=t.length,t.slice(0,f)}readValue(){return u.O$.from(this.readBytes(this.wordSize))}}var N=t(1094),T=t.n(N);function R(f){return"0x"+T().keccak_256((0,c.lE)(f))}const I=new l.Yd("rlp/5.5.0");function C(f){const e=[];for(;f;)e.unshift(255&f),f>>=8;return e}function F(f,e,t){let r=0;for(let n=0;n<t;n++)r=256*r+f[e+n];return r}function B(f){if(Array.isArray(f)){let e=[];if(f.forEach((function(f){e=e.concat(B(f))})),e.length<=55)return e.unshift(192+e.length),e;const t=C(e.length);return t.unshift(247+t.length),t.concat(e)}(0,c.Zq)(f)||I.throwArgumentError("RLP object must be BytesLike","object",f);const e=Array.prototype.slice.call((0,c.lE)(f));if(1===e.length&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const t=C(e.length);return t.unshift(183+t.length),t.concat(e)}function D(f){return(0,c.Dv)(B(f))}function L(f,e,t,r){const n=[];for(;t<e+1+r;){const i=j(f,t);n.push(i.result),(t+=i.consumed)>e+1+r&&I.throwError("child data too short",l.Yd.errors.BUFFER_OVERRUN,{})}return{consumed:1+r,result:n}}function j(f,e){if(0===f.length&&I.throwError("data too short",l.Yd.errors.BUFFER_OVERRUN,{}),f[e]>=248){const t=f[e]-247;e+1+t>f.length&&I.throwError("data short segment too short",l.Yd.errors.BUFFER_OVERRUN,{});const r=F(f,e+1,t);return e+1+t+r>f.length&&I.throwError("data long segment too short",l.Yd.errors.BUFFER_OVERRUN,{}),L(f,e,e+1+t,t+r)}if(f[e]>=192){const t=f[e]-192;return e+1+t>f.length&&I.throwError("data array too short",l.Yd.errors.BUFFER_OVERRUN,{}),L(f,e,e+1,t)}if(f[e]>=184){const t=f[e]-183;e+1+t>f.length&&I.throwError("data array too short",l.Yd.errors.BUFFER_OVERRUN,{});const r=F(f,e+1,t);e+1+t+r>f.length&&I.throwError("data array too short",l.Yd.errors.BUFFER_OVERRUN,{});return{consumed:1+t+r,result:(0,c.Dv)(f.slice(e+1+t,e+1+t+r))}}if(f[e]>=128){const t=f[e]-128;e+1+t>f.length&&I.throwError("data too short",l.Yd.errors.BUFFER_OVERRUN,{});return{consumed:1+t,result:(0,c.Dv)(f.slice(e+1,e+1+t))}}return{consumed:1,result:(0,c.Dv)(f[e])}}function U(f){const e=(0,c.lE)(f),t=j(e,0);return t.consumed!==e.length&&I.throwArgumentError("invalid rlp data","data",f),t.result}const z=new l.Yd("address/5.5.0");function G(f){(0,c.A7)(f,20)||z.throwArgumentError("invalid address","address",f);const e=(f=f.toLowerCase()).substring(2).split(""),t=new Uint8Array(40);for(let f=0;f<40;f++)t[f]=e[f].charCodeAt(0);const r=(0,c.lE)(R(t));for(let f=0;f<40;f+=2)r[f>>1]>>4>=8&&(e[f]=e[f].toUpperCase()),(15&r[f>>1])>=8&&(e[f+1]=e[f+1].toUpperCase());return"0x"+e.join("")}const q={};for(let f=0;f<10;f++)q[String(f)]=String(f);for(let f=0;f<26;f++)q[String.fromCharCode(65+f)]=String(10+f);const $=Math.floor((W=9007199254740991,Math.log10?Math.log10(W):Math.log(W)/Math.LN10));var W;function H(f){let e=(f=(f=f.toUpperCase()).substring(4)+f.substring(0,2)+"00").split("").map((f=>q[f])).join("");for(;e.length>=$;){let f=e.substring(0,$);e=parseInt(f,10)%97+e.substring(f.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}function K(f){let e=null;if("string"!=typeof f&&z.throwArgumentError("invalid address","address",f),f.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==f.substring(0,2)&&(f="0x"+f),e=G(f),f.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==f&&z.throwArgumentError("bad address checksum","address",f);else if(f.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(f.substring(2,4)!==H(f)&&z.throwArgumentError("bad icap checksum","address",f),e=(0,u.g$)(f.substring(4));e.length<40;)e="0"+e;e=G("0x"+e)}else z.throwArgumentError("invalid address","address",f);return e}function V(f){try{return K(f),!0}catch(f){}return!1}function Y(f){let e=(0,u.t2)(K(f).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+H("XE00"+e)+e}function J(f){let e=null;try{e=K(f.from)}catch(e){z.throwArgumentError("missing from address","transaction",f)}const t=(0,c.G1)((0,c.lE)(u.O$.from(f.nonce).toHexString()));return K((0,c.p3)(R(D([e,t])),12))}function Z(f,e,t){return 32!==(0,c.E1)(e)&&z.throwArgumentError("salt must be 32 bytes","salt",e),32!==(0,c.E1)(t)&&z.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",t),K((0,c.p3)(R((0,c.zo)(["0xff",K(f),e,t])),12))}const X=new l.Yd("strings/5.5.0");var Q,ff;function ef(f,e,t,r,n){if(f===ff.BAD_PREFIX||f===ff.UNEXPECTED_CONTINUE){let f=0;for(let r=e+1;r<t.length&&t[r]>>6==2;r++)f++;return f}return f===ff.OVERRUN?t.length-e-1:0}!function(f){f.current="",f.NFC="NFC",f.NFD="NFD",f.NFKC="NFKC",f.NFKD="NFKD"}(Q||(Q={})),function(f){f.UNEXPECTED_CONTINUE="unexpected continuation byte",f.BAD_PREFIX="bad codepoint prefix",f.OVERRUN="string overrun",f.MISSING_CONTINUE="missing continuation byte",f.OUT_OF_RANGE="out of UTF-8 range",f.UTF16_SURROGATE="UTF-16 surrogate",f.OVERLONG="overlong representation"}(ff||(ff={}));const tf=Object.freeze({error:function(f,e,t,r,n){return X.throwArgumentError(`invalid codepoint at offset ${e}; ${f}`,"bytes",t)},ignore:ef,replace:function(f,e,t,r,n){return f===ff.OVERLONG?(r.push(n),0):(r.push(65533),ef(f,e,t))}});function rf(f,e){null==e&&(e=tf.error),f=(0,c.lE)(f);const t=[];let r=0;for(;r<f.length;){const n=f[r++];if(n>>7==0){t.push(n);continue}let i=null,o=null;if(192==(224&n))i=1,o=127;else if(224==(240&n))i=2,o=2047;else{if(240!=(248&n)){r+=e(128==(192&n)?ff.UNEXPECTED_CONTINUE:ff.BAD_PREFIX,r-1,f,t);continue}i=3,o=65535}if(r-1+i>=f.length){r+=e(ff.OVERRUN,r-1,f,t);continue}let a=n&(1<<8-i-1)-1;for(let n=0;n<i;n++){let n=f[r];if(128!=(192&n)){r+=e(ff.MISSING_CONTINUE,r,f,t),a=null;break}a=a<<6|63&n,r++}null!==a&&(a>1114111?r+=e(ff.OUT_OF_RANGE,r-1-i,f,t,a):a>=55296&&a<=57343?r+=e(ff.UTF16_SURROGATE,r-1-i,f,t,a):a<=o?r+=e(ff.OVERLONG,r-1-i,f,t,a):t.push(a))}return t}function nf(f,e=Q.current){e!=Q.current&&(X.checkNormalize(),f=f.normalize(e));let t=[];for(let e=0;e<f.length;e++){const r=f.charCodeAt(e);if(r<128)t.push(r);else if(r<2048)t.push(r>>6|192),t.push(63&r|128);else if(55296==(64512&r)){e++;const n=f.charCodeAt(e);if(e>=f.length||56320!=(64512&n))throw new Error("invalid utf-8 string");const i=65536+((1023&r)<<10)+(1023&n);t.push(i>>18|240),t.push(i>>12&63|128),t.push(i>>6&63|128),t.push(63&i|128)}else t.push(r>>12|224),t.push(r>>6&63|128),t.push(63&r|128)}return(0,c.lE)(t)}function of(f){const e="0000"+f.toString(16);return"\\u"+e.substring(e.length-4)}function af(f,e){return'"'+rf(f,e).map((f=>{if(f<256){switch(f){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(f>=32&&f<127)return String.fromCharCode(f)}return f<=65535?of(f):of(55296+((f-=65536)>>10&1023))+of(56320+(1023&f))})).join("")+'"'}function sf(f){return f.map((f=>f<=65535?String.fromCharCode(f):(f-=65536,String.fromCharCode(55296+(f>>10&1023),56320+(1023&f))))).join("")}function cf(f,e){return sf(rf(f,e))}function uf(f,e=Q.current){return rf(nf(f,e))}function lf(f){return R(nf(f))}class df extends P{constructor(f){super("address","address",f,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(f,e){try{e=K(e)}catch(f){this._throwError(f.message,e)}return f.writeValue(e)}decode(f){return K((0,c.$m)(f.readValue().toHexString(),20))}}class hf extends P{constructor(f){super(f.name,f.type,void 0,f.dynamic),this.coder=f}defaultValue(){return this.coder.defaultValue()}encode(f,e){return this.coder.encode(f,e)}decode(f){return this.coder.decode(f)}}const pf=new l.Yd(S);function bf(f,e,t){let r=null;if(Array.isArray(t))r=t;else if(t&&"object"==typeof t){let f={};r=e.map((e=>{const r=e.localName;return r||pf.throwError("cannot encode object for signature with missing names",l.Yd.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:t}),f[r]&&pf.throwError("cannot encode object for signature with duplicate names",l.Yd.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:t}),f[r]=!0,t[r]}))}else pf.throwArgumentError("invalid tuple value","tuple",t);e.length!==r.length&&pf.throwArgumentError("types/value length mismatch","tuple",t);let n=new x(f.wordSize),i=new x(f.wordSize),o=[];e.forEach(((f,e)=>{let t=r[e];if(f.dynamic){let e=i.length;f.encode(i,t);let r=n.writeUpdatableValue();o.push((f=>{r(f+e)}))}else f.encode(n,t)})),o.forEach((f=>{f(n.length)}));let a=f.appendWriter(n);return a+=f.appendWriter(i),a}function mf(f,e){let t=[],r=f.subReader(0);e.forEach((e=>{let n=null;if(e.dynamic){let t=f.readValue(),i=r.subReader(t.toNumber());try{n=e.decode(i)}catch(f){if(f.code===l.Yd.errors.BUFFER_OVERRUN)throw f;n=f,n.baseType=e.name,n.name=e.localName,n.type=e.type}}else try{n=e.decode(f)}catch(f){if(f.code===l.Yd.errors.BUFFER_OVERRUN)throw f;n=f,n.baseType=e.name,n.name=e.localName,n.type=e.type}null!=n&&t.push(n)}));const n=e.reduce(((f,e)=>{const t=e.localName;return t&&(f[t]||(f[t]=0),f[t]++),f}),{});e.forEach(((f,e)=>{let r=f.localName;if(!r||1!==n[r])return;if("length"===r&&(r="_length"),null!=t[r])return;const i=t[e];i instanceof Error?Object.defineProperty(t,r,{enumerable:!0,get:()=>{throw i}}):t[r]=i}));for(let f=0;f<t.length;f++){const e=t[f];e instanceof Error&&Object.defineProperty(t,f,{enumerable:!0,get:()=>{throw e}})}return Object.freeze(t)}class gf extends P{constructor(f,e,t){super("array",f.type+"["+(e>=0?e:"")+"]",t,-1===e||f.dynamic),this.coder=f,this.length=e}defaultValue(){const f=this.coder.defaultValue(),e=[];for(let t=0;t<this.length;t++)e.push(f);return e}encode(f,e){Array.isArray(e)||this._throwError("expected array value",e);let t=this.length;-1===t&&(t=e.length,f.writeValue(e.length)),pf.checkArgumentCount(e.length,t,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let f=0;f<e.length;f++)r.push(this.coder);return bf(f,r,e)}decode(f){let e=this.length;-1===e&&(e=f.readValue().toNumber(),32*e>f._data.length&&pf.throwError("insufficient data length",l.Yd.errors.BUFFER_OVERRUN,{length:f._data.length,count:e}));let t=[];for(let f=0;f<e;f++)t.push(new hf(this.coder));return f.coerce(this.name,mf(f,t))}}class yf extends P{constructor(f){super("bool","bool",f,!1)}defaultValue(){return!1}encode(f,e){return f.writeValue(e?1:0)}decode(f){return f.coerce(this.type,!f.readValue().isZero())}}class vf extends P{constructor(f,e){super(f,f,e,!0)}defaultValue(){return"0x"}encode(f,e){e=(0,c.lE)(e);let t=f.writeValue(e.length);return t+=f.writeBytes(e),t}decode(f){return f.readBytes(f.readValue().toNumber(),!0)}}class wf extends vf{constructor(f){super("bytes",f)}decode(f){return f.coerce(this.name,(0,c.Dv)(super.decode(f)))}}class _f extends P{constructor(f,e){let t="bytes"+String(f);super(t,t,e,!1),this.size=f}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(f,e){let t=(0,c.lE)(e);return t.length!==this.size&&this._throwError("incorrect data length",e),f.writeBytes(t)}decode(f){return f.coerce(this.name,(0,c.Dv)(f.readBytes(this.size)))}}class Ef extends P{constructor(f){super("null","",f,!1)}defaultValue(){return null}encode(f,e){return null!=e&&this._throwError("not null",e),f.writeBytes([])}decode(f){return f.readBytes(0),f.coerce(this.name,null)}}const Af=u.O$.from(-1),Sf=u.O$.from(0),kf=u.O$.from(1),Mf=u.O$.from(2),Pf=u.O$.from("1000000000000000000"),xf=u.O$.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Of=u.O$.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),Nf=u.O$.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Tf extends P{constructor(f,e,t){const r=(e?"int":"uint")+8*f;super(r,r,t,!1),this.size=f,this.signed=e}defaultValue(){return 0}encode(f,e){let t=u.O$.from(e),r=xf.mask(8*f.wordSize);if(this.signed){let f=r.mask(8*this.size-1);(t.gt(f)||t.lt(f.add(kf).mul(Af)))&&this._throwError("value out-of-bounds",e)}else(t.lt(Sf)||t.gt(r.mask(8*this.size)))&&this._throwError("value out-of-bounds",e);return t=t.toTwos(8*this.size).mask(8*this.size),this.signed&&(t=t.fromTwos(8*this.size).toTwos(8*f.wordSize)),f.writeValue(t)}decode(f){let e=f.readValue().mask(8*this.size);return this.signed&&(e=e.fromTwos(8*this.size)),f.coerce(this.name,e)}}class Rf extends vf{constructor(f){super("string",f)}defaultValue(){return""}encode(f,e){return super.encode(f,nf(e))}decode(f){return cf(super.decode(f))}}class If extends P{constructor(f,e){let t=!1;const r=[];f.forEach((f=>{f.dynamic&&(t=!0),r.push(f.type)}));super("tuple","tuple("+r.join(",")+")",e,t),this.coders=f}defaultValue(){const f=[];this.coders.forEach((e=>{f.push(e.defaultValue())}));const e=this.coders.reduce(((f,e)=>{const t=e.localName;return t&&(f[t]||(f[t]=0),f[t]++),f}),{});return this.coders.forEach(((t,r)=>{let n=t.localName;n&&1===e[n]&&("length"===n&&(n="_length"),null==f[n]&&(f[n]=f[r]))})),Object.freeze(f)}encode(f,e){return bf(f,this.coders,e)}decode(f){return f.coerce(this.name,mf(f,this.coders))}}const Cf=new l.Yd(S),Ff={};let Bf={calldata:!0,memory:!0,storage:!0},Df={calldata:!0,memory:!0};function Lf(f,e){if("bytes"===f||"string"===f){if(Bf[e])return!0}else if("address"===f){if("payable"===e)return!0}else if((f.indexOf("[")>=0||"tuple"===f)&&Df[e])return!0;return(Bf[e]||"payable"===e)&&Cf.throwArgumentError("invalid modifier","name",e),!1}function jf(f,e){for(let t in e)p(f,t,e[t])}const Uf=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),zf=new RegExp(/^(.*)\[([0-9]*)\]$/);class Gf{constructor(f,e){f!==Ff&&Cf.throwError("use fromString",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),jf(this,e);let t=this.type.match(zf);jf(this,t?{arrayLength:parseInt(t[2]||"-1"),arrayChildren:Gf.fromObject({type:t[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(f){if(f||(f=Uf.sighash),Uf[f]||Cf.throwArgumentError("invalid format type","format",f),f===Uf.json){let e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map((e=>JSON.parse(e.format(f))))),JSON.stringify(e)}let e="";return"array"===this.baseType?(e+=this.arrayChildren.format(f),e+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(f!==Uf.sighash&&(e+=this.type),e+="("+this.components.map((e=>e.format(f))).join(f===Uf.full?", ":",")+")"):e+=this.type,f!==Uf.sighash&&(!0===this.indexed&&(e+=" indexed"),f===Uf.full&&this.name&&(e+=" "+this.name)),e}static from(f,e){return"string"==typeof f?Gf.fromString(f,e):Gf.fromObject(f)}static fromObject(f){return Gf.isParamType(f)?f:new Gf(Ff,{name:f.name||null,type:Qf(f.type),indexed:null==f.indexed?null:!!f.indexed,components:f.components?f.components.map(Gf.fromObject):null})}static fromString(f,e){return t=function(f,e){let t=f;function r(e){Cf.throwArgumentError(`unexpected character at position ${e}`,"param",f)}function n(f){let t={type:"",name:"",parent:f,state:{allowType:!0}};return e&&(t.indexed=!1),t}f=f.replace(/\s/g," ");let i={type:"",name:"",state:{allowType:!0}},o=i;for(let t=0;t<f.length;t++){let i=f[t];switch(i){case"(":o.state.allowType&&""===o.type?o.type="tuple":o.state.allowParams||r(t),o.state.allowType=!1,o.type=Qf(o.type),o.components=[n(o)],o=o.components[0];break;case")":delete o.state,"indexed"===o.name&&(e||r(t),o.indexed=!0,o.name=""),Lf(o.type,o.name)&&(o.name=""),o.type=Qf(o.type);let f=o;o=o.parent,o||r(t),delete f.parent,o.state.allowParams=!1,o.state.allowName=!0,o.state.allowArray=!0;break;case",":delete o.state,"indexed"===o.name&&(e||r(t),o.indexed=!0,o.name=""),Lf(o.type,o.name)&&(o.name=""),o.type=Qf(o.type);let a=n(o.parent);o.parent.components.push(a),delete o.parent,o=a;break;case" ":o.state.allowType&&""!==o.type&&(o.type=Qf(o.type),delete o.state.allowType,o.state.allowName=!0,o.state.allowParams=!0),o.state.allowName&&""!==o.name&&("indexed"===o.name?(e||r(t),o.indexed&&r(t),o.indexed=!0,o.name=""):Lf(o.type,o.name)?o.name="":o.state.allowName=!1);break;case"[":o.state.allowArray||r(t),o.type+=i,o.state.allowArray=!1,o.state.allowName=!1,o.state.readArray=!0;break;case"]":o.state.readArray||r(t),o.type+=i,o.state.readArray=!1,o.state.allowArray=!0,o.state.allowName=!0;break;default:o.state.allowType?(o.type+=i,o.state.allowParams=!0,o.state.allowArray=!0):o.state.allowName?(o.name+=i,delete o.state.allowArray):o.state.readArray?o.type+=i:r(t)}}return o.parent&&Cf.throwArgumentError("unexpected eof","param",f),delete i.state,"indexed"===o.name?(e||r(t.length-7),o.indexed&&r(t.length-7),o.indexed=!0,o.name=""):Lf(o.type,o.name)&&(o.name=""),i.type=Qf(i.type),i}(f,!!e),Gf.fromObject({name:t.name,type:t.type,indexed:t.indexed,components:t.components});var t}static isParamType(f){return!(null==f||!f._isParamType)}}function qf(f,e){return function(f){f=f.trim();let e=[],t="",r=0;for(let n=0;n<f.length;n++){let i=f[n];","===i&&0===r?(e.push(t),t=""):(t+=i,"("===i?r++:")"===i&&(r--,-1===r&&Cf.throwArgumentError("unbalanced parenthesis","value",f)))}t&&e.push(t);return e}(f).map((f=>Gf.fromString(f,e)))}class $f{constructor(f,e){f!==Ff&&Cf.throwError("use a static from method",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),jf(this,e),this._isFragment=!0,Object.freeze(this)}static from(f){return $f.isFragment(f)?f:"string"==typeof f?$f.fromString(f):$f.fromObject(f)}static fromObject(f){if($f.isFragment(f))return f;switch(f.type){case"function":return Jf.fromObject(f);case"event":return Wf.fromObject(f);case"constructor":return Yf.fromObject(f);case"error":return Xf.fromObject(f);case"fallback":case"receive":return null}return Cf.throwArgumentError("invalid fragment object","value",f)}static fromString(f){return"event"===(f=(f=(f=f.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Wf.fromString(f.substring(5).trim()):"function"===f.split(" ")[0]?Jf.fromString(f.substring(8).trim()):"constructor"===f.split("(")[0].trim()?Yf.fromString(f.trim()):"error"===f.split(" ")[0]?Xf.fromString(f.substring(5).trim()):Cf.throwArgumentError("unsupported fragment","value",f)}static isFragment(f){return!(!f||!f._isFragment)}}class Wf extends $f{format(f){if(f||(f=Uf.sighash),Uf[f]||Cf.throwArgumentError("invalid format type","format",f),f===Uf.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((e=>JSON.parse(e.format(f))))});let e="";return f!==Uf.sighash&&(e+="event "),e+=this.name+"("+this.inputs.map((e=>e.format(f))).join(f===Uf.full?", ":",")+") ",f!==Uf.sighash&&this.anonymous&&(e+="anonymous "),e.trim()}static from(f){return"string"==typeof f?Wf.fromString(f):Wf.fromObject(f)}static fromObject(f){if(Wf.isEventFragment(f))return f;"event"!==f.type&&Cf.throwArgumentError("invalid event object","value",f);const e={name:ee(f.name),anonymous:f.anonymous,inputs:f.inputs?f.inputs.map(Gf.fromObject):[],type:"event"};return new Wf(Ff,e)}static fromString(f){let e=f.match(te);e||Cf.throwArgumentError("invalid event string","value",f);let t=!1;return e[3].split(" ").forEach((f=>{switch(f.trim()){case"anonymous":t=!0;break;case"":break;default:Cf.warn("unknown modifier: "+f)}})),Wf.fromObject({name:e[1].trim(),anonymous:t,inputs:qf(e[2],!0),type:"event"})}static isEventFragment(f){return f&&f._isFragment&&"event"===f.type}}function Hf(f,e){e.gas=null;let t=f.split("@");return 1!==t.length?(t.length>2&&Cf.throwArgumentError("invalid human-readable ABI signature","value",f),t[1].match(/^[0-9]+$/)||Cf.throwArgumentError("invalid human-readable ABI signature gas","value",f),e.gas=u.O$.from(t[1]),t[0]):f}function Kf(f,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",f.split(" ").forEach((f=>{switch(f.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+f)}}))}function Vf(f){let e={constant:!1,payable:!0,stateMutability:"payable"};return null!=f.stateMutability?(e.stateMutability=f.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=f.constant&&!!f.constant!==e.constant&&Cf.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",f),e.payable="payable"===e.stateMutability,null!=f.payable&&!!f.payable!==e.payable&&Cf.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",f)):null!=f.payable?(e.payable=!!f.payable,null!=f.constant||e.payable||"constructor"===f.type||Cf.throwArgumentError("unable to determine stateMutability","value",f),e.constant=!!f.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&Cf.throwArgumentError("cannot have constant payable function","value",f)):null!=f.constant?(e.constant=!!f.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==f.type&&Cf.throwArgumentError("unable to determine stateMutability","value",f),e}class Yf extends $f{format(f){if(f||(f=Uf.sighash),Uf[f]||Cf.throwArgumentError("invalid format type","format",f),f===Uf.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((e=>JSON.parse(e.format(f))))});f===Uf.sighash&&Cf.throwError("cannot format a constructor for sighash",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let e="constructor("+this.inputs.map((e=>e.format(f))).join(f===Uf.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()}static from(f){return"string"==typeof f?Yf.fromString(f):Yf.fromObject(f)}static fromObject(f){if(Yf.isConstructorFragment(f))return f;"constructor"!==f.type&&Cf.throwArgumentError("invalid constructor object","value",f);let e=Vf(f);e.constant&&Cf.throwArgumentError("constructor cannot be constant","value",f);const t={name:null,type:f.type,inputs:f.inputs?f.inputs.map(Gf.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:f.gas?u.O$.from(f.gas):null};return new Yf(Ff,t)}static fromString(f){let e={type:"constructor"},t=(f=Hf(f,e)).match(te);return t&&"constructor"===t[1].trim()||Cf.throwArgumentError("invalid constructor string","value",f),e.inputs=qf(t[2].trim(),!1),Kf(t[3].trim(),e),Yf.fromObject(e)}static isConstructorFragment(f){return f&&f._isFragment&&"constructor"===f.type}}class Jf extends Yf{format(f){if(f||(f=Uf.sighash),Uf[f]||Cf.throwArgumentError("invalid format type","format",f),f===Uf.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((e=>JSON.parse(e.format(f)))),outputs:this.outputs.map((e=>JSON.parse(e.format(f))))});let e="";return f!==Uf.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map((e=>e.format(f))).join(f===Uf.full?", ":",")+") ",f!==Uf.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map((e=>e.format(f))).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()}static from(f){return"string"==typeof f?Jf.fromString(f):Jf.fromObject(f)}static fromObject(f){if(Jf.isFunctionFragment(f))return f;"function"!==f.type&&Cf.throwArgumentError("invalid function object","value",f);let e=Vf(f);const t={type:f.type,name:ee(f.name),constant:e.constant,inputs:f.inputs?f.inputs.map(Gf.fromObject):[],outputs:f.outputs?f.outputs.map(Gf.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:f.gas?u.O$.from(f.gas):null};return new Jf(Ff,t)}static fromString(f){let e={type:"function"},t=(f=Hf(f,e)).split(" returns ");t.length>2&&Cf.throwArgumentError("invalid function string","value",f);let r=t[0].match(te);if(r||Cf.throwArgumentError("invalid function signature","value",f),e.name=r[1].trim(),e.name&&ee(e.name),e.inputs=qf(r[2],!1),Kf(r[3].trim(),e),t.length>1){let r=t[1].match(te);""==r[1].trim()&&""==r[3].trim()||Cf.throwArgumentError("unexpected tokens","value",f),e.outputs=qf(r[2],!1)}else e.outputs=[];return Jf.fromObject(e)}static isFunctionFragment(f){return f&&f._isFragment&&"function"===f.type}}function Zf(f){const e=f.format();return"Error(string)"!==e&&"Panic(uint256)"!==e||Cf.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",f),f}class Xf extends $f{format(f){if(f||(f=Uf.sighash),Uf[f]||Cf.throwArgumentError("invalid format type","format",f),f===Uf.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((e=>JSON.parse(e.format(f))))});let e="";return f!==Uf.sighash&&(e+="error "),e+=this.name+"("+this.inputs.map((e=>e.format(f))).join(f===Uf.full?", ":",")+") ",e.trim()}static from(f){return"string"==typeof f?Xf.fromString(f):Xf.fromObject(f)}static fromObject(f){if(Xf.isErrorFragment(f))return f;"error"!==f.type&&Cf.throwArgumentError("invalid error object","value",f);const e={type:f.type,name:ee(f.name),inputs:f.inputs?f.inputs.map(Gf.fromObject):[]};return Zf(new Xf(Ff,e))}static fromString(f){let e={type:"error"},t=f.match(te);return t||Cf.throwArgumentError("invalid error signature","value",f),e.name=t[1].trim(),e.name&&ee(e.name),e.inputs=qf(t[2],!1),Zf(Xf.fromObject(e))}static isErrorFragment(f){return f&&f._isFragment&&"error"===f.type}}function Qf(f){return f.match(/^uint($|[^1-9])/)?f="uint256"+f.substring(4):f.match(/^int($|[^1-9])/)&&(f="int256"+f.substring(3)),f}const fe=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function ee(f){return f&&f.match(fe)||Cf.throwArgumentError(`invalid identifier "${f}"`,"value",f),f}const te=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const re=new l.Yd(S),ne=new RegExp(/^bytes([0-9]*)$/),ie=new RegExp(/^(u?int)([0-9]*)$/);class oe{constructor(f){re.checkNew(new.target,oe),p(this,"coerceFunc",f||null)}_getCoder(f){switch(f.baseType){case"address":return new df(f.name);case"bool":return new yf(f.name);case"string":return new Rf(f.name);case"bytes":return new wf(f.name);case"array":return new gf(this._getCoder(f.arrayChildren),f.arrayLength,f.name);case"tuple":return new If((f.components||[]).map((f=>this._getCoder(f))),f.name);case"":return new Ef(f.name)}let e=f.type.match(ie);if(e){let t=parseInt(e[2]||"256");return(0===t||t>256||t%8!=0)&&re.throwArgumentError("invalid "+e[1]+" bit length","param",f),new Tf(t/8,"int"===e[1],f.name)}if(e=f.type.match(ne),e){let t=parseInt(e[1]);return(0===t||t>32)&&re.throwArgumentError("invalid bytes length","param",f),new _f(t,f.name)}return re.throwArgumentError("invalid type","type",f.type)}_getWordSize(){return 32}_getReader(f,e){return new O(f,this._getWordSize(),this.coerceFunc,e)}_getWriter(){return new x(this._getWordSize())}getDefaultValue(f){const e=f.map((f=>this._getCoder(Gf.from(f))));return new If(e,"_").defaultValue()}encode(f,e){f.length!==e.length&&re.throwError("types/values length mismatch",l.Yd.errors.INVALID_ARGUMENT,{count:{types:f.length,values:e.length},value:{types:f,values:e}});const t=f.map((f=>this._getCoder(Gf.from(f)))),r=new If(t,"_"),n=this._getWriter();return r.encode(n,e),n.data}decode(f,e,t){const r=f.map((f=>this._getCoder(Gf.from(f))));return new If(r,"_").decode(this._getReader((0,c.lE)(e),t))}}const ae=new oe,se=new l.Yd(S);class ce extends A{}class ue extends A{}class le extends A{}class de extends A{static isIndexed(f){return!(!f||!f._isIndexed)}}const he={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function pe(f,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${f}`);return t.error=e,t}class be{constructor(f){se.checkNew(new.target,be);let e=[];e="string"==typeof f?JSON.parse(f):f,p(this,"fragments",e.map((f=>$f.from(f))).filter((f=>null!=f))),p(this,"_abiCoder",b(new.target,"getAbiCoder")()),p(this,"functions",{}),p(this,"errors",{}),p(this,"events",{}),p(this,"structs",{}),this.fragments.forEach((f=>{let e=null;switch(f.type){case"constructor":return this.deploy?void se.warn("duplicate definition - constructor"):void p(this,"deploy",f);case"function":e=this.functions;break;case"event":e=this.events;break;case"error":e=this.errors;break;default:return}let t=f.format();e[t]?se.warn("duplicate definition - "+t):e[t]=f})),this.deploy||p(this,"deploy",Yf.from({payable:!1,type:"constructor"})),p(this,"_isInterface",!0)}format(f){f||(f=Uf.full),f===Uf.sighash&&se.throwArgumentError("interface does not support formatting sighash","format",f);const e=this.fragments.map((e=>e.format(f)));return f===Uf.json?JSON.stringify(e.map((f=>JSON.parse(f)))):e}static getAbiCoder(){return ae}static getAddress(f){return K(f)}static getSighash(f){return(0,c.p3)(lf(f.format()),0,4)}static getEventTopic(f){return lf(f.format())}getFunction(f){if((0,c.A7)(f)){for(const e in this.functions)if(f===this.getSighash(e))return this.functions[e];se.throwArgumentError("no matching function","sighash",f)}if(-1===f.indexOf("(")){const e=f.trim(),t=Object.keys(this.functions).filter((f=>f.split("(")[0]===e));return 0===t.length?se.throwArgumentError("no matching function","name",e):t.length>1&&se.throwArgumentError("multiple matching functions","name",e),this.functions[t[0]]}const e=this.functions[Jf.fromString(f).format()];return e||se.throwArgumentError("no matching function","signature",f),e}getEvent(f){if((0,c.A7)(f)){const e=f.toLowerCase();for(const f in this.events)if(e===this.getEventTopic(f))return this.events[f];se.throwArgumentError("no matching event","topichash",e)}if(-1===f.indexOf("(")){const e=f.trim(),t=Object.keys(this.events).filter((f=>f.split("(")[0]===e));return 0===t.length?se.throwArgumentError("no matching event","name",e):t.length>1&&se.throwArgumentError("multiple matching events","name",e),this.events[t[0]]}const e=this.events[Wf.fromString(f).format()];return e||se.throwArgumentError("no matching event","signature",f),e}getError(f){if((0,c.A7)(f)){const e=b(this.constructor,"getSighash");for(const t in this.errors){if(f===e(this.errors[t]))return this.errors[t]}se.throwArgumentError("no matching error","sighash",f)}if(-1===f.indexOf("(")){const e=f.trim(),t=Object.keys(this.errors).filter((f=>f.split("(")[0]===e));return 0===t.length?se.throwArgumentError("no matching error","name",e):t.length>1&&se.throwArgumentError("multiple matching errors","name",e),this.errors[t[0]]}const e=this.errors[Jf.fromString(f).format()];return e||se.throwArgumentError("no matching error","signature",f),e}getSighash(f){if("string"==typeof f)try{f=this.getFunction(f)}catch(e){try{f=this.getError(f)}catch(f){throw e}}return b(this.constructor,"getSighash")(f)}getEventTopic(f){return"string"==typeof f&&(f=this.getEvent(f)),b(this.constructor,"getEventTopic")(f)}_decodeParams(f,e){return this._abiCoder.decode(f,e)}_encodeParams(f,e){return this._abiCoder.encode(f,e)}encodeDeploy(f){return this._encodeParams(this.deploy.inputs,f||[])}decodeErrorResult(f,e){"string"==typeof f&&(f=this.getError(f));const t=(0,c.lE)(e);return(0,c.Dv)(t.slice(0,4))!==this.getSighash(f)&&se.throwArgumentError(`data signature does not match error ${f.name}.`,"data",(0,c.Dv)(t)),this._decodeParams(f.inputs,t.slice(4))}encodeErrorResult(f,e){return"string"==typeof f&&(f=this.getError(f)),(0,c.Dv)((0,c.zo)([this.getSighash(f),this._encodeParams(f.inputs,e||[])]))}decodeFunctionData(f,e){"string"==typeof f&&(f=this.getFunction(f));const t=(0,c.lE)(e);return(0,c.Dv)(t.slice(0,4))!==this.getSighash(f)&&se.throwArgumentError(`data signature does not match function ${f.name}.`,"data",(0,c.Dv)(t)),this._decodeParams(f.inputs,t.slice(4))}encodeFunctionData(f,e){return"string"==typeof f&&(f=this.getFunction(f)),(0,c.Dv)((0,c.zo)([this.getSighash(f),this._encodeParams(f.inputs,e||[])]))}decodeFunctionResult(f,e){"string"==typeof f&&(f=this.getFunction(f));let t=(0,c.lE)(e),r=null,n=null,i=null,o=null;switch(t.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(f.outputs,t)}catch(f){}break;case 4:{const f=(0,c.Dv)(t.slice(0,4)),e=he[f];if(e)n=this._abiCoder.decode(e.inputs,t.slice(4)),i=e.name,o=e.signature,e.reason&&(r=n[0]);else try{const e=this.getError(f);n=this._abiCoder.decode(e.inputs,t.slice(4)),i=e.name,o=e.format()}catch(f){console.log(f)}break}}return se.throwError("call revert exception",l.Yd.errors.CALL_EXCEPTION,{method:f.format(),errorArgs:n,errorName:i,errorSignature:o,reason:r})}encodeFunctionResult(f,e){return"string"==typeof f&&(f=this.getFunction(f)),(0,c.Dv)(this._abiCoder.encode(f.outputs,e||[]))}encodeFilterTopics(f,e){"string"==typeof f&&(f=this.getEvent(f)),e.length>f.inputs.length&&se.throwError("too many arguments for "+f.format(),l.Yd.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});let t=[];f.anonymous||t.push(this.getEventTopic(f));const r=(f,e)=>"string"===f.type?lf(e):"bytes"===f.type?R((0,c.Dv)(e)):("address"===f.type&&this._abiCoder.encode(["address"],[e]),(0,c.$m)((0,c.Dv)(e),32));for(e.forEach(((e,n)=>{let i=f.inputs[n];i.indexed?null==e?t.push(null):"array"===i.baseType||"tuple"===i.baseType?se.throwArgumentError("filtering with tuples or arrays not supported","contract."+i.name,e):Array.isArray(e)?t.push(e.map((f=>r(i,f)))):t.push(r(i,e)):null!=e&&se.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+i.name,e)}));t.length&&null===t[t.length-1];)t.pop();return t}encodeEventLog(f,e){"string"==typeof f&&(f=this.getEvent(f));const t=[],r=[],n=[];return f.anonymous||t.push(this.getEventTopic(f)),e.length!==f.inputs.length&&se.throwArgumentError("event arguments/values mismatch","values",e),f.inputs.forEach(((f,i)=>{const o=e[i];if(f.indexed)if("string"===f.type)t.push(lf(o));else if("bytes"===f.type)t.push(R(o));else{if("tuple"===f.baseType||"array"===f.baseType)throw new Error("not implemented");t.push(this._abiCoder.encode([f.type],[o]))}else r.push(f),n.push(o)})),{data:this._abiCoder.encode(r,n),topics:t}}decodeEventLog(f,e,t){if("string"==typeof f&&(f=this.getEvent(f)),null!=t&&!f.anonymous){let e=this.getEventTopic(f);(0,c.A7)(t[0],32)&&t[0].toLowerCase()===e||se.throwError("fragment/topic mismatch",l.Yd.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:e,value:t[0]}),t=t.slice(1)}let r=[],n=[],i=[];f.inputs.forEach(((f,e)=>{f.indexed?"string"===f.type||"bytes"===f.type||"tuple"===f.baseType||"array"===f.baseType?(r.push(Gf.fromObject({type:"bytes32",name:f.name})),i.push(!0)):(r.push(f),i.push(!1)):(n.push(f),i.push(!1))}));let o=null!=t?this._abiCoder.decode(r,(0,c.zo)(t)):null,a=this._abiCoder.decode(n,e,!0),s=[],u=0,d=0;f.inputs.forEach(((f,e)=>{if(f.indexed)if(null==o)s[e]=new de({_isIndexed:!0,hash:null});else if(i[e])s[e]=new de({_isIndexed:!0,hash:o[d++]});else try{s[e]=o[d++]}catch(f){s[e]=f}else try{s[e]=a[u++]}catch(f){s[e]=f}if(f.name&&null==s[f.name]){const t=s[e];t instanceof Error?Object.defineProperty(s,f.name,{enumerable:!0,get:()=>{throw pe(`property ${JSON.stringify(f.name)}`,t)}}):s[f.name]=t}}));for(let f=0;f<s.length;f++){const e=s[f];e instanceof Error&&Object.defineProperty(s,f,{enumerable:!0,get:()=>{throw pe(`index ${f}`,e)}})}return Object.freeze(s)}parseTransaction(f){let e=this.getFunction(f.data.substring(0,10).toLowerCase());return e?new ue({args:this._abiCoder.decode(e.inputs,"0x"+f.data.substring(10)),functionFragment:e,name:e.name,signature:e.format(),sighash:this.getSighash(e),value:u.O$.from(f.value||"0")}):null}parseLog(f){let e=this.getEvent(f.topics[0]);return!e||e.anonymous?null:new ce({eventFragment:e,name:e.name,signature:e.format(),topic:this.getEventTopic(e),args:this.decodeEventLog(e,f.data,f.topics)})}parseError(f){const e=(0,c.Dv)(f);let t=this.getError(e.substring(0,10).toLowerCase());return t?new le({args:this._abiCoder.decode(t.inputs,"0x"+e.substring(10)),errorFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t)}):null}static isInterface(f){return!(!f||!f._isInterface)}}var me=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const ge=new l.Yd("abstract-provider/5.5.1");class ye extends A{static isForkEvent(f){return!(!f||!f._isForkEvent)}}class ve{constructor(){ge.checkAbstract(new.target,ve),p(this,"_isProvider",!0)}getFeeData(){return me(this,void 0,void 0,(function*(){const{block:f,gasPrice:e}=yield m({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch((f=>null))});let t=null,r=null;return f&&f.baseFeePerGas&&(r=u.O$.from("2500000000"),t=f.baseFeePerGas.mul(2).add(r)),{maxFeePerGas:t,maxPriorityFeePerGas:r,gasPrice:e}}))}addListener(f,e){return this.on(f,e)}removeListener(f,e){return this.off(f,e)}static isProvider(f){return!(!f||!f._isProvider)}}var we=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const _e=new l.Yd("abstract-signer/5.5.0"),Ee=["accessList","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],Ae=[l.Yd.errors.INSUFFICIENT_FUNDS,l.Yd.errors.NONCE_EXPIRED,l.Yd.errors.REPLACEMENT_UNDERPRICED];class Se{constructor(){_e.checkAbstract(new.target,Se),p(this,"_isSigner",!0)}getBalance(f){return we(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),f)}))}getTransactionCount(f){return we(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),f)}))}estimateGas(f){return we(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const e=yield m(this.checkTransaction(f));return yield this.provider.estimateGas(e)}))}call(f,e){return we(this,void 0,void 0,(function*(){this._checkProvider("call");const t=yield m(this.checkTransaction(f));return yield this.provider.call(t,e)}))}sendTransaction(f){return we(this,void 0,void 0,(function*(){this._checkProvider("sendTransaction");const e=yield this.populateTransaction(f),t=yield this.signTransaction(e);return yield this.provider.sendTransaction(t)}))}getChainId(){return we(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return we(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}getFeeData(){return we(this,void 0,void 0,(function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()}))}resolveName(f){return we(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(f)}))}checkTransaction(f){for(const e in f)-1===Ee.indexOf(e)&&_e.throwArgumentError("invalid transaction key: "+e,"transaction",f);const e=y(f);return null==e.from?e.from=this.getAddress():e.from=Promise.all([Promise.resolve(e.from),this.getAddress()]).then((e=>(e[0].toLowerCase()!==e[1].toLowerCase()&&_e.throwArgumentError("from address mismatch","transaction",f),e[0]))),e}populateTransaction(f){return we(this,void 0,void 0,(function*(){const e=yield m(this.checkTransaction(f));null!=e.to&&(e.to=Promise.resolve(e.to).then((f=>we(this,void 0,void 0,(function*(){if(null==f)return null;const e=yield this.resolveName(f);return null==e&&_e.throwArgumentError("provided ENS name resolves to null","tx.to",f),e})))),e.to.catch((f=>{})));const t=null!=e.maxFeePerGas||null!=e.maxPriorityFeePerGas;if(null==e.gasPrice||2!==e.type&&!t?0!==e.type&&1!==e.type||!t||_e.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",f):_e.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",f),2!==e.type&&null!=e.type||null==e.maxFeePerGas||null==e.maxPriorityFeePerGas)if(0===e.type||1===e.type)null==e.gasPrice&&(e.gasPrice=this.getGasPrice());else{const f=yield this.getFeeData();if(null==e.type)if(null!=f.maxFeePerGas&&null!=f.maxPriorityFeePerGas)if(e.type=2,null!=e.gasPrice){const f=e.gasPrice;delete e.gasPrice,e.maxFeePerGas=f,e.maxPriorityFeePerGas=f}else null==e.maxFeePerGas&&(e.maxFeePerGas=f.maxFeePerGas),null==e.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=f.maxPriorityFeePerGas);else null!=f.gasPrice?(t&&_e.throwError("network does not support EIP-1559",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==e.gasPrice&&(e.gasPrice=f.gasPrice),e.type=0):_e.throwError("failed to get consistent fee data",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else 2===e.type&&(null==e.maxFeePerGas&&(e.maxFeePerGas=f.maxFeePerGas),null==e.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=f.maxPriorityFeePerGas))}else e.type=2;return null==e.nonce&&(e.nonce=this.getTransactionCount("pending")),null==e.gasLimit&&(e.gasLimit=this.estimateGas(e).catch((f=>{if(Ae.indexOf(f.code)>=0)throw f;return _e.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",l.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:f,tx:e})}))),null==e.chainId?e.chainId=this.getChainId():e.chainId=Promise.all([Promise.resolve(e.chainId),this.getChainId()]).then((e=>(0!==e[1]&&e[0]!==e[1]&&_e.throwArgumentError("chainId address mismatch","transaction",f),e[0]))),yield m(e)}))}_checkProvider(f){this.provider||_e.throwError("missing provider",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:f||"_checkProvider"})}static isSigner(f){return!(!f||!f._isSigner)}}class ke extends Se{constructor(f,e){_e.checkNew(new.target,ke),super(),p(this,"address",f),p(this,"provider",e||null)}getAddress(){return Promise.resolve(this.address)}_fail(f,e){return Promise.resolve().then((()=>{_e.throwError(f,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:e})}))}signMessage(f){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(f){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(f,e,t){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(f){return new ke(this.address,f)}}var Me=t(3550),Pe=t.n(Me),xe=t(3715),Oe=t.n(xe);"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==t.g?t.g:"undefined"!=typeof self&&self;function Ne(f,e,t){return t={path:e,exports:{},require:function(f,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&t.path)}},f(t,t.exports),t.exports}var Te=Re;function Re(f,e){if(!f)throw new Error(e||"Assertion failed")}Re.equal=function(f,e,t){if(f!=e)throw new Error(t||"Assertion failed: "+f+" != "+e)};var Ie=Ne((function(f,e){var t=e;function r(f){return 1===f.length?"0"+f:f}function n(f){for(var e="",t=0;t<f.length;t++)e+=r(f[t].toString(16));return e}t.toArray=function(f,e){if(Array.isArray(f))return f.slice();if(!f)return[];var t=[];if("string"!=typeof f){for(var r=0;r<f.length;r++)t[r]=0|f[r];return t}if("hex"===e){(f=f.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(f="0"+f);for(r=0;r<f.length;r+=2)t.push(parseInt(f[r]+f[r+1],16))}else for(r=0;r<f.length;r++){var n=f.charCodeAt(r),i=n>>8,o=255&n;i?t.push(i,o):t.push(o)}return t},t.zero2=r,t.toHex=n,t.encode=function(f,e){return"hex"===e?n(f):f}})),Ce=Ne((function(f,e){var t=e;t.assert=Te,t.toArray=Ie.toArray,t.zero2=Ie.zero2,t.toHex=Ie.toHex,t.encode=Ie.encode,t.getNAF=function(f,e,t){var r=new Array(Math.max(f.bitLength(),t)+1);r.fill(0);for(var n=1<<e+1,i=f.clone(),o=0;o<r.length;o++){var a,s=i.andln(n-1);i.isOdd()?(a=s>(n>>1)-1?(n>>1)-s:s,i.isubn(a)):a=0,r[o]=a,i.iushrn(1)}return r},t.getJSF=function(f,e){var t=[[],[]];f=f.clone(),e=e.clone();for(var r,n=0,i=0;f.cmpn(-n)>0||e.cmpn(-i)>0;){var o,a,s=f.andln(3)+n&3,c=e.andln(3)+i&3;3===s&&(s=-1),3===c&&(c=-1),o=0==(1&s)?0:3!==(r=f.andln(7)+n&7)&&5!==r||2!==c?s:-s,t[0].push(o),a=0==(1&c)?0:3!==(r=e.andln(7)+i&7)&&5!==r||2!==s?c:-c,t[1].push(a),2*n===o+1&&(n=1-n),2*i===a+1&&(i=1-i),f.iushrn(1),e.iushrn(1)}return t},t.cachedProperty=function(f,e,t){var r="_"+e;f.prototype[e]=function(){return void 0!==this[r]?this[r]:this[r]=t.call(this)}},t.parseBytes=function(f){return"string"==typeof f?t.toArray(f,"hex"):f},t.intFromLE=function(f){return new(Pe())(f,"hex","le")}})),Fe=Ce.getNAF,Be=Ce.getJSF,De=Ce.assert;function Le(f,e){this.type=f,this.p=new(Pe())(e.p,16),this.red=e.prime?Pe().red(e.prime):Pe().mont(this.p),this.zero=new(Pe())(0).toRed(this.red),this.one=new(Pe())(1).toRed(this.red),this.two=new(Pe())(2).toRed(this.red),this.n=e.n&&new(Pe())(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 t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var je=Le;function Ue(f,e){this.curve=f,this.type=e,this.precomputed=null}Le.prototype.point=function(){throw new Error("Not implemented")},Le.prototype.validate=function(){throw new Error("Not implemented")},Le.prototype._fixedNafMul=function(f,e){De(f.precomputed);var t=f._getDoubles(),r=Fe(e,1,this._bitLength),n=(1<<t.step+1)-(t.step%2==0?2:1);n/=3;var i,o,a=[];for(i=0;i<r.length;i+=t.step){o=0;for(var s=i+t.step-1;s>=i;s--)o=(o<<1)+r[s];a.push(o)}for(var c=this.jpoint(null,null,null),u=this.jpoint(null,null,null),l=n;l>0;l--){for(i=0;i<a.length;i++)(o=a[i])===l?u=u.mixedAdd(t.points[i]):o===-l&&(u=u.mixedAdd(t.points[i].neg()));c=c.add(u)}return c.toP()},Le.prototype._wnafMul=function(f,e){var t=4,r=f._getNAFPoints(t);t=r.wnd;for(var n=r.points,i=Fe(e,t,this._bitLength),o=this.jpoint(null,null,null),a=i.length-1;a>=0;a--){for(var s=0;a>=0&&0===i[a];a--)s++;if(a>=0&&s++,o=o.dblp(s),a<0)break;var c=i[a];De(0!==c),o="affine"===f.type?c>0?o.mixedAdd(n[c-1>>1]):o.mixedAdd(n[-c-1>>1].neg()):c>0?o.add(n[c-1>>1]):o.add(n[-c-1>>1].neg())}return"affine"===f.type?o.toP():o},Le.prototype._wnafMulAdd=function(f,e,t,r,n){var i,o,a,s=this._wnafT1,c=this._wnafT2,u=this._wnafT3,l=0;for(i=0;i<r;i++){var d=(a=e[i])._getNAFPoints(f);s[i]=d.wnd,c[i]=d.points}for(i=r-1;i>=1;i-=2){var h=i-1,p=i;if(1===s[h]&&1===s[p]){var b=[e[h],null,null,e[p]];0===e[h].y.cmp(e[p].y)?(b[1]=e[h].add(e[p]),b[2]=e[h].toJ().mixedAdd(e[p].neg())):0===e[h].y.cmp(e[p].y.redNeg())?(b[1]=e[h].toJ().mixedAdd(e[p]),b[2]=e[h].add(e[p].neg())):(b[1]=e[h].toJ().mixedAdd(e[p]),b[2]=e[h].toJ().mixedAdd(e[p].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],g=Be(t[h],t[p]);for(l=Math.max(g[0].length,l),u[h]=new Array(l),u[p]=new Array(l),o=0;o<l;o++){var y=0|g[0][o],v=0|g[1][o];u[h][o]=m[3*(y+1)+(v+1)],u[p][o]=0,c[h]=b}}else u[h]=Fe(t[h],s[h],this._bitLength),u[p]=Fe(t[p],s[p],this._bitLength),l=Math.max(u[h].length,l),l=Math.max(u[p].length,l)}var w=this.jpoint(null,null,null),_=this._wnafT4;for(i=l;i>=0;i--){for(var E=0;i>=0;){var A=!0;for(o=0;o<r;o++)_[o]=0|u[o][i],0!==_[o]&&(A=!1);if(!A)break;E++,i--}if(i>=0&&E++,w=w.dblp(E),i<0)break;for(o=0;o<r;o++){var S=_[o];0!==S&&(S>0?a=c[o][S-1>>1]:S<0&&(a=c[o][-S-1>>1].neg()),w="affine"===a.type?w.mixedAdd(a):w.add(a))}}for(i=0;i<r;i++)c[i]=null;return n?w:w.toP()},Le.BasePoint=Ue,Ue.prototype.eq=function(){throw new Error("Not implemented")},Ue.prototype.validate=function(){return this.curve.validate(this)},Le.prototype.decodePoint=function(f,e){f=Ce.toArray(f,e);var t=this.p.byteLength();if((4===f[0]||6===f[0]||7===f[0])&&f.length-1==2*t)return 6===f[0]?De(f[f.length-1]%2==0):7===f[0]&&De(f[f.length-1]%2==1),this.point(f.slice(1,1+t),f.slice(1+t,1+2*t));if((2===f[0]||3===f[0])&&f.length-1===t)return this.pointFromX(f.slice(1,1+t),3===f[0]);throw new Error("Unknown point format")},Ue.prototype.encodeCompressed=function(f){return this.encode(f,!0)},Ue.prototype._encode=function(f){var e=this.curve.p.byteLength(),t=this.getX().toArray("be",e);return f?[this.getY().isEven()?2:3].concat(t):[4].concat(t,this.getY().toArray("be",e))},Ue.prototype.encode=function(f,e){return Ce.encode(this._encode(e),f)},Ue.prototype.precompute=function(f){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,f),e.beta=this._getBeta(),this.precomputed=e,this},Ue.prototype._hasDoubles=function(f){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((f.bitLength()+1)/e.step)},Ue.prototype._getDoubles=function(f,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],r=this,n=0;n<e;n+=f){for(var i=0;i<f;i++)r=r.dbl();t.push(r)}return{step:f,points:t}},Ue.prototype._getNAFPoints=function(f){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],t=(1<<f)-1,r=1===t?null:this.dbl(),n=1;n<t;n++)e[n]=e[n-1].add(r);return{wnd:f,points:e}},Ue.prototype._getBeta=function(){return null},Ue.prototype.dblp=function(f){for(var e=this,t=0;t<f;t++)e=e.dbl();return e};var ze=Ne((function(f){"function"==typeof Object.create?f.exports=function(f,e){e&&(f.super_=e,f.prototype=Object.create(e.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}))}:f.exports=function(f,e){if(e){f.super_=e;var t=function(){};t.prototype=e.prototype,f.prototype=new t,f.prototype.constructor=f}}})),Ge=Ce.assert;function qe(f){je.call(this,"short",f),this.a=new(Pe())(f.a,16).toRed(this.red),this.b=new(Pe())(f.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(f),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}ze(qe,je);var $e=qe;function We(f,e,t,r){je.BasePoint.call(this,f,"affine"),null===e&&null===t?(this.x=null,this.y=null,this.inf=!0):(this.x=new(Pe())(e,16),this.y=new(Pe())(t,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function He(f,e,t,r){je.BasePoint.call(this,f,"jacobian"),null===e&&null===t&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new(Pe())(0)):(this.x=new(Pe())(e,16),this.y=new(Pe())(t,16),this.z=new(Pe())(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}qe.prototype._getEndomorphism=function(f){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,t;if(f.beta)e=new(Pe())(f.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);e=(e=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(f.lambda)t=new(Pe())(f.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(e))?t=n[0]:(t=n[1],Ge(0===this.g.mul(t).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:t,basis:f.basis?f.basis.map((function(f){return{a:new(Pe())(f.a,16),b:new(Pe())(f.b,16)}})):this._getEndoBasis(t)}}},qe.prototype._getEndoRoots=function(f){var e=f===this.p?this.red:Pe().mont(f),t=new(Pe())(2).toRed(e).redInvm(),r=t.redNeg(),n=new(Pe())(3).toRed(e).redNeg().redSqrt().redMul(t);return[r.redAdd(n).fromRed(),r.redSub(n).fromRed()]},qe.prototype._getEndoBasis=function(f){for(var e,t,r,n,i,o,a,s,c,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=f,d=this.n.clone(),h=new(Pe())(1),p=new(Pe())(0),b=new(Pe())(0),m=new(Pe())(1),g=0;0!==l.cmpn(0);){var y=d.div(l);s=d.sub(y.mul(l)),c=b.sub(y.mul(h));var v=m.sub(y.mul(p));if(!r&&s.cmp(u)<0)e=a.neg(),t=h,r=s.neg(),n=c;else if(r&&2==++g)break;a=s,d=l,l=s,b=h,h=c,m=p,p=v}i=s.neg(),o=c;var w=r.sqr().add(n.sqr());return i.sqr().add(o.sqr()).cmp(w)>=0&&(i=e,o=t),r.negative&&(r=r.neg(),n=n.neg()),i.negative&&(i=i.neg(),o=o.neg()),[{a:r,b:n},{a:i,b:o}]},qe.prototype._endoSplit=function(f){var e=this.endo.basis,t=e[0],r=e[1],n=r.b.mul(f).divRound(this.n),i=t.b.neg().mul(f).divRound(this.n),o=n.mul(t.a),a=i.mul(r.a),s=n.mul(t.b),c=i.mul(r.b);return{k1:f.sub(o).sub(a),k2:s.add(c).neg()}},qe.prototype.pointFromX=function(f,e){(f=new(Pe())(f,16)).red||(f=f.toRed(this.red));var t=f.redSqr().redMul(f).redIAdd(f.redMul(this.a)).redIAdd(this.b),r=t.redSqrt();if(0!==r.redSqr().redSub(t).cmp(this.zero))throw new Error("invalid point");var n=r.fromRed().isOdd();return(e&&!n||!e&&n)&&(r=r.redNeg()),this.point(f,r)},qe.prototype.validate=function(f){if(f.inf)return!0;var e=f.x,t=f.y,r=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(r).redIAdd(this.b);return 0===t.redSqr().redISub(n).cmpn(0)},qe.prototype._endoWnafMulAdd=function(f,e,t){for(var r=this._endoWnafT1,n=this._endoWnafT2,i=0;i<f.length;i++){var o=this._endoSplit(e[i]),a=f[i],s=a._getBeta();o.k1.negative&&(o.k1.ineg(),a=a.neg(!0)),o.k2.negative&&(o.k2.ineg(),s=s.neg(!0)),r[2*i]=a,r[2*i+1]=s,n[2*i]=o.k1,n[2*i+1]=o.k2}for(var c=this._wnafMulAdd(1,r,n,2*i,t),u=0;u<2*i;u++)r[u]=null,n[u]=null;return c},ze(We,je.BasePoint),qe.prototype.point=function(f,e,t){return new We(this,f,e,t)},qe.prototype.pointFromJSON=function(f,e){return We.fromJSON(this,f,e)},We.prototype._getBeta=function(){if(this.curve.endo){var f=this.precomputed;if(f&&f.beta)return f.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(f){var t=this.curve,r=function(f){return t.point(f.x.redMul(t.endo.beta),f.y)};f.beta=e,e.precomputed={beta:null,naf:f.naf&&{wnd:f.naf.wnd,points:f.naf.points.map(r)},doubles:f.doubles&&{step:f.doubles.step,points:f.doubles.points.map(r)}}}return e}},We.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]},We.fromJSON=function(f,e,t){"string"==typeof e&&(e=JSON.parse(e));var r=f.point(e[0],e[1],t);if(!e[2])return r;function n(e){return f.point(e[0],e[1],t)}var i=e[2];return r.precomputed={beta:null,doubles:i.doubles&&{step:i.doubles.step,points:[r].concat(i.doubles.points.map(n))},naf:i.naf&&{wnd:i.naf.wnd,points:[r].concat(i.naf.points.map(n))}},r},We.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)+">"},We.prototype.isInfinity=function(){return this.inf},We.prototype.add=function(f){if(this.inf)return f;if(f.inf)return this;if(this.eq(f))return this.dbl();if(this.neg().eq(f))return this.curve.point(null,null);if(0===this.x.cmp(f.x))return this.curve.point(null,null);var e=this.y.redSub(f.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(f.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(f.x),r=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,r)},We.prototype.dbl=function(){if(this.inf)return this;var f=this.y.redAdd(this.y);if(0===f.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),r=f.redInvm(),n=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(r),i=n.redSqr().redISub(this.x.redAdd(this.x)),o=n.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,o)},We.prototype.getX=function(){return this.x.fromRed()},We.prototype.getY=function(){return this.y.fromRed()},We.prototype.mul=function(f){return f=new(Pe())(f,16),this.isInfinity()?this:this._hasDoubles(f)?this.curve._fixedNafMul(this,f):this.curve.endo?this.curve._endoWnafMulAdd([this],[f]):this.curve._wnafMul(this,f)},We.prototype.mulAdd=function(f,e,t){var r=[this,e],n=[f,t];return this.curve.endo?this.curve._endoWnafMulAdd(r,n):this.curve._wnafMulAdd(1,r,n,2)},We.prototype.jmulAdd=function(f,e,t){var r=[this,e],n=[f,t];return this.curve.endo?this.curve._endoWnafMulAdd(r,n,!0):this.curve._wnafMulAdd(1,r,n,2,!0)},We.prototype.eq=function(f){return this===f||this.inf===f.inf&&(this.inf||0===this.x.cmp(f.x)&&0===this.y.cmp(f.y))},We.prototype.neg=function(f){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(f&&this.precomputed){var t=this.precomputed,r=function(f){return f.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(r)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(r)}}}return e},We.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},ze(He,je.BasePoint),qe.prototype.jpoint=function(f,e,t){return new He(this,f,e,t)},He.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var f=this.z.redInvm(),e=f.redSqr(),t=this.x.redMul(e),r=this.y.redMul(e).redMul(f);return this.curve.point(t,r)},He.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},He.prototype.add=function(f){if(this.isInfinity())return f;if(f.isInfinity())return this;var e=f.z.redSqr(),t=this.z.redSqr(),r=this.x.redMul(e),n=f.x.redMul(t),i=this.y.redMul(e.redMul(f.z)),o=f.y.redMul(t.redMul(this.z)),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),u=c.redMul(a),l=r.redMul(c),d=s.redSqr().redIAdd(u).redISub(l).redISub(l),h=s.redMul(l.redISub(d)).redISub(i.redMul(u)),p=this.z.redMul(f.z).redMul(a);return this.curve.jpoint(d,h,p)},He.prototype.mixedAdd=function(f){if(this.isInfinity())return f.toJ();if(f.isInfinity())return this;var e=this.z.redSqr(),t=this.x,r=f.x.redMul(e),n=this.y,i=f.y.redMul(e).redMul(this.z),o=t.redSub(r),a=n.redSub(i);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var s=o.redSqr(),c=s.redMul(o),u=t.redMul(s),l=a.redSqr().redIAdd(c).redISub(u).redISub(u),d=a.redMul(u.redISub(l)).redISub(n.redMul(c)),h=this.z.redMul(o);return this.curve.jpoint(l,d,h)},He.prototype.dblp=function(f){if(0===f)return this;if(this.isInfinity())return this;if(!f)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var t=this;for(e=0;e<f;e++)t=t.dbl();return t}var r=this.curve.a,n=this.curve.tinv,i=this.x,o=this.y,a=this.z,s=a.redSqr().redSqr(),c=o.redAdd(o);for(e=0;e<f;e++){var u=i.redSqr(),l=c.redSqr(),d=l.redSqr(),h=u.redAdd(u).redIAdd(u).redIAdd(r.redMul(s)),p=i.redMul(l),b=h.redSqr().redISub(p.redAdd(p)),m=p.redISub(b),g=h.redMul(m);g=g.redIAdd(g).redISub(d);var y=c.redMul(a);e+1<f&&(s=s.redMul(d)),i=b,a=y,c=g}return this.curve.jpoint(i,c.redMul(n),a)},He.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},He.prototype._zeroDbl=function(){var f,e,t;if(this.zOne){var r=this.x.redSqr(),n=this.y.redSqr(),i=n.redSqr(),o=this.x.redAdd(n).redSqr().redISub(r).redISub(i);o=o.redIAdd(o);var a=r.redAdd(r).redIAdd(r),s=a.redSqr().redISub(o).redISub(o),c=i.redIAdd(i);c=(c=c.redIAdd(c)).redIAdd(c),f=s,e=a.redMul(o.redISub(s)).redISub(c),t=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),l=this.y.redSqr(),d=l.redSqr(),h=this.x.redAdd(l).redSqr().redISub(u).redISub(d);h=h.redIAdd(h);var p=u.redAdd(u).redIAdd(u),b=p.redSqr(),m=d.redIAdd(d);m=(m=m.redIAdd(m)).redIAdd(m),f=b.redISub(h).redISub(h),e=p.redMul(h.redISub(f)).redISub(m),t=(t=this.y.redMul(this.z)).redIAdd(t)}return this.curve.jpoint(f,e,t)},He.prototype._threeDbl=function(){var f,e,t;if(this.zOne){var r=this.x.redSqr(),n=this.y.redSqr(),i=n.redSqr(),o=this.x.redAdd(n).redSqr().redISub(r).redISub(i);o=o.redIAdd(o);var a=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),s=a.redSqr().redISub(o).redISub(o);f=s;var c=i.redIAdd(i);c=(c=c.redIAdd(c)).redIAdd(c),e=a.redMul(o.redISub(s)).redISub(c),t=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),l=this.y.redSqr(),d=this.x.redMul(l),h=this.x.redSub(u).redMul(this.x.redAdd(u));h=h.redAdd(h).redIAdd(h);var p=d.redIAdd(d),b=(p=p.redIAdd(p)).redAdd(p);f=h.redSqr().redISub(b),t=this.y.redAdd(this.z).redSqr().redISub(l).redISub(u);var m=l.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),e=h.redMul(p.redISub(f)).redISub(m)}return this.curve.jpoint(f,e,t)},He.prototype._dbl=function(){var f=this.curve.a,e=this.x,t=this.y,r=this.z,n=r.redSqr().redSqr(),i=e.redSqr(),o=t.redSqr(),a=i.redAdd(i).redIAdd(i).redIAdd(f.redMul(n)),s=e.redAdd(e),c=(s=s.redIAdd(s)).redMul(o),u=a.redSqr().redISub(c.redAdd(c)),l=c.redISub(u),d=o.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=a.redMul(l).redISub(d),p=t.redAdd(t).redMul(r);return this.curve.jpoint(u,h,p)},He.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var f=this.x.redSqr(),e=this.y.redSqr(),t=this.z.redSqr(),r=e.redSqr(),n=f.redAdd(f).redIAdd(f),i=n.redSqr(),o=this.x.redAdd(e).redSqr().redISub(f).redISub(r),a=(o=(o=(o=o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(i)).redSqr(),s=r.redIAdd(r);s=(s=(s=s.redIAdd(s)).redIAdd(s)).redIAdd(s);var c=n.redIAdd(o).redSqr().redISub(i).redISub(a).redISub(s),u=e.redMul(c);u=(u=u.redIAdd(u)).redIAdd(u);var l=this.x.redMul(a).redISub(u);l=(l=l.redIAdd(l)).redIAdd(l);var d=this.y.redMul(c.redMul(s.redISub(c)).redISub(o.redMul(a)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=this.z.redAdd(o).redSqr().redISub(t).redISub(a);return this.curve.jpoint(l,d,h)},He.prototype.mul=function(f,e){return f=new(Pe())(f,e),this.curve._wnafMul(this,f)},He.prototype.eq=function(f){if("affine"===f.type)return this.eq(f.toJ());if(this===f)return!0;var e=this.z.redSqr(),t=f.z.redSqr();if(0!==this.x.redMul(t).redISub(f.x.redMul(e)).cmpn(0))return!1;var r=e.redMul(this.z),n=t.redMul(f.z);return 0===this.y.redMul(n).redISub(f.y.redMul(r)).cmpn(0)},He.prototype.eqXToP=function(f){var e=this.z.redSqr(),t=f.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(t))return!0;for(var r=f.clone(),n=this.curve.redN.redMul(e);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},He.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)+">"},He.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ke=Ne((function(f,e){var t=e;t.base=je,t.short=$e,t.mont=null,t.edwards=null})),Ve=Ne((function(f,e){var t,r=e,n=Ce.assert;function i(f){"short"===f.type?this.curve=new Ke.short(f):"edwards"===f.type?this.curve=new Ke.edwards(f):this.curve=new Ke.mont(f),this.g=this.curve.g,this.n=this.curve.n,this.hash=f.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function o(f,e){Object.defineProperty(r,f,{configurable:!0,enumerable:!0,get:function(){var t=new i(e);return Object.defineProperty(r,f,{configurable:!0,enumerable:!0,value:t}),t}})}r.PresetCurve=i,o("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:Oe().sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),o("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:Oe().sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),o("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:Oe().sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),o("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:Oe().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"]}),o("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:Oe().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"]}),o("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Oe().sha256,gRed:!1,g:["9"]}),o("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:Oe().sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{t=null.crash()}catch(f){t=void 0}o("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:Oe().sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",t]})}));function Ye(f){if(!(this instanceof Ye))return new Ye(f);this.hash=f.hash,this.predResist=!!f.predResist,this.outLen=this.hash.outSize,this.minEntropy=f.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Ie.toArray(f.entropy,f.entropyEnc||"hex"),t=Ie.toArray(f.nonce,f.nonceEnc||"hex"),r=Ie.toArray(f.pers,f.persEnc||"hex");Te(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,r)}var Je=Ye;Ye.prototype._init=function(f,e,t){var r=f.concat(e).concat(t);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(r),this._reseed=1,this.reseedInterval=281474976710656},Ye.prototype._hmac=function(){return new(Oe().hmac)(this.hash,this.K)},Ye.prototype._update=function(f){var e=this._hmac().update(this.V).update([0]);f&&(e=e.update(f)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),f&&(this.K=this._hmac().update(this.V).update([1]).update(f).digest(),this.V=this._hmac().update(this.V).digest())},Ye.prototype.reseed=function(f,e,t,r){"string"!=typeof e&&(r=t,t=e,e=null),f=Ie.toArray(f,e),t=Ie.toArray(t,r),Te(f.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(f.concat(t||[])),this._reseed=1},Ye.prototype.generate=function(f,e,t,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(r=t,t=e,e=null),t&&(t=Ie.toArray(t,r||"hex"),this._update(t));for(var n=[];n.length<f;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var i=n.slice(0,f);return this._update(t),this._reseed++,Ie.encode(i,e)};var Ze=Ce.assert;function Xe(f,e){this.ec=f,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Qe=Xe;Xe.fromPublic=function(f,e,t){return e instanceof Xe?e:new Xe(f,{pub:e,pubEnc:t})},Xe.fromPrivate=function(f,e,t){return e instanceof Xe?e:new Xe(f,{priv:e,privEnc:t})},Xe.prototype.validate=function(){var f=this.getPublic();return f.isInfinity()?{result:!1,reason:"Invalid public key"}:f.validate()?f.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"}},Xe.prototype.getPublic=function(f,e){return"string"==typeof f&&(e=f,f=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,f):this.pub},Xe.prototype.getPrivate=function(f){return"hex"===f?this.priv.toString(16,2):this.priv},Xe.prototype._importPrivate=function(f,e){this.priv=new(Pe())(f,e||16),this.priv=this.priv.umod(this.ec.curve.n)},Xe.prototype._importPublic=function(f,e){if(f.x||f.y)return"mont"===this.ec.curve.type?Ze(f.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Ze(f.x&&f.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(f.x,f.y));this.pub=this.ec.curve.decodePoint(f,e)},Xe.prototype.derive=function(f){return f.validate()||Ze(f.validate(),"public point not validated"),f.mul(this.priv).getX()},Xe.prototype.sign=function(f,e,t){return this.ec.sign(f,this,e,t)},Xe.prototype.verify=function(f,e){return this.ec.verify(f,e,this)},Xe.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var ft=Ce.assert;function et(f,e){if(f instanceof et)return f;this._importDER(f,e)||(ft(f.r&&f.s,"Signature without r or s"),this.r=new(Pe())(f.r,16),this.s=new(Pe())(f.s,16),void 0===f.recoveryParam?this.recoveryParam=null:this.recoveryParam=f.recoveryParam)}var tt=et;function rt(){this.place=0}function nt(f,e){var t=f[e.place++];if(!(128&t))return t;var r=15&t;if(0===r||r>4)return!1;for(var n=0,i=0,o=e.place;i<r;i++,o++)n<<=8,n|=f[o],n>>>=0;return!(n<=127)&&(e.place=o,n)}function it(f){for(var e=0,t=f.length-1;!f[e]&&!(128&f[e+1])&&e<t;)e++;return 0===e?f:f.slice(e)}function ot(f,e){if(e<128)f.push(e);else{var t=1+(Math.log(e)/Math.LN2>>>3);for(f.push(128|t);--t;)f.push(e>>>(t<<3)&255);f.push(e)}}et.prototype._importDER=function(f,e){f=Ce.toArray(f,e);var t=new rt;if(48!==f[t.place++])return!1;var r=nt(f,t);if(!1===r)return!1;if(r+t.place!==f.length)return!1;if(2!==f[t.place++])return!1;var n=nt(f,t);if(!1===n)return!1;var i=f.slice(t.place,n+t.place);if(t.place+=n,2!==f[t.place++])return!1;var o=nt(f,t);if(!1===o)return!1;if(f.length!==o+t.place)return!1;var a=f.slice(t.place,o+t.place);if(0===i[0]){if(!(128&i[1]))return!1;i=i.slice(1)}if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}return this.r=new(Pe())(i),this.s=new(Pe())(a),this.recoveryParam=null,!0},et.prototype.toDER=function(f){var e=this.r.toArray(),t=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&t[0]&&(t=[0].concat(t)),e=it(e),t=it(t);!(t[0]||128&t[1]);)t=t.slice(1);var r=[2];ot(r,e.length),(r=r.concat(e)).push(2),ot(r,t.length);var n=r.concat(t),i=[48];return ot(i,n.length),i=i.concat(n),Ce.encode(i,f)};var at=function(){throw new Error("unsupported")},st=Ce.assert;function ct(f){if(!(this instanceof ct))return new ct(f);"string"==typeof f&&(st(Object.prototype.hasOwnProperty.call(Ve,f),"Unknown curve "+f),f=Ve[f]),f instanceof Ve.PresetCurve&&(f={curve:f}),this.curve=f.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=f.curve.g,this.g.precompute(f.curve.n.bitLength()+1),this.hash=f.hash||f.curve.hash}var ut=ct;ct.prototype.keyPair=function(f){return new Qe(this,f)},ct.prototype.keyFromPrivate=function(f,e){return Qe.fromPrivate(this,f,e)},ct.prototype.keyFromPublic=function(f,e){return Qe.fromPublic(this,f,e)},ct.prototype.genKeyPair=function(f){f||(f={});for(var e=new Je({hash:this.hash,pers:f.pers,persEnc:f.persEnc||"utf8",entropy:f.entropy||at(this.hash.hmacStrength),entropyEnc:f.entropy&&f.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),r=this.n.sub(new(Pe())(2));;){var n=new(Pe())(e.generate(t));if(!(n.cmp(r)>0))return n.iaddn(1),this.keyFromPrivate(n)}},ct.prototype._truncateToN=function(f,e){var t=8*f.byteLength()-this.n.bitLength();return t>0&&(f=f.ushrn(t)),!e&&f.cmp(this.n)>=0?f.sub(this.n):f},ct.prototype.sign=function(f,e,t,r){"object"==typeof t&&(r=t,t=null),r||(r={}),e=this.keyFromPrivate(e,t),f=this._truncateToN(new(Pe())(f,16));for(var n=this.n.byteLength(),i=e.getPrivate().toArray("be",n),o=f.toArray("be",n),a=new Je({hash:this.hash,entropy:i,nonce:o,pers:r.pers,persEnc:r.persEnc||"utf8"}),s=this.n.sub(new(Pe())(1)),c=0;;c++){var u=r.k?r.k(c):new(Pe())(a.generate(this.n.byteLength()));if(!((u=this._truncateToN(u,!0)).cmpn(1)<=0||u.cmp(s)>=0)){var l=this.g.mul(u);if(!l.isInfinity()){var d=l.getX(),h=d.umod(this.n);if(0!==h.cmpn(0)){var p=u.invm(this.n).mul(h.mul(e.getPrivate()).iadd(f));if(0!==(p=p.umod(this.n)).cmpn(0)){var b=(l.getY().isOdd()?1:0)|(0!==d.cmp(h)?2:0);return r.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),b^=1),new tt({r:h,s:p,recoveryParam:b})}}}}}},ct.prototype.verify=function(f,e,t,r){f=this._truncateToN(new(Pe())(f,16)),t=this.keyFromPublic(t,r);var n=(e=new tt(e,"hex")).r,i=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;var o,a=i.invm(this.n),s=a.mul(f).umod(this.n),c=a.mul(n).umod(this.n);return this.curve._maxwellTrick?!(o=this.g.jmulAdd(s,t.getPublic(),c)).isInfinity()&&o.eqXToP(n):!(o=this.g.mulAdd(s,t.getPublic(),c)).isInfinity()&&0===o.getX().umod(this.n).cmp(n)},ct.prototype.recoverPubKey=function(f,e,t,r){st((3&t)===t,"The recovery param is more than two bits"),e=new tt(e,r);var n=this.n,i=new(Pe())(f),o=e.r,a=e.s,s=1&t,c=t>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");o=c?this.curve.pointFromX(o.add(this.curve.n),s):this.curve.pointFromX(o,s);var u=e.r.invm(n),l=n.sub(i).mul(u).umod(n),d=a.mul(u).umod(n);return this.g.mulAdd(l,o,d)},ct.prototype.getKeyRecoveryParam=function(f,e,t,r){if(null!==(e=new tt(e,r)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var i;try{i=this.recoverPubKey(f,e,n)}catch(f){continue}if(i.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var lt=Ne((function(f,e){var t=e;t.version="6.5.4",t.utils=Ce,t.rand=function(){throw new Error("unsupported")},t.curve=Ke,t.curves=Ve,t.ec=ut,t.eddsa=null})).ec;const dt=new l.Yd("signing-key/5.5.0");let ht=null;function pt(){return ht||(ht=new lt("secp256k1")),ht}class bt{constructor(f){p(this,"curve","secp256k1"),p(this,"privateKey",(0,c.Dv)(f));const e=pt().keyFromPrivate((0,c.lE)(this.privateKey));p(this,"publicKey","0x"+e.getPublic(!1,"hex")),p(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),p(this,"_isSigningKey",!0)}_addPoint(f){const e=pt().keyFromPublic((0,c.lE)(this.publicKey)),t=pt().keyFromPublic((0,c.lE)(f));return"0x"+e.pub.add(t.pub).encodeCompressed("hex")}signDigest(f){const e=pt().keyFromPrivate((0,c.lE)(this.privateKey)),t=(0,c.lE)(f);32!==t.length&&dt.throwArgumentError("bad digest length","digest",f);const r=e.sign(t,{canonical:!0});return(0,c.N)({recoveryParam:r.recoveryParam,r:(0,c.$m)("0x"+r.r.toString(16),32),s:(0,c.$m)("0x"+r.s.toString(16),32)})}computeSharedSecret(f){const e=pt().keyFromPrivate((0,c.lE)(this.privateKey)),t=pt().keyFromPublic((0,c.lE)(gt(f)));return(0,c.$m)("0x"+e.derive(t.getPublic()).toString(16),32)}static isSigningKey(f){return!(!f||!f._isSigningKey)}}function mt(f,e){const t=(0,c.N)(e),r={r:(0,c.lE)(t.r),s:(0,c.lE)(t.s)};return"0x"+pt().recoverPubKey((0,c.lE)(f),r,t.recoveryParam).encode("hex",!1)}function gt(f,e){const t=(0,c.lE)(f);if(32===t.length){const f=new bt(t);return e?"0x"+pt().keyFromPrivate(t).getPublic(!0,"hex"):f.publicKey}return 33===t.length?e?(0,c.Dv)(t):"0x"+pt().keyFromPublic(t).getPublic(!1,"hex"):65===t.length?e?"0x"+pt().keyFromPublic(t).getPublic(!0,"hex"):(0,c.Dv)(t):dt.throwArgumentError("invalid public or private key","key","[REDACTED]")}const yt=new l.Yd("transactions/5.5.0");var vt;function wt(f){return"0x"===f?null:K(f)}function _t(f){return"0x"===f?Sf:u.O$.from(f)}!function(f){f[f.legacy=0]="legacy",f[f.eip2930=1]="eip2930",f[f.eip1559=2]="eip1559"}(vt||(vt={}));const Et=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],At={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function St(f){const e=gt(f);return K((0,c.p3)(R((0,c.p3)(e,1)),12))}function kt(f,e){return St(mt((0,c.lE)(f),e))}function Mt(f,e){const t=(0,c.G1)(u.O$.from(f).toHexString());return t.length>32&&yt.throwArgumentError("invalid length for "+e,"transaction:"+e,f),t}function Pt(f,e){return{address:K(f),storageKeys:(e||[]).map(((e,t)=>(32!==(0,c.E1)(e)&&yt.throwArgumentError("invalid access list storageKey",`accessList[${f}:${t}]`,e),e.toLowerCase())))}}function xt(f){if(Array.isArray(f))return f.map(((f,e)=>Array.isArray(f)?(f.length>2&&yt.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${e}]`,f),Pt(f[0],f[1])):Pt(f.address,f.storageKeys)));const e=Object.keys(f).map((e=>{const t=f[e].reduce(((f,e)=>(f[e]=!0,f)),{});return Pt(e,Object.keys(t).sort())}));return e.sort(((f,e)=>f.address.localeCompare(e.address))),e}function Ot(f){return xt(f).map((f=>[f.address,f.storageKeys]))}function Nt(f,e){if(null!=f.gasPrice){const e=u.O$.from(f.gasPrice),t=u.O$.from(f.maxFeePerGas||0);e.eq(t)||yt.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:e,maxFeePerGas:t})}const t=[Mt(f.chainId||0,"chainId"),Mt(f.nonce||0,"nonce"),Mt(f.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Mt(f.maxFeePerGas||0,"maxFeePerGas"),Mt(f.gasLimit||0,"gasLimit"),null!=f.to?K(f.to):"0x",Mt(f.value||0,"value"),f.data||"0x",Ot(f.accessList||[])];if(e){const f=(0,c.N)(e);t.push(Mt(f.recoveryParam,"recoveryParam")),t.push((0,c.G1)(f.r)),t.push((0,c.G1)(f.s))}return(0,c.xs)(["0x02",D(t)])}function Tt(f,e){const t=[Mt(f.chainId||0,"chainId"),Mt(f.nonce||0,"nonce"),Mt(f.gasPrice||0,"gasPrice"),Mt(f.gasLimit||0,"gasLimit"),null!=f.to?K(f.to):"0x",Mt(f.value||0,"value"),f.data||"0x",Ot(f.accessList||[])];if(e){const f=(0,c.N)(e);t.push(Mt(f.recoveryParam,"recoveryParam")),t.push((0,c.G1)(f.r)),t.push((0,c.G1)(f.s))}return(0,c.xs)(["0x01",D(t)])}function Rt(f,e){if(null==f.type||0===f.type)return null!=f.accessList&&yt.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",f),function(f,e){g(f,At);const t=[];Et.forEach((function(e){let r=f[e.name]||[];const n={};e.numeric&&(n.hexPad="left"),r=(0,c.lE)((0,c.Dv)(r,n)),e.length&&r.length!==e.length&&r.length>0&&yt.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,r),e.maxLength&&(r=(0,c.G1)(r),r.length>e.maxLength&&yt.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,r)),t.push((0,c.Dv)(r))}));let r=0;if(null!=f.chainId?(r=f.chainId,"number"!=typeof r&&yt.throwArgumentError("invalid transaction.chainId","transaction",f)):e&&!(0,c.Zq)(e)&&e.v>28&&(r=Math.floor((e.v-35)/2)),0!==r&&(t.push((0,c.Dv)(r)),t.push("0x"),t.push("0x")),!e)return D(t);const n=(0,c.N)(e);let i=27+n.recoveryParam;return 0!==r?(t.pop(),t.pop(),t.pop(),i+=2*r+8,n.v>28&&n.v!==i&&yt.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):n.v!==i&&yt.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),t.push((0,c.Dv)(i)),t.push((0,c.G1)((0,c.lE)(n.r))),t.push((0,c.G1)((0,c.lE)(n.s))),D(t)}(f,e);switch(f.type){case 1:return Tt(f,e);case 2:return Nt(f,e)}return yt.throwError(`unsupported transaction type: ${f.type}`,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:f.type})}function It(f,e,t){try{const t=_t(e[0]).toNumber();if(0!==t&&1!==t)throw new Error("bad recid");f.v=t}catch(f){yt.throwArgumentError("invalid v for transaction type: 1","v",e[0])}f.r=(0,c.$m)(e[1],32),f.s=(0,c.$m)(e[2],32);try{const e=R(t(f));f.from=kt(e,{r:f.r,s:f.s,recoveryParam:f.v})}catch(f){console.log(f)}}function Ct(f){const e=(0,c.lE)(f);if(e[0]>127)return function(f){const e=U(f);9!==e.length&&6!==e.length&&yt.throwArgumentError("invalid raw transaction","rawTransaction",f);const t={nonce:_t(e[0]).toNumber(),gasPrice:_t(e[1]),gasLimit:_t(e[2]),to:wt(e[3]),value:_t(e[4]),data:e[5],chainId:0};if(6===e.length)return t;try{t.v=u.O$.from(e[6]).toNumber()}catch(f){return console.log(f),t}if(t.r=(0,c.$m)(e[7],32),t.s=(0,c.$m)(e[8],32),u.O$.from(t.r).isZero()&&u.O$.from(t.s).isZero())t.chainId=t.v,t.v=0;else{t.chainId=Math.floor((t.v-35)/2),t.chainId<0&&(t.chainId=0);let r=t.v-27;const n=e.slice(0,6);0!==t.chainId&&(n.push((0,c.Dv)(t.chainId)),n.push("0x"),n.push("0x"),r-=2*t.chainId+8);const i=R(D(n));try{t.from=kt(i,{r:(0,c.Dv)(t.r),s:(0,c.Dv)(t.s),recoveryParam:r})}catch(f){console.log(f)}t.hash=R(f)}return t.type=null,t}(e);switch(e[0]){case 1:return function(f){const e=U(f.slice(1));8!==e.length&&11!==e.length&&yt.throwArgumentError("invalid component count for transaction type: 1","payload",(0,c.Dv)(f));const t={type:1,chainId:_t(e[0]).toNumber(),nonce:_t(e[1]).toNumber(),gasPrice:_t(e[2]),gasLimit:_t(e[3]),to:wt(e[4]),value:_t(e[5]),data:e[6],accessList:xt(e[7])};return 8===e.length||(t.hash=R(f),It(t,e.slice(8),Tt)),t}(e);case 2:return function(f){const e=U(f.slice(1));9!==e.length&&12!==e.length&&yt.throwArgumentError("invalid component count for transaction type: 2","payload",(0,c.Dv)(f));const t=_t(e[2]),r=_t(e[3]),n={type:2,chainId:_t(e[0]).toNumber(),nonce:_t(e[1]).toNumber(),maxPriorityFeePerGas:t,maxFeePerGas:r,gasPrice:null,gasLimit:_t(e[4]),to:wt(e[5]),value:_t(e[6]),data:e[7],accessList:xt(e[8])};return 9===e.length||(n.hash=R(f),It(n,e.slice(9),Nt)),n}(e)}return yt.throwError(`unsupported transaction type: ${e[0]}`,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})}var Ft=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const Bt=new l.Yd("contracts/5.5.0"),Dt={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0};function Lt(f,e){return Ft(this,void 0,void 0,(function*(){const t=yield e;"string"!=typeof t&&Bt.throwArgumentError("invalid address or ENS name","name",t);try{return K(t)}catch(f){}f||Bt.throwError("a provider or signer is needed to resolve ENS names",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const r=yield f.resolveName(t);return null==r&&Bt.throwArgumentError("resolver or addr is not configured for ENS name","name",t),r}))}function jt(f,e,t){return Ft(this,void 0,void 0,(function*(){return Array.isArray(t)?yield Promise.all(t.map(((t,r)=>jt(f,Array.isArray(e)?e[r]:e[t.name],t)))):"address"===t.type?yield Lt(f,e):"tuple"===t.type?yield jt(f,e,t.components):"array"===t.baseType?Array.isArray(e)?yield Promise.all(e.map((e=>jt(f,e,t.arrayChildren)))):Promise.reject(Bt.makeError("invalid value for array",l.Yd.errors.INVALID_ARGUMENT,{argument:"value",value:e})):e}))}function Ut(f,e,t){return Ft(this,void 0,void 0,(function*(){let r={};t.length===e.inputs.length+1&&"object"==typeof t[t.length-1]&&(r=y(t.pop())),Bt.checkArgumentCount(t.length,e.inputs.length,"passed to contract"),f.signer?r.from?r.from=m({override:Lt(f.signer,r.from),signer:f.signer.getAddress()}).then((f=>Ft(this,void 0,void 0,(function*(){return K(f.signer)!==f.override&&Bt.throwError("Contract with a Signer cannot override from",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),f.override})))):r.from=f.signer.getAddress():r.from&&(r.from=Lt(f.provider,r.from));const n=yield m({args:jt(f.signer||f.provider,t,e.inputs),address:f.resolvedAddress,overrides:m(r)||{}}),i=f.interface.encodeFunctionData(e,n.args),o={data:i,to:n.address},a=n.overrides;if(null!=a.nonce&&(o.nonce=u.O$.from(a.nonce).toNumber()),null!=a.gasLimit&&(o.gasLimit=u.O$.from(a.gasLimit)),null!=a.gasPrice&&(o.gasPrice=u.O$.from(a.gasPrice)),null!=a.maxFeePerGas&&(o.maxFeePerGas=u.O$.from(a.maxFeePerGas)),null!=a.maxPriorityFeePerGas&&(o.maxPriorityFeePerGas=u.O$.from(a.maxPriorityFeePerGas)),null!=a.from&&(o.from=a.from),null!=a.type&&(o.type=a.type),null!=a.accessList&&(o.accessList=xt(a.accessList)),null==o.gasLimit&&null!=e.gas){let f=21e3;const t=(0,c.lE)(i);for(let e=0;e<t.length;e++)f+=4,t[e]&&(f+=64);o.gasLimit=u.O$.from(e.gas).add(f)}if(a.value){const f=u.O$.from(a.value);f.isZero()||e.payable||Bt.throwError("non-payable method cannot override value",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),o.value=f}a.customData&&(o.customData=y(a.customData)),delete r.nonce,delete r.gasLimit,delete r.gasPrice,delete r.from,delete r.value,delete r.type,delete r.accessList,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.customData;const s=Object.keys(r).filter((f=>null!=r[f]));return s.length&&Bt.throwError(`cannot override ${s.map((f=>JSON.stringify(f))).join(",")}`,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:s}),o}))}function zt(f,e){const t=e.wait.bind(e);e.wait=e=>t(e).then((e=>(e.events=e.logs.map((t=>{let r=E(t),n=null;try{n=f.interface.parseLog(t)}catch(f){}return n&&(r.args=n.args,r.decode=(e,t)=>f.interface.decodeEventLog(n.eventFragment,e,t),r.event=n.name,r.eventSignature=n.signature),r.removeListener=()=>f.provider,r.getBlock=()=>f.provider.getBlock(e.blockHash),r.getTransaction=()=>f.provider.getTransaction(e.transactionHash),r.getTransactionReceipt=()=>Promise.resolve(e),r})),e)))}function Gt(f,e,t){const r=f.signer||f.provider;return function(...n){return Ft(this,void 0,void 0,(function*(){let i;if(n.length===e.inputs.length+1&&"object"==typeof n[n.length-1]){const f=y(n.pop());null!=f.blockTag&&(i=yield f.blockTag),delete f.blockTag,n.push(f)}null!=f.deployTransaction&&(yield f._deployed(i));const o=yield Ut(f,e,n),a=yield r.call(o,i);try{let r=f.interface.decodeFunctionResult(e,a);return t&&1===e.outputs.length&&(r=r[0]),r}catch(e){throw e.code===l.Yd.errors.CALL_EXCEPTION&&(e.address=f.address,e.args=n,e.transaction=o),e}}))}}function qt(f,e,t){return e.constant?Gt(f,e,t):function(f,e){return function(...t){return Ft(this,void 0,void 0,(function*(){f.signer||Bt.throwError("sending a transaction requires a signer",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=f.deployTransaction&&(yield f._deployed());const r=yield Ut(f,e,t),n=yield f.signer.sendTransaction(r);return zt(f,n),n}))}}(f,e)}function $t(f){return!f.address||null!=f.topics&&0!==f.topics.length?(f.address||"*")+"@"+(f.topics?f.topics.map((f=>Array.isArray(f)?f.join("|"):f)).join(":"):""):"*"}class Wt{constructor(f,e){p(this,"tag",f),p(this,"filter",e),this._listeners=[]}addListener(f,e){this._listeners.push({listener:f,once:e})}removeListener(f){let e=!1;this._listeners=this._listeners.filter((t=>!(!e&&t.listener===f)||(e=!0,!1)))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map((f=>f.listener))}listenerCount(){return this._listeners.length}run(f){const e=this.listenerCount();return this._listeners=this._listeners.filter((e=>{const t=f.slice();return setTimeout((()=>{e.listener.apply(this,t)}),0),!e.once})),e}prepareEvent(f){}getEmit(f){return[f]}}class Ht extends Wt{constructor(){super("error",null)}}class Kt extends Wt{constructor(f,e,t,r){const n={address:f};let i=e.getEventTopic(t);r?(i!==r[0]&&Bt.throwArgumentError("topic mismatch","topics",r),n.topics=r.slice()):n.topics=[i],super($t(n),n),p(this,"address",f),p(this,"interface",e),p(this,"fragment",t)}prepareEvent(f){super.prepareEvent(f),f.event=this.fragment.name,f.eventSignature=this.fragment.format(),f.decode=(f,e)=>this.interface.decodeEventLog(this.fragment,f,e);try{f.args=this.interface.decodeEventLog(this.fragment,f.data,f.topics)}catch(e){f.args=null,f.decodeError=e}}getEmit(f){const e=M(f.args);if(e.length)throw e[0].error;const t=(f.args||[]).slice();return t.push(f),t}}class Vt extends Wt{constructor(f,e){super("*",{address:f}),p(this,"address",f),p(this,"interface",e)}prepareEvent(f){super.prepareEvent(f);try{const e=this.interface.parseLog(f);f.event=e.name,f.eventSignature=e.signature,f.decode=(f,t)=>this.interface.decodeEventLog(e.eventFragment,f,t),f.args=e.args}catch(f){}}}class Yt{constructor(f,e,t){Bt.checkNew(new.target,Jt),p(this,"interface",b(new.target,"getInterface")(e)),null==t?(p(this,"provider",null),p(this,"signer",null)):Se.isSigner(t)?(p(this,"provider",t.provider||null),p(this,"signer",t)):ve.isProvider(t)?(p(this,"provider",t),p(this,"signer",null)):Bt.throwArgumentError("invalid signer or provider","signerOrProvider",t),p(this,"callStatic",{}),p(this,"estimateGas",{}),p(this,"functions",{}),p(this,"populateTransaction",{}),p(this,"filters",{});{const f={};Object.keys(this.interface.events).forEach((e=>{const t=this.interface.events[e];p(this.filters,e,((...f)=>({address:this.address,topics:this.interface.encodeFilterTopics(t,f)}))),f[t.name]||(f[t.name]=[]),f[t.name].push(e)})),Object.keys(f).forEach((e=>{const t=f[e];1===t.length?p(this.filters,e,this.filters[t[0]]):Bt.warn(`Duplicate definition of ${e} (${t.join(", ")})`)}))}if(p(this,"_runningEvents",{}),p(this,"_wrappedEmits",{}),null==f&&Bt.throwArgumentError("invalid contract address or ENS name","addressOrName",f),p(this,"address",f),this.provider)p(this,"resolvedAddress",Lt(this.provider,f));else try{p(this,"resolvedAddress",Promise.resolve(K(f)))}catch(f){Bt.throwError("provider is required to use ENS name as contract address",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}const r={},n={};Object.keys(this.interface.functions).forEach((f=>{const e=this.interface.functions[f];if(n[f])Bt.warn(`Duplicate ABI entry for ${JSON.stringify(f)}`);else{n[f]=!0;{const t=e.name;r[`%${t}`]||(r[`%${t}`]=[]),r[`%${t}`].push(f)}null==this[f]&&p(this,f,qt(this,e,!0)),null==this.functions[f]&&p(this.functions,f,qt(this,e,!1)),null==this.callStatic[f]&&p(this.callStatic,f,Gt(this,e,!0)),null==this.populateTransaction[f]&&p(this.populateTransaction,f,function(f,e){return function(...t){return Ut(f,e,t)}}(this,e)),null==this.estimateGas[f]&&p(this.estimateGas,f,function(f,e){const t=f.signer||f.provider;return function(...r){return Ft(this,void 0,void 0,(function*(){t||Bt.throwError("estimate require a provider or signer",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const n=yield Ut(f,e,r);return yield t.estimateGas(n)}))}}(this,e))}})),Object.keys(r).forEach((f=>{const e=r[f];if(e.length>1)return;f=f.substring(1);const t=e[0];try{null==this[f]&&p(this,f,this[t])}catch(f){}null==this.functions[f]&&p(this.functions,f,this.functions[t]),null==this.callStatic[f]&&p(this.callStatic,f,this.callStatic[t]),null==this.populateTransaction[f]&&p(this.populateTransaction,f,this.populateTransaction[t]),null==this.estimateGas[f]&&p(this.estimateGas,f,this.estimateGas[t])}))}static getContractAddress(f){return J(f)}static getInterface(f){return be.isInterface(f)?f:new be(f)}deployed(){return this._deployed()}_deployed(f){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((()=>this)):this._deployedPromise=this.provider.getCode(this.address,f).then((f=>("0x"===f&&Bt.throwError("contract not deployed",l.Yd.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this)))),this._deployedPromise}fallback(f){this.signer||Bt.throwError("sending a transactions require a signer",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const e=y(f||{});return["from","to"].forEach((function(f){null!=e[f]&&Bt.throwError("cannot override "+f,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:f})})),e.to=this.resolvedAddress,this.deployed().then((()=>this.signer.sendTransaction(e)))}connect(f){"string"==typeof f&&(f=new ke(f,this.provider));const e=new this.constructor(this.address,this.interface,f);return this.deployTransaction&&p(e,"deployTransaction",this.deployTransaction),e}attach(f){return new this.constructor(f,this.interface,this.signer||this.provider)}static isIndexed(f){return de.isIndexed(f)}_normalizeRunningEvent(f){return this._runningEvents[f.tag]?this._runningEvents[f.tag]:f}_getRunningEvent(f){if("string"==typeof f){if("error"===f)return this._normalizeRunningEvent(new Ht);if("event"===f)return this._normalizeRunningEvent(new Wt("event",null));if("*"===f)return this._normalizeRunningEvent(new Vt(this.address,this.interface));const e=this.interface.getEvent(f);return this._normalizeRunningEvent(new Kt(this.address,this.interface,e))}if(f.topics&&f.topics.length>0){try{const e=f.topics[0];if("string"!=typeof e)throw new Error("invalid topic");const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new Kt(this.address,this.interface,t,f.topics))}catch(f){}const e={address:this.address,topics:f.topics};return this._normalizeRunningEvent(new Wt($t(e),e))}return this._normalizeRunningEvent(new Vt(this.address,this.interface))}_checkRunningEvents(f){if(0===f.listenerCount()){delete this._runningEvents[f.tag];const e=this._wrappedEmits[f.tag];e&&f.filter&&(this.provider.off(f.filter,e),delete this._wrappedEmits[f.tag])}}_wrapEvent(f,e,t){const r=E(e);return r.removeListener=()=>{t&&(f.removeListener(t),this._checkRunningEvents(f))},r.getBlock=()=>this.provider.getBlock(e.blockHash),r.getTransaction=()=>this.provider.getTransaction(e.transactionHash),r.getTransactionReceipt=()=>this.provider.getTransactionReceipt(e.transactionHash),f.prepareEvent(r),r}_addEventListener(f,e,t){if(this.provider||Bt.throwError("events require a provider or a signer with a provider",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"once"}),f.addListener(e,t),this._runningEvents[f.tag]=f,!this._wrappedEmits[f.tag]){const t=t=>{let r=this._wrapEvent(f,t,e);if(null==r.decodeError)try{const e=f.getEmit(r);this.emit(f.filter,...e)}catch(f){r.decodeError=f.error}null!=f.filter&&this.emit("event",r),null!=r.decodeError&&this.emit("error",r.decodeError,r)};this._wrappedEmits[f.tag]=t,null!=f.filter&&this.provider.on(f.filter,t)}}queryFilter(f,e,t){const r=this._getRunningEvent(f),n=y(r.filter);return"string"==typeof e&&(0,c.A7)(e,32)?(null!=t&&Bt.throwArgumentError("cannot specify toBlock with blockhash","toBlock",t),n.blockHash=e):(n.fromBlock=null!=e?e:0,n.toBlock=null!=t?t:"latest"),this.provider.getLogs(n).then((f=>f.map((f=>this._wrapEvent(r,f,null)))))}on(f,e){return this._addEventListener(this._getRunningEvent(f),e,!1),this}once(f,e){return this._addEventListener(this._getRunningEvent(f),e,!0),this}emit(f,...e){if(!this.provider)return!1;const t=this._getRunningEvent(f),r=t.run(e)>0;return this._checkRunningEvents(t),r}listenerCount(f){return this.provider?null==f?Object.keys(this._runningEvents).reduce(((f,e)=>f+this._runningEvents[e].listenerCount()),0):this._getRunningEvent(f).listenerCount():0}listeners(f){if(!this.provider)return[];if(null==f){const f=[];for(let e in this._runningEvents)this._runningEvents[e].listeners().forEach((e=>{f.push(e)}));return f}return this._getRunningEvent(f).listeners()}removeAllListeners(f){if(!this.provider)return this;if(null==f){for(const f in this._runningEvents){const e=this._runningEvents[f];e.removeAllListeners(),this._checkRunningEvents(e)}return this}const e=this._getRunningEvent(f);return e.removeAllListeners(),this._checkRunningEvents(e),this}off(f,e){if(!this.provider)return this;const t=this._getRunningEvent(f);return t.removeListener(e),this._checkRunningEvents(t),this}removeListener(f,e){return this.off(f,e)}}class Jt extends Yt{}class Zt{constructor(f,e,t){let r=null;r="string"==typeof e?e:(0,c._t)(e)?(0,c.Dv)(e):e&&"string"==typeof e.object?e.object:"!","0x"!==r.substring(0,2)&&(r="0x"+r),(!(0,c.A7)(r)||r.length%2)&&Bt.throwArgumentError("invalid bytecode","bytecode",e),t&&!Se.isSigner(t)&&Bt.throwArgumentError("invalid signer","signer",t),p(this,"bytecode",r),p(this,"interface",b(new.target,"getInterface")(f)),p(this,"signer",t||null)}getDeployTransaction(...f){let e={};if(f.length===this.interface.deploy.inputs.length+1&&"object"==typeof f[f.length-1]){e=y(f.pop());for(const f in e)if(!Dt[f])throw new Error("unknown transaction override "+f)}if(["data","from","to"].forEach((f=>{null!=e[f]&&Bt.throwError("cannot override "+f,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:f})})),e.value){u.O$.from(e.value).isZero()||this.interface.deploy.payable||Bt.throwError("non-payable constructor cannot override value",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:e.value})}return Bt.checkArgumentCount(f.length,this.interface.deploy.inputs.length," in Contract constructor"),e.data=(0,c.Dv)((0,c.zo)([this.bytecode,this.interface.encodeDeploy(f)])),e}deploy(...f){return Ft(this,void 0,void 0,(function*(){let e={};f.length===this.interface.deploy.inputs.length+1&&(e=f.pop()),Bt.checkArgumentCount(f.length,this.interface.deploy.inputs.length," in Contract constructor");const t=yield jt(this.signer,f,this.interface.deploy.inputs);t.push(e);const r=this.getDeployTransaction(...t),n=yield this.signer.sendTransaction(r),i=b(this.constructor,"getContractAddress")(n),o=b(this.constructor,"getContract")(i,this.interface,this.signer);return zt(o,n),p(o,"deployTransaction",n),o}))}attach(f){return this.constructor.getContract(f,this.interface,this.signer)}connect(f){return new this.constructor(this.interface,this.bytecode,f)}static fromSolidity(f,e){null==f&&Bt.throwError("missing compiler output",l.Yd.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof f&&(f=JSON.parse(f));const t=f.abi;let r=null;return f.bytecode?r=f.bytecode:f.evm&&f.evm.bytecode&&(r=f.evm.bytecode),new this(t,r,e)}static getInterface(f){return Jt.getInterface(f)}static getContractAddress(f){return J(f)}static getContract(f,e,t){return new Jt(f,e,t)}}var Xt=t(335);function Qt(f){return"string"==typeof f&&(f=nf(f)),R((0,c.zo)([nf("Ethereum Signed Message:\n"),nf(String(f.length)),f]))}const fr="hash/5.5.0";var er=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const tr=new l.Yd(fr),rr=new Uint8Array(32);rr.fill(0);const nr=u.O$.from(-1),ir=u.O$.from(0),or=u.O$.from(1),ar=u.O$.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const sr=(0,c.$m)(or.toHexString(),32),cr=(0,c.$m)(ir.toHexString(),32),ur={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},lr=["name","version","chainId","verifyingContract","salt"];function dr(f){return function(e){return"string"!=typeof e&&tr.throwArgumentError(`invalid domain value for ${JSON.stringify(f)}`,`domain.${f}`,e),e}}const hr={name:dr("name"),version:dr("version"),chainId:function(f){try{return u.O$.from(f).toString()}catch(f){}return tr.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",f)},verifyingContract:function(f){try{return K(f).toLowerCase()}catch(f){}return tr.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",f)},salt:function(f){try{const e=(0,c.lE)(f);if(32!==e.length)throw new Error("bad length");return(0,c.Dv)(e)}catch(f){}return tr.throwArgumentError('invalid domain value "salt"',"domain.salt",f)}};function pr(f){{const e=f.match(/^(u?)int(\d*)$/);if(e){const t=""===e[1],r=parseInt(e[2]||"256");(r%8!=0||r>256||e[2]&&e[2]!==String(r))&&tr.throwArgumentError("invalid numeric width","type",f);const n=ar.mask(t?r-1:r),i=t?n.add(or).mul(nr):ir;return function(e){const t=u.O$.from(e);return(t.lt(i)||t.gt(n))&&tr.throwArgumentError(`value out-of-bounds for ${f}`,"value",e),(0,c.$m)(t.toTwos(256).toHexString(),32)}}}{const e=f.match(/^bytes(\d+)$/);if(e){const t=parseInt(e[1]);return(0===t||t>32||e[1]!==String(t))&&tr.throwArgumentError("invalid bytes width","type",f),function(e){return(0,c.lE)(e).length!==t&&tr.throwArgumentError(`invalid length for ${f}`,"value",e),function(f){const e=(0,c.lE)(f),t=e.length%32;return t?(0,c.xs)([e,rr.slice(t)]):(0,c.Dv)(e)}(e)}}}switch(f){case"address":return function(f){return(0,c.$m)(K(f),32)};case"bool":return function(f){return f?sr:cr};case"bytes":return function(f){return R(f)};case"string":return function(f){return lf(f)}}return null}function br(f,e){return`${f}(${e.map((({name:f,type:e})=>e+" "+f)).join(",")})`}class mr{constructor(f){p(this,"types",Object.freeze(E(f))),p(this,"_encoderCache",{}),p(this,"_types",{});const e={},t={},r={};Object.keys(f).forEach((f=>{e[f]={},t[f]=[],r[f]={}}));for(const r in f){const n={};f[r].forEach((i=>{n[i.name]&&tr.throwArgumentError(`duplicate variable name ${JSON.stringify(i.name)} in ${JSON.stringify(r)}`,"types",f),n[i.name]=!0;const o=i.type.match(/^([^\x5b]*)(\x5b|$)/)[1];o===r&&tr.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",f);pr(o)||(t[o]||tr.throwArgumentError(`unknown type ${JSON.stringify(o)}`,"types",f),t[o].push(r),e[r][o]=!0)}))}const n=Object.keys(t).filter((f=>0===t[f].length));0===n.length?tr.throwArgumentError("missing primary type","types",f):n.length>1&&tr.throwArgumentError(`ambiguous primary types or unused types: ${n.map((f=>JSON.stringify(f))).join(", ")}`,"types",f),p(this,"primaryType",n[0]),function n(i,o){o[i]&&tr.throwArgumentError(`circular type reference to ${JSON.stringify(i)}`,"types",f),o[i]=!0,Object.keys(e[i]).forEach((f=>{t[f]&&(n(f,o),Object.keys(o).forEach((e=>{r[e][f]=!0})))})),delete o[i]}(this.primaryType,{});for(const e in r){const t=Object.keys(r[e]);t.sort(),this._types[e]=br(e,f[e])+t.map((e=>br(e,f[e]))).join("")}}getEncoder(f){let e=this._encoderCache[f];return e||(e=this._encoderCache[f]=this._getEncoder(f)),e}_getEncoder(f){{const e=pr(f);if(e)return e}const e=f.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const f=e[1],t=this.getEncoder(f),r=parseInt(e[3]);return e=>{r>=0&&e.length!==r&&tr.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(t);return this._types[f]&&(n=n.map(R)),R((0,c.xs)(n))}}const t=this.types[f];if(t){const e=lf(this._types[f]);return f=>{const r=t.map((({name:e,type:t})=>{const r=this.getEncoder(t)(f[e]);return this._types[t]?R(r):r}));return r.unshift(e),(0,c.xs)(r)}}return tr.throwArgumentError(`unknown type: ${f}`,"type",f)}encodeType(f){const e=this._types[f];return e||tr.throwArgumentError(`unknown type: ${JSON.stringify(f)}`,"name",f),e}encodeData(f,e){return this.getEncoder(f)(e)}hashStruct(f,e){return R(this.encodeData(f,e))}encode(f){return this.encodeData(this.primaryType,f)}hash(f){return this.hashStruct(this.primaryType,f)}_visit(f,e,t){if(pr(f))return t(f,e);const r=f.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const f=r[1],n=parseInt(r[3]);return n>=0&&e.length!==n&&tr.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(f,e,t)))}const n=this.types[f];return n?n.reduce(((f,{name:r,type:n})=>(f[r]=this._visit(n,e[r],t),f)),{}):tr.throwArgumentError(`unknown type: ${f}`,"type",f)}visit(f,e){return this._visit(this.primaryType,f,e)}static from(f){return new mr(f)}static getPrimaryType(f){return mr.from(f).primaryType}static hashStruct(f,e,t){return mr.from(e).hashStruct(f,t)}static hashDomain(f){const e=[];for(const t in f){const r=ur[t];r||tr.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(t)}`,"domain",f),e.push({name:t,type:r})}return e.sort(((f,e)=>lr.indexOf(f.name)-lr.indexOf(e.name))),mr.hashStruct("EIP712Domain",{EIP712Domain:e},f)}static encode(f,e,t){return(0,c.xs)(["0x1901",mr.hashDomain(f),mr.from(e).hash(t)])}static hash(f,e,t){return R(mr.encode(f,e,t))}static resolveNames(f,e,t,r){return er(this,void 0,void 0,(function*(){f=y(f);const n={};f.verifyingContract&&!(0,c.A7)(f.verifyingContract,20)&&(n[f.verifyingContract]="0x");const i=mr.from(e);i.visit(t,((f,e)=>("address"!==f||(0,c.A7)(e,20)||(n[e]="0x"),e)));for(const f in n)n[f]=yield r(f);return f.verifyingContract&&n[f.verifyingContract]&&(f.verifyingContract=n[f.verifyingContract]),t=i.visit(t,((f,e)=>"address"===f&&n[e]?n[e]:e)),{domain:f,value:t}}))}static getPayload(f,e,t){mr.hashDomain(f);const r={},n=[];lr.forEach((e=>{const t=f[e];null!=t&&(r[e]=hr[e](t),n.push({name:e,type:ur[e]}))}));const i=mr.from(e),o=y(e);return o.EIP712Domain?tr.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):o.EIP712Domain=n,i.encode(t),{types:o,domain:r,primaryType:i.primaryType,message:i.visit(t,((f,e)=>{if(f.match(/^bytes(\d*)/))return(0,c.Dv)((0,c.lE)(e));if(f.match(/^u?int/))return u.O$.from(e).toString();switch(f){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&tr.throwArgumentError("invalid string","value",e),e}return tr.throwArgumentError("unsupported type","type",f)}))}}}class gr{constructor(f){p(this,"alphabet",f),p(this,"base",f.length),p(this,"_alphabetMap",{}),p(this,"_leader",f.charAt(0));for(let e=0;e<f.length;e++)this._alphabetMap[f.charAt(e)]=e}encode(f){let e=(0,c.lE)(f);if(0===e.length)return"";let t=[0];for(let f=0;f<e.length;++f){let r=e[f];for(let f=0;f<t.length;++f)r+=t[f]<<8,t[f]=r%this.base,r=r/this.base|0;for(;r>0;)t.push(r%this.base),r=r/this.base|0}let r="";for(let f=0;0===e[f]&&f<e.length-1;++f)r+=this._leader;for(let f=t.length-1;f>=0;--f)r+=this.alphabet[t[f]];return r}decode(f){if("string"!=typeof f)throw new TypeError("Expected String");let e=[];if(0===f.length)return new Uint8Array(e);e.push(0);for(let t=0;t<f.length;t++){let r=this._alphabetMap[f[t]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let n=r;for(let f=0;f<e.length;++f)n+=e[f]*this.base,e[f]=255&n,n>>=8;for(;n>0;)e.push(255&n),n>>=8}for(let t=0;f[t]===this._leader&&t<f.length-1;++t)e.push(0);return(0,c.lE)(new Uint8Array(e.reverse()))}}new gr("abcdefghijklmnopqrstuvwxyz234567");const yr=new gr("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var vr;!function(f){f.sha256="sha256",f.sha512="sha512"}(vr||(vr={}));const wr=new l.Yd("sha2/5.5.0");function _r(f){return"0x"+Oe().ripemd160().update((0,c.lE)(f)).digest("hex")}function Er(f){return"0x"+Oe().sha256().update((0,c.lE)(f)).digest("hex")}function Ar(f){return"0x"+Oe().sha512().update((0,c.lE)(f)).digest("hex")}function Sr(f,e,t){return vr[f]||wr.throwError("unsupported algorithm "+f,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:f}),"0x"+Oe().hmac(Oe()[f],(0,c.lE)(e)).update((0,c.lE)(t)).digest("hex")}function kr(f,e,t,r,n){let i;f=(0,c.lE)(f),e=(0,c.lE)(e);let o=1;const a=new Uint8Array(r),s=new Uint8Array(e.length+4);let u,l;s.set(e);for(let d=1;d<=o;d++){s[e.length]=d>>24&255,s[e.length+1]=d>>16&255,s[e.length+2]=d>>8&255,s[e.length+3]=255&d;let h=(0,c.lE)(Sr(n,f,s));i||(i=h.length,l=new Uint8Array(i),o=Math.ceil(r/i),u=r-(o-1)*i),l.set(h);for(let e=1;e<t;e++){h=(0,c.lE)(Sr(n,f,h));for(let f=0;f<i;f++)l[f]^=h[f]}const p=(d-1)*i,b=d===o?u:i;a.set((0,c.lE)(l).slice(0,b),p)}return(0,c.Dv)(a)}const Mr=new l.Yd("wordlists/5.5.0");class Pr{constructor(f){Mr.checkAbstract(new.target,Pr),p(this,"locale",f)}split(f){return f.toLowerCase().split(/ +/g)}join(f){return f.join(" ")}static check(f){const e=[];for(let t=0;t<2048;t++){const r=f.getWord(t);if(t!==f.getWordIndex(r))return"0x";e.push(r)}return lf(e.join("\n")+"\n")}static register(f,e){e||(e=f.locale)}}let xr=null;function Or(f){if(null==xr&&(xr="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==Pr.check(f)))throw xr=null,new Error("BIP39 Wordlist for en (English) FAILED")}const Nr=new class extends Pr{constructor(){super("en")}getWord(f){return Or(this),xr[f]}getWordIndex(f){return Or(this),xr.indexOf(f)}};Pr.register(Nr);const Tr={en:Nr},Rr=new l.Yd("hdnode/5.5.0"),Ir=u.O$.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cr=nf("Bitcoin seed"),Fr=2147483648;function Br(f){return(1<<f)-1<<8-f}function Dr(f){return(0,c.$m)((0,c.Dv)(f),32)}function Lr(f){return yr.encode((0,c.zo)([f,(0,c.p3)(Er(Er(f)),0,4)]))}function jr(f){if(null==f)return Tr.en;if("string"==typeof f){const e=Tr[f];return null==e&&Rr.throwArgumentError("unknown locale","wordlist",f),e}return f}const Ur={},zr="m/44'/60'/0'/0/0";class Gr{constructor(f,e,t,r,n,i,o,a){if(Rr.checkNew(new.target,Gr),f!==Ur)throw new Error("HDNode constructor cannot be called directly");if(e){const f=new bt(e);p(this,"privateKey",f.privateKey),p(this,"publicKey",f.compressedPublicKey)}else p(this,"privateKey",null),p(this,"publicKey",(0,c.Dv)(t));p(this,"parentFingerprint",r),p(this,"fingerprint",(0,c.p3)(_r(Er(this.publicKey)),0,4)),p(this,"address",St(this.publicKey)),p(this,"chainCode",n),p(this,"index",i),p(this,"depth",o),null==a?(p(this,"mnemonic",null),p(this,"path",null)):"string"==typeof a?(p(this,"mnemonic",null),p(this,"path",a)):(p(this,"mnemonic",a),p(this,"path",a.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return Lr((0,c.zo)([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",(0,c.Dv)(this.depth),this.parentFingerprint,(0,c.$m)((0,c.Dv)(this.index),4),this.chainCode,null!=this.privateKey?(0,c.zo)(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new Gr(Ur,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(f){if(f>4294967295)throw new Error("invalid index - "+String(f));let e=this.path;e&&(e+="/"+(2147483647&f));const t=new Uint8Array(37);if(f&Fr){if(!this.privateKey)throw new Error("cannot derive child of neutered node");t.set((0,c.lE)(this.privateKey),1),e&&(e+="'")}else t.set((0,c.lE)(this.publicKey));for(let e=24;e>=0;e-=8)t[33+(e>>3)]=f>>24-e&255;const r=(0,c.lE)(Sr(vr.sha512,this.chainCode,t)),n=r.slice(0,32),i=r.slice(32);let o=null,a=null;if(this.privateKey)o=Dr(u.O$.from(n).add(this.privateKey).mod(Ir));else{a=new bt((0,c.Dv)(n))._addPoint(this.publicKey)}let s=e;const l=this.mnemonic;return l&&(s=Object.freeze({phrase:l.phrase,path:e,locale:l.locale||"en"})),new Gr(Ur,o,a,this.fingerprint,Dr(i),f,this.depth+1,s)}derivePath(f){const e=f.split("/");if(0===e.length||"m"===e[0]&&0!==this.depth)throw new Error("invalid path - "+f);"m"===e[0]&&e.shift();let t=this;for(let f=0;f<e.length;f++){const r=e[f];if(r.match(/^[0-9]+'$/)){const f=parseInt(r.substring(0,r.length-1));if(f>=Fr)throw new Error("invalid path index - "+r);t=t._derive(Fr+f)}else{if(!r.match(/^[0-9]+$/))throw new Error("invalid path component - "+r);{const f=parseInt(r);if(f>=Fr)throw new Error("invalid path index - "+r);t=t._derive(f)}}}return t}static _fromSeed(f,e){const t=(0,c.lE)(f);if(t.length<16||t.length>64)throw new Error("invalid seed");const r=(0,c.lE)(Sr(vr.sha512,Cr,t));return new Gr(Ur,Dr(r.slice(0,32)),null,"0x00000000",Dr(r.slice(32)),0,0,e)}static fromMnemonic(f,e,t){return f=Wr($r(f,t=jr(t)),t),Gr._fromSeed(qr(f,e),{phrase:f,path:"m",locale:t.locale})}static fromSeed(f){return Gr._fromSeed(f,null)}static fromExtendedKey(f){const e=yr.decode(f);82===e.length&&Lr(e.slice(0,78))===f||Rr.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const t=e[4],r=(0,c.Dv)(e.slice(5,9)),n=parseInt((0,c.Dv)(e.slice(9,13)).substring(2),16),i=(0,c.Dv)(e.slice(13,45)),o=e.slice(45,78);switch((0,c.Dv)(e.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new Gr(Ur,null,(0,c.Dv)(o),r,i,n,t,null);case"0x0488ade4":case"0x04358394 ":if(0!==o[0])break;return new Gr(Ur,(0,c.Dv)(o.slice(1)),null,r,i,n,t,null)}return Rr.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function qr(f,e){e||(e="");const t=nf("mnemonic"+e,Q.NFKD);return kr(nf(f,Q.NFKD),t,2048,64,"sha512")}function $r(f,e){e=jr(e),Rr.checkNormalize();const t=e.split(f);if(t.length%3!=0)throw new Error("invalid mnemonic");const r=(0,c.lE)(new Uint8Array(Math.ceil(11*t.length/8)));let n=0;for(let f=0;f<t.length;f++){let i=e.getWordIndex(t[f].normalize("NFKD"));if(-1===i)throw new Error("invalid mnemonic");for(let f=0;f<11;f++)i&1<<10-f&&(r[n>>3]|=1<<7-n%8),n++}const i=32*t.length/3,o=Br(t.length/3);if(((0,c.lE)(Er(r.slice(0,i/8)))[0]&o)!==(r[r.length-1]&o))throw new Error("invalid checksum");return(0,c.Dv)(r.slice(0,i/8))}function Wr(f,e){if(e=jr(e),(f=(0,c.lE)(f)).length%4!=0||f.length<16||f.length>32)throw new Error("invalid entropy");const t=[0];let r=11;for(let e=0;e<f.length;e++)r>8?(t[t.length-1]<<=8,t[t.length-1]|=f[e],r-=8):(t[t.length-1]<<=r,t[t.length-1]|=f[e]>>8-r,t.push(f[e]&(1<<8-r)-1),r+=3);const n=f.length/4,i=(0,c.lE)(Er(f))[0]&Br(n);return t[t.length-1]<<=n,t[t.length-1]|=i>>8-n,e.join(t.map((f=>e.getWord(f))))}function Hr(f,e){try{return $r(f,e),!0}catch(f){}return!1}function Kr(f){return("number"!=typeof f||f<0||f>=Fr||f%1)&&Rr.throwArgumentError("invalid account index","index",f),`m/44'/60'/${f}'/0/0`}const Vr=new l.Yd("random/5.5.0");let Yr=null;try{if(Yr=window,null==Yr)throw new Error("try next")}catch(f){try{if(Yr=t.g,null==Yr)throw new Error("try next")}catch(f){Yr={}}}let Jr=Yr.crypto||Yr.msCrypto;function Zr(f){(f<=0||f>1024||f%1||f!=f)&&Vr.throwArgumentError("invalid length","length",f);const e=new Uint8Array(f);return Jr.getRandomValues(e),(0,c.lE)(e)}Jr&&Jr.getRandomValues||(Vr.warn("WARNING: Missing strong random number source"),Jr={getRandomValues:function(f){return Vr.throwError("no secure random source avaialble",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var Xr=t(8826),Qr=t.n(Xr);const fn="json-wallets/5.5.0";function en(f){return"string"==typeof f&&"0x"!==f.substring(0,2)&&(f="0x"+f),(0,c.lE)(f)}function tn(f,e){for(f=String(f);f.length<e;)f="0"+f;return f}function rn(f){return"string"==typeof f?nf(f,Q.NFKC):(0,c.lE)(f)}function nn(f,e){let t=f;const r=e.toLowerCase().split("/");for(let f=0;f<r.length;f++){let e=null;for(const n in t)if(n.toLowerCase()===r[f]){e=t[n];break}if(null===e)return null;t=e}return t}function on(f){const e=(0,c.lE)(f);e[6]=15&e[6]|64,e[8]=63&e[8]|128;const t=(0,c.Dv)(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}const an=new l.Yd(fn);class sn extends A{isCrowdsaleAccount(f){return!(!f||!f._isCrowdsaleAccount)}}function cn(f,e){const t=JSON.parse(f);e=rn(e);const r=K(nn(t,"ethaddr")),n=en(nn(t,"encseed"));n&&n.length%16==0||an.throwArgumentError("invalid encseed","json",f);const i=(0,c.lE)(kr(e,e,2e3,32,"sha256")).slice(0,16),o=n.slice(0,16),a=n.slice(16),s=new(Qr().ModeOfOperation.cbc)(i,o),u=Qr().padding.pkcs7.strip((0,c.lE)(s.decrypt(a)));let l="";for(let f=0;f<u.length;f++)l+=String.fromCharCode(u[f]);const d=R(nf(l));return new sn({_isCrowdsaleAccount:!0,address:r,privateKey:d})}function un(f){let e=null;try{e=JSON.parse(f)}catch(f){return!1}return e.encseed&&e.ethaddr}function ln(f){let e=null;try{e=JSON.parse(f)}catch(f){return!1}return!(!e.version||parseInt(e.version)!==e.version||3!==parseInt(e.version))}function dn(f){if(un(f))try{return K(JSON.parse(f).ethaddr)}catch(f){return null}if(ln(f))try{return K(JSON.parse(f).address)}catch(f){return null}return null}var hn=t(7635),pn=t.n(hn),bn=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const mn=new l.Yd(fn);function gn(f){return null!=f&&f.mnemonic&&f.mnemonic.phrase}class yn extends A{isKeystoreAccount(f){return!(!f||!f._isKeystoreAccount)}}function vn(f,e){const t=en(nn(f,"crypto/ciphertext"));if((0,c.Dv)(R((0,c.zo)([e.slice(16,32),t]))).substring(2)!==nn(f,"crypto/mac").toLowerCase())throw new Error("invalid password");const r=function(f,e,t){if("aes-128-ctr"===nn(f,"crypto/cipher")){const r=en(nn(f,"crypto/cipherparams/iv")),n=new(Qr().Counter)(r),i=new(Qr().ModeOfOperation.ctr)(e,n);return(0,c.lE)(i.decrypt(t))}return null}(f,e.slice(0,16),t);r||mn.throwError("unsupported cipher",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const n=e.slice(32,64),i=St(r);if(f.address){let e=f.address.toLowerCase();if("0x"!==e.substring(0,2)&&(e="0x"+e),K(e)!==i)throw new Error("address mismatch")}const o={_isKeystoreAccount:!0,address:i,privateKey:(0,c.Dv)(r)};if("0.1"===nn(f,"x-ethers/version")){const e=en(nn(f,"x-ethers/mnemonicCiphertext")),t=en(nn(f,"x-ethers/mnemonicCounter")),r=new(Qr().Counter)(t),i=new(Qr().ModeOfOperation.ctr)(n,r),a=nn(f,"x-ethers/path")||zr,s=nn(f,"x-ethers/locale")||"en",u=(0,c.lE)(i.decrypt(e));try{const f=Wr(u,s),e=Gr.fromMnemonic(f,null,s).derivePath(a);if(e.privateKey!=o.privateKey)throw new Error("mnemonic mismatch");o.mnemonic=e.mnemonic}catch(f){if(f.code!==l.Yd.errors.INVALID_ARGUMENT||"wordlist"!==f.argument)throw f}}return new yn(o)}function wn(f,e,t,r,n){return(0,c.lE)(kr(f,e,t,r,n))}function _n(f,e,t,r,n){return Promise.resolve(wn(f,e,t,r,n))}function En(f,e,t,r,n){const i=rn(e),o=nn(f,"crypto/kdf");if(o&&"string"==typeof o){const e=function(f,e){return mn.throwArgumentError("invalid key-derivation function parameters",f,e)};if("scrypt"===o.toLowerCase()){const t=en(nn(f,"crypto/kdfparams/salt")),a=parseInt(nn(f,"crypto/kdfparams/n")),s=parseInt(nn(f,"crypto/kdfparams/r")),c=parseInt(nn(f,"crypto/kdfparams/p"));a&&s&&c||e("kdf",o),0!=(a&a-1)&&e("N",a);const u=parseInt(nn(f,"crypto/kdfparams/dklen"));return 32!==u&&e("dklen",u),r(i,t,a,s,c,64,n)}if("pbkdf2"===o.toLowerCase()){const r=en(nn(f,"crypto/kdfparams/salt"));let n=null;const o=nn(f,"crypto/kdfparams/prf");"hmac-sha256"===o?n="sha256":"hmac-sha512"===o?n="sha512":e("prf",o);const a=parseInt(nn(f,"crypto/kdfparams/c")),s=parseInt(nn(f,"crypto/kdfparams/dklen"));return 32!==s&&e("dklen",s),t(i,r,a,s,n)}}return mn.throwArgumentError("unsupported key-derivation function","kdf",o)}function An(f,e,t){if(un(f)){t&&t(0);const r=cn(f,e);return t&&t(1),Promise.resolve(r)}return ln(f)?function(f,e,t){return bn(this,void 0,void 0,(function*(){const r=JSON.parse(f);return vn(r,yield En(r,e,_n,pn().scrypt,t))}))}(f,e,t):Promise.reject(new Error("invalid JSON wallet"))}function Sn(f,e){if(un(f))return cn(f,e);if(ln(f))return function(f,e){const t=JSON.parse(f);return vn(t,En(t,e,wn,pn().syncScrypt))}(f,e);throw new Error("invalid JSON wallet")}var kn=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const Mn=new l.Yd("wallet/5.5.0");class Pn extends Se{constructor(f,e){if(Mn.checkNew(new.target,Pn),super(),null!=(t=f)&&(0,c.A7)(t.privateKey,32)&&null!=t.address){const e=new bt(f.privateKey);if(p(this,"_signingKey",(()=>e)),p(this,"address",St(this.publicKey)),this.address!==K(f.address)&&Mn.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(f){const e=f.mnemonic;return e&&e.phrase}(f)){const e=f.mnemonic;p(this,"_mnemonic",(()=>({phrase:e.phrase,path:e.path||zr,locale:e.locale||"en"})));const t=this.mnemonic;St(Gr.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path).privateKey)!==this.address&&Mn.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else p(this,"_mnemonic",(()=>null))}else{if(bt.isSigningKey(f))"secp256k1"!==f.curve&&Mn.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),p(this,"_signingKey",(()=>f));else{"string"==typeof f&&f.match(/^[0-9a-f]*$/i)&&64===f.length&&(f="0x"+f);const e=new bt(f);p(this,"_signingKey",(()=>e))}p(this,"_mnemonic",(()=>null)),p(this,"address",St(this.publicKey))}var t;e&&!ve.isProvider(e)&&Mn.throwArgumentError("invalid provider","provider",e),p(this,"provider",e||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(f){return new Pn(this,f)}signTransaction(f){return m(f).then((e=>{null!=e.from&&(K(e.from)!==this.address&&Mn.throwArgumentError("transaction from address mismatch","transaction.from",f.from),delete e.from);const t=this._signingKey().signDigest(R(Rt(e)));return Rt(e,t)}))}signMessage(f){return kn(this,void 0,void 0,(function*(){return(0,c.gV)(this._signingKey().signDigest(Qt(f)))}))}_signTypedData(f,e,t){return kn(this,void 0,void 0,(function*(){const r=yield mr.resolveNames(f,e,t,(f=>(null==this.provider&&Mn.throwError("cannot resolve ENS names without a provider",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:f}),this.provider.resolveName(f))));return(0,c.gV)(this._signingKey().signDigest(mr.hash(r.domain,e,r.value)))}))}encrypt(f,e,t){if("function"!=typeof e||t||(t=e,e={}),t&&"function"!=typeof t)throw new Error("invalid callback");return e||(e={}),function(f,e,t,r){try{if(K(f.address)!==St(f.privateKey))throw new Error("address/privateKey mismatch");if(gn(f)){const e=f.mnemonic;if(Gr.fromMnemonic(e.phrase,null,e.locale).derivePath(e.path||zr).privateKey!=f.privateKey)throw new Error("mnemonic mismatch")}}catch(f){return Promise.reject(f)}"function"!=typeof t||r||(r=t,t={}),t||(t={});const n=(0,c.lE)(f.privateKey),i=rn(e);let o=null,a=null,s=null;if(gn(f)){const e=f.mnemonic;o=(0,c.lE)($r(e.phrase,e.locale||"en")),a=e.path||zr,s=e.locale||"en"}let u=t.client;u||(u="ethers.js");let l=null;l=t.salt?(0,c.lE)(t.salt):Zr(32);let d=null;if(t.iv){if(d=(0,c.lE)(t.iv),16!==d.length)throw new Error("invalid iv")}else d=Zr(16);let h=null;if(t.uuid){if(h=(0,c.lE)(t.uuid),16!==h.length)throw new Error("invalid uuid")}else h=Zr(16);let p=1<<17,b=8,m=1;return t.scrypt&&(t.scrypt.N&&(p=t.scrypt.N),t.scrypt.r&&(b=t.scrypt.r),t.scrypt.p&&(m=t.scrypt.p)),pn().scrypt(i,l,p,b,m,64,r).then((e=>{const t=(e=(0,c.lE)(e)).slice(0,16),r=e.slice(16,32),i=e.slice(32,64),g=new(Qr().Counter)(d),y=new(Qr().ModeOfOperation.ctr)(t,g),v=(0,c.lE)(y.encrypt(n)),w=R((0,c.zo)([r,v])),_={address:f.address.substring(2).toLowerCase(),id:on(h),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:(0,c.Dv)(d).substring(2)},ciphertext:(0,c.Dv)(v).substring(2),kdf:"scrypt",kdfparams:{salt:(0,c.Dv)(l).substring(2),n:p,dklen:32,p:m,r:b},mac:w.substring(2)}};if(o){const f=Zr(16),e=new(Qr().Counter)(f),t=new(Qr().ModeOfOperation.ctr)(i,e),r=(0,c.lE)(t.encrypt(o)),n=new Date,l=n.getUTCFullYear()+"-"+tn(n.getUTCMonth()+1,2)+"-"+tn(n.getUTCDate(),2)+"T"+tn(n.getUTCHours(),2)+"-"+tn(n.getUTCMinutes(),2)+"-"+tn(n.getUTCSeconds(),2)+".0Z";_["x-ethers"]={client:u,gethFilename:"UTC--"+l+"--"+_.address,mnemonicCounter:(0,c.Dv)(f).substring(2),mnemonicCiphertext:(0,c.Dv)(r).substring(2),path:a,locale:s,version:"0.1"}}return JSON.stringify(_)}))}(this,f,e,t)}static createRandom(f){let e=Zr(16);f||(f={}),f.extraEntropy&&(e=(0,c.lE)((0,c.p3)(R((0,c.zo)([e,f.extraEntropy])),0,16)));const t=Wr(e,f.locale);return Pn.fromMnemonic(t,f.path,f.locale)}static fromEncryptedJson(f,e,t){return An(f,e,t).then((f=>new Pn(f)))}static fromEncryptedJsonSync(f,e){return new Pn(Sn(f,e))}static fromMnemonic(f,e,t){return e||(e=zr),new Pn(Gr.fromMnemonic(f,null,t).derivePath(e))}}function xn(f,e){return kt(Qt(f),e)}function On(f,e,t,r){return kt(mr.hash(f,e,t),r)}const Nn="0x0000000000000000000000000000000000000000",Tn="0x0000000000000000000000000000000000000000000000000000000000000000",Rn="Ξ",In=new l.Yd("networks/5.5.0");function Cn(f){const e=function(e,t){null==t&&(t={});const r=[];if(e.InfuraProvider)try{r.push(new e.InfuraProvider(f,t.infura))}catch(f){}if(e.EtherscanProvider)try{r.push(new e.EtherscanProvider(f,t.etherscan))}catch(f){}if(e.AlchemyProvider)try{r.push(new e.AlchemyProvider(f,t.alchemy))}catch(f){}if(e.PocketProvider){const t=["goerli","ropsten","rinkeby"];try{const n=new e.PocketProvider(f);n.network&&-1===t.indexOf(n.network.name)&&r.push(n)}catch(f){}}if(e.CloudflareProvider)try{r.push(new e.CloudflareProvider(f))}catch(f){}if(0===r.length)return null;if(e.FallbackProvider){let n=1;return null!=t.quorum?n=t.quorum:"homestead"===f&&(n=2),new e.FallbackProvider(r,n)}return r[0]};return e.renetwork=function(f){return Cn(f)},e}function Fn(f,e){const t=function(t,r){return t.JsonRpcProvider?new t.JsonRpcProvider(f,e):null};return t.renetwork=function(e){return Fn(f,e)},t}const Bn={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:Cn("homestead")},Dn={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:Cn("ropsten")},Ln={chainId:63,name:"classicMordor",_defaultProvider:Fn("https://www.ethercluster.com/mordor","classicMordor")},jn={unspecified:{chainId:0,name:"unspecified"},homestead:Bn,mainnet:Bn,morden:{chainId:2,name:"morden"},ropsten:Dn,testnet:Dn,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:Cn("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:Cn("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:Cn("goerli")},classic:{chainId:61,name:"classic",_defaultProvider:Fn("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Ln,classicTestnet:Ln,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Fn("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic"},maticmum:{chainId:80001,name:"maticmum"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function Un(f){if(null==f)return null;if("number"==typeof f){for(const e in jn){const t=jn[e];if(t.chainId===f)return{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress||null,_defaultProvider:t._defaultProvider||null}}return{chainId:f,name:"unknown"}}if("string"==typeof f){const e=jn[f];return null==e?null:{name:e.name,chainId:e.chainId,ensAddress:e.ensAddress,_defaultProvider:e._defaultProvider||null}}const e=jn[f.name];if(!e)return"number"!=typeof f.chainId&&In.throwArgumentError("invalid network chainId","network",f),f;0!==f.chainId&&f.chainId!==e.chainId&&In.throwArgumentError("network chainId mismatch","network",f);let t=f._defaultProvider||null;var r;return null==t&&e._defaultProvider&&(t=(r=e._defaultProvider)&&"function"==typeof r.renetwork?e._defaultProvider.renetwork(f):e._defaultProvider),{name:f.name,chainId:e.chainId,ensAddress:f.ensAddress||e.ensAddress||null,_defaultProvider:t}}function zn(f,e){e||(e=function(f){return[parseInt(f,16)]});let t=0,r={};return f.split(",").forEach((f=>{let n=f.split(":");t+=parseInt(n[0],16),r[t]=e(n[1])})),r}function Gn(f){let e=0;return f.split(",").map((f=>{let t=f.split("-");1===t.length?t[1]="0":""===t[1]&&(t[1]="1");let r=e+parseInt(t[0],16);return e=parseInt(t[1],16),{l:r,h:e}}))}function qn(f,e){let t=0;for(let r=0;r<e.length;r++){let n=e[r];if(t+=n.l,f>=t&&f<=t+n.h&&(f-t)%(n.d||1)==0){if(n.e&&-1!==n.e.indexOf(f-t))continue;return n}}return null}const $n=Gn("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Wn="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((f=>parseInt(f,16))),Hn=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Kn=zn("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Vn=zn("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Yn=zn("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(f){if(f.length%4!=0)throw new Error("bad data");let e=[];for(let t=0;t<f.length;t+=4)e.push(parseInt(f.substring(t,t+4),16));return e})),Jn=Gn("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function Zn(f){if(f.match(/^[a-z0-9-]*$/i)&&f.length<=59)return f.toLowerCase();let e=uf(f);var t;t=e.map((f=>{if(Wn.indexOf(f)>=0)return[];if(f>=65024&&f<=65039)return[];let e=function(f){let e=qn(f,Hn);if(e)return[f+e.s];let t=Kn[f];if(t)return t;let r=Vn[f];return r?[f+r[0]]:Yn[f]||null}(f);return e||[f]})),e=t.reduce(((f,e)=>(e.forEach((e=>{f.push(e)})),f)),[]),e=uf(sf(e),Q.NFKC),e.forEach((f=>{if(qn(f,Jn))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),e.forEach((f=>{if(qn(f,$n))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));let r=sf(e);if("-"===r.substring(0,1)||"--"===r.substring(2,4)||"-"===r.substring(r.length-1))throw new Error("invalid hyphen");if(r.length>63)throw new Error("too long");return r}const Xn=new l.Yd(fr),Qn=new Uint8Array(32);Qn.fill(0);const fi=new RegExp("^((.*)\\.)?([^.]+)$");function ei(f){try{const e=f.split(".");for(let f=0;f<e.length;f++)if(0===Zn(e[f]).length)throw new Error("empty");return!0}catch(f){}return!1}function ti(f){"string"!=typeof f&&Xn.throwArgumentError("invalid ENS name; not a string","name",f);let e=f,t=Qn;for(;e.length;){const r=e.match(fi);null!=r&&""!==r[2]||Xn.throwArgumentError("invalid ENS address; missing component","name",f);const n=nf(Zn(r[3]));t=R((0,c.zo)([t,R(n)])),e=r[2]||""}return(0,c.Dv)(t)}function ri(f){f=atob(f);const e=[];for(let t=0;t<f.length;t++)e.push(f.charCodeAt(t));return(0,c.lE)(e)}function ni(f){f=(0,c.lE)(f);let e="";for(let t=0;t<f.length;t++)e+=String.fromCharCode(f[t]);return btoa(e)}var ii=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};function oi(f,e){return ii(this,void 0,void 0,(function*(){null==e&&(e={});const t={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0};!0!==e.skipFetchSetup&&(t.mode="cors",t.cache="no-cache",t.credentials="same-origin",t.redirect="follow",t.referrer="client");const r=yield fetch(f,t),n=yield r.arrayBuffer(),i={};return r.headers.forEach?r.headers.forEach(((f,e)=>{i[e.toLowerCase()]=f})):r.headers.keys().forEach((f=>{i[f.toLowerCase()]=r.headers.get(f)})),{headers:i,statusCode:r.status,statusMessage:r.statusText,body:(0,c.lE)(new Uint8Array(n))}}))}var ai=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const si=new l.Yd("web/5.5.0");function ci(f){return new Promise((e=>{setTimeout(e,f)}))}function ui(f,e){if(null==f)return null;if("string"==typeof f)return f;if((0,c.Zq)(f)){if(e&&("text"===e.split("/")[0]||"application/json"===e.split(";")[0].trim()))try{return cf(f)}catch(f){}return(0,c.Dv)(f)}return f}function li(f,e,t){const r="object"==typeof f&&null!=f.throttleLimit?f.throttleLimit:12;si.assertArgument(r>0&&r%1==0,"invalid connection throttle limit","connection.throttleLimit",r);const n="object"==typeof f?f.throttleCallback:null,i="object"==typeof f&&"number"==typeof f.throttleSlotInterval?f.throttleSlotInterval:100;si.assertArgument(i>0&&i%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",i);const o={};let a=null;const s={method:"GET"};let c=!1,u=12e4;if("string"==typeof f)a=f;else if("object"==typeof f){if(null!=f&&null!=f.url||si.throwArgumentError("missing URL","connection.url",f),a=f.url,"number"==typeof f.timeout&&f.timeout>0&&(u=f.timeout),f.headers)for(const e in f.headers)o[e.toLowerCase()]={key:e,value:String(f.headers[e])},["if-none-match","if-modified-since"].indexOf(e.toLowerCase())>=0&&(c=!0);if(s.allowGzip=!!f.allowGzip,null!=f.user&&null!=f.password){"https:"!==a.substring(0,6)&&!0!==f.allowInsecureAuthentication&&si.throwError("basic authentication requires a secure https url",l.Yd.errors.INVALID_ARGUMENT,{argument:"url",url:a,user:f.user,password:"[REDACTED]"});const e=f.user+":"+f.password;o.authorization={key:"Authorization",value:"Basic "+ni(nf(e))}}}e&&(s.method="POST",s.body=e,null==o["content-type"]&&(o["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==o["content-length"]&&(o["content-length"]={key:"Content-Length",value:String(e.length)}));const d={};Object.keys(o).forEach((f=>{const e=o[f];d[e.key]=e.value})),s.headers=d;const h=function(){let f=null;return{promise:new Promise((function(e,t){u&&(f=setTimeout((()=>{null!=f&&(f=null,t(si.makeError("timeout",l.Yd.errors.TIMEOUT,{requestBody:ui(s.body,d["content-type"]),requestMethod:s.method,timeout:u,url:a})))}),u))})),cancel:function(){null!=f&&(clearTimeout(f),f=null)}}}(),p=function(){return ai(this,void 0,void 0,(function*(){for(let f=0;f<r;f++){let e=null;try{if(e=yield oi(a,s),429===e.statusCode&&f<r){let t=!0;if(n&&(t=yield n(f,a)),t){let t=0;const r=e.headers["retry-after"];t="string"==typeof r&&r.match(/^[1-9][0-9]*$/)?1e3*parseInt(r):i*parseInt(String(Math.random()*Math.pow(2,f))),yield ci(t);continue}}}catch(f){e=f.response,null==e&&(h.cancel(),si.throwError("missing response",l.Yd.errors.SERVER_ERROR,{requestBody:ui(s.body,d["content-type"]),requestMethod:s.method,serverError:f,url:a}))}let o=e.body;if(c&&304===e.statusCode?o=null:(e.statusCode<200||e.statusCode>=300)&&(h.cancel(),si.throwError("bad response",l.Yd.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:ui(o,e.headers?e.headers["content-type"]:null),requestBody:ui(s.body,d["content-type"]),requestMethod:s.method,url:a})),t)try{const f=yield t(o,e);return h.cancel(),f}catch(t){if(t.throttleRetry&&f<r){let e=!0;if(n&&(e=yield n(f,a)),e){const e=i*parseInt(String(Math.random()*Math.pow(2,f)));yield ci(e);continue}}h.cancel(),si.throwError("processing response error",l.Yd.errors.SERVER_ERROR,{body:ui(o,e.headers?e.headers["content-type"]:null),error:t,requestBody:ui(s.body,d["content-type"]),requestMethod:s.method,url:a})}return h.cancel(),o}return si.throwError("failed response",l.Yd.errors.SERVER_ERROR,{requestBody:ui(s.body,d["content-type"]),requestMethod:s.method,url:a})}))}();return Promise.race([h.promise,p])}function di(f,e,t){let r=null;if(null!=e){r=nf(e);const t="string"==typeof f?{url:f}:y(f);if(t.headers){0!==Object.keys(t.headers).filter((f=>"content-type"===f.toLowerCase())).length||(t.headers=y(t.headers),t.headers["content-type"]="application/json")}else t.headers={"content-type":"application/json"};f=t}return li(f,r,((f,e)=>{let r=null;if(null!=f)try{r=JSON.parse(cf(f))}catch(e){si.throwError("invalid JSON",l.Yd.errors.SERVER_ERROR,{body:f,error:e})}return t&&(r=t(r,e)),r}))}function hi(f,e){return e||(e={}),null==(e=y(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(t,r){let n=null,i=!1;const o=()=>!i&&(i=!0,n&&clearTimeout(n),!0);e.timeout&&(n=setTimeout((()=>{o()&&r(new Error("timeout"))}),e.timeout));const a=e.retryLimit;let s=0;!function n(){return f().then((function(f){if(void 0!==f)o()&&t(f);else if(e.oncePoll)e.oncePoll.once("poll",n);else if(e.onceBlock)e.onceBlock.once("block",n);else if(!i){if(s++,s>a)return void(o()&&r(new Error("retry limit reached")));let f=e.interval*parseInt(String(Math.random()*Math.pow(2,s)));f<e.floor&&(f=e.floor),f>e.ceiling&&(f=e.ceiling),setTimeout(n,f)}return null}),(function(f){o()&&r(f)}))}()}))}var pi=t(2882),bi=t.n(pi);const mi="providers/5.5.0",gi=new l.Yd(mi);class yi{constructor(){gi.checkNew(new.target,yi),this.formats=this.getDefaultFormats()}getDefaultFormats(){const f={},e=this.address.bind(this),t=this.bigNumber.bind(this),r=this.blockTag.bind(this),n=this.data.bind(this),i=this.hash.bind(this),o=this.hex.bind(this),a=this.number.bind(this),s=this.type.bind(this);return f.transaction={hash:i,type:s,accessList:yi.allowNull(this.accessList.bind(this),null),blockHash:yi.allowNull(i,null),blockNumber:yi.allowNull(a,null),transactionIndex:yi.allowNull(a,null),confirmations:yi.allowNull(a,null),from:e,gasPrice:yi.allowNull(t),maxPriorityFeePerGas:yi.allowNull(t),maxFeePerGas:yi.allowNull(t),gasLimit:t,to:yi.allowNull(e,null),value:t,nonce:a,data:n,r:yi.allowNull(this.uint256),s:yi.allowNull(this.uint256),v:yi.allowNull(a),creates:yi.allowNull(e,null),raw:yi.allowNull(n)},f.transactionRequest={from:yi.allowNull(e),nonce:yi.allowNull(a),gasLimit:yi.allowNull(t),gasPrice:yi.allowNull(t),maxPriorityFeePerGas:yi.allowNull(t),maxFeePerGas:yi.allowNull(t),to:yi.allowNull(e),value:yi.allowNull(t),data:yi.allowNull((f=>this.data(f,!0))),type:yi.allowNull(a),accessList:yi.allowNull(this.accessList.bind(this),null)},f.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:i,address:e,topics:yi.arrayOf(i),data:n,logIndex:a,blockHash:i},f.receipt={to:yi.allowNull(this.address,null),from:yi.allowNull(this.address,null),contractAddress:yi.allowNull(e,null),transactionIndex:a,root:yi.allowNull(o),gasUsed:t,logsBloom:yi.allowNull(n),blockHash:i,transactionHash:i,logs:yi.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:yi.allowNull(a,null),cumulativeGasUsed:t,effectiveGasPrice:yi.allowNull(t),status:yi.allowNull(a),type:s},f.block={hash:i,parentHash:i,number:a,timestamp:a,nonce:yi.allowNull(o),difficulty:this.difficulty.bind(this),gasLimit:t,gasUsed:t,miner:e,extraData:n,transactions:yi.allowNull(yi.arrayOf(i)),baseFeePerGas:yi.allowNull(t)},f.blockWithTransactions=y(f.block),f.blockWithTransactions.transactions=yi.allowNull(yi.arrayOf(this.transactionResponse.bind(this))),f.filter={fromBlock:yi.allowNull(r,void 0),toBlock:yi.allowNull(r,void 0),blockHash:yi.allowNull(i,void 0),address:yi.allowNull(e,void 0),topics:yi.allowNull(this.topics.bind(this),void 0)},f.filterLog={blockNumber:yi.allowNull(a),blockHash:yi.allowNull(i),transactionIndex:a,removed:yi.allowNull(this.boolean.bind(this)),address:e,data:yi.allowFalsish(n,"0x"),topics:yi.arrayOf(i),transactionHash:i,logIndex:a},f}accessList(f){return xt(f||[])}number(f){return"0x"===f?0:u.O$.from(f).toNumber()}type(f){return"0x"===f||null==f?0:u.O$.from(f).toNumber()}bigNumber(f){return u.O$.from(f)}boolean(f){if("boolean"==typeof f)return f;if("string"==typeof f){if("true"===(f=f.toLowerCase()))return!0;if("false"===f)return!1}throw new Error("invalid boolean - "+f)}hex(f,e){return"string"==typeof f&&(e||"0x"===f.substring(0,2)||(f="0x"+f),(0,c.A7)(f))?f.toLowerCase():gi.throwArgumentError("invalid hash","value",f)}data(f,e){const t=this.hex(f,e);if(t.length%2!=0)throw new Error("invalid data; odd-length - "+f);return t}address(f){return K(f)}callAddress(f){if(!(0,c.A7)(f,32))return null;const e=K((0,c.p3)(f,12));return e===Nn?null:e}contractAddress(f){return J(f)}blockTag(f){if(null==f)return"latest";if("earliest"===f)return"0x0";if("latest"===f||"pending"===f)return f;if("number"==typeof f||(0,c.A7)(f))return(0,c.$P)(f);throw new Error("invalid blockTag")}hash(f,e){const t=this.hex(f,e);return 32!==(0,c.E1)(t)?gi.throwArgumentError("invalid hash","value",f):t}difficulty(f){if(null==f)return null;const e=u.O$.from(f);try{return e.toNumber()}catch(f){}return null}uint256(f){if(!(0,c.A7)(f))throw new Error("invalid uint256");return(0,c.$m)(f,32)}_block(f,e){null!=f.author&&null==f.miner&&(f.miner=f.author);const t=null!=f._difficulty?f._difficulty:f.difficulty,r=yi.check(e,f);return r._difficulty=null==t?null:u.O$.from(t),r}block(f){return this._block(f,this.formats.block)}blockWithTransactions(f){return this._block(f,this.formats.blockWithTransactions)}transactionRequest(f){return yi.check(this.formats.transactionRequest,f)}transactionResponse(f){null!=f.gas&&null==f.gasLimit&&(f.gasLimit=f.gas),f.to&&u.O$.from(f.to).isZero()&&(f.to="0x0000000000000000000000000000000000000000"),null!=f.input&&null==f.data&&(f.data=f.input),null==f.to&&null==f.creates&&(f.creates=this.contractAddress(f)),1!==f.type&&2!==f.type||null!=f.accessList||(f.accessList=[]);const e=yi.check(this.formats.transaction,f);if(null!=f.chainId){let t=f.chainId;(0,c.A7)(t)&&(t=u.O$.from(t).toNumber()),e.chainId=t}else{let t=f.networkId;null==t&&null==e.v&&(t=f.chainId),(0,c.A7)(t)&&(t=u.O$.from(t).toNumber()),"number"!=typeof t&&null!=e.v&&(t=(e.v-35)/2,t<0&&(t=0),t=parseInt(t)),"number"!=typeof t&&(t=0),e.chainId=t}return e.blockHash&&"x"===e.blockHash.replace(/0/g,"")&&(e.blockHash=null),e}transaction(f){return Ct(f)}receiptLog(f){return yi.check(this.formats.receiptLog,f)}receipt(f){const e=yi.check(this.formats.receipt,f);if(null!=e.root)if(e.root.length<=4){const f=u.O$.from(e.root).toNumber();0===f||1===f?(null!=e.status&&e.status!==f&&gi.throwArgumentError("alt-root-status/status mismatch","value",{root:e.root,status:e.status}),e.status=f,delete e.root):gi.throwArgumentError("invalid alt-root-status","value.root",e.root)}else 66!==e.root.length&&gi.throwArgumentError("invalid root hash","value.root",e.root);return null!=e.status&&(e.byzantium=!0),e}topics(f){return Array.isArray(f)?f.map((f=>this.topics(f))):null!=f?this.hash(f,!0):null}filter(f){return yi.check(this.formats.filter,f)}filterLog(f){return yi.check(this.formats.filterLog,f)}static check(f,e){const t={};for(const r in f)try{const n=f[r](e[r]);void 0!==n&&(t[r]=n)}catch(f){throw f.checkKey=r,f.checkValue=e[r],f}return t}static allowNull(f,e){return function(t){return null==t?e:f(t)}}static allowFalsish(f,e){return function(t){return t?f(t):e}}static arrayOf(f){return function(e){if(!Array.isArray(e))throw new Error("not an array");const t=[];return e.forEach((function(e){t.push(f(e))})),t}}}function vi(f){return f&&"function"==typeof f.isCommunityResource}function wi(f){return vi(f)&&f.isCommunityResource()}let _i=!1;function Ei(){_i||(_i=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded  (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}var Ai=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const Si=new l.Yd(mi);function ki(f){return null==f?"null":(32!==(0,c.E1)(f)&&Si.throwArgumentError("invalid topic","topic",f),f.toLowerCase())}function Mi(f){for(f=f.slice();f.length>0&&null==f[f.length-1];)f.pop();return f.map((f=>{if(Array.isArray(f)){const e={};f.forEach((f=>{e[ki(f)]=!0}));const t=Object.keys(e);return t.sort(),t.join("|")}return ki(f)})).join("&")}function Pi(f){if("string"==typeof f){if(f=f.toLowerCase(),32===(0,c.E1)(f))return"tx:"+f;if(-1===f.indexOf(":"))return f}else{if(Array.isArray(f))return"filter:*:"+Mi(f);if(ye.isForkEvent(f))throw Si.warn("not implemented"),new Error("not implemented");if(f&&"object"==typeof f)return"filter:"+(f.address||"*")+":"+Mi(f.topics||[])}throw new Error("invalid event - "+f)}function xi(){return(new Date).getTime()}function Oi(f){return new Promise((e=>{setTimeout(e,f)}))}const Ni=["block","network","pending","poll"];class Ti{constructor(f,e,t){p(this,"tag",f),p(this,"listener",e),p(this,"once",t)}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const f=this.tag.split(":");return"tx"!==f[0]?null:f[1]}get filter(){const f=this.tag.split(":");if("filter"!==f[0])return null;const e=f[1],t=""===(r=f[2])?[]:r.split(/&/g).map((f=>{if(""===f)return[];const e=f.split("|").map((f=>"null"===f?null:f));return 1===e.length?e[0]:e}));var r;const n={};return t.length>0&&(n.topics=t),e&&"*"!==e&&(n.address=e),n}pollable(){return this.tag.indexOf(":")>=0||Ni.indexOf(this.tag)>=0}}const Ri={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function Ii(f){return(0,c.$m)(u.O$.from(f).toHexString(),32)}function Ci(f){return yr.encode((0,c.zo)([f,(0,c.p3)(Er(Er(f)),0,4)]))}const Fi=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),new RegExp("^(ipfs)://(.*)$","i"),new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function Bi(f){try{return cf(Di(f))}catch(f){}return null}function Di(f){if("0x"===f)return null;const e=u.O$.from((0,c.p3)(f,0,32)).toNumber(),t=u.O$.from((0,c.p3)(f,e,e+32)).toNumber();return(0,c.p3)(f,e+32,e+32+t)}class Li{constructor(f,e,t,r){p(this,"provider",f),p(this,"name",t),p(this,"address",f.formatter.address(e)),p(this,"_resolvedAddress",r)}_fetchBytes(f,e){return Ai(this,void 0,void 0,(function*(){const t={to:this.address,data:(0,c.xs)([f,ti(this.name),e||"0x"])};try{return Di(yield this.provider.call(t))}catch(f){return f.code,l.Yd.errors.CALL_EXCEPTION,null}}))}_getAddress(f,e){const t=Ri[String(f)];if(null==t&&Si.throwError(`unsupported coin type: ${f}`,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${f})`}),"eth"===t.ilk)return this.provider.formatter.address(e);const r=(0,c.lE)(e);if(null!=t.p2pkh){const f=e.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(f){const e=parseInt(f[1],16);if(f[2].length===2*e&&e>=1&&e<=75)return Ci((0,c.zo)([[t.p2pkh],"0x"+f[2]]))}}if(null!=t.p2sh){const f=e.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(f){const e=parseInt(f[1],16);if(f[2].length===2*e&&e>=1&&e<=75)return Ci((0,c.zo)([[t.p2sh],"0x"+f[2]]))}}if(null!=t.prefix){const f=r[1];let e=r[0];if(0===e?20!==f&&32!==f&&(e=-1):e=-1,e>=0&&r.length===2+f&&f>=1&&f<=75){const f=bi().toWords(r.slice(2));return f.unshift(e),bi().encode(t.prefix,f)}}return null}getAddress(f){return Ai(this,void 0,void 0,(function*(){if(null==f&&(f=60),60===f)try{const f={to:this.address,data:"0x3b3b57de"+ti(this.name).substring(2)},e=yield this.provider.call(f);return"0x"===e||e===Tn?null:this.provider.formatter.callAddress(e)}catch(f){if(f.code===l.Yd.errors.CALL_EXCEPTION)return null;throw f}const e=yield this._fetchBytes("0xf1cb7e06",Ii(f));if(null==e||"0x"===e)return null;const t=this._getAddress(f,e);return null==t&&Si.throwError("invalid or unsupported coin data",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${f})`,coinType:f,data:e}),t}))}getAvatar(){return Ai(this,void 0,void 0,(function*(){const f=[];try{const e=yield this.getText("avatar");if(null==e)return null;for(let t=0;t<Fi.length;t++){const r=e.match(Fi[t]);if(null!=r)switch(r[1]){case"https":return f.push({type:"url",content:e}),{linkage:f,url:e};case"data":return f.push({type:"data",content:e}),{linkage:f,url:e};case"ipfs":return f.push({type:"ipfs",content:e}),{linkage:f,url:`https://gateway.ipfs.io/ipfs/${e.substring(7)}`};case"erc721":case"erc1155":{const t="erc721"===r[1]?"0xc87b56dd":"0x0e89341c";f.push({type:r[1],content:e});const n=this._resolvedAddress||(yield this.getAddress()),i=(r[2]||"").split("/");if(2!==i.length)return null;const o=yield this.provider.formatter.address(i[0]),a=(0,c.$m)(u.O$.from(i[1]).toHexString(),32);if("erc721"===r[1]){const e=this.provider.formatter.callAddress(yield this.provider.call({to:o,data:(0,c.xs)(["0x6352211e",a])}));if(n!==e)return null;f.push({type:"owner",content:e})}else if("erc1155"===r[1]){const e=u.O$.from(yield this.provider.call({to:o,data:(0,c.xs)(["0x00fdd58e",(0,c.$m)(n,32),a])}));if(e.isZero())return null;f.push({type:"balance",content:e.toString()})}const s={to:this.provider.formatter.address(i[0]),data:(0,c.xs)([t,a])};let l=Bi(yield this.provider.call(s));if(null==l)return null;f.push({type:"metadata-url",content:l}),"erc1155"===r[1]&&(l=l.replace("{id}",a.substring(2)));const d=yield di(l);return d&&"string"==typeof d.image&&d.image.match(/^https:\/\//i)?(f.push({type:"metadata",content:JSON.stringify(d)}),f.push({type:"url",content:d.image}),{linkage:f,url:d.image}):null}}}}catch(f){}return null}))}getContentHash(){return Ai(this,void 0,void 0,(function*(){const f=yield this._fetchBytes("0xbc1c58d1");if(null==f||"0x"===f)return null;const e=f.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){const f=parseInt(e[3],16);if(e[4].length===2*f)return"ipfs://"+yr.encode("0x"+e[1])}const t=f.match(/^0xe40101fa011b20([0-9a-f]*)$/);return t&&64===t[1].length?"bzz://"+t[1]:Si.throwError("invalid or unsupported content hash data",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:f})}))}getText(f){return Ai(this,void 0,void 0,(function*(){let e=nf(f);e=(0,c.zo)([Ii(64),Ii(e.length),e]),e.length%32!=0&&(e=(0,c.zo)([e,(0,c.$m)("0x",32-f.length%32)]));const t=yield this._fetchBytes("0x59d1d43c",(0,c.Dv)(e));return null==t||"0x"===t?null:cf(t)}))}}let ji=null,Ui=1;class zi extends ve{constructor(f){if(Si.checkNew(new.target,ve),super(),this._events=[],this._emitted={block:-2},this.formatter=new.target.getFormatter(),p(this,"anyNetwork","any"===f),this.anyNetwork&&(f=this.detectNetwork()),f instanceof Promise)this._networkPromise=f,f.catch((f=>{})),this._ready().catch((f=>{}));else{const e=b(new.target,"getNetwork")(f);e?(p(this,"_network",e),this.emit("network",e,null)):Si.throwArgumentError("invalid network","network",f)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return Ai(this,void 0,void 0,(function*(){if(null==this._network){let f=null;if(this._networkPromise)try{f=yield this._networkPromise}catch(f){}null==f&&(f=yield this.detectNetwork()),f||Si.throwError("no network detected",l.Yd.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=f:p(this,"_network",f),this.emit("network",f,null))}return this._network}))}get ready(){return hi((()=>this._ready().then((f=>f),(f=>{if(f.code!==l.Yd.errors.NETWORK_ERROR||"noNetwork"!==f.event)throw f}))))}static getFormatter(){return null==ji&&(ji=new yi),ji}static getNetwork(f){return Un(null==f?"homestead":f)}_getInternalBlockNumber(f){return Ai(this,void 0,void 0,(function*(){if(yield this._ready(),f>0)for(;this._internalBlockNumber;){const e=this._internalBlockNumber;try{const t=yield e;if(xi()-t.respTime<=f)return t.blockNumber;break}catch(f){if(this._internalBlockNumber===e)break}}const e=xi(),t=m({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((f=>null),(f=>f))}).then((({blockNumber:f,networkError:r})=>{if(r)throw this._internalBlockNumber===t&&(this._internalBlockNumber=null),r;const n=xi();return(f=u.O$.from(f).toNumber())<this._maxInternalBlockNumber&&(f=this._maxInternalBlockNumber),this._maxInternalBlockNumber=f,this._setFastBlockNumber(f),{blockNumber:f,reqTime:e,respTime:n}}));return this._internalBlockNumber=t,t.catch((f=>{this._internalBlockNumber===t&&(this._internalBlockNumber=null)})),(yield t).blockNumber}))}poll(){return Ai(this,void 0,void 0,(function*(){const f=Ui++,e=[];let t=null;try{t=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(f){return void this.emit("error",f)}if(this._setFastBlockNumber(t),this.emit("poll",f,t),t!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=t-1),Math.abs(this._emitted.block-t)>1e3)Si.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${t})`),this.emit("error",Si.makeError("network block skew detected",l.Yd.errors.NETWORK_ERROR,{blockNumber:t,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",t);else for(let f=this._emitted.block+1;f<=t;f++)this.emit("block",f);this._emitted.block!==t&&(this._emitted.block=t,Object.keys(this._emitted).forEach((f=>{if("block"===f)return;const e=this._emitted[f];"pending"!==e&&t-e>12&&delete this._emitted[f]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=t-1),this._events.forEach((f=>{switch(f.type){case"tx":{const t=f.hash;let r=this.getTransactionReceipt(t).then((f=>f&&null!=f.blockNumber?(this._emitted["t:"+t]=f.blockNumber,this.emit(t,f),null):null)).catch((f=>{this.emit("error",f)}));e.push(r);break}case"filter":{const r=f.filter;r.fromBlock=this._lastBlockNumber+1,r.toBlock=t;const n=this.getLogs(r).then((f=>{0!==f.length&&f.forEach((f=>{this._emitted["b:"+f.blockHash]=f.blockNumber,this._emitted["t:"+f.transactionHash]=f.blockNumber,this.emit(r,f)}))})).catch((f=>{this.emit("error",f)}));e.push(n);break}}})),this._lastBlockNumber=t,Promise.all(e).then((()=>{this.emit("didPoll",f)})).catch((f=>{this.emit("error",f)}))}else this.emit("didPoll",f)}))}resetEventsBlock(f){this._lastBlockNumber=f-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return Ai(this,void 0,void 0,(function*(){return Si.throwError("provider does not support network detection",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return Ai(this,void 0,void 0,(function*(){const f=yield this._ready(),e=yield this.detectNetwork();if(f.chainId!==e.chainId){if(this.anyNetwork)return this._network=e,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",e,f),yield Oi(0),this._network;const t=Si.makeError("underlying network changed",l.Yd.errors.NETWORK_ERROR,{event:"changed",network:f,detectedNetwork:e});throw this.emit("error",t),t}return f}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then((f=>{this._setFastBlockNumber(f)}),(f=>{})),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(f){f&&!this._poller?(this._poller=setInterval((()=>{this.poll()}),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((()=>{this.poll(),this._bootstrapPoll=setTimeout((()=>{this._poller||this.poll(),this._bootstrapPoll=null}),this.pollingInterval)}),0))):!f&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(f){if("number"!=typeof f||f<=0||parseInt(String(f))!=f)throw new Error("invalid polling interval");this._pollingInterval=f,this._poller&&(clearInterval(this._poller),this._poller=setInterval((()=>{this.poll()}),this._pollingInterval))}_getFastBlockNumber(){const f=xi();return f-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=f,this._fastBlockNumberPromise=this.getBlockNumber().then((f=>((null==this._fastBlockNumber||f>this._fastBlockNumber)&&(this._fastBlockNumber=f),this._fastBlockNumber)))),this._fastBlockNumberPromise}_setFastBlockNumber(f){null!=this._fastBlockNumber&&f<this._fastBlockNumber||(this._fastQueryDate=xi(),(null==this._fastBlockNumber||f>this._fastBlockNumber)&&(this._fastBlockNumber=f,this._fastBlockNumberPromise=Promise.resolve(f)))}waitForTransaction(f,e,t){return Ai(this,void 0,void 0,(function*(){return this._waitForTransaction(f,null==e?1:e,t||0,null)}))}_waitForTransaction(f,e,t,r){return Ai(this,void 0,void 0,(function*(){const n=yield this.getTransactionReceipt(f);return(n?n.confirmations:0)>=e?n:new Promise(((n,i)=>{const o=[];let a=!1;const s=function(){return!!a||(a=!0,o.forEach((f=>{f()})),!1)},c=f=>{f.confirmations<e||s()||n(f)};if(this.on(f,c),o.push((()=>{this.removeListener(f,c)})),r){let t=r.startBlock,n=null;const c=o=>Ai(this,void 0,void 0,(function*(){a||(yield Oi(1e3),this.getTransactionCount(r.from).then((u=>Ai(this,void 0,void 0,(function*(){if(!a){if(u<=r.nonce)t=o;else{{const e=yield this.getTransaction(f);if(e&&null!=e.blockNumber)return}for(null==n&&(n=t-3,n<r.startBlock&&(n=r.startBlock));n<=o;){if(a)return;const t=yield this.getBlockWithTransactions(n);for(let n=0;n<t.transactions.length;n++){const o=t.transactions[n];if(o.hash===f)return;if(o.from===r.from&&o.nonce===r.nonce){if(a)return;const t=yield this.waitForTransaction(o.hash,e);if(s())return;let n="replaced";return o.data===r.data&&o.to===r.to&&o.value.eq(r.value)?n="repriced":"0x"===o.data&&o.from===o.to&&o.value.isZero()&&(n="cancelled"),void i(Si.makeError("transaction was replaced",l.Yd.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===n||"cancelled"===n,reason:n,replacement:this._wrapTransaction(o),hash:f,receipt:t}))}}n++}}a||this.once("block",c)}}))),(f=>{a||this.once("block",c)})))}));if(a)return;this.once("block",c),o.push((()=>{this.removeListener("block",c)}))}if("number"==typeof t&&t>0){const f=setTimeout((()=>{s()||i(Si.makeError("timeout exceeded",l.Yd.errors.TIMEOUT,{timeout:t}))}),t);f.unref&&f.unref(),o.push((()=>{clearTimeout(f)}))}}))}))}getBlockNumber(){return Ai(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const f=yield this.perform("getGasPrice",{});try{return u.O$.from(f)}catch(e){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"getGasPrice",result:f,error:e})}}))}getBalance(f,e){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield m({address:this._getAddress(f),blockTag:this._getBlockTag(e)}),r=yield this.perform("getBalance",t);try{return u.O$.from(r)}catch(f){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"getBalance",params:t,result:r,error:f})}}))}getTransactionCount(f,e){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield m({address:this._getAddress(f),blockTag:this._getBlockTag(e)}),r=yield this.perform("getTransactionCount",t);try{return u.O$.from(r).toNumber()}catch(f){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"getTransactionCount",params:t,result:r,error:f})}}))}getCode(f,e){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield m({address:this._getAddress(f),blockTag:this._getBlockTag(e)}),r=yield this.perform("getCode",t);try{return(0,c.Dv)(r)}catch(f){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"getCode",params:t,result:r,error:f})}}))}getStorageAt(f,e,t){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield m({address:this._getAddress(f),blockTag:this._getBlockTag(t),position:Promise.resolve(e).then((f=>(0,c.$P)(f)))}),n=yield this.perform("getStorageAt",r);try{return(0,c.Dv)(n)}catch(f){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"getStorageAt",params:r,result:n,error:f})}}))}_wrapTransaction(f,e,t){if(null!=e&&32!==(0,c.E1)(e))throw new Error("invalid response - sendTransaction");const r=f;return null!=e&&f.hash!==e&&Si.throwError("Transaction hash mismatch from Provider.sendTransaction.",l.Yd.errors.UNKNOWN_ERROR,{expectedHash:f.hash,returnedHash:e}),r.wait=(e,r)=>Ai(this,void 0,void 0,(function*(){let n;null==e&&(e=1),null==r&&(r=0),0!==e&&null!=t&&(n={data:f.data,from:f.from,nonce:f.nonce,to:f.to,value:f.value,startBlock:t});const i=yield this._waitForTransaction(f.hash,e,r,n);return null==i&&0===e?null:(this._emitted["t:"+f.hash]=i.blockNumber,0===i.status&&Si.throwError("transaction failed",l.Yd.errors.CALL_EXCEPTION,{transactionHash:f.hash,transaction:f,receipt:i}),i)})),r}sendTransaction(f){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield Promise.resolve(f).then((f=>(0,c.Dv)(f))),t=this.formatter.transaction(f);null==t.confirmations&&(t.confirmations=0);const r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const f=yield this.perform("sendTransaction",{signedTransaction:e});return this._wrapTransaction(t,f,r)}catch(f){throw f.transaction=t,f.transactionHash=t.hash,f}}))}_getTransactionRequest(f){return Ai(this,void 0,void 0,(function*(){const e=yield f,t={};return["from","to"].forEach((f=>{null!=e[f]&&(t[f]=Promise.resolve(e[f]).then((f=>f?this._getAddress(f):null)))})),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((f=>{null!=e[f]&&(t[f]=Promise.resolve(e[f]).then((f=>f?u.O$.from(f):null)))})),["type"].forEach((f=>{null!=e[f]&&(t[f]=Promise.resolve(e[f]).then((f=>null!=f?f:null)))})),e.accessList&&(t.accessList=this.formatter.accessList(e.accessList)),["data"].forEach((f=>{null!=e[f]&&(t[f]=Promise.resolve(e[f]).then((f=>f?(0,c.Dv)(f):null)))})),this.formatter.transactionRequest(yield m(t))}))}_getFilter(f){return Ai(this,void 0,void 0,(function*(){f=yield f;const e={};return null!=f.address&&(e.address=this._getAddress(f.address)),["blockHash","topics"].forEach((t=>{null!=f[t]&&(e[t]=f[t])})),["fromBlock","toBlock"].forEach((t=>{null!=f[t]&&(e[t]=this._getBlockTag(f[t]))})),this.formatter.filter(yield m(e))}))}call(f,e){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield m({transaction:this._getTransactionRequest(f),blockTag:this._getBlockTag(e)}),r=yield this.perform("call",t);try{return(0,c.Dv)(r)}catch(f){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"call",params:t,result:r,error:f})}}))}estimateGas(f){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield m({transaction:this._getTransactionRequest(f)}),t=yield this.perform("estimateGas",e);try{return u.O$.from(t)}catch(f){return Si.throwError("bad result from backend",l.Yd.errors.SERVER_ERROR,{method:"estimateGas",params:e,result:t,error:f})}}))}_getAddress(f){return Ai(this,void 0,void 0,(function*(){"string"!=typeof(f=yield f)&&Si.throwArgumentError("invalid address or ENS name","name",f);const e=yield this.resolveName(f);return null==e&&Si.throwError("ENS name not configured",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(f)})`}),e}))}_getBlock(f,e){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork(),f=yield f;let t=-128;const r={includeTransactions:!!e};if((0,c.A7)(f,32))r.blockHash=f;else try{r.blockTag=yield this._getBlockTag(f),(0,c.A7)(r.blockTag)&&(t=parseInt(r.blockTag.substring(2),16))}catch(e){Si.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",f)}return hi((()=>Ai(this,void 0,void 0,(function*(){const f=yield this.perform("getBlock",r);if(null==f)return null!=r.blockHash&&null==this._emitted["b:"+r.blockHash]||null!=r.blockTag&&t>this._emitted.block?null:void 0;if(e){let e=null;for(let t=0;t<f.transactions.length;t++){const r=f.transactions[t];if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){null==e&&(e=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let f=e-r.blockNumber+1;f<=0&&(f=1),r.confirmations=f}}const t=this.formatter.blockWithTransactions(f);return t.transactions=t.transactions.map((f=>this._wrapTransaction(f))),t}return this.formatter.block(f)}))),{oncePoll:this})}))}getBlock(f){return this._getBlock(f,!1)}getBlockWithTransactions(f){return this._getBlock(f,!0)}getTransaction(f){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork(),f=yield f;const e={transactionHash:this.formatter.hash(f,!0)};return hi((()=>Ai(this,void 0,void 0,(function*(){const t=yield this.perform("getTransaction",e);if(null==t)return null==this._emitted["t:"+f]?null:void 0;const r=this.formatter.transactionResponse(t);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let f=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;f<=0&&(f=1),r.confirmations=f}return this._wrapTransaction(r)}))),{oncePoll:this})}))}getTransactionReceipt(f){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork(),f=yield f;const e={transactionHash:this.formatter.hash(f,!0)};return hi((()=>Ai(this,void 0,void 0,(function*(){const t=yield this.perform("getTransactionReceipt",e);if(null==t)return null==this._emitted["t:"+f]?null:void 0;if(null==t.blockHash)return;const r=this.formatter.receipt(t);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let f=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;f<=0&&(f=1),r.confirmations=f}return r}))),{oncePoll:this})}))}getLogs(f){return Ai(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield m({filter:this._getFilter(f)}),t=yield this.perform("getLogs",e);return t.forEach((f=>{null==f.removed&&(f.removed=!1)})),yi.arrayOf(this.formatter.filterLog.bind(this.formatter))(t)}))}getEtherPrice(){return Ai(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(f){return Ai(this,void 0,void 0,(function*(){if("number"==typeof(f=yield f)&&f<0){f%1&&Si.throwArgumentError("invalid BlockTag","blockTag",f);let e=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return e+=f,e<0&&(e=0),this.formatter.blockTag(e)}return this.formatter.blockTag(f)}))}getResolver(f){return Ai(this,void 0,void 0,(function*(){try{const e=yield this._getResolver(f);return null==e?null:new Li(this,e,f)}catch(f){return f.code,l.Yd.errors.CALL_EXCEPTION,null}}))}_getResolver(f){return Ai(this,void 0,void 0,(function*(){const e=yield this.getNetwork();e.ensAddress||Si.throwError("network does not support ENS",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"ENS",network:e.name});const t={to:e.ensAddress,data:"0x0178b8bf"+ti(f).substring(2)};try{return this.formatter.callAddress(yield this.call(t))}catch(f){if(f.code===l.Yd.errors.CALL_EXCEPTION)return null;throw f}}))}resolveName(f){return Ai(this,void 0,void 0,(function*(){f=yield f;try{return Promise.resolve(this.formatter.address(f))}catch(e){if((0,c.A7)(f))throw e}"string"!=typeof f&&Si.throwArgumentError("invalid ENS name","name",f);const e=yield this.getResolver(f);return e?yield e.getAddress():null}))}lookupAddress(f){return Ai(this,void 0,void 0,(function*(){f=yield f;const e=(f=this.formatter.address(f)).substring(2).toLowerCase()+".addr.reverse",t=yield this._getResolver(e);if(!t)return null;let r=(0,c.lE)(yield this.call({to:t,data:"0x691f3431"+ti(e).substring(2)}));if(r.length<32||!u.O$.from(r.slice(0,32)).eq(32))return null;if(r=r.slice(32),r.length<32)return null;const n=u.O$.from(r.slice(0,32)).toNumber();if(r=r.slice(32),n>r.length)return null;const i=cf(r.slice(0,n));return(yield this.resolveName(i))!=f?null:i}))}getAvatar(f){return Ai(this,void 0,void 0,(function*(){let e=null;if((0,c.A7)(f)){const t=this.formatter.address(f),r=t.substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(r);if(!n)return null;e=new Li(this,n,"_",t)}else e=yield this.getResolver(f);const t=yield e.getAvatar();return null==t?null:t.url}))}perform(f,e){return Si.throwError(f+" not implemented",l.Yd.errors.NOT_IMPLEMENTED,{operation:f})}_startEvent(f){this.polling=this._events.filter((f=>f.pollable())).length>0}_stopEvent(f){this.polling=this._events.filter((f=>f.pollable())).length>0}_addEventListener(f,e,t){const r=new Ti(Pi(f),e,t);return this._events.push(r),this._startEvent(r),this}on(f,e){return this._addEventListener(f,e,!1)}once(f,e){return this._addEventListener(f,e,!0)}emit(f,...e){let t=!1,r=[],n=Pi(f);return this._events=this._events.filter((f=>f.tag!==n||(setTimeout((()=>{f.listener.apply(this,e)}),0),t=!0,!f.once||(r.push(f),!1)))),r.forEach((f=>{this._stopEvent(f)})),t}listenerCount(f){if(!f)return this._events.length;let e=Pi(f);return this._events.filter((f=>f.tag===e)).length}listeners(f){if(null==f)return this._events.map((f=>f.listener));let e=Pi(f);return this._events.filter((f=>f.tag===e)).map((f=>f.listener))}off(f,e){if(null==e)return this.removeAllListeners(f);const t=[];let r=!1,n=Pi(f);return this._events=this._events.filter((f=>f.tag!==n||f.listener!=e||(!!r||(r=!0,t.push(f),!1)))),t.forEach((f=>{this._stopEvent(f)})),this}removeAllListeners(f){let e=[];if(null==f)e=this._events,this._events=[];else{const t=Pi(f);this._events=this._events.filter((f=>f.tag!==t||(e.push(f),!1)))}return e.forEach((f=>{this._stopEvent(f)})),this}}var Gi=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const qi=new l.Yd(mi),$i=["call","estimateGas"];function Wi(f,e,t){if("call"===f&&e.code===l.Yd.errors.SERVER_ERROR){const f=e.error;if(f&&f.message.match("reverted")&&(0,c.A7)(f.data))return f.data;qi.throwError("missing revert data in call exception",l.Yd.errors.CALL_EXCEPTION,{error:e,data:"0x"})}let r=e.message;e.code===l.Yd.errors.SERVER_ERROR&&e.error&&"string"==typeof e.error.message?r=e.error.message:"string"==typeof e.body?r=e.body:"string"==typeof e.responseText&&(r=e.responseText),r=(r||"").toLowerCase();const n=t.transaction||t.signedTransaction;throw r.match(/insufficient funds|base fee exceeds gas limit/)&&qi.throwError("insufficient funds for intrinsic transaction cost",l.Yd.errors.INSUFFICIENT_FUNDS,{error:e,method:f,transaction:n}),r.match(/nonce too low/)&&qi.throwError("nonce has already been used",l.Yd.errors.NONCE_EXPIRED,{error:e,method:f,transaction:n}),r.match(/replacement transaction underpriced/)&&qi.throwError("replacement fee too low",l.Yd.errors.REPLACEMENT_UNDERPRICED,{error:e,method:f,transaction:n}),r.match(/only replay-protected/)&&qi.throwError("legacy pre-eip-155 transactions not supported",l.Yd.errors.UNSUPPORTED_OPERATION,{error:e,method:f,transaction:n}),$i.indexOf(f)>=0&&r.match(/gas required exceeds allowance|always failing transaction|execution reverted/)&&qi.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",l.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:f,transaction:n}),e}function Hi(f){return new Promise((function(e){setTimeout(e,f)}))}function Ki(f){if(f.error){const e=new Error(f.error.message);throw e.code=f.error.code,e.data=f.error.data,e}return f.result}function Vi(f){return f?f.toLowerCase():f}const Yi={};class Ji extends Se{constructor(f,e,t){if(qi.checkNew(new.target,Ji),super(),f!==Yi)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");p(this,"provider",e),null==t&&(t=0),"string"==typeof t?(p(this,"_address",this.provider.formatter.address(t)),p(this,"_index",null)):"number"==typeof t?(p(this,"_index",t),p(this,"_address",null)):qi.throwArgumentError("invalid address or index","addressOrIndex",t)}connect(f){return qi.throwError("cannot alter JSON-RPC Signer connection",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new Zi(Yi,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((f=>(f.length<=this._index&&qi.throwError("unknown account #"+this._index,l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(f[this._index]))))}sendUncheckedTransaction(f){f=y(f);const e=this.getAddress().then((f=>(f&&(f=f.toLowerCase()),f)));if(null==f.gasLimit){const t=y(f);t.from=e,f.gasLimit=this.provider.estimateGas(t)}return null!=f.to&&(f.to=Promise.resolve(f.to).then((f=>Gi(this,void 0,void 0,(function*(){if(null==f)return null;const e=yield this.provider.resolveName(f);return null==e&&qi.throwArgumentError("provided ENS name resolves to null","tx.to",f),e}))))),m({tx:m(f),sender:e}).then((({tx:e,sender:t})=>{null!=e.from?e.from.toLowerCase()!==t&&qi.throwArgumentError("from address mismatch","transaction",f):e.from=t;const r=this.provider.constructor.hexlifyTransaction(e,{from:!0});return this.provider.send("eth_sendTransaction",[r]).then((f=>f),(f=>Wi("sendTransaction",f,r)))}))}signTransaction(f){return qi.throwError("signing transactions is unsupported",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(f){return Gi(this,void 0,void 0,(function*(){const e=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),t=yield this.sendUncheckedTransaction(f);try{return yield hi((()=>Gi(this,void 0,void 0,(function*(){const f=yield this.provider.getTransaction(t);if(null!==f)return this.provider._wrapTransaction(f,t,e)}))),{oncePoll:this.provider})}catch(f){throw f.transactionHash=t,f}}))}signMessage(f){return Gi(this,void 0,void 0,(function*(){const e="string"==typeof f?nf(f):f,t=yield this.getAddress();return yield this.provider.send("personal_sign",[(0,c.Dv)(e),t.toLowerCase()])}))}_legacySignMessage(f){return Gi(this,void 0,void 0,(function*(){const e="string"==typeof f?nf(f):f,t=yield this.getAddress();return yield this.provider.send("eth_sign",[t.toLowerCase(),(0,c.Dv)(e)])}))}_signTypedData(f,e,t){return Gi(this,void 0,void 0,(function*(){const r=yield mr.resolveNames(f,e,t,(f=>this.provider.resolveName(f))),n=yield this.getAddress();return yield this.provider.send("eth_signTypedData_v4",[n.toLowerCase(),JSON.stringify(mr.getPayload(r.domain,e,r.value))])}))}unlock(f){return Gi(this,void 0,void 0,(function*(){const e=this.provider,t=yield this.getAddress();return e.send("personal_unlockAccount",[t.toLowerCase(),f,null])}))}}class Zi extends Ji{sendTransaction(f){return this.sendUncheckedTransaction(f).then((f=>({hash:f,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:e=>this.provider.waitForTransaction(f,e)})))}}const Xi={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class Qi extends zi{constructor(f,e){qi.checkNew(new.target,Qi);let t=e;null==t&&(t=new Promise(((f,e)=>{setTimeout((()=>{this.detectNetwork().then((e=>{f(e)}),(f=>{e(f)}))}),0)}))),super(t),f||(f=b(this.constructor,"defaultUrl")()),p(this,"connection","string"==typeof f?Object.freeze({url:f}):Object.freeze(y(f))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout((()=>{this._cache.detectNetwork=null}),0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return Gi(this,void 0,void 0,(function*(){yield Hi(0);let f=null;try{f=yield this.send("eth_chainId",[])}catch(e){try{f=yield this.send("net_version",[])}catch(f){}}if(null!=f){const e=b(this.constructor,"getNetwork");try{return e(u.O$.from(f).toNumber())}catch(e){return qi.throwError("could not detect network",l.Yd.errors.NETWORK_ERROR,{chainId:f,event:"invalidNetwork",serverError:e})}}return qi.throwError("could not detect network",l.Yd.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(f){return new Ji(Yi,this,f)}getUncheckedSigner(f){return this.getSigner(f).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then((f=>f.map((f=>this.formatter.address(f)))))}send(f,e){const t={method:f,params:e,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:E(t),provider:this});const r=["eth_chainId","eth_blockNumber"].indexOf(f)>=0;if(r&&this._cache[f])return this._cache[f];const n=di(this.connection,JSON.stringify(t),Ki).then((f=>(this.emit("debug",{action:"response",request:t,response:f,provider:this}),f)),(f=>{throw this.emit("debug",{action:"response",error:f,request:t,provider:this}),f}));return r&&(this._cache[f]=n,setTimeout((()=>{this._cache[f]=null}),0)),n}prepareRequest(f,e){switch(f){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Vi(e.address),e.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Vi(e.address),e.blockTag]];case"getCode":return["eth_getCode",[Vi(e.address),e.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Vi(e.address),e.position,e.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[e.signedTransaction]];case"getBlock":return e.blockTag?["eth_getBlockByNumber",[e.blockTag,!!e.includeTransactions]]:e.blockHash?["eth_getBlockByHash",[e.blockHash,!!e.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[e.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[e.transactionHash]];case"call":return["eth_call",[b(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0}),e.blockTag]];case"estimateGas":return["eth_estimateGas",[b(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0})]];case"getLogs":return e.filter&&null!=e.filter.address&&(e.filter.address=Vi(e.filter.address)),["eth_getLogs",[e.filter]]}return null}perform(f,e){return Gi(this,void 0,void 0,(function*(){if("call"===f||"estimateGas"===f){const f=e.transaction;if(f&&null!=f.type&&u.O$.from(f.type).isZero()&&null==f.maxFeePerGas&&null==f.maxPriorityFeePerGas){const t=yield this.getFeeData();null==t.maxFeePerGas&&null==t.maxPriorityFeePerGas&&((e=y(e)).transaction=y(f),delete e.transaction.type)}}const t=this.prepareRequest(f,e);null==t&&qi.throwError(f+" not implemented",l.Yd.errors.NOT_IMPLEMENTED,{operation:f});try{return yield this.send(t[0],t[1])}catch(t){return Wi(f,t,e)}}))}_startEvent(f){"pending"===f.tag&&this._startPending(),super._startEvent(f)}_startPending(){if(null!=this._pendingFilter)return;const f=this,e=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=e,e.then((function(t){return function r(){f.send("eth_getFilterChanges",[t]).then((function(t){if(f._pendingFilter!=e)return null;let r=Promise.resolve();return t.forEach((function(e){f._emitted["t:"+e.toLowerCase()]="pending",r=r.then((function(){return f.getTransaction(e).then((function(e){return f.emit("pending",e),null}))}))})),r.then((function(){return Hi(1e3)}))})).then((function(){if(f._pendingFilter==e)return setTimeout((function(){r()}),0),null;f.send("eth_uninstallFilter",[t])})).catch((f=>{}))}(),t})).catch((f=>{}))}_stopEvent(f){"pending"===f.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(f)}static hexlifyTransaction(f,e){const t=y(Xi);if(e)for(const f in e)e[f]&&(t[f]=!0);g(f,t);const r={};return["gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(e){if(null==f[e])return;const t=(0,c.$P)(f[e]);"gasLimit"===e&&(e="gas"),r[e]=t})),["from","to","data"].forEach((function(e){null!=f[e]&&(r[e]=(0,c.Dv)(f[e]))})),f.accessList&&(r.accessList=xt(f.accessList)),r}}let fo=null;try{if(fo=WebSocket,null==fo)throw new Error("inject please")}catch(f){const e=new l.Yd(mi);fo=function(){e.throwError("WebSockets not supported in this environment",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var eo=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const to=new l.Yd(mi);let ro=1;class no extends Qi{constructor(f,e){"any"===e&&to.throwError("WebSocketProvider does not support 'any' network yet",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super(f,e),this._pollingInterval=-1,this._wsReady=!1,p(this,"_websocket",new fo(this.connection.url)),p(this,"_requests",{}),p(this,"_subs",{}),p(this,"_subIds",{}),p(this,"_detectNetwork",super.detectNetwork()),this._websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach((f=>{this._websocket.send(this._requests[f].payload)}))},this._websocket.onmessage=f=>{const e=f.data,t=JSON.parse(e);if(null!=t.id){const f=String(t.id),r=this._requests[f];if(delete this._requests[f],void 0!==t.result)r.callback(null,t.result),this.emit("debug",{action:"response",request:JSON.parse(r.payload),response:t.result,provider:this});else{let f=null;t.error?(f=new Error(t.error.message||"unknown error"),p(f,"code",t.error.code||null),p(f,"response",e)):f=new Error("unknown error"),r.callback(f,void 0),this.emit("debug",{action:"response",error:f,request:JSON.parse(r.payload),provider:this})}}else if("eth_subscription"===t.method){const f=this._subs[t.params.subscription];f&&f.processFunc(t.params.result)}else console.warn("this should not happen")};const t=setInterval((()=>{this.emit("poll")}),1e3);t.unref&&t.unref()}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(f){to.throwError("cannot reset events block on WebSocketProvider",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(f){to.throwError("cannot set polling interval on WebSocketProvider",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return eo(this,void 0,void 0,(function*(){return null}))}set polling(f){f&&to.throwError("cannot set polling on WebSocketProvider",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(f,e){const t=ro++;return new Promise(((r,n)=>{const i=JSON.stringify({method:f,params:e,id:t,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(i),provider:this}),this._requests[String(t)]={callback:function(f,e){return f?n(f):r(e)},payload:i},this._wsReady&&this._websocket.send(i)}))}static defaultUrl(){return"ws://localhost:8546"}_subscribe(f,e,t){return eo(this,void 0,void 0,(function*(){let r=this._subIds[f];null==r&&(r=Promise.all(e).then((f=>this.send("eth_subscribe",f))),this._subIds[f]=r);const n=yield r;this._subs[n]={tag:f,processFunc:t}}))}_startEvent(f){switch(f.type){case"block":this._subscribe("block",["newHeads"],(f=>{const e=u.O$.from(f.number).toNumber();this._emitted.block=e,this.emit("block",e)}));break;case"pending":this._subscribe("pending",["newPendingTransactions"],(f=>{this.emit("pending",f)}));break;case"filter":this._subscribe(f.tag,["logs",this._getFilter(f.filter)],(e=>{null==e.removed&&(e.removed=!1),this.emit(f.filter,this.formatter.filterLog(e))}));break;case"tx":{const e=f=>{const e=f.hash;this.getTransactionReceipt(e).then((f=>{f&&this.emit(e,f)}))};e(f),this._subscribe("tx",["newHeads"],(f=>{this._events.filter((f=>"tx"===f.type)).forEach(e)}));break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",f)}}_stopEvent(f){let e=f.tag;if("tx"===f.type){if(this._events.filter((f=>"tx"===f.type)).length)return;e="tx"}else if(this.listenerCount(f.event))return;const t=this._subIds[e];t&&(delete this._subIds[e],t.then((f=>{this._subs[f]&&(delete this._subs[f],this.send("eth_unsubscribe",[f]))})))}destroy(){return eo(this,void 0,void 0,(function*(){this._websocket.readyState===fo.CONNECTING&&(yield new Promise((f=>{this._websocket.onopen=function(){f(!0)},this._websocket.onerror=function(){f(!1)}}))),this._websocket.close(1e3)}))}}var io=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const oo=new l.Yd(mi);class ao extends Qi{detectNetwork(){const f=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return io(this,void 0,void 0,(function*(){let e=this.network;return null==e&&(e=yield f.detectNetwork.call(this),e||oo.throwError("no network detected",l.Yd.errors.UNKNOWN_ERROR,{}),null==this._network&&(p(this,"_network",e),this.emit("network",e,null))),e}))}}class so extends ao{constructor(f,e){oo.checkAbstract(new.target,so),f=b(new.target,"getNetwork")(f),e=b(new.target,"getApiKey")(e);super(b(new.target,"getUrl")(f,e),f),"string"==typeof e?p(this,"apiKey",e):null!=e&&Object.keys(e).forEach((f=>{p(this,f,e[f])}))}_startPending(){oo.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(f){return oo.throwError("API provider does not support signing",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(f){return f}static getUrl(f,e){return oo.throwError("not implemented; sub-classes must override getUrl",l.Yd.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const co=new l.Yd(mi),uo="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class lo extends no{constructor(f,e){const t=new ho(f,e);super(t.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi."),t.network),p(this,"apiKey",t.apiKey)}isCommunityResource(){return this.apiKey===uo}}class ho extends so{static getWebSocketProvider(f,e){return new lo(f,e)}static getApiKey(f){return null==f?uo:(f&&"string"!=typeof f&&co.throwArgumentError("invalid apiKey","apiKey",f),f)}static getUrl(f,e){let t=null;switch(f.name){case"homestead":t="eth-mainnet.alchemyapi.io/v2/";break;case"ropsten":t="eth-ropsten.alchemyapi.io/v2/";break;case"rinkeby":t="eth-rinkeby.alchemyapi.io/v2/";break;case"goerli":t="eth-goerli.alchemyapi.io/v2/";break;case"kovan":t="eth-kovan.alchemyapi.io/v2/";break;case"matic":t="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":t="polygon-mumbai.g.alchemy.com/v2/";break;default:co.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+t+e,throttleCallback:(f,t)=>(e===uo&&Ei(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===uo}}var po=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const bo=new l.Yd(mi);class mo extends so{static getApiKey(f){return null!=f&&bo.throwArgumentError("apiKey not supported for cloudflare","apiKey",f),null}static getUrl(f,e){let t=null;if("homestead"===f.name)t="https://cloudflare-eth.com/";else bo.throwArgumentError("unsupported network","network",arguments[0]);return t}perform(f,e){const t=Object.create(null,{perform:{get:()=>super.perform}});return po(this,void 0,void 0,(function*(){if("getBlockNumber"===f){return(yield t.perform.call(this,"getBlock",{blockTag:"latest"})).number}return t.perform.call(this,f,e)}))}}var go=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const yo=new l.Yd(mi);function vo(f){const e={};for(let t in f){if(null==f[t])continue;let r=f[t];"type"===t&&0===r||(r={type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[t]?(0,c.$P)((0,c.Dv)(r)):"accessList"===t?"["+xt(r).map((f=>`{address:"${f.address}",storageKeys:["${f.storageKeys.join('","')}"]}`)).join(",")+"]":(0,c.Dv)(r),e[t]=r)}return e}function wo(f){if(0==f.status&&("No records found"===f.message||"No transactions found"===f.message))return f.result;if(1!=f.status||"OK"!=f.message){const e=new Error("invalid response");throw e.result=JSON.stringify(f),(f.result||"").toLowerCase().indexOf("rate limit")>=0&&(e.throttleRetry=!0),e}return f.result}function _o(f){if(f&&0==f.status&&"NOTOK"==f.message&&(f.result||"").toLowerCase().indexOf("rate limit")>=0){const e=new Error("throttled response");throw e.result=JSON.stringify(f),e.throttleRetry=!0,e}if("2.0"!=f.jsonrpc){const e=new Error("invalid response");throw e.result=JSON.stringify(f),e}if(f.error){const e=new Error(f.error.message||"unknown error");throw f.error.code&&(e.code=f.error.code),f.error.data&&(e.data=f.error.data),e}return f.result}function Eo(f){if("pending"===f)throw new Error("pending not supported");return"latest"===f?f:parseInt(f.substring(2),16)}const Ao="9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB";function So(f,e,t){if("call"===f&&e.code===l.Yd.errors.SERVER_ERROR){const f=e.error;if(f&&(f.message.match(/reverted/i)||f.message.match(/VM execution error/i))){let t=f.data;if(t&&(t="0x"+t.replace(/^.*0x/i,"")),(0,c.A7)(t))return t;yo.throwError("missing revert data in call exception",l.Yd.errors.CALL_EXCEPTION,{error:e,data:"0x"})}}let r=e.message;throw e.code===l.Yd.errors.SERVER_ERROR&&(e.error&&"string"==typeof e.error.message?r=e.error.message:"string"==typeof e.body?r=e.body:"string"==typeof e.responseText&&(r=e.responseText)),r=(r||"").toLowerCase(),r.match(/insufficient funds/)&&yo.throwError("insufficient funds for intrinsic transaction cost",l.Yd.errors.INSUFFICIENT_FUNDS,{error:e,method:f,transaction:t}),r.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&yo.throwError("nonce has already been used",l.Yd.errors.NONCE_EXPIRED,{error:e,method:f,transaction:t}),r.match(/another transaction with same nonce/)&&yo.throwError("replacement fee too low",l.Yd.errors.REPLACEMENT_UNDERPRICED,{error:e,method:f,transaction:t}),r.match(/execution failed due to an exception|execution reverted/)&&yo.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",l.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:f,transaction:t}),e}class ko extends zi{constructor(f,e){yo.checkNew(new.target,ko),super(f),p(this,"baseUrl",this.getBaseUrl()),p(this,"apiKey",e||Ao)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"ropsten":return"https://api-ropsten.etherscan.io";case"rinkeby":return"https://api-rinkeby.etherscan.io";case"kovan":return"https://api-kovan.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io"}return yo.throwArgumentError("unsupported network","network",name)}getUrl(f,e){const t=Object.keys(e).reduce(((f,t)=>{const r=e[t];return null!=r&&(f+=`&${t}=${r}`),f}),""),r=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${f}${t}${r}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(f,e){return e.module=f,e.apikey=this.apiKey,e}fetch(f,e,t){return go(this,void 0,void 0,(function*(){const r=t?this.getPostUrl():this.getUrl(f,e),n=t?this.getPostData(f,e):null,i="proxy"===f?_o:wo;this.emit("debug",{action:"request",request:r,provider:this});const o={url:r,throttleSlotInterval:1e3,throttleCallback:(f,e)=>(this.isCommunityResource()&&Ei(),Promise.resolve(!0))};let a=null;n&&(o.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},a=Object.keys(n).map((f=>`${f}=${n[f]}`)).join("&"));const s=yield di(o,a,i||_o);return this.emit("debug",{action:"response",request:r,response:E(s),provider:this}),s}))}detectNetwork(){return go(this,void 0,void 0,(function*(){return this.network}))}perform(f,e){const t=Object.create(null,{perform:{get:()=>super.perform}});return go(this,void 0,void 0,(function*(){switch(f){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:e.address,tag:e.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:e.address,tag:e.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:e.address,tag:e.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:e.address,position:e.position,tag:e.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:e.signedTransaction},!0).catch((f=>So("sendTransaction",f,e.signedTransaction)));case"getBlock":if(e.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:e.blockTag,boolean:e.includeTransactions?"true":"false"});throw new Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:e.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:e.transactionHash});case"call":{if("latest"!==e.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");const f=vo(e.transaction);f.module="proxy",f.action="eth_call";try{return yield this.fetch("proxy",f,!0)}catch(f){return So("call",f,e.transaction)}}case"estimateGas":{const f=vo(e.transaction);f.module="proxy",f.action="eth_estimateGas";try{return yield this.fetch("proxy",f,!0)}catch(f){return So("estimateGas",f,e.transaction)}}case"getLogs":{const f={action:"getLogs"};if(e.filter.fromBlock&&(f.fromBlock=Eo(e.filter.fromBlock)),e.filter.toBlock&&(f.toBlock=Eo(e.filter.toBlock)),e.filter.address&&(f.address=e.filter.address),e.filter.topics&&e.filter.topics.length>0&&(e.filter.topics.length>1&&yo.throwError("unsupported topic count",l.Yd.errors.UNSUPPORTED_OPERATION,{topics:e.filter.topics}),1===e.filter.topics.length)){const t=e.filter.topics[0];"string"==typeof t&&66===t.length||yo.throwError("unsupported topic format",l.Yd.errors.UNSUPPORTED_OPERATION,{topic0:t}),f.topic0=t}const t=yield this.fetch("logs",f);let r={};for(let f=0;f<t.length;f++){const e=t[f];if(null==e.blockHash){if(null==r[e.blockNumber]){const f=yield this.getBlock(e.blockNumber);f&&(r[e.blockNumber]=f.hash)}e.blockHash=r[e.blockNumber]}}return t}case"getEtherPrice":return"homestead"!==this.network.name?0:parseFloat((yield this.fetch("stats",{action:"ethprice"})).ethusd)}return t.perform.call(this,f,e)}))}getHistory(f,e,t){return go(this,void 0,void 0,(function*(){const r={action:"txlist",address:yield this.resolveName(f),startblock:null==e?0:e,endblock:null==t?99999999:t,sort:"asc"};return(yield this.fetch("account",r)).map((f=>{["contractAddress","to"].forEach((function(e){""==f[e]&&delete f[e]})),null==f.creates&&null!=f.contractAddress&&(f.creates=f.contractAddress);const e=this.formatter.transactionResponse(f);return f.timeStamp&&(e.timestamp=parseInt(f.timeStamp)),e}))}))}isCommunityResource(){return this.apiKey===Ao}}function Mo(f){for(let e=(f=f.slice()).length-1;e>0;e--){const t=Math.floor(Math.random()*(e+1)),r=f[e];f[e]=f[t],f[t]=r}return f}var Po=function(f,e,t,r){return new(t||(t=Promise))((function(n,i){function o(f){try{s(r.next(f))}catch(f){i(f)}}function a(f){try{s(r.throw(f))}catch(f){i(f)}}function s(f){var e;f.done?n(f.value):(e=f.value,e instanceof t?e:new t((function(f){f(e)}))).then(o,a)}s((r=r.apply(f,e||[])).next())}))};const xo=new l.Yd(mi);function Oo(){return(new Date).getTime()}function No(f){let e=null;for(let t=0;t<f.length;t++){const r=f[t];if(null==r)return null;e?e.name===r.name&&e.chainId===r.chainId&&(e.ensAddress===r.ensAddress||null==e.ensAddress&&null==r.ensAddress)||xo.throwArgumentError("provider mismatch","networks",f):e=r}return e}function To(f,e){f=f.slice().sort();const t=Math.floor(f.length/2);if(f.length%2)return f[t];const r=f[t-1],n=f[t];return null!=e&&Math.abs(r-n)>e?null:(r+n)/2}function Ro(f){if(null===f)return"null";if("number"==typeof f||"boolean"==typeof f)return JSON.stringify(f);if("string"==typeof f)return f;if(u.O$.isBigNumber(f))return f.toString();if(Array.isArray(f))return JSON.stringify(f.map((f=>Ro(f))));if("object"==typeof f){const e=Object.keys(f);return e.sort(),"{"+e.map((e=>{let t=f[e];return t="function"==typeof t?"[function]":Ro(t),JSON.stringify(e)+":"+t})).join(",")+"}"}throw new Error("unknown value type: "+typeof f)}let Io=1;function Co(f){let e=null,t=null,r=new Promise((r=>{e=function(){t&&(clearTimeout(t),t=null),r()},t=setTimeout(e,f)}));return{cancel:e,getPromise:function(){return r},wait:f=>(r=r.then(f),r)}}const Fo=[l.Yd.errors.CALL_EXCEPTION,l.Yd.errors.INSUFFICIENT_FUNDS,l.Yd.errors.NONCE_EXPIRED,l.Yd.errors.REPLACEMENT_UNDERPRICED,l.Yd.errors.UNPREDICTABLE_GAS_LIMIT],Bo=["address","args","errorArgs","errorSignature","method","transaction"];function Do(f,e){const t={weight:f.weight};return Object.defineProperty(t,"provider",{get:()=>f.provider}),f.start&&(t.start=f.start),e&&(t.duration=e-f.start),f.done&&(f.error?t.error=f.error:t.result=f.result||null),t}function Lo(f,e,t){let r=Ro;switch(e){case"getBlockNumber":return function(e){const t=e.map((f=>f.result));let r=To(e.map((f=>f.result)),2);if(null!=r)return r=Math.ceil(r),t.indexOf(r+1)>=0&&r++,r>=f._highestBlockNumber&&(f._highestBlockNumber=r),f._highestBlockNumber};case"getGasPrice":return function(f){const e=f.map((f=>f.result));return e.sort(),e[Math.floor(e.length/2)]};case"getEtherPrice":return function(f){return To(f.map((f=>f.result)))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":r=function(f){return null==f?null:((f=y(f)).confirmations=-1,Ro(f))};break;case"getBlock":r=t.includeTransactions?function(f){return null==f?null:((f=y(f)).transactions=f.transactions.map((f=>((f=y(f)).confirmations=-1,f))),Ro(f))}:function(f){return null==f?null:Ro(f)};break;default:throw new Error("unknown method: "+e)}return function(f,e){return function(t){const r={};t.forEach((e=>{const t=f(e.result);r[t]||(r[t]={count:0,result:e.result}),r[t].count++}));const n=Object.keys(r);for(let f=0;f<n.length;f++){const t=r[n[f]];if(t.count>=e)return t.result}}}(r,f.quorum)}function jo(f,e){return Po(this,void 0,void 0,(function*(){const t=f.provider;return null!=t.blockNumber&&t.blockNumber>=e||-1===e?t:hi((()=>new Promise(((r,n)=>{setTimeout((function(){return t.blockNumber>=e?r(t):f.cancelled?r(null):r(void 0)}),0)}))),{oncePoll:t})}))}function Uo(f,e,t,r){return Po(this,void 0,void 0,(function*(){let n=f.provider;switch(t){case"getBlockNumber":case"getGasPrice":return n[t]();case"getEtherPrice":if(n.getEtherPrice)return n.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return r.blockTag&&(0,c.A7)(r.blockTag)&&(n=yield jo(f,e)),n[t](r.address,r.blockTag||"latest");case"getStorageAt":return r.blockTag&&(0,c.A7)(r.blockTag)&&(n=yield jo(f,e)),n.getStorageAt(r.address,r.position,r.blockTag||"latest");case"getBlock":return r.blockTag&&(0,c.A7)(r.blockTag)&&(n=yield jo(f,e)),n[r.includeTransactions?"getBlockWithTransactions":"getBlock"](r.blockTag||r.blockHash);case"call":case"estimateGas":return r.blockTag&&(0,c.A7)(r.blockTag)&&(n=yield jo(f,e)),n[t](r.transaction);case"getTransaction":case"getTransactionReceipt":return n[t](r.transactionHash);case"getLogs":{let t=r.filter;return(t.fromBlock&&(0,c.A7)(t.fromBlock)||t.toBlock&&(0,c.A7)(t.toBlock))&&(n=yield jo(f,e)),n.getLogs(t)}}return xo.throwError("unknown method error",l.Yd.errors.UNKNOWN_ERROR,{method:t,params:r})}))}class zo extends zi{constructor(f,e){xo.checkNew(new.target,zo),0===f.length&&xo.throwArgumentError("missing providers","providers",f);const t=f.map(((f,e)=>{if(ve.isProvider(f)){const e=wi(f)?2e3:750,t=1;return Object.freeze({provider:f,weight:1,stallTimeout:e,priority:t})}const t=y(f);null==t.priority&&(t.priority=1),null==t.stallTimeout&&(t.stallTimeout=wi(f)?2e3:750),null==t.weight&&(t.weight=1);const r=t.weight;return(r%1||r>512||r<1)&&xo.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${e}].weight`,r),Object.freeze(t)})),r=t.reduce(((f,e)=>f+e.weight),0);null==e?e=r/2:e>r&&xo.throwArgumentError("quorum will always fail; larger than total weight","quorum",e);let n=No(t.map((f=>f.provider.network)));null==n&&(n=new Promise(((f,e)=>{setTimeout((()=>{this.detectNetwork().then(f,e)}),0)}))),super(n),p(this,"providerConfigs",Object.freeze(t)),p(this,"quorum",e),this._highestBlockNumber=-1}detectNetwork(){return Po(this,void 0,void 0,(function*(){return No(yield Promise.all(this.providerConfigs.map((f=>f.provider.getNetwork()))))}))}perform(f,e){return Po(this,void 0,void 0,(function*(){if("sendTransaction"===f){const f=yield Promise.all(this.providerConfigs.map((f=>f.provider.sendTransaction(e.signedTransaction).then((f=>f.hash),(f=>f)))));for(let e=0;e<f.length;e++){const t=f[e];if("string"==typeof t)return t}throw f[0]}-1===this._highestBlockNumber&&"getBlockNumber"!==f&&(yield this.getBlockNumber());const t=Lo(this,f,e),r=Mo(this.providerConfigs.map(y));r.sort(((f,e)=>f.priority-e.priority));const n=this._highestBlockNumber;let i=0,o=!0;for(;;){const a=Oo();let s=r.filter((f=>f.runner&&a-f.start<f.stallTimeout)).reduce(((f,e)=>f+e.weight),0);for(;s<this.quorum&&i<r.length;){const t=r[i++],o=Io++;t.start=Oo(),t.staller=Co(t.stallTimeout),t.staller.wait((()=>{t.staller=null})),t.runner=Uo(t,n,f,e).then((r=>{t.done=!0,t.result=r,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:o,backend:Do(t,Oo()),request:{method:f,params:E(e)},provider:this})}),(r=>{t.done=!0,t.error=r,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:o,backend:Do(t,Oo()),request:{method:f,params:E(e)},provider:this})})),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:o,backend:Do(t,null),request:{method:f,params:E(e)},provider:this}),s+=t.weight}const c=[];r.forEach((f=>{!f.done&&f.runner&&(c.push(f.runner),f.staller&&c.push(f.staller.getPromise()))})),c.length&&(yield Promise.race(c));const u=r.filter((f=>f.done&&null==f.error));if(u.length>=this.quorum){const f=t(u);if(void 0!==f)return r.forEach((f=>{f.staller&&f.staller.cancel(),f.cancelled=!0})),f;o||(yield Co(100).getPromise()),o=!1}const l=r.reduce(((f,e)=>{if(!e.done||null==e.error)return f;const t=e.error.code;return Fo.indexOf(t)>=0&&(f[t]||(f[t]={error:e.error,weight:0}),f[t].weight+=e.weight),f}),{});if(Object.keys(l).forEach((f=>{const e=l[f];if(e.weight<this.quorum)return;r.forEach((f=>{f.staller&&f.staller.cancel(),f.cancelled=!0}));const t=e.error,n={};Bo.forEach((f=>{null!=t[f]&&(n[f]=t[f])})),xo.throwError(t.reason||t.message,f,n)})),0===r.filter((f=>!f.done)).length)break}return r.forEach((f=>{f.staller&&f.staller.cancel(),f.cancelled=!0})),xo.throwError("failed to meet quorum",l.Yd.errors.SERVER_ERROR,{method:f,params:e,results:r.map((f=>Do(f))),provider:this})}))}}const Go=null,qo=new l.Yd(mi),$o="84842078b09946638c03157f83405213";class Wo extends no{constructor(f,e){const t=new Ho(f,e),r=t.connection;r.password&&qo.throwError("INFURA WebSocket project secrets unsupported",l.Yd.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});super(r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/"),f),p(this,"apiKey",t.projectId),p(this,"projectId",t.projectId),p(this,"projectSecret",t.projectSecret)}isCommunityResource(){return this.projectId===$o}}class Ho extends so{static getWebSocketProvider(f,e){return new Wo(f,e)}static getApiKey(f){const e={apiKey:$o,projectId:$o,projectSecret:null};return null==f||("string"==typeof f?e.projectId=f:null!=f.projectSecret?(qo.assertArgument("string"==typeof f.projectId,"projectSecret requires a projectId","projectId",f.projectId),qo.assertArgument("string"==typeof f.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),e.projectId=f.projectId,e.projectSecret=f.projectSecret):f.projectId&&(e.projectId=f.projectId),e.apiKey=e.projectId),e}static getUrl(f,e){let t=null;switch(f?f.name:"unknown"){case"homestead":t="mainnet.infura.io";break;case"ropsten":t="ropsten.infura.io";break;case"rinkeby":t="rinkeby.infura.io";break;case"kovan":t="kovan.infura.io";break;case"goerli":t="goerli.infura.io";break;case"matic":t="polygon-mainnet.infura.io";break;case"maticmum":t="polygon-mumbai.infura.io";break;default:qo.throwError("unsupported network",l.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:f})}const r={allowGzip:!0,url:"https://"+t+"/v3/"+e.projectId,throttleCallback:(f,t)=>(e.projectId===$o&&Ei(),Promise.resolve(!0))};return null!=e.projectSecret&&(r.user="",r.password=e.projectSecret),r}isCommunityResource(){return this.projectId===$o}}class Ko extends Qi{send(f,e){const t={method:f,params:e,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:t,resolve:null,reject:null},n=new Promise(((f,e)=>{r.resolve=f,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const f=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const e=f.map((f=>f.request));return this.emit("debug",{action:"requestBatch",request:E(e),provider:this}),di(this.connection,JSON.stringify(e)).then((t=>{this.emit("debug",{action:"response",request:e,response:t,provider:this}),f.forEach(((f,e)=>{const r=t[e];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,f.reject(e)}else f.resolve(r.result)}))}),(t=>{this.emit("debug",{action:"response",error:t,request:e,provider:this}),f.forEach((f=>{f.reject(t)}))}))}),10)),n}}const Vo=new l.Yd(mi);class Yo extends so{static getApiKey(f){return f&&"string"!=typeof f&&Vo.throwArgumentError("invalid apiKey","apiKey",f),f||"ETHERS_JS_SHARED"}static getUrl(f,e){Vo.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let t=null;switch(f.name){case"homestead":t="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":t="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":t="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":t="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":t="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:Vo.throwArgumentError("unsupported network","network",arguments[0])}return t+"?apiKey="+e}}const Jo=new l.Yd(mi),Zo={homestead:"6004bcd10040261633ade990",ropsten:"6004bd4d0040261633ade991",rinkeby:"6004bda20040261633ade994",goerli:"6004bd860040261633ade992"};class Xo extends so{constructor(f,e){if(null==e){const t=b(new.target,"getNetwork")(f);if(t){const f=Zo[t.name];f&&(e={applicationId:f,loadBalancer:!0})}null==e&&Jo.throwError("unsupported network",l.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:f})}super(f,e)}static getApiKey(f){null==f&&Jo.throwArgumentError("PocketProvider.getApiKey does not support null apiKey","apiKey",f);const e={applicationId:null,loadBalancer:!1,applicationSecretKey:null};return"string"==typeof f?e.applicationId=f:null!=f.applicationSecretKey?(Jo.assertArgument("string"==typeof f.applicationId,"applicationSecretKey requires an applicationId","applicationId",f.applicationId),Jo.assertArgument("string"==typeof f.applicationSecretKey,"invalid applicationSecretKey","applicationSecretKey","[REDACTED]"),e.applicationId=f.applicationId,e.applicationSecretKey=f.applicationSecretKey,e.loadBalancer=!!f.loadBalancer):f.applicationId?(Jo.assertArgument("string"==typeof f.applicationId,"apiKey.applicationId must be a string","apiKey.applicationId",f.applicationId),e.applicationId=f.applicationId,e.loadBalancer=!!f.loadBalancer):Jo.throwArgumentError("unsupported PocketProvider apiKey","apiKey",f),e}static getUrl(f,e){let t=null;switch(f?f.name:"unknown"){case"homestead":t="eth-mainnet.gateway.pokt.network";break;case"ropsten":t="eth-ropsten.gateway.pokt.network";break;case"rinkeby":t="eth-rinkeby.gateway.pokt.network";break;case"goerli":t="eth-goerli.gateway.pokt.network";break;default:Jo.throwError("unsupported network",l.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:f})}let r=null;r=e.loadBalancer?`https://${t}/v1/lb/${e.applicationId}`:`https://${t}/v1/${e.applicationId}`;const n={url:r,headers:{}};return null!=e.applicationSecretKey&&(n.user="",n.password=e.applicationSecretKey),n}isCommunityResource(){return this.applicationId===Zo[this.network.name]}}const Qo=new l.Yd(mi);let fa=1;function ea(f,e){const t="Web3LegacyFetcher";return function(f,r){const n={method:f,params:r,id:fa++,jsonrpc:"2.0"};return new Promise(((f,r)=>{this.emit("debug",{action:"request",fetcher:t,request:E(n),provider:this}),e(n,((e,i)=>{if(e)return this.emit("debug",{action:"response",fetcher:t,error:e,request:n,provider:this}),r(e);if(this.emit("debug",{action:"response",fetcher:t,request:n,response:i,provider:this}),i.error){const f=new Error(i.error.message);return f.code=i.error.code,f.data=i.error.data,r(f)}f(i.result)}))}))}}class ta extends Qi{constructor(f,e){Qo.checkNew(new.target,ta),null==f&&Qo.throwArgumentError("missing provider","provider",f);let t=null,r=null,n=null;"function"==typeof f?(t="unknown:",r=f):(t=f.host||f.path||"",!t&&f.isMetaMask&&(t="metamask"),n=f,f.request?(""===t&&(t="eip-1193:"),r=function(f){return function(e,t){null==t&&(t=[]);const r={method:e,params:t};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:E(r),provider:this}),f.request(r).then((f=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,response:f,provider:this}),f)),(f=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,error:f,provider:this}),f}))}}(f)):f.sendAsync?r=ea(0,f.sendAsync.bind(f)):f.send?r=ea(0,f.send.bind(f)):Qo.throwArgumentError("unsupported provider","provider",f),t||(t="unknown:")),super(t,e),p(this,"jsonRpcFetchFunc",r),p(this,"provider",n)}send(f,e){return this.jsonRpcFetchFunc(f,e)}}const ra=new l.Yd(mi);function na(f,e){if(null==f&&(f="homestead"),"string"==typeof f){const e=f.match(/^(ws|http)s?:/i);if(e)switch(e[1]){case"http":return new Qi(f);case"ws":return new no(f);default:ra.throwArgumentError("unsupported URL scheme","network",f)}}const t=Un(f);return t&&t._defaultProvider||ra.throwError("unsupported getDefaultProvider network",l.Yd.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:f}),t._defaultProvider({FallbackProvider:zo,AlchemyProvider:ho,CloudflareProvider:mo,EtherscanProvider:ko,InfuraProvider:Ho,JsonRpcProvider:Qi,NodesmithProvider:Yo,PocketProvider:Xo,Web3Provider:ta,IpcProvider:Go},e)}const ia=new RegExp("^bytes([0-9]+)$"),oa=new RegExp("^(u?int)([0-9]*)$"),aa=new RegExp("^(.*)\\[([0-9]*)\\]$"),sa=new l.Yd("solidity/5.5.0");function ca(f,e,t){switch(f){case"address":return t?(0,c.Bu)(e,32):(0,c.lE)(e);case"string":return nf(e);case"bytes":return(0,c.lE)(e);case"bool":return e=e?"0x01":"0x00",t?(0,c.Bu)(e,32):(0,c.lE)(e)}let r=f.match(oa);if(r){let n=parseInt(r[2]||"256");return(r[2]&&String(n)!==r[2]||n%8!=0||0===n||n>256)&&sa.throwArgumentError("invalid number type","type",f),t&&(n=256),e=u.O$.from(e).toTwos(n),(0,c.Bu)(e,n/8)}if(r=f.match(ia),r){const n=parseInt(r[1]);return(String(n)!==r[1]||0===n||n>32)&&sa.throwArgumentError("invalid bytes type","type",f),(0,c.lE)(e).byteLength!==n&&sa.throwArgumentError(`invalid value for ${f}`,"value",e),t?(0,c.lE)((e+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):e}if(r=f.match(aa),r&&Array.isArray(e)){const t=r[1];parseInt(r[2]||String(e.length))!=e.length&&sa.throwArgumentError(`invalid array length for ${f}`,"value",e);const n=[];return e.forEach((function(f){n.push(ca(t,f,!0))})),(0,c.zo)(n)}return sa.throwArgumentError("invalid type","type",f)}function ua(f,e){f.length!=e.length&&sa.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);const t=[];return f.forEach((function(f,r){t.push(ca(f,e[r]))})),(0,c.Dv)((0,c.zo)(t))}function la(f,e){return R(ua(f,e))}function da(f,e){return Er(ua(f,e))}function ha(f){const e=nf(f);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return(0,c.Dv)((0,c.zo)([e,Tn]).slice(0,32))}function pa(f){const e=(0,c.lE)(f);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");let t=31;for(;0===e[t-1];)t--;return cf(e.slice(0,t))}const ba=new l.Yd("units/5.5.0"),ma=["wei","kwei","mwei","gwei","szabo","finney","ether"];function ga(f){const e=String(f).split(".");(e.length>2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||"."===f||"-."===f)&&ba.throwArgumentError("invalid value","value",f);let t=e[0],r="";for("-"===t.substring(0,1)&&(r="-",t=t.substring(1));"0"===t.substring(0,1);)t=t.substring(1);""===t&&(t="0");let n="";for(2===e.length&&(n="."+(e[1]||"0"));n.length>2&&"0"===n[n.length-1];)n=n.substring(0,n.length-1);const i=[];for(;t.length;){if(t.length<=3){i.unshift(t);break}{const f=t.length-3;i.unshift(t.substring(f)),t=t.substring(0,f)}}return r+i.join(",")+n}function ya(f,e){if("string"==typeof e){const f=ma.indexOf(e);-1!==f&&(e=3*f)}return(0,Xt.S5)(f,null!=e?e:18)}function va(f,e){if("string"!=typeof f&&ba.throwArgumentError("value must be a string","value",f),"string"==typeof e){const f=ma.indexOf(e);-1!==f&&(e=3*f)}return(0,Xt.Ox)(f,null!=e?e:18)}function wa(f){return ya(f,18)}function _a(f){return va(f,18)}const Ea="ethers/5.5.1",Aa=new l.Yd(Ea);try{const f=window;null==f._ethers&&(f._ethers=s)}catch(f){}},7162:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(58));e.default=class{constructor(){this.eventMap={},this.deleted=!1}on(f,e){void 0===this.eventMap[f]&&(this.eventMap[f]=[]),this.eventMap[f].push(e)}toss(f,e,t){this.on(f,((...r)=>{const n=e.fireEvent(void 0===t?f:t,...r),i=[];for(const f of n)f instanceof Promise&&i.push(f);if(i.length>0)return Promise.all(i)}))}off(f,e){void 0!==this.eventMap[f]&&(n.default.pull(this.eventMap[f],e),0===this.eventMap[f].length&&delete this.eventMap[f])}fireEvent(f,...e){const t=[];if(void 0!==this.eventMap[f])for(const r of this.eventMap[f])t.push(r(...e));return t}delete(){this.fireEvent("delete"),this.eventMap=void 0,this.deleted=!0}}},58:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=class{static pull(f,...e){for(const t of e){const e=f.indexOf(t);-1!==e&&f.splice(e,1)}}}},4445:f=>{f.exports=o,o.default=o,o.stable=u,o.stableStringify=u;var e="[...]",t="[Circular]",r=[],n=[];function i(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(f,e,t,o){var a;void 0===o&&(o=i()),s(f,"",0,[],void 0,0,o);try{a=0===n.length?JSON.stringify(f,e,t):JSON.stringify(f,d(e),t)}catch(f){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return a}function a(f,e,t,i){var o=Object.getOwnPropertyDescriptor(i,t);void 0!==o.get?o.configurable?(Object.defineProperty(i,t,{value:f}),r.push([i,t,e,o])):n.push([e,t,f]):(i[t]=f,r.push([i,t,e]))}function s(f,r,n,i,o,c,u){var l;if(c+=1,"object"==typeof f&&null!==f){for(l=0;l<i.length;l++)if(i[l]===f)return void a(t,f,r,o);if(void 0!==u.depthLimit&&c>u.depthLimit)return void a(e,f,r,o);if(void 0!==u.edgesLimit&&n+1>u.edgesLimit)return void a(e,f,r,o);if(i.push(f),Array.isArray(f))for(l=0;l<f.length;l++)s(f[l],l,l,i,f,c,u);else{var d=Object.keys(f);for(l=0;l<d.length;l++){var h=d[l];s(f[h],h,l,i,f,c,u)}}i.pop()}}function c(f,e){return f<e?-1:f>e?1:0}function u(f,e,t,o){void 0===o&&(o=i());var a,s=l(f,"",0,[],void 0,0,o)||f;try{a=0===n.length?JSON.stringify(s,e,t):JSON.stringify(s,d(e),t)}catch(f){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return a}function l(f,n,i,o,s,u,d){var h;if(u+=1,"object"==typeof f&&null!==f){for(h=0;h<o.length;h++)if(o[h]===f)return void a(t,f,n,s);try{if("function"==typeof f.toJSON)return}catch(f){return}if(void 0!==d.depthLimit&&u>d.depthLimit)return void a(e,f,n,s);if(void 0!==d.edgesLimit&&i+1>d.edgesLimit)return void a(e,f,n,s);if(o.push(f),Array.isArray(f))for(h=0;h<f.length;h++)l(f[h],h,h,o,f,u,d);else{var p={},b=Object.keys(f).sort(c);for(h=0;h<b.length;h++){var m=b[h];l(f[m],m,h,o,f,u,d),p[m]=f[m]}if(void 0===s)return p;r.push([s,n,f]),s[n]=p}o.pop()}}function d(f){return f=void 0!==f?f:function(f,e){return e},function(e,t){if(n.length>0)for(var r=0;r<n.length;r++){var i=n[r];if(i[1]===e&&i[0]===t){t=i[2],n.splice(r,1);break}}return f.call(this,e,t)}}},7648:f=>{"use strict";var e="Function.prototype.bind called on incompatible ",t=Array.prototype.slice,r=Object.prototype.toString,n="[object Function]";f.exports=function(f){var i=this;if("function"!=typeof i||r.call(i)!==n)throw new TypeError(e+i);for(var o,a=t.call(arguments,1),s=function(){if(this instanceof o){var e=i.apply(this,a.concat(t.call(arguments)));return Object(e)===e?e:this}return i.apply(f,a.concat(t.call(arguments)))},c=Math.max(0,i.length-a.length),u=[],l=0;l<c;l++)u.push("$"+l);if(o=Function("binder","return function ("+u.join(",")+"){ return binder.apply(this,arguments); }")(s),i.prototype){var d=function(){};d.prototype=i.prototype,o.prototype=new d,d.prototype=null}return o}},8612:(f,e,t)=>{"use strict";var r=t(7648);f.exports=Function.prototype.bind||r},210:(f,e,t)=>{"use strict";var r,n=SyntaxError,i=Function,o=TypeError,a=function(f){try{return i('"use strict"; return ('+f+").constructor;")()}catch(f){}},s=Object.getOwnPropertyDescriptor;if(s)try{s({},"")}catch(f){s=null}var c=function(){throw new o},u=s?function(){try{return c}catch(f){try{return s(arguments,"callee").get}catch(f){return c}}}():c,l=t(1405)(),d=Object.getPrototypeOf||function(f){return f.__proto__},h={},p="undefined"==typeof Uint8Array?r:d(Uint8Array),b={"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":l?d([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":h,"%AsyncGenerator%":h,"%AsyncGeneratorFunction%":h,"%AsyncIteratorPrototype%":h,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":i,"%GeneratorFunction%":h,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":l?d(d([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&l?d((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&l?d((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":l?d(""[Symbol.iterator]()):r,"%Symbol%":l?Symbol:r,"%SyntaxError%":n,"%ThrowTypeError%":u,"%TypedArray%":p,"%TypeError%":o,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet},m=function f(e){var t;if("%AsyncFunction%"===e)t=a("async function () {}");else if("%GeneratorFunction%"===e)t=a("function* () {}");else if("%AsyncGeneratorFunction%"===e)t=a("async function* () {}");else if("%AsyncGenerator%"===e){var r=f("%AsyncGeneratorFunction%");r&&(t=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var n=f("%AsyncGenerator%");n&&(t=d(n.prototype))}return b[e]=t,t},g={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},y=t(8612),v=t(7642),w=y.call(Function.call,Array.prototype.concat),_=y.call(Function.apply,Array.prototype.splice),E=y.call(Function.call,String.prototype.replace),A=y.call(Function.call,String.prototype.slice),S=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,k=/\\(\\)?/g,M=function(f){var e=A(f,0,1),t=A(f,-1);if("%"===e&&"%"!==t)throw new n("invalid intrinsic syntax, expected closing `%`");if("%"===t&&"%"!==e)throw new n("invalid intrinsic syntax, expected opening `%`");var r=[];return E(f,S,(function(f,e,t,n){r[r.length]=t?E(n,k,"$1"):e||f})),r},P=function(f,e){var t,r=f;if(v(g,r)&&(r="%"+(t=g[r])[0]+"%"),v(b,r)){var i=b[r];if(i===h&&(i=m(r)),void 0===i&&!e)throw new o("intrinsic "+f+" exists, but is not available. Please file an issue!");return{alias:t,name:r,value:i}}throw new n("intrinsic "+f+" does not exist!")};f.exports=function(f,e){if("string"!=typeof f||0===f.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');var t=M(f),r=t.length>0?t[0]:"",i=P("%"+r+"%",e),a=i.name,c=i.value,u=!1,l=i.alias;l&&(r=l[0],_(t,w([0,1],l)));for(var d=1,h=!0;d<t.length;d+=1){var p=t[d],m=A(p,0,1),g=A(p,-1);if(('"'===m||"'"===m||"`"===m||'"'===g||"'"===g||"`"===g)&&m!==g)throw new n("property names with quotes must have matching quotes");if("constructor"!==p&&h||(u=!0),v(b,a="%"+(r+="."+p)+"%"))c=b[a];else if(null!=c){if(!(p in c)){if(!e)throw new o("base intrinsic for "+f+" exists, but the property is not available.");return}if(s&&d+1>=t.length){var y=s(c,p);c=(h=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[p]}else h=v(c,p),c=c[p];h&&!u&&(b[a]=c)}}return c}},1405:(f,e,t)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,n=t(5419);f.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&n())))}},5419:f=>{"use strict";f.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var f={},e=Symbol("test"),t=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;for(e in f[e]=42,f)return!1;if("function"==typeof Object.keys&&0!==Object.keys(f).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(f).length)return!1;var r=Object.getOwnPropertySymbols(f);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(f,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var n=Object.getOwnPropertyDescriptor(f,e);if(42!==n.value||!0!==n.enumerable)return!1}return!0}},7642:(f,e,t)=>{"use strict";var r=t(8612);f.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},3715:(f,e,t)=>{var r=e;r.utils=t(6436),r.common=t(5772),r.sha=t(9041),r.ripemd=t(2949),r.hmac=t(2344),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},5772:(f,e,t)=>{"use strict";var r=t(6436),n=t(9746);function i(){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}e.BlockHash=i,i.prototype.update=function(f,e){if(f=r.toArray(f,e),this.pending?this.pending=this.pending.concat(f):this.pending=f,this.pendingTotal+=f.length,this.pending.length>=this._delta8){var t=(f=this.pending).length%this._delta8;this.pending=f.slice(f.length-t,f.length),0===this.pending.length&&(this.pending=null),f=r.join32(f,0,f.length-t,this.endian);for(var n=0;n<f.length;n+=this._delta32)this._update(f,n,n+this._delta32)}return this},i.prototype.digest=function(f){return this.update(this._pad()),n(null===this.pending),this._digest(f)},i.prototype._pad=function(){var f=this.pendingTotal,e=this._delta8,t=e-(f+this.padLength)%e,r=new Array(t+this.padLength);r[0]=128;for(var n=1;n<t;n++)r[n]=0;if(f<<=3,"big"===this.endian){for(var i=8;i<this.padLength;i++)r[n++]=0;r[n++]=0,r[n++]=0,r[n++]=0,r[n++]=0,r[n++]=f>>>24&255,r[n++]=f>>>16&255,r[n++]=f>>>8&255,r[n++]=255&f}else for(r[n++]=255&f,r[n++]=f>>>8&255,r[n++]=f>>>16&255,r[n++]=f>>>24&255,r[n++]=0,r[n++]=0,r[n++]=0,r[n++]=0,i=8;i<this.padLength;i++)r[n++]=0;return r}},2344:(f,e,t)=>{"use strict";var r=t(6436),n=t(9746);function i(f,e,t){if(!(this instanceof i))return new i(f,e,t);this.Hash=f,this.blockSize=f.blockSize/8,this.outSize=f.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(e,t))}f.exports=i,i.prototype._init=function(f){f.length>this.blockSize&&(f=(new this.Hash).update(f).digest()),n(f.length<=this.blockSize);for(var e=f.length;e<this.blockSize;e++)f.push(0);for(e=0;e<f.length;e++)f[e]^=54;for(this.inner=(new this.Hash).update(f),e=0;e<f.length;e++)f[e]^=106;this.outer=(new this.Hash).update(f)},i.prototype.update=function(f,e){return this.inner.update(f,e),this},i.prototype.digest=function(f){return this.outer.update(this.inner.digest()),this.outer.digest(f)}},2949:(f,e,t)=>{"use strict";var r=t(6436),n=t(5772),i=r.rotl32,o=r.sum32,a=r.sum32_3,s=r.sum32_4,c=n.BlockHash;function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(f,e,t,r){return f<=15?e^t^r:f<=31?e&t|~e&r:f<=47?(e|~t)^r:f<=63?e&r|t&~r:e^(t|~r)}function d(f){return f<=15?0:f<=31?1518500249:f<=47?1859775393:f<=63?2400959708:2840853838}function h(f){return f<=15?1352829926:f<=31?1548603684:f<=47?1836072691:f<=63?2053994217:0}r.inherits(u,c),e.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(f,e){for(var t=this.h[0],r=this.h[1],n=this.h[2],c=this.h[3],u=this.h[4],y=t,v=r,w=n,_=c,E=u,A=0;A<80;A++){var S=o(i(s(t,l(A,r,n,c),f[p[A]+e],d(A)),m[A]),u);t=u,u=c,c=i(n,10),n=r,r=S,S=o(i(s(y,l(79-A,v,w,_),f[b[A]+e],h(A)),g[A]),E),y=E,E=_,_=i(w,10),w=v,v=S}S=a(this.h[1],n,_),this.h[1]=a(this.h[2],c,E),this.h[2]=a(this.h[3],u,y),this.h[3]=a(this.h[4],t,v),this.h[4]=a(this.h[0],r,w),this.h[0]=S},u.prototype._digest=function(f){return"hex"===f?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var p=[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],b=[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],m=[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],g=[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]},9041:(f,e,t)=>{"use strict";e.sha1=t(4761),e.sha224=t(799),e.sha256=t(9344),e.sha384=t(772),e.sha512=t(5900)},4761:(f,e,t)=>{"use strict";var r=t(6436),n=t(5772),i=t(7038),o=r.rotl32,a=r.sum32,s=r.sum32_5,c=i.ft_1,u=n.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,u),f.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(f,e){for(var t=this.W,r=0;r<16;r++)t[r]=f[e+r];for(;r<t.length;r++)t[r]=o(t[r-3]^t[r-8]^t[r-14]^t[r-16],1);var n=this.h[0],i=this.h[1],u=this.h[2],d=this.h[3],h=this.h[4];for(r=0;r<t.length;r++){var p=~~(r/20),b=s(o(n,5),c(p,i,u,d),h,t[r],l[p]);h=d,d=u,u=o(i,30),i=n,n=b}this.h[0]=a(this.h[0],n),this.h[1]=a(this.h[1],i),this.h[2]=a(this.h[2],u),this.h[3]=a(this.h[3],d),this.h[4]=a(this.h[4],h)},d.prototype._digest=function(f){return"hex"===f?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},799:(f,e,t)=>{"use strict";var r=t(6436),n=t(9344);function i(){if(!(this instanceof i))return new i;n.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(i,n),f.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(f){return"hex"===f?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},9344:(f,e,t)=>{"use strict";var r=t(6436),n=t(5772),i=t(7038),o=t(9746),a=r.sum32,s=r.sum32_4,c=r.sum32_5,u=i.ch32,l=i.maj32,d=i.s0_256,h=i.s1_256,p=i.g0_256,b=i.g1_256,m=n.BlockHash,g=[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 y(){if(!(this instanceof y))return new y;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=new Array(64)}r.inherits(y,m),f.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(f,e){for(var t=this.W,r=0;r<16;r++)t[r]=f[e+r];for(;r<t.length;r++)t[r]=s(b(t[r-2]),t[r-7],p(t[r-15]),t[r-16]);var n=this.h[0],i=this.h[1],m=this.h[2],g=this.h[3],y=this.h[4],v=this.h[5],w=this.h[6],_=this.h[7];for(o(this.k.length===t.length),r=0;r<t.length;r++){var E=c(_,h(y),u(y,v,w),this.k[r],t[r]),A=a(d(n),l(n,i,m));_=w,w=v,v=y,y=a(g,E),g=m,m=i,i=n,n=a(E,A)}this.h[0]=a(this.h[0],n),this.h[1]=a(this.h[1],i),this.h[2]=a(this.h[2],m),this.h[3]=a(this.h[3],g),this.h[4]=a(this.h[4],y),this.h[5]=a(this.h[5],v),this.h[6]=a(this.h[6],w),this.h[7]=a(this.h[7],_)},y.prototype._digest=function(f){return"hex"===f?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},772:(f,e,t)=>{"use strict";var r=t(6436),n=t(5900);function i(){if(!(this instanceof i))return new i;n.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(i,n),f.exports=i,i.blockSize=1024,i.outSize=384,i.hmacStrength=192,i.padLength=128,i.prototype._digest=function(f){return"hex"===f?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},5900:(f,e,t)=>{"use strict";var r=t(6436),n=t(5772),i=t(9746),o=r.rotr64_hi,a=r.rotr64_lo,s=r.shr64_hi,c=r.shr64_lo,u=r.sum64,l=r.sum64_hi,d=r.sum64_lo,h=r.sum64_4_hi,p=r.sum64_4_lo,b=r.sum64_5_hi,m=r.sum64_5_lo,g=n.BlockHash,y=[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 v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function w(f,e,t,r,n){var i=f&t^~f&n;return i<0&&(i+=4294967296),i}function _(f,e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function E(f,e,t,r,n){var i=f&t^f&n^t&n;return i<0&&(i+=4294967296),i}function A(f,e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function S(f,e){var t=o(f,e,28)^o(e,f,2)^o(e,f,7);return t<0&&(t+=4294967296),t}function k(f,e){var t=a(f,e,28)^a(e,f,2)^a(e,f,7);return t<0&&(t+=4294967296),t}function M(f,e){var t=o(f,e,14)^o(f,e,18)^o(e,f,9);return t<0&&(t+=4294967296),t}function P(f,e){var t=a(f,e,14)^a(f,e,18)^a(e,f,9);return t<0&&(t+=4294967296),t}function x(f,e){var t=o(f,e,1)^o(f,e,8)^s(f,e,7);return t<0&&(t+=4294967296),t}function O(f,e){var t=a(f,e,1)^a(f,e,8)^c(f,e,7);return t<0&&(t+=4294967296),t}function N(f,e){var t=o(f,e,19)^o(e,f,29)^s(f,e,6);return t<0&&(t+=4294967296),t}function T(f,e){var t=a(f,e,19)^a(e,f,29)^c(f,e,6);return t<0&&(t+=4294967296),t}r.inherits(v,g),f.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(f,e){for(var t=this.W,r=0;r<32;r++)t[r]=f[e+r];for(;r<t.length;r+=2){var n=N(t[r-4],t[r-3]),i=T(t[r-4],t[r-3]),o=t[r-14],a=t[r-13],s=x(t[r-30],t[r-29]),c=O(t[r-30],t[r-29]),u=t[r-32],l=t[r-31];t[r]=h(n,i,o,a,s,c,u,l),t[r+1]=p(n,i,o,a,s,c,u,l)}},v.prototype._update=function(f,e){this._prepareBlock(f,e);var t=this.W,r=this.h[0],n=this.h[1],o=this.h[2],a=this.h[3],s=this.h[4],c=this.h[5],h=this.h[6],p=this.h[7],g=this.h[8],y=this.h[9],v=this.h[10],x=this.h[11],O=this.h[12],N=this.h[13],T=this.h[14],R=this.h[15];i(this.k.length===t.length);for(var I=0;I<t.length;I+=2){var C=T,F=R,B=M(g,y),D=P(g,y),L=w(g,y,v,x,O),j=_(g,y,v,x,O,N),U=this.k[I],z=this.k[I+1],G=t[I],q=t[I+1],$=b(C,F,B,D,L,j,U,z,G,q),W=m(C,F,B,D,L,j,U,z,G,q);C=S(r,n),F=k(r,n),B=E(r,n,o,a,s),D=A(r,n,o,a,s,c);var H=l(C,F,B,D),K=d(C,F,B,D);T=O,R=N,O=v,N=x,v=g,x=y,g=l(h,p,$,W),y=d(p,p,$,W),h=s,p=c,s=o,c=a,o=r,a=n,r=l($,W,H,K),n=d($,W,H,K)}u(this.h,0,r,n),u(this.h,2,o,a),u(this.h,4,s,c),u(this.h,6,h,p),u(this.h,8,g,y),u(this.h,10,v,x),u(this.h,12,O,N),u(this.h,14,T,R)},v.prototype._digest=function(f){return"hex"===f?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},7038:(f,e,t)=>{"use strict";var r=t(6436).rotr32;function n(f,e,t){return f&e^~f&t}function i(f,e,t){return f&e^f&t^e&t}function o(f,e,t){return f^e^t}e.ft_1=function(f,e,t,r){return 0===f?n(e,t,r):1===f||3===f?o(e,t,r):2===f?i(e,t,r):void 0},e.ch32=n,e.maj32=i,e.p32=o,e.s0_256=function(f){return r(f,2)^r(f,13)^r(f,22)},e.s1_256=function(f){return r(f,6)^r(f,11)^r(f,25)},e.g0_256=function(f){return r(f,7)^r(f,18)^f>>>3},e.g1_256=function(f){return r(f,17)^r(f,19)^f>>>10}},6436:(f,e,t)=>{"use strict";var r=t(9746),n=t(5717);function i(f,e){return 55296==(64512&f.charCodeAt(e))&&(!(e<0||e+1>=f.length)&&56320==(64512&f.charCodeAt(e+1)))}function o(f){return(f>>>24|f>>>8&65280|f<<8&16711680|(255&f)<<24)>>>0}function a(f){return 1===f.length?"0"+f:f}function s(f){return 7===f.length?"0"+f:6===f.length?"00"+f:5===f.length?"000"+f:4===f.length?"0000"+f:3===f.length?"00000"+f:2===f.length?"000000"+f:1===f.length?"0000000"+f:f}e.inherits=n,e.toArray=function(f,e){if(Array.isArray(f))return f.slice();if(!f)return[];var t=[];if("string"==typeof f)if(e){if("hex"===e)for((f=f.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(f="0"+f),n=0;n<f.length;n+=2)t.push(parseInt(f[n]+f[n+1],16))}else for(var r=0,n=0;n<f.length;n++){var o=f.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=63&o|128):i(f,n)?(o=65536+((1023&o)<<10)+(1023&f.charCodeAt(++n)),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=63&o|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=63&o|128)}else for(n=0;n<f.length;n++)t[n]=0|f[n];return t},e.toHex=function(f){for(var e="",t=0;t<f.length;t++)e+=a(f[t].toString(16));return e},e.htonl=o,e.toHex32=function(f,e){for(var t="",r=0;r<f.length;r++){var n=f[r];"little"===e&&(n=o(n)),t+=s(n.toString(16))}return t},e.zero2=a,e.zero8=s,e.join32=function(f,e,t,n){var i=t-e;r(i%4==0);for(var o=new Array(i/4),a=0,s=e;a<o.length;a++,s+=4){var c;c="big"===n?f[s]<<24|f[s+1]<<16|f[s+2]<<8|f[s+3]:f[s+3]<<24|f[s+2]<<16|f[s+1]<<8|f[s],o[a]=c>>>0}return o},e.split32=function(f,e){for(var t=new Array(4*f.length),r=0,n=0;r<f.length;r++,n+=4){var i=f[r];"big"===e?(t[n]=i>>>24,t[n+1]=i>>>16&255,t[n+2]=i>>>8&255,t[n+3]=255&i):(t[n+3]=i>>>24,t[n+2]=i>>>16&255,t[n+1]=i>>>8&255,t[n]=255&i)}return t},e.rotr32=function(f,e){return f>>>e|f<<32-e},e.rotl32=function(f,e){return f<<e|f>>>32-e},e.sum32=function(f,e){return f+e>>>0},e.sum32_3=function(f,e,t){return f+e+t>>>0},e.sum32_4=function(f,e,t,r){return f+e+t+r>>>0},e.sum32_5=function(f,e,t,r,n){return f+e+t+r+n>>>0},e.sum64=function(f,e,t,r){var n=f[e],i=r+f[e+1]>>>0,o=(i<r?1:0)+t+n;f[e]=o>>>0,f[e+1]=i},e.sum64_hi=function(f,e,t,r){return(e+r>>>0<e?1:0)+f+t>>>0},e.sum64_lo=function(f,e,t,r){return e+r>>>0},e.sum64_4_hi=function(f,e,t,r,n,i,o,a){var s=0,c=e;return s+=(c=c+r>>>0)<e?1:0,s+=(c=c+i>>>0)<i?1:0,f+t+n+o+(s+=(c=c+a>>>0)<a?1:0)>>>0},e.sum64_4_lo=function(f,e,t,r,n,i,o,a){return e+r+i+a>>>0},e.sum64_5_hi=function(f,e,t,r,n,i,o,a,s,c){var u=0,l=e;return u+=(l=l+r>>>0)<e?1:0,u+=(l=l+i>>>0)<i?1:0,u+=(l=l+a>>>0)<a?1:0,f+t+n+o+s+(u+=(l=l+c>>>0)<c?1:0)>>>0},e.sum64_5_lo=function(f,e,t,r,n,i,o,a,s,c){return e+r+i+a+c>>>0},e.rotr64_hi=function(f,e,t){return(e<<32-t|f>>>t)>>>0},e.rotr64_lo=function(f,e,t){return(f<<32-t|e>>>t)>>>0},e.shr64_hi=function(f,e,t){return f>>>t},e.shr64_lo=function(f,e,t){return(f<<32-t|e>>>t)>>>0}},5717:f=>{"function"==typeof Object.create?f.exports=function(f,e){e&&(f.super_=e,f.prototype=Object.create(e.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}))}:f.exports=function(f,e){if(e){f.super_=e;var t=function(){};t.prototype=e.prototype,f.prototype=new t,f.prototype.constructor=f}}},1094:(f,e,t)=>{var r,n=t(4155);!function(){"use strict";var i="input is invalid type",o="object"==typeof window,a=o?window:{};a.JS_SHA3_NO_WINDOW&&(o=!1);var s=!o&&"object"==typeof self;!a.JS_SHA3_NO_NODE_JS&&"object"==typeof n&&n.versions&&n.versions.node?a=t.g:s&&(a=self);var c=!a.JS_SHA3_NO_COMMON_JS&&f.exports,u=t.amdO,l=!a.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,d="0123456789abcdef".split(""),h=[4,1024,262144,67108864],p=[0,8,16,24],b=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],m=[224,256,384,512],g=[128,256],y=["hex","buffer","arrayBuffer","array","digest"],v={128:168,256:136};!a.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(f){return"[object Array]"===Object.prototype.toString.call(f)}),!l||!a.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(f){return"object"==typeof f&&f.buffer&&f.buffer.constructor===ArrayBuffer});for(var w=function(f,e,t){return function(r){return new F(f,e,f).update(r)[t]()}},_=function(f,e,t){return function(r,n){return new F(f,e,n).update(r)[t]()}},E=function(f,e,t){return function(e,r,n,i){return P["cshake"+f].update(e,r,n,i)[t]()}},A=function(f,e,t){return function(e,r,n,i){return P["kmac"+f].update(e,r,n,i)[t]()}},S=function(f,e,t,r){for(var n=0;n<y.length;++n){var i=y[n];f[i]=e(t,r,i)}return f},k=function(f,e){var t=w(f,e,"hex");return t.create=function(){return new F(f,e,f)},t.update=function(f){return t.create().update(f)},S(t,w,f,e)},M=[{name:"keccak",padding:[1,256,65536,16777216],bits:m,createMethod:k},{name:"sha3",padding:[6,1536,393216,100663296],bits:m,createMethod:k},{name:"shake",padding:[31,7936,2031616,520093696],bits:g,createMethod:function(f,e){var t=_(f,e,"hex");return t.create=function(t){return new F(f,e,t)},t.update=function(f,e){return t.create(e).update(f)},S(t,_,f,e)}},{name:"cshake",padding:h,bits:g,createMethod:function(f,e){var t=v[f],r=E(f,0,"hex");return r.create=function(r,n,i){return n||i?new F(f,e,r).bytepad([n,i],t):P["shake"+f].create(r)},r.update=function(f,e,t,n){return r.create(e,t,n).update(f)},S(r,E,f,e)}},{name:"kmac",padding:h,bits:g,createMethod:function(f,e){var t=v[f],r=A(f,0,"hex");return r.create=function(r,n,i){return new B(f,e,n).bytepad(["KMAC",i],t).bytepad([r],t)},r.update=function(f,e,t,n){return r.create(f,t,n).update(e)},S(r,A,f,e)}}],P={},x=[],O=0;O<M.length;++O)for(var N=M[O],T=N.bits,R=0;R<T.length;++R){var I=N.name+"_"+T[R];if(x.push(I),P[I]=N.createMethod(T[R],N.padding),"sha3"!==N.name){var C=N.name+T[R];x.push(C),P[C]=P[I]}}function F(f,e,t){this.blocks=[],this.s=[],this.padding=e,this.outputBits=t,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(f<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=t>>5,this.extraBytes=(31&t)>>3;for(var r=0;r<50;++r)this.s[r]=0}function B(f,e,t){F.call(this,f,e,t)}F.prototype.update=function(f){if(this.finalized)throw new Error("finalize already called");var e,t=typeof f;if("string"!==t){if("object"!==t)throw new Error(i);if(null===f)throw new Error(i);if(l&&f.constructor===ArrayBuffer)f=new Uint8Array(f);else if(!(Array.isArray(f)||l&&ArrayBuffer.isView(f)))throw new Error(i);e=!0}for(var r,n,o=this.blocks,a=this.byteCount,s=f.length,c=this.blockCount,u=0,d=this.s;u<s;){if(this.reset)for(this.reset=!1,o[0]=this.block,r=1;r<c+1;++r)o[r]=0;if(e)for(r=this.start;u<s&&r<a;++u)o[r>>2]|=f[u]<<p[3&r++];else for(r=this.start;u<s&&r<a;++u)(n=f.charCodeAt(u))<128?o[r>>2]|=n<<p[3&r++]:n<2048?(o[r>>2]|=(192|n>>6)<<p[3&r++],o[r>>2]|=(128|63&n)<<p[3&r++]):n<55296||n>=57344?(o[r>>2]|=(224|n>>12)<<p[3&r++],o[r>>2]|=(128|n>>6&63)<<p[3&r++],o[r>>2]|=(128|63&n)<<p[3&r++]):(n=65536+((1023&n)<<10|1023&f.charCodeAt(++u)),o[r>>2]|=(240|n>>18)<<p[3&r++],o[r>>2]|=(128|n>>12&63)<<p[3&r++],o[r>>2]|=(128|n>>6&63)<<p[3&r++],o[r>>2]|=(128|63&n)<<p[3&r++]);if(this.lastByteIndex=r,r>=a){for(this.start=r-a,this.block=o[c],r=0;r<c;++r)d[r]^=o[r];D(d),this.reset=!0}else this.start=r}return this},F.prototype.encode=function(f,e){var t=255&f,r=1,n=[t];for(t=255&(f>>=8);t>0;)n.unshift(t),t=255&(f>>=8),++r;return e?n.push(r):n.unshift(r),this.update(n),n.length},F.prototype.encodeString=function(f){var e,t=typeof f;if("string"!==t){if("object"!==t)throw new Error(i);if(null===f)throw new Error(i);if(l&&f.constructor===ArrayBuffer)f=new Uint8Array(f);else if(!(Array.isArray(f)||l&&ArrayBuffer.isView(f)))throw new Error(i);e=!0}var r=0,n=f.length;if(e)r=n;else for(var o=0;o<f.length;++o){var a=f.charCodeAt(o);a<128?r+=1:a<2048?r+=2:a<55296||a>=57344?r+=3:(a=65536+((1023&a)<<10|1023&f.charCodeAt(++o)),r+=4)}return r+=this.encode(8*r),this.update(f),r},F.prototype.bytepad=function(f,e){for(var t=this.encode(e),r=0;r<f.length;++r)t+=this.encodeString(f[r]);var n=e-t%e,i=[];return i.length=n,this.update(i),this},F.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var f=this.blocks,e=this.lastByteIndex,t=this.blockCount,r=this.s;if(f[e>>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(f[0]=f[t],e=1;e<t+1;++e)f[e]=0;for(f[t-1]|=2147483648,e=0;e<t;++e)r[e]^=f[e];D(r)}},F.prototype.toString=F.prototype.hex=function(){this.finalize();for(var f,e=this.blockCount,t=this.s,r=this.outputBlocks,n=this.extraBytes,i=0,o=0,a="";o<r;){for(i=0;i<e&&o<r;++i,++o)f=t[i],a+=d[f>>4&15]+d[15&f]+d[f>>12&15]+d[f>>8&15]+d[f>>20&15]+d[f>>16&15]+d[f>>28&15]+d[f>>24&15];o%e==0&&(D(t),i=0)}return n&&(f=t[i],a+=d[f>>4&15]+d[15&f],n>1&&(a+=d[f>>12&15]+d[f>>8&15]),n>2&&(a+=d[f>>20&15]+d[f>>16&15])),a},F.prototype.arrayBuffer=function(){this.finalize();var f,e=this.blockCount,t=this.s,r=this.outputBlocks,n=this.extraBytes,i=0,o=0,a=this.outputBits>>3;f=n?new ArrayBuffer(r+1<<2):new ArrayBuffer(a);for(var s=new Uint32Array(f);o<r;){for(i=0;i<e&&o<r;++i,++o)s[o]=t[i];o%e==0&&D(t)}return n&&(s[i]=t[i],f=f.slice(0,a)),f},F.prototype.buffer=F.prototype.arrayBuffer,F.prototype.digest=F.prototype.array=function(){this.finalize();for(var f,e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=[];a<n;){for(o=0;o<t&&a<n;++o,++a)f=a<<2,e=r[o],s[f]=255&e,s[f+1]=e>>8&255,s[f+2]=e>>16&255,s[f+3]=e>>24&255;a%t==0&&D(r)}return i&&(f=a<<2,e=r[o],s[f]=255&e,i>1&&(s[f+1]=e>>8&255),i>2&&(s[f+2]=e>>16&255)),s},B.prototype=new F,B.prototype.finalize=function(){return this.encode(this.outputBits,!0),F.prototype.finalize.call(this)};var D=function(f){var e,t,r,n,i,o,a,s,c,u,l,d,h,p,m,g,y,v,w,_,E,A,S,k,M,P,x,O,N,T,R,I,C,F,B,D,L,j,U,z,G,q,$,W,H,K,V,Y,J,Z,X,Q,ff,ef,tf,rf,nf,of,af,sf,cf,uf,lf;for(r=0;r<48;r+=2)n=f[0]^f[10]^f[20]^f[30]^f[40],i=f[1]^f[11]^f[21]^f[31]^f[41],o=f[2]^f[12]^f[22]^f[32]^f[42],a=f[3]^f[13]^f[23]^f[33]^f[43],s=f[4]^f[14]^f[24]^f[34]^f[44],c=f[5]^f[15]^f[25]^f[35]^f[45],u=f[6]^f[16]^f[26]^f[36]^f[46],l=f[7]^f[17]^f[27]^f[37]^f[47],e=(d=f[8]^f[18]^f[28]^f[38]^f[48])^(o<<1|a>>>31),t=(h=f[9]^f[19]^f[29]^f[39]^f[49])^(a<<1|o>>>31),f[0]^=e,f[1]^=t,f[10]^=e,f[11]^=t,f[20]^=e,f[21]^=t,f[30]^=e,f[31]^=t,f[40]^=e,f[41]^=t,e=n^(s<<1|c>>>31),t=i^(c<<1|s>>>31),f[2]^=e,f[3]^=t,f[12]^=e,f[13]^=t,f[22]^=e,f[23]^=t,f[32]^=e,f[33]^=t,f[42]^=e,f[43]^=t,e=o^(u<<1|l>>>31),t=a^(l<<1|u>>>31),f[4]^=e,f[5]^=t,f[14]^=e,f[15]^=t,f[24]^=e,f[25]^=t,f[34]^=e,f[35]^=t,f[44]^=e,f[45]^=t,e=s^(d<<1|h>>>31),t=c^(h<<1|d>>>31),f[6]^=e,f[7]^=t,f[16]^=e,f[17]^=t,f[26]^=e,f[27]^=t,f[36]^=e,f[37]^=t,f[46]^=e,f[47]^=t,e=u^(n<<1|i>>>31),t=l^(i<<1|n>>>31),f[8]^=e,f[9]^=t,f[18]^=e,f[19]^=t,f[28]^=e,f[29]^=t,f[38]^=e,f[39]^=t,f[48]^=e,f[49]^=t,p=f[0],m=f[1],K=f[11]<<4|f[10]>>>28,V=f[10]<<4|f[11]>>>28,O=f[20]<<3|f[21]>>>29,N=f[21]<<3|f[20]>>>29,sf=f[31]<<9|f[30]>>>23,cf=f[30]<<9|f[31]>>>23,q=f[40]<<18|f[41]>>>14,$=f[41]<<18|f[40]>>>14,F=f[2]<<1|f[3]>>>31,B=f[3]<<1|f[2]>>>31,g=f[13]<<12|f[12]>>>20,y=f[12]<<12|f[13]>>>20,Y=f[22]<<10|f[23]>>>22,J=f[23]<<10|f[22]>>>22,T=f[33]<<13|f[32]>>>19,R=f[32]<<13|f[33]>>>19,uf=f[42]<<2|f[43]>>>30,lf=f[43]<<2|f[42]>>>30,ef=f[5]<<30|f[4]>>>2,tf=f[4]<<30|f[5]>>>2,D=f[14]<<6|f[15]>>>26,L=f[15]<<6|f[14]>>>26,v=f[25]<<11|f[24]>>>21,w=f[24]<<11|f[25]>>>21,Z=f[34]<<15|f[35]>>>17,X=f[35]<<15|f[34]>>>17,I=f[45]<<29|f[44]>>>3,C=f[44]<<29|f[45]>>>3,k=f[6]<<28|f[7]>>>4,M=f[7]<<28|f[6]>>>4,rf=f[17]<<23|f[16]>>>9,nf=f[16]<<23|f[17]>>>9,j=f[26]<<25|f[27]>>>7,U=f[27]<<25|f[26]>>>7,_=f[36]<<21|f[37]>>>11,E=f[37]<<21|f[36]>>>11,Q=f[47]<<24|f[46]>>>8,ff=f[46]<<24|f[47]>>>8,W=f[8]<<27|f[9]>>>5,H=f[9]<<27|f[8]>>>5,P=f[18]<<20|f[19]>>>12,x=f[19]<<20|f[18]>>>12,of=f[29]<<7|f[28]>>>25,af=f[28]<<7|f[29]>>>25,z=f[38]<<8|f[39]>>>24,G=f[39]<<8|f[38]>>>24,A=f[48]<<14|f[49]>>>18,S=f[49]<<14|f[48]>>>18,f[0]=p^~g&v,f[1]=m^~y&w,f[10]=k^~P&O,f[11]=M^~x&N,f[20]=F^~D&j,f[21]=B^~L&U,f[30]=W^~K&Y,f[31]=H^~V&J,f[40]=ef^~rf&of,f[41]=tf^~nf&af,f[2]=g^~v&_,f[3]=y^~w&E,f[12]=P^~O&T,f[13]=x^~N&R,f[22]=D^~j&z,f[23]=L^~U&G,f[32]=K^~Y&Z,f[33]=V^~J&X,f[42]=rf^~of&sf,f[43]=nf^~af&cf,f[4]=v^~_&A,f[5]=w^~E&S,f[14]=O^~T&I,f[15]=N^~R&C,f[24]=j^~z&q,f[25]=U^~G&$,f[34]=Y^~Z&Q,f[35]=J^~X&ff,f[44]=of^~sf&uf,f[45]=af^~cf&lf,f[6]=_^~A&p,f[7]=E^~S&m,f[16]=T^~I&k,f[17]=R^~C&M,f[26]=z^~q&F,f[27]=G^~$&B,f[36]=Z^~Q&W,f[37]=X^~ff&H,f[46]=sf^~uf&ef,f[47]=cf^~lf&tf,f[8]=A^~p&g,f[9]=S^~m&y,f[18]=I^~k&P,f[19]=C^~M&x,f[28]=q^~F&D,f[29]=$^~B&L,f[38]=Q^~W&K,f[39]=ff^~H&V,f[48]=uf^~ef&rf,f[49]=lf^~tf&nf,f[0]^=b[r],f[1]^=b[r+1]};if(c)f.exports=P;else{for(O=0;O<x.length;++O)a[x[O]]=P[x[O]];u&&(void 0===(r=function(){return P}.call(e,t,e,f))||(f.exports=r))}}()},9746:f=>{function e(f,e){if(!f)throw new Error(e||"Assertion failed")}f.exports=e,e.equal=function(f,e,t){if(f!=e)throw new Error(t||"Assertion failed: "+f+" != "+e)}},1293:function(f,e,t){"use strict";var r=this&&this.__createBinding||(Object.create?function(f,e,t,r){void 0===r&&(r=t),Object.defineProperty(f,r,{enumerable:!0,get:function(){return e[t]}})}:function(f,e,t,r){void 0===r&&(r=t),f[r]=e[t]}),n=this&&this.__setModuleDefault||(Object.create?function(f,e){Object.defineProperty(f,"default",{enumerable:!0,value:e})}:function(f,e){f.default=e}),i=this&&this.__importStar||function(f){if(f&&f.__esModule)return f;var e={};if(null!=f)for(var t in f)"default"!==t&&Object.prototype.hasOwnProperty.call(f,t)&&r(e,f,t);return n(e,f),e};Object.defineProperty(e,"__esModule",{value:!0});const o=i(t(7460)),a={},s=f=>{const e="string"==typeof f?a[f]:f;if(void 0!==e){let f=e[s.language];if(void 0===f){let t="",r="";2===s.language.length?t=s.language.toLowerCase():(t=s.language.substring(0,2).toLowerCase(),r=s.language.substring(3).toLowerCase()),f=e[t],"object"==typeof f&&(f=void 0!==f[r]?f[r]:f[Object.keys(f)[0]])}return void 0===f&&(f=void 0!==e.en?e.en:e[Object.keys(e)[0]]),void 0!==f&&"object"==typeof f&&(f=f[Object.keys(f)[0]]),void 0===f?"":f}return console.error(`${f} not exists.`),""};s.language="en",s.parseCSV=f=>{let e=[];for(const[t,r]of o.parse(f).data.entries())if(0===t)e=r;else{const f=r[0],t={};for(const[f,n]of r.entries())f>0&&""!==n&&(t[e[f]]=n.replace(/\\n/g,"\n"));a[f]=t}},s.getMessages=f=>a[f],s.getLangMessages=f=>{let e="",t="";2===s.language.length?e=s.language.toLowerCase():(e=s.language.substring(0,2).toLowerCase(),t=s.language.substring(3).toLowerCase());const r="string"==typeof f?a[f]:f;if(void 0!==r){let f=r[s.language];return void 0===f&&(f=r[e],void 0!==f&&"object"==typeof f&&(f=void 0!==f[t]?f[t]:f[Object.keys(f)[0]])),void 0===f&&(f=void 0!==r.en?r.en:r[Object.keys(r)[0]]),void 0!==f&&"object"==typeof f&&(f=f[Object.keys(f)[0]]),{[e]:void 0===f?"":f}}return console.error(`${f} not exists.`),{[e]:""}},e.default=s},631:(f,e,t)=>{var r="function"==typeof Map&&Map.prototype,n=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&n&&"function"==typeof n.get?n.get:null,o=r&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,s=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=a&&s&&"function"==typeof s.get?s.get:null,u=a&&Set.prototype.forEach,l="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,b=Object.prototype.toString,m=Function.prototype.toString,g=String.prototype.match,y="function"==typeof BigInt?BigInt.prototype.valueOf:null,v=Object.getOwnPropertySymbols,w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,_="function"==typeof Symbol&&"object"==typeof Symbol.iterator,E=Object.prototype.propertyIsEnumerable,A=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(f){return f.__proto__}:null),S=t(4654).custom,k=S&&N(S)?S:null,M="function"==typeof Symbol&&void 0!==Symbol.toStringTag?Symbol.toStringTag:null;function P(f,e,t){var r="double"===(t.quoteStyle||e)?'"':"'";return r+f+r}function x(f){return String(f).replace(/"/g,"&quot;")}function O(f){return!("[object Array]"!==I(f)||M&&"object"==typeof f&&M in f)}function N(f){if(_)return f&&"object"==typeof f&&f instanceof Symbol;if("symbol"==typeof f)return!0;if(!f||"object"!=typeof f||!w)return!1;try{return w.call(f),!0}catch(f){}return!1}f.exports=function f(e,t,r,n){var a=t||{};if(R(a,"quoteStyle")&&"single"!==a.quoteStyle&&"double"!==a.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(R(a,"maxStringLength")&&("number"==typeof a.maxStringLength?a.maxStringLength<0&&a.maxStringLength!==1/0:null!==a.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var s=!R(a,"customInspect")||a.customInspect;if("boolean"!=typeof s&&"symbol"!==s)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(R(a,"indent")&&null!==a.indent&&"\t"!==a.indent&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return F(e,a);if("number"==typeof e)return 0===e?1/0/e>0?"0":"-0":String(e);if("bigint"==typeof e)return String(e)+"n";var b=void 0===a.depth?5:a.depth;if(void 0===r&&(r=0),r>=b&&b>0&&"object"==typeof e)return O(e)?"[Array]":"[Object]";var v=function(f,e){var t;if("\t"===f.indent)t="\t";else{if(!("number"==typeof f.indent&&f.indent>0))return null;t=Array(f.indent+1).join(" ")}return{base:t,prev:Array(e+1).join(t)}}(a,r);if(void 0===n)n=[];else if(C(n,e)>=0)return"[Circular]";function E(e,t,i){if(t&&(n=n.slice()).push(t),i){var o={depth:a.depth};return R(a,"quoteStyle")&&(o.quoteStyle=a.quoteStyle),f(e,o,r+1,n)}return f(e,a,r+1,n)}if("function"==typeof e){var S=function(f){if(f.name)return f.name;var e=g.call(m.call(f),/^function\s*([\w$]+)/);if(e)return e[1];return null}(e),T=z(e,E);return"[Function"+(S?": "+S:" (anonymous)")+"]"+(T.length>0?" { "+T.join(", ")+" }":"")}if(N(e)){var B=_?String(e).replace(/^(Symbol\(.*\))_[^)]*$/,"$1"):w.call(e);return"object"!=typeof e||_?B:D(B)}if(function(f){if(!f||"object"!=typeof f)return!1;if("undefined"!=typeof HTMLElement&&f instanceof HTMLElement)return!0;return"string"==typeof f.nodeName&&"function"==typeof f.getAttribute}(e)){for(var G="<"+String(e.nodeName).toLowerCase(),q=e.attributes||[],$=0;$<q.length;$++)G+=" "+q[$].name+"="+P(x(q[$].value),"double",a);return G+=">",e.childNodes&&e.childNodes.length&&(G+="..."),G+="</"+String(e.nodeName).toLowerCase()+">"}if(O(e)){if(0===e.length)return"[]";var W=z(e,E);return v&&!function(f){for(var e=0;e<f.length;e++)if(C(f[e],"\n")>=0)return!1;return!0}(W)?"["+U(W,v)+"]":"[ "+W.join(", ")+" ]"}if(function(f){return!("[object Error]"!==I(f)||M&&"object"==typeof f&&M in f)}(e)){var H=z(e,E);return 0===H.length?"["+String(e)+"]":"{ ["+String(e)+"] "+H.join(", ")+" }"}if("object"==typeof e&&s){if(k&&"function"==typeof e[k])return e[k]();if("symbol"!==s&&"function"==typeof e.inspect)return e.inspect()}if(function(f){if(!i||!f||"object"!=typeof f)return!1;try{i.call(f);try{c.call(f)}catch(f){return!0}return f instanceof Map}catch(f){}return!1}(e)){var K=[];return o.call(e,(function(f,t){K.push(E(t,e,!0)+" => "+E(f,e))})),j("Map",i.call(e),K,v)}if(function(f){if(!c||!f||"object"!=typeof f)return!1;try{c.call(f);try{i.call(f)}catch(f){return!0}return f instanceof Set}catch(f){}return!1}(e)){var V=[];return u.call(e,(function(f){V.push(E(f,e))})),j("Set",c.call(e),V,v)}if(function(f){if(!l||!f||"object"!=typeof f)return!1;try{l.call(f,l);try{d.call(f,d)}catch(f){return!0}return f instanceof WeakMap}catch(f){}return!1}(e))return L("WeakMap");if(function(f){if(!d||!f||"object"!=typeof f)return!1;try{d.call(f,d);try{l.call(f,l)}catch(f){return!0}return f instanceof WeakSet}catch(f){}return!1}(e))return L("WeakSet");if(function(f){if(!h||!f||"object"!=typeof f)return!1;try{return h.call(f),!0}catch(f){}return!1}(e))return L("WeakRef");if(function(f){return!("[object Number]"!==I(f)||M&&"object"==typeof f&&M in f)}(e))return D(E(Number(e)));if(function(f){if(!f||"object"!=typeof f||!y)return!1;try{return y.call(f),!0}catch(f){}return!1}(e))return D(E(y.call(e)));if(function(f){return!("[object Boolean]"!==I(f)||M&&"object"==typeof f&&M in f)}(e))return D(p.call(e));if(function(f){return!("[object String]"!==I(f)||M&&"object"==typeof f&&M in f)}(e))return D(E(String(e)));if(!function(f){return!("[object Date]"!==I(f)||M&&"object"==typeof f&&M in f)}(e)&&!function(f){return!("[object RegExp]"!==I(f)||M&&"object"==typeof f&&M in f)}(e)){var Y=z(e,E),J=A?A(e)===Object.prototype:e instanceof Object||e.constructor===Object,Z=e instanceof Object?"":"null prototype",X=!J&&M&&Object(e)===e&&M in e?I(e).slice(8,-1):Z?"Object":"",Q=(J||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(X||Z?"["+[].concat(X||[],Z||[]).join(": ")+"] ":"");return 0===Y.length?Q+"{}":v?Q+"{"+U(Y,v)+"}":Q+"{ "+Y.join(", ")+" }"}return String(e)};var T=Object.prototype.hasOwnProperty||function(f){return f in this};function R(f,e){return T.call(f,e)}function I(f){return b.call(f)}function C(f,e){if(f.indexOf)return f.indexOf(e);for(var t=0,r=f.length;t<r;t++)if(f[t]===e)return t;return-1}function F(f,e){if(f.length>e.maxStringLength){var t=f.length-e.maxStringLength,r="... "+t+" more character"+(t>1?"s":"");return F(f.slice(0,e.maxStringLength),e)+r}return P(f.replace(/(['\\])/g,"\\$1").replace(/[\x00-\x1f]/g,B),"single",e)}function B(f){var e=f.charCodeAt(0),t={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return t?"\\"+t:"\\x"+(e<16?"0":"")+e.toString(16).toUpperCase()}function D(f){return"Object("+f+")"}function L(f){return f+" { ? }"}function j(f,e,t,r){return f+" ("+e+") {"+(r?U(t,r):t.join(", "))+"}"}function U(f,e){if(0===f.length)return"";var t="\n"+e.prev+e.base;return t+f.join(","+t)+"\n"+e.prev}function z(f,e){var t=O(f),r=[];if(t){r.length=f.length;for(var n=0;n<f.length;n++)r[n]=R(f,n)?e(f[n],f):""}var i,o="function"==typeof v?v(f):[];if(_){i={};for(var a=0;a<o.length;a++)i["$"+o[a]]=o[a]}for(var s in f)R(f,s)&&(t&&String(Number(s))===s&&s<f.length||_&&i["$"+s]instanceof Symbol||(/[^\w$]/.test(s)?r.push(e(s,f)+": "+e(f[s],f)):r.push(s+": "+e(f[s],f))));if("function"==typeof v)for(var c=0;c<o.length;c++)E.call(f,o[c])&&r.push("["+e(o[c])+"]: "+e(f[o[c]],f));return r}},7460:function(f,e){var t,r,n;r=[],t=function f(){"use strict";var e="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:{},t=!e.document&&!!e.postMessage,r=t&&/blob:/i.test((e.location||{}).protocol),n={},i=0,o={parse:function(t,r){var a=(r=r||{}).dynamicTyping||!1;if(_(a)&&(r.dynamicTypingFunction=a,a={}),r.dynamicTyping=a,r.transform=!!_(r.transform)&&r.transform,r.worker&&o.WORKERS_SUPPORTED){var s=function(){if(!o.WORKERS_SUPPORTED)return!1;var t,r,a=(t=e.URL||e.webkitURL||null,r=f.toString(),o.BLOB_URL||(o.BLOB_URL=t.createObjectURL(new Blob(["(",r,")();"],{type:"text/javascript"})))),s=new e.Worker(a);return s.onmessage=m,s.id=i++,n[s.id]=s}();return s.userStep=r.step,s.userChunk=r.chunk,s.userComplete=r.complete,s.userError=r.error,r.step=_(r.step),r.chunk=_(r.chunk),r.complete=_(r.complete),r.error=_(r.error),delete r.worker,void s.postMessage({input:t,config:r,workerId:s.id})}var h=null;return o.NODE_STREAM_INPUT,"string"==typeof t?h=r.download?new c(r):new l(r):!0===t.readable&&_(t.read)&&_(t.on)?h=new d(r):(e.File&&t instanceof File||t instanceof Object)&&(h=new u(r)),h.stream(t)},unparse:function(f,e){var t=!1,r=!0,n=",",i="\r\n",a='"',s=a+a,c=!1,u=null,l=!1;!function(){if("object"==typeof e){if("string"!=typeof e.delimiter||o.BAD_DELIMITERS.filter((function(f){return-1!==e.delimiter.indexOf(f)})).length||(n=e.delimiter),("boolean"==typeof e.quotes||"function"==typeof e.quotes||Array.isArray(e.quotes))&&(t=e.quotes),"boolean"!=typeof e.skipEmptyLines&&"string"!=typeof e.skipEmptyLines||(c=e.skipEmptyLines),"string"==typeof e.newline&&(i=e.newline),"string"==typeof e.quoteChar&&(a=e.quoteChar),"boolean"==typeof e.header&&(r=e.header),Array.isArray(e.columns)){if(0===e.columns.length)throw new Error("Option columns is empty");u=e.columns}void 0!==e.escapeChar&&(s=e.escapeChar+a),"boolean"==typeof e.escapeFormulae&&(l=e.escapeFormulae)}}();var d=new RegExp(p(a),"g");if("string"==typeof f&&(f=JSON.parse(f)),Array.isArray(f)){if(!f.length||Array.isArray(f[0]))return h(null,f,c);if("object"==typeof f[0])return h(u||Object.keys(f[0]),f,c)}else if("object"==typeof f)return"string"==typeof f.data&&(f.data=JSON.parse(f.data)),Array.isArray(f.data)&&(f.fields||(f.fields=f.meta&&f.meta.fields),f.fields||(f.fields=Array.isArray(f.data[0])?f.fields:"object"==typeof f.data[0]?Object.keys(f.data[0]):[]),Array.isArray(f.data[0])||"object"==typeof f.data[0]||(f.data=[f.data])),h(f.fields||[],f.data||[],c);throw new Error("Unable to serialize unrecognized input");function h(f,e,t){var o="";"string"==typeof f&&(f=JSON.parse(f)),"string"==typeof e&&(e=JSON.parse(e));var a=Array.isArray(f)&&0<f.length,s=!Array.isArray(e[0]);if(a&&r){for(var c=0;c<f.length;c++)0<c&&(o+=n),o+=b(f[c],c);0<e.length&&(o+=i)}for(var u=0;u<e.length;u++){var l=a?f.length:e[u].length,d=!1,h=a?0===Object.keys(e[u]).length:0===e[u].length;if(t&&!a&&(d="greedy"===t?""===e[u].join("").trim():1===e[u].length&&0===e[u][0].length),"greedy"===t&&a){for(var p=[],m=0;m<l;m++){var g=s?f[m]:m;p.push(e[u][g])}d=""===p.join("").trim()}if(!d){for(var y=0;y<l;y++){0<y&&!h&&(o+=n);var v=a&&s?f[y]:y;o+=b(e[u][v],y)}u<e.length-1&&(!t||0<l&&!h)&&(o+=i)}}return o}function b(f,e){if(null==f)return"";if(f.constructor===Date)return JSON.stringify(f).slice(1,25);!0===l&&"string"==typeof f&&null!==f.match(/^[=+\-@].*$/)&&(f="'"+f);var r=f.toString().replace(d,s),i="boolean"==typeof t&&t||"function"==typeof t&&t(f,e)||Array.isArray(t)&&t[e]||function(f,e){for(var t=0;t<e.length;t++)if(-1<f.indexOf(e[t]))return!0;return!1}(r,o.BAD_DELIMITERS)||-1<r.indexOf(n)||" "===r.charAt(0)||" "===r.charAt(r.length-1);return i?a+r+a:r}}};if(o.RECORD_SEP=String.fromCharCode(30),o.UNIT_SEP=String.fromCharCode(31),o.BYTE_ORDER_MARK="\ufeff",o.BAD_DELIMITERS=["\r","\n",'"',o.BYTE_ORDER_MARK],o.WORKERS_SUPPORTED=!t&&!!e.Worker,o.NODE_STREAM_INPUT=1,o.LocalChunkSize=10485760,o.RemoteChunkSize=5242880,o.DefaultDelimiter=",",o.Parser=b,o.ParserHandle=h,o.NetworkStreamer=c,o.FileStreamer=u,o.StringStreamer=l,o.ReadableStreamStreamer=d,e.jQuery){var a=e.jQuery;a.fn.parse=function(f){var t=f.config||{},r=[];return this.each((function(f){if("INPUT"!==a(this).prop("tagName").toUpperCase()||"file"!==a(this).attr("type").toLowerCase()||!e.FileReader||!this.files||0===this.files.length)return!0;for(var n=0;n<this.files.length;n++)r.push({file:this.files[n],inputElem:this,instanceConfig:a.extend({},t)})})),n(),this;function n(){if(0!==r.length){var e,t,n,s,c=r[0];if(_(f.before)){var u=f.before(c.file,c.inputElem);if("object"==typeof u){if("abort"===u.action)return e="AbortError",t=c.file,n=c.inputElem,s=u.reason,void(_(f.error)&&f.error({name:e},t,n,s));if("skip"===u.action)return void i();"object"==typeof u.config&&(c.instanceConfig=a.extend(c.instanceConfig,u.config))}else if("skip"===u)return void i()}var l=c.instanceConfig.complete;c.instanceConfig.complete=function(f){_(l)&&l(f,c.file,c.inputElem),i()},o.parse(c.file,c.instanceConfig)}else _(f.complete)&&f.complete()}function i(){r.splice(0,1),n()}}}function s(f){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(f){var e=v(f);e.chunkSize=parseInt(e.chunkSize),f.step||f.chunk||(e.chunkSize=null),this._handle=new h(e),(this._handle.streamer=this)._config=e}.call(this,f),this.parseChunk=function(f,t){if(this.isFirstChunk&&_(this._config.beforeFirstChunk)){var n=this._config.beforeFirstChunk(f);void 0!==n&&(f=n)}this.isFirstChunk=!1,this._halted=!1;var i=this._partialLine+f;this._partialLine="";var a=this._handle.parse(i,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var s=a.meta.cursor;this._finished||(this._partialLine=i.substring(s-this._baseIndex),this._baseIndex=s),a&&a.data&&(this._rowCount+=a.data.length);var c=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(r)e.postMessage({results:a,workerId:o.WORKER_ID,finished:c});else if(_(this._config.chunk)&&!t){if(this._config.chunk(a,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);a=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(a.data),this._completeResults.errors=this._completeResults.errors.concat(a.errors),this._completeResults.meta=a.meta),this._completed||!c||!_(this._config.complete)||a&&a.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),c||a&&a.meta.paused||this._nextChunk(),a}this._halted=!0},this._sendError=function(f){_(this._config.error)?this._config.error(f):r&&this._config.error&&e.postMessage({workerId:o.WORKER_ID,error:f,finished:!1})}}function c(f){var e;(f=f||{}).chunkSize||(f.chunkSize=o.RemoteChunkSize),s.call(this,f),this._nextChunk=t?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(f){this._input=f,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(e=new XMLHttpRequest,this._config.withCredentials&&(e.withCredentials=this._config.withCredentials),t||(e.onload=w(this._chunkLoaded,this),e.onerror=w(this._chunkError,this)),e.open(this._config.downloadRequestBody?"POST":"GET",this._input,!t),this._config.downloadRequestHeaders){var f=this._config.downloadRequestHeaders;for(var r in f)e.setRequestHeader(r,f[r])}if(this._config.chunkSize){var n=this._start+this._config.chunkSize-1;e.setRequestHeader("Range","bytes="+this._start+"-"+n)}try{e.send(this._config.downloadRequestBody)}catch(f){this._chunkError(f.message)}t&&0===e.status&&this._chunkError()}},this._chunkLoaded=function(){4===e.readyState&&(e.status<200||400<=e.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:e.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(f){var e=f.getResponseHeader("Content-Range");return null===e?-1:parseInt(e.substring(e.lastIndexOf("/")+1))}(e),this.parseChunk(e.responseText)))},this._chunkError=function(f){var t=e.statusText||f;this._sendError(new Error(t))}}function u(f){var e,t;(f=f||{}).chunkSize||(f.chunkSize=o.LocalChunkSize),s.call(this,f);var r="undefined"!=typeof FileReader;this.stream=function(f){this._input=f,t=f.slice||f.webkitSlice||f.mozSlice,r?((e=new FileReader).onload=w(this._chunkLoaded,this),e.onerror=w(this._chunkError,this)):e=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var f=this._input;if(this._config.chunkSize){var n=Math.min(this._start+this._config.chunkSize,this._input.size);f=t.call(f,this._start,n)}var i=e.readAsText(f,this._config.encoding);r||this._chunkLoaded({target:{result:i}})},this._chunkLoaded=function(f){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(f.target.result)},this._chunkError=function(){this._sendError(e.error)}}function l(f){var e;s.call(this,f=f||{}),this.stream=function(f){return e=f,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var f,t=this._config.chunkSize;return t?(f=e.substring(0,t),e=e.substring(t)):(f=e,e=""),this._finished=!e,this.parseChunk(f)}}}function d(f){s.call(this,f=f||{});var e=[],t=!0,r=!1;this.pause=function(){s.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){s.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(f){this._input=f,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){r&&1===e.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),e.length?this.parseChunk(e.shift()):t=!0},this._streamData=w((function(f){try{e.push("string"==typeof f?f:f.toString(this._config.encoding)),t&&(t=!1,this._checkIsFinished(),this.parseChunk(e.shift()))}catch(f){this._streamError(f)}}),this),this._streamError=w((function(f){this._streamCleanUp(),this._sendError(f)}),this),this._streamEnd=w((function(){this._streamCleanUp(),r=!0,this._streamData("")}),this),this._streamCleanUp=w((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function h(f){var e,t,r,n=Math.pow(2,53),i=-n,a=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,s=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/,c=this,u=0,l=0,d=!1,h=!1,m=[],g={data:[],errors:[],meta:{}};if(_(f.step)){var y=f.step;f.step=function(e){if(g=e,A())E();else{if(E(),0===g.data.length)return;u+=e.data.length,f.preview&&u>f.preview?t.abort():(g.data=g.data[0],y(g,c))}}}function w(e){return"greedy"===f.skipEmptyLines?""===e.join("").trim():1===e.length&&0===e[0].length}function E(){if(g&&r&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),r=!1),f.skipEmptyLines)for(var e=0;e<g.data.length;e++)w(g.data[e])&&g.data.splice(e--,1);return A()&&function(){if(g)if(Array.isArray(g.data[0])){for(var e=0;A()&&e<g.data.length;e++)g.data[e].forEach(t);g.data.splice(0,1)}else g.data.forEach(t);function t(e,t){_(f.transformHeader)&&(e=f.transformHeader(e,t)),m.push(e)}}(),function(){if(!g||!f.header&&!f.dynamicTyping&&!f.transform)return g;function e(e,t){var r,n=f.header?{}:[];for(r=0;r<e.length;r++){var i=r,o=e[r];f.header&&(i=r>=m.length?"__parsed_extra":m[r]),f.transform&&(o=f.transform(o,i)),o=S(i,o),"__parsed_extra"===i?(n[i]=n[i]||[],n[i].push(o)):n[i]=o}return f.header&&(r>m.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+m.length+" fields but parsed "+r,l+t):r<m.length&&k("FieldMismatch","TooFewFields","Too few fields: expected "+m.length+" fields but parsed "+r,l+t)),n}var t=1;return!g.data.length||Array.isArray(g.data[0])?(g.data=g.data.map(e),t=g.data.length):g.data=e(g.data,0),f.header&&g.meta&&(g.meta.fields=m),l+=t,g}()}function A(){return f.header&&0===m.length}function S(e,t){return r=e,f.dynamicTypingFunction&&void 0===f.dynamicTyping[r]&&(f.dynamicTyping[r]=f.dynamicTypingFunction(r)),!0===(f.dynamicTyping[r]||f.dynamicTyping)?"true"===t||"TRUE"===t||"false"!==t&&"FALSE"!==t&&(function(f){if(a.test(f)){var e=parseFloat(f);if(i<e&&e<n)return!0}return!1}(t)?parseFloat(t):s.test(t)?new Date(t):""===t?null:t):t;var r}function k(f,e,t,r){var n={type:f,code:e,message:t};void 0!==r&&(n.row=r),g.errors.push(n)}this.parse=function(n,i,a){var s=f.quoteChar||'"';if(f.newline||(f.newline=function(f,e){f=f.substring(0,1048576);var t=new RegExp(p(e)+"([^]*?)"+p(e),"gm"),r=(f=f.replace(t,"")).split("\r"),n=f.split("\n"),i=1<n.length&&n[0].length<r[0].length;if(1===r.length||i)return"\n";for(var o=0,a=0;a<r.length;a++)"\n"===r[a][0]&&o++;return o>=r.length/2?"\r\n":"\r"}(n,s)),r=!1,f.delimiter)_(f.delimiter)&&(f.delimiter=f.delimiter(n),g.meta.delimiter=f.delimiter);else{var c=function(e,t,r,n,i){var a,s,c,u;i=i||[",","\t","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var l=0;l<i.length;l++){var d=i[l],h=0,p=0,m=0;c=void 0;for(var g=new b({comments:n,delimiter:d,newline:t,preview:10}).parse(e),y=0;y<g.data.length;y++)if(r&&w(g.data[y]))m++;else{var v=g.data[y].length;p+=v,void 0!==c?0<v&&(h+=Math.abs(v-c),c=v):c=v}0<g.data.length&&(p/=g.data.length-m),(void 0===s||h<=s)&&(void 0===u||u<p)&&1.99<p&&(s=h,a=d,u=p)}return{successful:!!(f.delimiter=a),bestDelimiter:a}}(n,f.newline,f.skipEmptyLines,f.comments,f.delimitersToGuess);c.successful?f.delimiter=c.bestDelimiter:(r=!0,f.delimiter=o.DefaultDelimiter),g.meta.delimiter=f.delimiter}var u=v(f);return f.preview&&f.header&&u.preview++,e=n,t=new b(u),g=t.parse(e,i,a),E(),d?{meta:{paused:!0}}:g||{meta:{paused:!1}}},this.paused=function(){return d},this.pause=function(){d=!0,t.abort(),e=_(f.chunk)?"":e.substring(t.getCharIndex())},this.resume=function(){c.streamer._halted?(d=!1,c.streamer.parseChunk(e,!0)):setTimeout(c.resume,3)},this.aborted=function(){return h},this.abort=function(){h=!0,t.abort(),g.meta.aborted=!0,_(f.complete)&&f.complete(g),e=""}}function p(f){return f.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function b(f){var e,t=(f=f||{}).delimiter,r=f.newline,n=f.comments,i=f.step,a=f.preview,s=f.fastMode,c=e=void 0===f.quoteChar?'"':f.quoteChar;if(void 0!==f.escapeChar&&(c=f.escapeChar),("string"!=typeof t||-1<o.BAD_DELIMITERS.indexOf(t))&&(t=","),n===t)throw new Error("Comment character same as delimiter");!0===n?n="#":("string"!=typeof n||-1<o.BAD_DELIMITERS.indexOf(n))&&(n=!1),"\n"!==r&&"\r"!==r&&"\r\n"!==r&&(r="\n");var u=0,l=!1;this.parse=function(f,o,d){if("string"!=typeof f)throw new Error("Input must be a string");var h=f.length,b=t.length,m=r.length,g=n.length,y=_(i),v=[],w=[],E=[],A=u=0;if(!f)return B();if(s||!1!==s&&-1===f.indexOf(e)){for(var S=f.split(r),k=0;k<S.length;k++){if(E=S[k],u+=E.length,k!==S.length-1)u+=r.length;else if(d)return B();if(!n||E.substring(0,g)!==n){if(y){if(v=[],R(E.split(t)),D(),l)return B()}else R(E.split(t));if(a&&a<=k)return v=v.slice(0,a),B(!0)}}return B()}for(var M=f.indexOf(t,u),P=f.indexOf(r,u),x=new RegExp(p(c)+p(e),"g"),O=f.indexOf(e,u);;)if(f[u]!==e)if(n&&0===E.length&&f.substring(u,u+g)===n){if(-1===P)return B();u=P+m,P=f.indexOf(r,u),M=f.indexOf(t,u)}else if(-1!==M&&(M<P||-1===P))E.push(f.substring(u,M)),u=M+b,M=f.indexOf(t,u);else{if(-1===P)break;if(E.push(f.substring(u,P)),F(P+m),y&&(D(),l))return B();if(a&&v.length>=a)return B(!0)}else for(O=u,u++;;){if(-1===(O=f.indexOf(e,O+1)))return d||w.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:v.length,index:u}),C();if(O===h-1)return C(f.substring(u,O).replace(x,e));if(e!==c||f[O+1]!==c){if(e===c||0===O||f[O-1]!==c){-1!==M&&M<O+1&&(M=f.indexOf(t,O+1)),-1!==P&&P<O+1&&(P=f.indexOf(r,O+1));var N=I(-1===P?M:Math.min(M,P));if(f[O+1+N]===t){E.push(f.substring(u,O).replace(x,e)),f[u=O+1+N+b]!==e&&(O=f.indexOf(e,u)),M=f.indexOf(t,u),P=f.indexOf(r,u);break}var T=I(P);if(f.substring(O+1+T,O+1+T+m)===r){if(E.push(f.substring(u,O).replace(x,e)),F(O+1+T+m),M=f.indexOf(t,u),O=f.indexOf(e,u),y&&(D(),l))return B();if(a&&v.length>=a)return B(!0);break}w.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:v.length,index:u}),O++}}else O++}return C();function R(f){v.push(f),A=u}function I(e){var t=0;if(-1!==e){var r=f.substring(O+1,e);r&&""===r.trim()&&(t=r.length)}return t}function C(e){return d||(void 0===e&&(e=f.substring(u)),E.push(e),u=h,R(E),y&&D()),B()}function F(e){u=e,R(E),E=[],P=f.indexOf(r,u)}function B(f){return{data:v,errors:w,meta:{delimiter:t,linebreak:r,aborted:l,truncated:!!f,cursor:A+(o||0)}}}function D(){i(B()),v=[],w=[]}},this.abort=function(){l=!0},this.getCharIndex=function(){return u}}function m(f){var e=f.data,t=n[e.workerId],r=!1;if(e.error)t.userError(e.error,e.file);else if(e.results&&e.results.data){var i={abort:function(){r=!0,g(e.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(_(t.userStep)){for(var o=0;o<e.results.data.length&&(t.userStep({data:e.results.data[o],errors:e.results.errors,meta:e.results.meta},i),!r);o++);delete e.results}else _(t.userChunk)&&(t.userChunk(e.results,i,e.file),delete e.results)}e.finished&&!r&&g(e.workerId,e.results)}function g(f,e){var t=n[f];_(t.userComplete)&&t.userComplete(e),t.terminate(),delete n[f]}function y(){throw new Error("Not implemented.")}function v(f){if("object"!=typeof f||null===f)return f;var e=Array.isArray(f)?[]:{};for(var t in f)e[t]=v(f[t]);return e}function w(f,e){return function(){f.apply(e,arguments)}}function _(f){return"function"==typeof f}return r&&(e.onmessage=function(f){var t=f.data;if(void 0===o.WORKER_ID&&t&&(o.WORKER_ID=t.workerId),"string"==typeof t.input)e.postMessage({workerId:o.WORKER_ID,results:o.parse(t.input,t.config),finished:!0});else if(e.File&&t.input instanceof File||t.input instanceof Object){var r=o.parse(t.input,t.config);r&&e.postMessage({workerId:o.WORKER_ID,results:r,finished:!0})}}),(c.prototype=Object.create(s.prototype)).constructor=c,(u.prototype=Object.create(s.prototype)).constructor=u,(l.prototype=Object.create(l.prototype)).constructor=l,(d.prototype=Object.create(s.prototype)).constructor=d,o},void 0===(n="function"==typeof t?t.apply(e,r):t)||(f.exports=n)},4155:f=>{var e,t,r=f.exports={};function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function o(f){if(e===setTimeout)return setTimeout(f,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(f,0);try{return e(f,0)}catch(t){try{return e.call(null,f,0)}catch(t){return e.call(this,f,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:n}catch(f){e=n}try{t="function"==typeof clearTimeout?clearTimeout:i}catch(f){t=i}}();var a,s=[],c=!1,u=-1;function l(){c&&a&&(c=!1,a.length?s=a.concat(s):u=-1,s.length&&d())}function d(){if(!c){var f=o(l);c=!0;for(var e=s.length;e;){for(a=s,s=[];++u<e;)a&&a[u].run();u=-1,e=s.length}a=null,c=!1,function(f){if(t===clearTimeout)return clearTimeout(f);if((t===i||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(f);try{t(f)}catch(e){try{return t.call(null,f)}catch(e){return t.call(this,f)}}}(f)}}function h(f,e){this.fun=f,this.array=e}function p(){}r.nextTick=function(f){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];s.push(new h(f,e)),1!==s.length||c||o(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=p,r.addListener=p,r.once=p,r.off=p,r.removeListener=p,r.removeAllListeners=p,r.emit=p,r.prependListener=p,r.prependOnceListener=p,r.listeners=function(f){return[]},r.binding=function(f){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(f){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},7635:function(f){"use strict";!function(e){const t=2147483647;function r(f){const e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let t=1779033703,r=3144134277,n=1013904242,i=2773480762,o=1359893119,a=2600822924,s=528734635,c=1541459225;const u=new Uint32Array(64);function l(f){let l=0,d=f.length;for(;d>=64;){let h,p,b,m,g,y=t,v=r,w=n,_=i,E=o,A=a,S=s,k=c;for(p=0;p<16;p++)b=l+4*p,u[p]=(255&f[b])<<24|(255&f[b+1])<<16|(255&f[b+2])<<8|255&f[b+3];for(p=16;p<64;p++)h=u[p-2],m=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,h=u[p-15],g=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,u[p]=(m+u[p-7]|0)+(g+u[p-16]|0)|0;for(p=0;p<64;p++)m=(((E>>>6|E<<26)^(E>>>11|E<<21)^(E>>>25|E<<7))+(E&A^~E&S)|0)+(k+(e[p]+u[p]|0)|0)|0,g=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&v^y&w^v&w)|0,k=S,S=A,A=E,E=_+m|0,_=w,w=v,v=y,y=m+g|0;t=t+y|0,r=r+v|0,n=n+w|0,i=i+_|0,o=o+E|0,a=a+A|0,s=s+S|0,c=c+k|0,l+=64,d-=64}}l(f);let d,h=f.length%64,p=f.length/536870912|0,b=f.length<<3,m=h<56?56:120,g=f.slice(f.length-h,f.length);for(g.push(128),d=h+1;d<m;d++)g.push(0);return g.push(p>>>24&255),g.push(p>>>16&255),g.push(p>>>8&255),g.push(p>>>0&255),g.push(b>>>24&255),g.push(b>>>16&255),g.push(b>>>8&255),g.push(b>>>0&255),l(g),[t>>>24&255,t>>>16&255,t>>>8&255,t>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function n(f,e,t){f=f.length<=64?f:r(f);const n=64+e.length+4,i=new Array(n),o=new Array(64);let a,s=[];for(a=0;a<64;a++)i[a]=54;for(a=0;a<f.length;a++)i[a]^=f[a];for(a=0;a<e.length;a++)i[64+a]=e[a];for(a=n-4;a<n;a++)i[a]=0;for(a=0;a<64;a++)o[a]=92;for(a=0;a<f.length;a++)o[a]^=f[a];function c(){for(let f=n-1;f>=n-4;f--){if(i[f]++,i[f]<=255)return;i[f]=0}}for(;t>=32;)c(),s=s.concat(r(o.concat(r(i)))),t-=32;return t>0&&(c(),s=s.concat(r(o.concat(r(i))).slice(0,t))),s}function i(f,e,t,r,n){let i;for(c(f,16*(2*t-1),n,0,16),i=0;i<2*t;i++)s(f,16*i,n,16),a(n,r),c(n,0,f,e+16*i,16);for(i=0;i<t;i++)c(f,e+2*i*16,f,16*i,16);for(i=0;i<t;i++)c(f,e+16*(2*i+1),f,16*(i+t),16)}function o(f,e){return f<<e|f>>>32-e}function a(f,e){c(f,0,e,0,16);for(let f=8;f>0;f-=2)e[4]^=o(e[0]+e[12],7),e[8]^=o(e[4]+e[0],9),e[12]^=o(e[8]+e[4],13),e[0]^=o(e[12]+e[8],18),e[9]^=o(e[5]+e[1],7),e[13]^=o(e[9]+e[5],9),e[1]^=o(e[13]+e[9],13),e[5]^=o(e[1]+e[13],18),e[14]^=o(e[10]+e[6],7),e[2]^=o(e[14]+e[10],9),e[6]^=o(e[2]+e[14],13),e[10]^=o(e[6]+e[2],18),e[3]^=o(e[15]+e[11],7),e[7]^=o(e[3]+e[15],9),e[11]^=o(e[7]+e[3],13),e[15]^=o(e[11]+e[7],18),e[1]^=o(e[0]+e[3],7),e[2]^=o(e[1]+e[0],9),e[3]^=o(e[2]+e[1],13),e[0]^=o(e[3]+e[2],18),e[6]^=o(e[5]+e[4],7),e[7]^=o(e[6]+e[5],9),e[4]^=o(e[7]+e[6],13),e[5]^=o(e[4]+e[7],18),e[11]^=o(e[10]+e[9],7),e[8]^=o(e[11]+e[10],9),e[9]^=o(e[8]+e[11],13),e[10]^=o(e[9]+e[8],18),e[12]^=o(e[15]+e[14],7),e[13]^=o(e[12]+e[15],9),e[14]^=o(e[13]+e[12],13),e[15]^=o(e[14]+e[13],18);for(let t=0;t<16;++t)f[t]+=e[t]}function s(f,e,t,r){for(let n=0;n<r;n++)t[n]^=f[e+n]}function c(f,e,t,r,n){for(;n--;)t[r++]=f[e++]}function u(f){if(!f||"number"!=typeof f.length)return!1;for(let e=0;e<f.length;e++){const t=f[e];if("number"!=typeof t||t%1||t<0||t>=256)return!1}return!0}function l(f,e){if("number"!=typeof f||f%1)throw new Error("invalid "+e);return f}function d(f,e,r,o,a,d,h){if(r=l(r,"N"),o=l(o,"r"),a=l(a,"p"),d=l(d,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>t/128/o)throw new Error("N too large");if(o>t/128/a)throw new Error("r too large");if(!u(f))throw new Error("password must be an array or buffer");if(f=Array.prototype.slice.call(f),!u(e))throw new Error("salt must be an array or buffer");e=Array.prototype.slice.call(e);let p=n(f,e,128*a*o);const b=new Uint32Array(32*a*o);for(let f=0;f<b.length;f++){const e=4*f;b[f]=(255&p[e+3])<<24|(255&p[e+2])<<16|(255&p[e+1])<<8|(255&p[e+0])<<0}const m=new Uint32Array(64*o),g=new Uint32Array(32*o*r),y=32*o,v=new Uint32Array(16),w=new Uint32Array(16),_=a*r*2;let E,A,S=0,k=null,M=!1,P=0,x=0;const O=h?parseInt(1e3/o):4294967295,N="undefined"!=typeof setImmediate?setImmediate:setTimeout,T=function(){if(M)return h(new Error("cancelled"),S/_);let e;switch(P){case 0:A=32*x*o,c(b,A,m,0,y),P=1,E=0;case 1:e=r-E,e>O&&(e=O);for(let f=0;f<e;f++)c(m,0,g,(E+f)*y,y),i(m,y,o,v,w);if(E+=e,S+=e,h){const f=parseInt(1e3*S/_);if(f!==k){if(M=h(null,S/_),M)break;k=f}}if(E<r)break;E=0,P=2;case 2:e=r-E,e>O&&(e=O);for(let f=0;f<e;f++){const f=m[16*(2*o-1)]&r-1;s(g,f*y,m,y),i(m,y,o,v,w)}if(E+=e,S+=e,h){const f=parseInt(1e3*S/_);if(f!==k){if(M=h(null,S/_),M)break;k=f}}if(E<r)break;if(c(m,0,b,A,y),x++,x<a){P=0;break}p=[];for(let f=0;f<b.length;f++)p.push(b[f]>>0&255),p.push(b[f]>>8&255),p.push(b[f]>>16&255),p.push(b[f]>>24&255);const t=n(f,p,d);return h&&h(null,1,t),t}h&&N(T)};if(!h)for(;;){const f=T();if(null!=f)return f}T()}const h={scrypt:function(f,e,t,r,n,i,o){return new Promise((function(a,s){let c=0;o&&o(0),d(f,e,t,r,n,i,(function(f,e,t){if(f)s(f);else if(t)o&&1!==c&&o(1),a(new Uint8Array(t));else if(o&&e!==c)return c=e,o(e)}))}))},syncScrypt:function(f,e,t,r,n,i){return new Uint8Array(d(f,e,t,r,n,i))}};f.exports=h}()},7478:(f,e,t)=>{"use strict";var r=t(210),n=t(1924),i=t(631),o=r("%TypeError%"),a=r("%WeakMap%",!0),s=r("%Map%",!0),c=n("WeakMap.prototype.get",!0),u=n("WeakMap.prototype.set",!0),l=n("WeakMap.prototype.has",!0),d=n("Map.prototype.get",!0),h=n("Map.prototype.set",!0),p=n("Map.prototype.has",!0),b=function(f,e){for(var t,r=f;null!==(t=r.next);r=t)if(t.key===e)return r.next=t.next,t.next=f.next,f.next=t,t};f.exports=function(){var f,e,t,r={assert:function(f){if(!r.has(f))throw new o("Side channel does not contain "+i(f))},get:function(r){if(a&&r&&("object"==typeof r||"function"==typeof r)){if(f)return c(f,r)}else if(s){if(e)return d(e,r)}else if(t)return function(f,e){var t=b(f,e);return t&&t.value}(t,r)},has:function(r){if(a&&r&&("object"==typeof r||"function"==typeof r)){if(f)return l(f,r)}else if(s){if(e)return p(e,r)}else if(t)return function(f,e){return!!b(f,e)}(t,r);return!1},set:function(r,n){a&&r&&("object"==typeof r||"function"==typeof r)?(f||(f=new a),u(f,r,n)):s?(e||(e=new s),h(e,r,n)):(t||(t={key:{},next:null}),function(f,e,t){var r=b(f,e);r?r.value=t:f.next={key:e,next:f.next,value:t}}(t,r,n))}};return r}},7783:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(7162)),i=r(t(592)),o=r(t(8177));class a extends n.default{constructor(){super(),this.routes=[],this.openingViews=[],"undefined"!=typeof window&&void 0!==window.document&&window.addEventListener("popstate",(f=>this.check(null===f.state?{}:f.state)))}check(f){const e=decodeURIComponent(location.pathname.substring(1)),t=e.split("/");let r=!1;for(const{patterns:n,excludes:a,viewType:s}of this.routes){const c=void 0===f?{}:Object.assign({},f),u=this.openingViews.find((f=>f instanceof s));void 0!==n.find((f=>o.default.match(t,f,c)))&&void 0===a.find((f=>o.default.match(t,f)))?void 0===u?(this.openingViews.push(new s(c,e)),r=!0):u.changeParams(c,e):void 0!==u&&(u.close(),i.default.pull(this.openingViews,u))}!0===r&&this.fireEvent("go")}route(f,e,t=[]){"string"==typeof f&&(f=[f]),this.routes.push({patterns:f,excludes:t,viewType:e});const r=decodeURIComponent(location.pathname.substring(1)),n=r.split("/"),i={};void 0!==f.find((f=>o.default.match(n,f,i)))&&void 0===t.find((f=>o.default.match(n,f)))&&this.openingViews.push(new e(i,r))}go(f,e){location.pathname!==f&&(history.pushState(void 0,"",f),this.check(e))}goNoHistory(f,e){location.pathname!==f&&(history.replaceState(void 0,"",f),this.check(e))}waitAndGo(f,e){setTimeout((()=>this.go(f,e)))}refresh(){for(const f of this.openingViews.reverse())f.close();this.openingViews=[];const f=decodeURIComponent(location.pathname.substring(1)),e=f.split("/");for(const{patterns:t,excludes:r,viewType:n}of this.routes){const i={};void 0!==t.find((f=>o.default.match(e,f,i)))&&void 0===r.find((f=>o.default.match(e,f)))&&this.openingViews.push(new n(i,f))}}}e.default=new a},8177:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=new class{match(f,e,t){const r=e.split("/");for(const[e,n]of f.entries()){const i=r[e];if(void 0===i)return!1;if("**"===i)return!0;if(""!==n&&"{"===i[0]&&"}"===i[i.length-1])void 0!==t&&(t[i.substring(1,i.length-1)]=n);else if("*"!==i&&i!==n)return!1;if(e===f.length-1&&e<r.length-1&&""!==r[r.length-1])return!1}return!0}parse(f,e,t){const r=f.split("/");return this.match(r,e,t)}}},1513:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.SkyRouter=e.URIParser=void 0;var n=t(8177);Object.defineProperty(e,"URIParser",{enumerable:!0,get:function(){return r(n).default}});var i=t(7783);Object.defineProperty(e,"SkyRouter",{enumerable:!0,get:function(){return r(i).default}})},592:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=class{static pull(f,...e){for(const t of e){const e=f.indexOf(t);-1!==e&&f.splice(e,1)}}static insert(f,e,t){f.splice(e,0,t)}static random(f,e){return Math.floor(Math.random()*(e-f+1)+f)}static repeat(f,e){const t=[];for(let r=0;r<f;r+=1){const f=e(r);f instanceof Promise&&t.push(f)}if(t.length>0)return Promise.all(t)}}},7903:f=>{"use strict";function e(f){return function(f){if(Array.isArray(f))return t(f)}(f)||function(f){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(f))return Array.from(f)}(f)||function(f,e){if(!f)return;if("string"==typeof f)return t(f,e);var r=Object.prototype.toString.call(f).slice(8,-1);"Object"===r&&f.constructor&&(r=f.constructor.name);if("Map"===r||"Set"===r)return Array.from(f);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return t(f,e)}(f)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(f,e){(null==e||e>f.length)&&(e=f.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=f[t];return r}function r(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach((function(f){r.prototype[f]=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this._defaults.push({fn:f,args:t}),this}})),r.prototype._setDefaults=function(f){this._defaults.forEach((function(t){f[t.fn].apply(f,e(t.args))}))},f.exports=r},569:(f,e,t)=>{"use strict";function r(f){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},r(f)}var n;"undefined"!=typeof window?n=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),n=void 0):n=self;var i=t(8767),o=t(4445),a=t(5784),s=t(8899),c=t(4960),u=t(1097),l=t(7903);function d(){}f.exports=function(f,t){return"function"==typeof t?new e.Request("GET",f).end(t):1===arguments.length?new e.Request("GET",f):new e.Request(f,t)};var h=e=f.exports;e.Request=w,h.getXHR=function(){if(n.XMLHttpRequest&&(!n.location||"file:"!==n.location.protocol||!n.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(f){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(f){return f.trim()}:function(f){return f.replace(/(^\s*|\s*$)/g,"")};function b(f){if(!c(f))return f;var e=[];for(var t in f)Object.prototype.hasOwnProperty.call(f,t)&&m(e,t,f[t]);return e.join("&")}function m(f,e,t){if(void 0!==t)if(null!==t)if(Array.isArray(t))t.forEach((function(t){m(f,e,t)}));else if(c(t))for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&m(f,"".concat(e,"[").concat(r,"]"),t[r]);else f.push(encodeURI(e)+"="+encodeURIComponent(t));else f.push(encodeURI(e))}function g(f){for(var e,t,r={},n=f.split("&"),i=0,o=n.length;i<o;++i)-1===(t=(e=n[i]).indexOf("="))?r[decodeURIComponent(e)]="":r[decodeURIComponent(e.slice(0,t))]=decodeURIComponent(e.slice(t+1));return r}function y(f){return/[/+]json($|[^-\w])/i.test(f)}function v(f){this.req=f,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var e=this.xhr.status;1223===e&&(e=204),this._setStatusProperties(e),this.headers=function(f){for(var e,t,r,n,i=f.split(/\r?\n/),o={},a=0,s=i.length;a<s;++a)-1!==(e=(t=i[a]).indexOf(":"))&&(r=t.slice(0,e).toLowerCase(),n=p(t.slice(e+1)),o[r]=n);return o}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&f._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function w(f,e){var t=this;this._query=this._query||[],this.method=f,this.url=e,this.header={},this._header={},this.on("end",(function(){var f,e=null,r=null;try{r=new v(t)}catch(f){return(e=new Error("Parser is unable to parse the response")).parse=!0,e.original=f,t.xhr?(e.rawResponse=void 0===t.xhr.responseType?t.xhr.responseText:t.xhr.response,e.status=t.xhr.status?t.xhr.status:null,e.statusCode=e.status):(e.rawResponse=null,e.status=null),t.callback(e)}t.emit("response",r);try{t._isResponseOK(r)||(f=new Error(r.statusText||r.text||"Unsuccessful HTTP response"))}catch(e){f=e}f?(f.original=e,f.response=r,f.status=r.status,t.callback(f,r)):t.callback(null,r)}))}function _(f,e,t){var r=h("DELETE",f);return"function"==typeof e&&(t=e,e=null),e&&r.send(e),t&&r.end(t),r}h.serializeObject=b,h.parseString=g,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":a.stringify,"application/json":o},h.parse={"application/x-www-form-urlencoded":g,"application/json":JSON.parse},u(v.prototype),v.prototype._parseBody=function(f){var e=h.parse[this.type];return this.req._parser?this.req._parser(this,f):(!e&&y(this.type)&&(e=h.parse["application/json"]),e&&f&&(f.length>0||f instanceof Object)?e(f):null)},v.prototype.toError=function(){var f=this.req,e=f.method,t=f.url,r="cannot ".concat(e," ").concat(t," (").concat(this.status,")"),n=new Error(r);return n.status=this.status,n.method=e,n.url=t,n},h.Response=v,i(w.prototype),s(w.prototype),w.prototype.type=function(f){return this.set("Content-Type",h.types[f]||f),this},w.prototype.accept=function(f){return this.set("Accept",h.types[f]||f),this},w.prototype.auth=function(f,e,t){1===arguments.length&&(e=""),"object"===r(e)&&null!==e&&(t=e,e=""),t||(t={type:"function"==typeof btoa?"basic":"auto"});var n=function(f){if("function"==typeof btoa)return btoa(f);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(f,e,t,n)},w.prototype.query=function(f){return"string"!=typeof f&&(f=b(f)),f&&this._query.push(f),this},w.prototype.attach=function(f,e,t){if(e){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(f,e,t||e.name)}return this},w.prototype._getFormData=function(){return this._formData||(this._formData=new n.FormData),this._formData},w.prototype.callback=function(f,e){if(this._shouldRetry(f,e))return this._retry();var t=this._callback;this.clearTimeout(),f&&(this._maxRetries&&(f.retries=this._retries-1),this.emit("error",f)),t(f,e)},w.prototype.crossDomainError=function(){var f=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");f.crossDomain=!0,f.status=this.status,f.method=this.method,f.url=this.url,this.callback(f)},w.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},w.prototype.ca=w.prototype.agent,w.prototype.buffer=w.prototype.ca,w.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},w.prototype.pipe=w.prototype.write,w.prototype._isHost=function(f){return f&&"object"===r(f)&&!Array.isArray(f)&&"[object Object]"!==Object.prototype.toString.call(f)},w.prototype.end=function(f){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=f||d,this._finalizeQueryString(),this._end()},w.prototype._setUploadTimeout=function(){var f=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout((function(){f._timeoutError("Upload timeout of ",f._uploadTimeout,"ETIMEDOUT")}),this._uploadTimeout))},w.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var f=this;this.xhr=h.getXHR();var e=this.xhr,t=this._formData||this._data;this._setTimeouts(),e.onreadystatechange=function(){var t=e.readyState;if(t>=2&&f._responseTimeoutTimer&&clearTimeout(f._responseTimeoutTimer),4===t){var r;try{r=e.status}catch(f){r=0}if(!r){if(f.timedout||f._aborted)return;return f.crossDomainError()}f.emit("end")}};var r=function(e,t){t.total>0&&(t.percent=t.loaded/t.total*100,100===t.percent&&clearTimeout(f._uploadTimeoutTimer)),t.direction=e,f.emit("progress",t)};if(this.hasListeners("progress"))try{e.addEventListener("progress",r.bind(null,"download")),e.upload&&e.upload.addEventListener("progress",r.bind(null,"upload"))}catch(f){}e.upload&&this._setUploadTimeout();try{this.username&&this.password?e.open(this.method,this.url,!0,this.username,this.password):e.open(this.method,this.url,!0)}catch(f){return this.callback(f)}if(this._withCredentials&&(e.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof t&&!this._isHost(t)){var n=this._header["content-type"],i=this._serializer||h.serialize[n?n.split(";")[0]:""];!i&&y(n)&&(i=h.serialize["application/json"]),i&&(t=i(t))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&e.setRequestHeader(o,this.header[o]);this._responseType&&(e.responseType=this._responseType),this.emit("request",this),e.send(void 0===t?null:t)},h.agent=function(){return new l},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach((function(f){l.prototype[f.toLowerCase()]=function(e,t){var r=new h.Request(f,e);return this._setDefaults(r),t&&r.end(t),r}})),l.prototype.del=l.prototype.delete,h.get=function(f,e,t){var r=h("GET",f);return"function"==typeof e&&(t=e,e=null),e&&r.query(e),t&&r.end(t),r},h.head=function(f,e,t){var r=h("HEAD",f);return"function"==typeof e&&(t=e,e=null),e&&r.query(e),t&&r.end(t),r},h.options=function(f,e,t){var r=h("OPTIONS",f);return"function"==typeof e&&(t=e,e=null),e&&r.send(e),t&&r.end(t),r},h.del=_,h.delete=_,h.patch=function(f,e,t){var r=h("PATCH",f);return"function"==typeof e&&(t=e,e=null),e&&r.send(e),t&&r.end(t),r},h.post=function(f,e,t){var r=h("POST",f);return"function"==typeof e&&(t=e,e=null),e&&r.send(e),t&&r.end(t),r},h.put=function(f,e,t){var r=h("PUT",f);return"function"==typeof e&&(t=e,e=null),e&&r.send(e),t&&r.end(t),r}},4960:f=>{"use strict";function e(f){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},e(f)}f.exports=function(f){return null!==f&&"object"===e(f)}},8899:(f,e,t)=>{"use strict";function r(f){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},r(f)}var n=t(4960);function i(f){if(f)return function(f){for(var e in i.prototype)Object.prototype.hasOwnProperty.call(i.prototype,e)&&(f[e]=i.prototype[e]);return f}(f)}f.exports=i,i.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},i.prototype.parse=function(f){return this._parser=f,this},i.prototype.responseType=function(f){return this._responseType=f,this},i.prototype.serialize=function(f){return this._serializer=f,this},i.prototype.timeout=function(f){if(!f||"object"!==r(f))return this._timeout=f,this._responseTimeout=0,this._uploadTimeout=0,this;for(var e in f)if(Object.prototype.hasOwnProperty.call(f,e))switch(e){case"deadline":this._timeout=f.deadline;break;case"response":this._responseTimeout=f.response;break;case"upload":this._uploadTimeout=f.upload;break;default:console.warn("Unknown timeout option",e)}return this},i.prototype.retry=function(f,e){return 0!==arguments.length&&!0!==f||(f=1),f<=0&&(f=0),this._maxRetries=f,this._retries=0,this._retryCallback=e,this};var o=new Set(["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"]),a=new Set([408,413,429,500,502,503,504,521,522,524]);i.prototype._shouldRetry=function(f,e){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var t=this._retryCallback(f,e);if(!0===t)return!0;if(!1===t)return!1}catch(f){console.error(f)}if(e&&e.status&&a.has(e.status))return!0;if(f){if(f.code&&o.has(f.code))return!0;if(f.timeout&&"ECONNABORTED"===f.code)return!0;if(f.crossDomain)return!0}return!1},i.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},i.prototype.then=function(f,e){var t=this;if(!this._fullfilledPromise){var r=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise((function(f,e){r.on("abort",(function(){if(!(t._maxRetries&&t._maxRetries>t._retries))if(t.timedout&&t.timedoutError)e(t.timedoutError);else{var f=new Error("Aborted");f.code="ABORTED",f.status=t.status,f.method=t.method,f.url=t.url,e(f)}})),r.end((function(t,r){t?e(t):f(r)}))}))}return this._fullfilledPromise.then(f,e)},i.prototype.catch=function(f){return this.then(void 0,f)},i.prototype.use=function(f){return f(this),this},i.prototype.ok=function(f){if("function"!=typeof f)throw new Error("Callback required");return this._okCallback=f,this},i.prototype._isResponseOK=function(f){return!!f&&(this._okCallback?this._okCallback(f):f.status>=200&&f.status<300)},i.prototype.get=function(f){return this._header[f.toLowerCase()]},i.prototype.getHeader=i.prototype.get,i.prototype.set=function(f,e){if(n(f)){for(var t in f)Object.prototype.hasOwnProperty.call(f,t)&&this.set(t,f[t]);return this}return this._header[f.toLowerCase()]=e,this.header[f]=e,this},i.prototype.unset=function(f){return delete this._header[f.toLowerCase()],delete this.header[f],this},i.prototype.field=function(f,e){if(null==f)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(n(f)){for(var t in f)Object.prototype.hasOwnProperty.call(f,t)&&this.field(t,f[t]);return this}if(Array.isArray(e)){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&this.field(f,e[r]);return this}if(null==e)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof e&&(e=String(e)),this._getFormData().append(f,e),this},i.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},i.prototype._auth=function(f,e,t,r){switch(t.type){case"basic":this.set("Authorization","Basic ".concat(r("".concat(f,":").concat(e))));break;case"auto":this.username=f,this.password=e;break;case"bearer":this.set("Authorization","Bearer ".concat(f))}return this},i.prototype.withCredentials=function(f){return void 0===f&&(f=!0),this._withCredentials=f,this},i.prototype.redirects=function(f){return this._maxRedirects=f,this},i.prototype.maxResponseSize=function(f){if("number"!=typeof f)throw new TypeError("Invalid argument");return this._maxResponseSize=f,this},i.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},i.prototype.send=function(f){var e=n(f),t=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(e&&!this._data)Array.isArray(f)?this._data=[]:this._isHost(f)||(this._data={});else if(f&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(e&&n(this._data))for(var r in f)Object.prototype.hasOwnProperty.call(f,r)&&(this._data[r]=f[r]);else"string"==typeof f?(t||this.type("form"),(t=this._header["content-type"])&&(t=t.toLowerCase().trim()),this._data="application/x-www-form-urlencoded"===t?this._data?"".concat(this._data,"&").concat(f):f:(this._data||"")+f):this._data=f;return!e||this._isHost(f)||t||this.type("json"),this},i.prototype.sortQuery=function(f){return this._sort=void 0===f||f,this},i.prototype._finalizeQueryString=function(){var f=this._query.join("&");if(f&&(this.url+=(this.url.includes("?")?"&":"?")+f),this._query.length=0,this._sort){var e=this.url.indexOf("?");if(e>=0){var t=this.url.slice(e+1).split("&");"function"==typeof this._sort?t.sort(this._sort):t.sort(),this.url=this.url.slice(0,e)+"?"+t.join("&")}}},i.prototype._appendQueryString=function(){console.warn("Unsupported")},i.prototype._timeoutError=function(f,e,t){if(!this._aborted){var r=new Error("".concat(f+e,"ms exceeded"));r.timeout=e,r.code="ECONNABORTED",r.errno=t,this.timedout=!0,this.timedoutError=r,this.abort(),this.callback(r)}},i.prototype._setTimeouts=function(){var f=this;this._timeout&&!this._timer&&(this._timer=setTimeout((function(){f._timeoutError("Timeout of ",f._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((function(){f._timeoutError("Response timeout of ",f._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},1097:(f,e,t)=>{"use strict";var r=t(4506);function n(f){if(f)return function(f){for(var e in n.prototype)Object.prototype.hasOwnProperty.call(n.prototype,e)&&(f[e]=n.prototype[e]);return f}(f)}f.exports=n,n.prototype.get=function(f){return this.header[f.toLowerCase()]},n.prototype._setHeaderProperties=function(f){var e=f["content-type"]||"";this.type=r.type(e);var t=r.params(e);for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(this[n]=t[n]);this.links={};try{f.link&&(this.links=r.parseLinks(f.link))}catch(f){}},n.prototype._setStatusProperties=function(f){var e=f/100|0;this.statusCode=f,this.status=this.statusCode,this.statusType=e,this.info=1===e,this.ok=2===e,this.redirect=3===e,this.clientError=4===e,this.serverError=5===e,this.error=(4===e||5===e)&&this.toError(),this.created=201===f,this.accepted=202===f,this.noContent=204===f,this.badRequest=400===f,this.unauthorized=401===f,this.notAcceptable=406===f,this.forbidden=403===f,this.notFound=404===f,this.unprocessableEntity=422===f}},4506:(f,e)=>{"use strict";function t(f,e){var t;if("undefined"==typeof Symbol||null==f[Symbol.iterator]){if(Array.isArray(f)||(t=function(f,e){if(!f)return;if("string"==typeof f)return r(f,e);var t=Object.prototype.toString.call(f).slice(8,-1);"Object"===t&&f.constructor&&(t=f.constructor.name);if("Map"===t||"Set"===t)return Array.from(f);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return r(f,e)}(f))||e&&f&&"number"==typeof f.length){t&&(f=t);var n=0,i=function(){};return{s:i,n:function(){return n>=f.length?{done:!0}:{done:!1,value:f[n++]}},e:function(f){throw f},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){t=f[Symbol.iterator]()},n:function(){var f=t.next();return a=f.done,f},e:function(f){s=!0,o=f},f:function(){try{a||null==t.return||t.return()}finally{if(s)throw o}}}}function r(f,e){(null==e||e>f.length)&&(e=f.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=f[t];return r}e.type=function(f){return f.split(/ *; */).shift()},e.params=function(f){var e,r={},n=t(f.split(/ *; */));try{for(n.s();!(e=n.n()).done;){var i=e.value.split(/ *= */),o=i.shift(),a=i.shift();o&&a&&(r[o]=a)}}catch(f){n.e(f)}finally{n.f()}return r},e.parseLinks=function(f){var e,r={},n=t(f.split(/ *, */));try{for(n.s();!(e=n.n()).done;){var i=e.value.split(/ *; */),o=i[0].slice(1,-1);r[i[1].split(/ *= */)[1].slice(1,-1)]=o}}catch(f){n.e(f)}finally{n.f()}return r},e.cleanHeader=function(f,e){return delete f["content-type"],delete f["content-length"],delete f["transfer-encoding"],delete f.host,e&&(delete f.authorization,delete f.cookie),f}},1737:f=>{"use strict";var e=String.prototype.replace,t=/%20/g,r="RFC1738",n="RFC3986";f.exports={default:n,formatters:{RFC1738:function(f){return e.call(f,t,"+")},RFC3986:function(f){return String(f)}},RFC1738:r,RFC3986:n}},5784:(f,e,t)=>{"use strict";var r=t(2457),n=t(4746),i=t(1737);f.exports={formats:i,parse:n,stringify:r}},4746:(f,e,t)=>{"use strict";var r=t(8052),n=Object.prototype.hasOwnProperty,i=Array.isArray,o={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},a=function(f){return f.replace(/&#(\d+);/g,(function(f,e){return String.fromCharCode(parseInt(e,10))}))},s=function(f,e){return f&&"string"==typeof f&&e.comma&&f.indexOf(",")>-1?f.split(","):f},c=function(f,e,t,r){if(f){var i=t.allowDots?f.replace(/\.([^.[]+)/g,"[$1]"):f,o=/(\[[^[\]]*])/g,a=t.depth>0&&/(\[[^[\]]*])/.exec(i),c=a?i.slice(0,a.index):i,u=[];if(c){if(!t.plainObjects&&n.call(Object.prototype,c)&&!t.allowPrototypes)return;u.push(c)}for(var l=0;t.depth>0&&null!==(a=o.exec(i))&&l<t.depth;){if(l+=1,!t.plainObjects&&n.call(Object.prototype,a[1].slice(1,-1))&&!t.allowPrototypes)return;u.push(a[1])}return a&&u.push("["+i.slice(a.index)+"]"),function(f,e,t,r){for(var n=r?e:s(e,t),i=f.length-1;i>=0;--i){var o,a=f[i];if("[]"===a&&t.parseArrays)o=[].concat(n);else{o=t.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,u=parseInt(c,10);t.parseArrays||""!==c?!isNaN(u)&&a!==c&&String(u)===c&&u>=0&&t.parseArrays&&u<=t.arrayLimit?(o=[])[u]=n:o[c]=n:o={0:n}}n=o}return n}(u,e,t,r)}};f.exports=function(f,e){var t=function(f){if(!f)return o;if(null!==f.decoder&&void 0!==f.decoder&&"function"!=typeof f.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==f.charset&&"utf-8"!==f.charset&&"iso-8859-1"!==f.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var e=void 0===f.charset?o.charset:f.charset;return{allowDots:void 0===f.allowDots?o.allowDots:!!f.allowDots,allowPrototypes:"boolean"==typeof f.allowPrototypes?f.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"==typeof f.allowSparse?f.allowSparse:o.allowSparse,arrayLimit:"number"==typeof f.arrayLimit?f.arrayLimit:o.arrayLimit,charset:e,charsetSentinel:"boolean"==typeof f.charsetSentinel?f.charsetSentinel:o.charsetSentinel,comma:"boolean"==typeof f.comma?f.comma:o.comma,decoder:"function"==typeof f.decoder?f.decoder:o.decoder,delimiter:"string"==typeof f.delimiter||r.isRegExp(f.delimiter)?f.delimiter:o.delimiter,depth:"number"==typeof f.depth||!1===f.depth?+f.depth:o.depth,ignoreQueryPrefix:!0===f.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof f.interpretNumericEntities?f.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"==typeof f.parameterLimit?f.parameterLimit:o.parameterLimit,parseArrays:!1!==f.parseArrays,plainObjects:"boolean"==typeof f.plainObjects?f.plainObjects:o.plainObjects,strictNullHandling:"boolean"==typeof f.strictNullHandling?f.strictNullHandling:o.strictNullHandling}}(e);if(""===f||null==f)return t.plainObjects?Object.create(null):{};for(var u="string"==typeof f?function(f,e){var t,c={},u=e.ignoreQueryPrefix?f.replace(/^\?/,""):f,l=e.parameterLimit===1/0?void 0:e.parameterLimit,d=u.split(e.delimiter,l),h=-1,p=e.charset;if(e.charsetSentinel)for(t=0;t<d.length;++t)0===d[t].indexOf("utf8=")&&("utf8=%E2%9C%93"===d[t]?p="utf-8":"utf8=%26%2310003%3B"===d[t]&&(p="iso-8859-1"),h=t,t=d.length);for(t=0;t<d.length;++t)if(t!==h){var b,m,g=d[t],y=g.indexOf("]="),v=-1===y?g.indexOf("="):y+1;-1===v?(b=e.decoder(g,o.decoder,p,"key"),m=e.strictNullHandling?null:""):(b=e.decoder(g.slice(0,v),o.decoder,p,"key"),m=r.maybeMap(s(g.slice(v+1),e),(function(f){return e.decoder(f,o.decoder,p,"value")}))),m&&e.interpretNumericEntities&&"iso-8859-1"===p&&(m=a(m)),g.indexOf("[]=")>-1&&(m=i(m)?[m]:m),n.call(c,b)?c[b]=r.combine(c[b],m):c[b]=m}return c}(f,t):f,l=t.plainObjects?Object.create(null):{},d=Object.keys(u),h=0;h<d.length;++h){var p=d[h],b=c(p,u[p],t,"string"==typeof f);l=r.merge(l,b,t)}return!0===t.allowSparse?l:r.compact(l)}},2457:(f,e,t)=>{"use strict";var r=t(7478),n=t(8052),i=t(1737),o=Object.prototype.hasOwnProperty,a={brackets:function(f){return f+"[]"},comma:"comma",indices:function(f,e){return f+"["+e+"]"},repeat:function(f){return f}},s=Array.isArray,c=Array.prototype.push,u=function(f,e){c.apply(f,s(e)?e:[e])},l=Date.prototype.toISOString,d=i.default,h={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:n.encode,encodeValuesOnly:!1,format:d,formatter:i.formatters[d],indices:!1,serializeDate:function(f){return l.call(f)},skipNulls:!1,strictNullHandling:!1},p=function f(e,t,i,o,a,c,l,d,p,b,m,g,y,v,w){var _,E=e;if(w.has(e))throw new RangeError("Cyclic object value");if("function"==typeof l?E=l(t,E):E instanceof Date?E=b(E):"comma"===i&&s(E)&&(E=n.maybeMap(E,(function(f){return f instanceof Date?b(f):f}))),null===E){if(o)return c&&!y?c(t,h.encoder,v,"key",m):t;E=""}if("string"==typeof(_=E)||"number"==typeof _||"boolean"==typeof _||"symbol"==typeof _||"bigint"==typeof _||n.isBuffer(E))return c?[g(y?t:c(t,h.encoder,v,"key",m))+"="+g(c(E,h.encoder,v,"value",m))]:[g(t)+"="+g(String(E))];var A,S=[];if(void 0===E)return S;if("comma"===i&&s(E))A=[{value:E.length>0?E.join(",")||null:void 0}];else if(s(l))A=l;else{var k=Object.keys(E);A=d?k.sort(d):k}for(var M=0;M<A.length;++M){var P=A[M],x="object"==typeof P&&void 0!==P.value?P.value:E[P];if(!a||null!==x){var O=s(E)?"function"==typeof i?i(t,P):t:t+(p?"."+P:"["+P+"]");w.set(e,!0);var N=r();u(S,f(x,O,i,o,a,c,l,d,p,b,m,g,y,v,N))}}return S};f.exports=function(f,e){var t,n=f,c=function(f){if(!f)return h;if(null!==f.encoder&&void 0!==f.encoder&&"function"!=typeof f.encoder)throw new TypeError("Encoder has to be a function.");var e=f.charset||h.charset;if(void 0!==f.charset&&"utf-8"!==f.charset&&"iso-8859-1"!==f.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=i.default;if(void 0!==f.format){if(!o.call(i.formatters,f.format))throw new TypeError("Unknown format option provided.");t=f.format}var r=i.formatters[t],n=h.filter;return("function"==typeof f.filter||s(f.filter))&&(n=f.filter),{addQueryPrefix:"boolean"==typeof f.addQueryPrefix?f.addQueryPrefix:h.addQueryPrefix,allowDots:void 0===f.allowDots?h.allowDots:!!f.allowDots,charset:e,charsetSentinel:"boolean"==typeof f.charsetSentinel?f.charsetSentinel:h.charsetSentinel,delimiter:void 0===f.delimiter?h.delimiter:f.delimiter,encode:"boolean"==typeof f.encode?f.encode:h.encode,encoder:"function"==typeof f.encoder?f.encoder:h.encoder,encodeValuesOnly:"boolean"==typeof f.encodeValuesOnly?f.encodeValuesOnly:h.encodeValuesOnly,filter:n,format:t,formatter:r,serializeDate:"function"==typeof f.serializeDate?f.serializeDate:h.serializeDate,skipNulls:"boolean"==typeof f.skipNulls?f.skipNulls:h.skipNulls,sort:"function"==typeof f.sort?f.sort:null,strictNullHandling:"boolean"==typeof f.strictNullHandling?f.strictNullHandling:h.strictNullHandling}}(e);"function"==typeof c.filter?n=(0,c.filter)("",n):s(c.filter)&&(t=c.filter);var l,d=[];if("object"!=typeof n||null===n)return"";l=e&&e.arrayFormat in a?e.arrayFormat:e&&"indices"in e?e.indices?"indices":"repeat":"indices";var b=a[l];t||(t=Object.keys(n)),c.sort&&t.sort(c.sort);for(var m=r(),g=0;g<t.length;++g){var y=t[g];c.skipNulls&&null===n[y]||u(d,p(n[y],y,b,c.strictNullHandling,c.skipNulls,c.encode?c.encoder:null,c.filter,c.sort,c.allowDots,c.serializeDate,c.format,c.formatter,c.encodeValuesOnly,c.charset,m))}var v=d.join(c.delimiter),w=!0===c.addQueryPrefix?"?":"";return c.charsetSentinel&&("iso-8859-1"===c.charset?w+="utf8=%26%2310003%3B&":w+="utf8=%E2%9C%93&"),v.length>0?w+v:""}},8052:(f,e,t)=>{"use strict";var r=t(1737),n=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var f=[],e=0;e<256;++e)f.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return f}(),a=function(f,e){for(var t=e&&e.plainObjects?Object.create(null):{},r=0;r<f.length;++r)void 0!==f[r]&&(t[r]=f[r]);return t};f.exports={arrayToObject:a,assign:function(f,e){return Object.keys(e).reduce((function(f,t){return f[t]=e[t],f}),f)},combine:function(f,e){return[].concat(f,e)},compact:function(f){for(var e=[{obj:{o:f},prop:"o"}],t=[],r=0;r<e.length;++r)for(var n=e[r],o=n.obj[n.prop],a=Object.keys(o),s=0;s<a.length;++s){var c=a[s],u=o[c];"object"==typeof u&&null!==u&&-1===t.indexOf(u)&&(e.push({obj:o,prop:c}),t.push(u))}return function(f){for(;f.length>1;){var e=f.pop(),t=e.obj[e.prop];if(i(t)){for(var r=[],n=0;n<t.length;++n)void 0!==t[n]&&r.push(t[n]);e.obj[e.prop]=r}}}(e),f},decode:function(f,e,t){var r=f.replace(/\+/g," ");if("iso-8859-1"===t)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(f){return r}},encode:function(f,e,t,n,i){if(0===f.length)return f;var a=f;if("symbol"==typeof f?a=Symbol.prototype.toString.call(f):"string"!=typeof f&&(a=String(f)),"iso-8859-1"===t)return escape(a).replace(/%u[0-9a-f]{4}/gi,(function(f){return"%26%23"+parseInt(f.slice(2),16)+"%3B"}));for(var s="",c=0;c<a.length;++c){var u=a.charCodeAt(c);45===u||46===u||95===u||126===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||i===r.RFC1738&&(40===u||41===u)?s+=a.charAt(c):u<128?s+=o[u]:u<2048?s+=o[192|u>>6]+o[128|63&u]:u<55296||u>=57344?s+=o[224|u>>12]+o[128|u>>6&63]+o[128|63&u]:(c+=1,u=65536+((1023&u)<<10|1023&a.charCodeAt(c)),s+=o[240|u>>18]+o[128|u>>12&63]+o[128|u>>6&63]+o[128|63&u])}return s},isBuffer:function(f){return!(!f||"object"!=typeof f)&&!!(f.constructor&&f.constructor.isBuffer&&f.constructor.isBuffer(f))},isRegExp:function(f){return"[object RegExp]"===Object.prototype.toString.call(f)},maybeMap:function(f,e){if(i(f)){for(var t=[],r=0;r<f.length;r+=1)t.push(e(f[r]));return t}return e(f)},merge:function f(e,t,r){if(!t)return e;if("object"!=typeof t){if(i(e))e.push(t);else{if(!e||"object"!=typeof e)return[e,t];(r&&(r.plainObjects||r.allowPrototypes)||!n.call(Object.prototype,t))&&(e[t]=!0)}return e}if(!e||"object"!=typeof e)return[e].concat(t);var o=e;return i(e)&&!i(t)&&(o=a(e,r)),i(e)&&i(t)?(t.forEach((function(t,i){if(n.call(e,i)){var o=e[i];o&&"object"==typeof o&&t&&"object"==typeof t?e[i]=f(o,t,r):e.push(t)}else e[i]=t})),e):Object.keys(t).reduce((function(e,i){var o=t[i];return n.call(e,i)?e[i]=f(e[i],o,r):e[i]=o,e}),o)}}},1659:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(1206)),i=r(t(1293)),o=t(1513),a=r(t(2048));e.default=new class{constructor(){this.bowser=n.default.getParser(window.navigator.userAgent),this.store=new a.default("__BROWSER_INFO_STORE")}get language(){let f=this.store.get("lang");return void 0===f&&(f=navigator.language),-1!==f.indexOf("-")&&"zh-TW"!==f&&"zh-CN"!==f&&(f=f.substring(0,f.indexOf("-"))),f}set language(f){this.store.set("lang",f),i.default.language=f}changeLanguage(f){this.language=f,o.SkyRouter.refresh()}}},5154:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=new class{shortenAddress(f){return`${f.substring(0,6)}...${f.substring(38)}`}displayBlockDuration(f){if(f<0)return"0s";let e=f;const t=Math.floor(e/86400);e-=86400*t;const r=Math.floor(e/3600);e-=3600*r;const n=Math.floor(e/60);return e-=60*n,0!==t?`${t}d ${r}h ${n}m ${e}s`:0!==r?`${r}h ${n}m ${e}s`:0!==n?`${n}m ${e}s`:`${e}s`}numberWithCommas(f,e=3){const t=String(+(+f).toFixed(e)).split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}}},2048:(f,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default=class{constructor(f){this.name=f}set(f,e,t=!1){(!0===t?localStorage:sessionStorage).setItem(`${this.name}/${f}`,JSON.stringify(e)),(!0===t?sessionStorage:localStorage).removeItem(`${this.name}/${f}`)}get(f,e){let t=sessionStorage.getItem(`${this.name}/${f}`);return null===t&&(t=localStorage.getItem(`${this.name}/${f}`),null===t)?e:null===t?void 0:JSON.parse(t,((f,e)=>{if(!0===Array.isArray(e))for(const[f,t]of e.entries())null===t&&(e[f]=void 0);return e}))}checkPermanently(f){return null!==localStorage.getItem(`${this.name}/${f}`)}delete(f){sessionStorage.removeItem(`${this.name}/${f}`),localStorage.removeItem(`${this.name}/${f}`)}}},2268:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(5465)),i=r(t(7283));class o extends i.default{constructor(){super("0x1dA9E7adfB6817D42b1c9a5321992B1EF97701Ab",n.default.abi)}}e.default=new o},7283:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(7162)),i=r(t(9134)),o=r(t(3302)),a=r(t(7809));class s extends n.default{constructor(f,e){super(),this.address=f,this.abi=e,this.contract=o.default.createContract(f,e)}findMethodABI(f){return this.abi.filter((e=>e.name===f&&"function"===e.type))[0]}async loadExtWalletContract(){if(8217===await i.default.loadChainId())return!0!==await i.default.connected()&&await i.default.connect(),void 0===this.walletContract&&(this.walletContract=i.default.createContract(this.address,this.abi)),this.walletContract;this.fireEvent("wrongNetwork"),console.error("Wrong Network")}async runMethod(f,...e){return await this.contract.methods[f](...e).call()}async runWalletMethod(f,...e){if(!0!==i.default.installed)return alert("카이카스가 필요합니다. 카이카스를 설치해주시기 바랍니다."),new Promise((()=>{}));{const t=await a.default.loadAddress(),r=await this.loadExtWalletContract();await(r?.methods[f](...e).send({from:t,gas:15e5}))}}async runWalletMethodWithValue(f,e,...t){if(!0!==i.default.installed)return alert("카이카스가 필요합니다. 카이카스를 설치해주시기 바랍니다."),new Promise((()=>{}));{const r=await a.default.loadAddress(),n=await this.loadExtWalletContract();await(n?.methods[e](...t).send({from:r,gas:15e5,value:f}))}}}e.default=s},7350:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(833),i=r(t(2387)),o=r(t(7283));class a extends o.default{constructor(){super("0x7D197D87Aa79E27bcdc3a62f819329deC6F81Ec2",i.default.abi)}async airdropAmount(){return n.BigNumber.from(await this.runMethod("airdropAmount"))}async season(){return n.BigNumber.from(await this.runMethod("season"))}async dropped(f,e){return await this.runMethod("dropped",f,e)}async airdrop(){await this.runWalletMethod("airdrop")}}e.default=new a},7665:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(4890)),i=r(t(9250));class o extends i.default{constructor(){super("0x9CFc059F64D664F92f3d0329844B8ccca4E5215B",n.default.abi)}}e.default=new o},1160:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(7809)),i=r(t(4212)),o=r(t(7283)),a=r(t(7665));class s extends o.default{constructor(){super("0xcefaBd4B6544422D74a4645CDd0a3624E36661AA",i.default.abi)}async swapToIJM(f){await this.runWalletMethodWithValue(f,"swapToIJM")}async swapToKlay(f){const e=await n.default.loadAddress();void 0!==e&&((await a.default.allowance(e,this.address)).lt(f)?(await a.default.approve(this.address,f),await new Promise((e=>{setTimeout((async()=>{await this.runWalletMethod("swapToKlay",f),e()}),2e3)}))):await this.runWalletMethod("swapToKlay",f))}}e.default=new s},7999:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(833),i=r(t(2076)),o=r(t(7283));class a extends o.default{constructor(){super("0x6E22cd771d0BBC18501F3113e01fD95947299Ca1",i.default.abi)}async price(){return n.BigNumber.from(await this.runMethod("price"))}}e.default=new a},3378:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(833),i=r(t(5131)),o=r(t(97));class a extends o.default{constructor(){super("0xfe1970e7fBa02C2ab7721840eCA0277d5eE6b482",i.default.abi)}async current(){return n.BigNumber.from(await this.runMethod("current"))}async minters(f){return await this.runMethod("minters",f)}async extnames(f){return await this.runMethod("extnames",f)}async titles(f){return await this.runMethod("titles",f)}async descriptions(f){return await this.runMethod("descriptions",f)}async mint(f,e,t,r){await this.runWalletMethod("mint",f,e,t,r)}}e.default=new a},97:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(7936),i=r(t(7283));class o extends i.default{constructor(f,e){super(f,e)}async getTotalSupply(f){return n.BigNumber.from(await this.runMethod("totalSupply",f))}}e.default=o},9250:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(7936),i=r(t(7283));class o extends i.default{constructor(f,e){super(f,e)}async getName(){return await this.runMethod("name")}async getTotalSupply(){return n.BigNumber.from(await this.runMethod("totalSupply"))}async balanceOf(f){return n.BigNumber.from(await this.runMethod("balanceOf",f))}async allowance(f,e){return n.BigNumber.from(await this.runMethod("allowance",f,e))}async transfer(f,e){await this.runWalletMethod("transfer",f,e)}async transferFrom(f,e,t){await this.runWalletMethod("transferFrom",f,e,t)}async approve(f,e){await this.runWalletMethod("approve",f,e)}}e.default=o},9134:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(833),i=r(t(7162));class o extends i.default{constructor(){super(),this.klaytn=window.klaytn,this.caver=window.caver,this.checkConnected()}get installed(){return void 0!==this.klaytn&&void 0!==this.caver}async checkConnected(){!0===await this.connected()&&this.fireEvent("connect")}async loadAddress(){return void 0===this.caver?void 0:(await this.caver.klay.getAccounts())[0]}async loadChainId(){return void 0===this.caver?-1:await this.caver.klay.getChainId()}async loadBlockNumber(){return void 0===this.caver?-1:await this.caver.klay.getBlockNumber()}async balanceOf(f){return void 0===this.caver?void 0:n.BigNumber.from(await this.caver.klay.getBalance(f))}async loadBalance(){const f=await this.loadAddress();return void 0===f?n.BigNumber.from(0):await this.balanceOf(f)}async connected(){return void 0!==await this.loadAddress()}async connect(){await(this.klaytn?.enable()),this.checkConnected()}createContract(f,e){return void 0===this.caver?void 0:new this.caver.klay.Contract(e,f)}addToken(f,e,t,r){this.klaytn?.sendAsync({method:"wallet_watchAsset",params:{type:"ERC20",options:{address:f,symbol:e,decimals:t,image:r}},id:Math.round(1e5*Math.random())})}async signMessage(f){const e=await this.loadAddress();return void 0===e?void 0:this.caver?.klay.sign(f,e)}}e.default=new o},3302:(f,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=t(833);e.default=new class{constructor(){this.caver=new window.Caver(new window.Caver.providers.WebsocketProvider("wss://klaytn-node.klu.bs:9091"))}createContract(f,e){return this.caver.contract.create(e,f)}async balanceOf(f){return r.BigNumber.from(await this.caver.klay.getBalance(f))}}},7809:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(7162)),i=r(t(9134));class o extends n.default{constructor(){super(),this.checkConnected()}async checkConnected(){!0===await this.connected()&&this.fireEvent("connect")}async loadAddress(){if(!0===i.default.installed)return await i.default.loadAddress()}async loadBalance(){if(!0===i.default.installed)return await i.default.loadBalance()}async balanceOf(f){if(!0===i.default.installed)return await i.default.balanceOf(f)}async connected(){return void 0!==await this.loadAddress()}async connect(){if(!0===i.default.installed)return await i.default.connect();confirm("카이카스가 필요합니다. 카이카스를 설치하시겠습니까?")&&(location.href="https://chrome.google.com/webstore/detail/kaikas/jblndlipeogpafnldhgmapagcccfchpi")}async addToken(f,e,t,r){!0===i.default.installed&&i.default.addToken(f,e,t,r)}async signMessage(f){if(!0===i.default.installed)return await i.default.signMessage(f)}}e.default=new o},5981:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=r(t(1293)),i=t(1513),o=r(t(569)),a=r(t(1659)),s=r(t(2515)),c=r(t(6185)),u=r(t(698));(async()=>{n.default.language=a.default.language,n.default.parseCSV((await o.default.get("/msg.csv")).text),i.SkyRouter.route("",c.default),i.SkyRouter.route("mintnft",u.default),i.SkyRouter.route("classic",s.default),sessionStorage.__spa_path&&(i.SkyRouter.go(sessionStorage.__spa_path),sessionStorage.removeItem("__spa_path"))})()},2515:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(9687),i=t(7936),o=r(t(1293)),a=r(t(7665)),s=r(t(1160)),c=r(t(7999)),u=r(t(7809));e.default=class{constructor(){this.ijmPrice=i.BigNumber.from(0),this.container=(0,n.el)(".home-view",(0,n.el)("h1","인절미 클래식"),(0,n.el)("img.logo",{src:"/images/injeolmi-classic.png",height:"330"}),(0,n.el)("p",(0,o.default)("INJEOLMI_DESC")),(0,n.el)("h3","인절미 클래식 떡크노믹스"),(0,n.el)("p",(0,o.default)("INJEOLMI_TOKENOMICS_DESC_1")),(0,n.el)("p","인절미 클래식은 클레이튼 밈 토큰입니다. 따라서 클레이튼 지갑인 카이카스 지갑이 필요합니다."),(0,n.el)("a",(0,o.default)("DOWNLOAD_KAIKAS_BUTTON"),{href:"https://chrome.google.com/webstore/detail/kaikas/jblndlipeogpafnldhgmapagcccfchpi",target:"_blank"}),(0,n.el)(".links",(0,n.el)("a",(0,o.default)("ADD_INJEOLMI_TO_WALLET_BUTTON"),{click:()=>u.default.addToken(a.default.address,"IJM",8,"https://raw.githubusercontent.com/tteokmill/tteok-app/main/docs/images/injeolmi.png")}),"\n",(0,n.el)("a",(0,o.default)("INJEOLMI_CONTRACT_BUTTON"),{href:"https://scope.klaytn.com/token/0x9CFc059F64D664F92f3d0329844B8ccca4E5215B",target:"_blank"}),"\n",(0,n.el)("a",(0,o.default)("INJEOLMI_SOURCE_CODE_BUTTON"),{href:"https://github.com/tteokmill/injeolmi",target:"_blank"}),"\n",(0,n.el)("a",(0,o.default)("INJEOLMI_CHART_BUTTON"),{href:"https://dexata.kr/?tokenA=0x9cfc059f64d664f92f3d0329844b8ccca4e5215b&tokenB=0x0000000000000000000000000000000000000000",target:"_blank"})),(0,n.el)("p.warning","절대 본인의 인절미 클래식을 본인의 지갑에 전송하지 마세요. 인절미 클래식을 모두 잃어버릴 수 있습니다!"),(0,n.el)(".card",(0,n.el)("h5","인절미 클래식 가격"),(0,n.el)("h6",this.priceDisplay=(0,n.el)("span.price","...")," KLAY\n")),(0,n.el)("h3","클레이로 인절미 클래식 사기"),(0,n.el)("p","인절미 클래식을 살때도 떡크노믹스 때문에 10%를 적게 받습니다."),(0,n.el)(".form",this.buyInput=(0,n.el)("input",{placeholder:(0,o.default)("KLAY_AMOUNT"),keyup:()=>setTimeout((()=>{const f=i.utils.parseEther(this.buyInput.domElement.value);this.buyResult.empty().appendText(`대략 ${i.utils.formatEther(f.mul(i.utils.parseEther("1")).div(this.ijmPrice).mul(9).div(10))} IJM`)}))}),this.buyResult=(0,n.el)(".result"),(0,n.el)("button",(0,o.default)("BUY_INJEOLMI_BUTTON"),{click:async()=>{await s.default.swapToIJM(i.utils.parseEther(this.buyInput.domElement.value))}})),(0,n.el)("h3","인절미 클래식 클레이로 팔기"),(0,n.el)("p","인절미 클래식을 펄때도 떡크노믹스 때문에 10%를 적게 받습니다."),(0,n.el)(".form",this.sellInput=(0,n.el)("input",{placeholder:(0,o.default)("IMJ_AMOUNT"),keyup:()=>setTimeout((()=>{const f=i.utils.parseEther(this.sellInput.domElement.value);this.sellResult.empty().appendText(`대략 ${i.utils.formatEther(f.mul(this.ijmPrice).div(i.utils.parseEther("1")).mul(9).div(10))} KLAY`)}))}),this.sellResult=(0,n.el)(".result"),(0,n.el)("button",(0,o.default)("SELL_INJEOLMI_BUTTON"),{click:async()=>{await s.default.swapToKlay(i.utils.parseUnits(this.sellInput.domElement.value,8))}})),(0,n.el)("footer",(0,n.el)("a",(0,o.default)("TWITTER_BUTTON"),{href:"https://twitter.com/tteokclassic",target:"_blank"}),"\n",(0,n.el)("a",(0,o.default)("KAKAOTALK_BUTTON"),{href:"https://open.kakao.com/o/gc5NMySd",target:"_blank"}),"\n",(0,n.el)("img",{src:"/images/thankyou.gif",height:"107.5"}))).appendTo(n.BodyNode),this.refresh(),this.interval=setInterval((()=>this.refresh()),2e3),this.ddd()}async ddd(){!0!==await u.default.connected()&&await u.default.connect()}async refresh(){this.ijmPrice=await c.default.price(),!0!==this.container.deleted&&this.priceDisplay.empty().appendText(i.utils.formatEther(this.ijmPrice))}changeParams(f,e){}close(){clearInterval(this.interval),this.container.delete()}}},6185:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(9687),i=t(7936),o=r(t(1293)),a=r(t(2268)),s=r(t(7350)),c=r(t(7665)),u=r(t(7999)),l=r(t(7809)),d=r(t(5305));e.default=class{constructor(){this.ijmPrice=i.BigNumber.from(0),this.container=(0,n.el)(".home-view",(0,n.el)("a.hardfork","☆★ 하드포크 기록 및 이전 완료! 새 사이트 개발중! 7일 오후 공지 예정! ★☆",{click:()=>{alert("헤헷"),location.href="https://twitter.com/tteokmill"}}),(0,n.el)("a.classic-button","인절미 클래식",{click:()=>d.default.go("/classic")}),(0,n.el)("h1",(0,o.default)("TITLE")),(0,n.el)("p",(0,o.default)("DESC_1"),"\n",(0,o.default)("DESC_2"),"\n",(0,o.default)("DESC_3")),(0,n.el)("h2",(0,o.default)("INJEOLMI_TITLE")),(0,n.el)("img.logo",{src:"/images/injeolmi.png",height:"330"}),(0,n.el)("p",(0,o.default)("INJEOLMI_DESC")),(0,n.el)("h3",(0,o.default)("INJEOLMI_TOKENOMICS")),(0,n.el)("p",(0,o.default)("INJEOLMI_TOKENOMICS_DESC_1")),(0,n.el)("p",(0,o.default)("INJEOLMI_TOKENOMICS_DESC_2")),(0,n.el)("a",(0,o.default)("DOWNLOAD_KAIKAS_BUTTON"),{href:"https://chrome.google.com/webstore/detail/kaikas/jblndlipeogpafnldhgmapagcccfchpi",target:"_blank"}),(0,n.el)(".card",(0,n.el)("h5","하드포크 전 최종 인절미 가격"),(0,n.el)("h6","0.144374553246136709 KLAY\n"),this.firstcomeAirdropEvent=(0,n.el)(".event")),(0,n.el)("h2",(0,o.default)("WAREHOUSE_TITLE")),(0,n.el)("p",(0,o.default)("WAREHOUSE_DESC_1"),"\n",(0,o.default)("WAREHOUSE_DESC_2")),(0,n.el)("a",(0,o.default)("WAREHOUSE_ADDRESS"),"\nhttps://opensea.io/tteokmill",{href:"https://opensea.io/tteokmill",target:"_blank"}),(0,n.el)("h2",(0,o.default)("SPARROW_NFT_TITLE")),(0,n.el)("p",(0,o.default)("SPARROW_NFT_DESC")),(0,n.el)("img.art",{src:"/images/nft/nft.jpg"}),(0,n.el)("p",(0,n.el)("a",(0,o.default)("SPARROW_NFT_ADDRESS"),"\nhttps://opensea.io/collection/sparrow-nfts",{href:"https://opensea.io/collection/sparrow-nfts",target:"_blank"})),(0,n.el)("p",(0,n.el)("a",(0,o.default)("MINT_SPARROW_NFT_BUTTON"),{click:()=>d.default.go("/mintnft")})),(0,n.el)("h2",(0,o.default)("FANGAME_TITLE")),(0,n.el)("p",(0,o.default)("FANGAME_DESC")),(0,n.el)("img",{src:"/images/game/flappy.png",height:"300"}),(0,n.el)("a.game-link",(0,o.default)("FANGAME_1_BUTTON"),{href:"https://flappy-injeolmi.netlify.app/",target:"_blank"}),(0,n.el)("img",{src:"/images/game/snake.png",height:"300"}),(0,n.el)("a.game-link",(0,o.default)("FANGAME_2_BUTTON"),{href:"https://injeolmi-snake.netlify.app/",target:"_blank"}),(0,n.el)("footer",(0,n.el)("a",(0,o.default)("TWITTER_BUTTON"),{href:"https://twitter.com/tteokmill",target:"_blank"}),"\n",(0,n.el)("a",(0,o.default)("KAKAOTALK_BUTTON"),{href:"https://open.kakao.com/o/g1nYzIHd",target:"_blank"}),"\n",(0,n.el)("img",{src:"/images/thankyou.gif",height:"107.5"}))).appendTo(n.BodyNode),this.refresh(),this.interval=setInterval((()=>this.refresh()),2e3)}async refresh(){this.ijmPrice=await u.default.price();await c.default.balanceOf(a.default.address);this.container.deleted;const f=await l.default.loadAddress();if(void 0!==f){const e=await c.default.balanceOf(s.default.address),t=await s.default.airdropAmount();if(e.gte(t)){const e=await s.default.season(),t=await s.default.dropped(e,f);!0!==this.container.deleted&&(!0===t?this.firstcomeAirdropEvent.empty().appendText("선착순 떡돌리기 이벤트 참여 완료"):this.firstcomeAirdropEvent.empty().append((0,n.el)("h5","★☆ 선착순 떡돌리기 이벤트 진행중! ☆★"),(0,n.el)("a","인절미 받기",{click:async()=>{await s.default.airdrop()}})))}}}changeParams(f,e){}close(){clearInterval(this.interval),this.container.delete()}}},698:function(f,e,t){"use strict";var r=this&&this.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(9687),i=r(t(1293)),o=t(1513),a=r(t(5154)),s=r(t(3378)),c=r(t(7809)),u=r(t(5305));e.default=class{constructor(){this.container=(0,n.el)(".mint-sparrow-nft-view",(0,n.el)("header",(0,n.el)("a","< 뒤로가기",{click:()=>u.default.go("/")}),(0,n.el)("h2","참새 NFT 만들기"),(0,n.el)("p",(0,i.default)("SPARROW_NFT_DESC")),(0,n.el)("img.art",{src:"images/sparrowNFT.png"}),(0,n.el)("p",(0,n.el)("a",(0,i.default)("SPARROW_NFT_ADDRESS"),"\nhttps://opensea.io/collection/sparrow-nfts",{href:"https://opensea.io/collection/sparrow-nfts",target:"_blank"})),(0,n.el)(".form",this.extnameInput=(0,n.el)("input",{placeholder:"파일 확장자 (png 등, 점 빼고)"}),this.nameInput=(0,n.el)("input",{placeholder:"NFT 이름"}),this.descriptionInput=(0,n.el)("input",{placeholder:"NFT 설명"}),this.amountInput=(0,n.el)("input",{placeholder:"발행 개수 (숫자로만)"}),(0,n.el)("input",{type:"file",change:f=>{const e=f.target.files[0],t=new FileReader;t.addEventListener("load",(()=>{this.dataURL=t.result}),!1),e&&t.readAsDataURL(e)}}),(0,n.el)("button","만들기",{click:async()=>{const f=await c.default.loadAddress();if(void 0!==f&&void 0!==this.dataURL){const e=(await s.default.current()).toNumber();await s.default.mint(this.extnameInput.domElement.value,this.nameInput.domElement.value,this.descriptionInput.domElement.value,parseInt(this.amountInput.domElement.value,10));const t=(await s.default.current()).toNumber();let r=-1;for(let n=e;n<t;n+=1)if(await s.default.minters(n)===f){r=n;break}setTimeout((async()=>{if(void 0!==this.dataURL&&r>=0){const f=await c.default.signMessage("Upload SparrowNFT File");await fetch(`https://api.tteok.org/sparrow/nft/${r}/upload`,{method:"POST",body:JSON.stringify({dataURL:this.dataURL,signedMessage:f,extname:this.extnameInput.domElement.value})}),alert("등록 완료!~!"),o.SkyRouter.refresh()}}),2e3)}}})),(0,n.el)("p.danger","* 무료 패러디물은 관계없으나, 판매를 목적으로 하는 경우는 저작권에 주의하세요."),(0,n.el)("h5","NFT 목록")),this.nftList=(0,n.el)("ul.nft-list")).appendTo(n.BodyNode),this.loadNFTs()}async loadNFTs(){const f=await s.default.current(),e=await c.default.loadAddress(),t=[];for(let r=0;r<f.toNumber();r+=1){const f=async f=>{const t=await s.default.minters(f),i=await s.default.extnames(f),u=await s.default.titles(f),l=await s.default.descriptions(f),d=await s.default.getTotalSupply(f);(0,n.el)(".nft",(0,n.el)(".content",(0,n.el)(".title",u),(0,n.el)("img",{src:`https://storage.googleapis.com/sparrow-nfts/${r}.${i}`,click:()=>open(`https://opensea.io/assets/klaytn/0xfe1970e7fba02c2ab7721840eca0277d5ee6b482/${r}`)}),(0,n.el)(".minter",`발행자: ${a.default.shortenAddress(t)}`),(0,n.el)(".totalSupply",`총 발행량: ${d.toNumber()}`),(0,n.el)(".description",l),t!==e?void 0:(0,n.el)(".reupload",(0,n.el)("h6","이미지 재업로드"),(0,n.el)("input.hidden",{type:"file",change:f=>{const e=f.target.files[0],t=new FileReader;t.addEventListener("load",(async()=>{let f=t.result;const e=await c.default.signMessage("Upload SparrowNFT File");await fetch(`https://api.tteok.org/sparrow/nft/${r}/upload`,{method:"POST",body:JSON.stringify({dataURL:f,signedMessage:e})}),o.SkyRouter.refresh()}),!1),e&&t.readAsDataURL(e)}})))).appendTo(this.nftList)};t.push(f(r))}await Promise.all(t)}changeParams(f,e){}close(){this.container.delete()}}},5305:(f,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=t(1513);e.default=new class{go(f){r.SkyRouter.go(f),window.scrollTo(0,0)}waitTransactionAndRefresh(){setTimeout((()=>r.SkyRouter.refresh()),2e3)}}},6601:()=>{},4654:()=>{},2076:f=>{"use strict";f.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"InjeolmiPrice","sourceName":"contracts/InjeolmiPrice.sol","abi":[{"constant":true,"inputs":[],"name":"ijm","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_ijm","type":"address"},{"name":"_pool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}],"bytecode":"0x608060405234801561001057600080fd5b506040516040806105668339810180604052604081101561003057600080fd5b810190808051906020019092919080519060200190929190505050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610489806100dd6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063110d40251461004657806316f0115b14610090578063a035b1fe146100da575b600080fd5b61004e6100f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61009861011d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100e2610143565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006102a16000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561020857600080fd5b505afa15801561021c573d6000803e3d6000fd5b505050506040513d602081101561023257600080fd5b81019080805190602001909291905050506102936305f5e100600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16316102a690919063ffffffff16565b61032c90919063ffffffff16565b905090565b6000808314156102b95760009050610326565b60008284029050828482816102ca57fe5b0414610321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061043d6021913960400191505060405180910390fd5b809150505b92915050565b600061036e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610376565b905092915050565b60008083118290610422576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103e75780820151818401526020810190506103cc565b50505050905090810190601f1680156104145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161042e57fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a165627a7a72305820dbf59a37bac95d1b2544ddaec73bfd284b515ea2885eff7bc5dfe9739def93230029","deployedBytecode":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063110d40251461004657806316f0115b14610090578063a035b1fe146100da575b600080fd5b61004e6100f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61009861011d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100e2610143565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006102a16000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561020857600080fd5b505afa15801561021c573d6000803e3d6000fd5b505050506040513d602081101561023257600080fd5b81019080805190602001909291905050506102936305f5e100600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16316102a690919063ffffffff16565b61032c90919063ffffffff16565b905090565b6000808314156102b95760009050610326565b60008284029050828482816102ca57fe5b0414610321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061043d6021913960400191505060405180910390fd5b809150505b92915050565b600061036e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610376565b905092915050565b60008083118290610422576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156103e75780820151818401526020810190506103cc565b50505050905090810190601f1680156104145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161042e57fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a165627a7a72305820dbf59a37bac95d1b2544ddaec73bfd284b515ea2885eff7bc5dfe9739def93230029","linkReferences":{},"deployedLinkReferences":{}}')},5465:f=>{"use strict";f.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"Airdrop","sourceName":"contracts/Airdrop.sol","abi":[{"constant":true,"inputs":[],"name":"ijm","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_ijm","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}],"bytecode":"0x608060405234801561001057600080fd5b506040516020806109b28339810180604052602081101561003057600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108648061014e6000396000f3fe6080604052600436106100555760003560e01c8063110d40251461005a578063715018a6146100b15780638da5cb5b146100c85780638f32d59b1461011f578063c204642c1461014e578063f2fde38b146101d1575b600080fd5b34801561006657600080fd5b5061006f610222565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100bd57600080fd5b506100c6610248565b005b3480156100d457600080fd5b506100dd610381565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012b57600080fd5b506101346103aa565b604051808215151515815260200191505060405180910390f35b6101cf6004803603604081101561016457600080fd5b810190808035906020019064010000000081111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111640100000000831117156101b557600080fd5b909192939192939080359060200190929190505050610401565b005b3480156101dd57600080fd5b50610220600480360360208110156101f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c0565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6102506103aa565b6102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6104096103aa565b61047b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600083839050905060008090505b818110156105b957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8686848181106104db57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561056257600080fd5b505af1158015610576573d6000803e3d6000fd5b505050506040513d602081101561058c57600080fd5b8101908080519060200190929190505050506105b260018261064690919063ffffffff16565b9050610489565b5050505050565b6105c86103aa565b61063a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610643816106ce565b50565b6000808284019050838110156106c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610754576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108136026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a723058205b049619fd76ffdca087503299e3c231d01c79f163cd75ac47853c8a7d8cab050029","deployedBytecode":"0x6080604052600436106100555760003560e01c8063110d40251461005a578063715018a6146100b15780638da5cb5b146100c85780638f32d59b1461011f578063c204642c1461014e578063f2fde38b146101d1575b600080fd5b34801561006657600080fd5b5061006f610222565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100bd57600080fd5b506100c6610248565b005b3480156100d457600080fd5b506100dd610381565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012b57600080fd5b506101346103aa565b604051808215151515815260200191505060405180910390f35b6101cf6004803603604081101561016457600080fd5b810190808035906020019064010000000081111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111640100000000831117156101b557600080fd5b909192939192939080359060200190929190505050610401565b005b3480156101dd57600080fd5b50610220600480360360208110156101f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c0565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6102506103aa565b6102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6104096103aa565b61047b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600083839050905060008090505b818110156105b957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8686848181106104db57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561056257600080fd5b505af1158015610576573d6000803e3d6000fd5b505050506040513d602081101561058c57600080fd5b8101908080519060200190929190505050506105b260018261064690919063ffffffff16565b9050610489565b5050505050565b6105c86103aa565b61063a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610643816106ce565b50565b6000808284019050838110156106c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610754576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108136026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a723058205b049619fd76ffdca087503299e3c231d01c79f163cd75ac47853c8a7d8cab050029","linkReferences":{},"deployedLinkReferences":{}}')},2387:f=>{"use strict";f.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"FirstcomeAirdrop","sourceName":"contracts/FirstcomeAirdrop.sol","abi":[{"constant":true,"inputs":[],"name":"ijm","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"newSeason","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"dropped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"setAirdropAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"season","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"airdropAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_ijm","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}],"bytecode":"0x6080604052600060025564174876e80060035534801561001e57600080fd5b50604051602080610b918339810180604052602081101561003e57600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610a358061015c6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461017c5780638f32d59b146101c6578063a5500c30146101e8578063c50b0fb014610216578063f2fde38b14610234578063fc2ea8a514610278576100a9565b8063110d4025146100ae5780631974e0bc146100f85780633884d635146101025780635d40239b1461010c578063715018a614610172575b600080fd5b6100b6610296565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101006102bc565b005b61010a610354565b005b6101586004803603604081101561012257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610519565b604051808215151515815260200191505060405180910390f35b61017a610548565b005b610184610681565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ce6106aa565b604051808215151515815260200191505060405180910390f35b610214600480360360208110156101fe57600080fd5b8101908080359060200190929190505050610701565b005b61021e610785565b6040518082815260200191505060405180910390f35b6102766004803603602081101561024a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061078b565b005b610280610811565b6040518082815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6102c46106aa565b610336576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61034c600160025461081790919063ffffffff16565b600281905550565b6001151560046000600254815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156103c557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336003546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561047057600080fd5b505af1158015610484573d6000803e3d6000fd5b505050506040513d602081101561049a57600080fd5b810190808051906020019092919050505050600160046000600254815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60046020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6105506106aa565b6105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6107096106aa565b61077b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060038190555050565b60025481565b6107936106aa565b610805576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61080e8161089f565b50565b60035481565b600080828401905083811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806109e46026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a7230582077bf6419ee2216caea0e6dee99ccc1eb8d4cb425b174df9fd45af4354d47a8b70029","deployedBytecode":"0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b1461017c5780638f32d59b146101c6578063a5500c30146101e8578063c50b0fb014610216578063f2fde38b14610234578063fc2ea8a514610278576100a9565b8063110d4025146100ae5780631974e0bc146100f85780633884d635146101025780635d40239b1461010c578063715018a614610172575b600080fd5b6100b6610296565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101006102bc565b005b61010a610354565b005b6101586004803603604081101561012257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610519565b604051808215151515815260200191505060405180910390f35b61017a610548565b005b610184610681565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ce6106aa565b604051808215151515815260200191505060405180910390f35b610214600480360360208110156101fe57600080fd5b8101908080359060200190929190505050610701565b005b61021e610785565b6040518082815260200191505060405180910390f35b6102766004803603602081101561024a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061078b565b005b610280610811565b6040518082815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6102c46106aa565b610336576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61034c600160025461081790919063ffffffff16565b600281905550565b6001151560046000600254815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156103c557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336003546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561047057600080fd5b505af1158015610484573d6000803e3d6000fd5b505050506040513d602081101561049a57600080fd5b810190808051906020019092919050505050600160046000600254815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60046020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6105506106aa565b6105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6107096106aa565b61077b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060038190555050565b60025481565b6107936106aa565b610805576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61080e8161089f565b50565b60035481565b600080828401905083811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610925576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806109e46026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a7230582077bf6419ee2216caea0e6dee99ccc1eb8d4cb425b174df9fd45af4354d47a8b70029","linkReferences":{},"deployedLinkReferences":{}}')},4890:f=>{"use strict";f.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"Injeolmi","sourceName":"contracts/Injeolmi.sol","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"accMultiplier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"updateMultiplier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishUpdatingMultiplier","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"excluded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"exclude","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_userInfo","outputs":[{"name":"lastBalance","type":"uint256"},{"name":"lastMultiplier","type":"uint256"},{"name":"resettingCount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"resettingCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"include","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}],"bytecode":"0x6080604052633b9aca006006553480156200001957600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620000e733620001a760201b60201c565b6000600260006101000a81548160ff021916908315150217905550600860ff16600a0a6305f5e10002600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550633b9aca00600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550620003cc565b620001c28160016200020860201b620028621790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6200021a8282620002ec60201b60201c565b156200028e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062002e206022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612a4480620003dc6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80636f17d6111161010f578063902d55a5116100a2578063c867392811610071578063c8673928146108bc578063dd62ed3e14610900578063f2fde38b14610978578063f76f8d78146109bc576101e5565b8063902d55a51461073257806395d89b4114610750578063a3f4df7e146107d3578063a9059cbb14610856576101e5565b806382dc1ec4116100de57806382dc1ec4146106785780638456cb59146106bc5780638da5cb5b146106c65780638f32d59b14610710576101e5565b80636f17d6111461059257806370a08231146105f8578063715018a614610650578063795155871461065a576101e5565b8063313ce5671161018757806346fbf68e1161015657806346fbf68e146104c65780634febf53d146105225780635c975abb146105665780636ef8d66d14610588576101e5565b8063313ce567146104325780633f4ba83a14610456578063404d063614610460578063429cead11461046a576101e5565b806318160ddd116101c357806318160ddd146102f157806323b872dd1461030f57806324b6cdfc146103955780632e0f26251461040e576101e5565b806306fdde03146101ea578063095ea7b31461026d57806314187da0146102d3575b600080fd5b6101f2610a3f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b96004803603604081101561028357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a7c565b604051808215151515815260200191505060405180910390f35b6102db610bf1565b6040518082815260200191505060405180910390f35b6102f9610bf7565b6040518082815260200191505060405180910390f35b61037b6004803603606081101561032557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c0c565b604051808215151515815260200191505060405180910390f35b61040c600480360360208110156103ab57600080fd5b81019080803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460208302840111640100000000831117156103fc57600080fd5b9091929391929390505050610de4565b005b61041661101e565b604051808260ff1660ff16815260200191505060405180910390f35b61043a611023565b604051808260ff1660ff16815260200191505060405180910390f35b61045e61102c565b005b61046861118c565b005b6104ac6004803603602081101561048057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a1565b604051808215151515815260200191505060405180910390f35b610508600480360360208110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c1565b604051808215151515815260200191505060405180910390f35b6105646004803603602081101561053857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112de565b005b61056e6113b3565b604051808215151515815260200191505060405180910390f35b6105906113ca565b005b6105d4600480360360208110156105a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d5565b60405180848152602001838152602001828152602001935050505060405180910390f35b61063a6004803603602081101561060e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ff565b6040518082815260200191505060405180910390f35b6106586114d1565b005b61066261160a565b6040518082815260200191505060405180910390f35b6106ba6004803603602081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611610565b005b6106c461167a565b005b6106ce6117db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610718611804565b604051808215151515815260200191505060405180910390f35b61073a61185b565b6040518082815260200191505060405180910390f35b61075861186c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079857808201518184015260208101905061077d565b50505050905090810190601f1680156107c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107db6118a9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561081b578082015181840152602081019050610800565b50505050905090810190601f1680156108485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108a26004803603604081101561086c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118e2565b604051808215151515815260200191505060405180910390f35b6108fe600480360360208110156108d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061197c565b005b6109626004803603604081101561091657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a51565b6040518082815260200191505060405180910390f35b6109ba6004803603602081101561098e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ad8565b005b6109c4611b5e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a045780820151818401526020810190506109e9565b50505050905090810190601f168015610a315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606040518060400160405280600881526020017f496e6a656f6c6d69000000000000000000000000000000000000000000000000815250905090565b6000600260009054906101000a900460ff1615610b01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60065481565b6000600860ff16600a0a6305f5e10002905090565b6000600260009054906101000a900460ff1615610c91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dcd57610d4c8382611b9790919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dd8858585611be1565b60019150509392505050565b610dec611804565b610e5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600260009054906101000a900460ff16610ee0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b60008282905090506000600654905060008090505b8281101561101757600060036000878785818110610f0f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010154905060016007540182600201541480610f885750600081145b15610f9257611008565b83811415610fba57633b9aca0082600101819055506001600754018260020181905550611007565b610fe381610fd586856000015461210490919063ffffffff16565b61218a90919063ffffffff16565b8260000181905550633b9aca00826001018190555060016007540182600201819055505b5b50508080600101915050610ef5565b5050505050565b600881565b60006008905090565b611035336112c1565b61108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061295f6030913960400191505060405180910390fd5b600260009054906101000a900460ff1661110c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b611194611804565b611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600260009054906101000a900460ff16611288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b633b9aca00600681905550600160075401600781905550565b60056020528060005260406000206000915054906101000a900460ff1681565b60006112d78260016121d490919063ffffffff16565b9050919050565b6112e6611804565b611358576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260009054906101000a900460ff16905090565b6113d3336122b2565b565b60036020528060005260406000206000915090508060000154908060010154908060020154905083565b600061140961293d565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820154815260200160018201548152602001600282015481525050905060008160000151148061148a575060008160200151145b156114995760009150506114cc565b6114c881602001516114ba600654846000015161210490919063ffffffff16565b61218a90919063ffffffff16565b9150505b919050565b6114d9611804565b61154b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b611619336112c1565b61166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061295f6030913960400191505060405180910390fd5b6116778161230c565b50565b611683336112c1565b6116d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061295f6030913960400191505060405180910390fd5b600260009054906101000a900460ff161561175b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600860ff16600a0a6305f5e1000281565b60606040518060400160405280600381526020017f494a4d0000000000000000000000000000000000000000000000000000000000815250905090565b6040518060400160405280600881526020017f496e6a656f6c6d6900000000000000000000000000000000000000000000000081525081565b6000600260009054906101000a900460ff1615611967576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b611972338484611be1565b6001905092915050565b611984611804565b6119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ae0611804565b611b52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611b5b81612366565b50565b6040518060400160405280600381526020017f494a4d000000000000000000000000000000000000000000000000000000000081525081565b6000611bd983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124aa565b905092915050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600060065490506000808460000154905060008560010154905081925060008214158015611c955750838114155b15611cc257611cbf81611cb1868561210490919063ffffffff16565b61218a90919063ffffffff16565b92505b50506000808460000154905060008560010154905081925060008214158015611ceb5750848114155b15611d1857611d1581611d07878561210490919063ffffffff16565b61218a90919063ffffffff16565b92505b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415611d46578195505b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611dd357611dab8683611b9790919063ffffffff16565b8560000181905550611dc6868261256a90919063ffffffff16565b8460000181905550612083565b6000611dfc6064611dee60098a61210490919063ffffffff16565b61218a90919063ffffffff16565b90506000611e1460648961218a90919063ffffffff16565b90506000611e6d611e3b84600860ff16600a0a6305f5e10002611b9790919063ffffffff16565b611e5f633b9aca00600860ff16600a0a6305f5e1000261210490919063ffffffff16565b61218a90919063ffffffff16565b9050611e776117db565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611fb457600060036000611eb76117db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000808260000154905060008360010154905081925060008214158015611f1a5750898114155b15611f4757611f4481611f368c8561210490919063ffffffff16565b61218a90919063ffffffff16565b92505b5050611f588787838e8989896125f2565b8c60000160008d6000016000886000016000869190505585919050558491905055505050611fa5633b9aca00611f97858b61210490919063ffffffff16565b61218a90919063ffffffff16565b8260010181905550505061204d565b611fef633b9aca00611fe183611fd38d8a611b9790919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b8860000181905550612044633b9aca0061203683612028612019888f611b9790919063ffffffff16565b8961256a90919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b87600001819055505b612076633b9aca00612068838961210490919063ffffffff16565b61218a90919063ffffffff16565b9550856006819055505050505b8285600101819055508284600101819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35050505050505050565b6000808314156121175760009050612184565b600082840290508284828161212857fe5b041461217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129d66021913960400191505060405180910390fd5b809150505b92915050565b60006121cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126df565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561225b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806129f76022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6122c68160016127a590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b61232081600161286290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061298f6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000838311158290612557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561251c578082015181840152602081019050612501565b50505050905090810190601f1680156125495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000806000612632633b9aca00612624866126168b8f611b9790919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b9250612693633b9aca00612685866126776126686126598b8d61256a90919063ffffffff16565b8d611b9790919063ffffffff16565b8e61256a90919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b91506126d0633b9aca006126c2866126b4898d61256a90919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b90509750975097945050505050565b6000808311829061278b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612750578082015181840152602081019050612735565b50505050905090810190601f16801561277d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161279757fe5b049050809150509392505050565b6127af82826121d4565b612804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129b56021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61286c82826121d4565b156128df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040518060600160405280600081526020016000815260200160008152509056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a165627a7a723058202000ccc835141a806a048bdeab63fb87ac083c9fb829d7a57b8f654abb269c010029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373","deployedBytecode":"0x608060405234801561001057600080fd5b50600436106101e55760003560e01c80636f17d6111161010f578063902d55a5116100a2578063c867392811610071578063c8673928146108bc578063dd62ed3e14610900578063f2fde38b14610978578063f76f8d78146109bc576101e5565b8063902d55a51461073257806395d89b4114610750578063a3f4df7e146107d3578063a9059cbb14610856576101e5565b806382dc1ec4116100de57806382dc1ec4146106785780638456cb59146106bc5780638da5cb5b146106c65780638f32d59b14610710576101e5565b80636f17d6111461059257806370a08231146105f8578063715018a614610650578063795155871461065a576101e5565b8063313ce5671161018757806346fbf68e1161015657806346fbf68e146104c65780634febf53d146105225780635c975abb146105665780636ef8d66d14610588576101e5565b8063313ce567146104325780633f4ba83a14610456578063404d063614610460578063429cead11461046a576101e5565b806318160ddd116101c357806318160ddd146102f157806323b872dd1461030f57806324b6cdfc146103955780632e0f26251461040e576101e5565b806306fdde03146101ea578063095ea7b31461026d57806314187da0146102d3575b600080fd5b6101f2610a3f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b96004803603604081101561028357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a7c565b604051808215151515815260200191505060405180910390f35b6102db610bf1565b6040518082815260200191505060405180910390f35b6102f9610bf7565b6040518082815260200191505060405180910390f35b61037b6004803603606081101561032557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c0c565b604051808215151515815260200191505060405180910390f35b61040c600480360360208110156103ab57600080fd5b81019080803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460208302840111640100000000831117156103fc57600080fd5b9091929391929390505050610de4565b005b61041661101e565b604051808260ff1660ff16815260200191505060405180910390f35b61043a611023565b604051808260ff1660ff16815260200191505060405180910390f35b61045e61102c565b005b61046861118c565b005b6104ac6004803603602081101561048057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a1565b604051808215151515815260200191505060405180910390f35b610508600480360360208110156104dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c1565b604051808215151515815260200191505060405180910390f35b6105646004803603602081101561053857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112de565b005b61056e6113b3565b604051808215151515815260200191505060405180910390f35b6105906113ca565b005b6105d4600480360360208110156105a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113d5565b60405180848152602001838152602001828152602001935050505060405180910390f35b61063a6004803603602081101561060e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ff565b6040518082815260200191505060405180910390f35b6106586114d1565b005b61066261160a565b6040518082815260200191505060405180910390f35b6106ba6004803603602081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611610565b005b6106c461167a565b005b6106ce6117db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610718611804565b604051808215151515815260200191505060405180910390f35b61073a61185b565b6040518082815260200191505060405180910390f35b61075861186c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079857808201518184015260208101905061077d565b50505050905090810190601f1680156107c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107db6118a9565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561081b578082015181840152602081019050610800565b50505050905090810190601f1680156108485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108a26004803603604081101561086c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118e2565b604051808215151515815260200191505060405180910390f35b6108fe600480360360208110156108d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061197c565b005b6109626004803603604081101561091657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a51565b6040518082815260200191505060405180910390f35b6109ba6004803603602081101561098e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ad8565b005b6109c4611b5e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a045780820151818401526020810190506109e9565b50505050905090810190601f168015610a315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606040518060400160405280600881526020017f496e6a656f6c6d69000000000000000000000000000000000000000000000000815250905090565b6000600260009054906101000a900460ff1615610b01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60065481565b6000600860ff16600a0a6305f5e10002905090565b6000600260009054906101000a900460ff1615610c91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dcd57610d4c8382611b9790919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dd8858585611be1565b60019150509392505050565b610dec611804565b610e5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600260009054906101000a900460ff16610ee0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b60008282905090506000600654905060008090505b8281101561101757600060036000878785818110610f0f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010154905060016007540182600201541480610f885750600081145b15610f9257611008565b83811415610fba57633b9aca0082600101819055506001600754018260020181905550611007565b610fe381610fd586856000015461210490919063ffffffff16565b61218a90919063ffffffff16565b8260000181905550633b9aca00826001018190555060016007540182600201819055505b5b50508080600101915050610ef5565b5050505050565b600881565b60006008905090565b611035336112c1565b61108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061295f6030913960400191505060405180910390fd5b600260009054906101000a900460ff1661110c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b611194611804565b611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600260009054906101000a900460ff16611288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b633b9aca00600681905550600160075401600781905550565b60056020528060005260406000206000915054906101000a900460ff1681565b60006112d78260016121d490919063ffffffff16565b9050919050565b6112e6611804565b611358576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260009054906101000a900460ff16905090565b6113d3336122b2565b565b60036020528060005260406000206000915090508060000154908060010154908060020154905083565b600061140961293d565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820154815260200160018201548152602001600282015481525050905060008160000151148061148a575060008160200151145b156114995760009150506114cc565b6114c881602001516114ba600654846000015161210490919063ffffffff16565b61218a90919063ffffffff16565b9150505b919050565b6114d9611804565b61154b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b611619336112c1565b61166e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061295f6030913960400191505060405180910390fd5b6116778161230c565b50565b611683336112c1565b6116d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061295f6030913960400191505060405180910390fd5b600260009054906101000a900460ff161561175b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600860ff16600a0a6305f5e1000281565b60606040518060400160405280600381526020017f494a4d0000000000000000000000000000000000000000000000000000000000815250905090565b6040518060400160405280600881526020017f496e6a656f6c6d6900000000000000000000000000000000000000000000000081525081565b6000600260009054906101000a900460ff1615611967576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b611972338484611be1565b6001905092915050565b611984611804565b6119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ae0611804565b611b52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611b5b81612366565b50565b6040518060400160405280600381526020017f494a4d000000000000000000000000000000000000000000000000000000000081525081565b6000611bd983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124aa565b905092915050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600060065490506000808460000154905060008560010154905081925060008214158015611c955750838114155b15611cc257611cbf81611cb1868561210490919063ffffffff16565b61218a90919063ffffffff16565b92505b50506000808460000154905060008560010154905081925060008214158015611ceb5750848114155b15611d1857611d1581611d07878561210490919063ffffffff16565b61218a90919063ffffffff16565b92505b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415611d46578195505b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611dd357611dab8683611b9790919063ffffffff16565b8560000181905550611dc6868261256a90919063ffffffff16565b8460000181905550612083565b6000611dfc6064611dee60098a61210490919063ffffffff16565b61218a90919063ffffffff16565b90506000611e1460648961218a90919063ffffffff16565b90506000611e6d611e3b84600860ff16600a0a6305f5e10002611b9790919063ffffffff16565b611e5f633b9aca00600860ff16600a0a6305f5e1000261210490919063ffffffff16565b61218a90919063ffffffff16565b9050611e776117db565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611fb457600060036000611eb76117db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000808260000154905060008360010154905081925060008214158015611f1a5750898114155b15611f4757611f4481611f368c8561210490919063ffffffff16565b61218a90919063ffffffff16565b92505b5050611f588787838e8989896125f2565b8c60000160008d6000016000886000016000869190505585919050558491905055505050611fa5633b9aca00611f97858b61210490919063ffffffff16565b61218a90919063ffffffff16565b8260010181905550505061204d565b611fef633b9aca00611fe183611fd38d8a611b9790919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b8860000181905550612044633b9aca0061203683612028612019888f611b9790919063ffffffff16565b8961256a90919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b87600001819055505b612076633b9aca00612068838961210490919063ffffffff16565b61218a90919063ffffffff16565b9550856006819055505050505b8285600101819055508284600101819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35050505050505050565b6000808314156121175760009050612184565b600082840290508284828161212857fe5b041461217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129d66021913960400191505060405180910390fd5b809150505b92915050565b60006121cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126df565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561225b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806129f76022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6122c68160016127a590919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b61232081600161286290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061298f6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000838311158290612557576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561251c578082015181840152602081019050612501565b50505050905090810190601f1680156125495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156125e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000806000612632633b9aca00612624866126168b8f611b9790919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b9250612693633b9aca00612685866126776126686126598b8d61256a90919063ffffffff16565b8d611b9790919063ffffffff16565b8e61256a90919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b91506126d0633b9aca006126c2866126b4898d61256a90919063ffffffff16565b61210490919063ffffffff16565b61218a90919063ffffffff16565b90509750975097945050505050565b6000808311829061278b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612750578082015181840152602081019050612735565b50505050905090810190601f16801561277d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161279757fe5b049050809150509392505050565b6127af82826121d4565b612804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129b56021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61286c82826121d4565b156128df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040518060600160405280600081526020016000815260200160008152509056fe506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a165627a7a723058202000ccc835141a806a048bdeab63fb87ac083c9fb829d7a57b8f654abb269c010029","linkReferences":{},"deployedLinkReferences":{}}')},4212:f=>{"use strict";f.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"InjeolmiPool","sourceName":"contracts/InjeolmiPool.sol","abi":[{"constant":true,"inputs":[],"name":"ijm","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"swapToIJM","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"addLiquidity","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"swapToKlay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_ijm","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"SwapToIJM","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"SwapToKlay","type":"event"}],"bytecode":"0x608060405234801561001057600080fd5b50604051602080610f218339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610e90806100916000396000f3fe60806040526004361061003f5760003560e01c8063110d402514610041578063b4ccdfd014610098578063e8078d94146100a2578063fe5a92b8146100ac575b005b34801561004d57600080fd5b506100566100e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100a061010c565b005b6100aa610389565b005b3480156100b857600080fd5b506100e5600480360360208110156100cf57600080fd5b81019080803590602001909291905050506107fc565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff1631905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156101c857600080fd5b505afa1580156101dc573d6000803e3d6000fd5b505050506040513d60208110156101f257600080fd5b81019080805190602001909291905050509050600061023e83610230846102223488610b1b90919063ffffffff16565b610b6590919063ffffffff16565b610beb90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336102918486610b1b90919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167faf533f6199ebcc804cb17814c019dd4e0877447183c6d6bc53bad825cdc0a2b6346040518082815260200191505060405180910390a2505050565b60006103b5343073ffffffffffffffffffffffffffffffffffffffff1631610b1b90919063ffffffff16565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b8101908080519060200190929190505050905060006104bb836104ad3485610b6590919063ffffffff16565b610beb90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663429cead1336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d602081101561058557600080fd5b8101908080519060200190929190505050156106b8576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561067757600080fd5b505af115801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b8101908080519060200190929190505050506107f7565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333061071e6009610710600a88610b6590919063ffffffff16565b610beb90919063ffffffff16565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107ba57600080fd5b505af11580156107ce573d6000803e3d6000fd5b505050506040513d60208110156107e457600080fd5b8101908080519060200190929190505050505b505050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d60208110156108e257600080fd5b810190808051906020019092919050505090506000610954610933610924600a610916600989610b6590919063ffffffff16565b610beb90919063ffffffff16565b84610c3590919063ffffffff16565b6109468585610b6590919063ffffffff16565b610beb90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610a3257600080fd5b505af1158015610a46573d6000803e3d6000fd5b505050506040513d6020811015610a5c57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff166108fc610a9b8386610b1b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015610ac6573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff4601942d4f74c92044aca098efd29dd8bb2c2dd8c57328ec919f138686a93ad856040518082815260200191505060405180910390a250505050565b6000610b5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cbd565b905092915050565b600080831415610b785760009050610be5565b6000828402905082848281610b8957fe5b0414610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610e446021913960400191505060405180910390fd5b809150505b92915050565b6000610c2d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d7d565b905092915050565b600080828401905083811015610cb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290610d6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d2f578082015181840152602081019050610d14565b50505050905090810190601f168015610d5c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290610e29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610dee578082015181840152602081019050610dd3565b50505050905090810190601f168015610e1b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610e3557fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a165627a7a723058200ac530d52ad1dcebcbe5beb945c79fd80135b96d470c3fbf1c33f5ceec64ee7b0029","deployedBytecode":"0x60806040526004361061003f5760003560e01c8063110d402514610041578063b4ccdfd014610098578063e8078d94146100a2578063fe5a92b8146100ac575b005b34801561004d57600080fd5b506100566100e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100a061010c565b005b6100aa610389565b005b3480156100b857600080fd5b506100e5600480360360208110156100cf57600080fd5b81019080803590602001909291905050506107fc565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff1631905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156101c857600080fd5b505afa1580156101dc573d6000803e3d6000fd5b505050506040513d60208110156101f257600080fd5b81019080805190602001909291905050509050600061023e83610230846102223488610b1b90919063ffffffff16565b610b6590919063ffffffff16565b610beb90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336102918486610b1b90919063ffffffff16565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156102fa57600080fd5b505af115801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167faf533f6199ebcc804cb17814c019dd4e0877447183c6d6bc53bad825cdc0a2b6346040518082815260200191505060405180910390a2505050565b60006103b5343073ffffffffffffffffffffffffffffffffffffffff1631610b1b90919063ffffffff16565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b8101908080519060200190929190505050905060006104bb836104ad3485610b6590919063ffffffff16565b610beb90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663429cead1336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d602081101561058557600080fd5b8101908080519060200190929190505050156106b8576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561067757600080fd5b505af115801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b8101908080519060200190929190505050506107f7565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333061071e6009610710600a88610b6590919063ffffffff16565b610beb90919063ffffffff16565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107ba57600080fd5b505af11580156107ce573d6000803e3d6000fd5b505050506040513d60208110156107e457600080fd5b8101908080519060200190929190505050505b505050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d60208110156108e257600080fd5b810190808051906020019092919050505090506000610954610933610924600a610916600989610b6590919063ffffffff16565b610beb90919063ffffffff16565b84610c3590919063ffffffff16565b6109468585610b6590919063ffffffff16565b610beb90919063ffffffff16565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610a3257600080fd5b505af1158015610a46573d6000803e3d6000fd5b505050506040513d6020811015610a5c57600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff166108fc610a9b8386610b1b90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015610ac6573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff4601942d4f74c92044aca098efd29dd8bb2c2dd8c57328ec919f138686a93ad856040518082815260200191505060405180910390a250505050565b6000610b5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cbd565b905092915050565b600080831415610b785760009050610be5565b6000828402905082848281610b8957fe5b0414610be0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610e446021913960400191505060405180910390fd5b809150505b92915050565b6000610c2d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d7d565b905092915050565b600080828401905083811015610cb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000838311158290610d6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d2f578082015181840152602081019050610d14565b50505050905090810190601f168015610d5c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290610e29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610dee578082015181840152602081019050610dd3565b50505050905090810190601f168015610e1b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610e3557fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a165627a7a723058200ac530d52ad1dcebcbe5beb945c79fd80135b96d470c3fbf1c33f5ceec64ee7b0029","linkReferences":{},"deployedLinkReferences":{}}')},5131:f=>{"use strict";f.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"SparrowNFTs","sourceName":"contracts/SparrowNFTs.sol","abi":[{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"uri","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"titles","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"ids","type":"uint256[]"},{"name":"amounts","type":"uint256[]"},{"name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"extname","type":"string"},{"name":"title","type":"string"},{"name":"description","type":"string"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"accounts","type":"address[]"},{"name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"}],"name":"mintMore","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"ids","type":"uint256[]"},{"name":"values","type":"uint256[]"}],"name":"burnBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"minters","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"current","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"extname","type":"string"},{"name":"title","type":"string"},{"name":"description","type":"string"}],"name":"changeInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"extnames","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"descriptions","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"id","type":"uint256"},{"name":"amount","type":"uint256"},{"name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"id","type":"uint256"},{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"operator","type":"address"},{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"operator","type":"address"},{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"ids","type":"uint256[]"},{"indexed":false,"name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":true,"name":"operator","type":"address"},{"indexed":false,"name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"string"},{"indexed":true,"name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}],"bytecode":"0x608060405260006009553480156200001657600080fd5b506040518060600160405280602d815260200162005885602d9139336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620001056301ffc9a760e01b620001a960201b60201c565b6200011681620002b260201b60201c565b6200012e636433ca1f60e01b620001a960201b60201c565b62000146630e89341c60e01b620001a960201b60201c565b506200015f639e094e9e60e01b620001a960201b60201c565b6200017033620002ce60201b60201c565b6000600760006101000a81548160ff021916908315150217905550620001a3630e8ffdb760e01b620001a960201b60201c565b620005a2565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141562000246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4b495031333a20696e76616c696420696e74657266616365206964000000000081525060200191505060405180910390fd5b6001806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b8060059080519060200190620002ca929190620004f3565b5050565b620002e98160066200032f60201b62004d8b1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b6200034182826200041360201b60201c565b15620003b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200049c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620058b26022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200053657805160ff191683800117855562000567565b8280016001018555821562000567579182015b828111156200056657825182559160200191906001019062000549565b5b5090506200057691906200057a565b5090565b6200059f91905b808211156200059b57600081600090555060010162000581565b5090565b90565b6152d380620005b26000396000f3fe608060405234801561001057600080fd5b50600436106101ee5760003560e01c806382dc1ec41161010f578063da3a7236116100a2578063f242432a11610071578063f242432a1461107c578063f2fde38b1461118b578063f5298aca146111cf578063fabc1cbc14611227576101ee565b8063da3a723614610d85578063db5fff8614610eb2578063e6f859e714610f59578063e985e9c514611000576101ee565b80638f32d59b116100de5780638f32d59b14610cb35780639fa6a6e314610cd5578063a22cb46514610cf3578063bd85b03914610d43576101ee565b806382dc1ec414610bad5780638456cb5914610bf15780638623ec7b14610bfb5780638da5cb5b14610c69576101ee565b80633f4ba83a116101875780635c975abb116101565780635c975abb14610a0b5780636b20c45414610a2d5780636ef8d66d14610b99578063715018a614610ba3576101ee565b80633f4ba83a146107cc57806346fbf68e146107d65780634e1273f4146108325780634f7c055e146109d3576101ee565b8063136439dd116101c3578063136439dd146103a75780632cda1bf7146103d55780632eb2c2d61461047c57806331b6475c1461069f576101ee565b8062dde10e146101f3578062fdd58e1461023957806301ffc9a71461029b5780630e89341c14610300575b600080fd5b61021f6004803603602081101561020957600080fd5b8101908080359060200190929190505050611255565b604051808215151515815260200191505060405180910390f35b6102856004803603604081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061127f565b6040518082815260200191505060405180910390f35b6102e6600480360360208110156102b157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061135f565b604051808215151515815260200191505060405180910390f35b61032c6004803603602081101561031657600080fd5b81019080803590602001909291905050506113c7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036c578082015181840152602081019050610351565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d3600480360360208110156103bd57600080fd5b810190808035906020019092919050505061168b565b005b610401600480360360208110156103eb57600080fd5b810190808035906020019092919050505061181d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610441578082015181840152602081019050610426565b50505050905090810190601f16801561046e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61069d600480360360a081101561049257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104ef57600080fd5b82018360208201111561050157600080fd5b8035906020019184602083028401116401000000008311171561052357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561058357600080fd5b82018360208201111561059557600080fd5b803590602001918460208302840111640100000000831117156105b757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561061757600080fd5b82018360208201111561062957600080fd5b8035906020019184600183028401116401000000008311171561064b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506118cd565b005b6107ca600480360360808110156106b557600080fd5b81019080803590602001906401000000008111156106d257600080fd5b8201836020820111156106e457600080fd5b8035906020019184600183028401116401000000008311171561070657600080fd5b90919293919293908035906020019064010000000081111561072757600080fd5b82018360208201111561073957600080fd5b8035906020019184600183028401116401000000008311171561075b57600080fd5b90919293919293908035906020019064010000000081111561077c57600080fd5b82018360208201111561078e57600080fd5b803590602001918460018302840111640100000000831117156107b057600080fd5b909192939192939080359060200190929190505050611db0565b005b6107d4611eb5565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612015565b604051808215151515815260200191505060405180910390f35b61097c6004803603604081101561084857600080fd5b810190808035906020019064010000000081111561086557600080fd5b82018360208201111561087757600080fd5b8035906020019184602083028401116401000000008311171561089957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612032565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156109bf5780820151818401526020810190506109a4565b505050509050019250505060405180910390f35b610a09600480360360408110156109e957600080fd5b810190808035906020019092919080359060200190929190505050612210565b005b610a1361229a565b604051808215151515815260200191505060405180910390f35b610b9760048036036060811015610a4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a8057600080fd5b820183602082011115610a9257600080fd5b80359060200191846020830284011164010000000083111715610ab457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b1457600080fd5b820183602082011115610b2657600080fd5b80359060200191846020830284011164010000000083111715610b4857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506122b1565b005b610ba1612364565b005b610bab61236f565b005b610bef60048036036020811015610bc357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124a8565b005b610bf9612512565b005b610c2760048036036020811015610c1157600080fd5b8101908080359060200190929190505050612673565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c716126a6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610cbb6126cf565b604051808215151515815260200191505060405180910390f35b610cdd612726565b6040518082815260200191505060405180910390f35b610d4160048036036040811015610d0957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061272c565b005b610d6f60048036036020811015610d5957600080fd5b81019080803590602001909291905050506128c7565b6040518082815260200191505060405180910390f35b610eb060048036036080811015610d9b57600080fd5b810190808035906020019092919080359060200190640100000000811115610dc257600080fd5b820183602082011115610dd457600080fd5b80359060200191846001830284011164010000000083111715610df657600080fd5b909192939192939080359060200190640100000000811115610e1757600080fd5b820183602082011115610e2957600080fd5b80359060200191846001830284011164010000000083111715610e4b57600080fd5b909192939192939080359060200190640100000000811115610e6c57600080fd5b820183602082011115610e7e57600080fd5b80359060200191846001830284011164010000000083111715610ea057600080fd5b90919293919293905050506128e4565b005b610ede60048036036020811015610ec857600080fd5b81019080803590602001909291905050506129c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f1e578082015181840152602081019050610f03565b50505050905090810190601f168015610f4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f8560048036036020811015610f6f57600080fd5b8101908080359060200190929190505050612a71565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610fc5578082015181840152602081019050610faa565b50505050905090810190601f168015610ff25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6110626004803603604081101561101657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b21565b604051808215151515815260200191505060405180910390f35b611189600480360360a081101561109257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561110357600080fd5b82018360208201111561111557600080fd5b8035906020019184600183028401116401000000008311171561113757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612bb5565b005b6111cd600480360360208110156111a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f7f565b005b611225600480360360608110156111e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050613005565b005b6112536004803603602081101561123d57600080fd5b81019080803590602001909291905050506130b8565b005b60006008600083815260200190815260200160002060009054906101000a900460ff169050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611306576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180614fcc6029913960400191505060405180910390fd5b6002600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606000829050600073ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806150c36026913960400191505060405180910390fd5b60008114156114b1576040518060600160405280602a81526020016151ad602a9139915050611686565b60606040518060600160405280602981526020016150426029913990506060600083905060005b600082146114f857600181019050600a82816114f057fe5b0491506114d8565b6060816040519080825280601f01601f19166020018201604052801561152d5781602001600182028038833980820191505090505b5090505b6000861461159d57600182039150600a868161154957fe5b0660300160f81b81838151811061155c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a868161159557fe5b049550611531565b80935060008551116115be576040518060200160405280600081525061167d565b84846040516020018083805190602001908083835b602083106115f657805182526020820191506020810190506020830392506115d3565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b602083106116475780518252602082019150602081019050602083039250611624565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040525b96505050505050505b919050565b61169433612015565b6116e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600015156008600083815260200190815260200160002060009054906101000a900460ff16151514611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4b495033375061757361626c653a20616c72656164792070617573656400000081525060200191505060405180910390fd5b60016008600083815260200190815260200160002060006101000a81548160ff0219169083151502179055507fabdb1c9133626eb4f8c5f2ec7e3c60a969a2fb148a0c341a3cf6597242c8f8f58133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600c6020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118c55780601f1061189a576101008083540402835291602001916118c5565b820191906000526020600020905b8154815290600101906020018083116118a857829003601f168201915b505050505081565b8151835114611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061501c6026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806151fe6023913960400191505060405180910390fd5b6119b561324a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806119fb57506119fa856119f561324a565b612b21565b5b611a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061506b6030913960400191505060405180910390fd5b6000611a5a61324a565b9050611a6a818787878787613252565b60008090505b8451811015611c3e576000858281518110611a8757fe5b602002602001015190506000858381518110611a9f57fe5b60200260200101519050611b268160405180606001604052806028815260200161509b602891396002600086815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bdd816002600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b6002600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050611a70565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cee578082015181840152602081019050611cd3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d30578082015181840152602081019050611d15565b5050505090500194505050505060405180910390a4611d538187878787876134ad565b611da8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806152216036913960400191505060405180910390fd5b505050505050565b611dcd336009548360405180602001604052806000815250613b25565b33600a6000600954815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508686600b600060095481526020019081526020016000209190611e45929190614e66565b508484600c600060095481526020019081526020016000209190611e6a929190614e66565b508282600d600060095481526020019081526020016000209190611e8f929190614e66565b50611ea6600160095461342590919063ffffffff16565b60098190555050505050505050565b611ebe33612015565b611f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600760009054906101000a900460ff16611f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061202b826006613dd790919063ffffffff16565b9050919050565b6060815183511461208e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180614f0c6027913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156120c05781602001602082028038833980820191505090505b50905060008090505b845181101561220557600073ffffffffffffffffffffffffffffffffffffffff168582815181106120f657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561216b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615257602f913960400191505060405180910390fd5b6002600085838151811061217b57fe5b60200260200101518152602001908152602001600020600086838151811061219f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181106121ee57fe5b6020026020010181815250508060010190506120c9565b508091505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600a600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461227b57600080fd5b61229633838360405180602001604052806000815250613b25565b5050565b6000600760009054906101000a900460ff16905090565b6122b961324a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806122ff57506122fe836122f961324a565b612b21565b5b612354576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151d76027913960400191505060405180910390fd5b61235f838383613eb5565b505050565b61236d33614283565b565b6123776126cf565b6123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6124b133612015565b612506576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b61250f816142dd565b50565b61251b33612015565b612570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600760009054906101000a900460ff16156125f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60095481565b8173ffffffffffffffffffffffffffffffffffffffff1661274b61324a565b73ffffffffffffffffffffffffffffffffffffffff1614156127b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151346027913960400191505060405180910390fd5b80600360006127c561324a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661287261324a565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600060046000838152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600a600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461294f57600080fd5b8585600b60008a81526020019081526020016000209190612971929190614e66565b508383600c60008a81526020019081526020016000209190612994929190614e66565b508181600d60008a815260200190815260200160002091906129b7929190614e66565b5050505050505050565b600b6020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a695780601f10612a3e57610100808354040283529160200191612a69565b820191906000526020600020905b815481529060010190602001808311612a4c57829003601f168201915b505050505081565b600d6020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b195780601f10612aee57610100808354040283529160200191612b19565b820191906000526020600020905b815481529060010190602001808311612afc57829003601f168201915b505050505081565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612c3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806151fe6023913960400191505060405180910390fd5b612c4361324a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612c895750612c8885612c8361324a565b612b21565b5b612cde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151d76027913960400191505060405180910390fd5b6000612ce861324a565b9050612d08818787612cf988614337565b612d0288614337565b87613252565b612d858360405180606001604052806028815260200161509b602891396002600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e3c836002600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b6002600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a4612f22818787878787614390565b612f77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061517d6030913960400191505060405180910390fd5b505050505050565b612f876126cf565b612ff9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61300281614904565b50565b61300d61324a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061305357506130528361304d61324a565b612b21565b5b6130a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151d76027913960400191505060405180910390fd5b6130b3838383614a48565b505050565b6130c133612015565b613116576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600115156008600083815260200190815260200160002060009054906101000a900460ff161515146131b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4b495033375061757361626c653a20616c726561647920756e7061757365640081525060200191505060405180910390fd5b60006008600083815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffe9b5e5216db9de81757f43d20f846bea509c040a560d136b8263dd8cd7642388133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600033905090565b61325a61229a565b156132b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061510a602a913960400191505060405180910390fd5b60008090505b835181101561335c5760001515600860008684815181106132d357fe5b6020026020010151815260200190815260200160002060009054906101000a900460ff1615151461334f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806152866022913960400191505060405180910390fd5b80806001019150506132b6565b50505050505050565b6000838311158290613412576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133d75780820151818401526020810190506133bc565b50505050905090810190601f1680156134045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156134a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060606134d18773ffffffffffffffffffffffffffffffffffffffff16614cbb565b6134e057600192505050613b1b565b8673ffffffffffffffffffffffffffffffffffffffff1663bc197c8160e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156135b657808201518184015260208101905061359b565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156135f85780820151818401526020810190506135dd565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561363757808201518184015260208101905061361c565b50505050905090810190601f1680156136645780820380516001836020036101000a031916815260200191505b5098505050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106136ff57805182526020820191506020810190506020830392506136dc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613761576040519150601f19603f3d011682016040523d82523d6000602084013e613766565b606091505b50809250819350505060008151141580156137ea575063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168180602001905160208110156137b857600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156137fa57600192505050613b1b565b8673ffffffffffffffffffffffffffffffffffffffff16639b49e33260e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156138d05780820151818401526020810190506138b5565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156139125780820151818401526020810190506138f7565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015613951578082015181840152602081019050613936565b50505050905090810190601f16801561397e5780820380516001836020036101000a031916815260200191505b5098505050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310613a1957805182526020820191506020810190506020830392506139f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613a7b576040519150601f19603f3d011682016040523d82523d6000602084013e613a80565b606091505b5080925081935050506000815114158015613b045750639b49e33260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916818060200190516020811015613ad257600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15613b1457600192505050613b1b565b6000925050505b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613bc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4b495033373a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6000613bd261324a565b9050613bf381600087613be488614337565b613bed88614337565b87613252565b613c56836002600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b6002600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613cd083600460008781526020019081526020016000205461342590919063ffffffff16565b60046000868152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a4613d7b81600087878787614390565b613dd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061517d6030913960400191505060405180910390fd5b5050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613e5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061515b6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614fab6021913960400191505060405180910390fd5b8051825114613f95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061501c6026913960400191505060405180910390fd5b6000613f9f61324a565b9050613fbf81856000868660405180602001604052806000815250613252565b60008090505b835181101561417557614071838281518110613fdd57fe5b6020026020010151604051806060016040528060228152602001614f89602291396002600088868151811061400e57fe5b6020026020010151815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600086848151811061408157fe5b6020026020010151815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061413e8382815181106140e757fe5b6020026020010151604051806060016040528060278152602001614ff5602791396004600088868151811061411857fe5b60200260200101518152602001908152602001600020546133659092919063ffffffff16565b6004600086848151811061414e57fe5b60200260200101518152602001908152602001600020819055508080600101915050613fc5565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561422657808201518184015260208101905061420b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561426857808201518184015260208101905061424d565b5050505090500194505050505060405180910390a450505050565b614297816006614cce90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6142f1816006614d8b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b606080600160405190808252806020026020018201604052801561436a5781602001602082028038833980820191505090505b509050828160008151811061437b57fe5b60200260200101818152505080915050919050565b60008060606143b48773ffffffffffffffffffffffffffffffffffffffff16614cbb565b6143c3576001925050506148fa565b8673ffffffffffffffffffffffffffffffffffffffff1663f23a6e6160e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561449a57808201518184015260208101905061447f565b50505050905090810190601f1680156144c75780820380516001836020036101000a031916815260200191505b509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310614560578051825260208201915060208101905060208303925061453d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146145c2576040519150601f19603f3d011682016040523d82523d6000602084013e6145c7565b606091505b508092508193505050600081511415801561464b575063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681806020019051602081101561461957600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b1561465b576001925050506148fa565b8673ffffffffffffffffffffffffffffffffffffffff1663e78b332560e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614732578082015181840152602081019050614717565b50505050905090810190601f16801561475f5780820380516001836020036101000a031916815260200191505b509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106147f857805182526020820191506020810190506020830392506147d5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461485a576040519150601f19603f3d011682016040523d82523d6000602084013e61485f565b606091505b50809250819350505060008151141580156148e3575063e78b332560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168180602001905160208110156148b157600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156148f3576001925050506148fa565b6000925050505b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561498a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614f636026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614fab6021913960400191505060405180910390fd5b6000614ad861324a565b9050614b0881856000614aea87614337565b614af387614337565b60405180602001604052806000815250613252565b614b8582604051806060016040528060228152602001614f89602291396002600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614c1982604051806060016040528060278152602001614ff56027913960046000878152602001908152602001600020546133659092919063ffffffff16565b6004600085815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a450505050565b600080823b905060008111915050919050565b614cd88282613dd7565b614d2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806150e96021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b614d958282613dd7565b15614e08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614ea757803560ff1916838001178555614ed5565b82800160010185558215614ed5579182015b82811115614ed4578235825591602001919060010190614eb9565b5b509050614ee29190614ee6565b5090565b614f0891905b80821115614f04576000816000905550600101614eec565b5090565b9056fe4b495033373a206163636f756e747320616e6420696473206c656e677468206d69736d61746368506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734b495033373a206275726e20616d6f756e7420657863656564732062616c616e63654b495033373a206275726e2066726f6d20746865207a65726f20616464726573734b495033373a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734b495033373a206275726e20616d6f756e74206578636565647320746f74616c20737570706c794b495033373a2069647320616e6420616d6f756e7473206c656e677468206d69736d6174636868747470733a2f2f6170692e7269636563616b656d696c6c2e636f6d2f73706172726f772f6e66742f4b495033373a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644b495033373a20696e73756666696369656e742062616c616e636520666f72207472616e736665724b495033373a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654b495033375061757361626c653a20746f6b656e207472616e73666572207768696c65207061757365644b495033373a2073657474696e6720617070726f76616c2073746174757320666f722073656c66526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734b495033373a207472616e7366657220746f206e6f6e204b49503337526563656976657220696d706c656d656e74657268747470733a2f2f6170692e7269636563616b656d696c6c2e636f6d2f73706172726f772f6e66742f304b495033373a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644b495033373a207472616e7366657220746f20746865207a65726f20616464726573734b495033373a206261746368207472616e7366657220746f206e6f6e204b49503337526563656976657220696d706c656d656e7465724b495033373a2062617463682062616c616e636520717565727920666f7220746865207a65726f20616464726573734b495033375061757361626c653a2074686520746f6b656e20697320706175736564a165627a7a72305820fcba6406285d675ba9d9efe83775a368945214bee708dd7c604df657531099c5002968747470733a2f2f6170692e7269636563616b656d696c6c2e636f6d2f73706172726f772f6e66742f7b69647d526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373","deployedBytecode":"0x608060405234801561001057600080fd5b50600436106101ee5760003560e01c806382dc1ec41161010f578063da3a7236116100a2578063f242432a11610071578063f242432a1461107c578063f2fde38b1461118b578063f5298aca146111cf578063fabc1cbc14611227576101ee565b8063da3a723614610d85578063db5fff8614610eb2578063e6f859e714610f59578063e985e9c514611000576101ee565b80638f32d59b116100de5780638f32d59b14610cb35780639fa6a6e314610cd5578063a22cb46514610cf3578063bd85b03914610d43576101ee565b806382dc1ec414610bad5780638456cb5914610bf15780638623ec7b14610bfb5780638da5cb5b14610c69576101ee565b80633f4ba83a116101875780635c975abb116101565780635c975abb14610a0b5780636b20c45414610a2d5780636ef8d66d14610b99578063715018a614610ba3576101ee565b80633f4ba83a146107cc57806346fbf68e146107d65780634e1273f4146108325780634f7c055e146109d3576101ee565b8063136439dd116101c3578063136439dd146103a75780632cda1bf7146103d55780632eb2c2d61461047c57806331b6475c1461069f576101ee565b8062dde10e146101f3578062fdd58e1461023957806301ffc9a71461029b5780630e89341c14610300575b600080fd5b61021f6004803603602081101561020957600080fd5b8101908080359060200190929190505050611255565b604051808215151515815260200191505060405180910390f35b6102856004803603604081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061127f565b6040518082815260200191505060405180910390f35b6102e6600480360360208110156102b157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061135f565b604051808215151515815260200191505060405180910390f35b61032c6004803603602081101561031657600080fd5b81019080803590602001909291905050506113c7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036c578082015181840152602081019050610351565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d3600480360360208110156103bd57600080fd5b810190808035906020019092919050505061168b565b005b610401600480360360208110156103eb57600080fd5b810190808035906020019092919050505061181d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610441578082015181840152602081019050610426565b50505050905090810190601f16801561046e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61069d600480360360a081101561049257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104ef57600080fd5b82018360208201111561050157600080fd5b8035906020019184602083028401116401000000008311171561052357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561058357600080fd5b82018360208201111561059557600080fd5b803590602001918460208302840111640100000000831117156105b757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561061757600080fd5b82018360208201111561062957600080fd5b8035906020019184600183028401116401000000008311171561064b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506118cd565b005b6107ca600480360360808110156106b557600080fd5b81019080803590602001906401000000008111156106d257600080fd5b8201836020820111156106e457600080fd5b8035906020019184600183028401116401000000008311171561070657600080fd5b90919293919293908035906020019064010000000081111561072757600080fd5b82018360208201111561073957600080fd5b8035906020019184600183028401116401000000008311171561075b57600080fd5b90919293919293908035906020019064010000000081111561077c57600080fd5b82018360208201111561078e57600080fd5b803590602001918460018302840111640100000000831117156107b057600080fd5b909192939192939080359060200190929190505050611db0565b005b6107d4611eb5565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612015565b604051808215151515815260200191505060405180910390f35b61097c6004803603604081101561084857600080fd5b810190808035906020019064010000000081111561086557600080fd5b82018360208201111561087757600080fd5b8035906020019184602083028401116401000000008311171561089957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612032565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156109bf5780820151818401526020810190506109a4565b505050509050019250505060405180910390f35b610a09600480360360408110156109e957600080fd5b810190808035906020019092919080359060200190929190505050612210565b005b610a1361229a565b604051808215151515815260200191505060405180910390f35b610b9760048036036060811015610a4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a8057600080fd5b820183602082011115610a9257600080fd5b80359060200191846020830284011164010000000083111715610ab457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b1457600080fd5b820183602082011115610b2657600080fd5b80359060200191846020830284011164010000000083111715610b4857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506122b1565b005b610ba1612364565b005b610bab61236f565b005b610bef60048036036020811015610bc357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124a8565b005b610bf9612512565b005b610c2760048036036020811015610c1157600080fd5b8101908080359060200190929190505050612673565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c716126a6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610cbb6126cf565b604051808215151515815260200191505060405180910390f35b610cdd612726565b6040518082815260200191505060405180910390f35b610d4160048036036040811015610d0957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061272c565b005b610d6f60048036036020811015610d5957600080fd5b81019080803590602001909291905050506128c7565b6040518082815260200191505060405180910390f35b610eb060048036036080811015610d9b57600080fd5b810190808035906020019092919080359060200190640100000000811115610dc257600080fd5b820183602082011115610dd457600080fd5b80359060200191846001830284011164010000000083111715610df657600080fd5b909192939192939080359060200190640100000000811115610e1757600080fd5b820183602082011115610e2957600080fd5b80359060200191846001830284011164010000000083111715610e4b57600080fd5b909192939192939080359060200190640100000000811115610e6c57600080fd5b820183602082011115610e7e57600080fd5b80359060200191846001830284011164010000000083111715610ea057600080fd5b90919293919293905050506128e4565b005b610ede60048036036020811015610ec857600080fd5b81019080803590602001909291905050506129c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f1e578082015181840152602081019050610f03565b50505050905090810190601f168015610f4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f8560048036036020811015610f6f57600080fd5b8101908080359060200190929190505050612a71565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610fc5578082015181840152602081019050610faa565b50505050905090810190601f168015610ff25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6110626004803603604081101561101657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b21565b604051808215151515815260200191505060405180910390f35b611189600480360360a081101561109257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561110357600080fd5b82018360208201111561111557600080fd5b8035906020019184600183028401116401000000008311171561113757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612bb5565b005b6111cd600480360360208110156111a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f7f565b005b611225600480360360608110156111e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050613005565b005b6112536004803603602081101561123d57600080fd5b81019080803590602001909291905050506130b8565b005b60006008600083815260200190815260200160002060009054906101000a900460ff169050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611306576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180614fcc6029913960400191505060405180910390fd5b6002600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060016000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606000829050600073ffffffffffffffffffffffffffffffffffffffff16600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806150c36026913960400191505060405180910390fd5b60008114156114b1576040518060600160405280602a81526020016151ad602a9139915050611686565b60606040518060600160405280602981526020016150426029913990506060600083905060005b600082146114f857600181019050600a82816114f057fe5b0491506114d8565b6060816040519080825280601f01601f19166020018201604052801561152d5781602001600182028038833980820191505090505b5090505b6000861461159d57600182039150600a868161154957fe5b0660300160f81b81838151811061155c57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a868161159557fe5b049550611531565b80935060008551116115be576040518060200160405280600081525061167d565b84846040516020018083805190602001908083835b602083106115f657805182526020820191506020810190506020830392506115d3565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b602083106116475780518252602082019150602081019050602083039250611624565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040525b96505050505050505b919050565b61169433612015565b6116e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600015156008600083815260200190815260200160002060009054906101000a900460ff16151514611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4b495033375061757361626c653a20616c72656164792070617573656400000081525060200191505060405180910390fd5b60016008600083815260200190815260200160002060006101000a81548160ff0219169083151502179055507fabdb1c9133626eb4f8c5f2ec7e3c60a969a2fb148a0c341a3cf6597242c8f8f58133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600c6020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118c55780601f1061189a576101008083540402835291602001916118c5565b820191906000526020600020905b8154815290600101906020018083116118a857829003601f168201915b505050505081565b8151835114611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061501c6026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806151fe6023913960400191505060405180910390fd5b6119b561324a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806119fb57506119fa856119f561324a565b612b21565b5b611a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061506b6030913960400191505060405180910390fd5b6000611a5a61324a565b9050611a6a818787878787613252565b60008090505b8451811015611c3e576000858281518110611a8757fe5b602002602001015190506000858381518110611a9f57fe5b60200260200101519050611b268160405180606001604052806028815260200161509b602891396002600086815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bdd816002600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b6002600084815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050806001019050611a70565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cee578082015181840152602081019050611cd3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d30578082015181840152602081019050611d15565b5050505090500194505050505060405180910390a4611d538187878787876134ad565b611da8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806152216036913960400191505060405180910390fd5b505050505050565b611dcd336009548360405180602001604052806000815250613b25565b33600a6000600954815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508686600b600060095481526020019081526020016000209190611e45929190614e66565b508484600c600060095481526020019081526020016000209190611e6a929190614e66565b508282600d600060095481526020019081526020016000209190611e8f929190614e66565b50611ea6600160095461342590919063ffffffff16565b60098190555050505050505050565b611ebe33612015565b611f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600760009054906101000a900460ff16611f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600061202b826006613dd790919063ffffffff16565b9050919050565b6060815183511461208e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180614f0c6027913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156120c05781602001602082028038833980820191505090505b50905060008090505b845181101561220557600073ffffffffffffffffffffffffffffffffffffffff168582815181106120f657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561216b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615257602f913960400191505060405180910390fd5b6002600085838151811061217b57fe5b60200260200101518152602001908152602001600020600086838151811061219f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548282815181106121ee57fe5b6020026020010181815250508060010190506120c9565b508091505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600a600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461227b57600080fd5b61229633838360405180602001604052806000815250613b25565b5050565b6000600760009054906101000a900460ff16905090565b6122b961324a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806122ff57506122fe836122f961324a565b612b21565b5b612354576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151d76027913960400191505060405180910390fd5b61235f838383613eb5565b505050565b61236d33614283565b565b6123776126cf565b6123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6124b133612015565b612506576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b61250f816142dd565b50565b61251b33612015565b612570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600760009054906101000a900460ff16156125f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60095481565b8173ffffffffffffffffffffffffffffffffffffffff1661274b61324a565b73ffffffffffffffffffffffffffffffffffffffff1614156127b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151346027913960400191505060405180910390fd5b80600360006127c561324a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661287261324a565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600060046000838152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600a600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461294f57600080fd5b8585600b60008a81526020019081526020016000209190612971929190614e66565b508383600c60008a81526020019081526020016000209190612994929190614e66565b508181600d60008a815260200190815260200160002091906129b7929190614e66565b5050505050505050565b600b6020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a695780601f10612a3e57610100808354040283529160200191612a69565b820191906000526020600020905b815481529060010190602001808311612a4c57829003601f168201915b505050505081565b600d6020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b195780601f10612aee57610100808354040283529160200191612b19565b820191906000526020600020905b815481529060010190602001808311612afc57829003601f168201915b505050505081565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612c3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806151fe6023913960400191505060405180910390fd5b612c4361324a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480612c895750612c8885612c8361324a565b612b21565b5b612cde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151d76027913960400191505060405180910390fd5b6000612ce861324a565b9050612d08818787612cf988614337565b612d0288614337565b87613252565b612d858360405180606001604052806028815260200161509b602891396002600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e3c836002600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b6002600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a4612f22818787878787614390565b612f77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061517d6030913960400191505060405180910390fd5b505050505050565b612f876126cf565b612ff9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61300281614904565b50565b61300d61324a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061305357506130528361304d61324a565b612b21565b5b6130a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806151d76027913960400191505060405180910390fd5b6130b3838383614a48565b505050565b6130c133612015565b613116576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f336030913960400191505060405180910390fd5b600115156008600083815260200190815260200160002060009054906101000a900460ff161515146131b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4b495033375061757361626c653a20616c726561647920756e7061757365640081525060200191505060405180910390fd5b60006008600083815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffe9b5e5216db9de81757f43d20f846bea509c040a560d136b8263dd8cd7642388133604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b600033905090565b61325a61229a565b156132b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061510a602a913960400191505060405180910390fd5b60008090505b835181101561335c5760001515600860008684815181106132d357fe5b6020026020010151815260200190815260200160002060009054906101000a900460ff1615151461334f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806152866022913960400191505060405180910390fd5b80806001019150506132b6565b50505050505050565b6000838311158290613412576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133d75780820151818401526020810190506133bc565b50505050905090810190601f1680156134045780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156134a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060606134d18773ffffffffffffffffffffffffffffffffffffffff16614cbb565b6134e057600192505050613b1b565b8673ffffffffffffffffffffffffffffffffffffffff1663bc197c8160e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156135b657808201518184015260208101905061359b565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156135f85780820151818401526020810190506135dd565b50505050905001848103825285818151815260200191508051906020019080838360005b8381101561363757808201518184015260208101905061361c565b50505050905090810190601f1680156136645780820380516001836020036101000a031916815260200191505b5098505050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106136ff57805182526020820191506020810190506020830392506136dc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613761576040519150601f19603f3d011682016040523d82523d6000602084013e613766565b606091505b50809250819350505060008151141580156137ea575063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168180602001905160208110156137b857600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156137fa57600192505050613b1b565b8673ffffffffffffffffffffffffffffffffffffffff16639b49e33260e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156138d05780820151818401526020810190506138b5565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156139125780820151818401526020810190506138f7565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015613951578082015181840152602081019050613936565b50505050905090810190601f16801561397e5780820380516001836020036101000a031916815260200191505b5098505050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310613a1957805182526020820191506020810190506020830392506139f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613a7b576040519150601f19603f3d011682016040523d82523d6000602084013e613a80565b606091505b5080925081935050506000815114158015613b045750639b49e33260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916818060200190516020811015613ad257600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15613b1457600192505050613b1b565b6000925050505b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613bc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4b495033373a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6000613bd261324a565b9050613bf381600087613be488614337565b613bed88614337565b87613252565b613c56836002600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461342590919063ffffffff16565b6002600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613cd083600460008781526020019081526020016000205461342590919063ffffffff16565b60046000868152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051808381526020018281526020019250505060405180910390a4613d7b81600087878787614390565b613dd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061517d6030913960400191505060405180910390fd5b5050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613e5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061515b6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614fab6021913960400191505060405180910390fd5b8051825114613f95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061501c6026913960400191505060405180910390fd5b6000613f9f61324a565b9050613fbf81856000868660405180602001604052806000815250613252565b60008090505b835181101561417557614071838281518110613fdd57fe5b6020026020010151604051806060016040528060228152602001614f89602291396002600088868151811061400e57fe5b6020026020010151815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600086848151811061408157fe5b6020026020010151815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061413e8382815181106140e757fe5b6020026020010151604051806060016040528060278152602001614ff5602791396004600088868151811061411857fe5b60200260200101518152602001908152602001600020546133659092919063ffffffff16565b6004600086848151811061414e57fe5b60200260200101518152602001908152602001600020819055508080600101915050613fc5565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561422657808201518184015260208101905061420b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561426857808201518184015260208101905061424d565b5050505090500194505050505060405180910390a450505050565b614297816006614cce90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6142f1816006614d8b90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b606080600160405190808252806020026020018201604052801561436a5781602001602082028038833980820191505090505b509050828160008151811061437b57fe5b60200260200101818152505080915050919050565b60008060606143b48773ffffffffffffffffffffffffffffffffffffffff16614cbb565b6143c3576001925050506148fa565b8673ffffffffffffffffffffffffffffffffffffffff1663f23a6e6160e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561449a57808201518184015260208101905061447f565b50505050905090810190601f1680156144c75780820380516001836020036101000a031916815260200191505b509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310614560578051825260208201915060208101905060208303925061453d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146145c2576040519150601f19603f3d011682016040523d82523d6000602084013e6145c7565b606091505b508092508193505050600081511415801561464b575063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681806020019051602081101561461957600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b1561465b576001925050506148fa565b8673ffffffffffffffffffffffffffffffffffffffff1663e78b332560e01b8a8a898989604051602401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614732578082015181840152602081019050614717565b50505050905090810190601f16801561475f5780820380516001836020036101000a031916815260200191505b509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106147f857805182526020820191506020810190506020830392506147d5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461485a576040519150601f19603f3d011682016040523d82523d6000602084013e61485f565b606091505b50809250819350505060008151141580156148e3575063e78b332560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168180602001905160208110156148b157600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156148f3576001925050506148fa565b6000925050505b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561498a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614f636026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614fab6021913960400191505060405180910390fd5b6000614ad861324a565b9050614b0881856000614aea87614337565b614af387614337565b60405180602001604052806000815250613252565b614b8582604051806060016040528060228152602001614f89602291396002600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133659092919063ffffffff16565b6002600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614c1982604051806060016040528060278152602001614ff56027913960046000878152602001908152602001600020546133659092919063ffffffff16565b6004600085815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a450505050565b600080823b905060008111915050919050565b614cd88282613dd7565b614d2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806150e96021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b614d958282613dd7565b15614e08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614ea757803560ff1916838001178555614ed5565b82800160010185558215614ed5579182015b82811115614ed4578235825591602001919060010190614eb9565b5b509050614ee29190614ee6565b5090565b614f0891905b80821115614f04576000816000905550600101614eec565b5090565b9056fe4b495033373a206163636f756e747320616e6420696473206c656e677468206d69736d61746368506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c654f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734b495033373a206275726e20616d6f756e7420657863656564732062616c616e63654b495033373a206275726e2066726f6d20746865207a65726f20616464726573734b495033373a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734b495033373a206275726e20616d6f756e74206578636565647320746f74616c20737570706c794b495033373a2069647320616e6420616d6f756e7473206c656e677468206d69736d6174636868747470733a2f2f6170692e7269636563616b656d696c6c2e636f6d2f73706172726f772f6e66742f4b495033373a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644b495033373a20696e73756666696369656e742062616c616e636520666f72207472616e736665724b495033373a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654b495033375061757361626c653a20746f6b656e207472616e73666572207768696c65207061757365644b495033373a2073657474696e6720617070726f76616c2073746174757320666f722073656c66526f6c65733a206163636f756e7420697320746865207a65726f20616464726573734b495033373a207472616e7366657220746f206e6f6e204b49503337526563656976657220696d706c656d656e74657268747470733a2f2f6170692e7269636563616b656d696c6c2e636f6d2f73706172726f772f6e66742f304b495033373a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644b495033373a207472616e7366657220746f20746865207a65726f20616464726573734b495033373a206261746368207472616e7366657220746f206e6f6e204b49503337526563656976657220696d706c656d656e7465724b495033373a2062617463682062616c616e636520717565727920666f7220746865207a65726f20616464726573734b495033375061757361626c653a2074686520746f6b656e20697320706175736564a165627a7a72305820fcba6406285d675ba9d9efe83775a368945214bee708dd7c604df657531099c50029","linkReferences":{},"deployedLinkReferences":{}}')}},e={};function t(r){var n=e[r];if(void 0!==n)return n.exports;var i=e[r]={id:r,loaded:!1,exports:{}};return f[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}t.amdO={},t.n=f=>{var e=f&&f.__esModule?()=>f.default:()=>f;return t.d(e,{a:e}),e},t.d=(f,e)=>{for(var r in e)t.o(e,r)&&!t.o(f,r)&&Object.defineProperty(f,r,{enumerable:!0,get:e[r]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(f){if("object"==typeof window)return window}}(),t.o=(f,e)=>Object.prototype.hasOwnProperty.call(f,e),t.r=f=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(f,"__esModule",{value:!0})},t.nmd=f=>(f.paths=[],f.children||(f.children=[]),f);t(5981)})();