@wormhole-foundation/wormhole-connect 0.3.19-beta.3-development → 0.3.19-beta.5-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ccip-B8sh0red.js → ccip-De5bB7ry.js} +1 -1
- package/dist/assets/{evm-B3YdeaCI.js → evm-DJTN7n-6.js} +4 -4
- package/dist/assets/{index-moDeJTxm.js → index-CdA027fm.js} +1 -1
- package/dist/assets/{index-1ZJmfQkw.js → index-D8xdfMo8.js} +2 -2
- package/dist/assets/{index.es-CXmj0UJy.js → index.es-DsPAzXeV.js} +2 -2
- package/dist/main.js +7 -7
- package/dist/src/components/ManualAddressInput.d.ts.map +1 -1
- package/dist/src/routes/cosmosGateway/cosmosGateway.d.ts +2 -0
- package/dist/src/routes/cosmosGateway/cosmosGateway.d.ts.map +1 -1
- package/dist/src/routes/porticoBridge/porticoBridge.d.ts +2 -0
- package/dist/src/routes/porticoBridge/porticoBridge.d.ts.map +1 -1
- package/dist/src/routes/sdkv2/route.d.ts +1 -1
- package/dist/src/routes/sdkv2/route.d.ts.map +1 -1
- package/dist/src/routes/tbtc/tbtc.d.ts +2 -0
- package/dist/src/routes/tbtc/tbtc.d.ts.map +1 -1
- package/lib/{algorand-BDR3KPTJ.js → algorand-BizCMnCe.js} +1 -1
- package/lib/{algorand-CNPRWbNB.mjs → algorand-CZC9cPKi.mjs} +4 -4
- package/lib/{aptos-BPs26BCC.mjs → aptos-B4ng1XsR.mjs} +1 -1
- package/lib/{aptos-t3uXFwih.mjs → aptos-CRkEBLid.mjs} +4 -4
- package/lib/{aptos-tCZHrDAP.js → aptos-CXyHqFt8.js} +2 -2
- package/lib/{aptos-Br9Q1n2N.js → aptos-i8WEm-Fe.js} +1 -1
- package/lib/{browser-33Nc32cs.mjs → browser-CIwNo6kY.mjs} +2 -2
- package/lib/{browser-Cz60hQ-L.js → browser-DEzmpMBm.js} +1 -1
- package/lib/{ccip-CtmuOQGX.js → ccip-6omn1tDF.js} +1 -1
- package/lib/{ccip-CE49B2YD.mjs → ccip-LzzuUWf7.mjs} +1 -1
- package/lib/{chain-BT07YJHt.js → chain-BteoJHpg.js} +1 -1
- package/lib/{chain-CbwtJlkc.mjs → chain-Cc-vL0Ji.mjs} +1 -1
- package/lib/{cosmos-LlwNYP69.mjs → cosmos-5NiZ8EbB.mjs} +3 -3
- package/lib/{cosmos-t65H2NQC.js → cosmos-DM4Lrmu1.js} +1 -1
- package/lib/{cosmwasm-CiJ3I3AY.js → cosmwasm-8FJsT7LT.js} +2 -2
- package/lib/{cosmwasm-CbTKetWD.mjs → cosmwasm-BHEBPmf7.mjs} +6 -6
- package/lib/{create-Chqnlpoq.js → create-48Wkagqs.js} +1 -1
- package/lib/{create-HNw0Emrd.mjs → create-BIAJIVSg.mjs} +1 -1
- package/lib/{ens-validation.es6-BaZUabxu.js → ens-validation.es6-Bw--s4Qc.js} +1 -1
- package/lib/{ens-validation.es6-CyEOHc9J.mjs → ens-validation.es6-DQFhqeC0.mjs} +2 -2
- package/lib/{evm-lHNM4jqm.mjs → evm-B5hnoH2O.mjs} +6 -6
- package/lib/{evm-CjvzIUCn.mjs → evm-Dd33ef5o.mjs} +6 -6
- package/lib/{evm-CNC7JHe1.js → evm-JNEgzI8_.js} +4 -4
- package/lib/{evm-3AGyBI-h.js → evm-OwiMOsDg.js} +2 -2
- package/lib/{index-BWsL77BI.mjs → index-10BWvX1N.mjs} +3 -3
- package/lib/{index-DPNt5r2L.js → index-670AMJe5.js} +1 -1
- package/lib/{index-C4kvGnSA.mjs → index-B03MiI2p.mjs} +2 -2
- package/lib/{index-BpuXk_6h.js → index-B9pFbfyU.js} +1 -1
- package/lib/{index-35qsyZLz.js → index-BDi5PNJc.js} +1 -1
- package/lib/{index-BCSt_UXY.js → index-BFIX3imu.js} +1 -1
- package/lib/{index-CACyup9A.js → index-BHUxBugG.js} +1 -1
- package/lib/{index-DVVJw5ml.js → index-BHWhOqWI.js} +1 -1
- package/lib/{index-ztQgUCWf.js → index-BJPmRnHn.js} +1 -1
- package/lib/{index-BCnyHegg.mjs → index-Bg59b-Bk.mjs} +4 -4
- package/lib/{index-CbCfazgA.mjs → index-By8Yxkcx.mjs} +5 -5
- package/lib/{index-Tl7zYqHL.js → index-C1oy9Lkm.js} +6 -6
- package/lib/{index-DJzhcNDU.mjs → index-CHqEmT8z.mjs} +6 -6
- package/lib/{index-Bk7wdRtH.mjs → index-CMKVJZ8E.mjs} +3 -3
- package/lib/{index-DRTx-Ru8.mjs → index-CNbmckF9.mjs} +4 -4
- package/lib/{index-D1dHZqit.mjs → index-CU3qSQjR.mjs} +4 -4
- package/lib/{index-CjyrCdi_.mjs → index-CVjCpWVm.mjs} +1 -1
- package/lib/{index-BBtf8VGl.js → index-CYRY8C8f.js} +1 -1
- package/lib/{index-DfJLd65b.mjs → index-Cx7DnGQ7.mjs} +4 -4
- package/lib/{index-CdSy2Lfd.mjs → index-D4oa5qLu.mjs} +85 -62
- package/lib/{index-zKUpU-3R.mjs → index-D7DR5q91.mjs} +4 -4
- package/lib/{index-BH5gBrJu.mjs → index-D83yFXT3.mjs} +3 -3
- package/lib/{index-B6m0ovID.mjs → index-D8SeaoGs.mjs} +2 -2
- package/lib/{index-DGRaAUXo.mjs → index-D8l7OdtE.mjs} +2 -2
- package/lib/{index-Dbwiqljw.js → index-DETB2K9l.js} +1 -1
- package/lib/{index-abvwfKBf.js → index-DGfMxIjQ.js} +1 -1
- package/lib/{index-l_e-RUun.js → index-DLpTO2U3.js} +1 -1
- package/lib/{index-CokIAiMa.mjs → index-DX18kVfL.mjs} +4 -4
- package/lib/{index-dJMYtBle.mjs → index-DX6w1JtB.mjs} +4 -4
- package/lib/{index-B9L2kltl.mjs → index-DbMbSuyg.mjs} +4 -4
- package/lib/{index-DCPwTd_i.js → index-DfYaeaDv.js} +1 -1
- package/lib/{index-0t31FGKV.js → index-DjmghqSr.js} +1 -1
- package/lib/{index-UOSBfEgg.js → index-DlRC-hs-.js} +1 -1
- package/lib/{index-Cp5np38p.mjs → index-G7Dlm7ed.mjs} +1 -1
- package/lib/{index-Bp0NhDcb.js → index-Hyeca4Ym.js} +1 -1
- package/lib/{index-DVH-ZIP6.mjs → index-ROBBwabT.mjs} +4 -4
- package/lib/{index-CO9tmWap.js → index-WhcobQtR.js} +1 -1
- package/lib/{index-DrncQYMG.js → index-X-BikqCf.js} +1 -1
- package/lib/{index-BqGvvv6N.js → index-ZCZHbA1F.js} +1 -1
- package/lib/{index-Cofatf_w.js → index-isN8Fo1n.js} +1 -1
- package/lib/{index-B9gw1I6s.js → index-j8isX5f9.js} +1 -1
- package/lib/{index-CGLAoOXl.mjs → index-jlt17KkN.mjs} +4 -4
- package/lib/{index-BS1tjK_Z.mjs → index-mtuCwj6Z.mjs} +5 -5
- package/lib/{index-Bfw-brA6.js → index-oVIYJXdI.js} +1 -1
- package/lib/{index-CYap2RXm.js → index-tvG-rfJZ.js} +1 -1
- package/lib/{index-DvUq-nIQ.mjs → index-ybRLAtD8.mjs} +5 -5
- package/lib/{index.es-494n2GDU.js → index.es-B33YjOZu.js} +2 -2
- package/lib/{index.es-DnXnnX-i.mjs → index.es-BON8c55F.mjs} +4 -4
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/{libsodium-wrappers-9p7NdjLu.mjs → libsodium-wrappers-DTuXKVrZ.mjs} +1 -1
- package/lib/{libsodium-wrappers-Dechaffz.js → libsodium-wrappers-VihnPAqR.js} +1 -1
- package/lib/{sei-SWKTnPTF.mjs → sei-C6N03jzv.mjs} +2 -2
- package/lib/{sei-DORxBQd-.js → sei-DTeCXpXl.js} +1 -1
- package/lib/{solana-Bd9eRY8E.js → solana--YauUjmQ.js} +2 -2
- package/lib/{solana-T2pgCVfU.mjs → solana-BMm013WW.mjs} +6 -6
- package/lib/{solana-DvbMa7B_.mjs → solana-DdaraOHp.mjs} +3 -3
- package/lib/{solana-KhBV5LOd.js → solana-T3yS-Q_9.js} +1 -1
- package/lib/{solanaEmbed.esm-CnKFJhsj.js → solanaEmbed.esm-DMwXbxXO.js} +1 -1
- package/lib/{solanaEmbed.esm-8eZSo5K2.mjs → solanaEmbed.esm-D_lKLzGu.mjs} +2 -2
- package/lib/src/components/ManualAddressInput.d.ts.map +1 -1
- package/lib/src/routes/cosmosGateway/cosmosGateway.d.ts +2 -0
- package/lib/src/routes/cosmosGateway/cosmosGateway.d.ts.map +1 -1
- package/lib/src/routes/porticoBridge/porticoBridge.d.ts +2 -0
- package/lib/src/routes/porticoBridge/porticoBridge.d.ts.map +1 -1
- package/lib/src/routes/sdkv2/route.d.ts +1 -1
- package/lib/src/routes/sdkv2/route.d.ts.map +1 -1
- package/lib/src/routes/tbtc/tbtc.d.ts +2 -0
- package/lib/src/routes/tbtc/tbtc.d.ts.map +1 -1
- package/lib/{sui-DDu4a1uc.mjs → sui-Btvc4SGv.mjs} +4 -4
- package/lib/{sui-CjRGl9Gg.mjs → sui-CXyWZ2Gp.mjs} +1 -1
- package/lib/{sui-B382sZz0.js → sui-DWLiZoeB.js} +1 -1
- package/lib/{sui-DwH1wYGH.js → sui-DbQOBpeH.js} +2 -2
- package/lib/{unsignedTransaction-BbAfXtog.mjs → unsignedTransaction-CtPR6znR.mjs} +2 -2
- package/lib/{unsignedTransaction-mu6HJcHt.js → unsignedTransaction-DZq5iThY.js} +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var wd=Object.defineProperty;var Ad=(r,e,t)=>e in r?wd(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var y=(r,e,t)=>(Ad(r,typeof e!="symbol"?e+"":e,t),t),B0=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var l=(r,e,t)=>(B0(r,e,"read from private field"),t?t.call(r):e.get(r)),w=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},h=(r,e,t,n)=>(B0(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t);var Fr=(r,e,t,n)=>({set _(s){h(r,e,s,t)},get _(){return l(r,e,n)}}),I=(r,e,t)=>(B0(r,e,"access private method"),t);const de=require("./index-Tl7zYqHL.js"),Jf=require("./chain-BT07YJHt.js"),jf="6.12.1";function Ed(r,e,t){const n=e.split("|").map(i=>i.trim());for(let i=0;i<n.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof r===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=r,s}async function Ce(r){const e=Object.keys(r);return(await Promise.all(e.map(n=>Promise.resolve(r[n])))).reduce((n,s,i)=>(n[e[i]]=s,n),{})}function D(r,e,t){for(let n in e){let s=e[n];const i=t?t[n]:null;i&&Ed(s,i,n),Object.defineProperty(r,n,{enumerable:!0,value:s,writable:!1})}}function Jr(r){if(r==null)return"null";if(Array.isArray(r))return"[ "+r.map(Jr).join(", ")+" ]";if(r instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let n=0;n<r.length;n++)t+=e[r[n]>>4],t+=e[r[n]&15];return t}if(typeof r=="object"&&typeof r.toJSON=="function")return Jr(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"number":return r.toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{ "+e.map(t=>`${Jr(t)}: ${Jr(r[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function ke(r,e){return r&&r.code===e}function Vo(r){return ke(r,"CALL_EXCEPTION")}function ue(r,e,t){let n=r;{const i=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${Jr(t)}`);for(const a in t){if(a==="shortMessage")continue;const o=t[a];i.push(a+"="+Jr(o))}}i.push(`code=${e}`),i.push(`version=${jf}`),i.length&&(r+=" ("+i.join(", ")+")")}let s;switch(e){case"INVALID_ARGUMENT":s=new TypeError(r);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=new RangeError(r);break;default:s=new Error(r)}return D(s,{code:e}),t&&Object.assign(s,t),s.shortMessage==null&&D(s,{shortMessage:n}),s}function N(r,e,t,n){if(!r)throw ue(e,t,n)}function b(r,e,t,n){N(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function Wf(r,e,t){t==null&&(t=""),t&&(t=": "+t),N(r>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),N(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}const Nd=["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"é".normalize("NFD")!=="é")throw new Error("broken");r.push(e)}catch{}return r},[]);function Zf(r){N(Nd.indexOf(r)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:r}})}function Br(r,e,t){if(t==null&&(t=""),r!==e){let n=t,s="new";t&&(n+=".",s+=" "+t),N(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function Yf(r,e,t){if(r instanceof Uint8Array)return t?new Uint8Array(r):r;if(typeof r=="string"&&r.match(/^0x([0-9a-f][0-9a-f])*$/i)){const n=new Uint8Array((r.length-2)/2);let s=2;for(let i=0;i<n.length;i++)n[i]=parseInt(r.substring(s,s+2),16),s+=2;return n}b(!1,"invalid BytesLike value",e||"value",r)}function v(r,e){return Yf(r,e,!1)}function we(r,e){return Yf(r,e,!0)}function ee(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&r.length!==2+2*e||e===!0&&r.length%2!==0)}function d0(r){return ee(r,!0)||r instanceof Uint8Array}const Tc="0123456789abcdef";function P(r){const e=v(r);let t="0x";for(let n=0;n<e.length;n++){const s=e[n];t+=Tc[(s&240)>>4]+Tc[s&15]}return t}function X(r){return"0x"+r.map(e=>P(e).substring(2)).join("")}function Xr(r){return ee(r,!0)?(r.length-2)/2:v(r).length}function ne(r,e,t){const n=v(r);return t!=null&&t>n.length&&N(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),P(n.slice(e??0,t??n.length))}function Xf(r,e,t){const n=v(r);N(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),t?s.set(n,e-n.length):s.set(n,0),P(s)}function Tr(r,e){return Xf(r,e,!0)}function Pd(r,e){return Xf(r,e,!1)}const h0=BigInt(0),gt=BigInt(1),jr=9007199254740991;function Td(r,e){const t=x0(r,"value"),n=BigInt(K(e,"width"));if(N(t>>n===h0,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-gt){const s=(gt<<n)-gt;return-((~t&s)+gt)}return t}function $f(r,e){let t=L(r,"value");const n=BigInt(K(e,"width")),s=gt<<n-gt;if(t<h0){t=-t,N(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});const i=(gt<<n)-gt;return(~t&i)+gt}else N(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});return t}function hi(r,e){const t=x0(r,"value"),n=BigInt(K(e,"bits"));return t&(gt<<n)-gt}function L(r,e){switch(typeof r){case"bigint":return r;case"number":return b(Number.isInteger(r),"underflow",e||"value",r),b(r>=-jr&&r<=jr,"overflow",e||"value",r),BigInt(r);case"string":try{if(r==="")throw new Error("empty string");return r[0]==="-"&&r[1]!=="-"?-BigInt(r.substring(1)):BigInt(r)}catch(t){b(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}b(!1,"invalid BigNumberish value",e||"value",r)}function x0(r,e){const t=L(r,e);return N(t>=h0,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}const Ic="0123456789abcdef";function b0(r){if(r instanceof Uint8Array){let e="0x0";for(const t of r)e+=Ic[t>>4],e+=Ic[t&15];return BigInt(e)}return L(r)}function K(r,e){switch(typeof r){case"bigint":return b(r>=-jr&&r<=jr,"overflow",e||"value",r),Number(r);case"number":return b(Number.isInteger(r),"underflow",e||"value",r),b(r>=-jr&&r<=jr,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return K(BigInt(r),e)}catch(t){b(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}b(!1,"invalid numeric value",e||"value",r)}function Id(r){return K(b0(r))}function rn(r,e){let n=x0(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{const s=K(e,"width");for(N(s*2>=n.length,`value exceeds width (${s} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:r});n.length<s*2;)n="0"+n}return"0x"+n}function Oe(r){const e=x0(r,"value");if(e===h0)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const n=new Uint8Array(t.length/2);for(let s=0;s<n.length;s++){const i=s*2;n[s]=parseInt(t.substring(i,i+2),16)}return n}function Wr(r){let e=P(d0(r)?r:Oe(r)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}const Ka="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";let xa=null;function Cd(r){if(xa==null){xa={};for(let t=0;t<Ka.length;t++)xa[Ka[t]]=BigInt(t)}const e=xa[r];return b(e!=null,"invalid base58 value","letter",r),e}const kd=BigInt(0),to=BigInt(58);function qf(r){const e=v(r);let t=b0(e),n="";for(;t;)n=Ka[Number(t%to)]+n,t/=to;for(let s=0;s<e.length&&!e[s];s++)n=Ka[0]+n;return n}function Od(r){let e=kd;for(let t=0;t<r.length;t++)e*=to,e+=Cd(r[t]);return e}function Rd(r){r=atob(r);const e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return v(e)}function Bd(r){const e=v(r);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var ns;class el{constructor(e,t,n){y(this,"filter");y(this,"emitter");w(this,ns,void 0);h(this,ns,t),D(this,{emitter:e,filter:n})}async removeListener(){l(this,ns)!=null&&await this.emitter.off(this.filter,l(this,ns))}}ns=new WeakMap;function vd(r,e,t,n,s){b(!1,`invalid codepoint at offset ${e}; ${r}`,"bytes",t)}function tl(r,e,t,n,s){if(r==="BAD_PREFIX"||r==="UNEXPECTED_CONTINUE"){let i=0;for(let a=e+1;a<t.length&&t[a]>>6===2;a++)i++;return i}return r==="OVERRUN"?t.length-e-1:0}function Sd(r,e,t,n,s){return r==="OVERLONG"?(b(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),n.push(s),0):(n.push(65533),tl(r,e,t))}const Ud=Object.freeze({error:vd,ignore:tl,replace:Sd});function Ld(r,e){e==null&&(e=Ud.error);const t=v(r,"bytes"),n=[];let s=0;for(;s<t.length;){const i=t[s++];if(!(i>>7)){n.push(i);continue}let a=null,o=null;if((i&224)===192)a=1,o=127;else if((i&240)===224)a=2,o=2047;else if((i&248)===240)a=3,o=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,n):s+=e("BAD_PREFIX",s-1,t,n);continue}if(s-1+a>=t.length){s+=e("OVERRUN",s-1,t,n);continue}let c=i&(1<<8-a-1)-1;for(let f=0;f<a;f++){let u=t[s];if((u&192)!=128){s+=e("MISSING_CONTINUE",s,t,n),c=null;break}c=c<<6|u&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-a,t,n,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-a,t,n,c);continue}if(c<=o){s+=e("OVERLONG",s-1-a,t,n,c);continue}n.push(c)}}return n}function Le(r,e){b(typeof r=="string","invalid string value","str",r),e!=null&&(Zf(e),r=r.normalize(e));let t=[];for(let n=0;n<r.length;n++){const s=r.charCodeAt(n);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){n++;const i=r.charCodeAt(n);b(n<r.length&&(i&64512)===56320,"invalid surrogate pair","str",r);const a=65536+((s&1023)<<10)+(i&1023);t.push(a>>18|240),t.push(a>>12&63|128),t.push(a>>6&63|128),t.push(a&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function Dd(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function _a(r,e){return Dd(Ld(r,e))}function nl(r){async function e(t,n){const s=t.url.split(":")[0].toLowerCase();N(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),N(s==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i;if(n){const d=new AbortController;i=d.signal,n.addListener(()=>{d.abort()})}const a={method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:i},o=await fetch(t.url,a),c={};o.headers.forEach((d,x)=>{c[x.toLowerCase()]=d});const f=await o.arrayBuffer(),u=f==null?null:new Uint8Array(f);return{statusCode:o.status,statusMessage:o.statusText,headers:c,body:u}}return e}const Fd=12,Md=250;let Cc=nl();const Gd=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),Hd=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let v0=!1;async function rl(r,e){try{const t=r.match(Gd);if(!t)throw new Error("invalid data");return new Dn(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?Rd(t[3]):Qd(t[3]))}catch{return new Dn(599,"BAD REQUEST (invalid data: URI)",{},null,new sn(r))}}function sl(r){async function e(t,n){try{const s=t.match(Hd);if(!s)throw new Error("invalid link");return new sn(`${r}${s[2]}`)}catch{return new Dn(599,"BAD REQUEST (invalid IPFS URI)",{},null,new sn(t))}}return e}const ba={data:rl,ipfs:sl("https://gateway.ipfs.io/ipfs/")},il=new WeakMap;var $n,gn;class Vd{constructor(e){w(this,$n,void 0);w(this,gn,void 0);h(this,$n,[]),h(this,gn,!1),il.set(e,()=>{if(!l(this,gn)){h(this,gn,!0);for(const t of l(this,$n))setTimeout(()=>{t()},0);h(this,$n,[])}})}addListener(e){N(!l(this,gn),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),l(this,$n).push(e)}get cancelled(){return l(this,gn)}checkSignal(){N(!this.cancelled,"cancelled","CANCELLED",{})}}$n=new WeakMap,gn=new WeakMap;function pa(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}var rs,ss,ht,Vt,is,as,xe,Ke,Qt,qn,er,tr,Pt,xt,yn,nr,xi;const s0=class s0{constructor(e){w(this,nr);w(this,rs,void 0);w(this,ss,void 0);w(this,ht,void 0);w(this,Vt,void 0);w(this,is,void 0);w(this,as,void 0);w(this,xe,void 0);w(this,Ke,void 0);w(this,Qt,void 0);w(this,qn,void 0);w(this,er,void 0);w(this,tr,void 0);w(this,Pt,void 0);w(this,xt,void 0);w(this,yn,void 0);h(this,as,String(e)),h(this,rs,!1),h(this,ss,!0),h(this,ht,{}),h(this,Vt,""),h(this,is,3e5),h(this,xt,{slotInterval:Md,maxAttempts:Fd}),h(this,yn,null)}get url(){return l(this,as)}set url(e){h(this,as,String(e))}get body(){return l(this,xe)==null?null:new Uint8Array(l(this,xe))}set body(e){if(e==null)h(this,xe,void 0),h(this,Ke,void 0);else if(typeof e=="string")h(this,xe,Le(e)),h(this,Ke,"text/plain");else if(e instanceof Uint8Array)h(this,xe,e),h(this,Ke,"application/octet-stream");else if(typeof e=="object")h(this,xe,Le(JSON.stringify(e))),h(this,Ke,"application/json");else throw new Error("invalid body")}hasBody(){return l(this,xe)!=null}get method(){return l(this,Vt)?l(this,Vt):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),h(this,Vt,String(e).toUpperCase())}get headers(){const e=Object.assign({},l(this,ht));return l(this,Qt)&&(e.authorization=`Basic ${Bd(Le(l(this,Qt)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&l(this,Ke)&&(e["content-type"]=l(this,Ke)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){l(this,ht)[String(e).toLowerCase()]=String(t)}clearHeaders(){h(this,ht,{})}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n<t.length){const s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return l(this,Qt)||null}setCredentials(e,t){b(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),h(this,Qt,`${e}:${t}`)}get allowGzip(){return l(this,ss)}set allowGzip(e){h(this,ss,!!e)}get allowInsecureAuthentication(){return!!l(this,rs)}set allowInsecureAuthentication(e){h(this,rs,!!e)}get timeout(){return l(this,is)}set timeout(e){b(e>=0,"timeout must be non-zero","timeout",e),h(this,is,e)}get preflightFunc(){return l(this,qn)||null}set preflightFunc(e){h(this,qn,e)}get processFunc(){return l(this,er)||null}set processFunc(e){h(this,er,e)}get retryFunc(){return l(this,tr)||null}set retryFunc(e){h(this,tr,e)}get getUrlFunc(){return l(this,yn)||Cc}set getUrlFunc(e){h(this,yn,e)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${l(this,xe)?P(l(this,xe)):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(l(this,xt).slotInterval=e.slotInterval),e.maxAttempts!=null&&(l(this,xt).maxAttempts=e.maxAttempts)}send(){return N(l(this,Pt)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),h(this,Pt,new Vd(this)),I(this,nr,xi).call(this,0,kc()+this.timeout,0,this,new Dn(0,"",{},null,this))}cancel(){N(l(this,Pt)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const e=il.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){const t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();N(this.method==="GET"&&(t!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});const s=new s0(e);return s.method="GET",s.allowGzip=this.allowGzip,s.timeout=this.timeout,h(s,ht,Object.assign({},l(this,ht))),l(this,xe)&&h(s,xe,new Uint8Array(l(this,xe))),h(s,Ke,l(this,Ke)),s}clone(){const e=new s0(this.url);return h(e,Vt,l(this,Vt)),l(this,xe)&&h(e,xe,l(this,xe)),h(e,Ke,l(this,Ke)),h(e,ht,Object.assign({},l(this,ht))),h(e,Qt,l(this,Qt)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),h(e,qn,l(this,qn)),h(e,er,l(this,er)),h(e,tr,l(this,tr)),h(e,xt,Object.assign({},l(this,xt))),h(e,yn,l(this,yn)),e}static lockConfig(){v0=!0}static getGateway(e){return ba[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(v0)throw new Error("gateways locked");ba[e]=t}static registerGetUrl(e){if(v0)throw new Error("gateways locked");Cc=e}static createGetUrlFunc(e){return nl()}static createDataGateway(){return rl}static createIpfsGatewayFunc(e){return sl(e)}};rs=new WeakMap,ss=new WeakMap,ht=new WeakMap,Vt=new WeakMap,is=new WeakMap,as=new WeakMap,xe=new WeakMap,Ke=new WeakMap,Qt=new WeakMap,qn=new WeakMap,er=new WeakMap,tr=new WeakMap,Pt=new WeakMap,xt=new WeakMap,yn=new WeakMap,nr=new WeakSet,xi=async function(e,t,n,s,i){var u,d,x;if(e>=l(this,xt).maxAttempts)return i.makeServerError("exceeded maximum retry limit");N(kc()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),n>0&&await Kd(n);let a=this.clone();const o=(a.url.split(":")[0]||"").toLowerCase();if(o in ba){const p=await ba[o](a.url,pa(l(s,Pt)));if(p instanceof Dn){let m=p;if(this.processFunc){pa(l(s,Pt));try{m=await this.processFunc(a,m)}catch(g){(g.throttle==null||typeof g.stall!="number")&&m.makeServerError("error in post-processing function",g).assertOk()}}return m}a=p}this.preflightFunc&&(a=await this.preflightFunc(a));const c=await this.getUrlFunc(a,pa(l(s,Pt)));let f=new Dn(c.statusCode,c.statusMessage,c.headers,c.body,s);if(f.statusCode===301||f.statusCode===302){try{const p=f.headers.location||"";return I(u=a.redirect(p),nr,xi).call(u,e+1,t,0,s,f)}catch{}return f}else if(f.statusCode===429&&(this.retryFunc==null||await this.retryFunc(a,f,e))){const p=f.headers["retry-after"];let m=l(this,xt).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof p=="string"&&p.match(/^[1-9][0-9]*$/)&&(m=parseInt(p)),I(d=a.clone(),nr,xi).call(d,e+1,t,m,s,f)}if(this.processFunc){pa(l(s,Pt));try{f=await this.processFunc(a,f)}catch(p){(p.throttle==null||typeof p.stall!="number")&&f.makeServerError("error in post-processing function",p).assertOk();let m=l(this,xt).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return p.stall>=0&&(m=p.stall),I(x=a.clone(),nr,xi).call(x,e+1,t,m,s,f)}}return f};let sn=s0;var Mi,Gi,Hi,_e,os,rr;const pc=class pc{constructor(e,t,n,s,i){w(this,Mi,void 0);w(this,Gi,void 0);w(this,Hi,void 0);w(this,_e,void 0);w(this,os,void 0);w(this,rr,void 0);h(this,Mi,e),h(this,Gi,t),h(this,Hi,Object.keys(n).reduce((a,o)=>(a[o.toLowerCase()]=String(n[o]),a),{})),h(this,_e,s==null?null:new Uint8Array(s)),h(this,os,i||null),h(this,rr,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${l(this,_e)?P(l(this,_e)):"null"}>`}get statusCode(){return l(this,Mi)}get statusMessage(){return l(this,Gi)}get headers(){return Object.assign({},l(this,Hi))}get body(){return l(this,_e)==null?null:new Uint8Array(l(this,_e))}get bodyText(){try{return l(this,_e)==null?"":_a(l(this,_e))}catch{N(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{N(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n<t.length){const s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(e,t){let n;e?n=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,n=`CLIENT ESCALATED SERVER ERROR (${e})`);const s=new pc(599,n,this.headers,this.body,l(this,os)||void 0);return h(s,rr,{message:e,error:t}),s}throwThrottleError(e,t){t==null?t=-1:b(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);const n=new Error(e||"throttling requests");throw D(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return l(this,_e)!=null}get request(){return l(this,os)}ok(){return l(this,rr).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=l(this,rr);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let s=null;try{l(this,_e)&&(s=_a(l(this,_e)))}catch{}N(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};Mi=new WeakMap,Gi=new WeakMap,Hi=new WeakMap,_e=new WeakMap,os=new WeakMap,rr=new WeakMap;let Dn=pc;function kc(){return new Date().getTime()}function Qd(r){return Le(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function Kd(r){return new Promise(e=>setTimeout(e,r))}function _d(r){let e=r.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function Oc(r,e,t){let n=0;for(let s=0;s<t;s++)n=n*256+r[e+s];return n}function Rc(r,e,t,n){const s=[];for(;t<e+1+n;){const i=al(r,t);s.push(i.result),t+=i.consumed,N(t<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:r,length:n,offset:e})}return{consumed:1+n,result:s}}function al(r,e){N(r.length!==0,"data too short","BUFFER_OVERRUN",{buffer:r,length:0,offset:1});const t=n=>{N(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){const n=r[e]-247;t(e+1+n);const s=Oc(r,e+1,n);return t(e+1+n+s),Rc(r,e,e+1+n,n+s)}else if(r[e]>=192){const n=r[e]-192;return t(e+1+n),Rc(r,e,e+1,n)}else if(r[e]>=184){const n=r[e]-183;t(e+1+n);const s=Oc(r,e+1,n);t(e+1+n+s);const i=P(r.slice(e+1+n,e+1+n+s));return{consumed:1+n+s,result:i}}else if(r[e]>=128){const n=r[e]-128;t(e+1+n);const s=P(r.slice(e+1,e+1+n));return{consumed:1+n,result:s}}return{consumed:1,result:_d(r[e])}}function p0(r){const e=v(r,"data"),t=al(e,0);return b(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function Bc(r){const e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function ol(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(i){n=n.concat(ol(i))}),n.length<=55)return n.unshift(192+n.length),n;const s=Bc(n.length);return s.unshift(247+s.length),s.concat(n)}const e=Array.prototype.slice.call(v(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const t=Bc(e.length);return t.unshift(183+t.length),t.concat(e)}const vc="0123456789abcdef";function Ir(r){let e="0x";for(const t of ol(r))e+=vc[t>>4],e+=vc[t&15];return e}function zd(r){const e=v(r,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=P(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}const Se=32,no=new Uint8Array(Se),Jd=["then"],ga={};function li(r,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}var mn;const zn=class zn extends Array{constructor(...t){const n=t[0];let s=t[1],i=(t[2]||[]).slice(),a=!0;n!==ga&&(s=t,i=[],a=!1);super(s.length);w(this,mn,void 0);s.forEach((c,f)=>{this[f]=c});const o=i.reduce((c,f)=>(typeof f=="string"&&c.set(f,(c.get(f)||0)+1),c),new Map);if(h(this,mn,Object.freeze(s.map((c,f)=>{const u=i[f];return u!=null&&o.get(u)===1?u:null}))),!!a)return Object.freeze(this),new Proxy(this,{get:(c,f,u)=>{if(typeof f=="string"){if(f.match(/^[0-9]+$/)){const x=K(f,"%index");if(x<0||x>=this.length)throw new RangeError("out of result range");const p=c[x];return p instanceof Error&&li(`index ${x}`,p),p}if(Jd.indexOf(f)>=0)return Reflect.get(c,f,u);const d=c[f];if(d instanceof Function)return function(...x){return d.apply(this===u?c:this,x)};if(!(f in c))return c.getValue.apply(this===u?c:this,[f])}return Reflect.get(c,f,u)}})}toArray(t){const n=[];return this.forEach((s,i)=>{s instanceof Error&&li(`index ${i}`,s),t&&s instanceof zn&&(s=s.toArray(t)),n.push(s)}),n}toObject(t){return l(this,mn).reduce((n,s,i)=>{if(N(s!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),!(s in n)){let a=this.getValue(s);t&&a instanceof zn&&(a=a.toObject(t)),n[s]=a}return n},{})}slice(t,n){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);const s=[],i=[];for(let a=t;a<n;a++)s.push(this[a]),i.push(l(this,mn)[a]);return new zn(ga,s,i)}filter(t,n){const s=[],i=[];for(let a=0;a<this.length;a++){const o=this[a];o instanceof Error&&li(`index ${a}`,o),t.call(n,o,a,this)&&(s.push(o),i.push(l(this,mn)[a]))}return new zn(ga,s,i)}map(t,n){const s=[];for(let i=0;i<this.length;i++){const a=this[i];a instanceof Error&&li(`index ${i}`,a),s.push(t.call(n,a,i,this))}return s}getValue(t){const n=l(this,mn).indexOf(t);if(n===-1)return;const s=this[n];return s instanceof Error&&li(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,n){return new zn(ga,t,n)}};mn=new WeakMap;let za=zn;function Sc(r){let e=Oe(r);return N(e.length<=Se,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Se,offset:e.length}),e.length!==Se&&(e=we(X([no.slice(e.length%Se),e]))),e}class cn{constructor(e,t,n,s){y(this,"name");y(this,"type");y(this,"localName");y(this,"dynamic");D(this,{name:e,type:t,localName:n,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){b(!1,e,this.localName,t)}}var Kt,sr,cs,Oa;class ro{constructor(){w(this,cs);w(this,Kt,void 0);w(this,sr,void 0);h(this,Kt,[]),h(this,sr,0)}get data(){return X(l(this,Kt))}get length(){return l(this,sr)}appendWriter(e){return I(this,cs,Oa).call(this,we(e.data))}writeBytes(e){let t=we(e);const n=t.length%Se;return n&&(t=we(X([t,no.slice(n)]))),I(this,cs,Oa).call(this,t)}writeValue(e){return I(this,cs,Oa).call(this,Sc(e))}writeUpdatableValue(){const e=l(this,Kt).length;return l(this,Kt).push(no),h(this,sr,l(this,sr)+Se),t=>{l(this,Kt)[e]=Sc(t)}}}Kt=new WeakMap,sr=new WeakMap,cs=new WeakSet,Oa=function(e){return l(this,Kt).push(e),h(this,sr,l(this,sr)+e.length),e.length};var De,ze,ir,ar,wn,Vi,io,i0,cl;const gc=class gc{constructor(e,t,n){w(this,Vi);w(this,i0);y(this,"allowLoose");w(this,De,void 0);w(this,ze,void 0);w(this,ir,void 0);w(this,ar,void 0);w(this,wn,void 0);D(this,{allowLoose:!!t}),h(this,De,we(e)),h(this,ir,0),h(this,ar,null),h(this,wn,n??1024),h(this,ze,0)}get data(){return P(l(this,De))}get dataLength(){return l(this,De).length}get consumed(){return l(this,ze)}get bytes(){return new Uint8Array(l(this,De))}subReader(e){const t=new gc(l(this,De).slice(l(this,ze)+e),this.allowLoose,l(this,wn));return h(t,ar,this),t}readBytes(e,t){let n=I(this,i0,cl).call(this,0,e,!!t);return I(this,Vi,io).call(this,e),h(this,ze,l(this,ze)+n.length),n.slice(0,e)}readValue(){return b0(this.readBytes(Se))}readIndex(){return Id(this.readBytes(Se))}};De=new WeakMap,ze=new WeakMap,ir=new WeakMap,ar=new WeakMap,wn=new WeakMap,Vi=new WeakSet,io=function(e){var t;if(l(this,ar))return I(t=l(this,ar),Vi,io).call(t,e);h(this,ir,l(this,ir)+e),N(l(this,wn)<1||l(this,ir)<=l(this,wn)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${l(this,wn)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:we(l(this,De)),offset:l(this,ze),length:e,info:{bytesRead:l(this,ir),dataLength:this.dataLength}})},i0=new WeakSet,cl=function(e,t,n){let s=Math.ceil(t/Se)*Se;return l(this,ze)+s>l(this,De).length&&(this.allowLoose&&n&&l(this,ze)+t<=l(this,De).length?s=t:N(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:we(l(this,De)),length:l(this,De).length,offset:l(this,ze)+s})),l(this,De).slice(l(this,ze),l(this,ze)+s)};let so=gc;function je(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function Qo(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function fl(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");je(r.outputLen),je(r.blockLen)}function Js(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function ll(r,e){Qo(r);const t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const S0=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ul=r=>r instanceof Uint8Array,Ra=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),Ba=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),At=(r,e)=>r<<32-e|r>>>e,jd=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!jd)throw new Error("Non little-endian hardware is not supported");const Wd=async()=>{};async function Uc(r,e,t){let n=Date.now();for(let s=0;s<r;s++){t(s);const i=Date.now()-n;i>=0&&i<e||(await Wd(),n+=i)}}function Zd(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function js(r){if(typeof r=="string"&&(r=Zd(r)),!ul(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function Yd(...r){const e=new Uint8Array(r.reduce((n,s)=>n+s.length,0));let t=0;return r.forEach(n=>{if(!ul(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}class Ko{clone(){return this._cloneInto()}}const Xd={}.toString;function dl(r,e){if(e!==void 0&&Xd.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function g0(r){const e=n=>r().update(js(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function $d(r=32){if(S0&&typeof S0.getRandomValues=="function")return S0.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}class hl extends Ko{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,fl(e);const n=js(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),i.fill(0)}update(e){return Js(this),this.iHash.update(e),this}digestInto(e){Js(this),Qo(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:s,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const y0=(r,e,t)=>new hl(r,e).update(t).digest();y0.create=(r,e)=>new hl(r,e);function qd(r,e,t,n){fl(r);const s=dl({dkLen:32,asyncTick:10},n),{c:i,dkLen:a,asyncTick:o}=s;if(je(i),je(a),je(o),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const c=js(e),f=js(t),u=new Uint8Array(a),d=y0.create(r,c),x=d._cloneInto().update(f);return{c:i,dkLen:a,asyncTick:o,DK:u,PRF:d,PRFSalt:x}}function e1(r,e,t,n,s){return r.destroy(),e.destroy(),n&&n.destroy(),s.fill(0),t}function _o(r,e,t,n){const{c:s,dkLen:i,DK:a,PRF:o,PRFSalt:c}=qd(r,e,t,n);let f;const u=new Uint8Array(4),d=Ba(u),x=new Uint8Array(o.outputLen);for(let p=1,m=0;m<i;p++,m+=o.outputLen){const g=a.subarray(m,m+o.outputLen);d.setInt32(0,p,!1),(f=c._cloneInto(f)).update(u).digestInto(x),g.set(x.subarray(0,g.length));for(let A=1;A<s;A++){o._cloneInto(f).update(x).digestInto(x);for(let E=0;E<g.length;E++)g[E]^=x[E]}}return e1(o,c,a,f,x)}function t1(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);const s=BigInt(32),i=BigInt(4294967295),a=Number(t>>s&i),o=Number(t&i),c=n?4:0,f=n?0:4;r.setUint32(e+c,a,n),r.setUint32(e+f,o,n)}class zo extends Ko{constructor(e,t,n,s){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ba(this.buffer)}update(e){Js(this);const{view:t,buffer:n,blockLen:s}=this;e=js(e);const i=e.length;for(let a=0;a<i;){const o=Math.min(s-this.pos,i-a);if(o===s){const c=Ba(e);for(;s<=i-a;a+=s)this.process(c,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Js(this),ll(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:s,isLE:i}=this;let{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>s-a&&(this.process(n,0),a=0);for(let d=a;d<s;d++)t[d]=0;t1(n,s-8,BigInt(this.length*8),i),this.process(n,0);const o=Ba(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<f;d++)o.setUint32(4*d,u[d],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:s,finished:i,destroyed:a,pos:o}=this;return e.length=s,e.pos=o,e.finished=i,e.destroyed=a,s%t&&e.buffer.set(n),e}}const n1=(r,e,t)=>r&e^~r&t,r1=(r,e,t)=>r&e^r&t^e&t,s1=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]),dn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),hn=new Uint32Array(64);class i1 extends zo{constructor(){super(64,32,8,!1),this.A=dn[0]|0,this.B=dn[1]|0,this.C=dn[2]|0,this.D=dn[3]|0,this.E=dn[4]|0,this.F=dn[5]|0,this.G=dn[6]|0,this.H=dn[7]|0}get(){const{A:e,B:t,C:n,D:s,E:i,F:a,G:o,H:c}=this;return[e,t,n,s,i,a,o,c]}set(e,t,n,s,i,a,o,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)hn[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){const x=hn[d-15],p=hn[d-2],m=At(x,7)^At(x,18)^x>>>3,g=At(p,17)^At(p,19)^p>>>10;hn[d]=g+hn[d-7]+m+hn[d-16]|0}let{A:n,B:s,C:i,D:a,E:o,F:c,G:f,H:u}=this;for(let d=0;d<64;d++){const x=At(o,6)^At(o,11)^At(o,25),p=u+x+n1(o,c,f)+s1[d]+hn[d]|0,g=(At(n,2)^At(n,13)^At(n,22))+r1(n,s,i)|0;u=f,f=c,c=o,o=a+p|0,a=i,i=s,s=n,n=p+g|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,s,i,a,o,c,f,u)}roundClean(){hn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const si=g0(()=>new i1),ya=BigInt(2**32-1),ao=BigInt(32);function xl(r,e=!1){return e?{h:Number(r&ya),l:Number(r>>ao&ya)}:{h:Number(r>>ao&ya)|0,l:Number(r&ya)|0}}function bl(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){const{h:i,l:a}=xl(r[s],e);[t[s],n[s]]=[i,a]}return[t,n]}const a1=(r,e)=>BigInt(r>>>0)<<ao|BigInt(e>>>0),o1=(r,e,t)=>r>>>t,c1=(r,e,t)=>r<<32-t|e>>>t,f1=(r,e,t)=>r>>>t|e<<32-t,l1=(r,e,t)=>r<<32-t|e>>>t,u1=(r,e,t)=>r<<64-t|e>>>t-32,d1=(r,e,t)=>r>>>t-32|e<<64-t,h1=(r,e)=>e,x1=(r,e)=>r,pl=(r,e,t)=>r<<t|e>>>32-t,gl=(r,e,t)=>e<<t|r>>>32-t,yl=(r,e,t)=>e<<t-32|r>>>64-t,ml=(r,e,t)=>r<<t-32|e>>>64-t;function b1(r,e,t,n){const s=(e>>>0)+(n>>>0);return{h:r+t+(s/2**32|0)|0,l:s|0}}const p1=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),g1=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,y1=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),m1=(r,e,t,n,s)=>e+t+n+s+(r/2**32|0)|0,w1=(r,e,t,n,s)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(s>>>0),A1=(r,e,t,n,s,i)=>e+t+n+s+i+(r/2**32|0)|0,Q={fromBig:xl,split:bl,toBig:a1,shrSH:o1,shrSL:c1,rotrSH:f1,rotrSL:l1,rotrBH:u1,rotrBL:d1,rotr32H:h1,rotr32L:x1,rotlSH:pl,rotlSL:gl,rotlBH:yl,rotlBL:ml,add:b1,add3L:p1,add3H:g1,add4L:y1,add4H:m1,add5H:A1,add5L:w1},[E1,N1]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),xn=new Uint32Array(80),bn=new Uint32Array(80);class P1 extends zo{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:s,Ch:i,Cl:a,Dh:o,Dl:c,Eh:f,El:u,Fh:d,Fl:x,Gh:p,Gl:m,Hh:g,Hl:A}=this;return[e,t,n,s,i,a,o,c,f,u,d,x,p,m,g,A]}set(e,t,n,s,i,a,o,c,f,u,d,x,p,m,g,A){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=d|0,this.Fl=x|0,this.Gh=p|0,this.Gl=m|0,this.Hh=g|0,this.Hl=A|0}process(e,t){for(let T=0;T<16;T++,t+=4)xn[T]=e.getUint32(t),bn[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){const M=xn[T-15]|0,O=bn[T-15]|0,R=Q.rotrSH(M,O,1)^Q.rotrSH(M,O,8)^Q.shrSH(M,O,7),F=Q.rotrSL(M,O,1)^Q.rotrSL(M,O,8)^Q.shrSL(M,O,7),U=xn[T-2]|0,_=bn[T-2]|0,H=Q.rotrSH(U,_,19)^Q.rotrBH(U,_,61)^Q.shrSH(U,_,6),V=Q.rotrSL(U,_,19)^Q.rotrBL(U,_,61)^Q.shrSL(U,_,6),$=Q.add4L(F,V,bn[T-7],bn[T-16]),te=Q.add4H($,R,H,xn[T-7],xn[T-16]);xn[T]=te|0,bn[T]=$|0}let{Ah:n,Al:s,Bh:i,Bl:a,Ch:o,Cl:c,Dh:f,Dl:u,Eh:d,El:x,Fh:p,Fl:m,Gh:g,Gl:A,Hh:E,Hl:C}=this;for(let T=0;T<80;T++){const M=Q.rotrSH(d,x,14)^Q.rotrSH(d,x,18)^Q.rotrBH(d,x,41),O=Q.rotrSL(d,x,14)^Q.rotrSL(d,x,18)^Q.rotrBL(d,x,41),R=d&p^~d&g,F=x&m^~x&A,U=Q.add5L(C,O,F,N1[T],bn[T]),_=Q.add5H(U,E,M,R,E1[T],xn[T]),H=U|0,V=Q.rotrSH(n,s,28)^Q.rotrBH(n,s,34)^Q.rotrBH(n,s,39),$=Q.rotrSL(n,s,28)^Q.rotrBL(n,s,34)^Q.rotrBL(n,s,39),te=n&i^n&o^i&o,he=s&a^s&c^a&c;E=g|0,C=A|0,g=p|0,A=m|0,p=d|0,m=x|0,{h:d,l:x}=Q.add(f|0,u|0,_|0,H|0),f=o|0,u=c|0,o=i|0,c=a|0,i=n|0,a=s|0;const k=Q.add3L(H,$,he);n=Q.add3H(k,_,V,te),s=k|0}({h:n,l:s}=Q.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:a}=Q.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Q.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:f,l:u}=Q.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:d,l:x}=Q.add(this.Eh|0,this.El|0,d|0,x|0),{h:p,l:m}=Q.add(this.Fh|0,this.Fl|0,p|0,m|0),{h:g,l:A}=Q.add(this.Gh|0,this.Gl|0,g|0,A|0),{h:E,l:C}=Q.add(this.Hh|0,this.Hl|0,E|0,C|0),this.set(n,s,i,a,o,c,f,u,d,x,p,m,g,A,E,C)}roundClean(){xn.fill(0),bn.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Jo=g0(()=>new P1);function T1(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof de.dist.global<"u")return de.dist.global;throw new Error("unable to locate global object")}const Lc=T1(),Dc=Lc.crypto||Lc.msCrypto;function I1(r){switch(r){case"sha256":return si.create();case"sha512":return Jo.create()}b(!1,"invalid hashing algorithm name","algorithm",r)}function C1(r,e){const t={sha256:si,sha512:Jo}[r];return b(t!=null,"invalid hmac algorithm","algorithm",r),y0.create(t,e)}function k1(r,e,t,n,s){const i={sha256:si,sha512:Jo}[s];return b(i!=null,"invalid pbkdf2 algorithm","algorithm",s),_o(i,r,e,{c:t,dkLen:n})}function O1(r){N(Dc!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),b(Number.isInteger(r)&&r>0&&r<=1024,"invalid length","length",r);const e=new Uint8Array(r);return Dc.getRandomValues(e),e}let wl=!1;const Al=function(r,e,t){return C1(r,e).update(t).digest()};let El=Al;function ii(r,e,t){const n=v(e,"key"),s=v(t,"data");return P(El(r,n,s))}ii._=Al;ii.lock=function(){wl=!0};ii.register=function(r){if(wl)throw new Error("computeHmac is locked");El=r};Object.freeze(ii);const[Nl,Pl,Tl]=[[],[],[]],R1=BigInt(0),ui=BigInt(1),B1=BigInt(2),v1=BigInt(7),S1=BigInt(256),U1=BigInt(113);for(let r=0,e=ui,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],Nl.push(2*(5*n+t)),Pl.push((r+1)*(r+2)/2%64);let s=R1;for(let i=0;i<7;i++)e=(e<<ui^(e>>v1)*U1)%S1,e&B1&&(s^=ui<<(ui<<BigInt(i))-ui);Tl.push(s)}const[L1,D1]=bl(Tl,!0),Fc=(r,e,t)=>t>32?yl(r,e,t):pl(r,e,t),Mc=(r,e,t)=>t>32?ml(r,e,t):gl(r,e,t);function F1(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let a=0;a<10;a++)t[a]=r[a]^r[a+10]^r[a+20]^r[a+30]^r[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,f=t[c],u=t[c+1],d=Fc(f,u,1)^t[o],x=Mc(f,u,1)^t[o+1];for(let p=0;p<50;p+=10)r[a+p]^=d,r[a+p+1]^=x}let s=r[2],i=r[3];for(let a=0;a<24;a++){const o=Pl[a],c=Fc(s,i,o),f=Mc(s,i,o),u=Nl[a];s=r[u],i=r[u+1],r[u]=c,r[u+1]=f}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)t[o]=r[a+o];for(let o=0;o<10;o++)r[a+o]^=~t[(o+2)%10]&t[(o+4)%10]}r[0]^=L1[n],r[1]^=D1[n]}t.fill(0)}class jo extends Ko{constructor(e,t,n,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,je(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Ra(this.state)}keccak(){F1(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Js(this);const{blockLen:t,state:n}=this;e=js(e);const s=e.length;for(let i=0;i<s;){const a=Math.min(t-this.pos,s-i);for(let o=0;o<a;o++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:n,blockLen:s}=this;e[n]^=t,t&128&&n===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){Js(this,!1),Qo(e),this.finish();const t=this.state,{blockLen:n}=this;for(let s=0,i=e.length;s<i;){this.posOut>=n&&this.keccak();const a=Math.min(n-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return je(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ll(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:n,outputLen:s,rounds:i,enableXOF:a}=this;return e||(e=new jo(t,n,s,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=s,e.enableXOF=a,e.destroyed=this.destroyed,e}}const M1=(r,e,t)=>g0(()=>new jo(e,r,t)),G1=M1(1,136,256/8);let Il=!1;const Cl=function(r){return G1(r)};let kl=Cl;function ie(r){const e=v(r,"data");return P(kl(e))}ie._=Cl;ie.lock=function(){Il=!0};ie.register=function(r){if(Il)throw new TypeError("keccak256 is locked");kl=r};Object.freeze(ie);const H1=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Ol=Uint8Array.from({length:16},(r,e)=>e),V1=Ol.map(r=>(9*r+5)%16);let Wo=[Ol],Zo=[V1];for(let r=0;r<4;r++)for(let e of[Wo,Zo])e.push(e[r].map(t=>H1[t]));const Rl=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(r=>new Uint8Array(r)),Q1=Wo.map((r,e)=>r.map(t=>Rl[e][t])),K1=Zo.map((r,e)=>r.map(t=>Rl[e][t])),_1=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),z1=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ma=(r,e)=>r<<e|r>>>32-e;function Gc(r,e,t,n){return r===0?e^t^n:r===1?e&t|~e&n:r===2?(e|~t)^n:r===3?e&n|t&~n:e^(t|~n)}const wa=new Uint32Array(16);class J1 extends zo{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:n,h3:s,h4:i}=this;return[e,t,n,s,i]}set(e,t,n,s,i){this.h0=e|0,this.h1=t|0,this.h2=n|0,this.h3=s|0,this.h4=i|0}process(e,t){for(let p=0;p<16;p++,t+=4)wa[p]=e.getUint32(t,!0);let n=this.h0|0,s=n,i=this.h1|0,a=i,o=this.h2|0,c=o,f=this.h3|0,u=f,d=this.h4|0,x=d;for(let p=0;p<5;p++){const m=4-p,g=_1[p],A=z1[p],E=Wo[p],C=Zo[p],T=Q1[p],M=K1[p];for(let O=0;O<16;O++){const R=ma(n+Gc(p,i,o,f)+wa[E[O]]+g,T[O])+d|0;n=d,d=f,f=ma(o,10)|0,o=i,i=R}for(let O=0;O<16;O++){const R=ma(s+Gc(m,a,c,u)+wa[C[O]]+A,M[O])+x|0;s=x,x=u,u=ma(c,10)|0,c=a,a=R}}this.set(this.h1+o+u|0,this.h2+f+x|0,this.h3+d+s|0,this.h4+n+a|0,this.h0+i+c|0)}roundClean(){wa.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const j1=g0(()=>new J1);let Bl=!1;const vl=function(r){return j1(r)};let Sl=vl;function ai(r){const e=v(r,"data");return P(Sl(e))}ai._=vl;ai.lock=function(){Bl=!0};ai.register=function(r){if(Bl)throw new TypeError("ripemd160 is locked");Sl=r};Object.freeze(ai);let Ul=!1;const Ll=function(r,e,t,n,s){return k1(r,e,t,n,s)};let Dl=Ll;function Gn(r,e,t,n,s){const i=v(r,"password"),a=v(e,"salt");return P(Dl(i,a,t,n,s))}Gn._=Ll;Gn.lock=function(){Ul=!0};Gn.register=function(r){if(Ul)throw new Error("pbkdf2 is locked");Dl=r};Object.freeze(Gn);let Fl=!1;const Ml=function(r){return new Uint8Array(O1(r))};let Gl=Ml;function tn(r){return Gl(r)}tn._=Ml;tn.lock=function(){Fl=!0};tn.register=function(r){if(Fl)throw new Error("randomBytes is locked");Gl=r};Object.freeze(tn);const Z=(r,e)=>r<<e|r>>>32-e;function Hc(r,e,t,n,s,i){let a=r[e++]^t[n++],o=r[e++]^t[n++],c=r[e++]^t[n++],f=r[e++]^t[n++],u=r[e++]^t[n++],d=r[e++]^t[n++],x=r[e++]^t[n++],p=r[e++]^t[n++],m=r[e++]^t[n++],g=r[e++]^t[n++],A=r[e++]^t[n++],E=r[e++]^t[n++],C=r[e++]^t[n++],T=r[e++]^t[n++],M=r[e++]^t[n++],O=r[e++]^t[n++],R=a,F=o,U=c,_=f,H=u,V=d,$=x,te=p,he=m,k=g,B=A,G=E,W=C,z=T,q=M,ae=O;for(let Ne=0;Ne<8;Ne+=2)H^=Z(R+W|0,7),he^=Z(H+R|0,9),W^=Z(he+H|0,13),R^=Z(W+he|0,18),k^=Z(V+F|0,7),z^=Z(k+V|0,9),F^=Z(z+k|0,13),V^=Z(F+z|0,18),q^=Z(B+$|0,7),U^=Z(q+B|0,9),$^=Z(U+q|0,13),B^=Z($+U|0,18),_^=Z(ae+G|0,7),te^=Z(_+ae|0,9),G^=Z(te+_|0,13),ae^=Z(G+te|0,18),F^=Z(R+_|0,7),U^=Z(F+R|0,9),_^=Z(U+F|0,13),R^=Z(_+U|0,18),$^=Z(V+H|0,7),te^=Z($+V|0,9),H^=Z(te+$|0,13),V^=Z(H+te|0,18),G^=Z(B+k|0,7),he^=Z(G+B|0,9),k^=Z(he+G|0,13),B^=Z(k+he|0,18),W^=Z(ae+q|0,7),z^=Z(W+ae|0,9),q^=Z(z+W|0,13),ae^=Z(q+z|0,18);s[i++]=a+R|0,s[i++]=o+F|0,s[i++]=c+U|0,s[i++]=f+_|0,s[i++]=u+H|0,s[i++]=d+V|0,s[i++]=x+$|0,s[i++]=p+te|0,s[i++]=m+he|0,s[i++]=g+k|0,s[i++]=A+B|0,s[i++]=E+G|0,s[i++]=C+W|0,s[i++]=T+z|0,s[i++]=M+q|0,s[i++]=O+ae|0}function $r(r,e,t,n,s){let i=n+0,a=n+16*s;for(let o=0;o<16;o++)t[a+o]=r[e+(2*s-1)*16+o];for(let o=0;o<s;o++,i+=16,e+=16)Hc(t,a,r,e,t,i),o>0&&(a+=16),Hc(t,i,r,e+=16,t,a)}function Hl(r,e,t){const n=dl({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:s,r:i,p:a,dkLen:o,asyncTick:c,maxmem:f,onProgress:u}=n;if(je(s),je(i),je(a),je(o),je(c),je(f),u!==void 0&&typeof u!="function")throw new Error("progressCb should be function");const d=128*i,x=d/4;if(s<=1||s&s-1||s>=2**(d/8)||s>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(a<0||a>(2**32-1)*32/d)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(o<0||o>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const p=d*(s+a);if(p>f)throw new Error(`Scrypt: parameters too large, ${p} (128 * r * (N + p)) > ${f} (maxmem)`);const m=_o(si,r,e,{c:1,dkLen:d*a}),g=Ra(m),A=Ra(new Uint8Array(d*s)),E=Ra(new Uint8Array(d));let C=()=>{};if(u){const T=2*s*a,M=Math.max(Math.floor(T/1e4),1);let O=0;C=()=>{O++,u&&(!(O%M)||O===T)&&u(O/T)}}return{N:s,r:i,p:a,dkLen:o,blockSize32:x,V:A,B32:g,B:m,tmp:E,blockMixCb:C,asyncTick:c}}function Vl(r,e,t,n,s){const i=_o(si,r,t,{c:1,dkLen:e});return t.fill(0),n.fill(0),s.fill(0),i}function W1(r,e,t){const{N:n,r:s,p:i,dkLen:a,blockSize32:o,V:c,B32:f,B:u,tmp:d,blockMixCb:x}=Hl(r,e,t);for(let p=0;p<i;p++){const m=o*p;for(let g=0;g<o;g++)c[g]=f[m+g];for(let g=0,A=0;g<n-1;g++)$r(c,A,c,A+=o,s),x();$r(c,(n-1)*o,f,m,s),x();for(let g=0;g<n;g++){const A=f[m+o-16]%n;for(let E=0;E<o;E++)d[E]=f[m+E]^c[A*o+E];$r(d,0,f,m,s),x()}}return Vl(r,a,u,c,d)}async function Z1(r,e,t){const{N:n,r:s,p:i,dkLen:a,blockSize32:o,V:c,B32:f,B:u,tmp:d,blockMixCb:x,asyncTick:p}=Hl(r,e,t);for(let m=0;m<i;m++){const g=o*m;for(let E=0;E<o;E++)c[E]=f[g+E];let A=0;await Uc(n-1,p,()=>{$r(c,A,c,A+=o,s),x()}),$r(c,(n-1)*o,f,g,s),x(),await Uc(n,p,()=>{const E=f[g+o-16]%n;for(let C=0;C<o;C++)d[C]=f[g+C]^c[E*o+C];$r(d,0,f,g,s),x()})}return Vl(r,a,u,c,d)}let Ql=!1,Kl=!1;const _l=async function(r,e,t,n,s,i,a){return await Z1(r,e,{N:t,r:n,p:s,dkLen:i,onProgress:a})},zl=function(r,e,t,n,s,i){return W1(r,e,{N:t,r:n,p:s,dkLen:i})};let Jl=_l,jl=zl;async function oi(r,e,t,n,s,i,a){const o=v(r,"passwd"),c=v(e,"salt");return P(await Jl(o,c,t,n,s,i,a))}oi._=_l;oi.lock=function(){Kl=!0};oi.register=function(r){if(Kl)throw new Error("scrypt is locked");Jl=r};Object.freeze(oi);function ci(r,e,t,n,s,i){const a=v(r,"passwd"),o=v(e,"salt");return P(jl(a,o,t,n,s,i))}ci._=zl;ci.lock=function(){Ql=!0};ci.register=function(r){if(Ql)throw new Error("scryptSync is locked");jl=r};Object.freeze(ci);const Wl=function(r){return I1("sha256").update(r).digest()};let Zl=Wl,Yl=!1;function ot(r){const e=v(r,"data");return P(Zl(e))}ot._=Wl;ot.lock=function(){Yl=!0};ot.register=function(r){if(Yl)throw new Error("sha256 is locked");Zl=r};Object.freeze(ot);Object.freeze(ot);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Xl=BigInt(0),m0=BigInt(1),Y1=BigInt(2),w0=r=>r instanceof Uint8Array,X1=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Ws(r){if(!w0(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=X1[r[t]];return e}function $l(r){const e=r.toString(16);return e.length&1?`0${e}`:e}function Yo(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}function Zs(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){const s=n*2,i=r.slice(s,s+2),a=Number.parseInt(i,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");t[n]=a}return t}function Nr(r){return Yo(Ws(r))}function Xo(r){if(!w0(r))throw new Error("Uint8Array expected");return Yo(Ws(Uint8Array.from(r).reverse()))}function Ys(r,e){return Zs(r.toString(16).padStart(e*2,"0"))}function $o(r,e){return Ys(r,e).reverse()}function $1(r){return Zs($l(r))}function dt(r,e,t){let n;if(typeof e=="string")try{n=Zs(e)}catch(i){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${i}`)}else if(w0(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);const s=n.length;if(typeof t=="number"&&s!==t)throw new Error(`${r} expected ${t} bytes, got ${s}`);return n}function Ti(...r){const e=new Uint8Array(r.reduce((n,s)=>n+s.length,0));let t=0;return r.forEach(n=>{if(!w0(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function q1(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}function eh(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function th(r){let e;for(e=0;r>Xl;r>>=m0,e+=1);return e}function nh(r,e){return r>>BigInt(e)&m0}const rh=(r,e,t)=>r|(t?m0:Xl)<<BigInt(e),qo=r=>(Y1<<BigInt(r-1))-m0,U0=r=>new Uint8Array(r),Vc=r=>Uint8Array.from(r);function ql(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=U0(r),s=U0(r),i=0;const a=()=>{n.fill(1),s.fill(0),i=0},o=(...d)=>t(s,n,...d),c=(d=U0())=>{s=o(Vc([0]),d),n=o(),d.length!==0&&(s=o(Vc([1]),d),n=o())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0;const x=[];for(;d<e;){n=o();const p=n.slice();x.push(p),d+=n.length}return Ti(...x)};return(d,x)=>{a(),c(d);let p;for(;!(p=x(f()));)c();return a(),p}}const sh={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function aa(r,e,t={}){const n=(s,i,a)=>{const o=sh[i];if(typeof o!="function")throw new Error(`Invalid validator "${i}", expected function`);const c=r[s];if(!(a&&c===void 0)&&!o(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(const[s,i]of Object.entries(e))n(s,i,!1);for(const[s,i]of Object.entries(t))n(s,i,!0);return r}const ih=Object.freeze(Object.defineProperty({__proto__:null,bitGet:nh,bitLen:th,bitMask:qo,bitSet:rh,bytesToHex:Ws,bytesToNumberBE:Nr,bytesToNumberLE:Xo,concatBytes:Ti,createHmacDrbg:ql,ensureBytes:dt,equalBytes:q1,hexToBytes:Zs,hexToNumber:Yo,numberToBytesBE:Ys,numberToBytesLE:$o,numberToHexUnpadded:$l,numberToVarBytesBE:$1,utf8ToBytes:eh,validateObject:aa},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const pe=BigInt(0),fe=BigInt(1),_n=BigInt(2),ah=BigInt(3),oo=BigInt(4),Qc=BigInt(5),Kc=BigInt(8);BigInt(9);BigInt(16);function Me(r,e){const t=r%e;return t>=pe?t:e+t}function oh(r,e,t){if(t<=pe||e<pe)throw new Error("Expected power/modulo > 0");if(t===fe)return pe;let n=fe;for(;e>pe;)e&fe&&(n=n*r%t),r=r*r%t,e>>=fe;return n}function We(r,e,t){let n=r;for(;e-- >pe;)n*=n,n%=t;return n}function co(r,e){if(r===pe||e<=pe)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=Me(r,e),n=e,s=pe,i=fe;for(;t!==pe;){const o=n/t,c=n%t,f=s-i*o;n=t,t=c,s=i,i=f}if(n!==fe)throw new Error("invert: does not exist");return Me(s,e)}function ch(r){const e=(r-fe)/_n;let t,n,s;for(t=r-fe,n=0;t%_n===pe;t/=_n,n++);for(s=_n;s<r&&oh(s,e,r)!==r-fe;s++);if(n===1){const a=(r+fe)/oo;return function(c,f){const u=c.pow(f,a);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}const i=(t+fe)/_n;return function(o,c){if(o.pow(c,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let f=n,u=o.pow(o.mul(o.ONE,s),t),d=o.pow(c,i),x=o.pow(c,t);for(;!o.eql(x,o.ONE);){if(o.eql(x,o.ZERO))return o.ZERO;let p=1;for(let g=o.sqr(x);p<f&&!o.eql(g,o.ONE);p++)g=o.sqr(g);const m=o.pow(u,fe<<BigInt(f-p-1));u=o.sqr(m),d=o.mul(d,m),x=o.mul(x,u),f=p}return d}}function fh(r){if(r%oo===ah){const e=(r+fe)/oo;return function(n,s){const i=n.pow(s,e);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%Kc===Qc){const e=(r-Qc)/Kc;return function(n,s){const i=n.mul(s,_n),a=n.pow(i,e),o=n.mul(s,a),c=n.mul(n.mul(o,_n),a),f=n.mul(o,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),s))throw new Error("Cannot find square root");return f}}return ch(r)}const lh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function uh(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=lh.reduce((n,s)=>(n[s]="function",n),e);return aa(r,t)}function dh(r,e,t){if(t<pe)throw new Error("Expected power > 0");if(t===pe)return r.ONE;if(t===fe)return e;let n=r.ONE,s=e;for(;t>pe;)t&fe&&(n=r.mul(n,s)),s=r.sqr(s),t>>=fe;return n}function hh(r,e){const t=new Array(e.length),n=e.reduce((i,a,o)=>r.is0(a)?i:(t[o]=i,r.mul(i,a)),r.ONE),s=r.inv(n);return e.reduceRight((i,a,o)=>r.is0(a)?i:(t[o]=r.mul(i,t[o]),r.mul(i,a)),s),t}function eu(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function xh(r,e,t=!1,n={}){if(r<=pe)throw new Error(`Expected Field ORDER > 0, got ${r}`);const{nBitLength:s,nByteLength:i}=eu(r,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const a=fh(r),o=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:qo(s),ZERO:pe,ONE:fe,create:c=>Me(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return pe<=c&&c<r},is0:c=>c===pe,isOdd:c=>(c&fe)===fe,neg:c=>Me(-c,r),eql:(c,f)=>c===f,sqr:c=>Me(c*c,r),add:(c,f)=>Me(c+f,r),sub:(c,f)=>Me(c-f,r),mul:(c,f)=>Me(c*f,r),pow:(c,f)=>dh(o,c,f),div:(c,f)=>Me(c*co(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>co(c,r),sqrt:n.sqrt||(c=>a(o,c)),invertBatch:c=>hh(o,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>t?$o(c,i):Ys(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?Xo(c):Nr(c)}});return Object.freeze(o)}function tu(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function nu(r){const e=tu(r);return e+Math.ceil(e/2)}function bh(r,e,t=!1){const n=r.length,s=tu(e),i=nu(e);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);const a=t?Nr(r):Xo(r),o=Me(a,e-fe)+fe;return t?$o(o,s):Ys(o,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ph=BigInt(0),L0=BigInt(1);function gh(r,e){const t=(s,i)=>{const a=i.negate();return s?a:i},n=s=>{const i=Math.ceil(e/s)+1,a=2**(s-1);return{windows:i,windowSize:a}};return{constTimeNegate:t,unsafeLadder(s,i){let a=r.ZERO,o=s;for(;i>ph;)i&L0&&(a=a.add(o)),o=o.double(),i>>=L0;return a},precomputeWindow(s,i){const{windows:a,windowSize:o}=n(i),c=[];let f=s,u=f;for(let d=0;d<a;d++){u=f,c.push(u);for(let x=1;x<o;x++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(s,i,a){const{windows:o,windowSize:c}=n(s);let f=r.ZERO,u=r.BASE;const d=BigInt(2**s-1),x=2**s,p=BigInt(s);for(let m=0;m<o;m++){const g=m*c;let A=Number(a&d);a>>=p,A>c&&(A-=x,a+=L0);const E=g,C=g+Math.abs(A)-1,T=m%2!==0,M=A<0;A===0?u=u.add(t(T,i[E])):f=f.add(t(M,i[C]))}return{p:f,f:u}},wNAFCached(s,i,a,o){const c=s._WINDOW_SIZE||1;let f=i.get(s);return f||(f=this.precomputeWindow(s,c),c!==1&&i.set(s,o(f))),this.wNAF(c,f,a)}}}function ru(r){return uh(r.Fp),aa(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...eu(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function yh(r){const e=ru(r);aa(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:s}=e;if(t){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:mh,hexToBytes:wh}=ih,Zn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){const{Err:e}=Zn;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");const t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:mh(n),l:r.subarray(t+2)}},toSig(r){const{Err:e}=Zn,t=typeof r=="string"?wh(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");const{d:s,l:i}=Zn._parseInt(t.subarray(2)),{d:a,l:o}=Zn._parseInt(i);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:a}},hexFromSig(r){const e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,t=f=>{const u=f.toString(16);return u.length&1?`0${u}`:u},n=e(t(r.s)),s=e(t(r.r)),i=n.length/2,a=s.length/2,o=t(i),c=t(a);return`30${t(a+i+4)}02${c}${s}02${o}${n}`}},qt=BigInt(0),at=BigInt(1);BigInt(2);const _c=BigInt(3);BigInt(4);function Ah(r){const e=yh(r),{Fp:t}=e,n=e.toBytes||((m,g,A)=>{const E=g.toAffine();return Ti(Uint8Array.from([4]),t.toBytes(E.x),t.toBytes(E.y))}),s=e.fromBytes||(m=>{const g=m.subarray(1),A=t.fromBytes(g.subarray(0,t.BYTES)),E=t.fromBytes(g.subarray(t.BYTES,2*t.BYTES));return{x:A,y:E}});function i(m){const{a:g,b:A}=e,E=t.sqr(m),C=t.mul(E,m);return t.add(t.add(C,t.mul(m,g)),A)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function a(m){return typeof m=="bigint"&&qt<m&&m<e.n}function o(m){if(!a(m))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(m){const{allowedPrivateKeyLengths:g,nByteLength:A,wrapPrivateKey:E,n:C}=e;if(g&&typeof m!="bigint"){if(m instanceof Uint8Array&&(m=Ws(m)),typeof m!="string"||!g.includes(m.length))throw new Error("Invalid key");m=m.padStart(A*2,"0")}let T;try{T=typeof m=="bigint"?m:Nr(dt("private key",m,A))}catch{throw new Error(`private key must be ${A} bytes, hex or bigint, not ${typeof m}`)}return E&&(T=Me(T,C)),o(T),T}const f=new Map;function u(m){if(!(m instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(g,A,E){if(this.px=g,this.py=A,this.pz=E,g==null||!t.isValid(g))throw new Error("x required");if(A==null||!t.isValid(A))throw new Error("y required");if(E==null||!t.isValid(E))throw new Error("z required")}static fromAffine(g){const{x:A,y:E}=g||{};if(!g||!t.isValid(A)||!t.isValid(E))throw new Error("invalid affine point");if(g instanceof d)throw new Error("projective point not allowed");const C=T=>t.eql(T,t.ZERO);return C(A)&&C(E)?d.ZERO:new d(A,E,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(g){const A=t.invertBatch(g.map(E=>E.pz));return g.map((E,C)=>E.toAffine(A[C])).map(d.fromAffine)}static fromHex(g){const A=d.fromAffine(s(dt("pointHex",g)));return A.assertValidity(),A}static fromPrivateKey(g){return d.BASE.multiply(c(g))}_setWindowSize(g){this._WINDOW_SIZE=g,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:g,y:A}=this.toAffine();if(!t.isValid(g)||!t.isValid(A))throw new Error("bad point: x or y not FE");const E=t.sqr(A),C=i(g);if(!t.eql(E,C))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:g}=this.toAffine();if(t.isOdd)return!t.isOdd(g);throw new Error("Field doesn't support isOdd")}equals(g){u(g);const{px:A,py:E,pz:C}=this,{px:T,py:M,pz:O}=g,R=t.eql(t.mul(A,O),t.mul(T,C)),F=t.eql(t.mul(E,O),t.mul(M,C));return R&&F}negate(){return new d(this.px,t.neg(this.py),this.pz)}double(){const{a:g,b:A}=e,E=t.mul(A,_c),{px:C,py:T,pz:M}=this;let O=t.ZERO,R=t.ZERO,F=t.ZERO,U=t.mul(C,C),_=t.mul(T,T),H=t.mul(M,M),V=t.mul(C,T);return V=t.add(V,V),F=t.mul(C,M),F=t.add(F,F),O=t.mul(g,F),R=t.mul(E,H),R=t.add(O,R),O=t.sub(_,R),R=t.add(_,R),R=t.mul(O,R),O=t.mul(V,O),F=t.mul(E,F),H=t.mul(g,H),V=t.sub(U,H),V=t.mul(g,V),V=t.add(V,F),F=t.add(U,U),U=t.add(F,U),U=t.add(U,H),U=t.mul(U,V),R=t.add(R,U),H=t.mul(T,M),H=t.add(H,H),U=t.mul(H,V),O=t.sub(O,U),F=t.mul(H,_),F=t.add(F,F),F=t.add(F,F),new d(O,R,F)}add(g){u(g);const{px:A,py:E,pz:C}=this,{px:T,py:M,pz:O}=g;let R=t.ZERO,F=t.ZERO,U=t.ZERO;const _=e.a,H=t.mul(e.b,_c);let V=t.mul(A,T),$=t.mul(E,M),te=t.mul(C,O),he=t.add(A,E),k=t.add(T,M);he=t.mul(he,k),k=t.add(V,$),he=t.sub(he,k),k=t.add(A,C);let B=t.add(T,O);return k=t.mul(k,B),B=t.add(V,te),k=t.sub(k,B),B=t.add(E,C),R=t.add(M,O),B=t.mul(B,R),R=t.add($,te),B=t.sub(B,R),U=t.mul(_,k),R=t.mul(H,te),U=t.add(R,U),R=t.sub($,U),U=t.add($,U),F=t.mul(R,U),$=t.add(V,V),$=t.add($,V),te=t.mul(_,te),k=t.mul(H,k),$=t.add($,te),te=t.sub(V,te),te=t.mul(_,te),k=t.add(k,te),V=t.mul($,k),F=t.add(F,V),V=t.mul(B,k),R=t.mul(he,R),R=t.sub(R,V),V=t.mul(he,$),U=t.mul(B,U),U=t.add(U,V),new d(R,F,U)}subtract(g){return this.add(g.negate())}is0(){return this.equals(d.ZERO)}wNAF(g){return p.wNAFCached(this,f,g,A=>{const E=t.invertBatch(A.map(C=>C.pz));return A.map((C,T)=>C.toAffine(E[T])).map(d.fromAffine)})}multiplyUnsafe(g){const A=d.ZERO;if(g===qt)return A;if(o(g),g===at)return this;const{endo:E}=e;if(!E)return p.unsafeLadder(this,g);let{k1neg:C,k1:T,k2neg:M,k2:O}=E.splitScalar(g),R=A,F=A,U=this;for(;T>qt||O>qt;)T&at&&(R=R.add(U)),O&at&&(F=F.add(U)),U=U.double(),T>>=at,O>>=at;return C&&(R=R.negate()),M&&(F=F.negate()),F=new d(t.mul(F.px,E.beta),F.py,F.pz),R.add(F)}multiply(g){o(g);let A=g,E,C;const{endo:T}=e;if(T){const{k1neg:M,k1:O,k2neg:R,k2:F}=T.splitScalar(A);let{p:U,f:_}=this.wNAF(O),{p:H,f:V}=this.wNAF(F);U=p.constTimeNegate(M,U),H=p.constTimeNegate(R,H),H=new d(t.mul(H.px,T.beta),H.py,H.pz),E=U.add(H),C=_.add(V)}else{const{p:M,f:O}=this.wNAF(A);E=M,C=O}return d.normalizeZ([E,C])[0]}multiplyAndAddUnsafe(g,A,E){const C=d.BASE,T=(O,R)=>R===qt||R===at||!O.equals(C)?O.multiplyUnsafe(R):O.multiply(R),M=T(this,A).add(T(g,E));return M.is0()?void 0:M}toAffine(g){const{px:A,py:E,pz:C}=this,T=this.is0();g==null&&(g=T?t.ONE:t.inv(C));const M=t.mul(A,g),O=t.mul(E,g),R=t.mul(C,g);if(T)return{x:t.ZERO,y:t.ZERO};if(!t.eql(R,t.ONE))throw new Error("invZ was invalid");return{x:M,y:O}}isTorsionFree(){const{h:g,isTorsionFree:A}=e;if(g===at)return!0;if(A)return A(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:g,clearCofactor:A}=e;return g===at?this:A?A(d,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return this.assertValidity(),n(d,this,g)}toHex(g=!0){return Ws(this.toRawBytes(g))}}d.BASE=new d(e.Gx,e.Gy,t.ONE),d.ZERO=new d(t.ZERO,t.ONE,t.ZERO);const x=e.nBitLength,p=gh(d,e.endo?Math.ceil(x/2):x);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:a}}function Eh(r){const e=ru(r);return aa(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Nh(r){const e=Eh(r),{Fp:t,n}=e,s=t.BYTES+1,i=2*t.BYTES+1;function a(k){return qt<k&&k<t.ORDER}function o(k){return Me(k,n)}function c(k){return co(k,n)}const{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:x}=Ah({...e,toBytes(k,B,G){const W=B.toAffine(),z=t.toBytes(W.x),q=Ti;return G?q(Uint8Array.from([B.hasEvenY()?2:3]),z):q(Uint8Array.from([4]),z,t.toBytes(W.y))},fromBytes(k){const B=k.length,G=k[0],W=k.subarray(1);if(B===s&&(G===2||G===3)){const z=Nr(W);if(!a(z))throw new Error("Point is not on curve");const q=d(z);let ae=t.sqrt(q);const Ne=(ae&at)===at;return(G&1)===1!==Ne&&(ae=t.neg(ae)),{x:z,y:ae}}else if(B===i&&G===4){const z=t.fromBytes(W.subarray(0,t.BYTES)),q=t.fromBytes(W.subarray(t.BYTES,2*t.BYTES));return{x:z,y:q}}else throw new Error(`Point of length ${B} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),p=k=>Ws(Ys(k,e.nByteLength));function m(k){const B=n>>at;return k>B}function g(k){return m(k)?o(-k):k}const A=(k,B,G)=>Nr(k.slice(B,G));class E{constructor(B,G,W){this.r=B,this.s=G,this.recovery=W,this.assertValidity()}static fromCompact(B){const G=e.nByteLength;return B=dt("compactSignature",B,G*2),new E(A(B,0,G),A(B,G,2*G))}static fromDER(B){const{r:G,s:W}=Zn.toSig(dt("DER",B));return new E(G,W)}assertValidity(){if(!x(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!x(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(B){return new E(this.r,this.s,B)}recoverPublicKey(B){const{r:G,s:W,recovery:z}=this,q=F(dt("msgHash",B));if(z==null||![0,1,2,3].includes(z))throw new Error("recovery id invalid");const ae=z===2||z===3?G+e.n:G;if(ae>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const Ne=z&1?"03":"02",fn=f.fromHex(Ne+p(ae)),ln=c(ae),Sr=o(-q*ln),fi=o(W*ln),un=f.BASE.multiplyAndAddUnsafe(fn,Sr,fi);if(!un)throw new Error("point at infinify");return un.assertValidity(),un}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new E(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Zs(this.toDERHex())}toDERHex(){return Zn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Zs(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}const C={isValidPrivateKey(k){try{return u(k),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const k=nu(e.n);return bh(e.randomBytes(k),e.n)},precompute(k=8,B=f.BASE){return B._setWindowSize(k),B.multiply(BigInt(3)),B}};function T(k,B=!0){return f.fromPrivateKey(k).toRawBytes(B)}function M(k){const B=k instanceof Uint8Array,G=typeof k=="string",W=(B||G)&&k.length;return B?W===s||W===i:G?W===2*s||W===2*i:k instanceof f}function O(k,B,G=!0){if(M(k))throw new Error("first arg must be private key");if(!M(B))throw new Error("second arg must be public key");return f.fromHex(B).multiply(u(k)).toRawBytes(G)}const R=e.bits2int||function(k){const B=Nr(k),G=k.length*8-e.nBitLength;return G>0?B>>BigInt(G):B},F=e.bits2int_modN||function(k){return o(R(k))},U=qo(e.nBitLength);function _(k){if(typeof k!="bigint")throw new Error("bigint expected");if(!(qt<=k&&k<U))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Ys(k,e.nByteLength)}function H(k,B,G=V){if(["recovered","canonical"].some(Vn=>Vn in G))throw new Error("sign() legacy options not supported");const{hash:W,randomBytes:z}=e;let{lowS:q,prehash:ae,extraEntropy:Ne}=G;q==null&&(q=!0),k=dt("msgHash",k),ae&&(k=dt("prehashed msgHash",W(k)));const fn=F(k),ln=u(B),Sr=[_(ln),_(fn)];if(Ne!=null){const Vn=Ne===!0?z(t.BYTES):Ne;Sr.push(dt("extraEntropy",Vn))}const fi=Ti(...Sr),un=fn;function R0(Vn){const Ur=R(Vn);if(!x(Ur))return;const Ec=c(Ur),Lr=f.BASE.multiply(Ur).toAffine(),ct=o(Lr.x);if(ct===qt)return;const Dr=o(Ec*o(un+ct*ln));if(Dr===qt)return;let Nc=(Lr.x===ct?0:2)|Number(Lr.y&at),Pc=Dr;return q&&m(Dr)&&(Pc=g(Dr),Nc^=1),new E(ct,Pc,Nc)}return{seed:fi,k2sig:R0}}const V={lowS:e.lowS,prehash:!1},$={lowS:e.lowS,prehash:!1};function te(k,B,G=V){const{seed:W,k2sig:z}=H(k,B,G),q=e;return ql(q.hash.outputLen,q.nByteLength,q.hmac)(W,z)}f.BASE._setWindowSize(8);function he(k,B,G,W=$){var Lr;const z=k;if(B=dt("msgHash",B),G=dt("publicKey",G),"strict"in W)throw new Error("options.strict was renamed to lowS");const{lowS:q,prehash:ae}=W;let Ne,fn;try{if(typeof z=="string"||z instanceof Uint8Array)try{Ne=E.fromDER(z)}catch(ct){if(!(ct instanceof Zn.Err))throw ct;Ne=E.fromCompact(z)}else if(typeof z=="object"&&typeof z.r=="bigint"&&typeof z.s=="bigint"){const{r:ct,s:Dr}=z;Ne=new E(ct,Dr)}else throw new Error("PARSE");fn=f.fromHex(G)}catch(ct){if(ct.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(q&&Ne.hasHighS())return!1;ae&&(B=e.hash(B));const{r:ln,s:Sr}=Ne,fi=F(B),un=c(Sr),R0=o(fi*un),Vn=o(ln*un),Ur=(Lr=f.BASE.multiplyAndAddUnsafe(fn,R0,Vn))==null?void 0:Lr.toAffine();return Ur?o(Ur.x)===ln:!1}return{CURVE:e,getPublicKey:T,getSharedSecret:O,sign:te,verify:he,ProjectivePoint:f,Signature:E,utils:C}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ph(r){return{hash:r,hmac:(e,...t)=>y0(r,e,Yd(...t)),randomBytes:$d}}function Th(r,e){const t=n=>Nh({...r,...Ph(n)});return Object.freeze({...t(e),create:t})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const su=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),zc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Ih=BigInt(1),fo=BigInt(2),Jc=(r,e)=>(r+e/fo)/e;function Ch(r){const e=su,t=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),f=r*r*r%e,u=f*f*r%e,d=We(u,t,e)*u%e,x=We(d,t,e)*u%e,p=We(x,fo,e)*f%e,m=We(p,s,e)*p%e,g=We(m,i,e)*m%e,A=We(g,o,e)*g%e,E=We(A,c,e)*A%e,C=We(E,o,e)*g%e,T=We(C,t,e)*u%e,M=We(T,a,e)*m%e,O=We(M,n,e)*f%e,R=We(O,fo,e);if(!lo.eql(lo.sqr(R),r))throw new Error("Cannot find square root");return R}const lo=xh(su,void 0,void 0,{sqrt:Ch}),pn=Th({a:BigInt(0),b:BigInt(7),Fp:lo,n:zc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=zc,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Ih*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,a=BigInt("0x100000000000000000000000000000000"),o=Jc(i*r,e),c=Jc(-n*r,e);let f=Me(r-o*t-c*s,e),u=Me(-o*n-c*i,e);const d=f>a,x=u>a;if(d&&(f=e-f),x&&(u=e-u),f>a||u>a)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:d,k1:f,k2neg:x,k2:u}}}},si);BigInt(0);pn.ProjectivePoint;const Ii="0x0000000000000000000000000000000000000000",jc="0x0000000000000000000000000000000000000000000000000000000000000000",kh=`Ethereum Signed Message:
|
|
1
|
+
"use strict";var wd=Object.defineProperty;var Ad=(r,e,t)=>e in r?wd(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var y=(r,e,t)=>(Ad(r,typeof e!="symbol"?e+"":e,t),t),B0=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var l=(r,e,t)=>(B0(r,e,"read from private field"),t?t.call(r):e.get(r)),w=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},h=(r,e,t,n)=>(B0(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t);var Fr=(r,e,t,n)=>({set _(s){h(r,e,s,t)},get _(){return l(r,e,n)}}),I=(r,e,t)=>(B0(r,e,"access private method"),t);const de=require("./index-C1oy9Lkm.js"),Jf=require("./chain-BteoJHpg.js"),jf="6.12.1";function Ed(r,e,t){const n=e.split("|").map(i=>i.trim());for(let i=0;i<n.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof r===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=r,s}async function Ce(r){const e=Object.keys(r);return(await Promise.all(e.map(n=>Promise.resolve(r[n])))).reduce((n,s,i)=>(n[e[i]]=s,n),{})}function D(r,e,t){for(let n in e){let s=e[n];const i=t?t[n]:null;i&&Ed(s,i,n),Object.defineProperty(r,n,{enumerable:!0,value:s,writable:!1})}}function Jr(r){if(r==null)return"null";if(Array.isArray(r))return"[ "+r.map(Jr).join(", ")+" ]";if(r instanceof Uint8Array){const e="0123456789abcdef";let t="0x";for(let n=0;n<r.length;n++)t+=e[r[n]>>4],t+=e[r[n]&15];return t}if(typeof r=="object"&&typeof r.toJSON=="function")return Jr(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"number":return r.toString();case"string":return JSON.stringify(r);case"object":{const e=Object.keys(r);return e.sort(),"{ "+e.map(t=>`${Jr(t)}: ${Jr(r[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function ke(r,e){return r&&r.code===e}function Vo(r){return ke(r,"CALL_EXCEPTION")}function ue(r,e,t){let n=r;{const i=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${Jr(t)}`);for(const a in t){if(a==="shortMessage")continue;const o=t[a];i.push(a+"="+Jr(o))}}i.push(`code=${e}`),i.push(`version=${jf}`),i.length&&(r+=" ("+i.join(", ")+")")}let s;switch(e){case"INVALID_ARGUMENT":s=new TypeError(r);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=new RangeError(r);break;default:s=new Error(r)}return D(s,{code:e}),t&&Object.assign(s,t),s.shortMessage==null&&D(s,{shortMessage:n}),s}function N(r,e,t,n){if(!r)throw ue(e,t,n)}function b(r,e,t,n){N(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function Wf(r,e,t){t==null&&(t=""),t&&(t=": "+t),N(r>=e,"missing arguemnt"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),N(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}const Nd=["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"é".normalize("NFD")!=="é")throw new Error("broken");r.push(e)}catch{}return r},[]);function Zf(r){N(Nd.indexOf(r)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:r}})}function Br(r,e,t){if(t==null&&(t=""),r!==e){let n=t,s="new";t&&(n+=".",s+=" "+t),N(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function Yf(r,e,t){if(r instanceof Uint8Array)return t?new Uint8Array(r):r;if(typeof r=="string"&&r.match(/^0x([0-9a-f][0-9a-f])*$/i)){const n=new Uint8Array((r.length-2)/2);let s=2;for(let i=0;i<n.length;i++)n[i]=parseInt(r.substring(s,s+2),16),s+=2;return n}b(!1,"invalid BytesLike value",e||"value",r)}function v(r,e){return Yf(r,e,!1)}function we(r,e){return Yf(r,e,!0)}function ee(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&r.length!==2+2*e||e===!0&&r.length%2!==0)}function d0(r){return ee(r,!0)||r instanceof Uint8Array}const Tc="0123456789abcdef";function P(r){const e=v(r);let t="0x";for(let n=0;n<e.length;n++){const s=e[n];t+=Tc[(s&240)>>4]+Tc[s&15]}return t}function X(r){return"0x"+r.map(e=>P(e).substring(2)).join("")}function Xr(r){return ee(r,!0)?(r.length-2)/2:v(r).length}function ne(r,e,t){const n=v(r);return t!=null&&t>n.length&&N(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),P(n.slice(e??0,t??n.length))}function Xf(r,e,t){const n=v(r);N(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});const s=new Uint8Array(e);return s.fill(0),t?s.set(n,e-n.length):s.set(n,0),P(s)}function Tr(r,e){return Xf(r,e,!0)}function Pd(r,e){return Xf(r,e,!1)}const h0=BigInt(0),gt=BigInt(1),jr=9007199254740991;function Td(r,e){const t=x0(r,"value"),n=BigInt(K(e,"width"));if(N(t>>n===h0,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-gt){const s=(gt<<n)-gt;return-((~t&s)+gt)}return t}function $f(r,e){let t=L(r,"value");const n=BigInt(K(e,"width")),s=gt<<n-gt;if(t<h0){t=-t,N(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});const i=(gt<<n)-gt;return(~t&i)+gt}else N(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});return t}function hi(r,e){const t=x0(r,"value"),n=BigInt(K(e,"bits"));return t&(gt<<n)-gt}function L(r,e){switch(typeof r){case"bigint":return r;case"number":return b(Number.isInteger(r),"underflow",e||"value",r),b(r>=-jr&&r<=jr,"overflow",e||"value",r),BigInt(r);case"string":try{if(r==="")throw new Error("empty string");return r[0]==="-"&&r[1]!=="-"?-BigInt(r.substring(1)):BigInt(r)}catch(t){b(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}b(!1,"invalid BigNumberish value",e||"value",r)}function x0(r,e){const t=L(r,e);return N(t>=h0,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}const Ic="0123456789abcdef";function b0(r){if(r instanceof Uint8Array){let e="0x0";for(const t of r)e+=Ic[t>>4],e+=Ic[t&15];return BigInt(e)}return L(r)}function K(r,e){switch(typeof r){case"bigint":return b(r>=-jr&&r<=jr,"overflow",e||"value",r),Number(r);case"number":return b(Number.isInteger(r),"underflow",e||"value",r),b(r>=-jr&&r<=jr,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return K(BigInt(r),e)}catch(t){b(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}b(!1,"invalid numeric value",e||"value",r)}function Id(r){return K(b0(r))}function rn(r,e){let n=x0(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{const s=K(e,"width");for(N(s*2>=n.length,`value exceeds width (${s} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:r});n.length<s*2;)n="0"+n}return"0x"+n}function Oe(r){const e=x0(r,"value");if(e===h0)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);const n=new Uint8Array(t.length/2);for(let s=0;s<n.length;s++){const i=s*2;n[s]=parseInt(t.substring(i,i+2),16)}return n}function Wr(r){let e=P(d0(r)?r:Oe(r)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}const Ka="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";let xa=null;function Cd(r){if(xa==null){xa={};for(let t=0;t<Ka.length;t++)xa[Ka[t]]=BigInt(t)}const e=xa[r];return b(e!=null,"invalid base58 value","letter",r),e}const kd=BigInt(0),to=BigInt(58);function qf(r){const e=v(r);let t=b0(e),n="";for(;t;)n=Ka[Number(t%to)]+n,t/=to;for(let s=0;s<e.length&&!e[s];s++)n=Ka[0]+n;return n}function Od(r){let e=kd;for(let t=0;t<r.length;t++)e*=to,e+=Cd(r[t]);return e}function Rd(r){r=atob(r);const e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return v(e)}function Bd(r){const e=v(r);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var ns;class el{constructor(e,t,n){y(this,"filter");y(this,"emitter");w(this,ns,void 0);h(this,ns,t),D(this,{emitter:e,filter:n})}async removeListener(){l(this,ns)!=null&&await this.emitter.off(this.filter,l(this,ns))}}ns=new WeakMap;function vd(r,e,t,n,s){b(!1,`invalid codepoint at offset ${e}; ${r}`,"bytes",t)}function tl(r,e,t,n,s){if(r==="BAD_PREFIX"||r==="UNEXPECTED_CONTINUE"){let i=0;for(let a=e+1;a<t.length&&t[a]>>6===2;a++)i++;return i}return r==="OVERRUN"?t.length-e-1:0}function Sd(r,e,t,n,s){return r==="OVERLONG"?(b(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),n.push(s),0):(n.push(65533),tl(r,e,t))}const Ud=Object.freeze({error:vd,ignore:tl,replace:Sd});function Ld(r,e){e==null&&(e=Ud.error);const t=v(r,"bytes"),n=[];let s=0;for(;s<t.length;){const i=t[s++];if(!(i>>7)){n.push(i);continue}let a=null,o=null;if((i&224)===192)a=1,o=127;else if((i&240)===224)a=2,o=2047;else if((i&248)===240)a=3,o=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,n):s+=e("BAD_PREFIX",s-1,t,n);continue}if(s-1+a>=t.length){s+=e("OVERRUN",s-1,t,n);continue}let c=i&(1<<8-a-1)-1;for(let f=0;f<a;f++){let u=t[s];if((u&192)!=128){s+=e("MISSING_CONTINUE",s,t,n),c=null;break}c=c<<6|u&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-a,t,n,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-a,t,n,c);continue}if(c<=o){s+=e("OVERLONG",s-1-a,t,n,c);continue}n.push(c)}}return n}function Le(r,e){b(typeof r=="string","invalid string value","str",r),e!=null&&(Zf(e),r=r.normalize(e));let t=[];for(let n=0;n<r.length;n++){const s=r.charCodeAt(n);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){n++;const i=r.charCodeAt(n);b(n<r.length&&(i&64512)===56320,"invalid surrogate pair","str",r);const a=65536+((s&1023)<<10)+(i&1023);t.push(a>>18|240),t.push(a>>12&63|128),t.push(a>>6&63|128),t.push(a&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function Dd(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function _a(r,e){return Dd(Ld(r,e))}function nl(r){async function e(t,n){const s=t.url.split(":")[0].toLowerCase();N(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),N(s==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i;if(n){const d=new AbortController;i=d.signal,n.addListener(()=>{d.abort()})}const a={method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:i},o=await fetch(t.url,a),c={};o.headers.forEach((d,x)=>{c[x.toLowerCase()]=d});const f=await o.arrayBuffer(),u=f==null?null:new Uint8Array(f);return{statusCode:o.status,statusMessage:o.statusText,headers:c,body:u}}return e}const Fd=12,Md=250;let Cc=nl();const Gd=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),Hd=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let v0=!1;async function rl(r,e){try{const t=r.match(Gd);if(!t)throw new Error("invalid data");return new Dn(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?Rd(t[3]):Qd(t[3]))}catch{return new Dn(599,"BAD REQUEST (invalid data: URI)",{},null,new sn(r))}}function sl(r){async function e(t,n){try{const s=t.match(Hd);if(!s)throw new Error("invalid link");return new sn(`${r}${s[2]}`)}catch{return new Dn(599,"BAD REQUEST (invalid IPFS URI)",{},null,new sn(t))}}return e}const ba={data:rl,ipfs:sl("https://gateway.ipfs.io/ipfs/")},il=new WeakMap;var $n,gn;class Vd{constructor(e){w(this,$n,void 0);w(this,gn,void 0);h(this,$n,[]),h(this,gn,!1),il.set(e,()=>{if(!l(this,gn)){h(this,gn,!0);for(const t of l(this,$n))setTimeout(()=>{t()},0);h(this,$n,[])}})}addListener(e){N(!l(this,gn),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),l(this,$n).push(e)}get cancelled(){return l(this,gn)}checkSignal(){N(!this.cancelled,"cancelled","CANCELLED",{})}}$n=new WeakMap,gn=new WeakMap;function pa(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}var rs,ss,ht,Vt,is,as,xe,Ke,Qt,qn,er,tr,Pt,xt,yn,nr,xi;const s0=class s0{constructor(e){w(this,nr);w(this,rs,void 0);w(this,ss,void 0);w(this,ht,void 0);w(this,Vt,void 0);w(this,is,void 0);w(this,as,void 0);w(this,xe,void 0);w(this,Ke,void 0);w(this,Qt,void 0);w(this,qn,void 0);w(this,er,void 0);w(this,tr,void 0);w(this,Pt,void 0);w(this,xt,void 0);w(this,yn,void 0);h(this,as,String(e)),h(this,rs,!1),h(this,ss,!0),h(this,ht,{}),h(this,Vt,""),h(this,is,3e5),h(this,xt,{slotInterval:Md,maxAttempts:Fd}),h(this,yn,null)}get url(){return l(this,as)}set url(e){h(this,as,String(e))}get body(){return l(this,xe)==null?null:new Uint8Array(l(this,xe))}set body(e){if(e==null)h(this,xe,void 0),h(this,Ke,void 0);else if(typeof e=="string")h(this,xe,Le(e)),h(this,Ke,"text/plain");else if(e instanceof Uint8Array)h(this,xe,e),h(this,Ke,"application/octet-stream");else if(typeof e=="object")h(this,xe,Le(JSON.stringify(e))),h(this,Ke,"application/json");else throw new Error("invalid body")}hasBody(){return l(this,xe)!=null}get method(){return l(this,Vt)?l(this,Vt):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),h(this,Vt,String(e).toUpperCase())}get headers(){const e=Object.assign({},l(this,ht));return l(this,Qt)&&(e.authorization=`Basic ${Bd(Le(l(this,Qt)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&l(this,Ke)&&(e["content-type"]=l(this,Ke)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){l(this,ht)[String(e).toLowerCase()]=String(t)}clearHeaders(){h(this,ht,{})}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n<t.length){const s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return l(this,Qt)||null}setCredentials(e,t){b(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),h(this,Qt,`${e}:${t}`)}get allowGzip(){return l(this,ss)}set allowGzip(e){h(this,ss,!!e)}get allowInsecureAuthentication(){return!!l(this,rs)}set allowInsecureAuthentication(e){h(this,rs,!!e)}get timeout(){return l(this,is)}set timeout(e){b(e>=0,"timeout must be non-zero","timeout",e),h(this,is,e)}get preflightFunc(){return l(this,qn)||null}set preflightFunc(e){h(this,qn,e)}get processFunc(){return l(this,er)||null}set processFunc(e){h(this,er,e)}get retryFunc(){return l(this,tr)||null}set retryFunc(e){h(this,tr,e)}get getUrlFunc(){return l(this,yn)||Cc}set getUrlFunc(e){h(this,yn,e)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${l(this,xe)?P(l(this,xe)):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(l(this,xt).slotInterval=e.slotInterval),e.maxAttempts!=null&&(l(this,xt).maxAttempts=e.maxAttempts)}send(){return N(l(this,Pt)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),h(this,Pt,new Vd(this)),I(this,nr,xi).call(this,0,kc()+this.timeout,0,this,new Dn(0,"",{},null,this))}cancel(){N(l(this,Pt)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const e=il.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){const t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();N(this.method==="GET"&&(t!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});const s=new s0(e);return s.method="GET",s.allowGzip=this.allowGzip,s.timeout=this.timeout,h(s,ht,Object.assign({},l(this,ht))),l(this,xe)&&h(s,xe,new Uint8Array(l(this,xe))),h(s,Ke,l(this,Ke)),s}clone(){const e=new s0(this.url);return h(e,Vt,l(this,Vt)),l(this,xe)&&h(e,xe,l(this,xe)),h(e,Ke,l(this,Ke)),h(e,ht,Object.assign({},l(this,ht))),h(e,Qt,l(this,Qt)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),h(e,qn,l(this,qn)),h(e,er,l(this,er)),h(e,tr,l(this,tr)),h(e,xt,Object.assign({},l(this,xt))),h(e,yn,l(this,yn)),e}static lockConfig(){v0=!0}static getGateway(e){return ba[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(v0)throw new Error("gateways locked");ba[e]=t}static registerGetUrl(e){if(v0)throw new Error("gateways locked");Cc=e}static createGetUrlFunc(e){return nl()}static createDataGateway(){return rl}static createIpfsGatewayFunc(e){return sl(e)}};rs=new WeakMap,ss=new WeakMap,ht=new WeakMap,Vt=new WeakMap,is=new WeakMap,as=new WeakMap,xe=new WeakMap,Ke=new WeakMap,Qt=new WeakMap,qn=new WeakMap,er=new WeakMap,tr=new WeakMap,Pt=new WeakMap,xt=new WeakMap,yn=new WeakMap,nr=new WeakSet,xi=async function(e,t,n,s,i){var u,d,x;if(e>=l(this,xt).maxAttempts)return i.makeServerError("exceeded maximum retry limit");N(kc()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),n>0&&await Kd(n);let a=this.clone();const o=(a.url.split(":")[0]||"").toLowerCase();if(o in ba){const p=await ba[o](a.url,pa(l(s,Pt)));if(p instanceof Dn){let m=p;if(this.processFunc){pa(l(s,Pt));try{m=await this.processFunc(a,m)}catch(g){(g.throttle==null||typeof g.stall!="number")&&m.makeServerError("error in post-processing function",g).assertOk()}}return m}a=p}this.preflightFunc&&(a=await this.preflightFunc(a));const c=await this.getUrlFunc(a,pa(l(s,Pt)));let f=new Dn(c.statusCode,c.statusMessage,c.headers,c.body,s);if(f.statusCode===301||f.statusCode===302){try{const p=f.headers.location||"";return I(u=a.redirect(p),nr,xi).call(u,e+1,t,0,s,f)}catch{}return f}else if(f.statusCode===429&&(this.retryFunc==null||await this.retryFunc(a,f,e))){const p=f.headers["retry-after"];let m=l(this,xt).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof p=="string"&&p.match(/^[1-9][0-9]*$/)&&(m=parseInt(p)),I(d=a.clone(),nr,xi).call(d,e+1,t,m,s,f)}if(this.processFunc){pa(l(s,Pt));try{f=await this.processFunc(a,f)}catch(p){(p.throttle==null||typeof p.stall!="number")&&f.makeServerError("error in post-processing function",p).assertOk();let m=l(this,xt).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return p.stall>=0&&(m=p.stall),I(x=a.clone(),nr,xi).call(x,e+1,t,m,s,f)}}return f};let sn=s0;var Mi,Gi,Hi,_e,os,rr;const pc=class pc{constructor(e,t,n,s,i){w(this,Mi,void 0);w(this,Gi,void 0);w(this,Hi,void 0);w(this,_e,void 0);w(this,os,void 0);w(this,rr,void 0);h(this,Mi,e),h(this,Gi,t),h(this,Hi,Object.keys(n).reduce((a,o)=>(a[o.toLowerCase()]=String(n[o]),a),{})),h(this,_e,s==null?null:new Uint8Array(s)),h(this,os,i||null),h(this,rr,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${l(this,_e)?P(l(this,_e)):"null"}>`}get statusCode(){return l(this,Mi)}get statusMessage(){return l(this,Gi)}get headers(){return Object.assign({},l(this,Hi))}get body(){return l(this,_e)==null?null:new Uint8Array(l(this,_e))}get bodyText(){try{return l(this,_e)==null?"":_a(l(this,_e))}catch{N(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{N(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const e=this.headers,t=Object.keys(e);let n=0;return{next:()=>{if(n<t.length){const s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(e,t){let n;e?n=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,n=`CLIENT ESCALATED SERVER ERROR (${e})`);const s=new pc(599,n,this.headers,this.body,l(this,os)||void 0);return h(s,rr,{message:e,error:t}),s}throwThrottleError(e,t){t==null?t=-1:b(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);const n=new Error(e||"throttling requests");throw D(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return l(this,_e)!=null}get request(){return l(this,os)}ok(){return l(this,rr).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=l(this,rr);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let s=null;try{l(this,_e)&&(s=_a(l(this,_e)))}catch{}N(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};Mi=new WeakMap,Gi=new WeakMap,Hi=new WeakMap,_e=new WeakMap,os=new WeakMap,rr=new WeakMap;let Dn=pc;function kc(){return new Date().getTime()}function Qd(r){return Le(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function Kd(r){return new Promise(e=>setTimeout(e,r))}function _d(r){let e=r.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function Oc(r,e,t){let n=0;for(let s=0;s<t;s++)n=n*256+r[e+s];return n}function Rc(r,e,t,n){const s=[];for(;t<e+1+n;){const i=al(r,t);s.push(i.result),t+=i.consumed,N(t<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:r,length:n,offset:e})}return{consumed:1+n,result:s}}function al(r,e){N(r.length!==0,"data too short","BUFFER_OVERRUN",{buffer:r,length:0,offset:1});const t=n=>{N(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){const n=r[e]-247;t(e+1+n);const s=Oc(r,e+1,n);return t(e+1+n+s),Rc(r,e,e+1+n,n+s)}else if(r[e]>=192){const n=r[e]-192;return t(e+1+n),Rc(r,e,e+1,n)}else if(r[e]>=184){const n=r[e]-183;t(e+1+n);const s=Oc(r,e+1,n);t(e+1+n+s);const i=P(r.slice(e+1+n,e+1+n+s));return{consumed:1+n+s,result:i}}else if(r[e]>=128){const n=r[e]-128;t(e+1+n);const s=P(r.slice(e+1,e+1+n));return{consumed:1+n,result:s}}return{consumed:1,result:_d(r[e])}}function p0(r){const e=v(r,"data"),t=al(e,0);return b(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function Bc(r){const e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function ol(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(i){n=n.concat(ol(i))}),n.length<=55)return n.unshift(192+n.length),n;const s=Bc(n.length);return s.unshift(247+s.length),s.concat(n)}const e=Array.prototype.slice.call(v(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const t=Bc(e.length);return t.unshift(183+t.length),t.concat(e)}const vc="0123456789abcdef";function Ir(r){let e="0x";for(const t of ol(r))e+=vc[t>>4],e+=vc[t&15];return e}function zd(r){const e=v(r,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=P(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}const Se=32,no=new Uint8Array(Se),Jd=["then"],ga={};function li(r,e){const t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}var mn;const zn=class zn extends Array{constructor(...t){const n=t[0];let s=t[1],i=(t[2]||[]).slice(),a=!0;n!==ga&&(s=t,i=[],a=!1);super(s.length);w(this,mn,void 0);s.forEach((c,f)=>{this[f]=c});const o=i.reduce((c,f)=>(typeof f=="string"&&c.set(f,(c.get(f)||0)+1),c),new Map);if(h(this,mn,Object.freeze(s.map((c,f)=>{const u=i[f];return u!=null&&o.get(u)===1?u:null}))),!!a)return Object.freeze(this),new Proxy(this,{get:(c,f,u)=>{if(typeof f=="string"){if(f.match(/^[0-9]+$/)){const x=K(f,"%index");if(x<0||x>=this.length)throw new RangeError("out of result range");const p=c[x];return p instanceof Error&&li(`index ${x}`,p),p}if(Jd.indexOf(f)>=0)return Reflect.get(c,f,u);const d=c[f];if(d instanceof Function)return function(...x){return d.apply(this===u?c:this,x)};if(!(f in c))return c.getValue.apply(this===u?c:this,[f])}return Reflect.get(c,f,u)}})}toArray(t){const n=[];return this.forEach((s,i)=>{s instanceof Error&&li(`index ${i}`,s),t&&s instanceof zn&&(s=s.toArray(t)),n.push(s)}),n}toObject(t){return l(this,mn).reduce((n,s,i)=>{if(N(s!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),!(s in n)){let a=this.getValue(s);t&&a instanceof zn&&(a=a.toObject(t)),n[s]=a}return n},{})}slice(t,n){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);const s=[],i=[];for(let a=t;a<n;a++)s.push(this[a]),i.push(l(this,mn)[a]);return new zn(ga,s,i)}filter(t,n){const s=[],i=[];for(let a=0;a<this.length;a++){const o=this[a];o instanceof Error&&li(`index ${a}`,o),t.call(n,o,a,this)&&(s.push(o),i.push(l(this,mn)[a]))}return new zn(ga,s,i)}map(t,n){const s=[];for(let i=0;i<this.length;i++){const a=this[i];a instanceof Error&&li(`index ${i}`,a),s.push(t.call(n,a,i,this))}return s}getValue(t){const n=l(this,mn).indexOf(t);if(n===-1)return;const s=this[n];return s instanceof Error&&li(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,n){return new zn(ga,t,n)}};mn=new WeakMap;let za=zn;function Sc(r){let e=Oe(r);return N(e.length<=Se,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Se,offset:e.length}),e.length!==Se&&(e=we(X([no.slice(e.length%Se),e]))),e}class cn{constructor(e,t,n,s){y(this,"name");y(this,"type");y(this,"localName");y(this,"dynamic");D(this,{name:e,type:t,localName:n,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){b(!1,e,this.localName,t)}}var Kt,sr,cs,Oa;class ro{constructor(){w(this,cs);w(this,Kt,void 0);w(this,sr,void 0);h(this,Kt,[]),h(this,sr,0)}get data(){return X(l(this,Kt))}get length(){return l(this,sr)}appendWriter(e){return I(this,cs,Oa).call(this,we(e.data))}writeBytes(e){let t=we(e);const n=t.length%Se;return n&&(t=we(X([t,no.slice(n)]))),I(this,cs,Oa).call(this,t)}writeValue(e){return I(this,cs,Oa).call(this,Sc(e))}writeUpdatableValue(){const e=l(this,Kt).length;return l(this,Kt).push(no),h(this,sr,l(this,sr)+Se),t=>{l(this,Kt)[e]=Sc(t)}}}Kt=new WeakMap,sr=new WeakMap,cs=new WeakSet,Oa=function(e){return l(this,Kt).push(e),h(this,sr,l(this,sr)+e.length),e.length};var De,ze,ir,ar,wn,Vi,io,i0,cl;const gc=class gc{constructor(e,t,n){w(this,Vi);w(this,i0);y(this,"allowLoose");w(this,De,void 0);w(this,ze,void 0);w(this,ir,void 0);w(this,ar,void 0);w(this,wn,void 0);D(this,{allowLoose:!!t}),h(this,De,we(e)),h(this,ir,0),h(this,ar,null),h(this,wn,n??1024),h(this,ze,0)}get data(){return P(l(this,De))}get dataLength(){return l(this,De).length}get consumed(){return l(this,ze)}get bytes(){return new Uint8Array(l(this,De))}subReader(e){const t=new gc(l(this,De).slice(l(this,ze)+e),this.allowLoose,l(this,wn));return h(t,ar,this),t}readBytes(e,t){let n=I(this,i0,cl).call(this,0,e,!!t);return I(this,Vi,io).call(this,e),h(this,ze,l(this,ze)+n.length),n.slice(0,e)}readValue(){return b0(this.readBytes(Se))}readIndex(){return Id(this.readBytes(Se))}};De=new WeakMap,ze=new WeakMap,ir=new WeakMap,ar=new WeakMap,wn=new WeakMap,Vi=new WeakSet,io=function(e){var t;if(l(this,ar))return I(t=l(this,ar),Vi,io).call(t,e);h(this,ir,l(this,ir)+e),N(l(this,wn)<1||l(this,ir)<=l(this,wn)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${l(this,wn)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:we(l(this,De)),offset:l(this,ze),length:e,info:{bytesRead:l(this,ir),dataLength:this.dataLength}})},i0=new WeakSet,cl=function(e,t,n){let s=Math.ceil(t/Se)*Se;return l(this,ze)+s>l(this,De).length&&(this.allowLoose&&n&&l(this,ze)+t<=l(this,De).length?s=t:N(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:we(l(this,De)),length:l(this,De).length,offset:l(this,ze)+s})),l(this,De).slice(l(this,ze),l(this,ze)+s)};let so=gc;function je(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function Qo(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function fl(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");je(r.outputLen),je(r.blockLen)}function Js(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function ll(r,e){Qo(r);const t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const S0=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ul=r=>r instanceof Uint8Array,Ra=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),Ba=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),At=(r,e)=>r<<32-e|r>>>e,jd=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!jd)throw new Error("Non little-endian hardware is not supported");const Wd=async()=>{};async function Uc(r,e,t){let n=Date.now();for(let s=0;s<r;s++){t(s);const i=Date.now()-n;i>=0&&i<e||(await Wd(),n+=i)}}function Zd(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function js(r){if(typeof r=="string"&&(r=Zd(r)),!ul(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function Yd(...r){const e=new Uint8Array(r.reduce((n,s)=>n+s.length,0));let t=0;return r.forEach(n=>{if(!ul(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}class Ko{clone(){return this._cloneInto()}}const Xd={}.toString;function dl(r,e){if(e!==void 0&&Xd.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function g0(r){const e=n=>r().update(js(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function $d(r=32){if(S0&&typeof S0.getRandomValues=="function")return S0.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}class hl extends Ko{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,fl(e);const n=js(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),i.fill(0)}update(e){return Js(this),this.iHash.update(e),this}digestInto(e){Js(this),Qo(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:s,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const y0=(r,e,t)=>new hl(r,e).update(t).digest();y0.create=(r,e)=>new hl(r,e);function qd(r,e,t,n){fl(r);const s=dl({dkLen:32,asyncTick:10},n),{c:i,dkLen:a,asyncTick:o}=s;if(je(i),je(a),je(o),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const c=js(e),f=js(t),u=new Uint8Array(a),d=y0.create(r,c),x=d._cloneInto().update(f);return{c:i,dkLen:a,asyncTick:o,DK:u,PRF:d,PRFSalt:x}}function e1(r,e,t,n,s){return r.destroy(),e.destroy(),n&&n.destroy(),s.fill(0),t}function _o(r,e,t,n){const{c:s,dkLen:i,DK:a,PRF:o,PRFSalt:c}=qd(r,e,t,n);let f;const u=new Uint8Array(4),d=Ba(u),x=new Uint8Array(o.outputLen);for(let p=1,m=0;m<i;p++,m+=o.outputLen){const g=a.subarray(m,m+o.outputLen);d.setInt32(0,p,!1),(f=c._cloneInto(f)).update(u).digestInto(x),g.set(x.subarray(0,g.length));for(let A=1;A<s;A++){o._cloneInto(f).update(x).digestInto(x);for(let E=0;E<g.length;E++)g[E]^=x[E]}}return e1(o,c,a,f,x)}function t1(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);const s=BigInt(32),i=BigInt(4294967295),a=Number(t>>s&i),o=Number(t&i),c=n?4:0,f=n?0:4;r.setUint32(e+c,a,n),r.setUint32(e+f,o,n)}class zo extends Ko{constructor(e,t,n,s){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ba(this.buffer)}update(e){Js(this);const{view:t,buffer:n,blockLen:s}=this;e=js(e);const i=e.length;for(let a=0;a<i;){const o=Math.min(s-this.pos,i-a);if(o===s){const c=Ba(e);for(;s<=i-a;a+=s)this.process(c,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Js(this),ll(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:s,isLE:i}=this;let{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>s-a&&(this.process(n,0),a=0);for(let d=a;d<s;d++)t[d]=0;t1(n,s-8,BigInt(this.length*8),i),this.process(n,0);const o=Ba(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<f;d++)o.setUint32(4*d,u[d],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:s,finished:i,destroyed:a,pos:o}=this;return e.length=s,e.pos=o,e.finished=i,e.destroyed=a,s%t&&e.buffer.set(n),e}}const n1=(r,e,t)=>r&e^~r&t,r1=(r,e,t)=>r&e^r&t^e&t,s1=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]),dn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),hn=new Uint32Array(64);class i1 extends zo{constructor(){super(64,32,8,!1),this.A=dn[0]|0,this.B=dn[1]|0,this.C=dn[2]|0,this.D=dn[3]|0,this.E=dn[4]|0,this.F=dn[5]|0,this.G=dn[6]|0,this.H=dn[7]|0}get(){const{A:e,B:t,C:n,D:s,E:i,F:a,G:o,H:c}=this;return[e,t,n,s,i,a,o,c]}set(e,t,n,s,i,a,o,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)hn[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){const x=hn[d-15],p=hn[d-2],m=At(x,7)^At(x,18)^x>>>3,g=At(p,17)^At(p,19)^p>>>10;hn[d]=g+hn[d-7]+m+hn[d-16]|0}let{A:n,B:s,C:i,D:a,E:o,F:c,G:f,H:u}=this;for(let d=0;d<64;d++){const x=At(o,6)^At(o,11)^At(o,25),p=u+x+n1(o,c,f)+s1[d]+hn[d]|0,g=(At(n,2)^At(n,13)^At(n,22))+r1(n,s,i)|0;u=f,f=c,c=o,o=a+p|0,a=i,i=s,s=n,n=p+g|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,s,i,a,o,c,f,u)}roundClean(){hn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const si=g0(()=>new i1),ya=BigInt(2**32-1),ao=BigInt(32);function xl(r,e=!1){return e?{h:Number(r&ya),l:Number(r>>ao&ya)}:{h:Number(r>>ao&ya)|0,l:Number(r&ya)|0}}function bl(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){const{h:i,l:a}=xl(r[s],e);[t[s],n[s]]=[i,a]}return[t,n]}const a1=(r,e)=>BigInt(r>>>0)<<ao|BigInt(e>>>0),o1=(r,e,t)=>r>>>t,c1=(r,e,t)=>r<<32-t|e>>>t,f1=(r,e,t)=>r>>>t|e<<32-t,l1=(r,e,t)=>r<<32-t|e>>>t,u1=(r,e,t)=>r<<64-t|e>>>t-32,d1=(r,e,t)=>r>>>t-32|e<<64-t,h1=(r,e)=>e,x1=(r,e)=>r,pl=(r,e,t)=>r<<t|e>>>32-t,gl=(r,e,t)=>e<<t|r>>>32-t,yl=(r,e,t)=>e<<t-32|r>>>64-t,ml=(r,e,t)=>r<<t-32|e>>>64-t;function b1(r,e,t,n){const s=(e>>>0)+(n>>>0);return{h:r+t+(s/2**32|0)|0,l:s|0}}const p1=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),g1=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,y1=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),m1=(r,e,t,n,s)=>e+t+n+s+(r/2**32|0)|0,w1=(r,e,t,n,s)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(s>>>0),A1=(r,e,t,n,s,i)=>e+t+n+s+i+(r/2**32|0)|0,Q={fromBig:xl,split:bl,toBig:a1,shrSH:o1,shrSL:c1,rotrSH:f1,rotrSL:l1,rotrBH:u1,rotrBL:d1,rotr32H:h1,rotr32L:x1,rotlSH:pl,rotlSL:gl,rotlBH:yl,rotlBL:ml,add:b1,add3L:p1,add3H:g1,add4L:y1,add4H:m1,add5H:A1,add5L:w1},[E1,N1]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),xn=new Uint32Array(80),bn=new Uint32Array(80);class P1 extends zo{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:n,Bl:s,Ch:i,Cl:a,Dh:o,Dl:c,Eh:f,El:u,Fh:d,Fl:x,Gh:p,Gl:m,Hh:g,Hl:A}=this;return[e,t,n,s,i,a,o,c,f,u,d,x,p,m,g,A]}set(e,t,n,s,i,a,o,c,f,u,d,x,p,m,g,A){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=d|0,this.Fl=x|0,this.Gh=p|0,this.Gl=m|0,this.Hh=g|0,this.Hl=A|0}process(e,t){for(let T=0;T<16;T++,t+=4)xn[T]=e.getUint32(t),bn[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){const M=xn[T-15]|0,O=bn[T-15]|0,R=Q.rotrSH(M,O,1)^Q.rotrSH(M,O,8)^Q.shrSH(M,O,7),F=Q.rotrSL(M,O,1)^Q.rotrSL(M,O,8)^Q.shrSL(M,O,7),U=xn[T-2]|0,_=bn[T-2]|0,H=Q.rotrSH(U,_,19)^Q.rotrBH(U,_,61)^Q.shrSH(U,_,6),V=Q.rotrSL(U,_,19)^Q.rotrBL(U,_,61)^Q.shrSL(U,_,6),$=Q.add4L(F,V,bn[T-7],bn[T-16]),te=Q.add4H($,R,H,xn[T-7],xn[T-16]);xn[T]=te|0,bn[T]=$|0}let{Ah:n,Al:s,Bh:i,Bl:a,Ch:o,Cl:c,Dh:f,Dl:u,Eh:d,El:x,Fh:p,Fl:m,Gh:g,Gl:A,Hh:E,Hl:C}=this;for(let T=0;T<80;T++){const M=Q.rotrSH(d,x,14)^Q.rotrSH(d,x,18)^Q.rotrBH(d,x,41),O=Q.rotrSL(d,x,14)^Q.rotrSL(d,x,18)^Q.rotrBL(d,x,41),R=d&p^~d&g,F=x&m^~x&A,U=Q.add5L(C,O,F,N1[T],bn[T]),_=Q.add5H(U,E,M,R,E1[T],xn[T]),H=U|0,V=Q.rotrSH(n,s,28)^Q.rotrBH(n,s,34)^Q.rotrBH(n,s,39),$=Q.rotrSL(n,s,28)^Q.rotrBL(n,s,34)^Q.rotrBL(n,s,39),te=n&i^n&o^i&o,he=s&a^s&c^a&c;E=g|0,C=A|0,g=p|0,A=m|0,p=d|0,m=x|0,{h:d,l:x}=Q.add(f|0,u|0,_|0,H|0),f=o|0,u=c|0,o=i|0,c=a|0,i=n|0,a=s|0;const k=Q.add3L(H,$,he);n=Q.add3H(k,_,V,te),s=k|0}({h:n,l:s}=Q.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:a}=Q.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Q.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:f,l:u}=Q.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:d,l:x}=Q.add(this.Eh|0,this.El|0,d|0,x|0),{h:p,l:m}=Q.add(this.Fh|0,this.Fl|0,p|0,m|0),{h:g,l:A}=Q.add(this.Gh|0,this.Gl|0,g|0,A|0),{h:E,l:C}=Q.add(this.Hh|0,this.Hl|0,E|0,C|0),this.set(n,s,i,a,o,c,f,u,d,x,p,m,g,A,E,C)}roundClean(){xn.fill(0),bn.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Jo=g0(()=>new P1);function T1(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof de.dist.global<"u")return de.dist.global;throw new Error("unable to locate global object")}const Lc=T1(),Dc=Lc.crypto||Lc.msCrypto;function I1(r){switch(r){case"sha256":return si.create();case"sha512":return Jo.create()}b(!1,"invalid hashing algorithm name","algorithm",r)}function C1(r,e){const t={sha256:si,sha512:Jo}[r];return b(t!=null,"invalid hmac algorithm","algorithm",r),y0.create(t,e)}function k1(r,e,t,n,s){const i={sha256:si,sha512:Jo}[s];return b(i!=null,"invalid pbkdf2 algorithm","algorithm",s),_o(i,r,e,{c:t,dkLen:n})}function O1(r){N(Dc!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),b(Number.isInteger(r)&&r>0&&r<=1024,"invalid length","length",r);const e=new Uint8Array(r);return Dc.getRandomValues(e),e}let wl=!1;const Al=function(r,e,t){return C1(r,e).update(t).digest()};let El=Al;function ii(r,e,t){const n=v(e,"key"),s=v(t,"data");return P(El(r,n,s))}ii._=Al;ii.lock=function(){wl=!0};ii.register=function(r){if(wl)throw new Error("computeHmac is locked");El=r};Object.freeze(ii);const[Nl,Pl,Tl]=[[],[],[]],R1=BigInt(0),ui=BigInt(1),B1=BigInt(2),v1=BigInt(7),S1=BigInt(256),U1=BigInt(113);for(let r=0,e=ui,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],Nl.push(2*(5*n+t)),Pl.push((r+1)*(r+2)/2%64);let s=R1;for(let i=0;i<7;i++)e=(e<<ui^(e>>v1)*U1)%S1,e&B1&&(s^=ui<<(ui<<BigInt(i))-ui);Tl.push(s)}const[L1,D1]=bl(Tl,!0),Fc=(r,e,t)=>t>32?yl(r,e,t):pl(r,e,t),Mc=(r,e,t)=>t>32?ml(r,e,t):gl(r,e,t);function F1(r,e=24){const t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let a=0;a<10;a++)t[a]=r[a]^r[a+10]^r[a+20]^r[a+30]^r[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,f=t[c],u=t[c+1],d=Fc(f,u,1)^t[o],x=Mc(f,u,1)^t[o+1];for(let p=0;p<50;p+=10)r[a+p]^=d,r[a+p+1]^=x}let s=r[2],i=r[3];for(let a=0;a<24;a++){const o=Pl[a],c=Fc(s,i,o),f=Mc(s,i,o),u=Nl[a];s=r[u],i=r[u+1],r[u]=c,r[u+1]=f}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)t[o]=r[a+o];for(let o=0;o<10;o++)r[a+o]^=~t[(o+2)%10]&t[(o+4)%10]}r[0]^=L1[n],r[1]^=D1[n]}t.fill(0)}class jo extends Ko{constructor(e,t,n,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,je(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Ra(this.state)}keccak(){F1(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){Js(this);const{blockLen:t,state:n}=this;e=js(e);const s=e.length;for(let i=0;i<s;){const a=Math.min(t-this.pos,s-i);for(let o=0;o<a;o++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:n,blockLen:s}=this;e[n]^=t,t&128&&n===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){Js(this,!1),Qo(e),this.finish();const t=this.state,{blockLen:n}=this;for(let s=0,i=e.length;s<i;){this.posOut>=n&&this.keccak();const a=Math.min(n-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return je(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ll(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:n,outputLen:s,rounds:i,enableXOF:a}=this;return e||(e=new jo(t,n,s,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=s,e.enableXOF=a,e.destroyed=this.destroyed,e}}const M1=(r,e,t)=>g0(()=>new jo(e,r,t)),G1=M1(1,136,256/8);let Il=!1;const Cl=function(r){return G1(r)};let kl=Cl;function ie(r){const e=v(r,"data");return P(kl(e))}ie._=Cl;ie.lock=function(){Il=!0};ie.register=function(r){if(Il)throw new TypeError("keccak256 is locked");kl=r};Object.freeze(ie);const H1=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Ol=Uint8Array.from({length:16},(r,e)=>e),V1=Ol.map(r=>(9*r+5)%16);let Wo=[Ol],Zo=[V1];for(let r=0;r<4;r++)for(let e of[Wo,Zo])e.push(e[r].map(t=>H1[t]));const Rl=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(r=>new Uint8Array(r)),Q1=Wo.map((r,e)=>r.map(t=>Rl[e][t])),K1=Zo.map((r,e)=>r.map(t=>Rl[e][t])),_1=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),z1=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ma=(r,e)=>r<<e|r>>>32-e;function Gc(r,e,t,n){return r===0?e^t^n:r===1?e&t|~e&n:r===2?(e|~t)^n:r===3?e&n|t&~n:e^(t|~n)}const wa=new Uint32Array(16);class J1 extends zo{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:n,h3:s,h4:i}=this;return[e,t,n,s,i]}set(e,t,n,s,i){this.h0=e|0,this.h1=t|0,this.h2=n|0,this.h3=s|0,this.h4=i|0}process(e,t){for(let p=0;p<16;p++,t+=4)wa[p]=e.getUint32(t,!0);let n=this.h0|0,s=n,i=this.h1|0,a=i,o=this.h2|0,c=o,f=this.h3|0,u=f,d=this.h4|0,x=d;for(let p=0;p<5;p++){const m=4-p,g=_1[p],A=z1[p],E=Wo[p],C=Zo[p],T=Q1[p],M=K1[p];for(let O=0;O<16;O++){const R=ma(n+Gc(p,i,o,f)+wa[E[O]]+g,T[O])+d|0;n=d,d=f,f=ma(o,10)|0,o=i,i=R}for(let O=0;O<16;O++){const R=ma(s+Gc(m,a,c,u)+wa[C[O]]+A,M[O])+x|0;s=x,x=u,u=ma(c,10)|0,c=a,a=R}}this.set(this.h1+o+u|0,this.h2+f+x|0,this.h3+d+s|0,this.h4+n+a|0,this.h0+i+c|0)}roundClean(){wa.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const j1=g0(()=>new J1);let Bl=!1;const vl=function(r){return j1(r)};let Sl=vl;function ai(r){const e=v(r,"data");return P(Sl(e))}ai._=vl;ai.lock=function(){Bl=!0};ai.register=function(r){if(Bl)throw new TypeError("ripemd160 is locked");Sl=r};Object.freeze(ai);let Ul=!1;const Ll=function(r,e,t,n,s){return k1(r,e,t,n,s)};let Dl=Ll;function Gn(r,e,t,n,s){const i=v(r,"password"),a=v(e,"salt");return P(Dl(i,a,t,n,s))}Gn._=Ll;Gn.lock=function(){Ul=!0};Gn.register=function(r){if(Ul)throw new Error("pbkdf2 is locked");Dl=r};Object.freeze(Gn);let Fl=!1;const Ml=function(r){return new Uint8Array(O1(r))};let Gl=Ml;function tn(r){return Gl(r)}tn._=Ml;tn.lock=function(){Fl=!0};tn.register=function(r){if(Fl)throw new Error("randomBytes is locked");Gl=r};Object.freeze(tn);const Z=(r,e)=>r<<e|r>>>32-e;function Hc(r,e,t,n,s,i){let a=r[e++]^t[n++],o=r[e++]^t[n++],c=r[e++]^t[n++],f=r[e++]^t[n++],u=r[e++]^t[n++],d=r[e++]^t[n++],x=r[e++]^t[n++],p=r[e++]^t[n++],m=r[e++]^t[n++],g=r[e++]^t[n++],A=r[e++]^t[n++],E=r[e++]^t[n++],C=r[e++]^t[n++],T=r[e++]^t[n++],M=r[e++]^t[n++],O=r[e++]^t[n++],R=a,F=o,U=c,_=f,H=u,V=d,$=x,te=p,he=m,k=g,B=A,G=E,W=C,z=T,q=M,ae=O;for(let Ne=0;Ne<8;Ne+=2)H^=Z(R+W|0,7),he^=Z(H+R|0,9),W^=Z(he+H|0,13),R^=Z(W+he|0,18),k^=Z(V+F|0,7),z^=Z(k+V|0,9),F^=Z(z+k|0,13),V^=Z(F+z|0,18),q^=Z(B+$|0,7),U^=Z(q+B|0,9),$^=Z(U+q|0,13),B^=Z($+U|0,18),_^=Z(ae+G|0,7),te^=Z(_+ae|0,9),G^=Z(te+_|0,13),ae^=Z(G+te|0,18),F^=Z(R+_|0,7),U^=Z(F+R|0,9),_^=Z(U+F|0,13),R^=Z(_+U|0,18),$^=Z(V+H|0,7),te^=Z($+V|0,9),H^=Z(te+$|0,13),V^=Z(H+te|0,18),G^=Z(B+k|0,7),he^=Z(G+B|0,9),k^=Z(he+G|0,13),B^=Z(k+he|0,18),W^=Z(ae+q|0,7),z^=Z(W+ae|0,9),q^=Z(z+W|0,13),ae^=Z(q+z|0,18);s[i++]=a+R|0,s[i++]=o+F|0,s[i++]=c+U|0,s[i++]=f+_|0,s[i++]=u+H|0,s[i++]=d+V|0,s[i++]=x+$|0,s[i++]=p+te|0,s[i++]=m+he|0,s[i++]=g+k|0,s[i++]=A+B|0,s[i++]=E+G|0,s[i++]=C+W|0,s[i++]=T+z|0,s[i++]=M+q|0,s[i++]=O+ae|0}function $r(r,e,t,n,s){let i=n+0,a=n+16*s;for(let o=0;o<16;o++)t[a+o]=r[e+(2*s-1)*16+o];for(let o=0;o<s;o++,i+=16,e+=16)Hc(t,a,r,e,t,i),o>0&&(a+=16),Hc(t,i,r,e+=16,t,a)}function Hl(r,e,t){const n=dl({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:s,r:i,p:a,dkLen:o,asyncTick:c,maxmem:f,onProgress:u}=n;if(je(s),je(i),je(a),je(o),je(c),je(f),u!==void 0&&typeof u!="function")throw new Error("progressCb should be function");const d=128*i,x=d/4;if(s<=1||s&s-1||s>=2**(d/8)||s>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(a<0||a>(2**32-1)*32/d)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(o<0||o>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const p=d*(s+a);if(p>f)throw new Error(`Scrypt: parameters too large, ${p} (128 * r * (N + p)) > ${f} (maxmem)`);const m=_o(si,r,e,{c:1,dkLen:d*a}),g=Ra(m),A=Ra(new Uint8Array(d*s)),E=Ra(new Uint8Array(d));let C=()=>{};if(u){const T=2*s*a,M=Math.max(Math.floor(T/1e4),1);let O=0;C=()=>{O++,u&&(!(O%M)||O===T)&&u(O/T)}}return{N:s,r:i,p:a,dkLen:o,blockSize32:x,V:A,B32:g,B:m,tmp:E,blockMixCb:C,asyncTick:c}}function Vl(r,e,t,n,s){const i=_o(si,r,t,{c:1,dkLen:e});return t.fill(0),n.fill(0),s.fill(0),i}function W1(r,e,t){const{N:n,r:s,p:i,dkLen:a,blockSize32:o,V:c,B32:f,B:u,tmp:d,blockMixCb:x}=Hl(r,e,t);for(let p=0;p<i;p++){const m=o*p;for(let g=0;g<o;g++)c[g]=f[m+g];for(let g=0,A=0;g<n-1;g++)$r(c,A,c,A+=o,s),x();$r(c,(n-1)*o,f,m,s),x();for(let g=0;g<n;g++){const A=f[m+o-16]%n;for(let E=0;E<o;E++)d[E]=f[m+E]^c[A*o+E];$r(d,0,f,m,s),x()}}return Vl(r,a,u,c,d)}async function Z1(r,e,t){const{N:n,r:s,p:i,dkLen:a,blockSize32:o,V:c,B32:f,B:u,tmp:d,blockMixCb:x,asyncTick:p}=Hl(r,e,t);for(let m=0;m<i;m++){const g=o*m;for(let E=0;E<o;E++)c[E]=f[g+E];let A=0;await Uc(n-1,p,()=>{$r(c,A,c,A+=o,s),x()}),$r(c,(n-1)*o,f,g,s),x(),await Uc(n,p,()=>{const E=f[g+o-16]%n;for(let C=0;C<o;C++)d[C]=f[g+C]^c[E*o+C];$r(d,0,f,g,s),x()})}return Vl(r,a,u,c,d)}let Ql=!1,Kl=!1;const _l=async function(r,e,t,n,s,i,a){return await Z1(r,e,{N:t,r:n,p:s,dkLen:i,onProgress:a})},zl=function(r,e,t,n,s,i){return W1(r,e,{N:t,r:n,p:s,dkLen:i})};let Jl=_l,jl=zl;async function oi(r,e,t,n,s,i,a){const o=v(r,"passwd"),c=v(e,"salt");return P(await Jl(o,c,t,n,s,i,a))}oi._=_l;oi.lock=function(){Kl=!0};oi.register=function(r){if(Kl)throw new Error("scrypt is locked");Jl=r};Object.freeze(oi);function ci(r,e,t,n,s,i){const a=v(r,"passwd"),o=v(e,"salt");return P(jl(a,o,t,n,s,i))}ci._=zl;ci.lock=function(){Ql=!0};ci.register=function(r){if(Ql)throw new Error("scryptSync is locked");jl=r};Object.freeze(ci);const Wl=function(r){return I1("sha256").update(r).digest()};let Zl=Wl,Yl=!1;function ot(r){const e=v(r,"data");return P(Zl(e))}ot._=Wl;ot.lock=function(){Yl=!0};ot.register=function(r){if(Yl)throw new Error("sha256 is locked");Zl=r};Object.freeze(ot);Object.freeze(ot);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Xl=BigInt(0),m0=BigInt(1),Y1=BigInt(2),w0=r=>r instanceof Uint8Array,X1=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Ws(r){if(!w0(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=X1[r[t]];return e}function $l(r){const e=r.toString(16);return e.length&1?`0${e}`:e}function Yo(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}function Zs(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){const s=n*2,i=r.slice(s,s+2),a=Number.parseInt(i,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");t[n]=a}return t}function Nr(r){return Yo(Ws(r))}function Xo(r){if(!w0(r))throw new Error("Uint8Array expected");return Yo(Ws(Uint8Array.from(r).reverse()))}function Ys(r,e){return Zs(r.toString(16).padStart(e*2,"0"))}function $o(r,e){return Ys(r,e).reverse()}function $1(r){return Zs($l(r))}function dt(r,e,t){let n;if(typeof e=="string")try{n=Zs(e)}catch(i){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${i}`)}else if(w0(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);const s=n.length;if(typeof t=="number"&&s!==t)throw new Error(`${r} expected ${t} bytes, got ${s}`);return n}function Ti(...r){const e=new Uint8Array(r.reduce((n,s)=>n+s.length,0));let t=0;return r.forEach(n=>{if(!w0(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function q1(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}function eh(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function th(r){let e;for(e=0;r>Xl;r>>=m0,e+=1);return e}function nh(r,e){return r>>BigInt(e)&m0}const rh=(r,e,t)=>r|(t?m0:Xl)<<BigInt(e),qo=r=>(Y1<<BigInt(r-1))-m0,U0=r=>new Uint8Array(r),Vc=r=>Uint8Array.from(r);function ql(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=U0(r),s=U0(r),i=0;const a=()=>{n.fill(1),s.fill(0),i=0},o=(...d)=>t(s,n,...d),c=(d=U0())=>{s=o(Vc([0]),d),n=o(),d.length!==0&&(s=o(Vc([1]),d),n=o())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0;const x=[];for(;d<e;){n=o();const p=n.slice();x.push(p),d+=n.length}return Ti(...x)};return(d,x)=>{a(),c(d);let p;for(;!(p=x(f()));)c();return a(),p}}const sh={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function aa(r,e,t={}){const n=(s,i,a)=>{const o=sh[i];if(typeof o!="function")throw new Error(`Invalid validator "${i}", expected function`);const c=r[s];if(!(a&&c===void 0)&&!o(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(const[s,i]of Object.entries(e))n(s,i,!1);for(const[s,i]of Object.entries(t))n(s,i,!0);return r}const ih=Object.freeze(Object.defineProperty({__proto__:null,bitGet:nh,bitLen:th,bitMask:qo,bitSet:rh,bytesToHex:Ws,bytesToNumberBE:Nr,bytesToNumberLE:Xo,concatBytes:Ti,createHmacDrbg:ql,ensureBytes:dt,equalBytes:q1,hexToBytes:Zs,hexToNumber:Yo,numberToBytesBE:Ys,numberToBytesLE:$o,numberToHexUnpadded:$l,numberToVarBytesBE:$1,utf8ToBytes:eh,validateObject:aa},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const pe=BigInt(0),fe=BigInt(1),_n=BigInt(2),ah=BigInt(3),oo=BigInt(4),Qc=BigInt(5),Kc=BigInt(8);BigInt(9);BigInt(16);function Me(r,e){const t=r%e;return t>=pe?t:e+t}function oh(r,e,t){if(t<=pe||e<pe)throw new Error("Expected power/modulo > 0");if(t===fe)return pe;let n=fe;for(;e>pe;)e&fe&&(n=n*r%t),r=r*r%t,e>>=fe;return n}function We(r,e,t){let n=r;for(;e-- >pe;)n*=n,n%=t;return n}function co(r,e){if(r===pe||e<=pe)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=Me(r,e),n=e,s=pe,i=fe;for(;t!==pe;){const o=n/t,c=n%t,f=s-i*o;n=t,t=c,s=i,i=f}if(n!==fe)throw new Error("invert: does not exist");return Me(s,e)}function ch(r){const e=(r-fe)/_n;let t,n,s;for(t=r-fe,n=0;t%_n===pe;t/=_n,n++);for(s=_n;s<r&&oh(s,e,r)!==r-fe;s++);if(n===1){const a=(r+fe)/oo;return function(c,f){const u=c.pow(f,a);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}const i=(t+fe)/_n;return function(o,c){if(o.pow(c,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let f=n,u=o.pow(o.mul(o.ONE,s),t),d=o.pow(c,i),x=o.pow(c,t);for(;!o.eql(x,o.ONE);){if(o.eql(x,o.ZERO))return o.ZERO;let p=1;for(let g=o.sqr(x);p<f&&!o.eql(g,o.ONE);p++)g=o.sqr(g);const m=o.pow(u,fe<<BigInt(f-p-1));u=o.sqr(m),d=o.mul(d,m),x=o.mul(x,u),f=p}return d}}function fh(r){if(r%oo===ah){const e=(r+fe)/oo;return function(n,s){const i=n.pow(s,e);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%Kc===Qc){const e=(r-Qc)/Kc;return function(n,s){const i=n.mul(s,_n),a=n.pow(i,e),o=n.mul(s,a),c=n.mul(n.mul(o,_n),a),f=n.mul(o,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),s))throw new Error("Cannot find square root");return f}}return ch(r)}const lh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function uh(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=lh.reduce((n,s)=>(n[s]="function",n),e);return aa(r,t)}function dh(r,e,t){if(t<pe)throw new Error("Expected power > 0");if(t===pe)return r.ONE;if(t===fe)return e;let n=r.ONE,s=e;for(;t>pe;)t&fe&&(n=r.mul(n,s)),s=r.sqr(s),t>>=fe;return n}function hh(r,e){const t=new Array(e.length),n=e.reduce((i,a,o)=>r.is0(a)?i:(t[o]=i,r.mul(i,a)),r.ONE),s=r.inv(n);return e.reduceRight((i,a,o)=>r.is0(a)?i:(t[o]=r.mul(i,t[o]),r.mul(i,a)),s),t}function eu(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function xh(r,e,t=!1,n={}){if(r<=pe)throw new Error(`Expected Field ORDER > 0, got ${r}`);const{nBitLength:s,nByteLength:i}=eu(r,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const a=fh(r),o=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:qo(s),ZERO:pe,ONE:fe,create:c=>Me(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return pe<=c&&c<r},is0:c=>c===pe,isOdd:c=>(c&fe)===fe,neg:c=>Me(-c,r),eql:(c,f)=>c===f,sqr:c=>Me(c*c,r),add:(c,f)=>Me(c+f,r),sub:(c,f)=>Me(c-f,r),mul:(c,f)=>Me(c*f,r),pow:(c,f)=>dh(o,c,f),div:(c,f)=>Me(c*co(f,r),r),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>co(c,r),sqrt:n.sqrt||(c=>a(o,c)),invertBatch:c=>hh(o,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>t?$o(c,i):Ys(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?Xo(c):Nr(c)}});return Object.freeze(o)}function tu(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function nu(r){const e=tu(r);return e+Math.ceil(e/2)}function bh(r,e,t=!1){const n=r.length,s=tu(e),i=nu(e);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);const a=t?Nr(r):Xo(r),o=Me(a,e-fe)+fe;return t?$o(o,s):Ys(o,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ph=BigInt(0),L0=BigInt(1);function gh(r,e){const t=(s,i)=>{const a=i.negate();return s?a:i},n=s=>{const i=Math.ceil(e/s)+1,a=2**(s-1);return{windows:i,windowSize:a}};return{constTimeNegate:t,unsafeLadder(s,i){let a=r.ZERO,o=s;for(;i>ph;)i&L0&&(a=a.add(o)),o=o.double(),i>>=L0;return a},precomputeWindow(s,i){const{windows:a,windowSize:o}=n(i),c=[];let f=s,u=f;for(let d=0;d<a;d++){u=f,c.push(u);for(let x=1;x<o;x++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(s,i,a){const{windows:o,windowSize:c}=n(s);let f=r.ZERO,u=r.BASE;const d=BigInt(2**s-1),x=2**s,p=BigInt(s);for(let m=0;m<o;m++){const g=m*c;let A=Number(a&d);a>>=p,A>c&&(A-=x,a+=L0);const E=g,C=g+Math.abs(A)-1,T=m%2!==0,M=A<0;A===0?u=u.add(t(T,i[E])):f=f.add(t(M,i[C]))}return{p:f,f:u}},wNAFCached(s,i,a,o){const c=s._WINDOW_SIZE||1;let f=i.get(s);return f||(f=this.precomputeWindow(s,c),c!==1&&i.set(s,o(f))),this.wNAF(c,f,a)}}}function ru(r){return uh(r.Fp),aa(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...eu(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function yh(r){const e=ru(r);aa(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:s}=e;if(t){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:mh,hexToBytes:wh}=ih,Zn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){const{Err:e}=Zn;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");const t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:mh(n),l:r.subarray(t+2)}},toSig(r){const{Err:e}=Zn,t=typeof r=="string"?wh(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");const{d:s,l:i}=Zn._parseInt(t.subarray(2)),{d:a,l:o}=Zn._parseInt(i);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:a}},hexFromSig(r){const e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,t=f=>{const u=f.toString(16);return u.length&1?`0${u}`:u},n=e(t(r.s)),s=e(t(r.r)),i=n.length/2,a=s.length/2,o=t(i),c=t(a);return`30${t(a+i+4)}02${c}${s}02${o}${n}`}},qt=BigInt(0),at=BigInt(1);BigInt(2);const _c=BigInt(3);BigInt(4);function Ah(r){const e=yh(r),{Fp:t}=e,n=e.toBytes||((m,g,A)=>{const E=g.toAffine();return Ti(Uint8Array.from([4]),t.toBytes(E.x),t.toBytes(E.y))}),s=e.fromBytes||(m=>{const g=m.subarray(1),A=t.fromBytes(g.subarray(0,t.BYTES)),E=t.fromBytes(g.subarray(t.BYTES,2*t.BYTES));return{x:A,y:E}});function i(m){const{a:g,b:A}=e,E=t.sqr(m),C=t.mul(E,m);return t.add(t.add(C,t.mul(m,g)),A)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function a(m){return typeof m=="bigint"&&qt<m&&m<e.n}function o(m){if(!a(m))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(m){const{allowedPrivateKeyLengths:g,nByteLength:A,wrapPrivateKey:E,n:C}=e;if(g&&typeof m!="bigint"){if(m instanceof Uint8Array&&(m=Ws(m)),typeof m!="string"||!g.includes(m.length))throw new Error("Invalid key");m=m.padStart(A*2,"0")}let T;try{T=typeof m=="bigint"?m:Nr(dt("private key",m,A))}catch{throw new Error(`private key must be ${A} bytes, hex or bigint, not ${typeof m}`)}return E&&(T=Me(T,C)),o(T),T}const f=new Map;function u(m){if(!(m instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(g,A,E){if(this.px=g,this.py=A,this.pz=E,g==null||!t.isValid(g))throw new Error("x required");if(A==null||!t.isValid(A))throw new Error("y required");if(E==null||!t.isValid(E))throw new Error("z required")}static fromAffine(g){const{x:A,y:E}=g||{};if(!g||!t.isValid(A)||!t.isValid(E))throw new Error("invalid affine point");if(g instanceof d)throw new Error("projective point not allowed");const C=T=>t.eql(T,t.ZERO);return C(A)&&C(E)?d.ZERO:new d(A,E,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(g){const A=t.invertBatch(g.map(E=>E.pz));return g.map((E,C)=>E.toAffine(A[C])).map(d.fromAffine)}static fromHex(g){const A=d.fromAffine(s(dt("pointHex",g)));return A.assertValidity(),A}static fromPrivateKey(g){return d.BASE.multiply(c(g))}_setWindowSize(g){this._WINDOW_SIZE=g,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:g,y:A}=this.toAffine();if(!t.isValid(g)||!t.isValid(A))throw new Error("bad point: x or y not FE");const E=t.sqr(A),C=i(g);if(!t.eql(E,C))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:g}=this.toAffine();if(t.isOdd)return!t.isOdd(g);throw new Error("Field doesn't support isOdd")}equals(g){u(g);const{px:A,py:E,pz:C}=this,{px:T,py:M,pz:O}=g,R=t.eql(t.mul(A,O),t.mul(T,C)),F=t.eql(t.mul(E,O),t.mul(M,C));return R&&F}negate(){return new d(this.px,t.neg(this.py),this.pz)}double(){const{a:g,b:A}=e,E=t.mul(A,_c),{px:C,py:T,pz:M}=this;let O=t.ZERO,R=t.ZERO,F=t.ZERO,U=t.mul(C,C),_=t.mul(T,T),H=t.mul(M,M),V=t.mul(C,T);return V=t.add(V,V),F=t.mul(C,M),F=t.add(F,F),O=t.mul(g,F),R=t.mul(E,H),R=t.add(O,R),O=t.sub(_,R),R=t.add(_,R),R=t.mul(O,R),O=t.mul(V,O),F=t.mul(E,F),H=t.mul(g,H),V=t.sub(U,H),V=t.mul(g,V),V=t.add(V,F),F=t.add(U,U),U=t.add(F,U),U=t.add(U,H),U=t.mul(U,V),R=t.add(R,U),H=t.mul(T,M),H=t.add(H,H),U=t.mul(H,V),O=t.sub(O,U),F=t.mul(H,_),F=t.add(F,F),F=t.add(F,F),new d(O,R,F)}add(g){u(g);const{px:A,py:E,pz:C}=this,{px:T,py:M,pz:O}=g;let R=t.ZERO,F=t.ZERO,U=t.ZERO;const _=e.a,H=t.mul(e.b,_c);let V=t.mul(A,T),$=t.mul(E,M),te=t.mul(C,O),he=t.add(A,E),k=t.add(T,M);he=t.mul(he,k),k=t.add(V,$),he=t.sub(he,k),k=t.add(A,C);let B=t.add(T,O);return k=t.mul(k,B),B=t.add(V,te),k=t.sub(k,B),B=t.add(E,C),R=t.add(M,O),B=t.mul(B,R),R=t.add($,te),B=t.sub(B,R),U=t.mul(_,k),R=t.mul(H,te),U=t.add(R,U),R=t.sub($,U),U=t.add($,U),F=t.mul(R,U),$=t.add(V,V),$=t.add($,V),te=t.mul(_,te),k=t.mul(H,k),$=t.add($,te),te=t.sub(V,te),te=t.mul(_,te),k=t.add(k,te),V=t.mul($,k),F=t.add(F,V),V=t.mul(B,k),R=t.mul(he,R),R=t.sub(R,V),V=t.mul(he,$),U=t.mul(B,U),U=t.add(U,V),new d(R,F,U)}subtract(g){return this.add(g.negate())}is0(){return this.equals(d.ZERO)}wNAF(g){return p.wNAFCached(this,f,g,A=>{const E=t.invertBatch(A.map(C=>C.pz));return A.map((C,T)=>C.toAffine(E[T])).map(d.fromAffine)})}multiplyUnsafe(g){const A=d.ZERO;if(g===qt)return A;if(o(g),g===at)return this;const{endo:E}=e;if(!E)return p.unsafeLadder(this,g);let{k1neg:C,k1:T,k2neg:M,k2:O}=E.splitScalar(g),R=A,F=A,U=this;for(;T>qt||O>qt;)T&at&&(R=R.add(U)),O&at&&(F=F.add(U)),U=U.double(),T>>=at,O>>=at;return C&&(R=R.negate()),M&&(F=F.negate()),F=new d(t.mul(F.px,E.beta),F.py,F.pz),R.add(F)}multiply(g){o(g);let A=g,E,C;const{endo:T}=e;if(T){const{k1neg:M,k1:O,k2neg:R,k2:F}=T.splitScalar(A);let{p:U,f:_}=this.wNAF(O),{p:H,f:V}=this.wNAF(F);U=p.constTimeNegate(M,U),H=p.constTimeNegate(R,H),H=new d(t.mul(H.px,T.beta),H.py,H.pz),E=U.add(H),C=_.add(V)}else{const{p:M,f:O}=this.wNAF(A);E=M,C=O}return d.normalizeZ([E,C])[0]}multiplyAndAddUnsafe(g,A,E){const C=d.BASE,T=(O,R)=>R===qt||R===at||!O.equals(C)?O.multiplyUnsafe(R):O.multiply(R),M=T(this,A).add(T(g,E));return M.is0()?void 0:M}toAffine(g){const{px:A,py:E,pz:C}=this,T=this.is0();g==null&&(g=T?t.ONE:t.inv(C));const M=t.mul(A,g),O=t.mul(E,g),R=t.mul(C,g);if(T)return{x:t.ZERO,y:t.ZERO};if(!t.eql(R,t.ONE))throw new Error("invZ was invalid");return{x:M,y:O}}isTorsionFree(){const{h:g,isTorsionFree:A}=e;if(g===at)return!0;if(A)return A(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:g,clearCofactor:A}=e;return g===at?this:A?A(d,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return this.assertValidity(),n(d,this,g)}toHex(g=!0){return Ws(this.toRawBytes(g))}}d.BASE=new d(e.Gx,e.Gy,t.ONE),d.ZERO=new d(t.ZERO,t.ONE,t.ZERO);const x=e.nBitLength,p=gh(d,e.endo?Math.ceil(x/2):x);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:a}}function Eh(r){const e=ru(r);return aa(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Nh(r){const e=Eh(r),{Fp:t,n}=e,s=t.BYTES+1,i=2*t.BYTES+1;function a(k){return qt<k&&k<t.ORDER}function o(k){return Me(k,n)}function c(k){return co(k,n)}const{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:x}=Ah({...e,toBytes(k,B,G){const W=B.toAffine(),z=t.toBytes(W.x),q=Ti;return G?q(Uint8Array.from([B.hasEvenY()?2:3]),z):q(Uint8Array.from([4]),z,t.toBytes(W.y))},fromBytes(k){const B=k.length,G=k[0],W=k.subarray(1);if(B===s&&(G===2||G===3)){const z=Nr(W);if(!a(z))throw new Error("Point is not on curve");const q=d(z);let ae=t.sqrt(q);const Ne=(ae&at)===at;return(G&1)===1!==Ne&&(ae=t.neg(ae)),{x:z,y:ae}}else if(B===i&&G===4){const z=t.fromBytes(W.subarray(0,t.BYTES)),q=t.fromBytes(W.subarray(t.BYTES,2*t.BYTES));return{x:z,y:q}}else throw new Error(`Point of length ${B} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),p=k=>Ws(Ys(k,e.nByteLength));function m(k){const B=n>>at;return k>B}function g(k){return m(k)?o(-k):k}const A=(k,B,G)=>Nr(k.slice(B,G));class E{constructor(B,G,W){this.r=B,this.s=G,this.recovery=W,this.assertValidity()}static fromCompact(B){const G=e.nByteLength;return B=dt("compactSignature",B,G*2),new E(A(B,0,G),A(B,G,2*G))}static fromDER(B){const{r:G,s:W}=Zn.toSig(dt("DER",B));return new E(G,W)}assertValidity(){if(!x(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!x(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(B){return new E(this.r,this.s,B)}recoverPublicKey(B){const{r:G,s:W,recovery:z}=this,q=F(dt("msgHash",B));if(z==null||![0,1,2,3].includes(z))throw new Error("recovery id invalid");const ae=z===2||z===3?G+e.n:G;if(ae>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const Ne=z&1?"03":"02",fn=f.fromHex(Ne+p(ae)),ln=c(ae),Sr=o(-q*ln),fi=o(W*ln),un=f.BASE.multiplyAndAddUnsafe(fn,Sr,fi);if(!un)throw new Error("point at infinify");return un.assertValidity(),un}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new E(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Zs(this.toDERHex())}toDERHex(){return Zn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Zs(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}const C={isValidPrivateKey(k){try{return u(k),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const k=nu(e.n);return bh(e.randomBytes(k),e.n)},precompute(k=8,B=f.BASE){return B._setWindowSize(k),B.multiply(BigInt(3)),B}};function T(k,B=!0){return f.fromPrivateKey(k).toRawBytes(B)}function M(k){const B=k instanceof Uint8Array,G=typeof k=="string",W=(B||G)&&k.length;return B?W===s||W===i:G?W===2*s||W===2*i:k instanceof f}function O(k,B,G=!0){if(M(k))throw new Error("first arg must be private key");if(!M(B))throw new Error("second arg must be public key");return f.fromHex(B).multiply(u(k)).toRawBytes(G)}const R=e.bits2int||function(k){const B=Nr(k),G=k.length*8-e.nBitLength;return G>0?B>>BigInt(G):B},F=e.bits2int_modN||function(k){return o(R(k))},U=qo(e.nBitLength);function _(k){if(typeof k!="bigint")throw new Error("bigint expected");if(!(qt<=k&&k<U))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Ys(k,e.nByteLength)}function H(k,B,G=V){if(["recovered","canonical"].some(Vn=>Vn in G))throw new Error("sign() legacy options not supported");const{hash:W,randomBytes:z}=e;let{lowS:q,prehash:ae,extraEntropy:Ne}=G;q==null&&(q=!0),k=dt("msgHash",k),ae&&(k=dt("prehashed msgHash",W(k)));const fn=F(k),ln=u(B),Sr=[_(ln),_(fn)];if(Ne!=null){const Vn=Ne===!0?z(t.BYTES):Ne;Sr.push(dt("extraEntropy",Vn))}const fi=Ti(...Sr),un=fn;function R0(Vn){const Ur=R(Vn);if(!x(Ur))return;const Ec=c(Ur),Lr=f.BASE.multiply(Ur).toAffine(),ct=o(Lr.x);if(ct===qt)return;const Dr=o(Ec*o(un+ct*ln));if(Dr===qt)return;let Nc=(Lr.x===ct?0:2)|Number(Lr.y&at),Pc=Dr;return q&&m(Dr)&&(Pc=g(Dr),Nc^=1),new E(ct,Pc,Nc)}return{seed:fi,k2sig:R0}}const V={lowS:e.lowS,prehash:!1},$={lowS:e.lowS,prehash:!1};function te(k,B,G=V){const{seed:W,k2sig:z}=H(k,B,G),q=e;return ql(q.hash.outputLen,q.nByteLength,q.hmac)(W,z)}f.BASE._setWindowSize(8);function he(k,B,G,W=$){var Lr;const z=k;if(B=dt("msgHash",B),G=dt("publicKey",G),"strict"in W)throw new Error("options.strict was renamed to lowS");const{lowS:q,prehash:ae}=W;let Ne,fn;try{if(typeof z=="string"||z instanceof Uint8Array)try{Ne=E.fromDER(z)}catch(ct){if(!(ct instanceof Zn.Err))throw ct;Ne=E.fromCompact(z)}else if(typeof z=="object"&&typeof z.r=="bigint"&&typeof z.s=="bigint"){const{r:ct,s:Dr}=z;Ne=new E(ct,Dr)}else throw new Error("PARSE");fn=f.fromHex(G)}catch(ct){if(ct.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(q&&Ne.hasHighS())return!1;ae&&(B=e.hash(B));const{r:ln,s:Sr}=Ne,fi=F(B),un=c(Sr),R0=o(fi*un),Vn=o(ln*un),Ur=(Lr=f.BASE.multiplyAndAddUnsafe(fn,R0,Vn))==null?void 0:Lr.toAffine();return Ur?o(Ur.x)===ln:!1}return{CURVE:e,getPublicKey:T,getSharedSecret:O,sign:te,verify:he,ProjectivePoint:f,Signature:E,utils:C}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ph(r){return{hash:r,hmac:(e,...t)=>y0(r,e,Yd(...t)),randomBytes:$d}}function Th(r,e){const t=n=>Nh({...r,...Ph(n)});return Object.freeze({...t(e),create:t})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const su=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),zc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Ih=BigInt(1),fo=BigInt(2),Jc=(r,e)=>(r+e/fo)/e;function Ch(r){const e=su,t=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),f=r*r*r%e,u=f*f*r%e,d=We(u,t,e)*u%e,x=We(d,t,e)*u%e,p=We(x,fo,e)*f%e,m=We(p,s,e)*p%e,g=We(m,i,e)*m%e,A=We(g,o,e)*g%e,E=We(A,c,e)*A%e,C=We(E,o,e)*g%e,T=We(C,t,e)*u%e,M=We(T,a,e)*m%e,O=We(M,n,e)*f%e,R=We(O,fo,e);if(!lo.eql(lo.sqr(R),r))throw new Error("Cannot find square root");return R}const lo=xh(su,void 0,void 0,{sqrt:Ch}),pn=Th({a:BigInt(0),b:BigInt(7),Fp:lo,n:zc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=zc,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Ih*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,a=BigInt("0x100000000000000000000000000000000"),o=Jc(i*r,e),c=Jc(-n*r,e);let f=Me(r-o*t-c*s,e),u=Me(-o*n-c*i,e);const d=f>a,x=u>a;if(d&&(f=e-f),x&&(u=e-u),f>a||u>a)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:d,k1:f,k2neg:x,k2:u}}}},si);BigInt(0);pn.ProjectivePoint;const Ii="0x0000000000000000000000000000000000000000",jc="0x0000000000000000000000000000000000000000000000000000000000000000",kh=`Ethereum Signed Message:
|
|
2
2
|
`,Wc=BigInt(0),Zc=BigInt(1),Yc=BigInt(2),Xc=BigInt(27),$c=BigInt(28),Aa=BigInt(35),Mr={};function qc(r){return Tr(Oe(r),32)}var fs,ls,us,or;const ft=class ft{constructor(e,t,n,s){w(this,fs,void 0);w(this,ls,void 0);w(this,us,void 0);w(this,or,void 0);Br(e,Mr,"Signature"),h(this,fs,t),h(this,ls,n),h(this,us,s),h(this,or,null)}get r(){return l(this,fs)}set r(e){b(Xr(e)===32,"invalid r","value",e),h(this,fs,P(e))}get s(){return l(this,ls)}set s(e){b(Xr(e)===32,"invalid s","value",e);const t=P(e);b(parseInt(t.substring(0,3))<8,"non-canonical s","value",t),h(this,ls,t)}get v(){return l(this,us)}set v(e){const t=K(e,"value");b(t===27||t===28,"invalid v","v",e),h(this,us,t)}get networkV(){return l(this,or)}get legacyChainId(){const e=this.networkV;return e==null?null:ft.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){const e=v(this.s);return this.yParity&&(e[0]|=128),P(e)}get compactSerialized(){return X([this.r,this.yParityAndS])}get serialized(){return X([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const e=new ft(Mr,this.r,this.s,this.v);return this.networkV&&h(e,or,this.networkV),e}toJSON(){const e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(e){const t=L(e,"v");return t==Xc||t==$c?Wc:(b(t>=Aa,"invalid EIP-155 v","v",e),(t-Aa)/Yc)}static getChainIdV(e,t){return L(e)*Yc+BigInt(35+t-27)}static getNormalizedV(e){const t=L(e);return t===Wc||t===Xc?27:t===Zc||t===$c?28:(b(t>=Aa,"invalid v","v",e),t&Zc?27:28)}static from(e){function t(f,u){b(f,u,"signature",e)}if(e==null)return new ft(Mr,jc,jc,27);if(typeof e=="string"){const f=v(e,"signature");if(f.length===64){const u=P(f.slice(0,32)),d=f.slice(32,64),x=d[0]&128?28:27;return d[0]&=127,new ft(Mr,u,P(d),x)}if(f.length===65){const u=P(f.slice(0,32)),d=f.slice(32,64);t((d[0]&128)===0,"non-canonical s");const x=ft.getNormalizedV(f[64]);return new ft(Mr,u,P(d),x)}t(!1,"invalid raw signature length")}if(e instanceof ft)return e.clone();const n=e.r;t(n!=null,"missing r");const s=qc(n),i=function(f,u){if(f!=null)return qc(f);if(u!=null){t(ee(u,32),"invalid yParityAndS");const d=v(u);return d[0]&=127,P(d)}t(!1,"missing s")}(e.s,e.yParityAndS);t((v(i)[0]&128)==0,"non-canonical s");const{networkV:a,v:o}=function(f,u,d){if(f!=null){const x=L(f);return{networkV:x>=Aa?x:void 0,v:ft.getNormalizedV(x)}}if(u!=null)return t(ee(u,32),"invalid yParityAndS"),{v:v(u)[0]&128?28:27};if(d!=null){switch(K(d,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")}(e.v,e.yParityAndS,e.yParity),c=new ft(Mr,s,i,o);return a&&h(c,or,a),t(e.yParity==null||K(e.yParity,"sig.yParity")===c.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===c.yParityAndS,"yParityAndS mismatch"),c}};fs=new WeakMap,ls=new WeakMap,us=new WeakMap,or=new WeakMap;let yt=ft;var _t;const Jn=class Jn{constructor(e){w(this,_t,void 0);b(Xr(e)===32,"invalid private key","privateKey","[REDACTED]"),h(this,_t,P(e))}get privateKey(){return l(this,_t)}get publicKey(){return Jn.computePublicKey(l(this,_t))}get compressedPublicKey(){return Jn.computePublicKey(l(this,_t),!0)}sign(e){b(Xr(e)===32,"invalid digest length","digest",e);const t=pn.sign(we(e),we(l(this,_t)),{lowS:!0});return yt.from({r:rn(t.r,32),s:rn(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){const t=Jn.computePublicKey(e);return P(pn.getSharedSecret(we(l(this,_t)),v(t),!1))}static computePublicKey(e,t){let n=v(e,"key");if(n.length===32){const i=pn.getPublicKey(n,!!t);return P(i)}if(n.length===64){const i=new Uint8Array(65);i[0]=4,i.set(n,1),n=i}const s=pn.ProjectivePoint.fromHex(n);return P(s.toRawBytes(t))}static recoverPublicKey(e,t){b(Xr(e)===32,"invalid digest length","digest",e);const n=yt.from(t);let s=pn.Signature.fromCompact(we(X([n.r,n.s])));s=s.addRecoveryBit(n.yParity);const i=s.recoverPublicKey(we(e));return b(i!=null,"invalid signautre for digest","signature",t),"0x"+i.toHex(!1)}static addPoints(e,t,n){const s=pn.ProjectivePoint.fromHex(Jn.computePublicKey(e).substring(2)),i=pn.ProjectivePoint.fromHex(Jn.computePublicKey(t).substring(2));return"0x"+s.add(i).toHex(!!n)}};_t=new WeakMap;let Lt=Jn;const Oh=BigInt(0),Rh=BigInt(36);function ef(r){r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);const n=v(ie(t));for(let s=0;s<40;s+=2)n[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(n[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}const ec={};for(let r=0;r<10;r++)ec[String(r)]=String(r);for(let r=0;r<26;r++)ec[String.fromCharCode(65+r)]=String(10+r);const tf=15;function Bh(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>ec[n]).join("");for(;e.length>=tf;){let n=e.substring(0,tf);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}const vh=function(){const r={};for(let e=0;e<36;e++){const t="0123456789abcdefghijklmnopqrstuvwxyz"[e];r[t]=BigInt(e)}return r}();function Sh(r){r=r.toLowerCase();let e=Oh;for(let t=0;t<r.length;t++)e=e*Rh+vh[r[t]];return e}function J(r){if(b(typeof r=="string","invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/)){r.startsWith("0x")||(r="0x"+r);const e=ef(r);return b(!r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===r,"bad address checksum","address",r),e}if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){b(r.substring(2,4)===Bh(r),"bad icap checksum","address",r);let e=Sh(r.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return ef("0x"+e)}b(!1,"invalid address","address",r)}function iu(r){const e=J(r.from);let n=L(r.nonce,"tx.nonce").toString(16);return n==="0"?n="0x":n.length%2?n="0x0"+n:n="0x"+n,J(ne(ie(Ir([e,n])),12))}function au(r){return r&&typeof r.getAddress=="function"}function Uh(r){try{return J(r),!0}catch{}return!1}async function D0(r,e){const t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(N(typeof r!="string","unconfigured name","UNCONFIGURED_NAME",{value:r}),b(!1,"invalid AddressLike value; did not resolve to a value address","target",r)),J(t)}function Ae(r,e){if(typeof r=="string")return r.match(/^0x[0-9a-f]{40}$/i)?J(r):(N(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),D0(r,e.resolveName(r)));if(au(r))return D0(r,r.getAddress());if(r&&typeof r.then=="function")return D0(r,r);b(!1,"unsupported addressable value","target",r)}const Ft={};function S(r,e){let t=!1;return e<0&&(t=!0,e*=-1),new Re(Ft,`${t?"":"u"}int${e}`,r,{signed:t,width:e})}function Y(r,e){return new Re(Ft,`bytes${e||""}`,r,{size:e})}const nf=Symbol.for("_ethers_typed");var cr;const Mt=class Mt{constructor(e,t,n,s){y(this,"type");y(this,"value");w(this,cr,void 0);y(this,"_typedSymbol");s==null&&(s=null),Br(Ft,e,"Typed"),D(this,{_typedSymbol:nf,type:t,value:n}),h(this,cr,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return l(this,cr)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return l(this,cr)===!0?-1:l(this,cr)===!1?this.value.length:null}static from(e,t){return new Mt(Ft,e,t)}static uint8(e){return S(e,8)}static uint16(e){return S(e,16)}static uint24(e){return S(e,24)}static uint32(e){return S(e,32)}static uint40(e){return S(e,40)}static uint48(e){return S(e,48)}static uint56(e){return S(e,56)}static uint64(e){return S(e,64)}static uint72(e){return S(e,72)}static uint80(e){return S(e,80)}static uint88(e){return S(e,88)}static uint96(e){return S(e,96)}static uint104(e){return S(e,104)}static uint112(e){return S(e,112)}static uint120(e){return S(e,120)}static uint128(e){return S(e,128)}static uint136(e){return S(e,136)}static uint144(e){return S(e,144)}static uint152(e){return S(e,152)}static uint160(e){return S(e,160)}static uint168(e){return S(e,168)}static uint176(e){return S(e,176)}static uint184(e){return S(e,184)}static uint192(e){return S(e,192)}static uint200(e){return S(e,200)}static uint208(e){return S(e,208)}static uint216(e){return S(e,216)}static uint224(e){return S(e,224)}static uint232(e){return S(e,232)}static uint240(e){return S(e,240)}static uint248(e){return S(e,248)}static uint256(e){return S(e,256)}static uint(e){return S(e,256)}static int8(e){return S(e,-8)}static int16(e){return S(e,-16)}static int24(e){return S(e,-24)}static int32(e){return S(e,-32)}static int40(e){return S(e,-40)}static int48(e){return S(e,-48)}static int56(e){return S(e,-56)}static int64(e){return S(e,-64)}static int72(e){return S(e,-72)}static int80(e){return S(e,-80)}static int88(e){return S(e,-88)}static int96(e){return S(e,-96)}static int104(e){return S(e,-104)}static int112(e){return S(e,-112)}static int120(e){return S(e,-120)}static int128(e){return S(e,-128)}static int136(e){return S(e,-136)}static int144(e){return S(e,-144)}static int152(e){return S(e,-152)}static int160(e){return S(e,-160)}static int168(e){return S(e,-168)}static int176(e){return S(e,-176)}static int184(e){return S(e,-184)}static int192(e){return S(e,-192)}static int200(e){return S(e,-200)}static int208(e){return S(e,-208)}static int216(e){return S(e,-216)}static int224(e){return S(e,-224)}static int232(e){return S(e,-232)}static int240(e){return S(e,-240)}static int248(e){return S(e,-248)}static int256(e){return S(e,-256)}static int(e){return S(e,-256)}static bytes1(e){return Y(e,1)}static bytes2(e){return Y(e,2)}static bytes3(e){return Y(e,3)}static bytes4(e){return Y(e,4)}static bytes5(e){return Y(e,5)}static bytes6(e){return Y(e,6)}static bytes7(e){return Y(e,7)}static bytes8(e){return Y(e,8)}static bytes9(e){return Y(e,9)}static bytes10(e){return Y(e,10)}static bytes11(e){return Y(e,11)}static bytes12(e){return Y(e,12)}static bytes13(e){return Y(e,13)}static bytes14(e){return Y(e,14)}static bytes15(e){return Y(e,15)}static bytes16(e){return Y(e,16)}static bytes17(e){return Y(e,17)}static bytes18(e){return Y(e,18)}static bytes19(e){return Y(e,19)}static bytes20(e){return Y(e,20)}static bytes21(e){return Y(e,21)}static bytes22(e){return Y(e,22)}static bytes23(e){return Y(e,23)}static bytes24(e){return Y(e,24)}static bytes25(e){return Y(e,25)}static bytes26(e){return Y(e,26)}static bytes27(e){return Y(e,27)}static bytes28(e){return Y(e,28)}static bytes29(e){return Y(e,29)}static bytes30(e){return Y(e,30)}static bytes31(e){return Y(e,31)}static bytes32(e){return Y(e,32)}static address(e){return new Mt(Ft,"address",e)}static bool(e){return new Mt(Ft,"bool",!!e)}static bytes(e){return new Mt(Ft,"bytes",e)}static string(e){return new Mt(Ft,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new Mt(Ft,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===nf}static dereference(e,t){if(Mt.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};cr=new WeakMap;let Re=Mt;class Lh extends cn{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=Re.dereference(t,"string");try{n=J(n)}catch(s){return this._throwError(s.message,t)}return e.writeValue(n)}decode(e){return J(rn(e.readValue(),20))}}class Dh extends cn{constructor(t){super(t.name,t.type,"_",t.dynamic);y(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,n){return this.coder.encode(t,n)}decode(t){return this.coder.decode(t)}}function ou(r,e,t){let n=[];if(Array.isArray(t))n=t;else if(t&&typeof t=="object"){let c={};n=e.map(f=>{const u=f.localName;return N(u,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:f},value:t}),N(!c[u],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:f},value:t}),c[u]=!0,t[u]})}else b(!1,"invalid tuple value","tuple",t);b(e.length===n.length,"types/value length mismatch","tuple",t);let s=new ro,i=new ro,a=[];e.forEach((c,f)=>{let u=n[f];if(c.dynamic){let d=i.length;c.encode(i,u);let x=s.writeUpdatableValue();a.push(p=>{x(p+d)})}else c.encode(s,u)}),a.forEach(c=>{c(s.length)});let o=r.appendWriter(s);return o+=r.appendWriter(i),o}function cu(r,e){let t=[],n=[],s=r.subReader(0);return e.forEach(i=>{let a=null;if(i.dynamic){let o=r.readIndex(),c=s.subReader(o);try{a=i.decode(c)}catch(f){if(ke(f,"BUFFER_OVERRUN"))throw f;a=f,a.baseType=i.name,a.name=i.localName,a.type=i.type}}else try{a=i.decode(r)}catch(o){if(ke(o,"BUFFER_OVERRUN"))throw o;a=o,a.baseType=i.name,a.name=i.localName,a.type=i.type}if(a==null)throw new Error("investigate");t.push(a),n.push(i.localName||null)}),za.fromItems(t,n)}class Fh extends cn{constructor(t,n,s){const i=t.type+"["+(n>=0?n:"")+"]",a=n===-1||t.dynamic;super("array",i,s,a);y(this,"coder");y(this,"length");D(this,{coder:t,length:n})}defaultValue(){const t=this.coder.defaultValue(),n=[];for(let s=0;s<this.length;s++)n.push(t);return n}encode(t,n){const s=Re.dereference(n,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),Wf(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let a=[];for(let o=0;o<s.length;o++)a.push(this.coder);return ou(t,a,s)}decode(t){let n=this.length;n===-1&&(n=t.readIndex(),N(n*Se<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:n*Se,length:t.dataLength}));let s=[];for(let i=0;i<n;i++)s.push(new Dh(this.coder));return cu(t,s)}}class Mh extends cn{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){const n=Re.dereference(t,"bool");return e.writeValue(n?1:0)}decode(e){return!!e.readValue()}}class fu extends cn{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=we(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readIndex(),!0)}}class Gh extends fu{constructor(e){super("bytes",e)}decode(e){return P(super.decode(e))}}class Hh extends cn{constructor(t,n){let s="bytes"+String(t);super(s,s,n,!1);y(this,"size");D(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,n){let s=we(Re.dereference(n,this.type));return s.length!==this.size&&this._throwError("incorrect data length",n),t.writeBytes(s)}decode(t){return P(t.readBytes(this.size))}}const Vh=new Uint8Array([]);class Qh extends cn{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(Vh)}decode(e){return e.readBytes(0),null}}const Kh=BigInt(0),_h=BigInt(1),zh=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Jh extends cn{constructor(t,n,s){const i=(n?"int":"uint")+t*8;super(i,i,s,!1);y(this,"size");y(this,"signed");D(this,{size:t,signed:n},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,n){let s=L(Re.dereference(n,this.type)),i=hi(zh,Se*8);if(this.signed){let a=hi(i,this.size*8-1);(s>a||s<-(a+_h))&&this._throwError("value out-of-bounds",n),s=$f(s,8*Se)}else(s<Kh||s>hi(i,this.size*8))&&this._throwError("value out-of-bounds",n);return t.writeValue(s)}decode(t){let n=hi(t.readValue(),this.size*8);return this.signed&&(n=Td(n,this.size*8)),n}}class jh extends fu{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,Le(Re.dereference(t,"string")))}decode(e){return _a(super.decode(e))}}class Ea extends cn{constructor(t,n){let s=!1;const i=[];t.forEach(o=>{o.dynamic&&(s=!0),i.push(o.type)});const a="tuple("+i.join(",")+")";super("tuple",a,n,s);y(this,"coders");D(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});const n=this.coders.reduce((s,i)=>{const a=i.localName;return a&&(s[a]||(s[a]=0),s[a]++),s},{});return this.coders.forEach((s,i)=>{let a=s.localName;!a||n[a]!==1||(a==="length"&&(a="_length"),t[a]==null&&(t[a]=t[i]))}),Object.freeze(t)}encode(t,n){const s=Re.dereference(n,"tuple");return ou(t,this.coders,s)}decode(t){return cu(t,this.coders)}}function an(r){return ie(Le(r))}var Wh="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";const rf=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),sf=4;function Zh(r){let e=0;function t(){return r[e++]<<8|r[e++]}let n=t(),s=1,i=[0,1];for(let O=1;O<n;O++)i.push(s+=t());let a=t(),o=e;e+=a;let c=0,f=0;function u(){return c==0&&(f=f<<8|r[e++],c=8),f>>--c&1}const d=31,x=2**d,p=x>>>1,m=p>>1,g=x-1;let A=0;for(let O=0;O<d;O++)A=A<<1|u();let E=[],C=0,T=x;for(;;){let O=Math.floor(((A-C+1)*s-1)/T),R=0,F=n;for(;F-R>1;){let H=R+F>>>1;O<i[H]?F=H:R=H}if(R==0)break;E.push(R);let U=C+Math.floor(T*i[R]/s),_=C+Math.floor(T*i[R+1]/s)-1;for(;!((U^_)&p);)A=A<<1&g|u(),U=U<<1&g,_=_<<1&g|1;for(;U&~_&m;)A=A&p|A<<1&g>>>1|u(),U=U<<1^p,_=(_^p)<<1|p|1;C=U,T=1+_-U}let M=n-4;return E.map(O=>{switch(O-M){case 3:return M+65792+(r[o++]<<16|r[o++]<<8|r[o++]);case 2:return M+256+(r[o++]<<8|r[o++]);case 1:return M+r[o++];default:return O-1}})}function Yh(r){let e=0;return()=>r[e++]}function lu(r){return Yh(Zh(Xh(r)))}function Xh(r){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((s,i)=>e[s.charCodeAt(0)]=i);let t=r.length,n=new Uint8Array(6*t>>3);for(let s=0,i=0,a=0,o=0;s<t;s++)o=o<<6|e[r.charCodeAt(s)],a+=6,a>=8&&(n[i++]=o>>(a-=8));return n}function $h(r){return r&1?~r>>1:r>>1}function qh(r,e){let t=Array(r);for(let n=0,s=0;n<r;n++)t[n]=s+=$h(e());return t}function Ci(r,e=0){let t=[];for(;;){let n=r(),s=r();if(!s)break;e+=n;for(let i=0;i<s;i++)t.push(e+i);e+=s+1}return t}function uu(r){return ki(()=>{let e=Ci(r);if(e.length)return e})}function du(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(ex(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(tx(t,r))}return e.flat()}function ki(r){let e=[];for(;;){let t=r(e.length);if(!t)break;e.push(t)}return e}function hu(r,e,t){let n=Array(r).fill().map(()=>[]);for(let s=0;s<e;s++)qh(r,t).forEach((i,a)=>n[a].push(i));return n}function ex(r,e){let t=1+e(),n=e(),s=ki(e);return hu(s.length,1+r,e).flatMap((a,o)=>{let[c,...f]=a;return Array(s[o]).fill().map((u,d)=>{let x=d*n;return[c+d*t,f.map(p=>p+x)]})})}function tx(r,e){let t=1+e();return hu(t,1+r,e).map(s=>[s[0],s.slice(1)])}function nx(r){let e=[],t=Ci(r);return s(n([]),[]),e;function n(i){let a=r(),o=ki(()=>{let c=Ci(r).map(f=>t[f]);if(c.length)return n(c)});return{S:a,B:o,Q:i}}function s({S:i,B:a},o,c){if(!(i&4&&c===o[o.length-1])){i&2&&(c=o[o.length-1]),i&1&&e.push(o);for(let f of a)for(let u of f.Q)s(f,[...o,u],c)}}}function rx(r){return r.toString(16).toUpperCase().padStart(2,"0")}function xu(r){return`{${rx(r)}}`}function sx(r){let e=[];for(let t=0,n=r.length;t<n;){let s=r.codePointAt(t);t+=s<65536?1:2,e.push(s)}return e}function Xs(r){let t=r.length;if(t<4096)return String.fromCodePoint(...r);let n=[];for(let s=0;s<t;)n.push(String.fromCodePoint(...r.slice(s,s+=4096)));return n.join("")}function ix(r,e){let t=r.length,n=t-e.length;for(let s=0;n==0&&s<t;s++)n=r[s]-e[s];return n}var ax="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";const Oi=44032,Ja=4352,ja=4449,Wa=4519,bu=19,pu=21,$s=28,Za=pu*$s,ox=bu*Za,cx=Oi+ox,fx=Ja+bu,lx=ja+pu,ux=Wa+$s;function bi(r){return r>>24&255}function gu(r){return r&16777215}let uo,af,ho,va;function dx(){let r=lu(ax);uo=new Map(uu(r).flatMap((e,t)=>e.map(n=>[n,t+1<<24]))),af=new Set(Ci(r)),ho=new Map,va=new Map;for(let[e,t]of du(r)){if(!af.has(e)&&t.length==2){let[n,s]=t,i=va.get(n);i||(i=new Map,va.set(n,i)),i.set(s,e)}ho.set(e,t.reverse())}}function yu(r){return r>=Oi&&r<cx}function hx(r,e){if(r>=Ja&&r<fx&&e>=ja&&e<lx)return Oi+(r-Ja)*Za+(e-ja)*$s;if(yu(r)&&e>Wa&&e<ux&&(r-Oi)%$s==0)return r+(e-Wa);{let t=va.get(r);return t&&(t=t.get(e),t)?t:-1}}function mu(r){uo||dx();let e=[],t=[],n=!1;function s(i){let a=uo.get(i);a&&(n=!0,i|=a),e.push(i)}for(let i of r)for(;;){if(i<128)e.push(i);else if(yu(i)){let a=i-Oi,o=a/Za|0,c=a%Za/$s|0,f=a%$s;s(Ja+o),s(ja+c),f>0&&s(Wa+f)}else{let a=ho.get(i);a?t.push(...a):s(i)}if(!t.length)break;i=t.pop()}if(n&&e.length>1){let i=bi(e[0]);for(let a=1;a<e.length;a++){let o=bi(e[a]);if(o==0||i<=o){i=o;continue}let c=a-1;for(;;){let f=e[c+1];if(e[c+1]=e[c],e[c]=f,!c||(i=bi(e[--c]),i<=o))break}i=bi(e[a])}}return e}function xx(r){let e=[],t=[],n=-1,s=0;for(let i of r){let a=bi(i),o=gu(i);if(n==-1)a==0?n=o:e.push(o);else if(s>0&&s>=a)a==0?(e.push(n,...t),t.length=0,n=o):t.push(o),s=a;else{let c=hx(n,o);c>=0?n=c:s==0&&a==0?(e.push(n),n=o):(t.push(o),s=a)}}return n>=0&&e.push(n,...t),e}function wu(r){return mu(r).map(gu)}function bx(r){return xx(mu(r))}const of=45,Au=".",Eu=65039,Nu=1,Ya=r=>Array.from(r);function Ri(r,e){return r.P.has(e)||r.Q.has(e)}class px extends Array{get is_emoji(){return!0}}let xo,Pu,Yn,bo,Tu,qr,F0,Kr,Qn,cf,po;function tc(){if(xo)return;let r=lu(Wh);const e=()=>Ci(r),t=()=>new Set(e()),n=(u,d)=>d.forEach(x=>u.add(x));xo=new Map(du(r)),Pu=t(),Yn=e(),bo=new Set(e().map(u=>Yn[u])),Yn=new Set(Yn),Tu=t(),t();let s=uu(r),i=r();const a=()=>{let u=new Set;return e().forEach(d=>n(u,s[d])),n(u,e()),u};qr=ki(u=>{let d=ki(r).map(x=>x+96);if(d.length){let x=u>=i;d[0]-=32,d=Xs(d),x&&(d=`Restricted[${d}]`);let p=a(),m=a(),g=!r();return{N:d,P:p,Q:m,M:g,R:x}}}),F0=t(),Kr=new Map;let o=e().concat(Ya(F0)).sort((u,d)=>u-d);o.forEach((u,d)=>{let x=r(),p=o[d]=x?o[d-x]:{V:[],M:new Map};p.V.push(u),F0.has(u)||Kr.set(u,p)});for(let{V:u,M:d}of new Set(Kr.values())){let x=[];for(let m of u){let g=qr.filter(E=>Ri(E,m)),A=x.find(({G:E})=>g.some(C=>E.has(C)));A||(A={G:new Set,V:[]},x.push(A)),A.V.push(m),n(A.G,g)}let p=x.flatMap(m=>Ya(m.G));for(let{G:m,V:g}of x){let A=new Set(p.filter(E=>!m.has(E)));for(let E of g)d.set(E,A)}}Qn=new Set;let c=new Set;const f=u=>Qn.has(u)?c.add(u):Qn.add(u);for(let u of qr){for(let d of u.P)f(d);for(let d of u.Q)f(d)}for(let u of Qn)!Kr.has(u)&&!c.has(u)&&Kr.set(u,Nu);n(Qn,wu(Qn)),cf=nx(r).map(u=>px.from(u)).sort(ix),po=new Map;for(let u of cf){let d=[po];for(let x of u){let p=d.map(m=>{let g=m.get(x);return g||(g=new Map,m.set(x,g)),g});x===Eu?d.push(...p):d=p}for(let x of d)x.V=u}}function nc(r){return(Iu(r)?"":`${rc(A0([r]))} `)+xu(r)}function rc(r){return`"${r}"`}function gx(r){if(r.length>=4&&r[2]==of&&r[3]==of)throw new Error(`invalid label extension: "${Xs(r.slice(0,4))}"`)}function yx(r){for(let t=r.lastIndexOf(95);t>0;)if(r[--t]!==95)throw new Error("underscore allowed only at start")}function mx(r){let e=r[0],t=rf.get(e);if(t)throw Ei(`leading ${t}`);let n=r.length,s=-1;for(let i=1;i<n;i++){e=r[i];let a=rf.get(e);if(a){if(s==i)throw Ei(`${t} + ${a}`);s=i+1,t=a}}if(s==n)throw Ei(`trailing ${t}`)}function A0(r,e=1/0,t=xu){let n=[];wx(r[0])&&n.push("◌"),r.length>e&&(e>>=1,r=[...r.slice(0,e),8230,...r.slice(-e)]);let s=0,i=r.length;for(let a=0;a<i;a++){let o=r[a];Iu(o)&&(n.push(Xs(r.slice(s,a))),n.push(t(o)),s=a+1)}return n.push(Xs(r.slice(s,i))),n.join("")}function wx(r){return tc(),Yn.has(r)}function Iu(r){return tc(),Tu.has(r)}function Ax(r){return Tx(Ex(r,bx,kx))}function Ex(r,e,t){if(!r)return[];tc();let n=0;return r.split(Au).map(s=>{let i=sx(s),a={input:i,offset:n};n+=i.length+1;try{let o=a.tokens=Cx(i,e,t),c=o.length,f;if(!c)throw new Error("empty label");let u=a.output=o.flat();if(yx(u),!(a.emoji=c>1||o[0].is_emoji)&&u.every(x=>x<128))gx(u),f="ASCII";else{let x=o.flatMap(p=>p.is_emoji?[]:p);if(!x.length)f="Emoji";else{if(Yn.has(u[0]))throw Ei("leading combining mark");for(let g=1;g<c;g++){let A=o[g];if(!A.is_emoji&&Yn.has(A[0]))throw Ei(`emoji + combining mark: "${Xs(o[g-1])} + ${A0([A[0]])}"`)}mx(u);let p=Ya(new Set(x)),[m]=Px(p);Ix(m,x),Nx(m,p),f=m.N}}a.type=f}catch(o){a.error=o}return a})}function Nx(r,e){let t,n=[];for(let s of e){let i=Kr.get(s);if(i===Nu)return;if(i){let a=i.M.get(s);if(t=t?t.filter(o=>a.has(o)):Ya(a),!t.length)return}else n.push(s)}if(t){for(let s of t)if(n.every(i=>Ri(s,i)))throw new Error(`whole-script confusable: ${r.N}/${s.N}`)}}function Px(r){let e=qr;for(let t of r){let n=e.filter(s=>Ri(s,t));if(!n.length)throw qr.some(s=>Ri(s,t))?ku(e[0],t):Cu(t);if(e=n,n.length==1)break}return e}function Tx(r){return r.map(({input:e,error:t,output:n})=>{if(t){let s=t.message;throw new Error(r.length==1?s:`Invalid label ${rc(A0(e,63))}: ${s}`)}return Xs(n)}).join(Au)}function Cu(r){return new Error(`disallowed character: ${nc(r)}`)}function ku(r,e){let t=nc(e),n=qr.find(s=>s.P.has(e));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${r.N} + ${t}`)}function Ei(r){return new Error(`illegal placement: ${r}`)}function Ix(r,e){for(let t of e)if(!Ri(r,t))throw ku(r,t);if(r.M){let t=wu(e);for(let n=1,s=t.length;n<s;n++)if(bo.has(t[n])){let i=n+1;for(let a;i<s&&bo.has(a=t[i]);i++)for(let o=n;o<i;o++)if(t[o]==a)throw new Error(`duplicate non-spacing marks: ${nc(a)}`);if(i-n>sf)throw new Error(`excessive non-spacing marks: ${rc(A0(t.slice(n-1,i)))} (${i-n}/${sf})`);n=i}}}function Cx(r,e,t){let n=[],s=[];for(r=r.slice().reverse();r.length;){let i=Ox(r);if(i)s.length&&(n.push(e(s)),s=[]),n.push(t(i));else{let a=r.pop();if(Qn.has(a))s.push(a);else{let o=xo.get(a);if(o)s.push(...o);else if(!Pu.has(a))throw Cu(a)}}}return s.length&&n.push(e(s)),n}function kx(r){return r.filter(e=>e!=Eu)}function Ox(r,e){let t=po,n,s=r.length;for(;s&&(t=t.get(r[--s]),!!t);){let{V:i}=t;i&&(n=i,r.length=s)}return n}const Ou=new Uint8Array(32);Ou.fill(0);function ff(r){return b(r.length!==0,"invalid ENS name; empty component","comp",r),r}function Ru(r){const e=Le(Rx(r)),t=[];if(r.length===0)return t;let n=0;for(let s=0;s<e.length;s++)e[s]===46&&(t.push(ff(e.slice(n,s))),n=s+1);return b(n<e.length,"invalid ENS name; empty component","name",r),t.push(ff(e.slice(n))),t}function Rx(r){try{if(r.length===0)throw new Error("empty label");return Ax(r)}catch(e){b(!1,`invalid ENS name (${e.message})`,"name",r)}}function go(r){b(typeof r=="string","invalid ENS name; not a string","name",r),b(r.length,"invalid ENS name (empty label)","name",r);let e=Ou;const t=Ru(r);for(;t.length;)e=ie(X([e,ie(t.pop())]));return P(e)}function Bx(r,e){const t=e;return b(t<=255,"DNS encoded label cannot exceed 255","length",t),P(X(Ru(r).map(n=>{b(n.length<=t,`label ${JSON.stringify(r)} exceeds ${t} bytes`,"name",r);const s=new Uint8Array(n.length+1);return s.set(n,1),s[0]=s.length-1,s})))+"00"}function M0(r,e){return{address:J(r),storageKeys:e.map((t,n)=>(b(ee(t,32),"invalid slot",`storageKeys[${n}]`,t),t.toLowerCase()))}}function vr(r){if(Array.isArray(r))return r.map((t,n)=>Array.isArray(t)?(b(t.length===2,"invalid slot set",`value[${n}]`,t),M0(t[0],t[1])):(b(t!=null&&typeof t=="object","invalid address-slot set","value",r),M0(t.address,t.storageKeys)));b(r!=null&&typeof r=="object","invalid access list","value",r);const e=Object.keys(r).map(t=>{const n=r[t].reduce((s,i)=>(s[i]=!0,s),{});return M0(t,Object.keys(n).sort())});return e.sort((t,n)=>t.address.localeCompare(n.address)),e}function oa(r){let e;return typeof r=="string"?e=Lt.computePublicKey(r,!1):e=r.publicKey,J(ie("0x"+e.substring(4)).substring(26))}function vx(r,e){return oa(Lt.recoverPublicKey(r,e))}const be=BigInt(0),Sx=BigInt(2),Ux=BigInt(27),Lx=BigInt(28),Dx=BigInt(35),Fx=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),G0=4096*32;function lf(r,e){let t=r.toString(16);for(;t.length<2;)t="0"+t;return t+=ot(e).substring(4),"0x"+t}function E0(r){return r==="0x"?null:J(r)}function sc(r,e){try{return vr(r)}catch(t){b(!1,t.message,e,r)}}function ca(r,e){return r==="0x"?0:K(r,e)}function le(r,e){if(r==="0x")return be;const t=L(r,e);return b(t<=Fx,"value exceeds uint size",e,t),t}function re(r,e){const t=L(r,"value"),n=Oe(t);return b(n.length<=32,"value too large",`tx.${e}`,t),n}function ic(r){return vr(r).map(e=>[e.address,e.storageKeys])}function Mx(r,e){b(Array.isArray(r),`invalid ${e}`,"value",r);for(let t=0;t<r.length;t++)b(ee(r[t],32),"invalid ${ param } hash",`value[${t}]`,r[t]);return r}function Gx(r){const e=p0(r);b(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",r);const t={type:0,nonce:ca(e[0],"nonce"),gasPrice:le(e[1],"gasPrice"),gasLimit:le(e[2],"gasLimit"),to:E0(e[3]),value:le(e[4],"value"),data:P(e[5]),chainId:be};if(e.length===6)return t;const n=le(e[6],"v"),s=le(e[7],"r"),i=le(e[8],"s");if(s===be&&i===be)t.chainId=n;else{let a=(n-Dx)/Sx;a<be&&(a=be),t.chainId=a,b(a!==be||n===Ux||n===Lx,"non-canonical legacy v","v",e[6]),t.signature=yt.from({r:Tr(e[7],32),s:Tr(e[8],32),v:n})}return t}function Hx(r,e){const t=[re(r.nonce,"nonce"),re(r.gasPrice||0,"gasPrice"),re(r.gasLimit,"gasLimit"),r.to||"0x",re(r.value,"value"),r.data];let n=be;if(r.chainId!=be)n=L(r.chainId,"tx.chainId"),b(!e||e.networkV==null||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(r.signature){const i=r.signature.legacyChainId;i!=null&&(n=i)}if(!e)return n!==be&&(t.push(Oe(n)),t.push("0x"),t.push("0x")),Ir(t);let s=BigInt(27+e.yParity);return n!==be?s=yt.getChainIdV(n,e.v):BigInt(e.v)!==s&&b(!1,"tx.chainId/sig.v mismatch","sig",e),t.push(Oe(s)),t.push(Oe(e.r)),t.push(Oe(e.s)),Ir(t)}function ac(r,e){let t;try{if(t=ca(e[0],"yParity"),t!==0&&t!==1)throw new Error("bad yParity")}catch{b(!1,"invalid yParity","yParity",e[0])}const n=Tr(e[1],32),s=Tr(e[2],32),i=yt.from({r:n,s,yParity:t});r.signature=i}function Vx(r){const e=p0(v(r).slice(1));b(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",P(r));const t={type:2,chainId:le(e[0],"chainId"),nonce:ca(e[1],"nonce"),maxPriorityFeePerGas:le(e[2],"maxPriorityFeePerGas"),maxFeePerGas:le(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:le(e[4],"gasLimit"),to:E0(e[5]),value:le(e[6],"value"),data:P(e[7]),accessList:sc(e[8],"accessList")};return e.length===9||ac(t,e.slice(9)),t}function Qx(r,e){const t=[re(r.chainId,"chainId"),re(r.nonce,"nonce"),re(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),re(r.maxFeePerGas||0,"maxFeePerGas"),re(r.gasLimit,"gasLimit"),r.to||"0x",re(r.value,"value"),r.data,ic(r.accessList||[])];return e&&(t.push(re(e.yParity,"yParity")),t.push(Oe(e.r)),t.push(Oe(e.s))),X(["0x02",Ir(t)])}function Kx(r){const e=p0(v(r).slice(1));b(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",P(r));const t={type:1,chainId:le(e[0],"chainId"),nonce:ca(e[1],"nonce"),gasPrice:le(e[2],"gasPrice"),gasLimit:le(e[3],"gasLimit"),to:E0(e[4]),value:le(e[5],"value"),data:P(e[6]),accessList:sc(e[7],"accessList")};return e.length===8||ac(t,e.slice(8)),t}function _x(r,e){const t=[re(r.chainId,"chainId"),re(r.nonce,"nonce"),re(r.gasPrice||0,"gasPrice"),re(r.gasLimit,"gasLimit"),r.to||"0x",re(r.value,"value"),r.data,ic(r.accessList||[])];return e&&(t.push(re(e.yParity,"recoveryParam")),t.push(Oe(e.r)),t.push(Oe(e.s))),X(["0x01",Ir(t)])}function zx(r){let e=p0(v(r).slice(1)),t="3",n=null;if(e.length===4&&Array.isArray(e[0])){t="3 (network format)";const i=e[1],a=e[2],o=e[3];b(Array.isArray(i),"invalid network format: blobs not an array","fields[1]",i),b(Array.isArray(a),"invalid network format: commitments not an array","fields[2]",a),b(Array.isArray(o),"invalid network format: proofs not an array","fields[3]",o),b(i.length===a.length,"invalid network format: blobs/commitments length mismatch","fields",e),b(i.length===o.length,"invalid network format: blobs/proofs length mismatch","fields",e),n=[];for(let c=0;c<e[1].length;c++)n.push({data:i[c],commitment:a[c],proof:o[c]});e=e[0]}b(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${t}`,"data",P(r));const s={type:3,chainId:le(e[0],"chainId"),nonce:ca(e[1],"nonce"),maxPriorityFeePerGas:le(e[2],"maxPriorityFeePerGas"),maxFeePerGas:le(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:le(e[4],"gasLimit"),to:E0(e[5]),value:le(e[6],"value"),data:P(e[7]),accessList:sc(e[8],"accessList"),maxFeePerBlobGas:le(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};n&&(s.blobs=n),b(s.to!=null,`invalid address for transaction type: ${t}`,"data",r),b(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",r);for(let i=0;i<s.blobVersionedHashes.length;i++)b(ee(s.blobVersionedHashes[i],32),`invalid blobVersionedHash at index ${i}: must be length 32`,"data",r);return e.length===11||ac(s,e.slice(11)),s}function Jx(r,e,t){const n=[re(r.chainId,"chainId"),re(r.nonce,"nonce"),re(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),re(r.maxFeePerGas||0,"maxFeePerGas"),re(r.gasLimit,"gasLimit"),r.to||Ii,re(r.value,"value"),r.data,ic(r.accessList||[]),re(r.maxFeePerBlobGas||0,"maxFeePerBlobGas"),Mx(r.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(n.push(re(e.yParity,"yParity")),n.push(Oe(e.r)),n.push(Oe(e.s)),t)?X(["0x03",Ir([n,t.map(s=>s.data),t.map(s=>s.commitment),t.map(s=>s.proof)])]):X(["0x03",Ir(n)])}var Tt,ds,hs,xs,bs,ps,gs,ys,ms,ws,As,Es,fr,An,zt,En,Ns,Sa;const Gt=class Gt{constructor(){w(this,Ns);w(this,Tt,void 0);w(this,ds,void 0);w(this,hs,void 0);w(this,xs,void 0);w(this,bs,void 0);w(this,ps,void 0);w(this,gs,void 0);w(this,ys,void 0);w(this,ms,void 0);w(this,ws,void 0);w(this,As,void 0);w(this,Es,void 0);w(this,fr,void 0);w(this,An,void 0);w(this,zt,void 0);w(this,En,void 0);h(this,Tt,null),h(this,ds,null),h(this,xs,0),h(this,bs,be),h(this,ps,null),h(this,gs,null),h(this,ys,null),h(this,hs,"0x"),h(this,ms,be),h(this,ws,be),h(this,As,null),h(this,Es,null),h(this,fr,null),h(this,An,null),h(this,En,null),h(this,zt,null)}get type(){return l(this,Tt)}set type(e){switch(e){case null:h(this,Tt,null);break;case 0:case"legacy":h(this,Tt,0);break;case 1:case"berlin":case"eip-2930":h(this,Tt,1);break;case 2:case"london":case"eip-1559":h(this,Tt,2);break;case 3:case"cancun":case"eip-4844":h(this,Tt,3);break;default:b(!1,"unsupported transaction type","type",e)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){const e=l(this,ds);return e==null&&this.type===3?Ii:e}set to(e){h(this,ds,e==null?null:J(e))}get nonce(){return l(this,xs)}set nonce(e){h(this,xs,K(e,"value"))}get gasLimit(){return l(this,bs)}set gasLimit(e){h(this,bs,L(e))}get gasPrice(){const e=l(this,ps);return e==null&&(this.type===0||this.type===1)?be:e}set gasPrice(e){h(this,ps,e==null?null:L(e,"gasPrice"))}get maxPriorityFeePerGas(){const e=l(this,gs);return e??(this.type===2||this.type===3?be:null)}set maxPriorityFeePerGas(e){h(this,gs,e==null?null:L(e,"maxPriorityFeePerGas"))}get maxFeePerGas(){const e=l(this,ys);return e??(this.type===2||this.type===3?be:null)}set maxFeePerGas(e){h(this,ys,e==null?null:L(e,"maxFeePerGas"))}get data(){return l(this,hs)}set data(e){h(this,hs,P(e))}get value(){return l(this,ms)}set value(e){h(this,ms,L(e,"value"))}get chainId(){return l(this,ws)}set chainId(e){h(this,ws,L(e))}get signature(){return l(this,As)||null}set signature(e){h(this,As,e==null?null:yt.from(e))}get accessList(){const e=l(this,Es)||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){h(this,Es,e==null?null:vr(e))}get maxFeePerBlobGas(){const e=l(this,fr);return e==null&&this.type===3?be:e}set maxFeePerBlobGas(e){h(this,fr,e==null?null:L(e,"maxFeePerBlobGas"))}get blobVersionedHashes(){let e=l(this,An);return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){b(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let t=0;t<e.length;t++)b(ee(e[t],32),"invalid blobVersionedHash",`value[${t}]`,e[t])}h(this,An,e)}get blobs(){return l(this,En)==null?null:l(this,En).map(e=>Object.assign({},e))}set blobs(e){if(e==null){h(this,En,null);return}const t=[],n=[];for(let s=0;s<e.length;s++){const i=e[s];if(d0(i)){N(l(this,zt),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let a=v(i);if(b(a.length<=G0,"blob is too large",`blobs[${s}]`,i),a.length!==G0){const f=new Uint8Array(G0);f.set(a),a=f}const o=l(this,zt).blobToKzgCommitment(a),c=P(l(this,zt).computeBlobKzgProof(a,o));t.push({data:P(a),commitment:P(o),proof:c}),n.push(lf(1,o))}else{const a=P(i.commitment);t.push({data:P(i.data),commitment:a,proof:P(i.proof)}),n.push(lf(1,a))}}h(this,En,t),h(this,An,n)}get kzg(){return l(this,zt)}set kzg(e){h(this,zt,e)}get hash(){return this.signature==null?null:ie(I(this,Ns,Sa).call(this,!0,!1))}get unsignedHash(){return ie(this.unsignedSerialized)}get from(){return this.signature==null?null:vx(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:Lt.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return I(this,Ns,Sa).call(this,!0,!0)}get unsignedSerialized(){return I(this,Ns,Sa).call(this,!1,!1)}inferType(){const e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){const e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,s=l(this,fr)!=null||l(this,An);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&N(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),N(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),N(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const i=[];return this.type!=null?i.push(this.type):t?i.push(2):e?(i.push(1),n||i.push(0)):n?(i.push(1),i.push(2)):(s&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return Gt.from(this)}toJSON(){const e=t=>t==null?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new Gt;if(typeof e=="string"){const n=v(e);if(n[0]>=127)return Gt.from(Gx(n));switch(n[0]){case 1:return Gt.from(Kx(n));case 2:return Gt.from(Vx(n));case 3:return Gt.from(zx(n))}N(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const t=new Gt;return e.type!=null&&(t.type=e.type),e.to!=null&&(t.to=e.to),e.nonce!=null&&(t.nonce=e.nonce),e.gasLimit!=null&&(t.gasLimit=e.gasLimit),e.gasPrice!=null&&(t.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(t.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(t.data=e.data),e.value!=null&&(t.value=e.value),e.chainId!=null&&(t.chainId=e.chainId),e.signature!=null&&(t.signature=yt.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(t.kzg=e.kzg),e.blobs!=null&&(t.blobs=e.blobs),e.hash!=null&&(b(t.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),b(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(b(t.isSigned(),"unsigned transaction cannot define '.from'","tx",e),b(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}};Tt=new WeakMap,ds=new WeakMap,hs=new WeakMap,xs=new WeakMap,bs=new WeakMap,ps=new WeakMap,gs=new WeakMap,ys=new WeakMap,ms=new WeakMap,ws=new WeakMap,As=new WeakMap,Es=new WeakMap,fr=new WeakMap,An=new WeakMap,zt=new WeakMap,En=new WeakMap,Ns=new WeakSet,Sa=function(e,t){N(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});const n=e?this.signature:null;switch(this.inferType()){case 0:return Hx(this,n);case 1:return _x(this,n);case 2:return Qx(this,n);case 3:return Jx(this,n,t?this.blobs:null)}N(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};let Bi=Gt;function jx(r){return typeof r=="string"&&(r=Le(r)),ie(X([Le(kh),Le(String(r.length)),r]))}const Bu=new Uint8Array(32);Bu.fill(0);const Wx=BigInt(-1),vu=BigInt(0),Su=BigInt(1),Zx=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Yx(r){const e=v(r),t=e.length%32;return t?X([e,Bu.slice(t)]):P(e)}const Xx=rn(Su,32),$x=rn(vu,32),uf={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},H0=["name","version","chainId","verifyingContract","salt"];function df(r){return function(e){return b(typeof e=="string",`invalid domain value for ${JSON.stringify(r)}`,`domain.${r}`,e),e}}const qx={name:df("name"),version:df("version"),chainId:function(r){const e=L(r,"domain.chainId");return b(e>=0,"invalid chain ID","domain.chainId",r),Number.isSafeInteger(e)?Number(e):Wr(e)},verifyingContract:function(r){try{return J(r).toLowerCase()}catch{}b(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",r)},salt:function(r){const e=v(r,"domain.salt");return b(e.length===32,'invalid domain value "salt"',"domain.salt",r),P(e)}};function V0(r){{const e=r.match(/^(u?)int(\d+)$/);if(e){const t=e[1]==="",n=parseInt(e[2]);b(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",r);const s=hi(Zx,t?n-1:n),i=t?(s+Su)*Wx:vu;return function(a){const o=L(a,"value");return b(o>=i&&o<=s,`value out-of-bounds for ${r}`,"value",o),rn(t?$f(o,256):o,32)}}}{const e=r.match(/^bytes(\d+)$/);if(e){const t=parseInt(e[1]);return b(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",r),function(n){const s=v(n);return b(s.length===t,`invalid length for ${r}`,"value",n),Yx(n)}}}switch(r){case"address":return function(e){return Tr(J(e),32)};case"bool":return function(e){return e?Xx:$x};case"bytes":return function(e){return ie(e)};case"string":return function(e){return an(e)}}return null}function hf(r,e){return`${r}(${e.map(({name:t,type:n})=>n+" "+t).join(",")})`}function Na(r){const e=r.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:r}}var Qi,Jt,Ps,a0,Uu;const qe=class qe{constructor(e){w(this,a0);y(this,"primaryType");w(this,Qi,void 0);w(this,Jt,void 0);w(this,Ps,void 0);h(this,Jt,new Map),h(this,Ps,new Map);const t=new Map,n=new Map,s=new Map,i={};Object.keys(e).forEach(c=>{i[c]=e[c].map(({name:f,type:u})=>{let{base:d,index:x}=Na(u);return d==="int"&&!e.int&&(d="int256"),d==="uint"&&!e.uint&&(d="uint256"),{name:f,type:d+(x||"")}}),t.set(c,new Set),n.set(c,[]),s.set(c,new Set)}),h(this,Qi,JSON.stringify(i));for(const c in i){const f=new Set;for(const u of i[c]){b(!f.has(u.name),`duplicate variable name ${JSON.stringify(u.name)} in ${JSON.stringify(c)}`,"types",e),f.add(u.name);const d=Na(u.type).base;b(d!==c,`circular type reference to ${JSON.stringify(d)}`,"types",e),!V0(d)&&(b(n.has(d),`unknown type ${JSON.stringify(d)}`,"types",e),n.get(d).push(c),t.get(c).add(d))}}const a=Array.from(n.keys()).filter(c=>n.get(c).length===0);b(a.length!==0,"missing primary type","types",e),b(a.length===1,`ambiguous primary types or unused types: ${a.map(c=>JSON.stringify(c)).join(", ")}`,"types",e),D(this,{primaryType:a[0]});function o(c,f){b(!f.has(c),`circular type reference to ${JSON.stringify(c)}`,"types",e),f.add(c);for(const u of t.get(c))if(n.has(u)){o(u,f);for(const d of f)s.get(d).add(u)}f.delete(c)}o(this.primaryType,new Set);for(const[c,f]of s){const u=Array.from(f);u.sort(),l(this,Jt).set(c,hf(c,i[c])+u.map(d=>hf(d,i[d])).join(""))}}get types(){return JSON.parse(l(this,Qi))}getEncoder(e){let t=l(this,Ps).get(e);return t||(t=I(this,a0,Uu).call(this,e),l(this,Ps).set(e,t)),t}encodeType(e){const t=l(this,Jt).get(e);return b(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return ie(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(V0(e))return n(e,t);const s=Na(e).array;if(s)return b(s.count===-1||s.count===t.length,`array length mismatch; expected length ${s.count}`,"value",t),t.map(a=>this._visit(s.prefix,a,n));const i=this.types[e];if(i)return i.reduce((a,{name:o,type:c})=>(a[o]=this._visit(c,t[o],n),a),{});b(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new qe(e)}static getPrimaryType(e){return qe.from(e).primaryType}static hashStruct(e,t,n){return qe.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){if(e[n]==null)continue;const s=uf[n];b(s,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:s})}return t.sort((n,s)=>H0.indexOf(n.name)-H0.indexOf(s.name)),qe.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return X(["0x1901",qe.hashDomain(e),qe.from(t).hash(n)])}static hash(e,t,n){return ie(qe.encode(e,t,n))}static async resolveNames(e,t,n,s){e=Object.assign({},e);for(const o in e)e[o]==null&&delete e[o];const i={};e.verifyingContract&&!ee(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const a=qe.from(t);a.visit(n,(o,c)=>(o==="address"&&!ee(c,20)&&(i[c]="0x"),c));for(const o in i)i[o]=await s(o);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=a.visit(n,(o,c)=>o==="address"&&i[c]?i[c]:c),{domain:e,value:n}}static getPayload(e,t,n){qe.hashDomain(e);const s={},i=[];H0.forEach(c=>{const f=e[c];f!=null&&(s[c]=qx[c](f),i.push({name:c,type:uf[c]}))});const a=qe.from(t);t=a.types;const o=Object.assign({},t);return b(o.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),o.EIP712Domain=i,a.encode(n),{types:o,domain:s,primaryType:a.primaryType,message:a.visit(n,(c,f)=>{if(c.match(/^bytes(\d*)/))return P(v(f));if(c.match(/^u?int/))return L(f).toString();switch(c){case"address":return f.toLowerCase();case"bool":return!!f;case"string":return b(typeof f=="string","invalid string","value",f),f}b(!1,"unsupported type","type",c)})}}};Qi=new WeakMap,Jt=new WeakMap,Ps=new WeakMap,a0=new WeakSet,Uu=function(e){{const s=V0(e);if(s)return s}const t=Na(e).array;if(t){const s=t.prefix,i=this.getEncoder(s);return a=>{b(t.count===-1||t.count===a.length,`array length mismatch; expected length ${t.count}`,"value",a);let o=a.map(i);return l(this,Jt).has(s)&&(o=o.map(ie)),ie(X(o))}}const n=this.types[e];if(n){const s=an(l(this,Jt).get(e));return i=>{const a=n.map(({name:o,type:c})=>{const f=this.getEncoder(c)(i[o]);return l(this,Jt).has(c)?ie(f):f});return a.unshift(s),X(a)}}b(!1,`unknown type: ${e}`,"type",e)};let qs=qe;function Ue(r){const e=new Set;return r.forEach(t=>e.add(t)),Object.freeze(e)}const e6="external public payable override",t6=Ue(e6.split(" ")),Lu="constant external internal payable private public pure view override",n6=Ue(Lu.split(" ")),Du="constructor error event fallback function receive struct",Fu=Ue(Du.split(" ")),Mu="calldata memory storage payable indexed",r6=Ue(Mu.split(" ")),s6="tuple returns",i6=[Du,Mu,s6,Lu].join(" "),a6=Ue(i6.split(" ")),o6={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},c6=new RegExp("^(\\s*)"),f6=new RegExp("^([0-9]+)"),l6=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),Gu=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Hu=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");var ye,bt,Ki,yo;const o0=class o0{constructor(e){w(this,Ki);w(this,ye,void 0);w(this,bt,void 0);h(this,ye,0),h(this,bt,e.slice())}get offset(){return l(this,ye)}get length(){return l(this,bt).length-l(this,ye)}clone(){return new o0(l(this,bt))}reset(){h(this,ye,0)}popKeyword(e){const t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){const t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=I(this,Ki,yo).call(this,l(this,ye)+1,e.match+1);return h(this,ye,e.match+1),t}popParams(){const e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");const t=[];for(;l(this,ye)<e.match-1;){const n=this.peek().linkNext;t.push(I(this,Ki,yo).call(this,l(this,ye)+1,n)),h(this,ye,n)}return h(this,ye,e.match+1),t}peek(){if(l(this,ye)>=l(this,bt).length)throw new Error("out-of-bounds");return l(this,bt)[l(this,ye)]}peekKeyword(e){const t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;const t=this.peek();return t.type===e?t.text:null}pop(){const e=this.peek();return Fr(this,ye)._++,e}toString(){const e=[];for(let t=l(this,ye);t<l(this,bt).length;t++){const n=l(this,bt)[t];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(" ")}>`}};ye=new WeakMap,bt=new WeakMap,Ki=new WeakSet,yo=function(e=0,t=0){return new o0(l(this,bt).slice(e,t).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))};let mt=o0;function Hn(r){const e=[],t=a=>{const o=i<r.length?JSON.stringify(r[i]):"$EOI";throw new Error(`invalid token ${o} at ${i}: ${a}`)};let n=[],s=[],i=0;for(;i<r.length;){let a=r.substring(i),o=a.match(c6);o&&(i+=o[1].length,a=r.substring(i));const c={depth:n.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let f=o6[a[0]]||"";if(f){if(c.type=f,c.text=a[0],i++,f==="OPEN_PAREN")n.push(e.length-1),s.push(e.length-1);else if(f=="CLOSE_PAREN")n.length===0&&t("no matching open bracket"),c.match=n.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(f==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(f==="OPEN_BRACKET")c.type="BRACKET";else if(f==="CLOSE_BRACKET"){let u=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){const d=e.pop().text;u=d+u,e[e.length-1].value=K(d)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=u}continue}if(o=a.match(l6),o){if(c.text=o[1],i+=c.text.length,a6.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(Hu)){c.type="TYPE";continue}c.type="ID";continue}if(o=a.match(f6),o){c.text=o[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(a[0])} at position ${i}`)}return new mt(e.map(a=>Object.freeze(a)))}function xf(r,e){let t=[];for(const n in e.keys())r.has(n)&&t.push(n);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function N0(r,e){if(e.peekKeyword(Fu)){const t=e.pop().text;if(t!==r)throw new Error(`expected ${r}, got ${t}`)}return e.popType("ID")}function on(r,e){const t=new Set;for(;;){const n=r.peekType("KEYWORD");if(n==null||e&&!e.has(n))break;if(r.pop(),t.has(n))throw new Error(`duplicate keywords: ${JSON.stringify(n)}`);t.add(n)}return Object.freeze(t)}function Vu(r){let e=on(r,n6);return xf(e,Ue("constant payable nonpayable".split(" "))),xf(e,Ue("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function nn(r,e){return r.popParams().map(t=>Ee.from(t,e))}function Qu(r){if(r.peekType("AT")){if(r.pop(),r.peekType("NUMBER"))return L(r.pop().text);throw new Error("invalid gas")}return null}function Cr(r){if(r.length)throw new Error(`unexpected tokens at offset ${r.offset}: ${r.toString()}`)}const u6=new RegExp(/^(.*)\[([0-9]*)\]$/);function bf(r){const e=r.match(Hu);if(b(e,"invalid type","type",r),r==="uint")return"uint256";if(r==="int")return"int256";if(e[2]){const t=parseInt(e[2]);b(t!==0&&t<=32,"invalid bytes length","type",r)}else if(e[3]){const t=parseInt(e[3]);b(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",r)}return r}const se={},He=Symbol.for("_ethers_internal"),pf="_ParamTypeInternal",gf="_ErrorInternal",yf="_EventInternal",mf="_ConstructorInternal",wf="_FallbackInternal",Af="_FunctionInternal",Ef="_StructInternal";var Ts,Ua;const et=class et{constructor(e,t,n,s,i,a,o,c){w(this,Ts);y(this,"name");y(this,"type");y(this,"baseType");y(this,"indexed");y(this,"components");y(this,"arrayLength");y(this,"arrayChildren");if(Br(e,se,"ParamType"),Object.defineProperty(this,He,{value:pf}),a&&(a=Object.freeze(a.slice())),s==="array"){if(o==null||c==null)throw new Error("")}else if(o!=null||c!=null)throw new Error("");if(s==="tuple"){if(a==null)throw new Error("")}else if(a!=null)throw new Error("");D(this,{name:t,type:n,baseType:s,indexed:i,components:a,arrayLength:o,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){const n=this.name||"";if(this.isArray()){const i=JSON.parse(this.arrayChildren.format("json"));return i.name=n,i.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(i)}const s={type:this.baseType==="tuple"?"tuple":this.type,name:n};return typeof this.indexed=="boolean"&&(s.indexed=this.indexed),this.isTuple()&&(s.components=this.components.map(i=>JSON.parse(i.format(e)))),JSON.stringify(s)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(n=>n.format(e)).join(e==="full"?", ":",")+")":t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");const n=this;return e.map(s=>n.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");const n=this;return e.map((s,i)=>n.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){const n=[],s=[e];return I(this,Ts,Ua).call(this,n,e,t,i=>{s[0]=i}),n.length&&await Promise.all(n),s[0]}static from(e,t){if(et.isParamType(e))return e;if(typeof e=="string")try{return et.from(Hn(e),t)}catch{b(!1,"invalid param type","obj",e)}else if(e instanceof mt){let o="",c="",f=null;on(e,Ue(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",f=e.popParams().map(g=>et.from(g)),o=`tuple(${f.map(g=>g.format()).join(",")})`):(o=bf(e.popType("TYPE")),c=o);let u=null,d=null;for(;e.length&&e.peekType("BRACKET");){const g=e.pop();u=new et(se,"",o,c,null,f,d,u),d=g.value,o+=g.text,c="array",f=null}let x=null;if(on(e,r6).has("indexed")){if(!t)throw new Error("");x=!0}const m=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new et(se,m,o,c,x,f,d,u)}const n=e.name;b(!n||typeof n=="string"&&n.match(Gu),"invalid name","obj.name",n);let s=e.indexed;s!=null&&(b(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,a=i.match(u6);if(a){const o=parseInt(a[2]||"-1"),c=et.from({type:a[1],components:e.components});return new et(se,n||"",i,"array",s,null,o,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){const o=e.components!=null?e.components.map(f=>et.from(f)):null;return new et(se,n||"",i,"tuple",s,o,null,null)}return i=bf(e.type),new et(se,n||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[He]===pf}};Ts=new WeakSet,Ua=function(e,t,n,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");const a=this.arrayChildren,o=t.slice();o.forEach((c,f)=>{var u;I(u=a,Ts,Ua).call(u,e,c,n,d=>{o[f]=d})}),s(o);return}if(this.isTuple()){const a=this.components;let o;if(Array.isArray(t))o=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");o=a.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(o.length!==this.components.length)throw new Error("array is wrong length");o.forEach((c,f)=>{var u;I(u=a[f],Ts,Ua).call(u,e,c,n,d=>{o[f]=d})}),s(o);return}const i=n(this.type,t);i.then?e.push(async function(){s(await i)}()):s(i)};let Ee=et;class kr{constructor(e,t,n){y(this,"type");y(this,"inputs");Br(e,se,"Fragment"),n=Object.freeze(n.slice()),D(this,{type:t,inputs:n})}static from(e){if(typeof e=="string"){try{kr.from(JSON.parse(e))}catch{}return kr.from(Hn(e))}if(e instanceof mt)switch(e.peekKeyword(Fu)){case"constructor":return en.from(e);case"error":return Ge.from(e);case"event":return vt.from(e);case"fallback":case"receive":return Ht.from(e);case"function":return St.from(e);case"struct":return Pr.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return en.from(e);case"error":return Ge.from(e);case"event":return vt.from(e);case"fallback":case"receive":return Ht.from(e);case"function":return St.from(e);case"struct":return Pr.from(e)}N(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}b(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return en.isFragment(e)}static isError(e){return Ge.isFragment(e)}static isEvent(e){return vt.isFragment(e)}static isFunction(e){return St.isFragment(e)}static isStruct(e){return Pr.isFragment(e)}}class P0 extends kr{constructor(t,n,s,i){super(t,n,i);y(this,"name");b(typeof s=="string"&&s.match(Gu),"invalid identifier","name",s),i=Object.freeze(i.slice()),D(this,{name:s})}}function vi(r,e){return"("+e.map(t=>t.format(r)).join(r==="full"?", ":",")+")"}class Ge extends P0{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,He,{value:gf})}get selector(){return an(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});const t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+vi(e,this.inputs)),t.join(" ")}static from(e){if(Ge.isFragment(e))return e;if(typeof e=="string")return Ge.from(Hn(e));if(e instanceof mt){const t=N0("error",e),n=nn(e);return Cr(e),new Ge(se,t,n)}return new Ge(se,e.name,e.inputs?e.inputs.map(Ee.from):[])}static isFragment(e){return e&&e[He]===gf}}class vt extends P0{constructor(t,n,s,i){super(t,"event",n,s);y(this,"anonymous");Object.defineProperty(this,He,{value:yf}),D(this,{anonymous:i})}get topicHash(){return an(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const n=[];return t!=="sighash"&&n.push("event"),n.push(this.name+vi(t,this.inputs)),t!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(t,n){return n=(n||[]).map(i=>Ee.from(i)),new vt(se,t,n,!1).topicHash}static from(t){if(vt.isFragment(t))return t;if(typeof t=="string")try{return vt.from(Hn(t))}catch{b(!1,"invalid event fragment","obj",t)}else if(t instanceof mt){const n=N0("event",t),s=nn(t,!0),i=!!on(t,Ue(["anonymous"])).has("anonymous");return Cr(t),new vt(se,n,s,i)}return new vt(se,t.name,t.inputs?t.inputs.map(n=>Ee.from(n,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[He]===yf}}class en extends kr{constructor(t,n,s,i,a){super(t,n,s);y(this,"payable");y(this,"gas");Object.defineProperty(this,He,{value:mf}),D(this,{payable:i,gas:a})}format(t){if(N(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});const n=[`constructor${vi(t,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(t){if(en.isFragment(t))return t;if(typeof t=="string")try{return en.from(Hn(t))}catch{b(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof mt){on(t,Ue(["constructor"]));const n=nn(t),s=!!on(t,t6).has("payable"),i=Qu(t);return Cr(t),new en(se,"constructor",n,s,i)}return new en(se,"constructor",t.inputs?t.inputs.map(Ee.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[He]===mf}}class Ht extends kr{constructor(t,n,s){super(t,"fallback",n);y(this,"payable");Object.defineProperty(this,He,{value:wf}),D(this,{payable:s})}format(t){const n=this.inputs.length===0?"receive":"fallback";if(t==="json"){const s=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:s})}return`${n}()${this.payable?" payable":""}`}static from(t){if(Ht.isFragment(t))return t;if(typeof t=="string")try{return Ht.from(Hn(t))}catch{b(!1,"invalid fallback fragment","obj",t)}else if(t instanceof mt){const n=t.toString(),s=t.peekKeyword(Ue(["fallback","receive"]));if(b(s,"type must be fallback or receive","obj",n),t.popKeyword(Ue(["fallback","receive"]))==="receive"){const c=nn(t);return b(c.length===0,"receive cannot have arguments","obj.inputs",c),on(t,Ue(["payable"])),Cr(t),new Ht(se,[],!0)}let a=nn(t);a.length?b(a.length===1&&a[0].type==="bytes","invalid fallback inputs","obj.inputs",a.map(c=>c.format("minimal")).join(", ")):a=[Ee.from("bytes")];const o=Vu(t);if(b(o==="nonpayable"||o==="payable","fallback cannot be constants","obj.stateMutability",o),on(t,Ue(["returns"])).has("returns")){const c=nn(t);b(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(f=>f.format("minimal")).join(", "))}return Cr(t),new Ht(se,a,o==="payable")}if(t.type==="receive")return new Ht(se,[],!0);if(t.type==="fallback"){const n=[Ee.from("bytes")],s=t.stateMutability==="payable";return new Ht(se,n,s)}b(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[He]===wf}}class St extends P0{constructor(t,n,s,i,a,o){super(t,"function",n,i);y(this,"constant");y(this,"outputs");y(this,"stateMutability");y(this,"payable");y(this,"gas");Object.defineProperty(this,He,{value:Af}),a=Object.freeze(a.slice()),D(this,{constant:s==="view"||s==="pure",gas:o,outputs:a,payable:s==="payable",stateMutability:s})}get selector(){return an(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});const n=[];return t!=="sighash"&&n.push("function"),n.push(this.name+vi(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(vi(t,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(t,n){return n=(n||[]).map(i=>Ee.from(i)),new St(se,t,"view",n,[],null).selector}static from(t){if(St.isFragment(t))return t;if(typeof t=="string")try{return St.from(Hn(t))}catch{b(!1,"invalid function fragment","obj",t)}else if(t instanceof mt){const s=N0("function",t),i=nn(t),a=Vu(t);let o=[];on(t,Ue(["returns"])).has("returns")&&(o=nn(t));const c=Qu(t);return Cr(t),new St(se,s,a,i,o,c)}let n=t.stateMutability;return n==null&&(n="payable",typeof t.constant=="boolean"?(n="view",t.constant||(n="payable",typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable")),new St(se,t.name,n,t.inputs?t.inputs.map(Ee.from):[],t.outputs?t.outputs.map(Ee.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[He]===Af}}class Pr extends P0{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,He,{value:Ef})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return Pr.from(Hn(e))}catch{b(!1,"invalid struct fragment","obj",e)}else if(e instanceof mt){const t=N0("struct",e),n=nn(e);return Cr(e),new Pr(se,t,n)}return new Pr(se,e.name,e.inputs?e.inputs.map(Ee.from):[])}static isFragment(e){return e&&e[He]===Ef}}const wt=new Map;wt.set(0,"GENERIC_PANIC");wt.set(1,"ASSERT_FALSE");wt.set(17,"OVERFLOW");wt.set(18,"DIVIDE_BY_ZERO");wt.set(33,"ENUM_RANGE_ERROR");wt.set(34,"BAD_STORAGE_DATA");wt.set(49,"STACK_UNDERFLOW");wt.set(50,"ARRAY_RANGE_ERROR");wt.set(65,"OUT_OF_MEMORY");wt.set(81,"UNINITIALIZED_FUNCTION_CALL");const d6=new RegExp(/^bytes([0-9]*)$/),h6=new RegExp(/^(u?int)([0-9]*)$/);let Q0=null,Nf=1024;function x6(r,e,t,n){let s="missing revert data",i=null;const a=null;let o=null;if(t){s="execution reverted";const f=v(t);if(t=P(t),f.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(f.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(P(f.slice(0,4))==="0x08c379a0")try{i=n.decode(["string"],f.slice(4))[0],o={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(P(f.slice(0,4))==="0x4e487b71")try{const u=Number(n.decode(["uint256"],f.slice(4))[0]);o={signature:"Panic(uint256)",name:"Panic",args:[u]},i=`Panic due to ${wt.get(u)||"UNKNOWN"}(${u})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}const c={to:e.to?J(e.to):null,data:e.data||"0x"};return e.from&&(c.from=J(e.from)),ue(s,"CALL_EXCEPTION",{action:r,data:t,reason:i,transaction:c,invocation:a,revert:o})}var Nn,_r;const c0=class c0{constructor(){w(this,Nn)}getDefaultValue(e){const t=e.map(s=>I(this,Nn,_r).call(this,Ee.from(s)));return new Ea(t,"_").defaultValue()}encode(e,t){Wf(t.length,e.length,"types/values length mismatch");const n=e.map(a=>I(this,Nn,_r).call(this,Ee.from(a))),s=new Ea(n,"_"),i=new ro;return s.encode(i,t),i.data}decode(e,t,n){const s=e.map(a=>I(this,Nn,_r).call(this,Ee.from(a)));return new Ea(s,"_").decode(new so(t,n,Nf))}static _setDefaultMaxInflation(e){b(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),Nf=e}static defaultAbiCoder(){return Q0==null&&(Q0=new c0),Q0}static getBuiltinCallException(e,t,n){return x6(e,t,n,c0.defaultAbiCoder())}};Nn=new WeakSet,_r=function(e){if(e.isArray())return new Fh(I(this,Nn,_r).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new Ea(e.components.map(n=>I(this,Nn,_r).call(this,n)),e.name);switch(e.baseType){case"address":return new Lh(e.name);case"bool":return new Mh(e.name);case"string":return new jh(e.name);case"bytes":return new Gh(e.name);case"":return new Qh(e.name)}let t=e.type.match(h6);if(t){let n=parseInt(t[2]||"256");return b(n!==0&&n<=256&&n%8===0,"invalid "+t[1]+" bit length","param",e),new Jh(n/8,t[1]==="int",e.name)}if(t=e.type.match(d6),t){let n=parseInt(t[1]);return b(n!==0&&n<=32,"invalid bytes length","param",e),new Hh(n,e.name)}b(!1,"invalid type","type",e.type)};let Si=c0;class b6{constructor(e,t,n){y(this,"fragment");y(this,"name");y(this,"signature");y(this,"topic");y(this,"args");const s=e.name,i=e.format();D(this,{fragment:e,name:s,signature:i,topic:t,args:n})}}class p6{constructor(e,t,n,s){y(this,"fragment");y(this,"name");y(this,"args");y(this,"signature");y(this,"selector");y(this,"value");const i=e.name,a=e.format();D(this,{fragment:e,name:i,args:n,signature:a,selector:t,value:s})}}class g6{constructor(e,t,n){y(this,"fragment");y(this,"name");y(this,"args");y(this,"signature");y(this,"selector");const s=e.name,i=e.format();D(this,{fragment:e,name:s,args:n,signature:i,selector:t})}}class Pf{constructor(e){y(this,"hash");y(this,"_isIndexed");D(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}}const Tf={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},If={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:r=>`reverted with reason string ${JSON.stringify(r)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:r=>{let e="unknown panic code";return r>=0&&r<=255&&Tf[r.toString()]&&(e=Tf[r.toString()]),`reverted with panic code 0x${r.toString(16)} (${e})`}}};var It,Ct,kt,Pe,Is,La,Cs,Da;const jn=class jn{constructor(e){w(this,Is);w(this,Cs);y(this,"fragments");y(this,"deploy");y(this,"fallback");y(this,"receive");w(this,It,void 0);w(this,Ct,void 0);w(this,kt,void 0);w(this,Pe,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,h(this,kt,new Map),h(this,It,new Map),h(this,Ct,new Map);const n=[];for(const a of t)try{n.push(kr.from(a))}catch(o){console.log(`[Warning] Invalid Fragment ${JSON.stringify(a)}:`,o.message)}D(this,{fragments:Object.freeze(n)});let s=null,i=!1;h(this,Pe,this.getAbiCoder()),this.fragments.forEach((a,o)=>{let c;switch(a.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}D(this,{deploy:a});return;case"fallback":a.inputs.length===0?i=!0:(b(!s||a.payable!==s.payable,"conflicting fallback fragments",`fragments[${o}]`,a),s=a,i=s.payable);return;case"function":c=l(this,kt);break;case"event":c=l(this,Ct);break;case"error":c=l(this,It);break;default:return}const f=a.format();c.has(f)||c.set(f,a)}),this.deploy||D(this,{deploy:en.from("constructor()")}),D(this,{fallback:s,receive:i})}format(e){const t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){const e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Si.defaultAbiCoder()}getFunctionName(e){const t=I(this,Is,La).call(this,e,null,!1);return b(t,"no matching function","key",e),t.name}hasFunction(e){return!!I(this,Is,La).call(this,e,null,!1)}getFunction(e,t){return I(this,Is,La).call(this,e,t||null,!0)}forEachFunction(e){const t=Array.from(l(this,kt).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){const s=t[n];e(l(this,kt).get(s),n)}}getEventName(e){const t=I(this,Cs,Da).call(this,e,null,!1);return b(t,"no matching event","key",e),t.name}hasEvent(e){return!!I(this,Cs,Da).call(this,e,null,!1)}getEvent(e,t){return I(this,Cs,Da).call(this,e,t||null,!0)}forEachEvent(e){const t=Array.from(l(this,Ct).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){const s=t[n];e(l(this,Ct).get(s),n)}}getError(e,t){if(ee(e)){const s=e.toLowerCase();if(If[s])return Ge.from(If[s].signature);for(const i of l(this,It).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){const s=[];for(const[i,a]of l(this,It))i.split("(")[0]===e&&s.push(a);if(s.length===0)return e==="Error"?Ge.from("error Error(string)"):e==="Panic"?Ge.from("error Panic(uint256)"):null;if(s.length>1){const i=s.map(a=>JSON.stringify(a.format())).join(", ");b(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=Ge.from(e).format(),e==="Error(string)")return Ge.from("error Error(string)");if(e==="Panic(uint256)")return Ge.from("error Panic(uint256)");const n=l(this,It).get(e);return n||null}forEachError(e){const t=Array.from(l(this,It).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){const s=t[n];e(l(this,It).get(s),n)}}_decodeParams(e,t){return l(this,Pe).decode(e,t)}_encodeParams(e,t){return l(this,Pe).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){const n=this.getError(e);b(n,"unknown error","fragment",e),e=n}return b(ne(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,ne(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){const n=this.getError(e);b(n,"unknown error","fragment",e),e=n}return X([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){const n=this.getFunction(e);b(n,"unknown function","fragment",e),e=n}return b(ne(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,ne(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){const n=this.getFunction(e);b(n,"unknown function","fragment",e),e=n}return X([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){const i=this.getFunction(e);b(i,"unknown function","fragment",e),e=i}let n="invalid length for result data";const s=we(t);if(s.length%32===0)try{return l(this,Pe).decode(e.outputs,s)}catch{n="could not decode result data"}N(!1,n,"BAD_DATA",{value:P(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){const n=v(e,"data"),s=Si.getBuiltinCallException("call",t,n);if(s.message.startsWith("execution reverted (unknown custom error)")){const o=P(n.slice(0,4)),c=this.getError(o);if(c)try{const f=l(this,Pe).decode(c.inputs,n.slice(4));s.revert={name:c.name,signature:c.format(),args:f},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}const a=this.parseTransaction(t);return a&&(s.invocation={method:a.name,signature:a.signature,args:a.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){const n=this.getFunction(e);b(n,"unknown function","fragment",e),e=n}return P(l(this,Pe).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){const i=this.getEvent(e);b(i,"unknown event","eventFragment",e),e=i}N(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});const n=[];e.anonymous||n.push(e.topicHash);const s=(i,a)=>i.type==="string"?an(a):i.type==="bytes"?ie(P(a)):(i.type==="bool"&&typeof a=="boolean"?a=a?"0x01":"0x00":i.type.match(/^u?int/)?a=rn(a):i.type.match(/^bytes/)?a=Pd(a,32):i.type==="address"&&l(this,Pe).encode(["address"],[a]),Tr(P(a),32));for(t.forEach((i,a)=>{const o=e.inputs[a];if(!o.indexed){b(i==null,"cannot filter non-indexed parameters; must be null","contract."+o.name,i);return}i==null?n.push(null):o.baseType==="array"||o.baseType==="tuple"?b(!1,"filtering with tuples or arrays not supported","contract."+o.name,i):Array.isArray(i)?n.push(i.map(c=>s(o,c))):n.push(s(o,i))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,t){if(typeof e=="string"){const a=this.getEvent(e);b(a,"unknown event","eventFragment",e),e=a}const n=[],s=[],i=[];return e.anonymous||n.push(e.topicHash),b(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((a,o)=>{const c=t[o];if(a.indexed)if(a.type==="string")n.push(an(c));else if(a.type==="bytes")n.push(ie(c));else{if(a.baseType==="tuple"||a.baseType==="array")throw new Error("not implemented");n.push(l(this,Pe).encode([a.type],[c]))}else s.push(a),i.push(c)}),{data:l(this,Pe).encode(s,i),topics:n}}decodeEventLog(e,t,n){if(typeof e=="string"){const p=this.getEvent(e);b(p,"unknown event","eventFragment",e),e=p}if(n!=null&&!e.anonymous){const p=e.topicHash;b(ee(n[0],32)&&n[0].toLowerCase()===p,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}const s=[],i=[],a=[];e.inputs.forEach((p,m)=>{p.indexed?p.type==="string"||p.type==="bytes"||p.baseType==="tuple"||p.baseType==="array"?(s.push(Ee.from({type:"bytes32",name:p.name})),a.push(!0)):(s.push(p),a.push(!1)):(i.push(p),a.push(!1))});const o=n!=null?l(this,Pe).decode(s,X(n)):null,c=l(this,Pe).decode(i,t,!0),f=[],u=[];let d=0,x=0;return e.inputs.forEach((p,m)=>{let g=null;if(p.indexed)if(o==null)g=new Pf(null);else if(a[m])g=new Pf(o[x++]);else try{g=o[x++]}catch(A){g=A}else try{g=c[d++]}catch(A){g=A}f.push(g),u.push(p.name||null)}),za.fromItems(f,u)}parseTransaction(e){const t=v(e.data,"tx.data"),n=L(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(P(t.slice(0,4)));if(!s)return null;const i=l(this,Pe).decode(s.inputs,t.slice(4));return new p6(s,s.selector,i,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){const t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new b6(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){const t=P(e),n=this.getError(ne(t,0,4));if(!n)return null;const s=l(this,Pe).decode(n.inputs,ne(t,4));return new g6(n,n.selector,s)}static from(e){return e instanceof jn?e:typeof e=="string"?new jn(JSON.parse(e)):typeof e.formatJson=="function"?new jn(e.formatJson()):typeof e.format=="function"?new jn(e.format("json")):new jn(e)}};It=new WeakMap,Ct=new WeakMap,kt=new WeakMap,Pe=new WeakMap,Is=new WeakSet,La=function(e,t,n){if(ee(e)){const i=e.toLowerCase();for(const a of l(this,kt).values())if(i===a.selector)return a;return null}if(e.indexOf("(")===-1){const i=[];for(const[a,o]of l(this,kt))a.split("(")[0]===e&&i.push(o);if(t){const a=t.length>0?t[t.length-1]:null;let o=t.length,c=!0;Re.isTyped(a)&&a.type==="overrides"&&(c=!1,o--);for(let f=i.length-1;f>=0;f--){const u=i[f].inputs.length;u!==o&&(!c||u!==o-1)&&i.splice(f,1)}for(let f=i.length-1;f>=0;f--){const u=i[f].inputs;for(let d=0;d<t.length;d++)if(Re.isTyped(t[d])){if(d>=u.length){if(t[d].type==="overrides")continue;i.splice(f,1);break}if(t[d].type!==u[d].baseType){i.splice(f,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){const a=t[t.length-1];(a==null||Array.isArray(a)||typeof a!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&n){const a=i.map(o=>JSON.stringify(o.format())).join(", ");b(!1,`ambiguous function description (i.e. matches ${a})`,"key",e)}return i[0]}const s=l(this,kt).get(St.from(e).format());return s||null},Cs=new WeakSet,Da=function(e,t,n){if(ee(e)){const i=e.toLowerCase();for(const a of l(this,Ct).values())if(i===a.topicHash)return a;return null}if(e.indexOf("(")===-1){const i=[];for(const[a,o]of l(this,Ct))a.split("(")[0]===e&&i.push(o);if(t){for(let a=i.length-1;a>=0;a--)i[a].inputs.length<t.length&&i.splice(a,1);for(let a=i.length-1;a>=0;a--){const o=i[a].inputs;for(let c=0;c<t.length;c++)if(Re.isTyped(t[c])&&t[c].type!==o[c].baseType){i.splice(a,1);break}}}if(i.length===0)return null;if(i.length>1&&n){const a=i.map(o=>JSON.stringify(o.format())).join(", ");b(!1,`ambiguous event description (i.e. matches ${a})`,"key",e)}return i[0]}const s=l(this,Ct).get(vt.from(e).format());return s||null};let Ui=jn;const Ku=BigInt(0);function es(r){return r??null}function ce(r){return r==null?null:r.toString()}class Cf{constructor(e,t,n){y(this,"gasPrice");y(this,"maxFeePerGas");y(this,"maxPriorityFeePerGas");D(this,{gasPrice:es(e),maxFeePerGas:es(t),maxPriorityFeePerGas:es(n)})}toJSON(){const{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:ce(e),maxFeePerGas:ce(t),maxPriorityFeePerGas:ce(n)}}}function Xa(r){const e={};r.to&&(e.to=r.to),r.from&&(e.from=r.from),r.data&&(e.data=P(r.data));const t="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const s of t)!(s in r)||r[s]==null||(e[s]=L(r[s],`request.${s}`));const n="type,nonce".split(/,/);for(const s of n)!(s in r)||r[s]==null||(e[s]=K(r[s],`request.${s}`));return r.accessList&&(e.accessList=vr(r.accessList)),"blockTag"in r&&(e.blockTag=r.blockTag),"enableCcipRead"in r&&(e.enableCcipRead=!!r.enableCcipRead),"customData"in r&&(e.customData=r.customData),"blobVersionedHashes"in r&&r.blobVersionedHashes&&(e.blobVersionedHashes=r.blobVersionedHashes.slice()),"kzg"in r&&(e.kzg=r.kzg),"blobs"in r&&r.blobs&&(e.blobs=r.blobs.map(s=>d0(s)?P(s):Object.assign({},s))),e}var jt;class y6{constructor(e,t){y(this,"provider");y(this,"number");y(this,"hash");y(this,"timestamp");y(this,"parentHash");y(this,"parentBeaconBlockRoot");y(this,"nonce");y(this,"difficulty");y(this,"gasLimit");y(this,"gasUsed");y(this,"stateRoot");y(this,"receiptsRoot");y(this,"blobGasUsed");y(this,"excessBlobGas");y(this,"miner");y(this,"prevRandao");y(this,"extraData");y(this,"baseFeePerGas");w(this,jt,void 0);h(this,jt,e.transactions.map(n=>typeof n!="string"?new Li(n,t):n)),D(this,{provider:t,hash:es(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:es(e.prevRandao),extraData:e.extraData,baseFeePerGas:es(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return l(this,jt).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){const e=l(this,jt).slice();return e.length===0?[]:(N(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){const{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:s,gasUsed:i,hash:a,miner:o,prevRandao:c,nonce:f,number:u,parentHash:d,parentBeaconBlockRoot:x,stateRoot:p,receiptsRoot:m,timestamp:g,transactions:A}=this;return{_type:"Block",baseFeePerGas:ce(e),difficulty:ce(t),extraData:n,gasLimit:ce(s),gasUsed:ce(i),blobGasUsed:ce(this.blobGasUsed),excessBlobGas:ce(this.excessBlobGas),hash:a,miner:o,prevRandao:c,nonce:f,number:u,parentHash:d,timestamp:g,parentBeaconBlockRoot:x,stateRoot:p,receiptsRoot:m,transactions:A}}[Symbol.iterator](){let e=0;const t=this.transactions;return{next:()=>e<this.length?{value:t[e++],done:!1}:{value:void 0,done:!0}}}get length(){return l(this,jt).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let t;if(typeof e=="number")t=l(this,jt)[e];else{const n=e.toLowerCase();for(const s of l(this,jt))if(typeof s=="string"){if(s!==n)continue;t=s;break}else{if(s.hash===n)continue;t=s;break}}if(t==null)throw new Error("no such tx");return typeof t=="string"?await this.provider.getTransaction(t):t}getPrefetchedTransaction(e){const t=this.prefetchedTransactions;if(typeof e=="number")return t[e];e=e.toLowerCase();for(const n of t)if(n.hash===e)return n;b(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return m6(this)}}jt=new WeakMap;class fa{constructor(e,t){y(this,"provider");y(this,"transactionHash");y(this,"blockHash");y(this,"blockNumber");y(this,"removed");y(this,"address");y(this,"data");y(this,"topics");y(this,"index");y(this,"transactionIndex");this.provider=t;const n=Object.freeze(e.topics.slice());D(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:n,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){const{address:e,blockHash:t,blockNumber:n,data:s,index:i,removed:a,topics:o,transactionHash:c,transactionIndex:f}=this;return{_type:"log",address:e,blockHash:t,blockNumber:n,data:s,index:i,removed:a,topics:o,transactionHash:c,transactionIndex:f}}async getBlock(){const e=await this.provider.getBlock(this.blockHash);return N(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){const e=await this.provider.getTransaction(this.transactionHash);return N(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){const e=await this.provider.getTransactionReceipt(this.transactionHash);return N(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return w6(this)}}var _i;class _u{constructor(e,t){y(this,"provider");y(this,"to");y(this,"from");y(this,"contractAddress");y(this,"hash");y(this,"index");y(this,"blockHash");y(this,"blockNumber");y(this,"logsBloom");y(this,"gasUsed");y(this,"blobGasUsed");y(this,"cumulativeGasUsed");y(this,"gasPrice");y(this,"blobGasPrice");y(this,"type");y(this,"status");y(this,"root");w(this,_i,void 0);h(this,_i,Object.freeze(e.logs.map(s=>new fa(s,t))));let n=Ku;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),D(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return l(this,_i)}toJSON(){const{to:e,from:t,contractAddress:n,hash:s,index:i,blockHash:a,blockNumber:o,logsBloom:c,logs:f,status:u,root:d}=this;return{_type:"TransactionReceipt",blockHash:a,blockNumber:o,contractAddress:n,cumulativeGasUsed:ce(this.cumulativeGasUsed),from:t,gasPrice:ce(this.gasPrice),blobGasUsed:ce(this.blobGasUsed),blobGasPrice:ce(this.blobGasPrice),gasUsed:ce(this.gasUsed),hash:s,index:i,logs:f,logsBloom:c,root:d,status:u,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){const e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return Ju(this)}reorderedEvent(e){return N(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),zu(this,e)}}_i=new WeakMap;var Pn;const yc=class yc{constructor(e,t){y(this,"provider");y(this,"blockNumber");y(this,"blockHash");y(this,"index");y(this,"hash");y(this,"type");y(this,"to");y(this,"from");y(this,"nonce");y(this,"gasLimit");y(this,"gasPrice");y(this,"maxPriorityFeePerGas");y(this,"maxFeePerGas");y(this,"maxFeePerBlobGas");y(this,"data");y(this,"value");y(this,"chainId");y(this,"signature");y(this,"accessList");y(this,"blobVersionedHashes");w(this,Pn,void 0);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.maxFeePerBlobGas=e.maxFeePerBlobGas!=null?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,this.blobVersionedHashes=e.blobVersionedHashes!=null?e.blobVersionedHashes:null,h(this,Pn,-1)}toJSON(){const{blockNumber:e,blockHash:t,index:n,hash:s,type:i,to:a,from:o,nonce:c,data:f,signature:u,accessList:d,blobVersionedHashes:x}=this;return{_type:"TransactionResponse",accessList:d,blockNumber:e,blockHash:t,blobVersionedHashes:x,chainId:ce(this.chainId),data:f,from:o,gasLimit:ce(this.gasLimit),gasPrice:ce(this.gasPrice),hash:s,maxFeePerGas:ce(this.maxFeePerGas),maxPriorityFeePerGas:ce(this.maxPriorityFeePerGas),maxFeePerBlobGas:ce(this.maxFeePerBlobGas),nonce:c,signature:u,to:a,index:n,type:i,value:ce(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){const n=await this.getTransaction();n&&(e=n.blockNumber)}if(e==null)return null;const t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){const{tx:t,blockNumber:n}=await Ce({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return t==null||t.blockNumber==null?0:n-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,t){const n=e??1,s=t??0;let i=l(this,Pn),a=-1,o=i===-1;const c=async()=>{if(o)return null;const{blockNumber:x,nonce:p}=await Ce({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(p<this.nonce){i=x;return}if(o)return null;const m=await this.getTransaction();if(!(m&&m.blockNumber!=null))for(a===-1&&(a=i-3,a<l(this,Pn)&&(a=l(this,Pn)));a<=x;){if(o)return null;const g=await this.provider.getBlock(a,!0);if(g==null)return;for(const A of g)if(A===this.hash)return;for(let A=0;A<g.length;A++){const E=await g.getTransaction(A);if(E.from===this.from&&E.nonce===this.nonce){if(o)return null;const C=await this.provider.getTransactionReceipt(E.hash);if(C==null||x-C.blockNumber+1<n)return;let T="replaced";E.data===this.data&&E.to===this.to&&E.value===this.value?T="repriced":E.data==="0x"&&E.from===E.to&&E.value===Ku&&(T="cancelled"),N(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:T==="replaced"||T==="cancelled",reason:T,replacement:E.replaceableTransaction(i),hash:E.hash,receipt:C})}}a++}},f=x=>{if(x==null||x.status!==0)return x;N(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:x.to,from:x.from,data:""},receipt:x})},u=await this.provider.getTransactionReceipt(this.hash);if(n===0)return f(u);if(u){if(await u.confirmations()>=n)return f(u)}else if(await c(),n===0)return null;return await new Promise((x,p)=>{const m=[],g=()=>{m.forEach(E=>E())};if(m.push(()=>{o=!0}),s>0){const E=setTimeout(()=>{g(),p(ue("wait for transaction timeout","TIMEOUT"))},s);m.push(()=>{clearTimeout(E)})}const A=async E=>{if(await E.confirmations()>=n){g();try{x(f(E))}catch(C){p(C)}}};if(m.push(()=>{this.provider.off(this.hash,A)}),this.provider.on(this.hash,A),i>=0){const E=async()=>{try{await c()}catch(C){if(ke(C,"TRANSACTION_REPLACED")){g(),p(C);return}}o||this.provider.once("block",E)};m.push(()=>{this.provider.off("block",E)}),this.provider.once("block",E)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return N(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Ju(this)}reorderedEvent(e){return N(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),N(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),zu(this,e)}replaceableTransaction(e){b(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);const t=new yc(this,this.provider);return h(t,Pn,e),t}};Pn=new WeakMap;let Li=yc;function m6(r){return{orphan:"drop-block",hash:r.hash,number:r.number}}function zu(r,e){return{orphan:"reorder-transaction",tx:r,other:e}}function Ju(r){return{orphan:"drop-transaction",tx:r}}function w6(r){return{orphan:"drop-log",log:{transactionHash:r.transactionHash,blockHash:r.blockHash,blockNumber:r.blockNumber,address:r.address,data:r.data,topics:Object.freeze(r.topics.slice()),index:r.index}}}class oc extends fa{constructor(t,n,s){super(t,t.provider);y(this,"interface");y(this,"fragment");y(this,"args");const i=n.decodeEventLog(s,t.data,t.topics);D(this,{args:i,fragment:s,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class ju extends fa{constructor(t,n){super(t,t.provider);y(this,"error");D(this,{error:n})}}var ks;class A6 extends _u{constructor(t,n,s){super(s,n);w(this,ks,void 0);h(this,ks,t)}get logs(){return super.logs.map(t=>{const n=t.topics.length?l(this,ks).getEvent(t.topics[0]):null;if(n)try{return new oc(t,l(this,ks),n)}catch(s){return new ju(t,s)}return t})}}ks=new WeakMap;var zi;class cc extends Li{constructor(t,n,s){super(s,n);w(this,zi,void 0);h(this,zi,t)}async wait(t,n){const s=await super.wait(t,n);return s==null?null:new A6(l(this,zi),this.provider,s)}}zi=new WeakMap;class Wu extends el{constructor(t,n,s,i){super(t,n,s);y(this,"log");D(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class E6 extends Wu{constructor(e,t,n,s,i){super(e,t,n,new oc(i,e.interface,s));const a=e.interface.decodeEventLog(s,this.log.data,this.log.topics);D(this,{args:a,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const kf=BigInt(0);function Zu(r){return r&&typeof r.call=="function"}function Yu(r){return r&&typeof r.estimateGas=="function"}function T0(r){return r&&typeof r.resolveName=="function"}function Xu(r){return r&&typeof r.sendTransaction=="function"}function $u(r){if(r!=null){if(T0(r))return r;if(r.provider)return r.provider}}var Ji;class N6{constructor(e,t,n){w(this,Ji,void 0);y(this,"fragment");if(D(this,{fragment:t}),t.inputs.length<n.length)throw new Error("too many arguments");const s=Or(e.runner,"resolveName"),i=T0(s)?s:null;h(this,Ji,async function(){const a=await Promise.all(t.inputs.map((o,c)=>n[c]==null?null:o.walkAsync(n[c],(u,d)=>u==="address"?Array.isArray(d)?Promise.all(d.map(x=>Ae(x,i))):Ae(d,i):d)));return e.interface.encodeFilterTopics(t,a)}())}getTopicFilter(){return l(this,Ji)}}Ji=new WeakMap;function Or(r,e){return r==null?null:typeof r[e]=="function"?r:r.provider&&typeof r.provider[e]=="function"?r.provider:null}function Xn(r){return r==null?null:r.provider||null}async function fc(r,e){const t=Re.dereference(r,"overrides");b(typeof t=="object","invalid overrides parameter","overrides",r);const n=Xa(t);return b(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),b(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function qu(r,e,t){const n=Or(r,"resolveName"),s=T0(n)?n:null;return await Promise.all(e.map((i,a)=>i.walkAsync(t[a],(o,c)=>(c=Re.dereference(c,o),o==="address"?Ae(c,s):c))))}function P6(r){const e=async function(a){const o=await fc(a,["data"]);o.to=await r.getAddress(),o.from&&(o.from=await Ae(o.from,$u(r.runner)));const c=r.interface,f=L(o.value||kf,"overrides.value")===kf,u=(o.data||"0x")==="0x";c.fallback&&!c.fallback.payable&&c.receive&&!u&&!f&&b(!1,"cannot send data to receive or send value to non-payable fallback","overrides",a),b(c.fallback||u,"cannot send data to receive-only contract","overrides.data",o.data);const d=c.receive||c.fallback&&c.fallback.payable;return b(d||f,"cannot send value to non-payable fallback","overrides.value",o.value),b(c.fallback||u,"cannot send data to receive-only contract","overrides.data",o.data),o},t=async function(a){const o=Or(r.runner,"call");N(Zu(o),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const c=await e(a);try{return await o.call(c)}catch(f){throw Vo(f)&&f.data?r.interface.makeError(f.data,c):f}},n=async function(a){const o=r.runner;N(Xu(o),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const c=await o.sendTransaction(await e(a)),f=Xn(r.runner);return new cc(r.interface,f,c)},s=async function(a){const o=Or(r.runner,"estimateGas");return N(Yu(o),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await o.estimateGas(await e(a))},i=async a=>await n(a);return D(i,{_contract:r,estimateGas:s,populateTransaction:e,send:n,staticCall:t}),i}function T6(r,e){const t=function(...f){const u=r.interface.getFunction(e,f);return N(u,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:f}}),u},n=async function(...f){const u=t(...f);let d={};if(u.inputs.length+1===f.length&&(d=await fc(f.pop()),d.from&&(d.from=await Ae(d.from,$u(r.runner)))),u.inputs.length!==f.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const x=await qu(r.runner,u.inputs,f);return Object.assign({},d,await Ce({to:r.getAddress(),data:r.interface.encodeFunctionData(u,x)}))},s=async function(...f){const u=await o(...f);return u.length===1?u[0]:u},i=async function(...f){const u=r.runner;N(Xu(u),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const d=await u.sendTransaction(await n(...f)),x=Xn(r.runner);return new cc(r.interface,x,d)},a=async function(...f){const u=Or(r.runner,"estimateGas");return N(Yu(u),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await u.estimateGas(await n(...f))},o=async function(...f){const u=Or(r.runner,"call");N(Zu(u),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const d=await n(...f);let x="0x";try{x=await u.call(d)}catch(m){throw Vo(m)&&m.data?r.interface.makeError(m.data,d):m}const p=t(...f);return r.interface.decodeFunctionResult(p,x)},c=async(...f)=>t(...f).constant?await s(...f):await i(...f);return D(c,{name:r.interface.getFunctionName(e),_contract:r,_key:e,getFragment:t,estimateGas:a,populateTransaction:n,send:i,staticCall:s,staticCallResult:o}),Object.defineProperty(c,"fragment",{configurable:!1,enumerable:!0,get:()=>{const f=r.interface.getFunction(e);return N(f,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),f}}),c}function I6(r,e){const t=function(...s){const i=r.interface.getEvent(e,s);return N(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:s}}),i},n=function(...s){return new N6(r,t(...s),s)};return D(n,{name:r.interface.getEventName(e),_contract:r,_key:e,getFragment:t}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{const s=r.interface.getEvent(e);return N(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),s}}),n}const $a=Symbol.for("_ethersInternal_contract"),ed=new WeakMap;function C6(r,e){ed.set(r[$a],e)}function Qe(r){return ed.get(r[$a])}function k6(r){return r&&typeof r=="object"&&"getTopicFilter"in r&&typeof r.getTopicFilter=="function"&&r.fragment}async function lc(r,e){let t,n=null;if(Array.isArray(e)){const i=function(a){if(ee(a,32))return a;const o=r.interface.getEvent(a);return b(o,"unknown fragment","name",a),o.topicHash};t=e.map(a=>a==null?null:Array.isArray(a)?a.map(i):i(a))}else e==="*"?t=[null]:typeof e=="string"?ee(e,32)?t=[e]:(n=r.interface.getEvent(e),b(n,"unknown fragment","event",e),t=[n.topicHash]):k6(e)?t=await e.getTopicFilter():"fragment"in e?(n=e.fragment,t=[n.topicHash]):b(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){const a=Array.from(new Set(i.map(o=>o.toLowerCase())).values());return a.length===1?a[0]:(a.sort(),a)}return i.toLowerCase()});const s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:n,tag:s,topics:t}}async function pi(r,e){const{subs:t}=Qe(r);return t.get((await lc(r,e)).tag)||null}async function Of(r,e,t){const n=Xn(r.runner);N(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:a}=await lc(r,t),{addr:o,subs:c}=Qe(r);let f=c.get(i);if(!f){const d={address:o||r,topics:a},x=A=>{let E=s;if(E==null)try{E=r.interface.getEvent(A.topics[0])}catch{}if(E){const C=E,T=s?r.interface.decodeEventLog(s,A.data,A.topics):[];wo(r,t,T,M=>new E6(r,M,t,C,A))}else wo(r,t,[],C=>new Wu(r,C,t,A))};let p=[];f={tag:i,listeners:[],start:()=>{p.length||p.push(n.on(d,x))},stop:async()=>{if(p.length==0)return;let A=p;p=[],await Promise.all(A),n.off(d,x)}},c.set(i,f)}return f}let mo=Promise.resolve();async function O6(r,e,t,n){await mo;const s=await pi(r,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:a,once:o})=>{const c=Array.from(t);n&&c.push(n(o?null:a));try{a.call(r,...c)}catch{}return!o}),s.listeners.length===0&&(s.stop(),Qe(r).subs.delete(s.tag)),i>0}async function wo(r,e,t,n){try{await mo}catch{}const s=O6(r,e,t,n);return mo=s,await s}const Pa=["then"];var Xb;const Pi=class Pi{constructor(e,t,n,s){y(this,"target");y(this,"interface");y(this,"runner");y(this,"filters");y(this,Xb);y(this,"fallback");b(typeof e=="string"||au(e),"invalid value for Contract target","target",e),n==null&&(n=null);const i=Ui.from(t);D(this,{target:e,runner:n,interface:i}),Object.defineProperty(this,$a,{value:{}});let a,o=null,c=null;if(s){const d=Xn(n);c=new cc(this.interface,d,s)}let f=new Map;if(typeof e=="string")if(ee(e))o=e,a=Promise.resolve(e);else{const d=Or(n,"resolveName");if(!T0(d))throw ue("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});a=d.resolveName(e).then(x=>{if(x==null)throw ue("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Qe(this).addr=x,x})}else a=e.getAddress().then(d=>{if(d==null)throw new Error("TODO");return Qe(this).addr=d,d});C6(this,{addrPromise:a,addr:o,deployTx:c,subs:f});const u=new Proxy({},{get:(d,x,p)=>{if(typeof x=="symbol"||Pa.indexOf(x)>=0)return Reflect.get(d,x,p);try{return this.getEvent(x)}catch(m){if(!ke(m,"INVALID_ARGUMENT")||m.argument!=="key")throw m}},has:(d,x)=>Pa.indexOf(x)>=0?Reflect.has(d,x):Reflect.has(d,x)||this.interface.hasEvent(String(x))});return D(this,{filters:u}),D(this,{fallback:i.receive||i.fallback?P6(this):null}),new Proxy(this,{get:(d,x,p)=>{if(typeof x=="symbol"||x in d||Pa.indexOf(x)>=0)return Reflect.get(d,x,p);try{return d.getFunction(x)}catch(m){if(!ke(m,"INVALID_ARGUMENT")||m.argument!=="key")throw m}},has:(d,x)=>typeof x=="symbol"||x in d||Pa.indexOf(x)>=0?Reflect.has(d,x):d.interface.hasFunction(x)})}connect(e){return new Pi(this.target,this.interface,e)}attach(e){return new Pi(e,this.interface,this.runner)}async getAddress(){return await Qe(this).addrPromise}async getDeployedCode(){const e=Xn(this.runner);N(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){const e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;const n=Xn(this.runner);return N(n!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{const a=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);n.once("block",a)}catch(o){i(o)}};a()})}deploymentTransaction(){return Qe(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),T6(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),I6(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,n){t==null&&(t=0),n==null&&(n="latest");const{addr:s,addrPromise:i}=Qe(this),a=s||await i,{fragment:o,topics:c}=await lc(this,e),f={address:a,topics:c,fromBlock:t,toBlock:n},u=Xn(this.runner);return N(u,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await u.getLogs(f)).map(d=>{let x=o;if(x==null)try{x=this.interface.getEvent(d.topics[0])}catch{}if(x)try{return new oc(d,this.interface,x)}catch(p){return new ju(d,p)}return new fa(d,u)})}async on(e,t){const n=await Of(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){const n=await Of(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await wo(this,e,t,null)}async listenerCount(e){if(e){const s=await pi(this,e);return s?s.listeners.length:0}const{subs:t}=Qe(this);let n=0;for(const{listeners:s}of t.values())n+=s.length;return n}async listeners(e){if(e){const s=await pi(this,e);return s?s.listeners.map(({listener:i})=>i):[]}const{subs:t}=Qe(this);let n=[];for(const{listeners:s}of t.values())n=n.concat(s.map(({listener:i})=>i));return n}async off(e,t){const n=await pi(this,e);if(!n)return this;if(t){const s=n.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&n.listeners.splice(s,1)}return(t==null||n.listeners.length===0)&&(n.stop(),Qe(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){const t=await pi(this,e);if(!t)return this;t.stop(),Qe(this).subs.delete(t.tag)}else{const{subs:t}=Qe(this);for(const{tag:n,stop:s}of t.values())s(),t.delete(n)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Pi{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,n){return n==null&&(n=null),new this(e,t,n)}};Xb=$a;let Di=Pi;function R6(){return Di}class ts extends R6(){}class uc{constructor(e,t,n){y(this,"interface");y(this,"bytecode");y(this,"runner");const s=Ui.from(e);t instanceof Uint8Array||(typeof t=="object"&&(t=t.object),t.startsWith("0x")||(t="0x"+t)),t=P(v(t)),D(this,{bytecode:t,interface:s,runner:n||null})}attach(e){return new Di(e,this.interface,this.runner)}async getDeployTransaction(...e){let t={};const n=this.interface.deploy;if(n.inputs.length+1===e.length&&(t=await fc(e.pop())),n.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");const s=await qu(this.runner,n.inputs,e),i=X([this.bytecode,this.interface.encodeDeploy(s)]);return Object.assign({},t,{data:i})}async deploy(...e){const t=await this.getDeployTransaction(...e);N(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const n=await this.runner.sendTransaction(t),s=iu(n);return new Di(s,this.interface,this.runner,n)}connect(e){return new uc(this.interface,this.bytecode,e)}static fromSolidity(e,t){b(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));const n=e.abi;let s="";return e.bytecode?s=e.bytecode:e.evm&&e.evm.bytecode&&(s=e.evm.bytecode),new this(n,s,t)}}function K0(r){return r.match(/^ipfs:\/\/ipfs\//i)?r=r.substring(12):r.match(/^ipfs:\/\//i)?r=r.substring(7):b(!1,"unsupported IPFS format","link",r),`https://gateway.ipfs.io/ipfs/${r}`}class B6{constructor(e){y(this,"name");D(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw new Error("unsupported coin")}async decodeAddress(e,t){throw new Error("unsupported coin")}}const td=new RegExp("^(ipfs)://(.*)$","i"),Rf=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),td,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];var Tn,lr,In,zr,f0,nd;const Zr=class Zr{constructor(e,t,n){w(this,In);y(this,"provider");y(this,"address");y(this,"name");w(this,Tn,void 0);w(this,lr,void 0);D(this,{provider:e,address:t,name:n}),h(this,Tn,null),h(this,lr,new ts(t,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],e))}async supportsWildcard(){return l(this,Tn)==null&&h(this,Tn,(async()=>{try{return await l(this,lr).supportsInterface("0x9061b923")}catch(e){if(ke(e,"CALL_EXCEPTION"))return!1;throw h(this,Tn,null),e}})()),await l(this,Tn)}async getAddress(e){if(e==null&&(e=60),e===60)try{const i=await I(this,In,zr).call(this,"addr(bytes32)");return i==null||i===Ii?null:i}catch(i){if(ke(i,"CALL_EXCEPTION"))return null;throw i}if(e>=0&&e<2147483648){let i=e+2147483648;const a=await I(this,In,zr).call(this,"addr(bytes32,uint)",[i]);if(ee(a,20))return J(a)}let t=null;for(const i of this.provider.plugins)if(i instanceof B6&&i.supportsCoinType(e)){t=i;break}if(t==null)return null;const n=await I(this,In,zr).call(this,"addr(bytes32,uint)",[e]);if(n==null||n==="0x")return null;const s=await t.decodeAddress(e,n);if(s!=null)return s;N(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){const t=await I(this,In,zr).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){const e=await I(this,In,zr).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;const t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const s=t[1]==="e3010170"?"ipfs":"ipns",i=parseInt(t[4],16);if(t[5].length===i*2)return`${s}://${qf("0x"+t[2])}`}const n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;N(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const e=[{type:"name",value:this.name}];try{const t=await this.getText("avatar");if(t==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let n=0;n<Rf.length;n++){const s=t.match(Rf[n]);if(s==null)continue;const i=s[1].toLowerCase();switch(i){case"https":case"data":return e.push({type:"url",value:t}),{linkage:e,url:t};case"ipfs":{const a=K0(t);return e.push({type:"ipfs",value:t}),e.push({type:"url",value:a}),{linkage:e,url:a}}case"erc721":case"erc1155":{const a=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:i,value:t});const o=await this.getAddress();if(o==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};const c=(s[2]||"").split("/");if(c.length!==2)return e.push({type:`!${i}caip`,value:s[2]||""}),{url:null,linkage:e};const f=c[1],u=new ts(c[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if(i==="erc721"){const g=await u.ownerOf(f);if(o!==g)return e.push({type:"!owner",value:g}),{url:null,linkage:e};e.push({type:"owner",value:g})}else if(i==="erc1155"){const g=await u.balanceOf(o,f);if(!g)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:g.toString()})}let d=await u[a](f);if(d==null||d==="0x")return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:d}),i==="erc1155"&&(d=d.replace("{id}",rn(f,32).substring(2)),e.push({type:"metadata-url-expanded",value:d})),d.match(/^ipfs:/i)&&(d=K0(d)),e.push({type:"metadata-url",value:d});let x={};const p=await new sn(d).send();p.assertOk();try{x=p.bodyJson}catch{try{e.push({type:"!metadata",value:p.bodyText})}catch{const E=p.body;return E&&e.push({type:"!metadata",value:P(E)}),{url:null,linkage:e}}return{url:null,linkage:e}}if(!x)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(x)});let m=x.image;if(typeof m!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!m.match(/^(https:\/\/|data:)/i)){if(m.match(td)==null)return e.push({type:"!imageUrl-ipfs",value:m}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:m}),m=K0(m)}return e.push({type:"url",value:m}),{linkage:e,url:m}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){const t=await e.getNetwork(),n=t.getPlugin("org.ethers.plugins.network.Ens");return N(n,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:t}}),n.address}static async fromName(e,t){var s;let n=t;for(;;){if(n===""||n==="."||t!=="eth"&&n==="eth")return null;const i=await I(s=Zr,f0,nd).call(s,e,n);if(i!=null){const a=new Zr(e,i,t);return n!==t&&!await a.supportsWildcard()?null:a}n=n.split(".").slice(1).join(".")}}};Tn=new WeakMap,lr=new WeakMap,In=new WeakSet,zr=async function(e,t){t=(t||[]).slice();const n=l(this,lr).interface;t.unshift(go(this.name));let s=null;await this.supportsWildcard()&&(s=n.getFunction(e),N(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),t=[Bx(this.name,255),n.encodeFunctionData(s,t)],e="resolve(bytes,bytes)"),t.push({enableCcipRead:!0});try{const i=await l(this,lr)[e](...t);return s?n.decodeFunctionResult(s,i)[0]:i}catch(i){if(!ke(i,"CALL_EXCEPTION"))throw i}return null},f0=new WeakSet,nd=async function(e,t){const n=await Zr.getEnsAddress(e);try{const i=await new ts(n,["function resolver(bytes32) view returns (address)"],e).resolver(go(t),{enableCcipRead:!0});return i===Ii?null:i}catch(s){throw s}return null},w(Zr,f0);let qa=Zr;const Bf=BigInt(0);function j(r,e){return function(t){return t==null?e:r(t)}}function I0(r,e){return t=>{if(e&&t==null)return null;if(!Array.isArray(t))throw new Error("not an array");return t.map(n=>r(n))}}function la(r,e){return t=>{const n={};for(const s in r){let i=s;if(e&&s in e&&!(i in t)){for(const a of e[s])if(a in t){i=a;break}}try{const a=r[s](t[i]);a!==void 0&&(n[s]=a)}catch(a){const o=a instanceof Error?a.message:"not-an-error";N(!1,`invalid value for value.${s} (${o})`,"BAD_DATA",{value:t})}}return n}}function v6(r){switch(r){case!0:case"true":return!0;case!1:case"false":return!1}b(!1,`invalid boolean; ${JSON.stringify(r)}`,"value",r)}function ei(r){return b(ee(r,!0),"invalid data","value",r),r}function me(r){return b(ee(r,32),"invalid hash","value",r),r}const S6=la({address:J,blockHash:me,blockNumber:K,data:ei,index:K,removed:j(v6,!1),topics:I0(me),transactionHash:me,transactionIndex:K},{index:["logIndex"]});function U6(r){return S6(r)}const L6=la({hash:j(me),parentHash:me,parentBeaconBlockRoot:j(me,null),number:K,timestamp:K,nonce:j(ei),difficulty:L,gasLimit:L,gasUsed:L,stateRoot:j(me,null),receiptsRoot:j(me,null),blobGasUsed:j(L,null),excessBlobGas:j(L,null),miner:j(J),prevRandao:j(me,null),extraData:ei,baseFeePerGas:j(L)},{prevRandao:["mixHash"]});function D6(r){const e=L6(r);return e.transactions=r.transactions.map(t=>typeof t=="string"?t:rd(t)),e}const F6=la({transactionIndex:K,blockNumber:K,transactionHash:me,address:J,topics:I0(me),data:ei,index:K,blockHash:me},{index:["logIndex"]});function M6(r){return F6(r)}const G6=la({to:j(J,null),from:j(J,null),contractAddress:j(J,null),index:K,root:j(P),gasUsed:L,blobGasUsed:j(L,null),logsBloom:j(ei),blockHash:me,hash:me,logs:I0(M6),blockNumber:K,cumulativeGasUsed:L,effectiveGasPrice:j(L),blobGasPrice:j(L,null),status:j(K),type:j(K,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function H6(r){return G6(r)}function rd(r){r.to&&L(r.to)===Bf&&(r.to="0x0000000000000000000000000000000000000000");const e=la({hash:me,index:j(K,void 0),type:t=>t==="0x"||t==null?0:K(t),accessList:j(vr,null),blobVersionedHashes:j(I0(me,!0),null),blockHash:j(me,null),blockNumber:j(K,null),transactionIndex:j(K,null),from:J,gasPrice:j(L),maxPriorityFeePerGas:j(L),maxFeePerGas:j(L),maxFeePerBlobGas:j(L,null),gasLimit:L,to:j(J,null),value:L,nonce:K,data:ei,creates:j(J,null),chainId:j(L,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(r);if(e.to==null&&e.creates==null&&(e.creates=iu(e)),(r.type===1||r.type===2)&&r.accessList==null&&(e.accessList=[]),r.signature?e.signature=yt.from(r.signature):e.signature=yt.from(r),e.chainId==null){const t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&L(e.blockHash)===Bf&&(e.blockHash=null),e}const V6="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class ua{constructor(e){y(this,"name");D(this,{name:e})}clone(){return new ua(this.name)}}class C0 extends ua{constructor(t,n){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);y(this,"effectiveBlock");y(this,"txBase");y(this,"txCreate");y(this,"txDataZero");y(this,"txDataNonzero");y(this,"txAccessListStorageKey");y(this,"txAccessListAddress");const s={effectiveBlock:t};function i(a,o){let c=(n||{})[a];c==null&&(c=o),b(typeof c=="number",`invalud value for ${a}`,"costs",n),s[a]=c}i("txBase",21e3),i("txCreate",32e3),i("txDataZero",4),i("txDataNonzero",16),i("txAccessListStorageKey",1900),i("txAccessListAddress",2400),D(this,s)}clone(){return new C0(this.effectiveBlock,this)}}class k0 extends ua{constructor(t,n){super("org.ethers.plugins.network.Ens");y(this,"address");y(this,"targetNetwork");D(this,{address:t||V6,targetNetwork:n??1})}clone(){return new k0(this.address,this.targetNetwork)}}var ji,Wi;class Q6 extends ua{constructor(t,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");w(this,ji,void 0);w(this,Wi,void 0);h(this,ji,t),h(this,Wi,n)}get url(){return l(this,ji)}get processFunc(){return l(this,Wi)}clone(){return this}}ji=new WeakMap,Wi=new WeakMap;const _0=new Map;var Os,Rs,Cn;const Yr=class Yr{constructor(e,t){w(this,Os,void 0);w(this,Rs,void 0);w(this,Cn,void 0);h(this,Os,e),h(this,Rs,L(t)),h(this,Cn,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return l(this,Os)}set name(e){h(this,Os,e)}get chainId(){return l(this,Rs)}set chainId(e){h(this,Rs,L(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===L(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===L(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===L(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(l(this,Cn).values())}attachPlugin(e){if(l(this,Cn).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return l(this,Cn).set(e.name,e.clone()),this}getPlugin(e){return l(this,Cn).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){const e=new Yr(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){const t=this.getPlugin("org.ethers.plugins.network.GasCost")||new C0;let n=t.txBase;if(e.to==null&&(n+=t.txCreate),e.data)for(let s=2;s<e.data.length;s+=2)e.data.substring(s,s+2)==="00"?n+=t.txDataZero:n+=t.txDataNonzero;if(e.accessList){const s=vr(e.accessList);for(const i in s)n+=t.txAccessListAddress+t.txAccessListStorageKey*s[i].storageKeys.length}return n}static from(e){if(K6(),e==null)return Yr.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){const t=_0.get(e);if(t)return t();if(typeof e=="bigint")return new Yr("unknown",e);b(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){b(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);const t=new Yr(e.name,e.chainId);return(e.ensAddress||e.ensNetwork!=null)&&t.attachPlugin(new k0(e.ensAddress,e.ensNetwork)),t}b(!1,"invalid network","network",e)}static register(e,t){typeof e=="number"&&(e=BigInt(e));const n=_0.get(e);n&&b(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",e),_0.set(e,t)}};Os=new WeakMap,Rs=new WeakMap,Cn=new WeakMap;let Ut=Yr;function vf(r,e){const t=String(r);if(!t.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${r}`);const n=t.split(".");if(n.length===1&&n.push(""),n.length!==2)throw new Error(`invalid gwei value: ${r}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let s=BigInt(n[1].substring(0,9));n[1].substring(9).match(/^0+$/)||s++,n[1]=s.toString()}return BigInt(n[0]+n[1])}function Sf(r){return new Q6(r,async(e,t,n)=>{n.setHeader("User-Agent","ethers");let s;try{const[i,a]=await Promise.all([n.send(),e()]);s=i;const o=s.bodyJson.standard;return{gasPrice:a.gasPrice,maxFeePerGas:vf(o.maxFee,9),maxPriorityFeePerGas:vf(o.maxPriorityFee,9)}}catch(i){N(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:s,error:i})}})}let Uf=!1;function K6(){if(Uf)return;Uf=!0;function r(e,t,n){const s=function(){const i=new Ut(e,t);return n.ensNetwork!=null&&i.attachPlugin(new k0(null,n.ensNetwork)),i.attachPlugin(new C0),(n.plugins||[]).forEach(a=>{i.attachPlugin(a)}),i};Ut.register(e,s),Ut.register(t,s),n.altNames&&n.altNames.forEach(i=>{Ut.register(i,s)})}r("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),r("ropsten",3,{ensNetwork:3}),r("rinkeby",4,{ensNetwork:4}),r("goerli",5,{ensNetwork:5}),r("kovan",42,{ensNetwork:42}),r("sepolia",11155111,{ensNetwork:11155111}),r("holesky",17e3,{ensNetwork:17e3}),r("classic",61,{}),r("classicKotti",6,{}),r("arbitrum",42161,{ensNetwork:1}),r("arbitrum-goerli",421613,{}),r("arbitrum-sepolia",421614,{}),r("base",8453,{ensNetwork:1}),r("base-goerli",84531,{}),r("base-sepolia",84532,{}),r("bnb",56,{ensNetwork:1}),r("bnbt",97,{}),r("linea",59144,{ensNetwork:1}),r("linea-goerli",59140,{}),r("linea-sepolia",59141,{}),r("matic",137,{ensNetwork:1,plugins:[Sf("https://gasstation.polygon.technology/v2")]}),r("matic-amoy",80002,{}),r("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Sf("https://gasstation-testnet.polygon.technology/v2")]}),r("optimism",10,{ensNetwork:1,plugins:[]}),r("optimism-goerli",420,{}),r("optimism-sepolia",11155420,{}),r("xdai",100,{ensNetwork:1})}function Ao(r){return JSON.parse(JSON.stringify(r))}var Wt,nt,kn,Ot,Bs,Fa;class _6{constructor(e){w(this,Bs);w(this,Wt,void 0);w(this,nt,void 0);w(this,kn,void 0);w(this,Ot,void 0);h(this,Wt,e),h(this,nt,null),h(this,kn,4e3),h(this,Ot,-2)}get pollingInterval(){return l(this,kn)}set pollingInterval(e){h(this,kn,e)}start(){l(this,nt)||(h(this,nt,l(this,Wt)._setTimeout(I(this,Bs,Fa).bind(this),l(this,kn))),I(this,Bs,Fa).call(this))}stop(){l(this,nt)&&(l(this,Wt)._clearTimeout(l(this,nt)),h(this,nt,null))}pause(e){this.stop(),e&&h(this,Ot,-2)}resume(){this.start()}}Wt=new WeakMap,nt=new WeakMap,kn=new WeakMap,Ot=new WeakMap,Bs=new WeakSet,Fa=async function(){try{const e=await l(this,Wt).getBlockNumber();if(l(this,Ot)===-2){h(this,Ot,e);return}if(e!==l(this,Ot)){for(let t=l(this,Ot)+1;t<=e;t++){if(l(this,nt)==null)return;await l(this,Wt).emit("block",t)}h(this,Ot,e)}}catch{}l(this,nt)!=null&&h(this,nt,l(this,Wt)._setTimeout(I(this,Bs,Fa).bind(this),l(this,kn)))};var ur,dr,On;class dc{constructor(e){w(this,ur,void 0);w(this,dr,void 0);w(this,On,void 0);h(this,ur,e),h(this,On,!1),h(this,dr,t=>{this._poll(t,l(this,ur))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){l(this,On)||(h(this,On,!0),l(this,dr).call(this,-2),l(this,ur).on("block",l(this,dr)))}stop(){l(this,On)&&(h(this,On,!1),l(this,ur).off("block",l(this,dr)))}pause(e){this.stop()}resume(){this.start()}}ur=new WeakMap,dr=new WeakMap,On=new WeakMap;var vs,Zt;class z6 extends dc{constructor(t,n){super(t);w(this,vs,void 0);w(this,Zt,void 0);h(this,vs,n),h(this,Zt,-2)}pause(t){t&&h(this,Zt,-2),super.pause(t)}async _poll(t,n){const s=await n.getBlock(l(this,vs));s!=null&&(l(this,Zt)===-2?h(this,Zt,s.number):s.number>l(this,Zt)&&(n.emit(l(this,vs),s.number),h(this,Zt,s.number)))}}vs=new WeakMap,Zt=new WeakMap;var l0;class J6 extends dc{constructor(t,n){super(t);w(this,l0,void 0);h(this,l0,Ao(n))}async _poll(t,n){throw new Error("@TODO")}}l0=new WeakMap;var Ss;class j6 extends dc{constructor(t,n){super(t);w(this,Ss,void 0);h(this,Ss,n)}async _poll(t,n){const s=await n.getTransactionReceipt(l(this,Ss));s&&n.emit(l(this,Ss),s)}}Ss=new WeakMap;var Yt,Us,Ls,Rn,rt,u0,sd;class hc{constructor(e,t){w(this,u0);w(this,Yt,void 0);w(this,Us,void 0);w(this,Ls,void 0);w(this,Rn,void 0);w(this,rt,void 0);h(this,Yt,e),h(this,Us,Ao(t)),h(this,Ls,I(this,u0,sd).bind(this)),h(this,Rn,!1),h(this,rt,-2)}start(){l(this,Rn)||(h(this,Rn,!0),l(this,rt)===-2&&l(this,Yt).getBlockNumber().then(e=>{h(this,rt,e)}),l(this,Yt).on("block",l(this,Ls)))}stop(){l(this,Rn)&&(h(this,Rn,!1),l(this,Yt).off("block",l(this,Ls)))}pause(e){this.stop(),e&&h(this,rt,-2)}resume(){this.start()}}Yt=new WeakMap,Us=new WeakMap,Ls=new WeakMap,Rn=new WeakMap,rt=new WeakMap,u0=new WeakSet,sd=async function(e){if(l(this,rt)===-2)return;const t=Ao(l(this,Us));t.fromBlock=l(this,rt)+1,t.toBlock=e;const n=await l(this,Yt).getLogs(t);if(n.length===0){l(this,rt)<e-60&&h(this,rt,e-60);return}for(const s of n)l(this,Yt).emit(l(this,Us),s),h(this,rt,s.blockNumber)};const W6=BigInt(2),Z6=10;function Ta(r){return r&&typeof r.then=="function"}function Ma(r,e){return r+":"+JSON.stringify(e,(t,n)=>{if(n==null)return"null";if(typeof n=="bigint")return`bigint:${n.toString()}`;if(typeof n=="string")return n.toLowerCase();if(typeof n=="object"&&!Array.isArray(n)){const s=Object.keys(n);return s.sort(),s.reduce((i,a)=>(i[a]=n[a],i),{})}return n})}class id{constructor(e){y(this,"name");D(this,{name:e})}start(){}stop(){}pause(e){}resume(){}}function Y6(r){return JSON.parse(JSON.stringify(r))}function Eo(r){return r=Array.from(new Set(r).values()),r.sort(),r}async function z0(r,e){if(r==null)throw new Error("invalid event");if(Array.isArray(r)&&(r={topics:r}),typeof r=="string")switch(r){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:r,tag:r}}if(ee(r,32)){const t=r.toLowerCase();return{type:"transaction",tag:Ma("tx",{hash:t}),hash:t}}if(r.orphan){const t=r;return{type:"orphan",tag:Ma("orphan",t),filter:Y6(t)}}if(r.address||r.topics){const t=r,n={topics:(t.topics||[]).map(s=>s==null?null:Array.isArray(s)?Eo(s.map(i=>i.toLowerCase())):s.toLowerCase())};if(t.address){const s=[],i=[],a=o=>{ee(o)?s.push(o):i.push((async()=>{s.push(await Ae(o,e))})())};Array.isArray(t.address)?t.address.forEach(a):a(t.address),i.length&&await Promise.all(i),n.address=Eo(s.map(o=>o.toLowerCase()))}return{filter:n,tag:Ma("event",n),type:"event"}}b(!1,"unknown ProviderEvent","event",r)}function J0(){return new Date().getTime()}const X6={cacheTimeout:250,pollingInterval:4e3};var Te,Bn,Ie,Ds,Je,hr,vn,Xt,Zi,st,Fs,Ms,Be,Ve,Yi,No,Xi,Po,xr,gi,$i,To,br,yi,Gs,Ga;class $6{constructor(e,t){w(this,Be);w(this,Yi);w(this,Xi);w(this,xr);w(this,$i);w(this,br);w(this,Gs);w(this,Te,void 0);w(this,Bn,void 0);w(this,Ie,void 0);w(this,Ds,void 0);w(this,Je,void 0);w(this,hr,void 0);w(this,vn,void 0);w(this,Xt,void 0);w(this,Zi,void 0);w(this,st,void 0);w(this,Fs,void 0);w(this,Ms,void 0);if(h(this,Ms,Object.assign({},X6,t||{})),e==="any")h(this,hr,!0),h(this,Je,null);else if(e){const n=Ut.from(e);h(this,hr,!1),h(this,Je,Promise.resolve(n)),setTimeout(()=>{this.emit("network",n,null)},0)}else h(this,hr,!1),h(this,Je,null);h(this,Xt,-1),h(this,vn,new Map),h(this,Te,new Map),h(this,Bn,new Map),h(this,Ie,null),h(this,Ds,!1),h(this,Zi,1),h(this,st,new Map),h(this,Fs,!1)}get pollingInterval(){return l(this,Ms).pollingInterval}get provider(){return this}get plugins(){return Array.from(l(this,Bn).values())}attachPlugin(e){if(l(this,Bn).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return l(this,Bn).set(e.name,e.connect(this)),this}getPlugin(e){return l(this,Bn).get(e)||null}get disableCcipRead(){return l(this,Fs)}set disableCcipRead(e){h(this,Fs,!!e)}async ccipReadFetch(e,t,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;const s=e.to.toLowerCase(),i=t.toLowerCase(),a=[];for(let o=0;o<n.length;o++){const c=n[o],f=c.replace("{sender}",s).replace("{data}",i),u=new sn(f);c.indexOf("{data}")===-1&&(u.body={data:i,sender:s}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:u,index:o,urls:n});let d="unknown error";const x=await u.send();try{const p=x.bodyJson;if(p.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:u,result:p}),p.data;p.message&&(d=p.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:p})}catch{}N(x.statusCode<400||x.statusCode>=500,`response not found during CCIP fetch: ${d}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:c,errorMessage:d}}),a.push(d)}N(!1,`error encountered during CCIP fetch: ${a.map(o=>JSON.stringify(o)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:a}})}_wrapBlock(e,t){return new y6(D6(e),this)}_wrapLog(e,t){return new fa(U6(e),this)}_wrapTransactionReceipt(e,t){return new _u(H6(e),this)}_wrapTransactionResponse(e,t){return new Li(rd(e),this)}_detectNetwork(){N(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){N(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){const e=K(await I(this,Be,Ve).call(this,{method:"getBlockNumber"}),"%response");return l(this,Xt)>=0&&h(this,Xt,e),e}_getAddress(e){return Ae(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(ee(e))return ee(e,32)?e:Wr(e);if(typeof e=="bigint"&&(e=K(e,"blockTag")),typeof e=="number")return e>=0?Wr(e):l(this,Xt)>=0?Wr(l(this,Xt)+e):this.getBlockNumber().then(t=>Wr(t+e));b(!1,"invalid blockTag","blockTag",e)}_getFilter(e){const t=(e.topics||[]).map(c=>c==null?null:Array.isArray(c)?Eo(c.map(f=>f.toLowerCase())):c.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,s=(c,f,u)=>{let d;switch(c.length){case 0:break;case 1:d=c[0];break;default:c.sort(),d=c}if(n&&(f!=null||u!=null))throw new Error("invalid filter");const x={};return d&&(x.address=d),t.length&&(x.topics=t),f&&(x.fromBlock=f),u&&(x.toBlock=u),n&&(x.blockHash=n),x};let i=[];if(e.address)if(Array.isArray(e.address))for(const c of e.address)i.push(this._getAddress(c));else i.push(this._getAddress(e.address));let a;"fromBlock"in e&&(a=this._getBlockTag(e.fromBlock));let o;return"toBlock"in e&&(o=this._getBlockTag(e.toBlock)),i.filter(c=>typeof c!="string").length||a!=null&&typeof a!="string"||o!=null&&typeof o!="string"?Promise.all([Promise.all(i),a,o]).then(c=>s(c[0],c[1],c[2])):s(i,a,o)}_getTransactionRequest(e){const t=Xa(e),n=[];if(["to","from"].forEach(s=>{if(t[s]==null)return;const i=Ae(t[s],this);Ta(i)?n.push(async function(){t[s]=await i}()):t[s]=i}),t.blockTag!=null){const s=this._getBlockTag(t.blockTag);Ta(s)?n.push(async function(){t.blockTag=await s}()):t.blockTag=s}return n.length?async function(){return await Promise.all(n),t}():t}async getNetwork(){if(l(this,Je)==null){const s=(async()=>{try{const i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw l(this,Je)===s&&h(this,Je,null),i}})();return h(this,Je,s),(await s).clone()}const e=l(this,Je),[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(l(this,hr)?(this.emit("network",n,t),l(this,Je)===e&&h(this,Je,Promise.resolve(n))):N(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){const e=await this.getNetwork(),t=async()=>{const{_block:s,gasPrice:i,priorityFee:a}=await Ce({_block:I(this,$i,To).call(this,"latest",!1),gasPrice:(async()=>{try{const u=await I(this,Be,Ve).call(this,{method:"getGasPrice"});return L(u,"%response")}catch{}return null})(),priorityFee:(async()=>{try{const u=await I(this,Be,Ve).call(this,{method:"getPriorityFee"});return L(u,"%response")}catch{}return null})()});let o=null,c=null;const f=this._wrapBlock(s,e);return f&&f.baseFeePerGas&&(c=a??BigInt("1000000000"),o=f.baseFeePerGas*W6+c),new Cf(i,o,c)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){const s=new sn(n.url),i=await n.processFunc(t,this,s);return new Cf(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return Ta(t)&&(t=await t),L(await I(this,Be,Ve).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){const{tx:t,blockTag:n}=await Ce({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await I(this,Xi,Po).call(this,I(this,Yi,No).call(this,t,n,e.enableCcipRead?0:-1))}async getBalance(e,t){return L(await I(this,xr,gi).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return K(await I(this,xr,gi).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return P(await I(this,xr,gi).call(this,{method:"getCode"},e,t))}async getStorage(e,t,n){const s=L(t,"position");return P(await I(this,xr,gi).call(this,{method:"getStorage",position:s},e,n))}async broadcastTransaction(e){const{blockNumber:t,hash:n,network:s}=await Ce({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),i=Bi.from(e);if(i.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,s).replaceableTransaction(t)}async getBlock(e,t){const{network:n,params:s}=await Ce({network:this.getNetwork(),params:I(this,$i,To).call(this,e,!!t)});return s==null?null:this._wrapBlock(s,n)}async getTransaction(e){const{network:t,params:n}=await Ce({network:this.getNetwork(),params:I(this,Be,Ve).call(this,{method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){const{network:t,params:n}=await Ce({network:this.getNetwork(),params:I(this,Be,Ve).call(this,{method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){const s=await I(this,Be,Ve).call(this,{method:"getTransaction",hash:e});if(s==null)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=s.gasPrice}return this._wrapTransactionReceipt(n,t)}async getTransactionResult(e){const{result:t}=await Ce({network:this.getNetwork(),result:I(this,Be,Ve).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:P(t)}async getLogs(e){let t=this._getFilter(e);Ta(t)&&(t=await t);const{network:n,params:s}=await Ce({network:this.getNetwork(),params:I(this,Be,Ve).call(this,{method:"getLogs",filter:t})});return s.map(i=>this._wrapLog(i,n))}_getProvider(e){N(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await qa.fromName(this,e)}async getAvatar(e){const t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){const t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=J(e);const t=go(e.substring(2).toLowerCase()+".addr.reverse");try{const n=await qa.getEnsAddress(this),i=await new ts(n,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(i==null||i===Ii)return null;const o=await new ts(i,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(o)!==e?null:o}catch(n){if(ke(n,"BAD_DATA")&&n.value==="0x"||ke(n,"CALL_EXCEPTION"))return null;throw n}return null}async waitForTransaction(e,t,n){const s=t??1;return s===0?this.getTransactionReceipt(e):new Promise(async(i,a)=>{let o=null;const c=async f=>{try{const u=await this.getTransactionReceipt(e);if(u!=null&&f-u.blockNumber+1>=s){i(u),o&&(clearTimeout(o),o=null);return}}catch(u){console.log("EEE",u)}this.once("block",c)};n!=null&&(o=setTimeout(()=>{o!=null&&(o=null,this.off("block",c),a(ue("timeout","TIMEOUT",{reason:"timeout"})))},n)),c(await this.getBlockNumber())})}async waitForBlock(e){N(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){const t=l(this,st).get(e);t&&(t.timer&&clearTimeout(t.timer),l(this,st).delete(e))}_setTimeout(e,t){t==null&&(t=0);const n=Fr(this,Zi)._++,s=()=>{l(this,st).delete(n),e()};if(this.paused)l(this,st).set(n,{timer:null,func:s,time:t});else{const i=setTimeout(s,t);l(this,st).set(n,{timer:i,func:s,time:J0()})}return n}_forEachSubscriber(e){for(const t of l(this,Te).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new id(e.type);case"block":{const t=new _6(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new z6(this,e.type);case"event":return new hc(this,e.filter);case"transaction":return new j6(this,e.hash);case"orphan":return new J6(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(const n of l(this,Te).values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),l(this,Ie)!=null&&t.pause(l(this,Ie));break}}async on(e,t){const n=await I(this,Gs,Ga).call(this,e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,l(this,Ie)!=null&&n.subscriber.pause(l(this,Ie))),this}async once(e,t){const n=await I(this,Gs,Ga).call(this,e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,l(this,Ie)!=null&&n.subscriber.pause(l(this,Ie))),this}async emit(e,...t){const n=await I(this,br,yi).call(this,e,t);if(!n||n.listeners.length===0)return!1;const s=n.listeners.length;return n.listeners=n.listeners.filter(({listener:i,once:a})=>{const o=new el(this,a?null:i,e);try{i.call(this,...t,o)}catch{}return!a}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),l(this,Te).delete(n.tag)),s>0}async listenerCount(e){if(e){const n=await I(this,br,yi).call(this,e);return n?n.listeners.length:0}let t=0;for(const{listeners:n}of l(this,Te).values())t+=n.length;return t}async listeners(e){if(e){const n=await I(this,br,yi).call(this,e);return n?n.listeners.map(({listener:s})=>s):[]}let t=[];for(const{listeners:n}of l(this,Te).values())t=t.concat(n.map(({listener:s})=>s));return t}async off(e,t){const n=await I(this,br,yi).call(this,e);if(!n)return this;if(t){const s=n.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&n.listeners.splice(s,1)}return(!t||n.listeners.length===0)&&(n.started&&n.subscriber.stop(),l(this,Te).delete(n.tag)),this}async removeAllListeners(e){if(e){const{tag:t,started:n,subscriber:s}=await I(this,Gs,Ga).call(this,e);n&&s.stop(),l(this,Te).delete(t)}else for(const[t,{started:n,subscriber:s}]of l(this,Te))n&&s.stop(),l(this,Te).delete(t);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return l(this,Ds)}destroy(){this.removeAllListeners();for(const e of l(this,st).keys())this._clearTimeout(e);h(this,Ds,!0)}get paused(){return l(this,Ie)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(h(this,Xt,-1),l(this,Ie)!=null){if(l(this,Ie)==!!e)return;N(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),h(this,Ie,!!e);for(const t of l(this,st).values())t.timer&&clearTimeout(t.timer),t.time=J0()-t.time}resume(){if(l(this,Ie)!=null){this._forEachSubscriber(e=>e.resume()),h(this,Ie,null);for(const e of l(this,st).values()){let t=e.time;t<0&&(t=0),e.time=J0(),setTimeout(e.func,t)}}}}Te=new WeakMap,Bn=new WeakMap,Ie=new WeakMap,Ds=new WeakMap,Je=new WeakMap,hr=new WeakMap,vn=new WeakMap,Xt=new WeakMap,Zi=new WeakMap,st=new WeakMap,Fs=new WeakMap,Ms=new WeakMap,Be=new WeakSet,Ve=async function(e){const t=l(this,Ms).cacheTimeout;if(t<0)return await this._perform(e);const n=Ma(e.method,e);let s=l(this,vn).get(n);return s||(s=this._perform(e),l(this,vn).set(n,s),setTimeout(()=>{l(this,vn).get(n)===s&&l(this,vn).delete(n)},t)),await s},Yi=new WeakSet,No=async function(e,t,n){N(n<Z6,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:t,enableCcipRead:!0})});const s=Xa(e);try{return P(await this._perform({method:"call",transaction:s,blockTag:t}))}catch(i){if(!this.disableCcipRead&&Vo(i)&&i.data&&n>=0&&t==="latest"&&s.to!=null&&ne(i.data,0,4)==="0x556f1830"){const a=i.data,o=await Ae(s.to,this);let c;try{c=rb(ne(i.data,4))}catch(d){N(!1,d.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:s,info:{data:a}})}N(c.sender.toLowerCase()===o.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:a,reason:"OffchainLookup",transaction:s,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:c.errorArgs}});const f=await this.ccipReadFetch(s,c.calldata,c.urls);N(f!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:s,info:{data:i.data,errorArgs:c.errorArgs}});const u={to:o,data:X([c.selector,nb([f,c.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:u});try{const d=await I(this,Yi,No).call(this,u,t,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},u),result:d}),d}catch(d){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},u),error:d}),d}}throw i}},Xi=new WeakSet,Po=async function(e){const{value:t}=await Ce({network:this.getNetwork(),value:e});return t},xr=new WeakSet,gi=async function(e,t,n){let s=this._getAddress(t),i=this._getBlockTag(n);return(typeof s!="string"||typeof i!="string")&&([s,i]=await Promise.all([s,i])),await I(this,Xi,Po).call(this,I(this,Be,Ve).call(this,Object.assign(e,{address:s,blockTag:i})))},$i=new WeakSet,To=async function(e,t){if(ee(e,32))return await I(this,Be,Ve).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await I(this,Be,Ve).call(this,{method:"getBlock",blockTag:n,includeTransactions:t})},br=new WeakSet,yi=async function(e,t){let n=await z0(e,this);return n.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(n=await z0({orphan:"drop-log",log:t[0]},this)),l(this,Te).get(n.tag)||null},Gs=new WeakSet,Ga=async function(e){const t=await z0(e,this),n=t.tag;let s=l(this,Te).get(n);return s||(s={subscriber:this._getSubscriber(t),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},l(this,Te).set(n,s)),s};function q6(r,e){try{const t=Io(r,e);if(t)return _a(t)}catch{}return null}function Io(r,e){if(r==="0x")return null;try{const t=K(ne(r,e,e+32)),n=K(ne(r,t,t+32));return ne(r,t+32,t+32+n)}catch{}return null}function Lf(r){const e=Oe(r);if(e.length>32)throw new Error("internal; should not happen");const t=new Uint8Array(32);return t.set(e,32-e.length),t}function eb(r){if(r.length%32===0)return r;const e=new Uint8Array(Math.ceil(r.length/32)*32);return e.set(r),e}const tb=new Uint8Array([]);function nb(r){const e=[];let t=0;for(let n=0;n<r.length;n++)e.push(tb),t+=32;for(let n=0;n<r.length;n++){const s=v(r[n]);e[n]=Lf(t),e.push(Lf(s.length)),e.push(eb(s)),t+=32+Math.ceil(s.length/32)*32}return X(e)}const Df="0x0000000000000000000000000000000000000000000000000000000000000000";function rb(r){const e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};N(Xr(r)>=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const t=ne(r,0,32);N(ne(t,0,12)===ne(Df,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=ne(t,12);try{const n=[],s=K(ne(r,32,64)),i=K(ne(r,s,s+32)),a=ne(r,s+32);for(let o=0;o<i;o++){const c=q6(a,o*32);if(c==null)throw new Error("abort");n.push(c)}e.urls=n}catch{N(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{const n=Io(r,64);if(n==null)throw new Error("abort");e.calldata=n}catch{N(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}N(ne(r,100,128)===ne(Df,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=ne(r,96,100);try{const n=Io(r,128);if(n==null)throw new Error("abort");e.extraData=n}catch{N(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(n=>e[n]),e}function Gr(r,e){if(r.provider)return r.provider;N(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function Ff(r,e){let t=Xa(e);if(t.to!=null&&(t.to=Ae(t.to,r)),t.from!=null){const n=t.from;t.from=Promise.all([r.getAddress(),Ae(n,r)]).then(([s,i])=>(b(s.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),s))}else t.from=r.getAddress();return await Ce(t)}class O0{constructor(e){y(this,"provider");D(this,{provider:e||null})}async getNonce(e){return Gr(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await Ff(this,e)}async populateTransaction(e){const t=Gr(this,"populateTransaction"),n=await Ff(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));const s=await this.provider.getNetwork();if(n.chainId!=null){const a=L(n.chainId);b(a===s.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=s.chainId;const i=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||i)?b(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&i&&b(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){const a=await t.getFeeData();N(a.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=a.gasPrice)}else{const a=await t.getFeeData();if(n.type==null)if(a.maxFeePerGas!=null&&a.maxPriorityFeePerGas!=null)if(n.type=2,n.gasPrice!=null){const o=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=o,n.maxPriorityFeePerGas=o}else n.maxFeePerGas==null&&(n.maxFeePerGas=a.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=a.maxPriorityFeePerGas);else a.gasPrice!=null?(N(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=a.gasPrice),n.type=0):N(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(n.type===2||n.type===3)&&(n.maxFeePerGas==null&&(n.maxFeePerGas=a.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=a.maxPriorityFeePerGas))}return await Ce(n)}async estimateGas(e){return Gr(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return Gr(this,"call").call(await this.populateCall(e))}async resolveName(e){return await Gr(this,"resolveName").resolveName(e)}async sendTransaction(e){const t=Gr(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;const s=Bi.from(n);return await t.broadcastTransaction(await this.signTransaction(s))}}var Hs,Ha;const mc=class mc extends O0{constructor(t,n){super(n);w(this,Hs);y(this,"address");D(this,{address:t})}async getAddress(){return this.address}connect(t){return new mc(this.address,t)}async signTransaction(t){I(this,Hs,Ha).call(this,"transactions","signTransaction")}async signMessage(t){I(this,Hs,Ha).call(this,"messages","signMessage")}async signTypedData(t,n,s){I(this,Hs,Ha).call(this,"typed-data","signTypedData")}};Hs=new WeakSet,Ha=function(t,n){N(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:n})};let Co=mc;function sb(r){return JSON.parse(JSON.stringify(r))}var ve,Rt,pr,Sn,gr,Vs,qi,ko,ea,Oo;class ad{constructor(e){w(this,qi);w(this,ea);w(this,ve,void 0);w(this,Rt,void 0);w(this,pr,void 0);w(this,Sn,void 0);w(this,gr,void 0);w(this,Vs,void 0);h(this,ve,e),h(this,Rt,null),h(this,pr,I(this,qi,ko).bind(this)),h(this,Sn,!1),h(this,gr,null),h(this,Vs,!1)}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,t){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}start(){l(this,Sn)||(h(this,Sn,!0),I(this,qi,ko).call(this,-2))}stop(){l(this,Sn)&&(h(this,Sn,!1),h(this,Vs,!0),I(this,ea,Oo).call(this),l(this,ve).off("block",l(this,pr)))}pause(e){e&&I(this,ea,Oo).call(this),l(this,ve).off("block",l(this,pr))}resume(){this.start()}}ve=new WeakMap,Rt=new WeakMap,pr=new WeakMap,Sn=new WeakMap,gr=new WeakMap,Vs=new WeakMap,qi=new WeakSet,ko=async function(e){try{l(this,Rt)==null&&h(this,Rt,this._subscribe(l(this,ve)));let t=null;try{t=await l(this,Rt)}catch(i){if(!ke(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(t==null){h(this,Rt,null),l(this,ve)._recoverSubscriber(this,this._recover(l(this,ve)));return}const n=await l(this,ve).getNetwork();if(l(this,gr)||h(this,gr,n),l(this,gr).chainId!==n.chainId)throw new Error("chaid changed");if(l(this,Vs))return;const s=await l(this,ve).send("eth_getFilterChanges",[t]);await this._emitResults(l(this,ve),s)}catch(t){console.log("@TODO",t)}l(this,ve).once("block",l(this,pr))},ea=new WeakSet,Oo=function(){const e=l(this,Rt);e&&(h(this,Rt,null),e.then(t=>{l(this,ve).destroyed||l(this,ve).send("eth_uninstallFilter",[t])}))};var yr;class ib extends ad{constructor(t,n){super(t);w(this,yr,void 0);h(this,yr,sb(n))}_recover(t){return new hc(t,l(this,yr))}async _subscribe(t){return await t.send("eth_newFilter",[l(this,yr)])}async _emitResults(t,n){for(const s of n)t.emit(l(this,yr),t._wrapLog(s,t._network))}}yr=new WeakMap;class ab extends ad{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(const n of t)e.emit("pending",n)}}const ob="bigint,boolean,function,number,string,symbol".split(/,/g);function Va(r){if(r==null||ob.indexOf(typeof r)>=0||typeof r.getAddress=="function")return r;if(Array.isArray(r))return r.map(Va);if(typeof r=="object")return Object.keys(r).reduce((e,t)=>(e[t]=r[t],e),{});throw new Error(`should not happen: ${r} (${typeof r})`)}function cb(r){return new Promise(e=>{setTimeout(e,r)})}function Hr(r){return r&&r.toLowerCase()}function Mf(r){return r&&typeof r.pollingInterval=="number"}const od={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class j0 extends O0{constructor(t,n){super(t);y(this,"address");n=J(n),D(this,{address:n})}connect(t){N(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){const n=Va(t),s=[];if(n.from){const a=n.from;s.push((async()=>{const o=await Ae(a,this.provider);b(o!=null&&o.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=o})())}else n.from=this.address;if(n.gasLimit==null&&s.push((async()=>{n.gasLimit=await this.provider.estimateGas({...n,from:this.address})})()),n.to!=null){const a=n.to;s.push((async()=>{n.to=await Ae(a,this.provider)})())}s.length&&await Promise.all(s);const i=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[i])}async sendTransaction(t){const n=await this.provider.getBlockNumber(),s=await this.sendUncheckedTransaction(t);return await new Promise((i,a)=>{const o=[1e3,100];let c=0;const f=async()=>{try{const u=await this.provider.getTransaction(s);if(u!=null){i(u.replaceableTransaction(n));return}}catch(u){if(ke(u,"CANCELLED")||ke(u,"BAD_DATA")||ke(u,"NETWORK_ERROR")){u.info==null&&(u.info={}),u.info.sendTransactionHash=s,a(u);return}if(ke(u,"INVALID_ARGUMENT")&&(c++,u.info==null&&(u.info={}),u.info.sendTransactionHash=s,c>10)){a(u);return}this.provider.emit("error",ue("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:u}))}this.provider._setTimeout(()=>{f()},o.pop()||4e3)};f()})}async signTransaction(t){const n=Va(t);if(n.from){const i=await Ae(n.from,this.provider);b(i!=null&&i.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=i}else n.from=this.address;const s=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[s])}async signMessage(t){const n=typeof t=="string"?Le(t):t;return await this.provider.send("personal_sign",[P(n),this.address.toLowerCase()])}async signTypedData(t,n,s){const i=Va(s),a=await qs.resolveNames(t,n,i,async o=>{const c=await Ae(o);return b(c!=null,"TypedData does not support null address","value",o),c});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(qs.getPayload(a.domain,n,a.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){const n=typeof t=="string"?Le(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),P(n)])}}var mr,Qs,$t,Bt,pt,it,Fe,ta,Ro;class fb extends $6{constructor(t,n){super(t,n);w(this,ta);w(this,mr,void 0);w(this,Qs,void 0);w(this,$t,void 0);w(this,Bt,void 0);w(this,pt,void 0);w(this,it,void 0);w(this,Fe,void 0);h(this,Qs,1),h(this,mr,Object.assign({},od,n||{})),h(this,$t,[]),h(this,Bt,null),h(this,it,null),h(this,Fe,null);{let i=null;const a=new Promise(o=>{i=o});h(this,pt,{promise:a,resolve:i})}const s=this._getOption("staticNetwork");typeof s=="boolean"?(b(!s||t!=="any","staticNetwork cannot be used on special network 'any'","options",n),s&&t!=null&&h(this,it,Ut.from(t))):s&&(b(t==null||s.matches(t),"staticNetwork MUST match network object","options",n),h(this,it,s))}_getOption(t){return l(this,mr)[t]}get _network(){return N(l(this,it),"network is not available yet","NETWORK_ERROR"),l(this,it)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let s=t.transaction;if(s&&s.type!=null&&L(s.type)&&s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null){const i=await this.getFeeData();i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},s,{type:void 0})}))}}const n=this.getRpcRequest(t);return n!=null?await this.send(n.method,n.args):super._perform(t)}async _detectNetwork(){const t=this._getOption("staticNetwork");if(t)if(t===!0){if(l(this,it))return l(this,it)}else return t;return l(this,Fe)?await l(this,Fe):this.ready?(h(this,Fe,(async()=>{try{const n=Ut.from(L(await this.send("eth_chainId",[])));return h(this,Fe,null),n}catch(n){throw h(this,Fe,null),n}})()),await l(this,Fe)):(h(this,Fe,(async()=>{const n={id:Fr(this,Qs)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:n});let s;try{s=(await this._send(n))[0],h(this,Fe,null)}catch(i){throw h(this,Fe,null),this.emit("debug",{action:"receiveRpcError",error:i}),i}if(this.emit("debug",{action:"receiveRpcResult",result:s}),"result"in s)return Ut.from(L(s.result));throw this.getRpcError(n,s)})()),await l(this,Fe))}_start(){l(this,pt)==null||l(this,pt).resolve==null||(l(this,pt).resolve(),h(this,pt,null),(async()=>{for(;l(this,it)==null&&!this.destroyed;)try{h(this,it,await this._detectNetwork())}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",ue("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await cb(1e3)}I(this,ta,Ro).call(this)})())}async _waitUntilReady(){if(l(this,pt)!=null)return await l(this,pt).promise}_getSubscriber(t){return t.type==="pending"?new ab(this):t.type==="event"?this._getOption("polling")?new hc(this,t.filter):new ib(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new id("orphan"):super._getSubscriber(t)}get ready(){return l(this,pt)==null}getRpcTransaction(t){const n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(s=>{if(t[s]==null)return;let i=s;s==="gasLimit"&&(i="gas"),n[i]=Wr(L(t[s],`tx.${s}`))}),["from","to","data"].forEach(s=>{t[s]!=null&&(n[s]=P(t[s]))}),t.accessList&&(n.accessList=vr(t.accessList)),n}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[Hr(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Hr(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[Hr(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Hr(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(Hr):t.filter.address=Hr(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,n){const{method:s}=t,{error:i}=n;if(s==="eth_estimateGas"&&i.message){const c=i.message;if(!c.match(/revert/i)&&c.match(/insufficient funds/i))return ue("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:i}})}if(s==="eth_call"||s==="eth_estimateGas"){const c=Bo(i),f=Si.getBuiltinCallException(s==="eth_call"?"call":"estimateGas",t.params[0],c?c.data:null);return f.info={error:i,payload:t},f}const a=JSON.stringify(db(i));if(typeof i.message=="string"&&i.message.match(/user denied|ethers-user-denied/i))return ue("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[s]||"unknown",reason:"rejected",info:{payload:t,error:i}});if(s==="eth_sendRawTransaction"||s==="eth_sendTransaction"){const c=t.params[0];if(a.match(/insufficient funds|base fee exceeds gas limit/i))return ue("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:c,info:{error:i}});if(a.match(/nonce/i)&&a.match(/too low/i))return ue("nonce has already been used","NONCE_EXPIRED",{transaction:c,info:{error:i}});if(a.match(/replacement transaction/i)&&a.match(/underpriced/i))return ue("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:c,info:{error:i}});if(a.match(/only replay-protected/i))return ue("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:s,info:{transaction:c,info:{error:i}}})}let o=!!a.match(/the method .* does not exist/i);return o||i&&i.details&&i.details.startsWith("Unauthorized method:")&&(o=!0),o?ue("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:i,payload:t}}):ue("could not coalesce error","UNKNOWN_ERROR",{error:i,payload:t})}send(t,n){if(this.destroyed)return Promise.reject(ue("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));const s=Fr(this,Qs)._++,i=new Promise((a,o)=>{l(this,$t).push({resolve:a,reject:o,payload:{method:t,params:n,id:s,jsonrpc:"2.0"}})});return I(this,ta,Ro).call(this),i}async getSigner(t){t==null&&(t=0);const n=this.send("eth_accounts",[]);if(typeof t=="number"){const i=await n;if(t>=i.length)throw new Error("no such account");return new j0(this,i[t])}const{accounts:s}=await Ce({network:this.getNetwork(),accounts:n});t=J(t);for(const i of s)if(J(i)===t)return new j0(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new j0(this,n))}destroy(){l(this,Bt)&&(clearTimeout(l(this,Bt)),h(this,Bt,null));for(const{payload:t,reject:n}of l(this,$t))n(ue("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));h(this,$t,[]),super.destroy()}}mr=new WeakMap,Qs=new WeakMap,$t=new WeakMap,Bt=new WeakMap,pt=new WeakMap,it=new WeakMap,Fe=new WeakMap,ta=new WeakSet,Ro=function(){if(l(this,Bt))return;const t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");h(this,Bt,setTimeout(()=>{h(this,Bt,null);const n=l(this,$t);for(h(this,$t,[]);n.length;){const s=[n.shift()];for(;n.length&&s.length!==l(this,mr).batchMaxCount;)if(s.push(n.shift()),JSON.stringify(s.map(a=>a.payload)).length>l(this,mr).batchMaxSize){n.unshift(s.pop());break}(async()=>{const i=s.length===1?s[0].payload:s.map(a=>a.payload);this.emit("debug",{action:"sendRpcPayload",payload:i});try{const a=await this._send(i);this.emit("debug",{action:"receiveRpcResult",result:a});for(const{resolve:o,reject:c,payload:f}of s){if(this.destroyed){c(ue("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:f.method}));continue}const u=a.filter(d=>d.id===f.id)[0];if(u==null){const d=ue("missing response for request","BAD_DATA",{value:a,info:{payload:f}});this.emit("error",d),c(d);continue}if("error"in u){c(this.getRpcError(f,u));continue}o(u.result)}}catch(a){this.emit("debug",{action:"receiveRpcError",error:a});for(const{reject:o}of s)o(a)}})()}},t))};var Un;class lb extends fb{constructor(t,n){super(t,n);w(this,Un,void 0);let s=this._getOption("pollingInterval");s==null&&(s=od.pollingInterval),h(this,Un,s)}_getSubscriber(t){const n=super._getSubscriber(t);return Mf(n)&&(n.pollingInterval=l(this,Un)),n}get pollingInterval(){return l(this,Un)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");h(this,Un,t),this._forEachSubscriber(n=>{Mf(n)&&(n.pollingInterval=l(this,Un))})}}Un=new WeakMap;var Ks;class ub extends lb{constructor(t,n,s){t==null&&(t="http://localhost:8545");super(n,s);w(this,Ks,void 0);typeof t=="string"?h(this,Ks,new sn(t)):h(this,Ks,t.clone())}_getConnection(){return l(this,Ks).clone()}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){const n=this._getConnection();n.body=JSON.stringify(t),n.setHeader("content-type","application/json");const s=await n.send();s.assertOk();let i=s.bodyJson;return Array.isArray(i)||(i=[i]),i}}Ks=new WeakMap;function Bo(r){if(r==null)return null;if(typeof r.message=="string"&&r.message.match(/revert/i)&&ee(r.data))return{message:r.message,data:r.data};if(typeof r=="object"){for(const e in r){const t=Bo(r[e]);if(t)return t}return null}if(typeof r=="string")try{return Bo(JSON.parse(r))}catch{}return null}function vo(r,e){if(r!=null){if(typeof r.message=="string"&&e.push(r.message),typeof r=="object")for(const t in r)vo(r[t],e);if(typeof r=="string")try{return vo(JSON.parse(r),e)}catch{}}}function db(r){const e=[];return vo(r,e),e}var Ln,wr;const wc=class wc extends O0{constructor(t){super(t.provider);y(this,"signer");w(this,Ln,void 0);w(this,wr,void 0);D(this,{signer:t}),h(this,Ln,null),h(this,wr,0)}async getAddress(){return this.signer.getAddress()}connect(t){return new wc(this.signer.connect(t))}async getNonce(t){if(t==="pending"){l(this,Ln)==null&&h(this,Ln,super.getNonce("pending"));const n=l(this,wr);return await l(this,Ln)+n}return super.getNonce(t)}increment(){Fr(this,wr)._++}reset(){h(this,wr,0),h(this,Ln,null)}async sendTransaction(t){const n=this.getNonce("pending");return this.increment(),t=await this.signer.populateTransaction(t),t.nonce=await n,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,n,s){return this.signer.signTypedData(t,n,s)}};Ln=new WeakMap,wr=new WeakMap;let So=wc;var _s;const Ac=class Ac extends O0{constructor(t,n){super(n);y(this,"address");w(this,_s,void 0);b(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),h(this,_s,t);const s=oa(this.signingKey.publicKey);D(this,{address:s})}get signingKey(){return l(this,_s)}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new Ac(l(this,_s),t)}async signTransaction(t){const{to:n,from:s}=await Ce({to:t.to?Ae(t.to,this.provider):void 0,from:t.from?Ae(t.from,this.provider):void 0});n!=null&&(t.to=n),s!=null&&(t.from=s),t.from!=null&&(b(J(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);const i=Bi.from(t);return i.signature=this.signingKey.sign(i.unsignedHash),i.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(jx(t)).serialized}async signTypedData(t,n,s){const i=await qs.resolveNames(t,n,s,async a=>{N(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:a}});const o=await this.provider.resolveName(a);return N(o!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:a}),o});return this.signingKey.sign(qs.hash(i.domain,n,i.value)).serialized}};_s=new WeakMap;let e0=Ac;const t0=" !#$%&'()*+,-./<=>?@[]^_`{|}~",hb=/^[a-z]*$/i;function Gf(r,e){let t=97;return r.reduce((n,s)=>(s===e?t++:s.match(hb)?n.push(String.fromCharCode(t)+s):(t=97,n.push(s)),n),[])}function xb(r,e){for(let s=t0.length-1;s>=0;s--)r=r.split(t0[s]).join(e.substring(2*s,2*s+2));const t=[],n=r.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(s,i,a,o)=>{if(a)for(let c=parseInt(a);c>=0;c--)t.push(";");else t.push(i.toLowerCase());return""});if(n)throw new Error(`leftovers: ${JSON.stringify(n)}`);return Gf(Gf(t,";"),":")}function bb(r){return b(r[0]==="0","unsupported auwl data","data",r),xb(r.substring(1+2*t0.length),r.substring(1,1+2*t0.length))}class pb{constructor(e){y(this,"locale");D(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}}var zs,na,Ar,ra,Uo;class gb extends pb{constructor(t,n,s){super(t);w(this,ra);w(this,zs,void 0);w(this,na,void 0);w(this,Ar,void 0);h(this,zs,n),h(this,na,s),h(this,Ar,null)}get _data(){return l(this,zs)}_decodeWords(){return bb(l(this,zs))}getWord(t){const n=I(this,ra,Uo).call(this);return b(t>=0&&t<n.length,`invalid word index: ${t}`,"index",t),n[t]}getWordIndex(t){return I(this,ra,Uo).call(this).indexOf(t)}}zs=new WeakMap,na=new WeakMap,Ar=new WeakMap,ra=new WeakSet,Uo=function(){if(l(this,Ar)==null){const t=this._decodeWords();if(an(t.join(`
|
|
3
3
|
`)+`
|
|
4
|
-
`)!==l(this,na))throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);h(this,Ar,t)}return l(this,Ar)};const yb="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",mb="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60";let W0=null;class Rr extends gb{constructor(){super("en",yb,mb)}static wordlist(){return W0==null&&(W0=new Rr),W0}}function cd(r){return(1<<r)-1<<8-r&255}function wb(r){return(1<<r)-1&255}function Z0(r,e){Zf("NFKD"),e==null&&(e=Rr.wordlist());const t=e.split(r);b(t.length%3===0&&t.length>=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");const n=new Uint8Array(Math.ceil(11*t.length/8));let s=0;for(let f=0;f<t.length;f++){let u=e.getWordIndex(t[f].normalize("NFKD"));b(u>=0,`invalid mnemonic word at index ${f}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)u&1<<10-d&&(n[s>>3]|=1<<7-s%8),s++}const i=32*t.length/3,a=t.length/3,o=cd(a),c=v(ot(n.slice(0,i/8)))[0]&o;return b(c===(n[n.length-1]&o),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),P(n.slice(0,i/8))}function Y0(r,e){b(r.length%4===0&&r.length>=16&&r.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=Rr.wordlist());const t=[0];let n=11;for(let a=0;a<r.length;a++)n>8?(t[t.length-1]<<=8,t[t.length-1]|=r[a],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=r[a]>>8-n,t.push(r[a]&wb(8-n)),n+=3);const s=r.length/4,i=parseInt(ot(r).substring(2,4),16)&cd(s);return t[t.length-1]<<=s,t[t.length-1]|=i>>8-s,e.join(t.map(a=>e.getWord(a)))}const X0={};class ti{constructor(e,t,n,s,i){y(this,"phrase");y(this,"password");y(this,"wordlist");y(this,"entropy");s==null&&(s=""),i==null&&(i=Rr.wordlist()),Br(e,X0,"Mnemonic"),D(this,{phrase:n,password:s,wordlist:i,entropy:t})}computeSeed(){const e=Le("mnemonic"+this.password,"NFKD");return Gn(Le(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,n){const s=Z0(e,n);return e=Y0(v(s),n),new ti(X0,s,e,t,n)}static fromEntropy(e,t,n){const s=v(e,"entropy"),i=Y0(s,n);return new ti(X0,P(s),i,t,n)}static entropyToPhrase(e,t){const n=v(e,"entropy");return Y0(n,t)}static phraseToEntropy(e,t){return Z0(e,t)}static isValidMnemonic(e,t){try{return Z0(e,t),!0}catch{}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */var ge=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},$0=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},Qa,Xe,Et;const Ab={16:10,24:12,32:14},Eb=[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],Ze=[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],Ia=[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],Nb=[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],Pb=[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],Tb=[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],Ib=[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],Cb=[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],kb=[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],Ob=[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],Rb=[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],Bb=[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],vb=[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],Sb=[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],Ub=[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 q0(r){const e=[];for(let t=0;t<r.length;t+=4)e.push(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3]);return e}class xc{get key(){return ge(this,Qa,"f").slice()}constructor(e){if(Qa.set(this,void 0),Xe.set(this,void 0),Et.set(this,void 0),!(this instanceof xc))throw Error("AES must be instanitated with `new`");$0(this,Qa,new Uint8Array(e),"f");const t=Ab[this.key.length];if(t==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");$0(this,Et,[],"f"),$0(this,Xe,[],"f");for(let u=0;u<=t;u++)ge(this,Et,"f").push([0,0,0,0]),ge(this,Xe,"f").push([0,0,0,0]);const n=(t+1)*4,s=this.key.length/4,i=q0(this.key);let a;for(let u=0;u<s;u++)a=u>>2,ge(this,Et,"f")[a][u%4]=i[u],ge(this,Xe,"f")[t-a][u%4]=i[u];let o=0,c=s,f;for(;c<n;){if(f=i[s-1],i[0]^=Ze[f>>16&255]<<24^Ze[f>>8&255]<<16^Ze[f&255]<<8^Ze[f>>24&255]^Eb[o]<<24,o+=1,s!=8)for(let p=1;p<s;p++)i[p]^=i[p-1];else{for(let p=1;p<s/2;p++)i[p]^=i[p-1];f=i[s/2-1],i[s/2]^=Ze[f&255]^Ze[f>>8&255]<<8^Ze[f>>16&255]<<16^Ze[f>>24&255]<<24;for(let p=s/2+1;p<s;p++)i[p]^=i[p-1]}let u=0,d,x;for(;u<s&&c<n;)d=c>>2,x=c%4,ge(this,Et,"f")[d][x]=i[u],ge(this,Xe,"f")[t-d][x]=i[u++],c++}for(let u=1;u<t;u++)for(let d=0;d<4;d++)f=ge(this,Xe,"f")[u][d],ge(this,Xe,"f")[u][d]=Bb[f>>24&255]^vb[f>>16&255]^Sb[f>>8&255]^Ub[f&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");const t=ge(this,Et,"f").length-1,n=[0,0,0,0];let s=q0(e);for(let o=0;o<4;o++)s[o]^=ge(this,Et,"f")[0][o];for(let o=1;o<t;o++){for(let c=0;c<4;c++)n[c]=Nb[s[c]>>24&255]^Pb[s[(c+1)%4]>>16&255]^Tb[s[(c+2)%4]>>8&255]^Ib[s[(c+3)%4]&255]^ge(this,Et,"f")[o][c];s=n.slice()}const i=new Uint8Array(16);let a=0;for(let o=0;o<4;o++)a=ge(this,Et,"f")[t][o],i[4*o]=(Ze[s[o]>>24&255]^a>>24)&255,i[4*o+1]=(Ze[s[(o+1)%4]>>16&255]^a>>16)&255,i[4*o+2]=(Ze[s[(o+2)%4]>>8&255]^a>>8)&255,i[4*o+3]=(Ze[s[(o+3)%4]&255]^a)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");const t=ge(this,Xe,"f").length-1,n=[0,0,0,0];let s=q0(e);for(let o=0;o<4;o++)s[o]^=ge(this,Xe,"f")[0][o];for(let o=1;o<t;o++){for(let c=0;c<4;c++)n[c]=Cb[s[c]>>24&255]^kb[s[(c+3)%4]>>16&255]^Ob[s[(c+2)%4]>>8&255]^Rb[s[(c+1)%4]&255]^ge(this,Xe,"f")[o][c];s=n.slice()}const i=new Uint8Array(16);let a=0;for(let o=0;o<4;o++)a=ge(this,Xe,"f")[t][o],i[4*o]=(Ia[s[o]>>24&255]^a>>24)&255,i[4*o+1]=(Ia[s[(o+3)%4]>>16&255]^a>>16)&255,i[4*o+2]=(Ia[s[(o+2)%4]>>8&255]^a>>8)&255,i[4*o+3]=(Ia[s[(o+1)%4]&255]^a)&255;return i}}Qa=new WeakMap,Xe=new WeakMap,Et=new WeakMap;class fd{constructor(e,t,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new xc(t)},name:{enumerable:!0,value:e}})}}var Ca=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},Vr=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},mi,Dt;class bc extends fd{constructor(e,t){if(super("ECC",e,bc),mi.set(this,void 0),Dt.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Ca(this,mi,new Uint8Array(t),"f")}else Ca(this,mi,new Uint8Array(16),"f");Ca(this,Dt,this.iv,"f")}get iv(){return new Uint8Array(Vr(this,mi,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");const t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){for(let s=0;s<16;s++)Vr(this,Dt,"f")[s]^=e[n+s];Ca(this,Dt,this.aes.encrypt(Vr(this,Dt,"f")),"f"),t.set(Vr(this,Dt,"f"),n)}return t}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");const t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){const s=this.aes.decrypt(e.subarray(n,n+16));for(let i=0;i<16;i++)t[n+i]=s[i]^Vr(this,Dt,"f")[i],Vr(this,Dt,"f")[i]=e[n+i]}return t}}mi=new WeakMap,Dt=new WeakMap;var Qr=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},Ye=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},wi,Kn,$e;class ni extends fd{constructor(e,t){super("CTR",e,ni),wi.set(this,void 0),Kn.set(this,void 0),$e.set(this,void 0),Qr(this,$e,new Uint8Array(16),"f"),Ye(this,$e,"f").fill(0),Qr(this,wi,Ye(this,$e,"f"),"f"),Qr(this,Kn,16,"f"),t==null&&(t=1),typeof t=="number"?this.setCounterValue(t):this.setCounterBytes(t)}get counter(){return new Uint8Array(Ye(this,$e,"f"))}setCounterValue(e){if(!Number.isInteger(e)||e<0||e>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let t=15;t>=0;--t)Ye(this,$e,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");Ye(this,$e,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(Ye(this,$e,"f")[e]===255)Ye(this,$e,"f")[e]=0;else{Ye(this,$e,"f")[e]++;break}}encrypt(e){var t,n;const s=new Uint8Array(e);for(let i=0;i<s.length;i++)Ye(this,Kn,"f")===16&&(Qr(this,wi,this.aes.encrypt(Ye(this,$e,"f")),"f"),Qr(this,Kn,0,"f"),this.increment()),s[i]^=Ye(this,wi,"f")[Qr(this,Kn,(n=Ye(this,Kn,"f"),t=n++,n),"f"),t];return s}decrypt(e){return this.encrypt(e)}}wi=new WeakMap,Kn=new WeakMap,$e=new WeakMap;function Lb(r){if(r.length<16)throw new TypeError("PKCS#7 invalid length");const e=r[r.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");const t=r.length-e;for(let n=0;n<e;n++)if(r[t+n]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(r.subarray(0,t))}function ld(r){return typeof r=="string"&&!r.startsWith("0x")&&(r="0x"+r),we(r)}function di(r,e){for(r=String(r);r.length<e;)r="0"+r;return r}function da(r){return typeof r=="string"?Le(r,"NFKC"):we(r)}function oe(r,e){const t=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);b(t!=null,"invalid path","path",e);const n=t[1],s=t[3],i=t[4]==="!";let a=r;for(const o of n.toLowerCase().split(".")){if(Array.isArray(a)){if(!o.match(/^[0-9]+$/))break;a=a[parseInt(o)]}else if(typeof a=="object"){let c=null;for(const f in a)if(f.toLowerCase()===o){c=a[f];break}a=c}else a=null;if(a==null)break}if(b(!i||a!=null,"missing required value","path",n),s&&a!=null){if(s==="int"){if(typeof a=="string"&&a.match(/^-?[0-9]+$/))return parseInt(a);if(Number.isSafeInteger(a))return a}if(s==="number"&&typeof a=="string"&&a.match(/^-?[0-9.]*$/))return parseFloat(a);if(s==="data"&&typeof a=="string")return ld(a);if(s==="array"&&Array.isArray(a)||s===typeof a)return a;b(!1,`wrong type found for ${s} `,"path",n)}return a}const ud="m/44'/60'/0'/0/0";function Hf(r){try{const e=JSON.parse(r);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function Db(r,e,t){if(oe(r,"crypto.cipher:string")==="aes-128-ctr"){const s=oe(r,"crypto.cipherparams.iv:data!"),i=new ni(e,s);return P(i.decrypt(t))}N(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function n0(r,e){const t=v(e),n=oe(r,"crypto.ciphertext:data!"),s=P(ie(X([t.slice(16,32),n]))).substring(2);b(s===oe(r,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");const i=Db(r,t.slice(0,16),n),a=oa(i);if(r.address){let f=r.address.toLowerCase();f.startsWith("0x")||(f="0x"+f),b(J(f)===a,"keystore address/privateKey mismatch","address",r.address)}const o={address:a,privateKey:i};if(oe(r,"x-ethers.version:string")==="0.1"){const f=t.slice(32,64),u=oe(r,"x-ethers.mnemonicCiphertext:data!"),d=oe(r,"x-ethers.mnemonicCounter:data!"),x=new ni(f,d);o.mnemonic={path:oe(r,"x-ethers.path:string")||ud,locale:oe(r,"x-ethers.locale:string")||"en",entropy:P(v(x.decrypt(u)))}}return o}function dd(r){const e=oe(r,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){const t=oe(r,"crypto.kdfparams.salt:data!"),n=oe(r,"crypto.kdfparams.n:int!"),s=oe(r,"crypto.kdfparams.r:int!"),i=oe(r,"crypto.kdfparams.p:int!");b(n>0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),b(s>0&&i>0,"invalid kdf","kdf",e);const a=oe(r,"crypto.kdfparams.dklen:int!");return b(a===32,"invalid kdf.dklen","kdf.dflen",a),{name:"scrypt",salt:t,N:n,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){const t=oe(r,"crypto.kdfparams.salt:data!"),n=oe(r,"crypto.kdfparams.prf:string!"),s=n.split("-").pop();b(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",n);const i=oe(r,"crypto.kdfparams.c:int!"),a=oe(r,"crypto.kdfparams.dklen:int!");return b(a===32,"invalid kdf.dklen","kdf.dklen",a),{name:"pbkdf2",salt:t,count:i,dkLen:a,algorithm:s}}}b(!1,"unsupported key-derivation function","kdf",e)}function Fb(r,e){const t=JSON.parse(r),n=da(e),s=dd(t);if(s.name==="pbkdf2"){const{salt:d,count:x,dkLen:p,algorithm:m}=s,g=Gn(n,d,x,p,m);return n0(t,g)}N(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});const{salt:i,N:a,r:o,p:c,dkLen:f}=s,u=ci(n,i,a,o,c,f);return n0(t,u)}function Vf(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}async function Mb(r,e,t){const n=JSON.parse(r),s=da(e),i=dd(n);if(i.name==="pbkdf2"){t&&(t(0),await Vf(0));const{salt:x,count:p,dkLen:m,algorithm:g}=i,A=Gn(s,x,p,m,g);return t&&(t(1),await Vf(0)),n0(n,A)}N(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});const{salt:a,N:o,r:c,p:f,dkLen:u}=i,d=await oi(s,a,o,c,f,u,t);return n0(n,d)}function hd(r){const e=r.salt!=null?v(r.salt,"options.salt"):tn(32);let t=1<<17,n=8,s=1;return r.scrypt&&(r.scrypt.N&&(t=r.scrypt.N),r.scrypt.r&&(n=r.scrypt.r),r.scrypt.p&&(s=r.scrypt.p)),b(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),b(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),b(typeof s=="number"&&s>0&&Number.isSafeInteger(s),"invalid scrypt p parameter","options.p",s),{name:"scrypt",dkLen:32,salt:e,N:t,r:n,p:s}}function xd(r,e,t,n){const s=v(t.privateKey,"privateKey"),i=n.iv!=null?v(n.iv,"options.iv"):tn(16);b(i.length===16,"invalid options.iv length","options.iv",n.iv);const a=n.uuid!=null?v(n.uuid,"options.uuid"):tn(16);b(a.length===16,"invalid options.uuid length","options.uuid",n.iv);const o=r.slice(0,16),c=r.slice(16,32),f=new ni(o,i),u=v(f.encrypt(s)),d=ie(X([c,u])),x={address:t.address.substring(2).toLowerCase(),id:zd(a),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:P(i).substring(2)},ciphertext:P(u).substring(2),kdf:"scrypt",kdfparams:{salt:P(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(t.mnemonic){const p=n.client!=null?n.client:`ethers/${jf}`,m=t.mnemonic.path||ud,g=t.mnemonic.locale||"en",A=r.slice(32,64),E=v(t.mnemonic.entropy,"account.mnemonic.entropy"),C=tn(16),T=new ni(A,C),M=v(T.encrypt(E)),O=new Date,F="UTC--"+(O.getUTCFullYear()+"-"+di(O.getUTCMonth()+1,2)+"-"+di(O.getUTCDate(),2)+"T"+di(O.getUTCHours(),2)+"-"+di(O.getUTCMinutes(),2)+"-"+di(O.getUTCSeconds(),2)+".0Z")+"--"+x.address;x["x-ethers"]={client:p,gethFilename:F,path:m,locale:g,mnemonicCounter:P(C).substring(2),mnemonicCiphertext:P(M).substring(2),version:"0.1"}}return JSON.stringify(x)}function bd(r,e,t){t==null&&(t={});const n=da(e),s=hd(t),i=ci(n,s.salt,s.N,s.r,s.p,64);return xd(v(i),s,r,t)}async function pd(r,e,t){t==null&&(t={});const n=da(e),s=hd(t),i=await oi(n,s.salt,s.N,s.r,s.p,64,t.progressCallback);return xd(v(i),s,r,t)}const eo="m/44'/60'/0'/0/0",Gb=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),Fn=2147483648,Hb=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Vb="0123456789abcdef";function r0(r,e){let t="";for(;r;)t=Vb[r%16]+t,r=Math.trunc(r/16);for(;t.length<e*2;)t="0"+t;return"0x"+t}function Lo(r){const e=v(r),t=ne(ot(ot(e)),0,4),n=X([e,t]);return qf(n)}const Nt={};function gd(r,e,t,n){const s=new Uint8Array(37);r&Fn?(N(n!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(v(n),1)):s.set(v(t));for(let a=24;a>=0;a-=8)s[33+(a>>3)]=r>>24-a&255;const i=v(ii("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function yd(r,e){const t=e.split("/");b(t.length>0,"invalid path","path",e),t[0]==="m"&&(b(r.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${r.depth}`,"path",e),t.shift());let n=r;for(let s=0;s<t.length;s++){const i=t[s];if(i.match(/^[0-9]+'$/)){const a=parseInt(i.substring(0,i.length-1));b(a<Fn,"invalid path index",`path[${s}]`,i),n=n.deriveChild(Fn+a)}else if(i.match(/^[0-9]+$/)){const a=parseInt(i);b(a<Fn,"invalid path index",`path[${s}]`,i),n=n.deriveChild(a)}else b(!1,"invalid path component",`path[${s}]`,i)}return n}var sa,Do,Er,Ai;const lt=class lt extends e0{constructor(t,n,s,i,a,o,c,f,u){super(n,u);w(this,sa);y(this,"publicKey");y(this,"fingerprint");y(this,"parentFingerprint");y(this,"mnemonic");y(this,"chainCode");y(this,"path");y(this,"index");y(this,"depth");Br(t,Nt,"HDNodeWallet"),D(this,{publicKey:n.compressedPublicKey});const d=ne(ai(ot(this.publicKey)),0,4);D(this,{parentFingerprint:s,fingerprint:d,chainCode:i,path:a,index:o,depth:c}),D(this,{mnemonic:f})}connect(t){return new lt(Nt,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}async encrypt(t,n){return await pd(I(this,sa,Do).call(this),t,{progressCallback:n})}encryptSync(t){return bd(I(this,sa,Do).call(this),t)}get extendedKey(){return N(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Lo(X(["0x0488ADE4",r0(this.depth,1),this.parentFingerprint,r0(this.index,4),this.chainCode,X(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new Fi(Nt,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){const n=K(t,"index");b(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~Fn),n&Fn&&(s+="'"));const{IR:i,IL:a}=gd(n,this.chainCode,this.publicKey,this.privateKey),o=new Lt(rn((b0(a)+BigInt(this.privateKey))%Hb,32));return new lt(Nt,o,this.fingerprint,P(i),s,n,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return yd(this,t)}static fromExtendedKey(t){const n=Oe(Od(t));b(n.length===82||Lo(n.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");const s=n[4],i=P(n.slice(5,9)),a=parseInt(P(n.slice(9,13)).substring(2),16),o=P(n.slice(13,45)),c=n.slice(45,78);switch(P(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":{const f=P(c);return new Fi(Nt,oa(f),f,i,o,null,a,s,null)}case"0x0488ade4":case"0x04358394 ":if(c[0]!==0)break;return new lt(Nt,new Lt(c.slice(1)),i,o,null,a,s,null,null)}b(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,n,s){var a;t==null&&(t=""),n==null&&(n=eo),s==null&&(s=Rr.wordlist());const i=ti.fromEntropy(tn(16),t,s);return I(a=lt,Er,Ai).call(a,i.computeSeed(),i).derivePath(n)}static fromMnemonic(t,n){var s;return n||(n=eo),I(s=lt,Er,Ai).call(s,t.computeSeed(),t).derivePath(n)}static fromPhrase(t,n,s,i){var o;n==null&&(n=""),s==null&&(s=eo),i==null&&(i=Rr.wordlist());const a=ti.fromPhrase(t,n,i);return I(o=lt,Er,Ai).call(o,a.computeSeed(),a).derivePath(s)}static fromSeed(t){var n;return I(n=lt,Er,Ai).call(n,t,null)}};sa=new WeakSet,Do=function(){const t={address:this.address,privateKey:this.privateKey},n=this.mnemonic;return this.path&&n&&n.wordlist.locale==="en"&&n.password===""&&(t.mnemonic={path:this.path,locale:"en",entropy:n.entropy}),t},Er=new WeakSet,Ai=function(t,n){b(d0(t),"invalid seed","seed","[REDACTED]");const s=v(t,"seed");b(s.length>=16&&s.length<=64,"invalid seed","seed","[REDACTED]");const i=v(ii("sha512",Gb,s)),a=new Lt(P(i.slice(0,32)));return new lt(Nt,a,"0x00000000",P(i.slice(32)),"m",0,0,n,null)},w(lt,Er);let Ni=lt;class Fi extends Co{constructor(t,n,s,i,a,o,c,f,u){super(n,u);y(this,"publicKey");y(this,"fingerprint");y(this,"parentFingerprint");y(this,"chainCode");y(this,"path");y(this,"index");y(this,"depth");Br(t,Nt,"HDNodeVoidWallet"),D(this,{publicKey:s});const d=ne(ai(ot(s)),0,4);D(this,{publicKey:s,fingerprint:d,parentFingerprint:i,chainCode:a,path:o,index:c,depth:f})}connect(t){return new Fi(Nt,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return N(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Lo(X(["0x0488B21E",r0(this.depth,1),this.parentFingerprint,r0(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){const n=K(t,"index");b(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~Fn),n&Fn&&(s+="'"));const{IR:i,IL:a}=gd(n,this.chainCode,this.publicKey,null),o=Lt.addPoints(a,this.publicKey,!0),c=oa(o);return new Fi(Nt,c,o,this.fingerprint,P(i),s,n,this.depth+1,this.provider)}derivePath(t){return yd(this,t)}}function Qf(r){try{if(JSON.parse(r).encseed)return!0}catch{}return!1}function Kf(r,e){const t=JSON.parse(r),n=da(e),s=J(oe(t,"ethaddr:string!")),i=ld(oe(t,"encseed:string!"));b(i&&i.length%16===0,"invalid encseed","json",r);const a=v(Gn(n,n,2e3,32,"sha256")).slice(0,16),o=i.slice(0,16),c=i.slice(16),f=new bc(a,o),u=Lb(v(f.decrypt(c)));let d="";for(let x=0;x<u.length;x++)d+=String.fromCharCode(u[x]);return{address:s,privateKey:an(d)}}function _f(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}var ia,Mo;const Wn=class Wn extends e0{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Lt(e):e;super(n,t)}connect(e){return new Wn(this.signingKey,e)}async encrypt(e,t){const n={address:this.address,privateKey:this.privateKey};return await pd(n,e,{progressCallback:t})}encryptSync(e){const t={address:this.address,privateKey:this.privateKey};return bd(t,e)}static async fromEncryptedJson(e,t,n){var i;let s=null;return Hf(e)?s=await Mb(e,t,n):Qf(e)&&(n&&(n(0),await _f(0)),s=Kf(e,t),n&&(n(1),await _f(0))),I(i=Wn,ia,Mo).call(i,s)}static fromEncryptedJsonSync(e,t){var s;let n=null;return Hf(e)?n=Fb(e,t):Qf(e)?n=Kf(e,t):b(!1,"invalid JSON wallet","json","[ REDACTED ]"),I(s=Wn,ia,Mo).call(s,n)}static createRandom(e){const t=Ni.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){const n=Ni.fromPhrase(e);return t?n.connect(t):n}};ia=new WeakSet,Mo=function(e){if(b(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){const n=ti.fromEntropy(e.mnemonic.entropy),s=Ni.fromMnemonic(n,e.mnemonic.path);if(s.address===e.address&&s.privateKey===e.privateKey)return s;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}const t=new Wn(e.privateKey);return b(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},w(Wn,ia);let Fo=Wn;const Qb=0,Kb=0n,ha="Evm",_b=(r,e)=>({...r,from:e}),zb=(r,e)=>({...r,chainId:e}),Go="0x0000000000000000000000000000000000000000",ut=class ut{constructor(e){y(this,"type","Native");y(this,"address");if(ut.instanceof(e)){const t=e;this.address=t.address;return}if(typeof e=="string"){if(!ut.isValidAddress(e))throw new Error(`Invalid EVM address, expected ${ut.byteSize}-byte hex string but got ${e}`);this.address=J(e)}else if(e instanceof Uint8Array){if(e.length!==ut.byteSize)throw new Error(`Invalid EVM address, expected ${ut.byteSize} bytes but got ${e.length}`);this.address=J(de.hex.encode(e))}else if(de.UniversalAddress.instanceof(e)){const t=e.toUint8Array();if(t.slice(0,12).some(s=>{}))throw new Error(`Invalid EVM address ${e}`);const n=de.hex.encode(t.slice(12));this.address=J(n)}else throw new Error(`Invalid EVM address ${e}`)}unwrap(){return this.address}toString(){return this.address}toNative(){return this}toUint8Array(){return de.hex.decode(this.address)}toUniversalAddress(){return new de.UniversalAddress(this.address,"hex")}static isValidAddress(e){return Uh(e)}static instanceof(e){return e.constructor.platform===ut.platform}equals(e){return ut.instanceof(e)?e.address===this.address:e.equals(this.toUniversalAddress())}};y(ut,"byteSize",20),y(ut,"platform",ha);let Mn=ut;de.registerNative(ha,Mn);const ka=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"spender_",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"subtractedValue_",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"domainFields",type:"bytes1"},{internalType:"string",name:"domainName",type:"string"},{internalType:"string",name:"domainVersion",type:"string"},{internalType:"uint256",name:"domainChainId",type:"uint256"},{internalType:"address",name:"domainVerifyingContract",type:"address"},{internalType:"bytes32",name:"domainSalt",type:"bytes32"},{internalType:"uint256[]",name:"domainExtensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"addedValue_",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint8",name:"decimals_",type:"uint8"},{internalType:"uint64",name:"sequence_",type:"uint64"},{internalType:"address",name:"owner_",type:"address"},{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"bytes32",name:"nativeContract_",type:"bytes32"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"nativeContract",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"value_",type:"uint256"},{internalType:"uint256",name:"deadline_",type:"uint256"},{internalType:"uint8",name:"v_",type:"uint8"},{internalType:"bytes32",name:"r_",type:"bytes32"},{internalType:"bytes32",name:"s_",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender_",type:"address"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint64",name:"sequence_",type:"uint64"}],name:"updateDetails",outputs:[],stateMutability:"nonpayable",type:"function"}],zf="0x6080806040523461001657611af2908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816306fdde0314611136578163095ea7b31461110c57816318160ddd146110ed57816323b872dd14611026578163313ce567146110055781633644e51514610fe15781633950935114610f985781633d6c043b14610f7957816340c10f1914610ea157816370a0823114610e695781637ecebe0014610e3157816384b0196e14610d575781638da5cb5b14610d2e57816395d89b4114610c595781639a8a059214610c335781639dc29fac14610af1578163a18cd7c6146107bf578163a457c2d71461070f578163a9059cbb146106de578163c71f461514610335578163d505accf14610160575063dd62ed3e1461011557600080fd5b3461015c578060031936011261015c57806020926101316111af565b6101396111ca565b6001600160a01b0391821683526006865283832091168252845220549051908152f35b5080fd5b8391503461015c5760e036600319011261015c5761017c6111af565b6101846111ca565b906044359260643560843560ff81168103610331576101a16112e1565b8142116102ee5760018060a01b039081851692838952600e602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815261021e81611212565b519020610229611798565b918a5191602083019361190160f01b855260228401526042830152604282526080820182811067ffffffffffffffff8211176102db5791610283939161027b938d5260c4359260a435925190206119c7565b919091611855565b160361029857506102959394506115e0565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b634e487b7160e01b8b526041875260248bfd5b875162461bcd60e51b8152602081850152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b8680fd5b9050346106da5760e03660031901126106da5767ffffffffffffffff81358181116106d6576103679036908401611250565b916024358281116106d25761037f9036908301611250565b6044359060ff821680920361033157606435938085168095036106ce576084356001600160a01b03811696908790036106ca5760a4359761ffff891689036106c6576007549060ff8260a01c1661068e575060ff60a01b1916600160a01b17600755805182811161067b57806103f58b546112a7565b92601f93848111610622575b506020908483116001146105b3578c926105a8575b50508160011b916000199060031b1c19161789555b825191821161059557819060019361044385546112a7565b828111610538575b5060209183116001146104cd578a926104c2575b5050600019600383901b1c191690821b1790555b60ff1982541617905567ffffffffffffffff1960025416176002556007549161ffff60a81b9060a81b16916bffffffffffffffffff0000ff60a01b16171760075560c4356008556102956112e1565b01519050388061045f565b848b52849350600080516020611a9d8339815191529190601f1984168c5b81811061052057508411610507575b505050811b019055610473565b015160001960f88460031b161c191690553880806104fa565b828401518555879690940193602093840193016104eb565b90919250848b52600080516020611a9d8339815191528380860160051c8201926020871061058c575b91869588929594930160051c01915b82811061057e57505061044b565b8d8155869550879101610570565b92508192610561565b634e487b7160e01b895260418552602489fd5b015190503880610416565b8c8052600080516020611a7d8339815191529250601f1984168d5b81811061060a57509084600195949392106105f1575b505050811b01895561042b565b015160001960f88460031b161c191690553880806105e4565b929360206001819287860151815501950193016105ce565b9091508b8052600080516020611a7d8339815191528480850160051c82019260208610610672575b9085949392910160051c01905b8181106106645750610401565b8d8155849350600101610657565b9250819261064a565b634e487b7160e01b8a526041865260248afd5b5162461bcd60e51b81526020818801526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b8980fd5b8880fd5b8780fd5b8580fd5b8480fd5b8280fd5b50503461015c578060031936011261015c576020906107086106fe6111af565b6024359033611416565b5160018152f35b905082346107bc57826003193601126107bc5761072a6111af565b918360243592338152600660205281812060018060a01b038616825260205220549082821061076b576020856107088661076487876113e6565b90336115e0565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b83833461015c57606036600319011261015c5767ffffffffffffffff928035848111610aed576107f29036908301611250565b936024358181116106d65761080a9036908401611250565b91604435938285168095036106d25761082e60018060a01b03600754163314611594565b8483600254161015610aaa57508551828111610a97578061084f87546112a7565b97601f98898111610a3e575b506020908983116001146109cf5788926109c4575b50508160011b916000199060031b1c19161785555b82519182116109b1575060019161089c83546112a7565b868111610961575b5060209582116001146108f75794849582939495926108ec575b5050600019600383901b1c191690821b1790555b67ffffffffffffffff1960025416176002556102956112e1565b0151905085806108be565b828552601f19821695600080516020611a9d83398151915291865b88811061094b5750838596979810610932575b505050811b0190556108d2565b015160001960f88460031b161c19169055858080610925565b8183015184559285019260209283019201610912565b838652600080516020611a9d8339815191528780850160051c820192602086106109a8575b0160051c019084905b82811061099d5750506108a4565b87815501849061098f565b92508192610986565b634e487b7160e01b855260419052602484fd5b015190508880610870565b888052600080516020611a7d8339815191529250601f198416895b818110610a265750908460019594939210610a0d575b505050811b018555610885565b015160001960f88460031b161c19169055888080610a00565b929360206001819287860151815501950193016109ea565b909150878052600080516020611a7d8339815191528980850160051c82019260208610610a8e575b9085949392910160051c01905b818110610a80575061085b565b898155849350600101610a73565b92508192610a66565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b8352820152601e60248201527f63757272656e74206d6574616461746120697320757020746f206461746500006044820152fd5b8380fd5b8391503461015c578260031936011261015c57610b0c6111af565b600754602435916001600160a01b0391610b299083163314611594565b16918215610be65782845260056020528484205490828210610b985750818495610b767fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef946020946113e6565b8587526005845281872055610b8d826003546113e6565b60035551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152fd5b50503461015c578160031936011261015c5760209061ffff60075460a81c169051908152f35b50503461015c578160031936011261015c57805190826001805491610c7d836112a7565b80865292828116908115610d065750600114610cbc575b505050610ca682610cb894038361122e565b5191829160208352602083019061118a565b0390f35b9450808552600080516020611a9d8339815191525b828610610cee57505050610ca6826020610cb89582010194610c94565b80546020878701810191909152909501948101610cd1565b610cb8975086935060209250610ca694915060ff191682840152151560051b82010194610c94565b50503461015c578160031936011261015c5760075490516001600160a01b039091168152602090f35b9050346106da57826003193601126106da57610d7161133d565b918051610d7d816111e0565b600194858252602091603160f81b83820152610d97611810565b938051918483019683881067ffffffffffffffff8911176109b1575093879592610dee838b978a859652878452610de182519a601f60f81b8c5260e0878d015260e08c019061118a565b918a8303908b015261118a565b9346606089015230608089015260a088015286840360c088015251928381520195925b828110610e1e5785870386f35b8351875295810195928101928401610e11565b50503461015c57602036600319011261015c5760209181906001600160a01b03610e596111af565b168152600e845220549051908152f35b50503461015c57602036600319011261015c5760209181906001600160a01b03610e916111af565b1681526005845220549051908152f35b919050346106da57806003193601126106da57610ebc6111af565b60075460243592916001600160a01b0391610eda9083163314611594565b16928315610f3757506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f158795600354611409565b60035585855260058352808520610f2d838254611409565b905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b50503461015c578160031936011261015c576020906008549051908152f35b50503461015c578060031936011261015c57610708602092610764610fbb6111af565b338352600686528483206001600160a01b03821684528652918490205460243590611409565b50503461015c578160031936011261015c57602090610ffe611798565b9051908152f35b8284346107bc57806003193601126107bc575060ff60209254169051908152f35b905082346107bc5760603660031901126107bc576110426111af565b918361104c6111ca565b9261105b604435809587611416565b6001600160a01b0385168152600660209081528282203383529052205490828210611099576020856107088661109187876113e6565b9033906115e0565b608490602086519162461bcd60e51b8352820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152fd5b50503461015c578160031936011261015c576020906003549051908152f35b50503461015c578060031936011261015c5760209061070861112c6111af565b60243590336115e0565b50503461015c578160031936011261015c57610cb89061115461133d565b905191829160208352602083019061118a565b60005b83811061117a5750506000910152565b818101518382015260200161116a565b906020916111a381518092818552858086019101611167565b601f01601f1916010190565b600435906001600160a01b03821682036111c557565b600080fd5b602435906001600160a01b03821682036111c557565b6040810190811067ffffffffffffffff8211176111fc57604052565b634e487b7160e01b600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176111fc57604052565b90601f8019910116810190811067ffffffffffffffff8211176111fc57604052565b81601f820112156111c55780359067ffffffffffffffff82116111fc5760405192611285601f8401601f19166020018561122e565b828452602083830101116111c557816000926020809301838601378301015290565b90600182811c921680156112d7575b60208310146112c157565b634e487b7160e01b600052602260045260246000fd5b91607f16916112b6565b6112e96117de565b6112f1611810565b81600d5414801590611331575b611306575050565b46600a55600b80546001600160a01b0319163017905561132681836116e2565b600955600c55600d55565b5080600c5414156112fe565b60405190600082815491611350836112a7565b808352926001908181169081156113c45750600114611379575b506113779250038361122e565b565b60008080529150600080516020611a7d8339815191525b8483106113a9575061137793505081016020013861136a565b81935090816020925483858a01015201910190918592611390565b90506020925061137794915060ff191682840152151560051b8201013861136a565b919082039182116113f357565b634e487b7160e01b600052601160045260246000fd5b919082018092116113f357565b6001600160a01b0390811691821561154157169182156114f0576000828152600560205260408120549180831061149c576040602092611477837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef966113e6565b868252600585528282205586815220611491828254611409565b9055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b1561159b57565b60405162461bcd60e51b815260206004820152601760248201527f63616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606490fd5b6001600160a01b0390811691821561169157169182156116415760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260068252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b90604051906116f0826111e0565b600191828152602092603160f81b84830152604051918460005b83811061178457505050600060218301528152611726816111e0565b828151910120604051928301937fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564728552604084015260608301524660808301523060a083015260c082015260c0815261177e81611212565b51902090565b81818401015182828701015201859061170a565b600b546001600160a01b03163014806117d3575b156117b75760095490565b6117d06117c26117de565b6117ca611810565b906116e2565b90565b50600a5446146117ac565b6117e661133d565b60405161177e602082816118038183019687815193849201611167565b810103808452018261122e565b60075460085460405190602082019261ffff60f01b9060481b1683526022820152602281526060810181811067ffffffffffffffff8211176111fc5760405251902090565b60058110156119b157806118665750565b600181036118b35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b600281036119005760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b600381036119585760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b60041461196157565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611a705760ff16601b81141580611a65575b611a59579160809493916020936040519384528484015260408301526060820152600093849182805260015afa15611a4c5781516001600160a01b03811615611a46579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600490565b50601c8114156119ff565b5050505060009060039056fe290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6a26469706673582212209c2a6ab851b98b79f450a0f6c6580132088da5913ef53a145eab9f7b320248f664736f6c63430008130033",Jb=r=>r.length>1;class Ho extends uc{constructor(...e){Jb(e)?super(...e):super(ka,zf,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new Ui(ka)}static connect(e,t){return new ts(e,ka,t)}}y(Ho,"bytecode",zf),y(Ho,"abi",ka);class md extends Jf.ChainContext{}const tt=class tt extends Jf.PlatformContext{constructor(e,t){super(e,t??de.networkPlatformConfigs(e,tt._platform))}getRpc(e){if(e in this.config&&this.config[e].rpc)return new ub(this.config[e].rpc);throw new Error("No configuration available for chain: "+e)}getChain(e,t){if(e in this.config)return new md(e,this,t);throw new Error("No configuration available for chain: "+e)}static nativeTokenId(e,t){if(!tt.isSupportedChain(t))throw new Error(`invalid chain for EVM: ${t}`);return de.Wormhole.tokenId(t,Go)}static isNativeTokenId(e,t,n){return!tt.isSupportedChain(t)||n.chain!==t?!1:n.address.toString()===Go}static isSupportedChain(e){return de.chainToPlatform(e)===tt._platform}static async getDecimals(e,t,n){if(de.isNative(n))return de.nativeDecimals(tt._platform);const s=tt.getTokenImplementation(t,new Mn(n).toString());return Number(await s.decimals())}static async getBalance(e,t,n,s){return de.isNative(s)?t.getBalance(n):tt.getTokenImplementation(t,new Mn(s).toString()).balanceOf(n)}static async getBalances(e,t,n,s){return(await Promise.all(s.map(async a=>{const o=await this.getBalance(e,t,n,a);return{[de.isNative(a)?"native":new Mn(a).toString()]:o}}))).reduce((a,o)=>Object.assign(a,o),{})}static async sendWait(e,t,n){const s=[];for(const i of n){const a=await t.broadcastTransaction(i);if(s.push(a.hash),e==="Celo"){console.error("TODO: override celo block fetching");continue}if(await a.wait()===null)throw new Error("Received null TxReceipt")}return s}static async getLatestBlock(e){return await e.getBlockNumber()}static async getLatestFinalizedBlock(e){const t=await e.getBlock("finalized");if(!t)throw new Error("Could not get finalized block");return t==null?void 0:t.number}static chainFromChainId(e){const t=de.platformNativeChainIdToNetworkChain(tt._platform,BigInt(e));if(t===void 0)throw new Error(`Unknown EVM chainId ${e}`);const[n,s]=t;return[n,s]}static async chainFromRpc(e){const{chainId:t}=await e.getNetwork();return tt.chainFromChainId(de.bignum.encode(t,!0))}static getTokenImplementation(e,t){const n=Ho.connect(t,e);if(!n)throw new Error(`No token implementation available for: ${t}`);return n}};y(tt,"_platform",ha);let ri=tt;async function jb(r,e,t){const n=typeof e=="string"?new Fo(e,r):e,s=(t==null?void 0:t.chain)??(await ri.chainFromRpc(r))[1],i=new So(n);if(i.provider===null)try{i.connect(r)}catch(a){console.error("Cannot connect to network for signer",a)}return new Wb(s,await n.getAddress(),i,t)}class Wb extends de.PlatformNativeSigner{constructor(t,n,s,i){super(t,n,s);y(this,"opts");this.opts=i}chain(){return this._chain}address(){return this._address}async sign(t){var u,d;const n=this.chain(),s=[],i=((u=this.opts)==null?void 0:u.maxGasLimit)??500000n;let a=100000000000n,o=1500000000n,c=100000000n;if(n!=="Celo"){const x=await this._signer.provider.getFeeData();a=x.gasPrice??a,o=x.maxFeePerGas??o,c=x.maxPriorityFeePerGas??c}const f=n==="Oasis"?{gasLimit:i,gasPrice:a,type:0}:{maxFeePerGas:o,maxPriorityFeePerGas:c,gasLimit:i};for(const x of t){const{transaction:p,description:m}=x;(d=this.opts)!=null&&d.debug&&console.log(`Signing: ${m} for ${this.address()}`);const g={...p,...f,from:this.address(),nonce:await this._signer.getNonce()};s.push(await this._signer.signTransaction(g))}return s}}const Zb={Address:Mn,Platform:ri,getSigner:jb,protocols:{WormholeCore:()=>Promise.resolve().then(()=>require("./index-BqGvvv6N.js")).then(r=>r.index),TokenBridge:()=>Promise.resolve().then(()=>require("./index-abvwfKBf.js")),PorticoBridge:()=>Promise.resolve().then(()=>require("./index-BCSt_UXY.js")),CircleBridge:()=>Promise.resolve().then(()=>require("./index-B9gw1I6s.js"))},getChain:(r,e,t)=>new md(e,new ri(r,de.applyChainsConfigConfigOverrides(r,ha,{[e]:t})))},Yb=Object.freeze(Object.defineProperty({__proto__:null,default:Zb},Symbol.toStringTag,{value:"Module"}));exports.EvmAddress=Mn;exports.EvmPlatform=ri;exports.EvmZeroAddress=Go;exports._platform=ha;exports.addChainId=zb;exports.addFrom=_b;exports.evm=Yb;exports.unusedArbiterFee=Kb;exports.unusedNonce=Qb;
|
|
4
|
+
`)!==l(this,na))throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);h(this,Ar,t)}return l(this,Ar)};const yb="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",mb="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60";let W0=null;class Rr extends gb{constructor(){super("en",yb,mb)}static wordlist(){return W0==null&&(W0=new Rr),W0}}function cd(r){return(1<<r)-1<<8-r&255}function wb(r){return(1<<r)-1&255}function Z0(r,e){Zf("NFKD"),e==null&&(e=Rr.wordlist());const t=e.split(r);b(t.length%3===0&&t.length>=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");const n=new Uint8Array(Math.ceil(11*t.length/8));let s=0;for(let f=0;f<t.length;f++){let u=e.getWordIndex(t[f].normalize("NFKD"));b(u>=0,`invalid mnemonic word at index ${f}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)u&1<<10-d&&(n[s>>3]|=1<<7-s%8),s++}const i=32*t.length/3,a=t.length/3,o=cd(a),c=v(ot(n.slice(0,i/8)))[0]&o;return b(c===(n[n.length-1]&o),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),P(n.slice(0,i/8))}function Y0(r,e){b(r.length%4===0&&r.length>=16&&r.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=Rr.wordlist());const t=[0];let n=11;for(let a=0;a<r.length;a++)n>8?(t[t.length-1]<<=8,t[t.length-1]|=r[a],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=r[a]>>8-n,t.push(r[a]&wb(8-n)),n+=3);const s=r.length/4,i=parseInt(ot(r).substring(2,4),16)&cd(s);return t[t.length-1]<<=s,t[t.length-1]|=i>>8-s,e.join(t.map(a=>e.getWord(a)))}const X0={};class ti{constructor(e,t,n,s,i){y(this,"phrase");y(this,"password");y(this,"wordlist");y(this,"entropy");s==null&&(s=""),i==null&&(i=Rr.wordlist()),Br(e,X0,"Mnemonic"),D(this,{phrase:n,password:s,wordlist:i,entropy:t})}computeSeed(){const e=Le("mnemonic"+this.password,"NFKD");return Gn(Le(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,n){const s=Z0(e,n);return e=Y0(v(s),n),new ti(X0,s,e,t,n)}static fromEntropy(e,t,n){const s=v(e,"entropy"),i=Y0(s,n);return new ti(X0,P(s),i,t,n)}static entropyToPhrase(e,t){const n=v(e,"entropy");return Y0(n,t)}static phraseToEntropy(e,t){return Z0(e,t)}static isValidMnemonic(e,t){try{return Z0(e,t),!0}catch{}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */var ge=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},$0=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},Qa,Xe,Et;const Ab={16:10,24:12,32:14},Eb=[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],Ze=[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],Ia=[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],Nb=[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],Pb=[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],Tb=[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],Ib=[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],Cb=[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],kb=[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],Ob=[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],Rb=[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],Bb=[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],vb=[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],Sb=[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],Ub=[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 q0(r){const e=[];for(let t=0;t<r.length;t+=4)e.push(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3]);return e}class xc{get key(){return ge(this,Qa,"f").slice()}constructor(e){if(Qa.set(this,void 0),Xe.set(this,void 0),Et.set(this,void 0),!(this instanceof xc))throw Error("AES must be instanitated with `new`");$0(this,Qa,new Uint8Array(e),"f");const t=Ab[this.key.length];if(t==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");$0(this,Et,[],"f"),$0(this,Xe,[],"f");for(let u=0;u<=t;u++)ge(this,Et,"f").push([0,0,0,0]),ge(this,Xe,"f").push([0,0,0,0]);const n=(t+1)*4,s=this.key.length/4,i=q0(this.key);let a;for(let u=0;u<s;u++)a=u>>2,ge(this,Et,"f")[a][u%4]=i[u],ge(this,Xe,"f")[t-a][u%4]=i[u];let o=0,c=s,f;for(;c<n;){if(f=i[s-1],i[0]^=Ze[f>>16&255]<<24^Ze[f>>8&255]<<16^Ze[f&255]<<8^Ze[f>>24&255]^Eb[o]<<24,o+=1,s!=8)for(let p=1;p<s;p++)i[p]^=i[p-1];else{for(let p=1;p<s/2;p++)i[p]^=i[p-1];f=i[s/2-1],i[s/2]^=Ze[f&255]^Ze[f>>8&255]<<8^Ze[f>>16&255]<<16^Ze[f>>24&255]<<24;for(let p=s/2+1;p<s;p++)i[p]^=i[p-1]}let u=0,d,x;for(;u<s&&c<n;)d=c>>2,x=c%4,ge(this,Et,"f")[d][x]=i[u],ge(this,Xe,"f")[t-d][x]=i[u++],c++}for(let u=1;u<t;u++)for(let d=0;d<4;d++)f=ge(this,Xe,"f")[u][d],ge(this,Xe,"f")[u][d]=Bb[f>>24&255]^vb[f>>16&255]^Sb[f>>8&255]^Ub[f&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");const t=ge(this,Et,"f").length-1,n=[0,0,0,0];let s=q0(e);for(let o=0;o<4;o++)s[o]^=ge(this,Et,"f")[0][o];for(let o=1;o<t;o++){for(let c=0;c<4;c++)n[c]=Nb[s[c]>>24&255]^Pb[s[(c+1)%4]>>16&255]^Tb[s[(c+2)%4]>>8&255]^Ib[s[(c+3)%4]&255]^ge(this,Et,"f")[o][c];s=n.slice()}const i=new Uint8Array(16);let a=0;for(let o=0;o<4;o++)a=ge(this,Et,"f")[t][o],i[4*o]=(Ze[s[o]>>24&255]^a>>24)&255,i[4*o+1]=(Ze[s[(o+1)%4]>>16&255]^a>>16)&255,i[4*o+2]=(Ze[s[(o+2)%4]>>8&255]^a>>8)&255,i[4*o+3]=(Ze[s[(o+3)%4]&255]^a)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");const t=ge(this,Xe,"f").length-1,n=[0,0,0,0];let s=q0(e);for(let o=0;o<4;o++)s[o]^=ge(this,Xe,"f")[0][o];for(let o=1;o<t;o++){for(let c=0;c<4;c++)n[c]=Cb[s[c]>>24&255]^kb[s[(c+3)%4]>>16&255]^Ob[s[(c+2)%4]>>8&255]^Rb[s[(c+1)%4]&255]^ge(this,Xe,"f")[o][c];s=n.slice()}const i=new Uint8Array(16);let a=0;for(let o=0;o<4;o++)a=ge(this,Xe,"f")[t][o],i[4*o]=(Ia[s[o]>>24&255]^a>>24)&255,i[4*o+1]=(Ia[s[(o+3)%4]>>16&255]^a>>16)&255,i[4*o+2]=(Ia[s[(o+2)%4]>>8&255]^a>>8)&255,i[4*o+3]=(Ia[s[(o+1)%4]&255]^a)&255;return i}}Qa=new WeakMap,Xe=new WeakMap,Et=new WeakMap;class fd{constructor(e,t,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new xc(t)},name:{enumerable:!0,value:e}})}}var Ca=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},Vr=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},mi,Dt;class bc extends fd{constructor(e,t){if(super("ECC",e,bc),mi.set(this,void 0),Dt.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Ca(this,mi,new Uint8Array(t),"f")}else Ca(this,mi,new Uint8Array(16),"f");Ca(this,Dt,this.iv,"f")}get iv(){return new Uint8Array(Vr(this,mi,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");const t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){for(let s=0;s<16;s++)Vr(this,Dt,"f")[s]^=e[n+s];Ca(this,Dt,this.aes.encrypt(Vr(this,Dt,"f")),"f"),t.set(Vr(this,Dt,"f"),n)}return t}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");const t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){const s=this.aes.decrypt(e.subarray(n,n+16));for(let i=0;i<16;i++)t[n+i]=s[i]^Vr(this,Dt,"f")[i],Vr(this,Dt,"f")[i]=e[n+i]}return t}}mi=new WeakMap,Dt=new WeakMap;var Qr=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},Ye=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},wi,Kn,$e;class ni extends fd{constructor(e,t){super("CTR",e,ni),wi.set(this,void 0),Kn.set(this,void 0),$e.set(this,void 0),Qr(this,$e,new Uint8Array(16),"f"),Ye(this,$e,"f").fill(0),Qr(this,wi,Ye(this,$e,"f"),"f"),Qr(this,Kn,16,"f"),t==null&&(t=1),typeof t=="number"?this.setCounterValue(t):this.setCounterBytes(t)}get counter(){return new Uint8Array(Ye(this,$e,"f"))}setCounterValue(e){if(!Number.isInteger(e)||e<0||e>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let t=15;t>=0;--t)Ye(this,$e,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");Ye(this,$e,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(Ye(this,$e,"f")[e]===255)Ye(this,$e,"f")[e]=0;else{Ye(this,$e,"f")[e]++;break}}encrypt(e){var t,n;const s=new Uint8Array(e);for(let i=0;i<s.length;i++)Ye(this,Kn,"f")===16&&(Qr(this,wi,this.aes.encrypt(Ye(this,$e,"f")),"f"),Qr(this,Kn,0,"f"),this.increment()),s[i]^=Ye(this,wi,"f")[Qr(this,Kn,(n=Ye(this,Kn,"f"),t=n++,n),"f"),t];return s}decrypt(e){return this.encrypt(e)}}wi=new WeakMap,Kn=new WeakMap,$e=new WeakMap;function Lb(r){if(r.length<16)throw new TypeError("PKCS#7 invalid length");const e=r[r.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");const t=r.length-e;for(let n=0;n<e;n++)if(r[t+n]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(r.subarray(0,t))}function ld(r){return typeof r=="string"&&!r.startsWith("0x")&&(r="0x"+r),we(r)}function di(r,e){for(r=String(r);r.length<e;)r="0"+r;return r}function da(r){return typeof r=="string"?Le(r,"NFKC"):we(r)}function oe(r,e){const t=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);b(t!=null,"invalid path","path",e);const n=t[1],s=t[3],i=t[4]==="!";let a=r;for(const o of n.toLowerCase().split(".")){if(Array.isArray(a)){if(!o.match(/^[0-9]+$/))break;a=a[parseInt(o)]}else if(typeof a=="object"){let c=null;for(const f in a)if(f.toLowerCase()===o){c=a[f];break}a=c}else a=null;if(a==null)break}if(b(!i||a!=null,"missing required value","path",n),s&&a!=null){if(s==="int"){if(typeof a=="string"&&a.match(/^-?[0-9]+$/))return parseInt(a);if(Number.isSafeInteger(a))return a}if(s==="number"&&typeof a=="string"&&a.match(/^-?[0-9.]*$/))return parseFloat(a);if(s==="data"&&typeof a=="string")return ld(a);if(s==="array"&&Array.isArray(a)||s===typeof a)return a;b(!1,`wrong type found for ${s} `,"path",n)}return a}const ud="m/44'/60'/0'/0/0";function Hf(r){try{const e=JSON.parse(r);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function Db(r,e,t){if(oe(r,"crypto.cipher:string")==="aes-128-ctr"){const s=oe(r,"crypto.cipherparams.iv:data!"),i=new ni(e,s);return P(i.decrypt(t))}N(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function n0(r,e){const t=v(e),n=oe(r,"crypto.ciphertext:data!"),s=P(ie(X([t.slice(16,32),n]))).substring(2);b(s===oe(r,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");const i=Db(r,t.slice(0,16),n),a=oa(i);if(r.address){let f=r.address.toLowerCase();f.startsWith("0x")||(f="0x"+f),b(J(f)===a,"keystore address/privateKey mismatch","address",r.address)}const o={address:a,privateKey:i};if(oe(r,"x-ethers.version:string")==="0.1"){const f=t.slice(32,64),u=oe(r,"x-ethers.mnemonicCiphertext:data!"),d=oe(r,"x-ethers.mnemonicCounter:data!"),x=new ni(f,d);o.mnemonic={path:oe(r,"x-ethers.path:string")||ud,locale:oe(r,"x-ethers.locale:string")||"en",entropy:P(v(x.decrypt(u)))}}return o}function dd(r){const e=oe(r,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){const t=oe(r,"crypto.kdfparams.salt:data!"),n=oe(r,"crypto.kdfparams.n:int!"),s=oe(r,"crypto.kdfparams.r:int!"),i=oe(r,"crypto.kdfparams.p:int!");b(n>0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),b(s>0&&i>0,"invalid kdf","kdf",e);const a=oe(r,"crypto.kdfparams.dklen:int!");return b(a===32,"invalid kdf.dklen","kdf.dflen",a),{name:"scrypt",salt:t,N:n,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){const t=oe(r,"crypto.kdfparams.salt:data!"),n=oe(r,"crypto.kdfparams.prf:string!"),s=n.split("-").pop();b(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",n);const i=oe(r,"crypto.kdfparams.c:int!"),a=oe(r,"crypto.kdfparams.dklen:int!");return b(a===32,"invalid kdf.dklen","kdf.dklen",a),{name:"pbkdf2",salt:t,count:i,dkLen:a,algorithm:s}}}b(!1,"unsupported key-derivation function","kdf",e)}function Fb(r,e){const t=JSON.parse(r),n=da(e),s=dd(t);if(s.name==="pbkdf2"){const{salt:d,count:x,dkLen:p,algorithm:m}=s,g=Gn(n,d,x,p,m);return n0(t,g)}N(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});const{salt:i,N:a,r:o,p:c,dkLen:f}=s,u=ci(n,i,a,o,c,f);return n0(t,u)}function Vf(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}async function Mb(r,e,t){const n=JSON.parse(r),s=da(e),i=dd(n);if(i.name==="pbkdf2"){t&&(t(0),await Vf(0));const{salt:x,count:p,dkLen:m,algorithm:g}=i,A=Gn(s,x,p,m,g);return t&&(t(1),await Vf(0)),n0(n,A)}N(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});const{salt:a,N:o,r:c,p:f,dkLen:u}=i,d=await oi(s,a,o,c,f,u,t);return n0(n,d)}function hd(r){const e=r.salt!=null?v(r.salt,"options.salt"):tn(32);let t=1<<17,n=8,s=1;return r.scrypt&&(r.scrypt.N&&(t=r.scrypt.N),r.scrypt.r&&(n=r.scrypt.r),r.scrypt.p&&(s=r.scrypt.p)),b(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),b(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),b(typeof s=="number"&&s>0&&Number.isSafeInteger(s),"invalid scrypt p parameter","options.p",s),{name:"scrypt",dkLen:32,salt:e,N:t,r:n,p:s}}function xd(r,e,t,n){const s=v(t.privateKey,"privateKey"),i=n.iv!=null?v(n.iv,"options.iv"):tn(16);b(i.length===16,"invalid options.iv length","options.iv",n.iv);const a=n.uuid!=null?v(n.uuid,"options.uuid"):tn(16);b(a.length===16,"invalid options.uuid length","options.uuid",n.iv);const o=r.slice(0,16),c=r.slice(16,32),f=new ni(o,i),u=v(f.encrypt(s)),d=ie(X([c,u])),x={address:t.address.substring(2).toLowerCase(),id:zd(a),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:P(i).substring(2)},ciphertext:P(u).substring(2),kdf:"scrypt",kdfparams:{salt:P(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(t.mnemonic){const p=n.client!=null?n.client:`ethers/${jf}`,m=t.mnemonic.path||ud,g=t.mnemonic.locale||"en",A=r.slice(32,64),E=v(t.mnemonic.entropy,"account.mnemonic.entropy"),C=tn(16),T=new ni(A,C),M=v(T.encrypt(E)),O=new Date,F="UTC--"+(O.getUTCFullYear()+"-"+di(O.getUTCMonth()+1,2)+"-"+di(O.getUTCDate(),2)+"T"+di(O.getUTCHours(),2)+"-"+di(O.getUTCMinutes(),2)+"-"+di(O.getUTCSeconds(),2)+".0Z")+"--"+x.address;x["x-ethers"]={client:p,gethFilename:F,path:m,locale:g,mnemonicCounter:P(C).substring(2),mnemonicCiphertext:P(M).substring(2),version:"0.1"}}return JSON.stringify(x)}function bd(r,e,t){t==null&&(t={});const n=da(e),s=hd(t),i=ci(n,s.salt,s.N,s.r,s.p,64);return xd(v(i),s,r,t)}async function pd(r,e,t){t==null&&(t={});const n=da(e),s=hd(t),i=await oi(n,s.salt,s.N,s.r,s.p,64,t.progressCallback);return xd(v(i),s,r,t)}const eo="m/44'/60'/0'/0/0",Gb=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),Fn=2147483648,Hb=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Vb="0123456789abcdef";function r0(r,e){let t="";for(;r;)t=Vb[r%16]+t,r=Math.trunc(r/16);for(;t.length<e*2;)t="0"+t;return"0x"+t}function Lo(r){const e=v(r),t=ne(ot(ot(e)),0,4),n=X([e,t]);return qf(n)}const Nt={};function gd(r,e,t,n){const s=new Uint8Array(37);r&Fn?(N(n!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(v(n),1)):s.set(v(t));for(let a=24;a>=0;a-=8)s[33+(a>>3)]=r>>24-a&255;const i=v(ii("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function yd(r,e){const t=e.split("/");b(t.length>0,"invalid path","path",e),t[0]==="m"&&(b(r.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${r.depth}`,"path",e),t.shift());let n=r;for(let s=0;s<t.length;s++){const i=t[s];if(i.match(/^[0-9]+'$/)){const a=parseInt(i.substring(0,i.length-1));b(a<Fn,"invalid path index",`path[${s}]`,i),n=n.deriveChild(Fn+a)}else if(i.match(/^[0-9]+$/)){const a=parseInt(i);b(a<Fn,"invalid path index",`path[${s}]`,i),n=n.deriveChild(a)}else b(!1,"invalid path component",`path[${s}]`,i)}return n}var sa,Do,Er,Ai;const lt=class lt extends e0{constructor(t,n,s,i,a,o,c,f,u){super(n,u);w(this,sa);y(this,"publicKey");y(this,"fingerprint");y(this,"parentFingerprint");y(this,"mnemonic");y(this,"chainCode");y(this,"path");y(this,"index");y(this,"depth");Br(t,Nt,"HDNodeWallet"),D(this,{publicKey:n.compressedPublicKey});const d=ne(ai(ot(this.publicKey)),0,4);D(this,{parentFingerprint:s,fingerprint:d,chainCode:i,path:a,index:o,depth:c}),D(this,{mnemonic:f})}connect(t){return new lt(Nt,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}async encrypt(t,n){return await pd(I(this,sa,Do).call(this),t,{progressCallback:n})}encryptSync(t){return bd(I(this,sa,Do).call(this),t)}get extendedKey(){return N(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Lo(X(["0x0488ADE4",r0(this.depth,1),this.parentFingerprint,r0(this.index,4),this.chainCode,X(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new Fi(Nt,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){const n=K(t,"index");b(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~Fn),n&Fn&&(s+="'"));const{IR:i,IL:a}=gd(n,this.chainCode,this.publicKey,this.privateKey),o=new Lt(rn((b0(a)+BigInt(this.privateKey))%Hb,32));return new lt(Nt,o,this.fingerprint,P(i),s,n,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return yd(this,t)}static fromExtendedKey(t){const n=Oe(Od(t));b(n.length===82||Lo(n.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");const s=n[4],i=P(n.slice(5,9)),a=parseInt(P(n.slice(9,13)).substring(2),16),o=P(n.slice(13,45)),c=n.slice(45,78);switch(P(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":{const f=P(c);return new Fi(Nt,oa(f),f,i,o,null,a,s,null)}case"0x0488ade4":case"0x04358394 ":if(c[0]!==0)break;return new lt(Nt,new Lt(c.slice(1)),i,o,null,a,s,null,null)}b(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,n,s){var a;t==null&&(t=""),n==null&&(n=eo),s==null&&(s=Rr.wordlist());const i=ti.fromEntropy(tn(16),t,s);return I(a=lt,Er,Ai).call(a,i.computeSeed(),i).derivePath(n)}static fromMnemonic(t,n){var s;return n||(n=eo),I(s=lt,Er,Ai).call(s,t.computeSeed(),t).derivePath(n)}static fromPhrase(t,n,s,i){var o;n==null&&(n=""),s==null&&(s=eo),i==null&&(i=Rr.wordlist());const a=ti.fromPhrase(t,n,i);return I(o=lt,Er,Ai).call(o,a.computeSeed(),a).derivePath(s)}static fromSeed(t){var n;return I(n=lt,Er,Ai).call(n,t,null)}};sa=new WeakSet,Do=function(){const t={address:this.address,privateKey:this.privateKey},n=this.mnemonic;return this.path&&n&&n.wordlist.locale==="en"&&n.password===""&&(t.mnemonic={path:this.path,locale:"en",entropy:n.entropy}),t},Er=new WeakSet,Ai=function(t,n){b(d0(t),"invalid seed","seed","[REDACTED]");const s=v(t,"seed");b(s.length>=16&&s.length<=64,"invalid seed","seed","[REDACTED]");const i=v(ii("sha512",Gb,s)),a=new Lt(P(i.slice(0,32)));return new lt(Nt,a,"0x00000000",P(i.slice(32)),"m",0,0,n,null)},w(lt,Er);let Ni=lt;class Fi extends Co{constructor(t,n,s,i,a,o,c,f,u){super(n,u);y(this,"publicKey");y(this,"fingerprint");y(this,"parentFingerprint");y(this,"chainCode");y(this,"path");y(this,"index");y(this,"depth");Br(t,Nt,"HDNodeVoidWallet"),D(this,{publicKey:s});const d=ne(ai(ot(s)),0,4);D(this,{publicKey:s,fingerprint:d,parentFingerprint:i,chainCode:a,path:o,index:c,depth:f})}connect(t){return new Fi(Nt,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return N(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Lo(X(["0x0488B21E",r0(this.depth,1),this.parentFingerprint,r0(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){const n=K(t,"index");b(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~Fn),n&Fn&&(s+="'"));const{IR:i,IL:a}=gd(n,this.chainCode,this.publicKey,null),o=Lt.addPoints(a,this.publicKey,!0),c=oa(o);return new Fi(Nt,c,o,this.fingerprint,P(i),s,n,this.depth+1,this.provider)}derivePath(t){return yd(this,t)}}function Qf(r){try{if(JSON.parse(r).encseed)return!0}catch{}return!1}function Kf(r,e){const t=JSON.parse(r),n=da(e),s=J(oe(t,"ethaddr:string!")),i=ld(oe(t,"encseed:string!"));b(i&&i.length%16===0,"invalid encseed","json",r);const a=v(Gn(n,n,2e3,32,"sha256")).slice(0,16),o=i.slice(0,16),c=i.slice(16),f=new bc(a,o),u=Lb(v(f.decrypt(c)));let d="";for(let x=0;x<u.length;x++)d+=String.fromCharCode(u[x]);return{address:s,privateKey:an(d)}}function _f(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}var ia,Mo;const Wn=class Wn extends e0{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Lt(e):e;super(n,t)}connect(e){return new Wn(this.signingKey,e)}async encrypt(e,t){const n={address:this.address,privateKey:this.privateKey};return await pd(n,e,{progressCallback:t})}encryptSync(e){const t={address:this.address,privateKey:this.privateKey};return bd(t,e)}static async fromEncryptedJson(e,t,n){var i;let s=null;return Hf(e)?s=await Mb(e,t,n):Qf(e)&&(n&&(n(0),await _f(0)),s=Kf(e,t),n&&(n(1),await _f(0))),I(i=Wn,ia,Mo).call(i,s)}static fromEncryptedJsonSync(e,t){var s;let n=null;return Hf(e)?n=Fb(e,t):Qf(e)?n=Kf(e,t):b(!1,"invalid JSON wallet","json","[ REDACTED ]"),I(s=Wn,ia,Mo).call(s,n)}static createRandom(e){const t=Ni.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){const n=Ni.fromPhrase(e);return t?n.connect(t):n}};ia=new WeakSet,Mo=function(e){if(b(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){const n=ti.fromEntropy(e.mnemonic.entropy),s=Ni.fromMnemonic(n,e.mnemonic.path);if(s.address===e.address&&s.privateKey===e.privateKey)return s;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}const t=new Wn(e.privateKey);return b(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},w(Wn,ia);let Fo=Wn;const Qb=0,Kb=0n,ha="Evm",_b=(r,e)=>({...r,from:e}),zb=(r,e)=>({...r,chainId:e}),Go="0x0000000000000000000000000000000000000000",ut=class ut{constructor(e){y(this,"type","Native");y(this,"address");if(ut.instanceof(e)){const t=e;this.address=t.address;return}if(typeof e=="string"){if(!ut.isValidAddress(e))throw new Error(`Invalid EVM address, expected ${ut.byteSize}-byte hex string but got ${e}`);this.address=J(e)}else if(e instanceof Uint8Array){if(e.length!==ut.byteSize)throw new Error(`Invalid EVM address, expected ${ut.byteSize} bytes but got ${e.length}`);this.address=J(de.hex.encode(e))}else if(de.UniversalAddress.instanceof(e)){const t=e.toUint8Array();if(t.slice(0,12).some(s=>{}))throw new Error(`Invalid EVM address ${e}`);const n=de.hex.encode(t.slice(12));this.address=J(n)}else throw new Error(`Invalid EVM address ${e}`)}unwrap(){return this.address}toString(){return this.address}toNative(){return this}toUint8Array(){return de.hex.decode(this.address)}toUniversalAddress(){return new de.UniversalAddress(this.address,"hex")}static isValidAddress(e){return Uh(e)}static instanceof(e){return e.constructor.platform===ut.platform}equals(e){return ut.instanceof(e)?e.address===this.address:e.equals(this.toUniversalAddress())}};y(ut,"byteSize",20),y(ut,"platform",ha);let Mn=ut;de.registerNative(ha,Mn);const ka=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"spender_",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"subtractedValue_",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"domainFields",type:"bytes1"},{internalType:"string",name:"domainName",type:"string"},{internalType:"string",name:"domainVersion",type:"string"},{internalType:"uint256",name:"domainChainId",type:"uint256"},{internalType:"address",name:"domainVerifyingContract",type:"address"},{internalType:"bytes32",name:"domainSalt",type:"bytes32"},{internalType:"uint256[]",name:"domainExtensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"addedValue_",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint8",name:"decimals_",type:"uint8"},{internalType:"uint64",name:"sequence_",type:"uint64"},{internalType:"address",name:"owner_",type:"address"},{internalType:"uint16",name:"chainId_",type:"uint16"},{internalType:"bytes32",name:"nativeContract_",type:"bytes32"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"nativeContract",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"spender_",type:"address"},{internalType:"uint256",name:"value_",type:"uint256"},{internalType:"uint256",name:"deadline_",type:"uint256"},{internalType:"uint8",name:"v_",type:"uint8"},{internalType:"bytes32",name:"r_",type:"bytes32"},{internalType:"bytes32",name:"s_",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender_",type:"address"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"uint256",name:"amount_",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint64",name:"sequence_",type:"uint64"}],name:"updateDetails",outputs:[],stateMutability:"nonpayable",type:"function"}],zf="0x6080806040523461001657611af2908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816306fdde0314611136578163095ea7b31461110c57816318160ddd146110ed57816323b872dd14611026578163313ce567146110055781633644e51514610fe15781633950935114610f985781633d6c043b14610f7957816340c10f1914610ea157816370a0823114610e695781637ecebe0014610e3157816384b0196e14610d575781638da5cb5b14610d2e57816395d89b4114610c595781639a8a059214610c335781639dc29fac14610af1578163a18cd7c6146107bf578163a457c2d71461070f578163a9059cbb146106de578163c71f461514610335578163d505accf14610160575063dd62ed3e1461011557600080fd5b3461015c578060031936011261015c57806020926101316111af565b6101396111ca565b6001600160a01b0391821683526006865283832091168252845220549051908152f35b5080fd5b8391503461015c5760e036600319011261015c5761017c6111af565b6101846111ca565b906044359260643560843560ff81168103610331576101a16112e1565b8142116102ee5760018060a01b039081851692838952600e602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815261021e81611212565b519020610229611798565b918a5191602083019361190160f01b855260228401526042830152604282526080820182811067ffffffffffffffff8211176102db5791610283939161027b938d5260c4359260a435925190206119c7565b919091611855565b160361029857506102959394506115e0565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b634e487b7160e01b8b526041875260248bfd5b875162461bcd60e51b8152602081850152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b8680fd5b9050346106da5760e03660031901126106da5767ffffffffffffffff81358181116106d6576103679036908401611250565b916024358281116106d25761037f9036908301611250565b6044359060ff821680920361033157606435938085168095036106ce576084356001600160a01b03811696908790036106ca5760a4359761ffff891689036106c6576007549060ff8260a01c1661068e575060ff60a01b1916600160a01b17600755805182811161067b57806103f58b546112a7565b92601f93848111610622575b506020908483116001146105b3578c926105a8575b50508160011b916000199060031b1c19161789555b825191821161059557819060019361044385546112a7565b828111610538575b5060209183116001146104cd578a926104c2575b5050600019600383901b1c191690821b1790555b60ff1982541617905567ffffffffffffffff1960025416176002556007549161ffff60a81b9060a81b16916bffffffffffffffffff0000ff60a01b16171760075560c4356008556102956112e1565b01519050388061045f565b848b52849350600080516020611a9d8339815191529190601f1984168c5b81811061052057508411610507575b505050811b019055610473565b015160001960f88460031b161c191690553880806104fa565b828401518555879690940193602093840193016104eb565b90919250848b52600080516020611a9d8339815191528380860160051c8201926020871061058c575b91869588929594930160051c01915b82811061057e57505061044b565b8d8155869550879101610570565b92508192610561565b634e487b7160e01b895260418552602489fd5b015190503880610416565b8c8052600080516020611a7d8339815191529250601f1984168d5b81811061060a57509084600195949392106105f1575b505050811b01895561042b565b015160001960f88460031b161c191690553880806105e4565b929360206001819287860151815501950193016105ce565b9091508b8052600080516020611a7d8339815191528480850160051c82019260208610610672575b9085949392910160051c01905b8181106106645750610401565b8d8155849350600101610657565b9250819261064a565b634e487b7160e01b8a526041865260248afd5b5162461bcd60e51b81526020818801526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b8980fd5b8880fd5b8780fd5b8580fd5b8480fd5b8280fd5b50503461015c578060031936011261015c576020906107086106fe6111af565b6024359033611416565b5160018152f35b905082346107bc57826003193601126107bc5761072a6111af565b918360243592338152600660205281812060018060a01b038616825260205220549082821061076b576020856107088661076487876113e6565b90336115e0565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b83833461015c57606036600319011261015c5767ffffffffffffffff928035848111610aed576107f29036908301611250565b936024358181116106d65761080a9036908401611250565b91604435938285168095036106d25761082e60018060a01b03600754163314611594565b8483600254161015610aaa57508551828111610a97578061084f87546112a7565b97601f98898111610a3e575b506020908983116001146109cf5788926109c4575b50508160011b916000199060031b1c19161785555b82519182116109b1575060019161089c83546112a7565b868111610961575b5060209582116001146108f75794849582939495926108ec575b5050600019600383901b1c191690821b1790555b67ffffffffffffffff1960025416176002556102956112e1565b0151905085806108be565b828552601f19821695600080516020611a9d83398151915291865b88811061094b5750838596979810610932575b505050811b0190556108d2565b015160001960f88460031b161c19169055858080610925565b8183015184559285019260209283019201610912565b838652600080516020611a9d8339815191528780850160051c820192602086106109a8575b0160051c019084905b82811061099d5750506108a4565b87815501849061098f565b92508192610986565b634e487b7160e01b855260419052602484fd5b015190508880610870565b888052600080516020611a7d8339815191529250601f198416895b818110610a265750908460019594939210610a0d575b505050811b018555610885565b015160001960f88460031b161c19169055888080610a00565b929360206001819287860151815501950193016109ea565b909150878052600080516020611a7d8339815191528980850160051c82019260208610610a8e575b9085949392910160051c01905b818110610a80575061085b565b898155849350600101610a73565b92508192610a66565b634e487b7160e01b865260418252602486fd5b906020606492519162461bcd60e51b8352820152601e60248201527f63757272656e74206d6574616461746120697320757020746f206461746500006044820152fd5b8380fd5b8391503461015c578260031936011261015c57610b0c6111af565b600754602435916001600160a01b0391610b299083163314611594565b16918215610be65782845260056020528484205490828210610b985750818495610b767fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef946020946113e6565b8587526005845281872055610b8d826003546113e6565b60035551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152fd5b50503461015c578160031936011261015c5760209061ffff60075460a81c169051908152f35b50503461015c578160031936011261015c57805190826001805491610c7d836112a7565b80865292828116908115610d065750600114610cbc575b505050610ca682610cb894038361122e565b5191829160208352602083019061118a565b0390f35b9450808552600080516020611a9d8339815191525b828610610cee57505050610ca6826020610cb89582010194610c94565b80546020878701810191909152909501948101610cd1565b610cb8975086935060209250610ca694915060ff191682840152151560051b82010194610c94565b50503461015c578160031936011261015c5760075490516001600160a01b039091168152602090f35b9050346106da57826003193601126106da57610d7161133d565b918051610d7d816111e0565b600194858252602091603160f81b83820152610d97611810565b938051918483019683881067ffffffffffffffff8911176109b1575093879592610dee838b978a859652878452610de182519a601f60f81b8c5260e0878d015260e08c019061118a565b918a8303908b015261118a565b9346606089015230608089015260a088015286840360c088015251928381520195925b828110610e1e5785870386f35b8351875295810195928101928401610e11565b50503461015c57602036600319011261015c5760209181906001600160a01b03610e596111af565b168152600e845220549051908152f35b50503461015c57602036600319011261015c5760209181906001600160a01b03610e916111af565b1681526005845220549051908152f35b919050346106da57806003193601126106da57610ebc6111af565b60075460243592916001600160a01b0391610eda9083163314611594565b16928315610f3757506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f158795600354611409565b60035585855260058352808520610f2d838254611409565b905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b50503461015c578160031936011261015c576020906008549051908152f35b50503461015c578060031936011261015c57610708602092610764610fbb6111af565b338352600686528483206001600160a01b03821684528652918490205460243590611409565b50503461015c578160031936011261015c57602090610ffe611798565b9051908152f35b8284346107bc57806003193601126107bc575060ff60209254169051908152f35b905082346107bc5760603660031901126107bc576110426111af565b918361104c6111ca565b9261105b604435809587611416565b6001600160a01b0385168152600660209081528282203383529052205490828210611099576020856107088661109187876113e6565b9033906115e0565b608490602086519162461bcd60e51b8352820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152fd5b50503461015c578160031936011261015c576020906003549051908152f35b50503461015c578060031936011261015c5760209061070861112c6111af565b60243590336115e0565b50503461015c578160031936011261015c57610cb89061115461133d565b905191829160208352602083019061118a565b60005b83811061117a5750506000910152565b818101518382015260200161116a565b906020916111a381518092818552858086019101611167565b601f01601f1916010190565b600435906001600160a01b03821682036111c557565b600080fd5b602435906001600160a01b03821682036111c557565b6040810190811067ffffffffffffffff8211176111fc57604052565b634e487b7160e01b600052604160045260246000fd5b60e0810190811067ffffffffffffffff8211176111fc57604052565b90601f8019910116810190811067ffffffffffffffff8211176111fc57604052565b81601f820112156111c55780359067ffffffffffffffff82116111fc5760405192611285601f8401601f19166020018561122e565b828452602083830101116111c557816000926020809301838601378301015290565b90600182811c921680156112d7575b60208310146112c157565b634e487b7160e01b600052602260045260246000fd5b91607f16916112b6565b6112e96117de565b6112f1611810565b81600d5414801590611331575b611306575050565b46600a55600b80546001600160a01b0319163017905561132681836116e2565b600955600c55600d55565b5080600c5414156112fe565b60405190600082815491611350836112a7565b808352926001908181169081156113c45750600114611379575b506113779250038361122e565b565b60008080529150600080516020611a7d8339815191525b8483106113a9575061137793505081016020013861136a565b81935090816020925483858a01015201910190918592611390565b90506020925061137794915060ff191682840152151560051b8201013861136a565b919082039182116113f357565b634e487b7160e01b600052601160045260246000fd5b919082018092116113f357565b6001600160a01b0390811691821561154157169182156114f0576000828152600560205260408120549180831061149c576040602092611477837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef966113e6565b868252600585528282205586815220611491828254611409565b9055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b1561159b57565b60405162461bcd60e51b815260206004820152601760248201527f63616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606490fd5b6001600160a01b0390811691821561169157169182156116415760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260068252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b90604051906116f0826111e0565b600191828152602092603160f81b84830152604051918460005b83811061178457505050600060218301528152611726816111e0565b828151910120604051928301937fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564728552604084015260608301524660808301523060a083015260c082015260c0815261177e81611212565b51902090565b81818401015182828701015201859061170a565b600b546001600160a01b03163014806117d3575b156117b75760095490565b6117d06117c26117de565b6117ca611810565b906116e2565b90565b50600a5446146117ac565b6117e661133d565b60405161177e602082816118038183019687815193849201611167565b810103808452018261122e565b60075460085460405190602082019261ffff60f01b9060481b1683526022820152602281526060810181811067ffffffffffffffff8211176111fc5760405251902090565b60058110156119b157806118665750565b600181036118b35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b600281036119005760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b600381036119585760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b60041461196157565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611a705760ff16601b81141580611a65575b611a59579160809493916020936040519384528484015260408301526060820152600093849182805260015afa15611a4c5781516001600160a01b03811615611a46579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600490565b50601c8114156119ff565b5050505060009060039056fe290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6a26469706673582212209c2a6ab851b98b79f450a0f6c6580132088da5913ef53a145eab9f7b320248f664736f6c63430008130033",Jb=r=>r.length>1;class Ho extends uc{constructor(...e){Jb(e)?super(...e):super(ka,zf,e[0])}getDeployTransaction(e){return super.getDeployTransaction(e||{})}deploy(e){return super.deploy(e||{})}connect(e){return super.connect(e)}static createInterface(){return new Ui(ka)}static connect(e,t){return new ts(e,ka,t)}}y(Ho,"bytecode",zf),y(Ho,"abi",ka);class md extends Jf.ChainContext{}const tt=class tt extends Jf.PlatformContext{constructor(e,t){super(e,t??de.networkPlatformConfigs(e,tt._platform))}getRpc(e){if(e in this.config&&this.config[e].rpc)return new ub(this.config[e].rpc);throw new Error("No configuration available for chain: "+e)}getChain(e,t){if(e in this.config)return new md(e,this,t);throw new Error("No configuration available for chain: "+e)}static nativeTokenId(e,t){if(!tt.isSupportedChain(t))throw new Error(`invalid chain for EVM: ${t}`);return de.Wormhole.tokenId(t,Go)}static isNativeTokenId(e,t,n){return!tt.isSupportedChain(t)||n.chain!==t?!1:n.address.toString()===Go}static isSupportedChain(e){return de.chainToPlatform(e)===tt._platform}static async getDecimals(e,t,n){if(de.isNative(n))return de.nativeDecimals(tt._platform);const s=tt.getTokenImplementation(t,new Mn(n).toString());return Number(await s.decimals())}static async getBalance(e,t,n,s){return de.isNative(s)?t.getBalance(n):tt.getTokenImplementation(t,new Mn(s).toString()).balanceOf(n)}static async getBalances(e,t,n,s){return(await Promise.all(s.map(async a=>{const o=await this.getBalance(e,t,n,a);return{[de.isNative(a)?"native":new Mn(a).toString()]:o}}))).reduce((a,o)=>Object.assign(a,o),{})}static async sendWait(e,t,n){const s=[];for(const i of n){const a=await t.broadcastTransaction(i);if(s.push(a.hash),e==="Celo"){console.error("TODO: override celo block fetching");continue}if(await a.wait()===null)throw new Error("Received null TxReceipt")}return s}static async getLatestBlock(e){return await e.getBlockNumber()}static async getLatestFinalizedBlock(e){const t=await e.getBlock("finalized");if(!t)throw new Error("Could not get finalized block");return t==null?void 0:t.number}static chainFromChainId(e){const t=de.platformNativeChainIdToNetworkChain(tt._platform,BigInt(e));if(t===void 0)throw new Error(`Unknown EVM chainId ${e}`);const[n,s]=t;return[n,s]}static async chainFromRpc(e){const{chainId:t}=await e.getNetwork();return tt.chainFromChainId(de.bignum.encode(t,!0))}static getTokenImplementation(e,t){const n=Ho.connect(t,e);if(!n)throw new Error(`No token implementation available for: ${t}`);return n}};y(tt,"_platform",ha);let ri=tt;async function jb(r,e,t){const n=typeof e=="string"?new Fo(e,r):e,s=(t==null?void 0:t.chain)??(await ri.chainFromRpc(r))[1],i=new So(n);if(i.provider===null)try{i.connect(r)}catch(a){console.error("Cannot connect to network for signer",a)}return new Wb(s,await n.getAddress(),i,t)}class Wb extends de.PlatformNativeSigner{constructor(t,n,s,i){super(t,n,s);y(this,"opts");this.opts=i}chain(){return this._chain}address(){return this._address}async sign(t){var u,d;const n=this.chain(),s=[],i=((u=this.opts)==null?void 0:u.maxGasLimit)??500000n;let a=100000000000n,o=1500000000n,c=100000000n;if(n!=="Celo"){const x=await this._signer.provider.getFeeData();a=x.gasPrice??a,o=x.maxFeePerGas??o,c=x.maxPriorityFeePerGas??c}const f=n==="Oasis"?{gasLimit:i,gasPrice:a,type:0}:{maxFeePerGas:o,maxPriorityFeePerGas:c,gasLimit:i};for(const x of t){const{transaction:p,description:m}=x;(d=this.opts)!=null&&d.debug&&console.log(`Signing: ${m} for ${this.address()}`);const g={...p,...f,from:this.address(),nonce:await this._signer.getNonce()};s.push(await this._signer.signTransaction(g))}return s}}const Zb={Address:Mn,Platform:ri,getSigner:jb,protocols:{WormholeCore:()=>Promise.resolve().then(()=>require("./index-ZCZHbA1F.js")).then(r=>r.index),TokenBridge:()=>Promise.resolve().then(()=>require("./index-DGfMxIjQ.js")),PorticoBridge:()=>Promise.resolve().then(()=>require("./index-BFIX3imu.js")),CircleBridge:()=>Promise.resolve().then(()=>require("./index-j8isX5f9.js"))},getChain:(r,e,t)=>new md(e,new ri(r,de.applyChainsConfigConfigOverrides(r,ha,{[e]:t})))},Yb=Object.freeze(Object.defineProperty({__proto__:null,default:Zb},Symbol.toStringTag,{value:"Module"}));exports.EvmAddress=Mn;exports.EvmPlatform=ri;exports.EvmZeroAddress=Go;exports._platform=ha;exports.addChainId=zb;exports.addFrom=_b;exports.evm=Yb;exports.unusedArbiterFee=Kb;exports.unusedNonce=Qb;
|