w3pk 0.2.0 → 0.4.0

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/index.js CHANGED
@@ -1,36 +1,2 @@
1
- "use strict";var Ey=Object.create;var xc=Object.defineProperty;var Ty=Object.getOwnPropertyDescriptor;var Ry=Object.getOwnPropertyNames;var Sy=Object.getPrototypeOf,Ly=Object.prototype.hasOwnProperty;var fp=r=>{throw TypeError(r)};var Ny=(r,e,t)=>e in r?xc(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var mt=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),c0=(r,e)=>{for(var t in e)xc(r,t,{get:e[t],enumerable:!0})},up=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ry(e))!Ly.call(r,s)&&s!==t&&xc(r,s,{get:()=>e[s],enumerable:!(n=Ty(e,s))||n.enumerable});return r};var Zn=(r,e,t)=>(t=r!=null?Ey(Sy(r)):{},up(e||!r||!r.__esModule?xc(t,"default",{value:r,enumerable:!0}):t,r)),vy=r=>up(xc({},"__esModule",{value:!0}),r);var g=(r,e,t)=>Ny(r,typeof e!="symbol"?e+"":e,t),l0=(r,e,t)=>e.has(r)||fp("Cannot "+t);var f=(r,e,t)=>(l0(r,e,"read from private field"),t?t.call(r):e.get(r)),y=(r,e,t)=>e.has(r)?fp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),h=(r,e,t,n)=>(l0(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),S=(r,e,t)=>(l0(r,e,"access private method"),t);var tn=(r,e,t,n)=>({set _(s){h(r,e,s,t)},get _(){return f(r,e,n)}});var Hg=mt((c6,Xg)=>{"use strict";var{Duplex:c8}=require("stream");function Gg(r){r.emit("close")}function l8(){!this.destroyed&&this._writableState.finished&&this.destroy()}function _g(r){this.removeListener("error",_g),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function f8(r,e){let t=!0,n=new c8({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(i,o){let a=!o&&n._readableState.objectMode?i.toString():i;n.push(a)||r.pause()}),r.once("error",function(i){n.destroyed||(t=!1,n.destroy(i))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(s,i){if(r.readyState===r.CLOSED){i(s),process.nextTick(Gg,n);return}let o=!1;r.once("error",function(c){o=!0,i(c)}),r.once("close",function(){o||i(s),process.nextTick(Gg,n)}),t&&r.terminate()},n._final=function(s){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(s)});return}r._socket!==null&&(r._socket._writableState.finished?(s(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){s()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(s,i,o){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(s,i,o)});return}r.send(s,o)},n.on("end",l8),n.on("error",_g),n}Xg.exports=f8});var Ps=mt((l6,Vg)=>{"use strict";Vg.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var ul=mt((f6,wu)=>{"use strict";var{EMPTY_BUFFER:u8}=Ps(),Wd=Buffer[Symbol.species];function d8(r,e){if(r.length===0)return u8;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let s=0;s<r.length;s++){let i=r[s];t.set(i,n),n+=i.length}return n<e?new Wd(t.buffer,t.byteOffset,n):t}function Qg(r,e,t,n,s){for(let i=0;i<s;i++)t[n+i]=r[i]^e[i&3]}function Zg(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function h8(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function jd(r){if(jd.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new Wd(r):ArrayBuffer.isView(r)?e=new Wd(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),jd.readOnly=!1),e}wu.exports={concat:d8,mask:Qg,toArrayBuffer:h8,toBuffer:jd,unmask:Zg};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");wu.exports.mask=function(e,t,n,s,i){i<48?Qg(e,t,n,s,i):r.mask(e,t,n,s,i)},wu.exports.unmask=function(e,t){e.length<32?Zg(e,t):r.unmask(e,t)}}catch{}});var $g=mt((u6,Kg)=>{"use strict";var zg=Symbol("kDone"),qd=Symbol("kRun"),eh=class{constructor(e){this[zg]=()=>{this.pending--,this[qd]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[qd]()}[qd](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[zg])}}};Kg.exports=eh});var pl=mt((d6,qg)=>{"use strict";var dl=require("zlib"),Yg=ul(),p8=$g(),{kStatusCode:Wg}=Ps(),x8=Buffer[Symbol.species],m8=Buffer.from([0,0,255,255]),Ru=Symbol("permessage-deflate"),Pn=Symbol("total-length"),hl=Symbol("callback"),Us=Symbol("buffers"),Tu=Symbol("error"),Eu,th=class{constructor(e,t,n){if(this._maxPayload=n|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Eu){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Eu=new p8(s)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[hl];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,n=e.find(s=>!(t.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>s.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(n.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?n.client_max_window_bits=t.clientMaxWindowBits:(n.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(n=>{let s=t[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=s})}),e}decompress(e,t,n){Eu.add(s=>{this._decompress(e,t,(i,o)=>{s(),n(i,o)})})}compress(e,t,n){Eu.add(s=>{this._compress(e,t,(i,o)=>{s(),n(i,o)})})}_decompress(e,t,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,o=typeof this.params[i]!="number"?dl.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=dl.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[Ru]=this,this._inflate[Pn]=0,this._inflate[Us]=[],this._inflate.on("error",b8),this._inflate.on("data",jg)}this._inflate[hl]=n,this._inflate.write(e),t&&this._inflate.write(m8),this._inflate.flush(()=>{let i=this._inflate[Tu];if(i){this._inflate.close(),this._inflate=null,n(i);return}let o=Yg.concat(this._inflate[Us],this._inflate[Pn]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Pn]=0,this._inflate[Us]=[],t&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,o)})}_compress(e,t,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,o=typeof this.params[i]!="number"?dl.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=dl.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[Pn]=0,this._deflate[Us]=[],this._deflate.on("data",g8)}this._deflate[hl]=n,this._deflate.write(e),this._deflate.flush(dl.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=Yg.concat(this._deflate[Us],this._deflate[Pn]);t&&(i=new x8(i.buffer,i.byteOffset,i.length-4)),this._deflate[hl]=null,this._deflate[Pn]=0,this._deflate[Us]=[],t&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};qg.exports=th;function g8(r){this[Us].push(r),this[Pn]+=r.length}function jg(r){if(this[Pn]+=r.length,this[Ru]._maxPayload<1||this[Pn]<=this[Ru]._maxPayload){this[Us].push(r);return}this[Tu]=new RangeError("Max payload size exceeded"),this[Tu].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Tu][Wg]=1009,this.removeListener("data",jg),this.reset()}function b8(r){this[Ru]._inflate=null,r[Wg]=1007,this[hl](r)}});var xl=mt((h6,Su)=>{"use strict";var{isUtf8:eb}=require("buffer"),y8=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function A8(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function rh(r){let e=r.length,t=0;for(;t<e;)if((r[t]&128)===0)t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}Su.exports={isValidStatusCode:A8,isValidUTF8:rh,tokenChars:y8};if(eb)Su.exports.isValidUTF8=function(r){return r.length<24?rh(r):eb(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");Su.exports.isValidUTF8=function(e){return e.length<32?rh(e):r(e)}}catch{}});var ah=mt((p6,ab)=>{"use strict";var{Writable:w8}=require("stream"),tb=pl(),{BINARY_TYPES:E8,EMPTY_BUFFER:rb,kStatusCode:T8,kWebSocket:R8}=Ps(),{concat:nh,toArrayBuffer:S8,unmask:L8}=ul(),{isValidStatusCode:N8,isValidUTF8:nb}=xl(),Lu=Buffer[Symbol.species],Vt=0,sb=1,ib=2,ob=3,sh=4,ih=5,Nu=6,oh=class extends w8{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||E8[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[R8]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=Vt}_write(e,t,n){if(this._opcode===8&&this._state==Vt)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new Lu(n.buffer,n.byteOffset+e,n.length-e),new Lu(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],s=t.length-e;e>=n.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),s),this._buffers[0]=new Lu(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case Vt:this.getInfo(e);break;case sb:this.getPayloadLength16(e);break;case ib:this.getPayloadLength64(e);break;case ob:this.getMask();break;case sh:this.getData(e);break;case ih:case Nu:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let n=(t[0]&64)===64;if(n&&!this._extensions[tb.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=sb:this._payloadLength===127?this._state=ib:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),n=t.readUInt32BE(0);if(n>Math.pow(2,21)-1){let s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);return}this._payloadLength=n*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=ob:this._state=sh}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=sh}getData(e){let t=rb;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&L8(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=ih,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[tb.extensionName].decompress(e,this._fin,(s,i)=>{if(s)return t(s);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(o);return}this._fragments.push(i)}this.dataMessage(t),this._state===Vt&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=Vt;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=nh(n,t):this._binaryType==="arraybuffer"?s=S8(nh(n,t)):s=n,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=Vt):(this._state=Nu,setImmediate(()=>{this.emit("message",s,!0),this._state=Vt,this.startLoop(e)}))}else{let s=nh(n,t);if(!this._skipUTF8Validation&&!nb(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(i);return}this._state===ih||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=Vt):(this._state=Nu,setImmediate(()=>{this.emit("message",s,!1),this._state=Vt,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,rb),this.end();else{let n=e.readUInt16BE(0);if(!N8(n)){let i=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(i);return}let s=new Lu(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!nb(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(i);return}this._loop=!1,this.emit("conclude",n,s),this.end()}this._state=Vt;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=Vt):(this._state=Nu,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=Vt,this.startLoop(t)}))}createError(e,t,n,s,i){this._loop=!1,this._errored=!0;let o=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[T8]=s,o}};ab.exports=oh});var lh=mt((m6,fb)=>{"use strict";var{Duplex:x6}=require("stream"),{randomFillSync:v8}=require("crypto"),cb=pl(),{EMPTY_BUFFER:B8}=Ps(),{isValidStatusCode:I8}=xl(),{mask:lb,toBuffer:Va}=ul(),Rr=Symbol("kByteLength"),O8=Buffer.alloc(4),vu=8*1024,$i,Qa=vu,ch=class r{constructor(e,t,n){this._extensions=t||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let n,s=!1,i=2,o=!1;t.mask&&(n=t.maskBuffer||O8,t.generateMask?t.generateMask(n):(Qa===vu&&($i===void 0&&($i=Buffer.alloc(vu)),v8($i,0,vu),Qa=0),n[0]=$i[Qa++],n[1]=$i[Qa++],n[2]=$i[Qa++],n[3]=$i[Qa++]),o=(n[0]|n[1]|n[2]|n[3])===0,i=6);let a;typeof e=="string"?(!t.mask||o)&&t[Rr]!==void 0?a=t[Rr]:(e=Buffer.from(e),a=e.length):(a=e.length,s=t.mask&&t.readOnly&&!o);let c=a;a>=65536?(i+=8,c=127):a>125&&(i+=2,c=126);let l=Buffer.allocUnsafe(s?a+i:i);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(a,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(a,4,6)),t.mask?(l[1]|=128,l[i-4]=n[0],l[i-3]=n[1],l[i-2]=n[2],l[i-1]=n[3],o?[l,e]:s?(lb(e,n,l,i,a),[l]):(lb(e,n,e,0,a),[l,e])):[l,e]}close(e,t,n,s){let i;if(e===void 0)i=B8;else{if(typeof e!="number"||!I8(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let a=Buffer.byteLength(t);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+a),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let o={[Rr]:i.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,i,!1,o,s]):this.sendFrame(r.frame(i,o),s)}ping(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):(e=Va(e),s=e.length,i=Va.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[Rr]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,n]):this.sendFrame(r.frame(e,o),n)}pong(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):(e=Va(e),s=e.length,i=Va.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[Rr]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,n]):this.sendFrame(r.frame(e,o),n)}send(e,t,n){let s=this._extensions[cb.extensionName],i=t.binary?2:1,o=t.compress,a,c;if(typeof e=="string"?(a=Buffer.byteLength(e),c=!1):(e=Va(e),a=e.length,c=Va.readOnly),this._firstFragment?(this._firstFragment=!1,o&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=a>=s._threshold),this._compress=o):(o=!1,i=0),t.fin&&(this._firstFragment=!0),s){let l={[Rr]:a,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:c,rsv1:o};this._deflating?this.enqueue([this.dispatch,e,this._compress,l,n]):this.dispatch(e,this._compress,l,n)}else this.sendFrame(r.frame(e,{[Rr]:a,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:c,rsv1:!1}),n)}dispatch(e,t,n,s){if(!t){this.sendFrame(r.frame(e,n),s);return}let i=this._extensions[cb.extensionName];this._bufferedBytes+=n[Rr],this._deflating=!0,i.compress(e,n.fin,(o,a)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");typeof s=="function"&&s(c);for(let l=0;l<this._queue.length;l++){let u=this._queue[l],d=u[u.length-1];typeof d=="function"&&d(c)}return}this._bufferedBytes-=n[Rr],this._deflating=!1,n.readOnly=!1,this.sendFrame(r.frame(a,n),s),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Rr],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Rr],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};fb.exports=ch});var yb=mt((g6,bb)=>{"use strict";var{kForOnEventAttribute:ml,kListener:fh}=Ps(),ub=Symbol("kCode"),db=Symbol("kData"),hb=Symbol("kError"),pb=Symbol("kMessage"),xb=Symbol("kReason"),Za=Symbol("kTarget"),mb=Symbol("kType"),gb=Symbol("kWasClean"),Un=class{constructor(e){this[Za]=null,this[mb]=e}get target(){return this[Za]}get type(){return this[mb]}};Object.defineProperty(Un.prototype,"target",{enumerable:!0});Object.defineProperty(Un.prototype,"type",{enumerable:!0});var Yi=class extends Un{constructor(e,t={}){super(e),this[ub]=t.code===void 0?0:t.code,this[xb]=t.reason===void 0?"":t.reason,this[gb]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[ub]}get reason(){return this[xb]}get wasClean(){return this[gb]}};Object.defineProperty(Yi.prototype,"code",{enumerable:!0});Object.defineProperty(Yi.prototype,"reason",{enumerable:!0});Object.defineProperty(Yi.prototype,"wasClean",{enumerable:!0});var za=class extends Un{constructor(e,t={}){super(e),this[hb]=t.error===void 0?null:t.error,this[pb]=t.message===void 0?"":t.message}get error(){return this[hb]}get message(){return this[pb]}};Object.defineProperty(za.prototype,"error",{enumerable:!0});Object.defineProperty(za.prototype,"message",{enumerable:!0});var gl=class extends Un{constructor(e,t={}){super(e),this[db]=t.data===void 0?null:t.data}get data(){return this[db]}};Object.defineProperty(gl.prototype,"data",{enumerable:!0});var C8={addEventListener(r,e,t={}){for(let s of this.listeners(r))if(!t[ml]&&s[fh]===e&&!s[ml])return;let n;if(r==="message")n=function(i,o){let a=new gl("message",{data:o?i:i.toString()});a[Za]=this,Bu(e,this,a)};else if(r==="close")n=function(i,o){let a=new Yi("close",{code:i,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});a[Za]=this,Bu(e,this,a)};else if(r==="error")n=function(i){let o=new za("error",{error:i,message:i.message});o[Za]=this,Bu(e,this,o)};else if(r==="open")n=function(){let i=new Un("open");i[Za]=this,Bu(e,this,i)};else return;n[ml]=!!t[ml],n[fh]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[fh]===e&&!t[ml]){this.removeListener(r,t);break}}};bb.exports={CloseEvent:Yi,ErrorEvent:za,Event:Un,EventTarget:C8,MessageEvent:gl};function Bu(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var uh=mt((b6,Ab)=>{"use strict";var{tokenChars:bl}=xl();function Kr(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function P8(r){let e=Object.create(null),t=Object.create(null),n=!1,s=!1,i=!1,o,a,c=-1,l=-1,u=-1,d=0;for(;d<r.length;d++)if(l=r.charCodeAt(d),o===void 0)if(u===-1&&bl[l]===1)c===-1&&(c=d);else if(d!==0&&(l===32||l===9))u===-1&&c!==-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d);let m=r.slice(c,u);l===44?(Kr(e,m,t),t=Object.create(null)):o=m,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);else if(a===void 0)if(u===-1&&bl[l]===1)c===-1&&(c=d);else if(l===32||l===9)u===-1&&c!==-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d),Kr(t,r.slice(c,u),!0),l===44&&(Kr(e,o,t),t=Object.create(null),o=void 0),c=u=-1}else if(l===61&&c!==-1&&u===-1)a=r.slice(c,d),c=u=-1;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(s){if(bl[l]!==1)throw new SyntaxError(`Unexpected character at index ${d}`);c===-1?c=d:n||(n=!0),s=!1}else if(i)if(bl[l]===1)c===-1&&(c=d);else if(l===34&&c!==-1)i=!1,u=d;else if(l===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(l===34&&r.charCodeAt(d-1)===61)i=!0;else if(u===-1&&bl[l]===1)c===-1&&(c=d);else if(c!==-1&&(l===32||l===9))u===-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d);let m=r.slice(c,u);n&&(m=m.replace(/\\/g,""),n=!1),Kr(t,a,m),l===44&&(Kr(e,o,t),t=Object.create(null),o=void 0),a=void 0,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);if(c===-1||i||l===32||l===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=d);let x=r.slice(c,u);return o===void 0?Kr(e,x,t):(a===void 0?Kr(t,x,!0):n?Kr(t,a,x.replace(/\\/g,"")):Kr(t,a,x),Kr(e,o,t)),e}function U8(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(n=>[e].concat(Object.keys(n).map(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(o=>o===!0?s:`${s}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Ab.exports={format:U8,parse:P8}});var mh=mt((w6,Ob)=>{"use strict";var F8=require("events"),M8=require("https"),k8=require("http"),Tb=require("net"),J8=require("tls"),{randomBytes:D8,createHash:G8}=require("crypto"),{Duplex:y6,Readable:A6}=require("stream"),{URL:dh}=require("url"),Fs=pl(),_8=ah(),X8=lh(),{BINARY_TYPES:wb,EMPTY_BUFFER:Iu,GUID:H8,kForOnEventAttribute:hh,kListener:V8,kStatusCode:Q8,kWebSocket:et,NOOP:Rb}=Ps(),{EventTarget:{addEventListener:Z8,removeEventListener:z8}}=yb(),{format:K8,parse:$8}=uh(),{toBuffer:Y8}=ul(),W8=30*1e3,Sb=Symbol("kAborted"),ph=[8,13],Fn=["CONNECTING","OPEN","CLOSING","CLOSED"],j8=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Ie=class r extends F8{constructor(e,t,n){super(),this._binaryType=wb[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Iu,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(n=t,t=[]):t=[t]),Lb(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){wb.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,n){let s=new _8({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation});this._sender=new X8(e,this._extensions,n.generateMask),this._receiver=s,this._socket=e,s[et]=this,e[et]=this,s.on("conclude",t2),s.on("drain",r2),s.on("error",n2),s.on("message",s2),s.on("ping",i2),s.on("pong",o2),e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",vb),e.on("data",Cu),e.on("end",Bb),e.on("error",Ib),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Fs.extensionName]&&this._extensions[Fs.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Bt(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,t,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),W8)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){xh(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Iu,t,n)}pong(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){xh(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Iu,t,n)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(n=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){xh(this,e,n);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Fs.extensionName]||(s.compress=!1),this._sender.send(e||Iu,s,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Bt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(Ie,"CONNECTING",{enumerable:!0,value:Fn.indexOf("CONNECTING")});Object.defineProperty(Ie.prototype,"CONNECTING",{enumerable:!0,value:Fn.indexOf("CONNECTING")});Object.defineProperty(Ie,"OPEN",{enumerable:!0,value:Fn.indexOf("OPEN")});Object.defineProperty(Ie.prototype,"OPEN",{enumerable:!0,value:Fn.indexOf("OPEN")});Object.defineProperty(Ie,"CLOSING",{enumerable:!0,value:Fn.indexOf("CLOSING")});Object.defineProperty(Ie.prototype,"CLOSING",{enumerable:!0,value:Fn.indexOf("CLOSING")});Object.defineProperty(Ie,"CLOSED",{enumerable:!0,value:Fn.indexOf("CLOSED")});Object.defineProperty(Ie.prototype,"CLOSED",{enumerable:!0,value:Fn.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(Ie.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(Ie.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[hh])return e[V8];return null},set(e){for(let t of this.listeners(r))if(t[hh]){this.removeListener(r,t);break}typeof e=="function"&&this.addEventListener(r,e,{[hh]:!0})}})});Ie.prototype.addEventListener=Z8;Ie.prototype.removeEventListener=z8;Ob.exports=Ie;function Lb(r,e,t,n){let s={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:ph[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=s.autoPong,!ph.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${ph.join(", ")})`);let i;if(e instanceof dh)i=e;else try{i=new dh(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),r._url=i.href;let o=i.protocol==="wss:",a=i.protocol==="ws+unix:",c;if(i.protocol!=="ws:"&&!o&&!a?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`:a&&!i.pathname?c="The URL's pathname is empty":i.hash&&(c="The URL contains a fragment identifier"),c){let b=new SyntaxError(c);if(r._redirects===0)throw b;Ou(r,b);return}let l=o?443:80,u=D8(16).toString("base64"),d=o?M8.request:k8.request,x=new Set,m;if(s.createConnection=s.createConnection||(o?e2:q8),s.defaultPort=s.defaultPort||l,s.port=i.port||l,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(m=new Fs(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=K8({[Fs.extensionName]:m.offer()})),t.length){for(let b of t){if(typeof b!="string"||!j8.test(b)||x.has(b))throw new SyntaxError("An invalid or duplicated subprotocol was specified");x.add(b)}s.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),a){let b=s.path.split(":");s.socketPath=b[0],s.path=b[1]}let A;if(s.followRedirects){if(r._redirects===0){r._originalIpc=a,r._originalSecure=o,r._originalHostOrSocketPath=a?s.socketPath:i.host;let b=n&&n.headers;if(n={...n,headers:{}},b)for(let[E,T]of Object.entries(b))n.headers[E.toLowerCase()]=T}else if(r.listenerCount("redirect")===0){let b=a?r._originalIpc?s.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:i.host===r._originalHostOrSocketPath;(!b||r._originalSecure&&!o)&&(delete s.headers.authorization,delete s.headers.cookie,b||delete s.headers.host,s.auth=void 0)}s.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),A=r._req=d(s),r._redirects&&r.emit("redirect",r.url,A)}else A=r._req=d(s);s.timeout&&A.on("timeout",()=>{Bt(r,A,"Opening handshake has timed out")}),A.on("error",b=>{A===null||A[Sb]||(A=r._req=null,Ou(r,b))}),A.on("response",b=>{let E=b.headers.location,T=b.statusCode;if(E&&s.followRedirects&&T>=300&&T<400){if(++r._redirects>s.maxRedirects){Bt(r,A,"Maximum redirects exceeded");return}A.abort();let v;try{v=new dh(E,e)}catch{let D=new SyntaxError(`Invalid URL: ${E}`);Ou(r,D);return}Lb(r,v,t,n)}else r.emit("unexpected-response",A,b)||Bt(r,A,`Unexpected server response: ${b.statusCode}`)}),A.on("upgrade",(b,E,T)=>{if(r.emit("upgrade",b),r.readyState!==Ie.CONNECTING)return;A=r._req=null;let v=b.headers.upgrade;if(v===void 0||v.toLowerCase()!=="websocket"){Bt(r,E,"Invalid Upgrade header");return}let O=G8("sha1").update(u+H8).digest("base64");if(b.headers["sec-websocket-accept"]!==O){Bt(r,E,"Invalid Sec-WebSocket-Accept header");return}let D=b.headers["sec-websocket-protocol"],C;if(D!==void 0?x.size?x.has(D)||(C="Server sent an invalid subprotocol"):C="Server sent a subprotocol but none was requested":x.size&&(C="Server sent no subprotocol"),C){Bt(r,E,C);return}D&&(r._protocol=D);let P=b.headers["sec-websocket-extensions"];if(P!==void 0){if(!m){Bt(r,E,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let J;try{J=$8(P)}catch{Bt(r,E,"Invalid Sec-WebSocket-Extensions header");return}let G=Object.keys(J);if(G.length!==1||G[0]!==Fs.extensionName){Bt(r,E,"Server indicated an extension that was not requested");return}try{m.accept(J[Fs.extensionName])}catch{Bt(r,E,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Fs.extensionName]=m}r.setSocket(E,T,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(A,r):A.end()}function Ou(r,e){r._readyState=Ie.CLOSING,r.emit("error",e),r.emitClose()}function q8(r){return r.path=r.socketPath,Tb.connect(r)}function e2(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=Tb.isIP(r.host)?"":r.host),J8.connect(r)}function Bt(r,e,t){r._readyState=Ie.CLOSING;let n=new Error(t);Error.captureStackTrace(n,Bt),e.setHeader?(e[Sb]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Ou,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function xh(r,e,t){if(e){let n=Y8(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${Fn[r.readyState]})`);process.nextTick(t,n)}}function t2(r,e){let t=this[et];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[et]!==void 0&&(t._socket.removeListener("data",Cu),process.nextTick(Nb,t._socket),r===1005?t.close():t.close(r,e))}function r2(){let r=this[et];r.isPaused||r._socket.resume()}function n2(r){let e=this[et];e._socket[et]!==void 0&&(e._socket.removeListener("data",Cu),process.nextTick(Nb,e._socket),e.close(r[Q8])),e.emit("error",r)}function Eb(){this[et].emitClose()}function s2(r,e){this[et].emit("message",r,e)}function i2(r){let e=this[et];e._autoPong&&e.pong(r,!this._isServer,Rb),e.emit("ping",r)}function o2(r){this[et].emit("pong",r)}function Nb(r){r.resume()}function vb(){let r=this[et];this.removeListener("close",vb),this.removeListener("data",Cu),this.removeListener("end",Bb),r._readyState=Ie.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[et]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",Eb),r._receiver.on("finish",Eb))}function Cu(r){this[et]._receiver.write(r)||this.pause()}function Bb(){let r=this[et];r._readyState=Ie.CLOSING,r._receiver.end(),this.end()}function Ib(){let r=this[et];this.removeListener("error",Ib),this.on("error",Rb),r&&(r._readyState=Ie.CLOSING,this.destroy())}});var Pb=mt((E6,Cb)=>{"use strict";var{tokenChars:a2}=xl();function c2(r){let e=new Set,t=-1,n=-1,s=0;for(s;s<r.length;s++){let o=r.charCodeAt(s);if(n===-1&&a2[o]===1)t===-1&&(t=s);else if(s!==0&&(o===32||o===9))n===-1&&t!==-1&&(n=s);else if(o===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${s}`);n===-1&&(n=s);let a=r.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),t=n=-1}else throw new SyntaxError(`Unexpected character at index ${s}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let i=r.slice(t,s);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}Cb.exports={parse:c2}});var Gb=mt((R6,Db)=>{"use strict";var l2=require("events"),Pu=require("http"),{Duplex:T6}=require("stream"),{createHash:f2}=require("crypto"),Ub=uh(),Wi=pl(),u2=Pb(),d2=mh(),{GUID:h2,kWebSocket:p2}=Ps(),x2=/^[+/0-9A-Za-z]{22}==$/,Fb=0,Mb=1,Jb=2,gh=class extends l2{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:d2,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Pu.createServer((n,s)=>{let i=Pu.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=m2(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,o)=>{this.handleUpgrade(s,i,o,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Fb}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Jb){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(yl,this);return}if(e&&this.once("close",e),this._state!==Mb)if(this._state=Mb,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(yl,this):process.nextTick(yl,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{yl(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,s){t.on("error",kb);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,a=+e.headers["sec-websocket-version"];if(e.method!=="GET"){ji(this,e,t,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){ji(this,e,t,400,"Invalid Upgrade header");return}if(i===void 0||!x2.test(i)){ji(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(a!==8&&a!==13){ji(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header");return}if(!this.shouldHandle(e)){Al(t,400);return}let c=e.headers["sec-websocket-protocol"],l=new Set;if(c!==void 0)try{l=u2.parse(c)}catch{ji(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],d={};if(this.options.perMessageDeflate&&u!==void 0){let x=new Wi(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let m=Ub.parse(u);m[Wi.extensionName]&&(x.accept(m[Wi.extensionName]),d[Wi.extensionName]=x)}catch{ji(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let x={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(x,(m,A,b,E)=>{if(!m)return Al(t,A||401,b,E);this.completeUpgrade(d,i,l,e,t,n,s)});return}if(!this.options.verifyClient(x))return Al(t,401)}this.completeUpgrade(d,i,l,e,t,n,s)}completeUpgrade(e,t,n,s,i,o,a){if(!i.readable||!i.writable)return i.destroy();if(i[p2])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Fb)return Al(i,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${f2("sha1").update(t+h2).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(n.size){let d=this.options.handleProtocols?this.options.handleProtocols(n,s):n.values().next().value;d&&(l.push(`Sec-WebSocket-Protocol: ${d}`),u._protocol=d)}if(e[Wi.extensionName]){let d=e[Wi.extensionName].params,x=Ub.format({[Wi.extensionName]:[d]});l.push(`Sec-WebSocket-Extensions: ${x}`),u._extensions=e}this.emit("headers",l,s),i.write(l.concat(`\r
2
- `).join(`\r
3
- `)),i.removeListener("error",kb),u.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(yl,this)})),a(u,s)}};Db.exports=gh;function m2(r,e){for(let t of Object.keys(e))r.on(t,e[t]);return function(){for(let n of Object.keys(e))r.removeListener(n,e[n])}}function yl(r){r._state=Jb,r.emit("close")}function kb(){this.destroy()}function Al(r,e,t,n){t=t||Pu.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...n},r.once("finish",r.destroy),r.end(`HTTP/1.1 ${e} ${Pu.STATUS_CODES[e]}\r
4
- `+Object.keys(n).map(s=>`${s}: ${n[s]}`).join(`\r
5
- `)+`\r
6
- \r
7
- `+t)}function ji(r,e,t,n,s){if(r.listenerCount("wsClientError")){let i=new Error(s);Error.captureStackTrace(i,ji),r.emit("wsClientError",i,t,e)}else Al(t,n,s)}});var kE={};c0(kE,{ApiError:()=>Yt,AuthenticationError:()=>Vs,CryptoError:()=>zn,RegistrationError:()=>Ao,StorageError:()=>Ir,WalletError:()=>rn,Web3Passkey:()=>hc,Web3PasskeyError:()=>Br,createWeb3Passkey:()=>wy,default:()=>ME});module.exports=vy(kE);var Br=class extends Error{constructor(t,n,s){super(t);this.code=n;this.originalError=s;this.name="Web3PasskeyError"}},Vs=class extends Br{constructor(e,t){super(e,"AUTHENTICATION_ERROR",t),this.name="AuthenticationError"}},Ao=class extends Br{constructor(e,t){super(e,"REGISTRATION_ERROR",t),this.name="RegistrationError"}},rn=class extends Br{constructor(e,t){super(e,"WALLET_ERROR",t),this.name="WalletError"}},zn=class extends Br{constructor(e,t){super(e,"CRYPTO_ERROR",t),this.name="CryptoError"}},Ir=class extends Br{constructor(e,t){super(e,"STORAGE_ERROR",t),this.name="StorageError"}},Yt=class extends Br{constructor(t,n,s){super(t,"API_ERROR",s);this.statusCode=n;this.name="ApiError"}};var Ql=class{constructor(e,t=3e4){this.baseUrl=e;this.timeout=t}async fetchWithTimeout(e,t){let n=new AbortController,s=setTimeout(()=>n.abort(),this.timeout);try{let i=await fetch(e,{...t,signal:n.signal});return clearTimeout(s),i}catch(i){throw clearTimeout(s),i}}async post(e,t,n){try{let s=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...n?.headers},body:JSON.stringify(t),...n});if(!s.ok)throw new Yt(`API request failed: ${s.statusText}`,s.status);return await s.json()}catch(s){throw s instanceof Yt?s:new Yt("Network request failed",void 0,s)}}async get(e,t){try{let n=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"GET",headers:{"Content-Type":"application/json",...t?.headers},...t});if(!n.ok)throw new Yt(`API request failed: ${n.statusText}`,n.status);return await n.json()}catch(n){throw n instanceof Yt?n:new Yt("Network request failed",void 0,n)}}};var By="Web3PasskeyWallet",Iy=1,Or="wallets",Zl=class{constructor(){this.db=null}async init(){return new Promise((e,t)=>{let n=indexedDB.open(By,Iy);n.onerror=()=>t(new Ir("Failed to open database",n.error)),n.onsuccess=()=>{this.db=n.result,e()},n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(Or)||s.createObjectStore(Or,{keyPath:"ethereumAddress"})}})}async store(e){return this.db||await this.init(),new Promise((t,n)=>{let o=this.db.transaction([Or],"readwrite").objectStore(Or).put(e);o.onerror=()=>n(new Ir("Failed to store wallet data",o.error)),o.onsuccess=()=>t()})}async retrieve(e){return this.db||await this.init(),new Promise((t,n)=>{let o=this.db.transaction([Or],"readonly").objectStore(Or).get(e);o.onerror=()=>n(new Ir("Failed to retrieve wallet data",o.error)),o.onsuccess=()=>t(o.result||null)})}async delete(e){return this.db||await this.init(),new Promise((t,n)=>{let o=this.db.transaction([Or],"readwrite").objectStore(Or).delete(e);o.onerror=()=>n(new Ir("Failed to delete wallet data",o.error)),o.onsuccess=()=>t()})}async clear(){return this.db||await this.init(),new Promise((e,t)=>{let i=this.db.transaction([Or],"readwrite").objectStore(Or).clear();i.onerror=()=>t(new Ir("Failed to clear wallet data",i.error)),i.onsuccess=()=>e()})}};var dc={};c0(dc,{AbiCoder:()=>Mt,AbstractProvider:()=>_t,AbstractSigner:()=>Xt,AlchemyProvider:()=>Qi,AnkrProvider:()=>Vi,BaseContract:()=>Nn,BaseWallet:()=>Dn,Block:()=>vi,BlockscoutProvider:()=>Ll,BrowserProvider:()=>Sl,ChainstackProvider:()=>Zi,CloudflareProvider:()=>zi,ConstructorFragment:()=>kr,Contract:()=>ut,ContractEventPayload:()=>Bi,ContractFactory:()=>Wc,ContractTransactionReceipt:()=>Ea,ContractTransactionResponse:()=>Ln,ContractUnknownEventPayload:()=>xs,EnsPlugin:()=>As,EnsResolver:()=>bs,ErrorDescription:()=>ya,ErrorFragment:()=>it,EtherSymbol:()=>K0,EtherscanPlugin:()=>fl,EtherscanProvider:()=>Ki,EventFragment:()=>Mr,EventLog:()=>Sn,EventPayload:()=>an,FallbackFragment:()=>Si,FallbackProvider:()=>no,FeeData:()=>hs,FeeDataNetworkPlugin:()=>el,FetchCancelSignal:()=>Io,FetchRequest:()=>ae,FetchResponse:()=>tr,FetchUrlFeeDataNetworkPlugin:()=>Ui,FixedNumber:()=>jn,Fragment:()=>Dr,FunctionFragment:()=>Jr,GasCostPlugin:()=>ys,HDNodeVoidWallet:()=>ho,HDNodeWallet:()=>_n,Indexed:()=>Ni,InfuraProvider:()=>Gs,InfuraWebSocketProvider:()=>ja,Interface:()=>En,IpcSocketProvider:()=>vl,JsonRpcApiProvider:()=>Cs,JsonRpcProvider:()=>me,JsonRpcSigner:()=>Os,LangEn:()=>xt,Log:()=>St,LogDescription:()=>ga,MaxInt256:()=>z0,MaxUint256:()=>Q0,MessagePrefix:()=>Pc,MinInt256:()=>Z0,Mnemonic:()=>Yr,MulticoinProviderPlugin:()=>Sa,N:()=>H0,NamedFragment:()=>wn,Network:()=>$,NetworkPlugin:()=>wr,NonceManager:()=>Rl,ParamType:()=>we,PocketProvider:()=>Nl,QuickNodeProvider:()=>ro,Result:()=>sr,Signature:()=>ve,SigningKey:()=>Ge,SocketBlockSubscriber:()=>$a,SocketEventSubscriber:()=>Wa,SocketPendingSubscriber:()=>Ya,SocketProvider:()=>Mn,SocketSubscriber:()=>Ds,StructFragment:()=>ls,Transaction:()=>Rt,TransactionDescription:()=>ba,TransactionReceipt:()=>Rn,TransactionResponse:()=>Vr,Typed:()=>ue,TypedDataEncoder:()=>Ut,UndecodedEventLog:()=>ps,UnmanagedSubscriber:()=>Er,Utf8ErrorFuncs:()=>Yl,VoidSigner:()=>Di,Wallet:()=>Gl,WebSocketProvider:()=>kn,WeiPerEther:()=>V0,Wordlist:()=>It,WordlistOwl:()=>at,WordlistOwlA:()=>Xn,ZeroAddress:()=>ur,ZeroHash:()=>Ho,accessListify:()=>_e,assert:()=>w,assertArgument:()=>p,assertArgumentCount:()=>Qs,assertNormalize:()=>Zs,assertPrivate:()=>Je,authorizationify:()=>yi,checkResultErrors:()=>af,computeAddress:()=>xr,computeHmac:()=>ir,concat:()=>_,copyRequest:()=>kt,dataLength:()=>ct,dataSlice:()=>ee,decodeBase58:()=>gc,decodeBase64:()=>bc,decodeBytes32String:()=>Ld,decodeRlp:()=>un,decryptCrowdsaleJson:()=>uc,decryptKeystoreJson:()=>kl,decryptKeystoreJsonSync:()=>Ml,defaultPath:()=>lc,defineProperties:()=>N,dnsEncode:()=>_c,encodeBase58:()=>Ks,encodeBase64:()=>yc,encodeBytes32String:()=>Sd,encodeRlp:()=>rt,encryptKeystoreJson:()=>fo,encryptKeystoreJsonSync:()=>lo,ensNormalize:()=>Vf,formatEther:()=>A0,formatUnits:()=>tf,fromTwos:()=>sn,getAccountPath:()=>Gh,getAddress:()=>k,getBigInt:()=>B,getBytes:()=>L,getBytesCopy:()=>le,getCreate2Address:()=>W0,getCreateAddress:()=>mi,getDefaultProvider:()=>Sh,getIcapAddress:()=>Y0,getIndexedAccountPath:()=>_h,getNumber:()=>M,getUint:()=>zs,hashAuthorization:()=>ca,hashMessage:()=>ha,hexlify:()=>R,id:()=>ge,isAddress:()=>q0,isAddressable:()=>zo,isBytesLike:()=>Wt,isCallException:()=>Kn,isCrowdsaleJson:()=>fc,isError:()=>se,isHexString:()=>V,isKeystoreJson:()=>cc,isValidName:()=>md,keccak256:()=>H,lock:()=>nm,makeError:()=>Z,mask:()=>gt,namehash:()=>cs,parseEther:()=>w0,parseUnits:()=>rf,pbkdf2:()=>nt,randomBytes:()=>$e,recoverAddress:()=>mr,resolveAddress:()=>xe,resolveProperties:()=>he,ripemd160:()=>cr,scrypt:()=>lr,scryptSync:()=>fr,sha256:()=>Ne,sha512:()=>li,showThrottleMessage:()=>Ve,solidityPacked:()=>Xc,solidityPackedKeccak256:()=>bd,solidityPackedSha256:()=>yd,stripZerosLeft:()=>f0,toBeArray:()=>te,toBeHex:()=>Fe,toBigInt:()=>Ot,toNumber:()=>mc,toQuantity:()=>Pe,toTwos:()=>on,toUtf8Bytes:()=>re,toUtf8CodePoints:()=>d0,toUtf8String:()=>Le,uuidV4:()=>Sc,verifyAuthorization:()=>sd,verifyMessage:()=>gd,verifyTypedData:()=>Ed,version:()=>wo,wordlists:()=>rp,zeroPadBytes:()=>nn,zeroPadValue:()=>Se});var wo="6.15.0";function Oy(r,e,t){let 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}let s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=r,s}async function he(r){let 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 N(r,e,t){for(let n in e){let s=e[n],i=t?t[n]:null;i&&Oy(s,i,n),Object.defineProperty(r,n,{enumerable:!0,value:s,writable:!1})}}function Eo(r,e){if(r==null)return"null";if(e==null&&(e=new Set),typeof r=="object"){if(e.has(r))return"[Circular]";e.add(r)}if(Array.isArray(r))return"[ "+r.map(t=>Eo(t,e)).join(", ")+" ]";if(r instanceof Uint8Array){let t="0123456789abcdef",n="0x";for(let s=0;s<r.length;s++)n+=t[r[s]>>4],n+=t[r[s]&15];return n}if(typeof r=="object"&&typeof r.toJSON=="function")return Eo(r.toJSON(),e);switch(typeof r){case"boolean":case"number":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"string":return JSON.stringify(r);case"object":{let t=Object.keys(r);return t.sort(),"{ "+t.map(n=>`${Eo(n,e)}: ${Eo(r[n],e)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function se(r,e){return r&&r.code===e}function Kn(r){return se(r,"CALL_EXCEPTION")}function Z(r,e,t){let n=r;{let i=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${Eo(t)}`);for(let o in t){if(o==="shortMessage")continue;let a=t[o];i.push(o+"="+Eo(a))}}i.push(`code=${e}`),i.push(`version=${wo}`),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 N(s,{code:e}),t&&Object.assign(s,t),s.shortMessage==null&&N(s,{shortMessage:n}),s}function w(r,e,t,n){if(!r)throw Z(e,t,n)}function p(r,e,t,n){w(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function Qs(r,e,t){t==null&&(t=""),t&&(t=": "+t),w(r>=e,"missing argument"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),w(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}var Cy=["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken");r.push(e)}catch{}return r},[]);function Zs(r){w(Cy.indexOf(r)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:r}})}function Je(r,e,t){if(t==null&&(t=""),r!==e){let n=t,s="new";t&&(n+=".",s+=" "+t),w(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function hp(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)){let n=new Uint8Array((r.length-2)/2),s=2;for(let i=0;i<n.length;i++)n[i]=parseInt(r.substring(s,s+2),16),s+=2;return n}p(!1,"invalid BytesLike value",e||"value",r)}function L(r,e){return hp(r,e,!1)}function le(r,e){return hp(r,e,!0)}function V(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 Wt(r){return V(r,!0)||r instanceof Uint8Array}var dp="0123456789abcdef";function R(r){let e=L(r),t="0x";for(let n=0;n<e.length;n++){let s=e[n];t+=dp[(s&240)>>4]+dp[s&15]}return t}function _(r){return"0x"+r.map(e=>R(e).substring(2)).join("")}function ct(r){return V(r,!0)?(r.length-2)/2:L(r).length}function ee(r,e,t){let n=L(r);return t!=null&&t>n.length&&w(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),R(n.slice(e??0,t??n.length))}function f0(r){let e=R(r).substring(2);for(;e.startsWith("00");)e=e.substring(2);return"0x"+e}function pp(r,e,t){let n=L(r);w(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});let s=new Uint8Array(e);return s.fill(0),t?s.set(n,e-n.length):s.set(n,0),R(s)}function Se(r,e){return pp(r,e,!0)}function nn(r,e){return pp(r,e,!1)}var zl=BigInt(0),jt=BigInt(1),To=9007199254740991;function sn(r,e){let t=zs(r,"value"),n=BigInt(M(e,"width"));if(w(t>>n===zl,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-jt){let s=(jt<<n)-jt;return-((~t&s)+jt)}return t}function on(r,e){let t=B(r,"value"),n=BigInt(M(e,"width")),s=jt<<n-jt;if(t<zl){t=-t,w(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});let i=(jt<<n)-jt;return(~t&i)+jt}else w(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});return t}function gt(r,e){let t=zs(r,"value"),n=BigInt(M(e,"bits"));return t&(jt<<n)-jt}function B(r,e){switch(typeof r){case"bigint":return r;case"number":return p(Number.isInteger(r),"underflow",e||"value",r),p(r>=-To&&r<=To,"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){p(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}p(!1,"invalid BigNumberish value",e||"value",r)}function zs(r,e){let t=B(r,e);return w(t>=zl,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}var xp="0123456789abcdef";function Ot(r){if(r instanceof Uint8Array){let e="0x0";for(let t of r)e+=xp[t>>4],e+=xp[t&15];return BigInt(e)}return B(r)}function M(r,e){switch(typeof r){case"bigint":return p(r>=-To&&r<=To,"overflow",e||"value",r),Number(r);case"number":return p(Number.isInteger(r),"underflow",e||"value",r),p(r>=-To&&r<=To,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return M(BigInt(r),e)}catch(t){p(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}p(!1,"invalid numeric value",e||"value",r)}function mc(r){return M(Ot(r))}function Fe(r,e){let n=zs(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{let s=M(e,"width");for(w(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 te(r){let e=zs(r,"value");if(e===zl)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);let n=new Uint8Array(t.length/2);for(let s=0;s<n.length;s++){let i=s*2;n[s]=parseInt(t.substring(i,i+2),16)}return n}function Pe(r){let e=R(Wt(r)?r:te(r)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}var $l="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Kl=null;function Py(r){if(Kl==null){Kl={};for(let t=0;t<$l.length;t++)Kl[$l[t]]=BigInt(t)}let e=Kl[r];return p(e!=null,"invalid base58 value","letter",r),e}var Uy=BigInt(0),u0=BigInt(58);function Ks(r){let e=L(r),t=Ot(e),n="";for(;t;)n=$l[Number(t%u0)]+n,t/=u0;for(let s=0;s<e.length&&!e[s];s++)n=$l[0]+n;return n}function gc(r){let e=Uy;for(let t=0;t<r.length;t++)e*=u0,e+=Py(r[t]);return e}function bc(r){return le(Buffer.from(r,"base64"))}function yc(r){return Buffer.from(L(r)).toString("base64")}var Ro,an=class{constructor(e,t,n){g(this,"filter");g(this,"emitter");y(this,Ro);h(this,Ro,t),N(this,{emitter:e,filter:n})}async removeListener(){f(this,Ro)!=null&&await this.emitter.off(this.filter,f(this,Ro))}};Ro=new WeakMap;function Fy(r,e,t,n,s){p(!1,`invalid codepoint at offset ${e}; ${r}`,"bytes",t)}function mp(r,e,t,n,s){if(r==="BAD_PREFIX"||r==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return r==="OVERRUN"?t.length-e-1:0}function My(r,e,t,n,s){return r==="OVERLONG"?(p(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),n.push(s),0):(n.push(65533),mp(r,e,t,n,s))}var Yl=Object.freeze({error:Fy,ignore:mp,replace:My});function gp(r,e){e==null&&(e=Yl.error);let t=L(r,"bytes"),n=[],s=0;for(;s<t.length;){let i=t[s++];if(i>>7===0){n.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=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+o>=t.length){s+=e("OVERRUN",s-1,t,n);continue}let c=i&(1<<8-o-1)-1;for(let l=0;l<o;l++){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-o,t,n,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,n,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,n,c);continue}n.push(c)}}return n}function re(r,e){p(typeof r=="string","invalid string value","str",r),e!=null&&(Zs(e),r=r.normalize(e));let t=[];for(let n=0;n<r.length;n++){let 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++;let i=r.charCodeAt(n);p(n<r.length&&(i&64512)===56320,"invalid surrogate pair","str",r);let o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function ky(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Le(r,e){return ky(gp(r,e))}function d0(r,e){return gp(re(r,e))}var bp=Zn(require("http"),1),yp=Zn(require("https"),1),Ap=require("zlib");function Wl(r){async function e(t,n){w(n==null||!n.cancelled,"request cancelled before sending","CANCELLED");let s=t.url.split(":")[0].toLowerCase();w(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),w(s==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=t.method,o=Object.assign({},t.headers),a={method:i,headers:o};r&&r.agent&&(a.agent=r.agent);let c=null;try{c=new AbortController,a.abort=c.signal}catch(d){console.log(d)}let l=(s==="http"?bp.default:yp.default).request(t.url,a);l.setTimeout(t.timeout);let u=t.body;return u&&l.write(Buffer.from(u)),l.end(),new Promise((d,x)=>{n&&n.addListener(()=>{c&&c.abort(),x(Z("request cancelled","CANCELLED"))}),l.on("timeout",()=>{x(Z("request timeout","TIMEOUT"))}),l.once("response",m=>{let A=m.statusCode||0,b=m.statusMessage||"",E=Object.keys(m.headers||{}).reduce((v,O)=>{let D=m.headers[O]||"";return Array.isArray(D)&&(D=D.join(", ")),v[O]=D,v},{}),T=null;m.on("data",v=>{if(n)try{n.checkSignal()}catch(O){return x(O)}if(T==null)T=v;else{let O=new Uint8Array(T.length+v.length);O.set(T,0),O.set(v,T.length),T=O}}),m.on("end",()=>{try{E["content-encoding"]==="gzip"&&T&&(T=L((0,Ap.gunzipSync)(T))),d({statusCode:A,statusMessage:b,headers:E,body:T})}catch(v){x(Z("bad response data","SERVER_ERROR",{request:t,info:{response:m,error:v}}))}}),m.on("error",v=>{v.response={statusCode:A,statusMessage:b,headers:E,body:T},x(v)})}),l.on("error",m=>{x(m)})})}return e}var pT=Wl({});var Jy=12,Dy=250,wp=Wl(),Gy=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),_y=new RegExp("^ipfs://(ipfs/)?(.*)$","i"),h0=!1;async function Tp(r,e){try{let t=r.match(Gy);if(!t)throw new Error("invalid data");return new tr(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?bc(t[3]):Xy(t[3]))}catch{return new tr(599,"BAD REQUEST (invalid data: URI)",{},null,new ae(r))}}function Rp(r){async function e(t,n){try{let s=t.match(_y);if(!s)throw new Error("invalid link");return new ae(`${r}${s[2]}`)}catch{return new tr(599,"BAD REQUEST (invalid IPFS URI)",{},null,new ae(t))}}return e}var jl={data:Tp,ipfs:Rp("https://gateway.ipfs.io/ipfs/")},Sp=new WeakMap,$s,$n,Io=class{constructor(e){y(this,$s);y(this,$n);h(this,$s,[]),h(this,$n,!1),Sp.set(e,()=>{if(!f(this,$n)){h(this,$n,!0);for(let t of f(this,$s))setTimeout(()=>{t()},0);h(this,$s,[])}})}addListener(e){w(!f(this,$n),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),f(this,$s).push(e)}get cancelled(){return f(this,$n)}checkSignal(){w(!this.cancelled,"cancelled","CANCELLED",{})}};$s=new WeakMap,$n=new WeakMap;function ql(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}var So,Lo,qt,cn,No,vo,Me,bt,ln,Ys,Ws,js,Cr,er,Yn,qs,Ac,ef=class ef{constructor(e){y(this,qs);y(this,So);y(this,Lo);y(this,qt);y(this,cn);y(this,No);y(this,vo);y(this,Me);y(this,bt);y(this,ln);y(this,Ys);y(this,Ws);y(this,js);y(this,Cr);y(this,er);y(this,Yn);h(this,vo,String(e)),h(this,So,!1),h(this,Lo,!0),h(this,qt,{}),h(this,cn,""),h(this,No,3e5),h(this,er,{slotInterval:Dy,maxAttempts:Jy}),h(this,Yn,null)}get url(){return f(this,vo)}set url(e){h(this,vo,String(e))}get body(){return f(this,Me)==null?null:new Uint8Array(f(this,Me))}set body(e){if(e==null)h(this,Me,void 0),h(this,bt,void 0);else if(typeof e=="string")h(this,Me,re(e)),h(this,bt,"text/plain");else if(e instanceof Uint8Array)h(this,Me,e),h(this,bt,"application/octet-stream");else if(typeof e=="object")h(this,Me,re(JSON.stringify(e))),h(this,bt,"application/json");else throw new Error("invalid body")}hasBody(){return f(this,Me)!=null}get method(){return f(this,cn)?f(this,cn):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),h(this,cn,String(e).toUpperCase())}get headers(){let e=Object.assign({},f(this,qt));return f(this,ln)&&(e.authorization=`Basic ${yc(re(f(this,ln)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&f(this,bt)&&(e["content-type"]=f(this,bt)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){f(this,qt)[String(e).toLowerCase()]=String(t)}clearHeaders(){h(this,qt,{})}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),n=0;return{next:()=>{if(n<t.length){let s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return f(this,ln)||null}setCredentials(e,t){p(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),h(this,ln,`${e}:${t}`)}get allowGzip(){return f(this,Lo)}set allowGzip(e){h(this,Lo,!!e)}get allowInsecureAuthentication(){return!!f(this,So)}set allowInsecureAuthentication(e){h(this,So,!!e)}get timeout(){return f(this,No)}set timeout(e){p(e>=0,"timeout must be non-zero","timeout",e),h(this,No,e)}get preflightFunc(){return f(this,Ys)||null}set preflightFunc(e){h(this,Ys,e)}get processFunc(){return f(this,Ws)||null}set processFunc(e){h(this,Ws,e)}get retryFunc(){return f(this,js)||null}set retryFunc(e){h(this,js,e)}get getUrlFunc(){return f(this,Yn)||wp}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=${f(this,Me)?R(f(this,Me)):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(f(this,er).slotInterval=e.slotInterval),e.maxAttempts!=null&&(f(this,er).maxAttempts=e.maxAttempts)}send(){return w(f(this,Cr)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),h(this,Cr,new Io(this)),S(this,qs,Ac).call(this,0,Ep()+this.timeout,0,this,new tr(0,"",{},null,this))}cancel(){w(f(this,Cr)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let e=Sp.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){let t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();w(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)})`});let s=new ef(e);return s.method="GET",s.allowGzip=this.allowGzip,s.timeout=this.timeout,h(s,qt,Object.assign({},f(this,qt))),f(this,Me)&&h(s,Me,new Uint8Array(f(this,Me))),h(s,bt,f(this,bt)),s}clone(){let e=new ef(this.url);return h(e,cn,f(this,cn)),f(this,Me)&&h(e,Me,f(this,Me)),h(e,bt,f(this,bt)),h(e,qt,Object.assign({},f(this,qt))),h(e,ln,f(this,ln)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),h(e,Ys,f(this,Ys)),h(e,Ws,f(this,Ws)),h(e,js,f(this,js)),h(e,er,Object.assign({},f(this,er))),h(e,Yn,f(this,Yn)),e}static lockConfig(){h0=!0}static getGateway(e){return jl[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(h0)throw new Error("gateways locked");jl[e]=t}static registerGetUrl(e){if(h0)throw new Error("gateways locked");wp=e}static createGetUrlFunc(e){return Wl(e)}static createDataGateway(){return Tp}static createIpfsGatewayFunc(e){return Rp(e)}};So=new WeakMap,Lo=new WeakMap,qt=new WeakMap,cn=new WeakMap,No=new WeakMap,vo=new WeakMap,Me=new WeakMap,bt=new WeakMap,ln=new WeakMap,Ys=new WeakMap,Ws=new WeakMap,js=new WeakMap,Cr=new WeakMap,er=new WeakMap,Yn=new WeakMap,qs=new WeakSet,Ac=async function(e,t,n,s,i){var u,d,x;if(e>=f(this,er).maxAttempts)return i.makeServerError("exceeded maximum retry limit");w(Ep()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),n>0&&await Hy(n);let o=this.clone(),a=(o.url.split(":")[0]||"").toLowerCase();if(a in jl){let m=await jl[a](o.url,ql(f(s,Cr)));if(m instanceof tr){let A=m;if(this.processFunc){ql(f(s,Cr));try{A=await this.processFunc(o,A)}catch(b){(b.throttle==null||typeof b.stall!="number")&&A.makeServerError("error in post-processing function",b).assertOk()}}return A}o=m}this.preflightFunc&&(o=await this.preflightFunc(o));let c=await this.getUrlFunc(o,ql(f(s,Cr))),l=new tr(c.statusCode,c.statusMessage,c.headers,c.body,s);if(l.statusCode===301||l.statusCode===302){try{let m=l.headers.location||"";return S(u=o.redirect(m),qs,Ac).call(u,e+1,t,0,s,l)}catch{}return l}else if(l.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,l,e))){let m=l.headers["retry-after"],A=f(this,er).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof m=="string"&&m.match(/^[1-9][0-9]*$/)&&(A=parseInt(m)),S(d=o.clone(),qs,Ac).call(d,e+1,t,A,s,l)}if(this.processFunc){ql(f(s,Cr));try{l=await this.processFunc(o,l)}catch(m){(m.throttle==null||typeof m.stall!="number")&&l.makeServerError("error in post-processing function",m).assertOk();let A=f(this,er).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return m.stall>=0&&(A=m.stall),S(x=o.clone(),qs,Ac).call(x,e+1,t,A,s,l)}}return l};var ae=ef,wc,Ec,Tc,yt,Bo,ei,p0=class p0{constructor(e,t,n,s,i){y(this,wc);y(this,Ec);y(this,Tc);y(this,yt);y(this,Bo);y(this,ei);h(this,wc,e),h(this,Ec,t),h(this,Tc,Object.keys(n).reduce((o,a)=>(o[a.toLowerCase()]=String(n[a]),o),{})),h(this,yt,s==null?null:new Uint8Array(s)),h(this,Bo,i||null),h(this,ei,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${f(this,yt)?R(f(this,yt)):"null"}>`}get statusCode(){return f(this,wc)}get statusMessage(){return f(this,Ec)}get headers(){return Object.assign({},f(this,Tc))}get body(){return f(this,yt)==null?null:new Uint8Array(f(this,yt))}get bodyText(){try{return f(this,yt)==null?"":Le(f(this,yt))}catch{w(!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{w(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),n=0;return{next:()=>{if(n<t.length){let 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})`);let s=new p0(599,n,this.headers,this.body,f(this,Bo)||void 0);return h(s,ei,{message:e,error:t}),s}throwThrottleError(e,t){t==null?t=-1:p(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);let n=new Error(e||"throttling requests");throw N(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return f(this,yt)!=null}get request(){return f(this,Bo)}ok(){return f(this,ei).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=f(this,ei);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let s=null;try{f(this,yt)&&(s=Le(f(this,yt)))}catch{}w(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};wc=new WeakMap,Ec=new WeakMap,Tc=new WeakMap,yt=new WeakMap,Bo=new WeakMap,ei=new WeakMap;var tr=p0;function Ep(){return new Date().getTime()}function Xy(r){return re(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function Hy(r){return new Promise(e=>setTimeout(e,r))}var Vy=BigInt(-1),rr=BigInt(0),Co=BigInt(1),Qy=BigInt(5),Oo={},Po="0000";for(;Po.length<80;)Po+=Po;function ti(r){let e=Po;for(;e.length<r;)e+=e;return BigInt("1"+e.substring(0,r))}function Rc(r,e,t){let n=BigInt(e.width);if(e.signed){let s=Co<<n-Co;w(t==null||r>=-s&&r<s,"overflow","NUMERIC_FAULT",{operation:t,fault:"overflow",value:r}),r>rr?r=sn(gt(r,n),n):r=-sn(gt(-r,n),n)}else{let s=Co<<n;w(t==null||r>=0&&r<s,"overflow","NUMERIC_FAULT",{operation:t,fault:"overflow",value:r}),r=(r%s+s)%s&s-Co}return r}function x0(r){typeof r=="number"&&(r=`fixed128x${r}`);let e=!0,t=128,n=18;if(typeof r=="string"){if(r!=="fixed")if(r==="ufixed")e=!1;else{let i=r.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);p(i,"invalid fixed format","format",r),e=i[1]!=="u",t=parseInt(i[2]),n=parseInt(i[3])}}else if(r){let i=r,o=(a,c,l)=>i[a]==null?l:(p(typeof i[a]===c,"invalid fixed format ("+a+" not "+c+")","format."+a,i[a]),i[a]);e=o("signed","boolean",e),t=o("width","number",t),n=o("decimals","number",n)}p(t%8===0,"invalid FixedNumber width (not byte aligned)","format.width",t),p(n<=80,"invalid FixedNumber decimals (too large)","format.decimals",n);let s=(e?"":"u")+"fixed"+String(t)+"x"+String(n);return{signed:e,width:t,decimals:n,name:s}}function Zy(r,e){let t="";r<rr&&(t="-",r*=Vy);let n=r.toString();if(e===0)return t+n;for(;n.length<=e;)n=Po+n;let s=n.length-e;for(n=n.substring(0,s)+"."+n.substring(s);n[0]==="0"&&n[1]!==".";)n=n.substring(1);for(;n[n.length-1]==="0"&&n[n.length-2]!==".";)n=n.substring(0,n.length-1);return t+n}var nr,fe,tt,ce,ri,fn,m0,g0,b0,y0,Wn=class Wn{constructor(e,t,n){y(this,ce);g(this,"format");y(this,nr);y(this,fe);y(this,tt);g(this,"_value");Je(e,Oo,"FixedNumber"),h(this,fe,t),h(this,nr,n);let s=Zy(t,n.decimals);N(this,{format:n.name,_value:s}),h(this,tt,ti(n.decimals))}get signed(){return f(this,nr).signed}get width(){return f(this,nr).width}get decimals(){return f(this,nr).decimals}get value(){return f(this,fe)}addUnsafe(e){return S(this,ce,m0).call(this,e)}add(e){return S(this,ce,m0).call(this,e,"add")}subUnsafe(e){return S(this,ce,g0).call(this,e)}sub(e){return S(this,ce,g0).call(this,e,"sub")}mulUnsafe(e){return S(this,ce,b0).call(this,e)}mul(e){return S(this,ce,b0).call(this,e,"mul")}mulSignal(e){S(this,ce,ri).call(this,e);let t=f(this,fe)*f(e,fe);return w(t%f(this,tt)===rr,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),S(this,ce,fn).call(this,t/f(this,tt),"mulSignal")}divUnsafe(e){return S(this,ce,y0).call(this,e)}div(e){return S(this,ce,y0).call(this,e,"div")}divSignal(e){w(f(e,fe)!==rr,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),S(this,ce,ri).call(this,e);let t=f(this,fe)*f(this,tt);return w(t%f(e,fe)===rr,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),S(this,ce,fn).call(this,t/f(e,fe),"divSignal")}cmp(e){let t=this.value,n=e.value,s=this.decimals-e.decimals;return s>0?n*=ti(s):s<0&&(t*=ti(-s)),t<n?-1:t>n?1:0}eq(e){return this.cmp(e)===0}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=f(this,fe);return f(this,fe)<rr&&(e-=f(this,tt)-Co),e=f(this,fe)/f(this,tt)*f(this,tt),S(this,ce,fn).call(this,e,"floor")}ceiling(){let e=f(this,fe);return f(this,fe)>rr&&(e+=f(this,tt)-Co),e=f(this,fe)/f(this,tt)*f(this,tt),S(this,ce,fn).call(this,e,"ceiling")}round(e){if(e==null&&(e=0),e>=this.decimals)return this;let t=this.decimals-e,n=Qy*ti(t-1),s=this.value+n,i=ti(t);return s=s/i*i,Rc(s,f(this,nr),"round"),new Wn(Oo,s,f(this,nr))}isZero(){return f(this,fe)===rr}isNegative(){return f(this,fe)<rr}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Wn.fromString(this.toString(),e)}static fromValue(e,t,n){let s=t==null?0:M(t),i=x0(n),o=B(e,"value"),a=s-i.decimals;if(a>0){let c=ti(a);w(o%c===rr,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),o/=c}else a<0&&(o*=ti(-a));return Rc(o,i,"fromValue"),new Wn(Oo,o,i)}static fromString(e,t){let n=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);p(n&&n[2].length+n[3].length>0,"invalid FixedNumber string value","value",e);let s=x0(t),i=n[2]||"0",o=n[3]||"";for(;o.length<s.decimals;)o+=Po;w(o.substring(s.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:e}),o=o.substring(0,s.decimals);let a=BigInt(n[1]+i+o);return Rc(a,s,"fromString"),new Wn(Oo,a,s)}static fromBytes(e,t){let n=Ot(L(e,"value")),s=x0(t);return s.signed&&(n=sn(n,s.width)),Rc(n,s,"fromBytes"),new Wn(Oo,n,s)}};nr=new WeakMap,fe=new WeakMap,tt=new WeakMap,ce=new WeakSet,ri=function(e){p(this.format===e.format,"incompatible format; use fixedNumber.toFormat","other",e)},fn=function(e,t){return e=Rc(e,f(this,nr),t),new Wn(Oo,e,f(this,nr))},m0=function(e,t){return S(this,ce,ri).call(this,e),S(this,ce,fn).call(this,f(this,fe)+f(e,fe),t)},g0=function(e,t){return S(this,ce,ri).call(this,e),S(this,ce,fn).call(this,f(this,fe)-f(e,fe),t)},b0=function(e,t){return S(this,ce,ri).call(this,e),S(this,ce,fn).call(this,f(this,fe)*f(e,fe)/f(this,tt),t)},y0=function(e,t){return w(f(e,fe)!==rr,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),S(this,ce,ri).call(this,e),S(this,ce,fn).call(this,f(this,fe)*f(this,tt)/f(e,fe),t)};var jn=Wn;function zy(r){let e=r.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function Lp(r,e,t){let n=0;for(let s=0;s<t;s++)n=n*256+r[e+s];return n}function Np(r,e,t,n){let s=[];for(;t<e+1+n;){let i=vp(r,t);s.push(i.result),t+=i.consumed,w(t<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:r,length:n,offset:e})}return{consumed:1+n,result:s}}function vp(r,e){w(r.length!==0,"data too short","BUFFER_OVERRUN",{buffer:r,length:0,offset:1});let t=n=>{w(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){let n=r[e]-247;t(e+1+n);let s=Lp(r,e+1,n);return t(e+1+n+s),Np(r,e,e+1+n,n+s)}else if(r[e]>=192){let n=r[e]-192;return t(e+1+n),Np(r,e,e+1,n)}else if(r[e]>=184){let n=r[e]-183;t(e+1+n);let s=Lp(r,e+1,n);t(e+1+n+s);let i=R(r.slice(e+1+n,e+1+n+s));return{consumed:1+n+s,result:i}}else if(r[e]>=128){let n=r[e]-128;t(e+1+n);let s=R(r.slice(e+1,e+1+n));return{consumed:1+n,result:s}}return{consumed:1,result:zy(r[e])}}function un(r){let e=L(r,"data"),t=vp(e,0);return p(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function Bp(r){let e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function Op(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(i){n=n.concat(Op(i))}),n.length<=55)return n.unshift(192+n.length),n;let s=Bp(n.length);return s.unshift(247+s.length),s.concat(n)}let e=Array.prototype.slice.call(L(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;let t=Bp(e.length);return t.unshift(183+t.length),t.concat(e)}var Ip="0123456789abcdef";function rt(r){let e="0x";for(let t of Op(r))e+=Ip[t>>4],e+=Ip[t&15];return e}var Cp=["wei","kwei","mwei","gwei","szabo","finney","ether"];function tf(r,e){let t=18;if(typeof e=="string"){let n=Cp.indexOf(e);p(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=M(e,"unit"));return jn.fromValue(r,t,{decimals:t,width:512}).toString()}function rf(r,e){p(typeof r=="string","value must be a string","value",r);let t=18;if(typeof e=="string"){let n=Cp.indexOf(e);p(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=M(e,"unit"));return jn.fromString(r,{decimals:t,width:512}).value}function A0(r){return tf(r,18)}function w0(r){return rf(r,18)}function Sc(r){let e=L(r,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=R(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}var De=32,E0=new Uint8Array(De),Ky=["then"],nf={},Fp=new WeakMap;function ni(r){return Fp.get(r)}function Pp(r,e){Fp.set(r,e)}function Lc(r,e){let t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}function T0(r,e,t){return r.indexOf(null)>=0?e.map((n,s)=>n instanceof sr?T0(ni(n),n,t):n):r.reduce((n,s,i)=>{let o=e.getValue(s);return s in n||(t&&o instanceof sr&&(o=T0(ni(o),o,t)),n[s]=o),n},{})}var Fo,Uo=class Uo extends Array{constructor(...t){let n=t[0],s=t[1],i=(t[2]||[]).slice(),o=!0;n!==nf&&(s=t,i=[],o=!1);super(s.length);y(this,Fo);s.forEach((l,u)=>{this[u]=l});let a=i.reduce((l,u)=>(typeof u=="string"&&l.set(u,(l.get(u)||0)+1),l),new Map);if(Pp(this,Object.freeze(s.map((l,u)=>{let d=i[u];return d!=null&&a.get(d)===1?d:null}))),h(this,Fo,[]),f(this,Fo)==null&&f(this,Fo),!o)return;Object.freeze(this);let c=new Proxy(this,{get:(l,u,d)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){let m=M(u,"%index");if(m<0||m>=this.length)throw new RangeError("out of result range");let A=l[m];return A instanceof Error&&Lc(`index ${m}`,A),A}if(Ky.indexOf(u)>=0)return Reflect.get(l,u,d);let x=l[u];if(x instanceof Function)return function(...m){return x.apply(this===d?l:this,m)};if(!(u in l))return l.getValue.apply(this===d?l:this,[u])}return Reflect.get(l,u,d)}});return Pp(c,ni(this)),c}toArray(t){let n=[];return this.forEach((s,i)=>{s instanceof Error&&Lc(`index ${i}`,s),t&&s instanceof Uo&&(s=s.toArray(t)),n.push(s)}),n}toObject(t){let n=ni(this);return n.reduce((s,i,o)=>(w(i!=null,`value at index ${o} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),T0(n,this,t)),{})}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);let s=ni(this),i=[],o=[];for(let a=t;a<n;a++)i.push(this[a]),o.push(s[a]);return new Uo(nf,i,o)}filter(t,n){let s=ni(this),i=[],o=[];for(let a=0;a<this.length;a++){let c=this[a];c instanceof Error&&Lc(`index ${a}`,c),t.call(n,c,a,this)&&(i.push(c),o.push(s[a]))}return new Uo(nf,i,o)}map(t,n){let s=[];for(let i=0;i<this.length;i++){let o=this[i];o instanceof Error&&Lc(`index ${i}`,o),s.push(t.call(n,o,i,this))}return s}getValue(t){let n=ni(this).indexOf(t);if(n===-1)return;let s=this[n];return s instanceof Error&&Lc(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,n){return new Uo(nf,t,n)}};Fo=new WeakMap;var sr=Uo;function af(r){let e=[],t=function(n,s){if(Array.isArray(s))for(let i in s){let o=n.slice();o.push(i);try{t(o,s[i])}catch(a){e.push({path:o,error:a})}}};return t([],r),e}function Up(r){let e=te(r);return w(e.length<=De,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:De,offset:e.length}),e.length!==De&&(e=le(_([E0.slice(e.length%De),e]))),e}var Ce=class{constructor(e,t,n,s){g(this,"name");g(this,"type");g(this,"localName");g(this,"dynamic");N(this,{name:e,type:t,localName:n,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){p(!1,e,this.localName,t)}},dn,si,Mo,sf,ai=class{constructor(){y(this,Mo);y(this,dn);y(this,si);h(this,dn,[]),h(this,si,0)}get data(){return _(f(this,dn))}get length(){return f(this,si)}appendWriter(e){return S(this,Mo,sf).call(this,le(e.data))}writeBytes(e){let t=le(e),n=t.length%De;return n&&(t=le(_([t,E0.slice(n)]))),S(this,Mo,sf).call(this,t)}writeValue(e){return S(this,Mo,sf).call(this,Up(e))}writeUpdatableValue(){let e=f(this,dn).length;return f(this,dn).push(E0),h(this,si,f(this,si)+De),t=>{f(this,dn)[e]=Up(t)}}};dn=new WeakMap,si=new WeakMap,Mo=new WeakSet,sf=function(e){return f(this,dn).push(e),h(this,si,f(this,si)+e.length),e.length};var lt,At,ii,oi,qn,ci,R0,Mp,S0=class S0{constructor(e,t,n){y(this,ci);g(this,"allowLoose");y(this,lt);y(this,At);y(this,ii);y(this,oi);y(this,qn);N(this,{allowLoose:!!t}),h(this,lt,le(e)),h(this,ii,0),h(this,oi,null),h(this,qn,n??1024),h(this,At,0)}get data(){return R(f(this,lt))}get dataLength(){return f(this,lt).length}get consumed(){return f(this,At)}get bytes(){return new Uint8Array(f(this,lt))}subReader(e){let t=new S0(f(this,lt).slice(f(this,At)+e),this.allowLoose,f(this,qn));return h(t,oi,this),t}readBytes(e,t){let n=S(this,ci,Mp).call(this,0,e,!!t);return S(this,ci,R0).call(this,e),h(this,At,f(this,At)+n.length),n.slice(0,e)}readValue(){return Ot(this.readBytes(De))}readIndex(){return mc(this.readBytes(De))}};lt=new WeakMap,At=new WeakMap,ii=new WeakMap,oi=new WeakMap,qn=new WeakMap,ci=new WeakSet,R0=function(e){var t;if(f(this,oi))return S(t=f(this,oi),ci,R0).call(t,e);h(this,ii,f(this,ii)+e),w(f(this,qn)<1||f(this,ii)<=f(this,qn)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${f(this,qn)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:le(f(this,lt)),offset:f(this,At),length:e,info:{bytesRead:f(this,ii),dataLength:this.dataLength}})},Mp=function(e,t,n){let s=Math.ceil(t/De)*De;return f(this,At)+s>f(this,lt).length&&(this.allowLoose&&n&&f(this,At)+t<=f(this,lt).length?s=t:w(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:le(f(this,lt)),length:f(this,lt).length,offset:f(this,At)+s})),f(this,lt).slice(f(this,At),f(this,At)+s)};var of=S0;var wt=require("crypto");var kp=!1,Jp=function(r,e,t){return(0,wt.createHmac)(r,e).update(t).digest()},Dp=Jp;function ir(r,e,t){let n=L(e,"key"),s=L(t,"data");return R(Dp(r,n,s))}ir._=Jp;ir.lock=function(){kp=!0};ir.register=function(r){if(kp)throw new Error("computeHmac is locked");Dp=r};Object.freeze(ir);function Ke(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function Nc(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 cf(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ke(r.outputLen),Ke(r.blockLen)}function hn(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 lf(r,e){Nc(r);let t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var ff=BigInt(4294967295),Gp=BigInt(32);function $y(r,e=!1){return e?{h:Number(r&ff),l:Number(r>>Gp&ff)}:{h:Number(r>>Gp&ff)|0,l:Number(r&ff)|0}}function _p(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=$y(r[s],e);[t[s],n[s]]=[i,o]}return[t,n]}var Xp=(r,e,t)=>r<<t|e>>>32-t,Hp=(r,e,t)=>e<<t|r>>>32-t,Vp=(r,e,t)=>e<<t-32|r>>>64-t,Qp=(r,e,t)=>r<<t-32|e>>>64-t;var vc=Zn(require("crypto"),1),uf=vc&&typeof vc=="object"&&"webcrypto"in vc?vc.webcrypto:void 0;var Zp=r=>r instanceof Uint8Array;var ko=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),Jo=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),or=(r,e)=>r<<32-e|r>>>e,Yy=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Yy)throw new Error("Non little-endian hardware is not supported");var Wy=async()=>{};async function df(r,e,t){let n=Date.now();for(let s=0;s<r;s++){t(s);let i=Date.now()-n;i>=0&&i<e||(await Wy(),n+=i)}}function jy(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function ar(r){if(typeof r=="string"&&(r=jy(r)),!Zp(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function zp(...r){let e=new Uint8Array(r.reduce((n,s)=>n+s.length,0)),t=0;return r.forEach(n=>{if(!Zp(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}var es=class{clone(){return this._cloneInto()}},qy={}.toString;function hf(r,e){if(e!==void 0&&qy.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function Do(r){let e=n=>r().update(ar(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Kp(r){let e=(n,s)=>r(s).update(ar(n)).digest(),t=r({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=n=>r(n),e}function $p(r=32){if(uf&&typeof uf.getRandomValues=="function")return uf.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}var[jp,qp,ex]=[[],[],[]],eA=BigInt(0),Bc=BigInt(1),tA=BigInt(2),rA=BigInt(7),nA=BigInt(256),sA=BigInt(113);for(let r=0,e=Bc,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],jp.push(2*(5*n+t)),qp.push((r+1)*(r+2)/2%64);let s=eA;for(let i=0;i<7;i++)e=(e<<Bc^(e>>rA)*sA)%nA,e&tA&&(s^=Bc<<(Bc<<BigInt(i))-Bc);ex.push(s)}var[iA,oA]=_p(ex,!0),Yp=(r,e,t)=>t>32?Vp(r,e,t):Xp(r,e,t),Wp=(r,e,t)=>t>32?Qp(r,e,t):Hp(r,e,t);function aA(r,e=24){let t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){let a=(o+8)%10,c=(o+2)%10,l=t[c],u=t[c+1],d=Yp(l,u,1)^t[a],x=Wp(l,u,1)^t[a+1];for(let m=0;m<50;m+=10)r[o+m]^=d,r[o+m+1]^=x}let s=r[2],i=r[3];for(let o=0;o<24;o++){let a=qp[o],c=Yp(s,i,a),l=Wp(s,i,a),u=jp[o];s=r[u],i=r[u+1],r[u]=c,r[u+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=iA[n],r[1]^=oA[n]}t.fill(0)}var pf=class r extends es{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,Ke(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=ko(this.state)}keccak(){aA(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){hn(this);let{blockLen:t,state:n}=this;e=ar(e);let s=e.length;for(let i=0;i<s;){let o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:s}=this;e[n]^=t,(t&128)!==0&&n===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){hn(this,!1),Nc(e),this.finish();let t=this.state,{blockLen:n}=this;for(let s=0,i=e.length;s<i;){this.posOut>=n&&this.keccak();let o=Math.min(n-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ke(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(lf(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){let{blockLen:t,suffix:n,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new r(t,n,s,o,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=o,e.destroyed=this.destroyed,e}},ts=(r,e,t)=>Do(()=>new pf(e,r,t)),b3=ts(6,144,224/8),y3=ts(6,136,256/8),A3=ts(6,104,384/8),w3=ts(6,72,512/8),E3=ts(1,144,224/8),tx=ts(1,136,256/8),T3=ts(1,104,384/8),R3=ts(1,72,512/8),rx=(r,e,t)=>Kp((n={})=>new pf(e,r,n.dkLen===void 0?t:n.dkLen,!0)),S3=rx(31,168,128/8),L3=rx(31,136,256/8);var nx=!1,sx=function(r){return tx(r)},ix=sx;function H(r){let e=L(r,"data");return R(ix(e))}H._=sx;H.lock=function(){nx=!0};H.register=function(r){if(nx)throw new TypeError("keccak256 is locked");ix=r};Object.freeze(H);function cA(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(t>>s&i),a=Number(t&i),c=n?4:0,l=n?0:4;r.setUint32(e+c,o,n),r.setUint32(e+l,a,n)}var Go=class extends es{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=Jo(this.buffer)}update(e){hn(this);let{view:t,buffer:n,blockLen:s}=this;e=ar(e);let i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Jo(e);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){hn(this),lf(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let d=o;d<s;d++)t[d]=0;cA(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=Jo(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return e.length=s,e.pos=a,e.finished=i,e.destroyed=o,s%t&&e.buffer.set(n),e}};var lA=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),ax=Uint8Array.from({length:16},(r,e)=>e),fA=ax.map(r=>(9*r+5)%16),N0=[ax],v0=[fA];for(let r=0;r<4;r++)for(let e of[N0,v0])e.push(e[r].map(t=>lA[t]));var cx=[[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)),uA=N0.map((r,e)=>r.map(t=>cx[e][t])),dA=v0.map((r,e)=>r.map(t=>cx[e][t])),hA=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),pA=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),xf=(r,e)=>r<<e|r>>>32-e;function ox(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)}var mf=new Uint32Array(16),L0=class extends Go{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{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 m=0;m<16;m++,t+=4)mf[m]=e.getUint32(t,!0);let n=this.h0|0,s=n,i=this.h1|0,o=i,a=this.h2|0,c=a,l=this.h3|0,u=l,d=this.h4|0,x=d;for(let m=0;m<5;m++){let A=4-m,b=hA[m],E=pA[m],T=N0[m],v=v0[m],O=uA[m],D=dA[m];for(let C=0;C<16;C++){let P=xf(n+ox(m,i,a,l)+mf[T[C]]+b,O[C])+d|0;n=d,d=l,l=xf(a,10)|0,a=i,i=P}for(let C=0;C<16;C++){let P=xf(s+ox(A,o,c,u)+mf[v[C]]+E,D[C])+x|0;s=x,x=u,u=xf(c,10)|0,c=o,o=P}}this.set(this.h1+a+u|0,this.h2+l+x|0,this.h3+d+s|0,this.h4+n+o|0,this.h0+i+c|0)}roundClean(){mf.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}},lx=Do(()=>new L0);var fx=!1,ux=function(r){return lx(r)},dx=ux;function cr(r){let e=L(r,"data");return R(dx(e))}cr._=ux;cr.lock=function(){fx=!0};cr.register=function(r){if(fx)throw new TypeError("ripemd160 is locked");dx=r};Object.freeze(cr);var hx=!1,px=function(r,e,t,n,s){return(0,wt.pbkdf2Sync)(r,e,t,n,s)},xx=px;function nt(r,e,t,n,s){let i=L(r,"password"),o=L(e,"salt");return R(xx(i,o,t,n,s))}nt._=px;nt.lock=function(){hx=!0};nt.register=function(r){if(hx)throw new Error("pbkdf2 is locked");xx=r};Object.freeze(nt);var mx=!1,gx=function(r){return new Uint8Array((0,wt.randomBytes)(r))},bx=gx;function $e(r){return bx(r)}$e._=gx;$e.lock=function(){mx=!0};$e.register=function(r){if(mx)throw new Error("randomBytes is locked");bx=r};Object.freeze($e);var xA=(r,e,t)=>r&e^~r&t,mA=(r,e,t)=>r&e^r&t^e&t,gA=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]),rs=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ns=new Uint32Array(64),B0=class extends Go{constructor(){super(64,32,8,!1),this.A=rs[0]|0,this.B=rs[1]|0,this.C=rs[2]|0,this.D=rs[3]|0,this.E=rs[4]|0,this.F=rs[5]|0,this.G=rs[6]|0,this.H=rs[7]|0}get(){let{A:e,B:t,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[e,t,n,s,i,o,a,c]}set(e,t,n,s,i,o,a,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)ns[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let x=ns[d-15],m=ns[d-2],A=or(x,7)^or(x,18)^x>>>3,b=or(m,17)^or(m,19)^m>>>10;ns[d]=b+ns[d-7]+A+ns[d-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:l,H:u}=this;for(let d=0;d<64;d++){let x=or(a,6)^or(a,11)^or(a,25),m=u+x+xA(a,c,l)+gA[d]+ns[d]|0,b=(or(n,2)^or(n,13)^or(n,22))+mA(n,s,i)|0;u=l,l=c,c=a,a=o+m|0,o=i,i=s,s=n,n=m+b|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,s,i,o,a,c,l,u)}roundClean(){ns.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Ic=Do(()=>new B0);var gf=class extends es{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,cf(e);let n=ar(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;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(e){return hn(this),this.iHash.update(e),this}digestInto(e){hn(this),Nc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Oc=(r,e,t)=>new gf(r,e).update(t).digest();Oc.create=(r,e)=>new gf(r,e);function bA(r,e,t,n){cf(r);let s=hf({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(Ke(i),Ke(o),Ke(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=ar(e),l=ar(t),u=new Uint8Array(o),d=Oc.create(r,c),x=d._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:u,PRF:d,PRFSalt:x}}function yA(r,e,t,n,s){return r.destroy(),e.destroy(),n&&n.destroy(),s.fill(0),t}function I0(r,e,t,n){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=bA(r,e,t,n),l,u=new Uint8Array(4),d=Jo(u),x=new Uint8Array(a.outputLen);for(let m=1,A=0;A<i;m++,A+=a.outputLen){let b=o.subarray(A,A+a.outputLen);d.setInt32(0,m,!1),(l=c._cloneInto(l)).update(u).digestInto(x),b.set(x.subarray(0,b.length));for(let E=1;E<s;E++){a._cloneInto(l).update(x).digestInto(x);for(let T=0;T<b.length;T++)b[T]^=x[T]}}return yA(a,c,o,l,x)}var ie=(r,e)=>r<<e|r>>>32-e;function yx(r,e,t,n,s,i){let o=r[e++]^t[n++],a=r[e++]^t[n++],c=r[e++]^t[n++],l=r[e++]^t[n++],u=r[e++]^t[n++],d=r[e++]^t[n++],x=r[e++]^t[n++],m=r[e++]^t[n++],A=r[e++]^t[n++],b=r[e++]^t[n++],E=r[e++]^t[n++],T=r[e++]^t[n++],v=r[e++]^t[n++],O=r[e++]^t[n++],D=r[e++]^t[n++],C=r[e++]^t[n++],P=o,J=a,G=c,ne=l,Q=u,K=d,Ee=x,Te=m,Ze=A,I=b,U=E,X=T,q=v,Y=O,pe=D,Re=C;for(let ze=0;ze<8;ze+=2)Q^=ie(P+q|0,7),Ze^=ie(Q+P|0,9),q^=ie(Ze+Q|0,13),P^=ie(q+Ze|0,18),I^=ie(K+J|0,7),Y^=ie(I+K|0,9),J^=ie(Y+I|0,13),K^=ie(J+Y|0,18),pe^=ie(U+Ee|0,7),G^=ie(pe+U|0,9),Ee^=ie(G+pe|0,13),U^=ie(Ee+G|0,18),ne^=ie(Re+X|0,7),Te^=ie(ne+Re|0,9),X^=ie(Te+ne|0,13),Re^=ie(X+Te|0,18),J^=ie(P+ne|0,7),G^=ie(J+P|0,9),ne^=ie(G+J|0,13),P^=ie(ne+G|0,18),Ee^=ie(K+Q|0,7),Te^=ie(Ee+K|0,9),Q^=ie(Te+Ee|0,13),K^=ie(Q+Te|0,18),X^=ie(U+I|0,7),Ze^=ie(X+U|0,9),I^=ie(Ze+X|0,13),U^=ie(I+Ze|0,18),q^=ie(Re+pe|0,7),Y^=ie(q+Re|0,9),pe^=ie(Y+q|0,13),Re^=ie(pe+Y|0,18);s[i++]=o+P|0,s[i++]=a+J|0,s[i++]=c+G|0,s[i++]=l+ne|0,s[i++]=u+Q|0,s[i++]=d+K|0,s[i++]=x+Ee|0,s[i++]=m+Te|0,s[i++]=A+Ze|0,s[i++]=b+I|0,s[i++]=E+U|0,s[i++]=T+X|0,s[i++]=v+q|0,s[i++]=O+Y|0,s[i++]=D+pe|0,s[i++]=C+Re|0}function _o(r,e,t,n,s){let i=n+0,o=n+16*s;for(let a=0;a<16;a++)t[o+a]=r[e+(2*s-1)*16+a];for(let a=0;a<s;a++,i+=16,e+=16)yx(t,o,r,e,t,i),a>0&&(o+=16),yx(t,i,r,e+=16,t,o)}function Ax(r,e,t){let n=hf({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:s,r:i,p:o,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=n;if(Ke(s),Ke(i),Ke(o),Ke(a),Ke(c),Ke(l),u!==void 0&&typeof u!="function")throw new Error("progressCb should be function");let d=128*i,x=d/4;if(s<=1||(s&s-1)!==0||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(o<0||o>(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(a<0||a>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let m=d*(s+o);if(m>l)throw new Error(`Scrypt: parameters too large, ${m} (128 * r * (N + p)) > ${l} (maxmem)`);let A=I0(Ic,r,e,{c:1,dkLen:d*o}),b=ko(A),E=ko(new Uint8Array(d*s)),T=ko(new Uint8Array(d)),v=()=>{};if(u){let O=2*s*o,D=Math.max(Math.floor(O/1e4),1),C=0;v=()=>{C++,u&&(!(C%D)||C===O)&&u(C/O)}}return{N:s,r:i,p:o,dkLen:a,blockSize32:x,V:E,B32:b,B:A,tmp:T,blockMixCb:v,asyncTick:c}}function wx(r,e,t,n,s){let i=I0(Ic,r,t,{c:1,dkLen:e});return t.fill(0),n.fill(0),s.fill(0),i}function Ex(r,e,t){let{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:x}=Ax(r,e,t);for(let m=0;m<i;m++){let A=a*m;for(let b=0;b<a;b++)c[b]=l[A+b];for(let b=0,E=0;b<n-1;b++)_o(c,E,c,E+=a,s),x();_o(c,(n-1)*a,l,A,s),x();for(let b=0;b<n;b++){let E=l[A+a-16]%n;for(let T=0;T<a;T++)d[T]=l[A+T]^c[E*a+T];_o(d,0,l,A,s),x()}}return wx(r,o,u,c,d)}async function Tx(r,e,t){let{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:x,asyncTick:m}=Ax(r,e,t);for(let A=0;A<i;A++){let b=a*A;for(let T=0;T<a;T++)c[T]=l[b+T];let E=0;await df(n-1,m,()=>{_o(c,E,c,E+=a,s),x()}),_o(c,(n-1)*a,l,b,s),x(),await df(n,m,()=>{let T=l[b+a-16]%n;for(let v=0;v<a;v++)d[v]=l[b+v]^c[T*a+v];_o(d,0,l,b,s),x()})}return wx(r,o,u,c,d)}var Rx=!1,Sx=!1,Lx=async function(r,e,t,n,s,i,o){return await Tx(r,e,{N:t,r:n,p:s,dkLen:i,onProgress:o})},Nx=function(r,e,t,n,s,i){return Ex(r,e,{N:t,r:n,p:s,dkLen:i})},vx=Lx,Bx=Nx;async function lr(r,e,t,n,s,i,o){let a=L(r,"passwd"),c=L(e,"salt");return R(await vx(a,c,t,n,s,i,o))}lr._=Lx;lr.lock=function(){Sx=!0};lr.register=function(r){if(Sx)throw new Error("scrypt is locked");vx=r};Object.freeze(lr);function fr(r,e,t,n,s,i){let o=L(r,"passwd"),a=L(e,"salt");return R(Bx(o,a,t,n,s,i))}fr._=Nx;fr.lock=function(){Rx=!0};fr.register=function(r){if(Rx)throw new Error("scryptSync is locked");Bx=r};Object.freeze(fr);var Ix=function(r){return(0,wt.createHash)("sha256").update(r).digest()},Ox=function(r){return(0,wt.createHash)("sha512").update(r).digest()},Cx=Ix,Px=Ox,Ux=!1,Fx=!1;function Ne(r){let e=L(r,"data");return R(Cx(e))}Ne._=Ix;Ne.lock=function(){Ux=!0};Ne.register=function(r){if(Ux)throw new Error("sha256 is locked");Cx=r};Object.freeze(Ne);function li(r){let e=L(r,"data");return R(Px(e))}li._=Ox;li.lock=function(){Fx=!0};li.register=function(r){if(Fx)throw new Error("sha512 is locked");Px=r};Object.freeze(Ne);var U0={};c0(U0,{bitGet:()=>LA,bitLen:()=>SA,bitMask:()=>Cc,bitSet:()=>NA,bytesToHex:()=>fi,bytesToNumberBE:()=>pn,bytesToNumberLE:()=>Af,concatBytes:()=>Xo,createHmacDrbg:()=>P0,ensureBytes:()=>Et,equalBytes:()=>TA,hexToBytes:()=>ui,hexToNumber:()=>C0,numberToBytesBE:()=>ss,numberToBytesLE:()=>wf,numberToHexUnpadded:()=>Jx,numberToVarBytesBE:()=>EA,utf8ToBytes:()=>RA,validateObject:()=>is});var kx=BigInt(0),bf=BigInt(1),AA=BigInt(2),yf=r=>r instanceof Uint8Array,wA=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function fi(r){if(!yf(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=wA[r[t]];return e}function Jx(r){let e=r.toString(16);return e.length&1?`0${e}`:e}function C0(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}function ui(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){let s=n*2,i=r.slice(s,s+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[n]=o}return t}function pn(r){return C0(fi(r))}function Af(r){if(!yf(r))throw new Error("Uint8Array expected");return C0(fi(Uint8Array.from(r).reverse()))}function ss(r,e){return ui(r.toString(16).padStart(e*2,"0"))}function wf(r,e){return ss(r,e).reverse()}function EA(r){return ui(Jx(r))}function Et(r,e,t){let n;if(typeof e=="string")try{n=ui(e)}catch(i){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${i}`)}else if(yf(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof t=="number"&&s!==t)throw new Error(`${r} expected ${t} bytes, got ${s}`);return n}function Xo(...r){let e=new Uint8Array(r.reduce((n,s)=>n+s.length,0)),t=0;return r.forEach(n=>{if(!yf(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function TA(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 RA(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function SA(r){let e;for(e=0;r>kx;r>>=bf,e+=1);return e}function LA(r,e){return r>>BigInt(e)&bf}var NA=(r,e,t)=>r|(t?bf:kx)<<BigInt(e),Cc=r=>(AA<<BigInt(r-1))-bf,O0=r=>new Uint8Array(r),Mx=r=>Uint8Array.from(r);function P0(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=O0(r),s=O0(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...d)=>t(s,n,...d),c=(d=O0())=>{s=a(Mx([0]),d),n=a(),d.length!==0&&(s=a(Mx([1]),d),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0,x=[];for(;d<e;){n=a();let m=n.slice();x.push(m),d+=n.length}return Xo(...x)};return(d,x)=>{o(),c(d);let m;for(;!(m=x(l()));)c();return o(),m}}var vA={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 is(r,e,t={}){let n=(s,i,o)=>{let a=vA[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(e))n(s,i,!1);for(let[s,i]of Object.entries(t))n(s,i,!0);return r}var Ue=BigInt(0),Ae=BigInt(1),di=BigInt(2),BA=BigInt(3),F0=BigInt(4),Dx=BigInt(5),Gx=BigInt(8),IA=BigInt(9),OA=BigInt(16);function Ye(r,e){let t=r%e;return t>=Ue?t:e+t}function CA(r,e,t){if(t<=Ue||e<Ue)throw new Error("Expected power/modulo > 0");if(t===Ae)return Ue;let n=Ae;for(;e>Ue;)e&Ae&&(n=n*r%t),r=r*r%t,e>>=Ae;return n}function Tt(r,e,t){let n=r;for(;e-- >Ue;)n*=n,n%=t;return n}function Ef(r,e){if(r===Ue||e<=Ue)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=Ye(r,e),n=e,s=Ue,i=Ae,o=Ae,a=Ue;for(;t!==Ue;){let l=n/t,u=n%t,d=s-o*l,x=i-a*l;n=t,t=u,s=o,i=a,o=d,a=x}if(n!==Ae)throw new Error("invert: does not exist");return Ye(s,e)}function PA(r){let e=(r-Ae)/di,t,n,s;for(t=r-Ae,n=0;t%di===Ue;t/=di,n++);for(s=di;s<r&&CA(s,e,r)!==r-Ae;s++);if(n===1){let o=(r+Ae)/F0;return function(c,l){let u=c.pow(l,o);if(!c.eql(c.sqr(u),l))throw new Error("Cannot find square root");return u}}let i=(t+Ae)/di;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,u=a.pow(a.mul(a.ONE,s),t),d=a.pow(c,i),x=a.pow(c,t);for(;!a.eql(x,a.ONE);){if(a.eql(x,a.ZERO))return a.ZERO;let m=1;for(let b=a.sqr(x);m<l&&!a.eql(b,a.ONE);m++)b=a.sqr(b);let A=a.pow(u,Ae<<BigInt(l-m-1));u=a.sqr(A),d=a.mul(d,A),x=a.mul(x,u),l=m}return d}}function UA(r){if(r%F0===BA){let e=(r+Ae)/F0;return function(n,s){let i=n.pow(s,e);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%Gx===Dx){let e=(r-Dx)/Gx;return function(n,s){let i=n.mul(s,di),o=n.pow(i,e),a=n.mul(s,o),c=n.mul(n.mul(a,di),o),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return r%OA,PA(r)}var FA=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function M0(r){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=FA.reduce((n,s)=>(n[s]="function",n),e);return is(r,t)}function MA(r,e,t){if(t<Ue)throw new Error("Expected power > 0");if(t===Ue)return r.ONE;if(t===Ae)return e;let n=r.ONE,s=e;for(;t>Ue;)t&Ae&&(n=r.mul(n,s)),s=r.sqr(s),t>>=Ae;return n}function kA(r,e){let t=new Array(e.length),n=e.reduce((i,o,a)=>r.is0(o)?i:(t[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return e.reduceRight((i,o,a)=>r.is0(o)?i:(t[a]=r.mul(i,t[a]),r.mul(i,o)),s),t}function k0(r,e){let t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function _x(r,e,t=!1,n={}){if(r<=Ue)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=k0(r,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=UA(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:Cc(s),ZERO:Ue,ONE:Ae,create:c=>Ye(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ue<=c&&c<r},is0:c=>c===Ue,isOdd:c=>(c&Ae)===Ae,neg:c=>Ye(-c,r),eql:(c,l)=>c===l,sqr:c=>Ye(c*c,r),add:(c,l)=>Ye(c+l,r),sub:(c,l)=>Ye(c-l,r),mul:(c,l)=>Ye(c*l,r),pow:(c,l)=>MA(a,c,l),div:(c,l)=>Ye(c*Ef(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Ef(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>kA(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>t?wf(c,i):ss(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?Af(c):pn(c)}});return Object.freeze(a)}function Xx(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let e=r.toString(2).length;return Math.ceil(e/8)}function J0(r){let e=Xx(r);return e+Math.ceil(e/2)}function Hx(r,e,t=!1){let n=r.length,s=Xx(e),i=J0(e);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=t?pn(r):Af(r),a=Ye(o,e-Ae)+Ae;return t?wf(a,s):ss(a,s)}var DA=BigInt(0),D0=BigInt(1);function Vx(r,e){let t=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(e/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:t,unsafeLadder(s,i){let o=r.ZERO,a=s;for(;i>DA;)i&D0&&(o=o.add(a)),a=a.double(),i>>=D0;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),c=[],l=s,u=l;for(let d=0;d<o;d++){u=l,c.push(u);for(let x=1;x<a;x++)u=u.add(l),c.push(u);l=u.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=n(s),l=r.ZERO,u=r.BASE,d=BigInt(2**s-1),x=2**s,m=BigInt(s);for(let A=0;A<a;A++){let b=A*c,E=Number(o&d);o>>=m,E>c&&(E-=x,o+=D0);let T=b,v=b+Math.abs(E)-1,O=A%2!==0,D=E<0;E===0?u=u.add(t(O,i[T])):l=l.add(t(D,i[v]))}return{p:l,f:u}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function G0(r){return M0(r.Fp),is(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...k0(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}function GA(r){let e=G0(r);is(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{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})}var{bytesToNumberBE:_A,hexToBytes:XA}=U0,hi={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){let{Err:e}=hi;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");let 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:_A(n),l:r.subarray(t+2)}},toSig(r){let{Err:e}=hi,t=typeof r=="string"?XA(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");let{d:s,l:i}=hi._parseInt(t.subarray(2)),{d:o,l:a}=hi._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(r){let e=l=>Number.parseInt(l[0],16)&8?"00"+l:l,t=l=>{let u=l.toString(16);return u.length&1?`0${u}`:u},n=e(t(r.s)),s=e(t(r.r)),i=n.length/2,o=s.length/2,a=t(i),c=t(o);return`30${t(o+i+4)}02${c}${s}02${a}${n}`}},xn=BigInt(0),Ct=BigInt(1),yR=BigInt(2),Qx=BigInt(3),AR=BigInt(4);function HA(r){let e=GA(r),{Fp:t}=e,n=e.toBytes||((A,b,E)=>{let T=b.toAffine();return Xo(Uint8Array.from([4]),t.toBytes(T.x),t.toBytes(T.y))}),s=e.fromBytes||(A=>{let b=A.subarray(1),E=t.fromBytes(b.subarray(0,t.BYTES)),T=t.fromBytes(b.subarray(t.BYTES,2*t.BYTES));return{x:E,y:T}});function i(A){let{a:b,b:E}=e,T=t.sqr(A),v=t.mul(T,A);return t.add(t.add(v,t.mul(A,b)),E)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(A){return typeof A=="bigint"&&xn<A&&A<e.n}function a(A){if(!o(A))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(A){let{allowedPrivateKeyLengths:b,nByteLength:E,wrapPrivateKey:T,n:v}=e;if(b&&typeof A!="bigint"){if(A instanceof Uint8Array&&(A=fi(A)),typeof A!="string"||!b.includes(A.length))throw new Error("Invalid key");A=A.padStart(E*2,"0")}let O;try{O=typeof A=="bigint"?A:pn(Et("private key",A,E))}catch{throw new Error(`private key must be ${E} bytes, hex or bigint, not ${typeof A}`)}return T&&(O=Ye(O,v)),a(O),O}let l=new Map;function u(A){if(!(A instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(b,E,T){if(this.px=b,this.py=E,this.pz=T,b==null||!t.isValid(b))throw new Error("x required");if(E==null||!t.isValid(E))throw new Error("y required");if(T==null||!t.isValid(T))throw new Error("z required")}static fromAffine(b){let{x:E,y:T}=b||{};if(!b||!t.isValid(E)||!t.isValid(T))throw new Error("invalid affine point");if(b instanceof d)throw new Error("projective point not allowed");let v=O=>t.eql(O,t.ZERO);return v(E)&&v(T)?d.ZERO:new d(E,T,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(b){let E=t.invertBatch(b.map(T=>T.pz));return b.map((T,v)=>T.toAffine(E[v])).map(d.fromAffine)}static fromHex(b){let E=d.fromAffine(s(Et("pointHex",b)));return E.assertValidity(),E}static fromPrivateKey(b){return d.BASE.multiply(c(b))}_setWindowSize(b){this._WINDOW_SIZE=b,l.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:b,y:E}=this.toAffine();if(!t.isValid(b)||!t.isValid(E))throw new Error("bad point: x or y not FE");let T=t.sqr(E),v=i(b);if(!t.eql(T,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:b}=this.toAffine();if(t.isOdd)return!t.isOdd(b);throw new Error("Field doesn't support isOdd")}equals(b){u(b);let{px:E,py:T,pz:v}=this,{px:O,py:D,pz:C}=b,P=t.eql(t.mul(E,C),t.mul(O,v)),J=t.eql(t.mul(T,C),t.mul(D,v));return P&&J}negate(){return new d(this.px,t.neg(this.py),this.pz)}double(){let{a:b,b:E}=e,T=t.mul(E,Qx),{px:v,py:O,pz:D}=this,C=t.ZERO,P=t.ZERO,J=t.ZERO,G=t.mul(v,v),ne=t.mul(O,O),Q=t.mul(D,D),K=t.mul(v,O);return K=t.add(K,K),J=t.mul(v,D),J=t.add(J,J),C=t.mul(b,J),P=t.mul(T,Q),P=t.add(C,P),C=t.sub(ne,P),P=t.add(ne,P),P=t.mul(C,P),C=t.mul(K,C),J=t.mul(T,J),Q=t.mul(b,Q),K=t.sub(G,Q),K=t.mul(b,K),K=t.add(K,J),J=t.add(G,G),G=t.add(J,G),G=t.add(G,Q),G=t.mul(G,K),P=t.add(P,G),Q=t.mul(O,D),Q=t.add(Q,Q),G=t.mul(Q,K),C=t.sub(C,G),J=t.mul(Q,ne),J=t.add(J,J),J=t.add(J,J),new d(C,P,J)}add(b){u(b);let{px:E,py:T,pz:v}=this,{px:O,py:D,pz:C}=b,P=t.ZERO,J=t.ZERO,G=t.ZERO,ne=e.a,Q=t.mul(e.b,Qx),K=t.mul(E,O),Ee=t.mul(T,D),Te=t.mul(v,C),Ze=t.add(E,T),I=t.add(O,D);Ze=t.mul(Ze,I),I=t.add(K,Ee),Ze=t.sub(Ze,I),I=t.add(E,v);let U=t.add(O,C);return I=t.mul(I,U),U=t.add(K,Te),I=t.sub(I,U),U=t.add(T,v),P=t.add(D,C),U=t.mul(U,P),P=t.add(Ee,Te),U=t.sub(U,P),G=t.mul(ne,I),P=t.mul(Q,Te),G=t.add(P,G),P=t.sub(Ee,G),G=t.add(Ee,G),J=t.mul(P,G),Ee=t.add(K,K),Ee=t.add(Ee,K),Te=t.mul(ne,Te),I=t.mul(Q,I),Ee=t.add(Ee,Te),Te=t.sub(K,Te),Te=t.mul(ne,Te),I=t.add(I,Te),K=t.mul(Ee,I),J=t.add(J,K),K=t.mul(U,I),P=t.mul(Ze,P),P=t.sub(P,K),K=t.mul(Ze,Ee),G=t.mul(U,G),G=t.add(G,K),new d(P,J,G)}subtract(b){return this.add(b.negate())}is0(){return this.equals(d.ZERO)}wNAF(b){return m.wNAFCached(this,l,b,E=>{let T=t.invertBatch(E.map(v=>v.pz));return E.map((v,O)=>v.toAffine(T[O])).map(d.fromAffine)})}multiplyUnsafe(b){let E=d.ZERO;if(b===xn)return E;if(a(b),b===Ct)return this;let{endo:T}=e;if(!T)return m.unsafeLadder(this,b);let{k1neg:v,k1:O,k2neg:D,k2:C}=T.splitScalar(b),P=E,J=E,G=this;for(;O>xn||C>xn;)O&Ct&&(P=P.add(G)),C&Ct&&(J=J.add(G)),G=G.double(),O>>=Ct,C>>=Ct;return v&&(P=P.negate()),D&&(J=J.negate()),J=new d(t.mul(J.px,T.beta),J.py,J.pz),P.add(J)}multiply(b){a(b);let E=b,T,v,{endo:O}=e;if(O){let{k1neg:D,k1:C,k2neg:P,k2:J}=O.splitScalar(E),{p:G,f:ne}=this.wNAF(C),{p:Q,f:K}=this.wNAF(J);G=m.constTimeNegate(D,G),Q=m.constTimeNegate(P,Q),Q=new d(t.mul(Q.px,O.beta),Q.py,Q.pz),T=G.add(Q),v=ne.add(K)}else{let{p:D,f:C}=this.wNAF(E);T=D,v=C}return d.normalizeZ([T,v])[0]}multiplyAndAddUnsafe(b,E,T){let v=d.BASE,O=(C,P)=>P===xn||P===Ct||!C.equals(v)?C.multiplyUnsafe(P):C.multiply(P),D=O(this,E).add(O(b,T));return D.is0()?void 0:D}toAffine(b){let{px:E,py:T,pz:v}=this,O=this.is0();b==null&&(b=O?t.ONE:t.inv(v));let D=t.mul(E,b),C=t.mul(T,b),P=t.mul(v,b);if(O)return{x:t.ZERO,y:t.ZERO};if(!t.eql(P,t.ONE))throw new Error("invZ was invalid");return{x:D,y:C}}isTorsionFree(){let{h:b,isTorsionFree:E}=e;if(b===Ct)return!0;if(E)return E(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:b,clearCofactor:E}=e;return b===Ct?this:E?E(d,this):this.multiplyUnsafe(e.h)}toRawBytes(b=!0){return this.assertValidity(),n(d,this,b)}toHex(b=!0){return fi(this.toRawBytes(b))}}d.BASE=new d(e.Gx,e.Gy,t.ONE),d.ZERO=new d(t.ZERO,t.ONE,t.ZERO);let x=e.nBitLength,m=Vx(d,e.endo?Math.ceil(x/2):x);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function VA(r){let e=G0(r);return is(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Zx(r){let e=VA(r),{Fp:t,n}=e,s=t.BYTES+1,i=2*t.BYTES+1;function o(I){return xn<I&&I<t.ORDER}function a(I){return Ye(I,n)}function c(I){return Ef(I,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:x}=HA({...e,toBytes(I,U,X){let q=U.toAffine(),Y=t.toBytes(q.x),pe=Xo;return X?pe(Uint8Array.from([U.hasEvenY()?2:3]),Y):pe(Uint8Array.from([4]),Y,t.toBytes(q.y))},fromBytes(I){let U=I.length,X=I[0],q=I.subarray(1);if(U===s&&(X===2||X===3)){let Y=pn(q);if(!o(Y))throw new Error("Point is not on curve");let pe=d(Y),Re=t.sqrt(pe),ze=(Re&Ct)===Ct;return(X&1)===1!==ze&&(Re=t.neg(Re)),{x:Y,y:Re}}else if(U===i&&X===4){let Y=t.fromBytes(q.subarray(0,t.BYTES)),pe=t.fromBytes(q.subarray(t.BYTES,2*t.BYTES));return{x:Y,y:pe}}else throw new Error(`Point of length ${U} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),m=I=>fi(ss(I,e.nByteLength));function A(I){let U=n>>Ct;return I>U}function b(I){return A(I)?a(-I):I}let E=(I,U,X)=>pn(I.slice(U,X));class T{constructor(U,X,q){this.r=U,this.s=X,this.recovery=q,this.assertValidity()}static fromCompact(U){let X=e.nByteLength;return U=Et("compactSignature",U,X*2),new T(E(U,0,X),E(U,X,2*X))}static fromDER(U){let{r:X,s:q}=hi.toSig(Et("DER",U));return new T(X,q)}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(U){return new T(this.r,this.s,U)}recoverPublicKey(U){let{r:X,s:q,recovery:Y}=this,pe=J(Et("msgHash",U));if(Y==null||![0,1,2,3].includes(Y))throw new Error("recovery id invalid");let Re=Y===2||Y===3?X+e.n:X;if(Re>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let ze=(Y&1)===0?"02":"03",Hn=l.fromHex(ze+m(Re)),Vn=c(Re),go=a(-pe*Vn),pc=a(q*Vn),Qn=l.BASE.multiplyAndAddUnsafe(Hn,go,pc);if(!Qn)throw new Error("point at infinify");return Qn.assertValidity(),Qn}hasHighS(){return A(this.s)}normalizeS(){return this.hasHighS()?new T(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return ui(this.toDERHex())}toDERHex(){return hi.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ui(this.toCompactHex())}toCompactHex(){return m(this.r)+m(this.s)}}let v={isValidPrivateKey(I){try{return u(I),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let I=J0(e.n);return Hx(e.randomBytes(I),e.n)},precompute(I=8,U=l.BASE){return U._setWindowSize(I),U.multiply(BigInt(3)),U}};function O(I,U=!0){return l.fromPrivateKey(I).toRawBytes(U)}function D(I){let U=I instanceof Uint8Array,X=typeof I=="string",q=(U||X)&&I.length;return U?q===s||q===i:X?q===2*s||q===2*i:I instanceof l}function C(I,U,X=!0){if(D(I))throw new Error("first arg must be private key");if(!D(U))throw new Error("second arg must be public key");return l.fromHex(U).multiply(u(I)).toRawBytes(X)}let P=e.bits2int||function(I){let U=pn(I),X=I.length*8-e.nBitLength;return X>0?U>>BigInt(X):U},J=e.bits2int_modN||function(I){return a(P(I))},G=Cc(e.nBitLength);function ne(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(xn<=I&&I<G))throw new Error(`bigint expected < 2^${e.nBitLength}`);return ss(I,e.nByteLength)}function Q(I,U,X=K){if(["recovered","canonical"].some(Hs=>Hs in X))throw new Error("sign() legacy options not supported");let{hash:q,randomBytes:Y}=e,{lowS:pe,prehash:Re,extraEntropy:ze}=X;pe==null&&(pe=!0),I=Et("msgHash",I),Re&&(I=Et("prehashed msgHash",q(I)));let Hn=J(I),Vn=u(U),go=[ne(Vn),ne(Hn)];if(ze!=null){let Hs=ze===!0?Y(t.BYTES):ze;go.push(Et("extraEntropy",Hs))}let pc=Xo(...go),Qn=Hn;function a0(Hs){let bo=P(Hs);if(!x(bo))return;let ap=c(bo),vr=l.BASE.multiply(bo).toAffine(),yo=a(vr.x);if(yo===xn)return;let Vl=a(ap*a(Qn+yo*Vn));if(Vl===xn)return;let cp=(vr.x===yo?0:2)|Number(vr.y&Ct),lp=Vl;return pe&&A(Vl)&&(lp=b(Vl),cp^=1),new T(yo,lp,cp)}return{seed:pc,k2sig:a0}}let K={lowS:e.lowS,prehash:!1},Ee={lowS:e.lowS,prehash:!1};function Te(I,U,X=K){let{seed:q,k2sig:Y}=Q(I,U,X),pe=e;return P0(pe.hash.outputLen,pe.nByteLength,pe.hmac)(q,Y)}l.BASE._setWindowSize(8);function Ze(I,U,X,q=Ee){let Y=I;if(U=Et("msgHash",U),X=Et("publicKey",X),"strict"in q)throw new Error("options.strict was renamed to lowS");let{lowS:pe,prehash:Re}=q,ze,Hn;try{if(typeof Y=="string"||Y instanceof Uint8Array)try{ze=T.fromDER(Y)}catch(vr){if(!(vr instanceof hi.Err))throw vr;ze=T.fromCompact(Y)}else if(typeof Y=="object"&&typeof Y.r=="bigint"&&typeof Y.s=="bigint"){let{r:vr,s:yo}=Y;ze=new T(vr,yo)}else throw new Error("PARSE");Hn=l.fromHex(X)}catch(vr){if(vr.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(pe&&ze.hasHighS())return!1;Re&&(U=e.hash(U));let{r:Vn,s:go}=ze,pc=J(U),Qn=c(go),a0=a(pc*Qn),Hs=a(Vn*Qn),bo=l.BASE.multiplyAndAddUnsafe(Hn,a0,Hs)?.toAffine();return bo?a(bo.x)===Vn:!1}return{CURVE:e,getPublicKey:O,getSharedSecret:C,sign:Te,verify:Ze,ProjectivePoint:l,Signature:T,utils:v}}function QA(r){return{hash:r,hmac:(e,...t)=>Oc(r,e,zp(...t)),randomBytes:$p}}function zx(r,e){let t=n=>Zx({...r,...QA(n)});return Object.freeze({...t(e),create:t})}var Yx=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Kx=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ZA=BigInt(1),_0=BigInt(2),$x=(r,e)=>(r+e/_0)/e;function zA(r){let e=Yx,t=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%e,u=l*l*r%e,d=Tt(u,t,e)*u%e,x=Tt(d,t,e)*u%e,m=Tt(x,_0,e)*l%e,A=Tt(m,s,e)*m%e,b=Tt(A,i,e)*A%e,E=Tt(b,a,e)*b%e,T=Tt(E,c,e)*E%e,v=Tt(T,a,e)*b%e,O=Tt(v,t,e)*u%e,D=Tt(O,o,e)*A%e,C=Tt(D,n,e)*l%e,P=Tt(C,_0,e);if(!X0.eql(X0.sqr(P),r))throw new Error("Cannot find square root");return P}var X0=_x(Yx,void 0,void 0,{sqrt:zA}),mn=zx({a:BigInt(0),b:BigInt(7),Fp:X0,n:Kx,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let e=Kx,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ZA*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),a=$x(i*r,e),c=$x(-n*r,e),l=Ye(r-a*t-c*s,e),u=Ye(-a*n-c*i,e),d=l>o,x=u>o;if(d&&(l=e-l),x&&(u=e-u),l>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:d,k1:l,k2neg:x,k2:u}}}},Ic),BR=BigInt(0);var IR=mn.ProjectivePoint;var ur="0x0000000000000000000000000000000000000000";var Ho="0x0000000000000000000000000000000000000000000000000000000000000000";var H0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),V0=BigInt("1000000000000000000"),Q0=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Z0=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),z0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var K0="\u039E",Pc=`Ethereum Signed Message:
8
- `;var Wx=BigInt(0),jx=BigInt(1),qx=BigInt(2),em=BigInt(27),tm=BigInt(28),Tf=BigInt(35),Vo={};function rm(r){return Se(te(r),32)}var Qo,Pr,Zo,pi,dr=class dr{constructor(e,t,n,s){y(this,Qo);y(this,Pr);y(this,Zo);y(this,pi);Je(e,Vo,"Signature"),h(this,Qo,t),h(this,Pr,n),h(this,Zo,s),h(this,pi,null)}get r(){return f(this,Qo)}set r(e){p(ct(e)===32,"invalid r","value",e),h(this,Qo,R(e))}get s(){return p(parseInt(f(this,Pr).substring(0,3))<8,"non-canonical s; use ._s","s",f(this,Pr)),f(this,Pr)}set s(e){p(ct(e)===32,"invalid s","value",e),h(this,Pr,R(e))}get _s(){return f(this,Pr)}isValid(){return parseInt(f(this,Pr).substring(0,3))<8}get v(){return f(this,Zo)}set v(e){let t=M(e,"value");p(t===27||t===28,"invalid v","v",e),h(this,Zo,t)}get networkV(){return f(this,pi)}get legacyChainId(){let e=this.networkV;return e==null?null:dr.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){let e=L(this.s);return this.yParity&&(e[0]|=128),R(e)}get compactSerialized(){return _([this.r,this.yParityAndS])}get serialized(){return _([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this._s}"${this.isValid()?"":', valid: "false"'}, yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let e=new dr(Vo,this.r,this._s,this.v);return this.networkV&&h(e,pi,this.networkV),e}toJSON(){let e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this._s,v:this.v}}static getChainId(e){let t=B(e,"v");return t==em||t==tm?Wx:(p(t>=Tf,"invalid EIP-155 v","v",e),(t-Tf)/qx)}static getChainIdV(e,t){return B(e)*qx+BigInt(35+t-27)}static getNormalizedV(e){let t=B(e);return t===Wx||t===em?27:t===jx||t===tm?28:(p(t>=Tf,"invalid v","v",e),t&jx?27:28)}static from(e){function t(l,u){p(l,u,"signature",e)}if(e==null)return new dr(Vo,Ho,Ho,27);if(typeof e=="string"){let l=L(e,"signature");if(l.length===64){let u=R(l.slice(0,32)),d=l.slice(32,64),x=d[0]&128?28:27;return d[0]&=127,new dr(Vo,u,R(d),x)}if(l.length===65){let u=R(l.slice(0,32)),d=R(l.slice(32,64)),x=dr.getNormalizedV(l[64]);return new dr(Vo,u,d,x)}t(!1,"invalid raw signature length")}if(e instanceof dr)return e.clone();let n=e.r;t(n!=null,"missing r");let s=rm(n),i=(function(l,u){if(l!=null)return rm(l);if(u!=null){t(V(u,32),"invalid yParityAndS");let d=L(u);return d[0]&=127,R(d)}t(!1,"missing s")})(e.s,e.yParityAndS),{networkV:o,v:a}=(function(l,u,d){if(l!=null){let x=B(l);return{networkV:x>=Tf?x:void 0,v:dr.getNormalizedV(x)}}if(u!=null)return t(V(u,32),"invalid yParityAndS"),{v:L(u)[0]&128?28:27};if(d!=null){switch(M(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 dr(Vo,s,i,a);return o&&h(c,pi,o),t(e.yParity==null||M(e.yParity,"sig.yParity")===c.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===c.yParityAndS,"yParityAndS mismatch"),c}};Qo=new WeakMap,Pr=new WeakMap,Zo=new WeakMap,pi=new WeakMap;var ve=dr;var gn,xi=class xi{constructor(e){y(this,gn);p(ct(e)===32,"invalid private key","privateKey","[REDACTED]"),h(this,gn,R(e))}get privateKey(){return f(this,gn)}get publicKey(){return xi.computePublicKey(f(this,gn))}get compressedPublicKey(){return xi.computePublicKey(f(this,gn),!0)}sign(e){p(ct(e)===32,"invalid digest length","digest",e);let t=mn.sign(le(e),le(f(this,gn)),{lowS:!0});return ve.from({r:Fe(t.r,32),s:Fe(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){let t=xi.computePublicKey(e);return R(mn.getSharedSecret(le(f(this,gn)),L(t),!1))}static computePublicKey(e,t){let n=L(e,"key");if(n.length===32){let i=mn.getPublicKey(n,!!t);return R(i)}if(n.length===64){let i=new Uint8Array(65);i[0]=4,i.set(n,1),n=i}let s=mn.ProjectivePoint.fromHex(n);return R(s.toRawBytes(t))}static recoverPublicKey(e,t){p(ct(e)===32,"invalid digest length","digest",e);let n=ve.from(t),s=mn.Signature.fromCompact(le(_([n.r,n.s])));s=s.addRecoveryBit(n.yParity);let i=s.recoverPublicKey(le(e));return p(i!=null,"invalid signature for digest","signature",t),"0x"+i.toHex(!1)}static addPoints(e,t,n){let s=mn.ProjectivePoint.fromHex(xi.computePublicKey(e).substring(2)),i=mn.ProjectivePoint.fromHex(xi.computePublicKey(t).substring(2));return"0x"+s.add(i).toHex(!!n)}};gn=new WeakMap;var Ge=xi;function nm(){ir.lock(),H.lock(),nt.lock(),$e.lock(),cr.lock(),lr.lock(),fr.lock(),Ne.lock(),li.lock(),$e.lock()}var KA=BigInt(0),$A=BigInt(36);function sm(r){r=r.toLowerCase();let e=r.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);let n=L(H(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("")}var $0={};for(let r=0;r<10;r++)$0[String(r)]=String(r);for(let r=0;r<26;r++)$0[String.fromCharCode(65+r)]=String(10+r);var im=15;function om(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>$0[n]).join("");for(;e.length>=im;){let n=e.substring(0,im);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}var YA=(function(){let r={};for(let e=0;e<36;e++){let t="0123456789abcdefghijklmnopqrstuvwxyz"[e];r[t]=BigInt(e)}return r})();function WA(r){r=r.toLowerCase();let e=KA;for(let t=0;t<r.length;t++)e=e*$A+YA[r[t]];return e}function k(r){if(p(typeof r=="string","invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/)){r.startsWith("0x")||(r="0x"+r);let e=sm(r);return p(!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}$/)){p(r.substring(2,4)===om(r),"bad icap checksum","address",r);let e=WA(r.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return sm("0x"+e)}p(!1,"invalid address","address",r)}function Y0(r){let e=BigInt(k(r)).toString(36).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+om("XE00"+e)+e}function mi(r){let e=k(r.from),n=B(r.nonce,"tx.nonce").toString(16);return n==="0"?n="0x":n.length%2?n="0x0"+n:n="0x"+n,k(ee(H(rt([e,n])),12))}function W0(r,e,t){let n=k(r),s=L(e,"salt"),i=L(t,"initCodeHash");return p(s.length===32,"salt must be 32 bytes","salt",e),p(i.length===32,"initCodeHash must be 32 bytes","initCodeHash",t),k(ee(H(_(["0xff",n,s,i])),12))}function zo(r){return r&&typeof r.getAddress=="function"}function q0(r){try{return k(r),!0}catch{}return!1}async function j0(r,e){let t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(w(typeof r!="string","unconfigured name","UNCONFIGURED_NAME",{value:r}),p(!1,"invalid AddressLike value; did not resolve to a value address","target",r)),k(t)}function xe(r,e){if(typeof r=="string")return r.match(/^0x[0-9a-f]{40}$/i)?k(r):(w(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),j0(r,e.resolveName(r)));if(zo(r))return j0(r,r.getAddress());if(r&&typeof r.then=="function")return j0(r,r);p(!1,"unsupported addressable value","target",r)}var hr={};function F(r,e){let t=!1;return e<0&&(t=!0,e*=-1),new ue(hr,`${t?"":"u"}int${e}`,r,{signed:t,width:e})}function oe(r,e){return new ue(hr,`bytes${e||""}`,r,{size:e})}var am=Symbol.for("_ethers_typed"),gi,pr=class pr{constructor(e,t,n,s){g(this,"type");g(this,"value");y(this,gi);g(this,"_typedSymbol");s==null&&(s=null),Je(hr,e,"Typed"),N(this,{_typedSymbol:am,type:t,value:n}),h(this,gi,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 f(this,gi)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return f(this,gi)===!0?-1:f(this,gi)===!1?this.value.length:null}static from(e,t){return new pr(hr,e,t)}static uint8(e){return F(e,8)}static uint16(e){return F(e,16)}static uint24(e){return F(e,24)}static uint32(e){return F(e,32)}static uint40(e){return F(e,40)}static uint48(e){return F(e,48)}static uint56(e){return F(e,56)}static uint64(e){return F(e,64)}static uint72(e){return F(e,72)}static uint80(e){return F(e,80)}static uint88(e){return F(e,88)}static uint96(e){return F(e,96)}static uint104(e){return F(e,104)}static uint112(e){return F(e,112)}static uint120(e){return F(e,120)}static uint128(e){return F(e,128)}static uint136(e){return F(e,136)}static uint144(e){return F(e,144)}static uint152(e){return F(e,152)}static uint160(e){return F(e,160)}static uint168(e){return F(e,168)}static uint176(e){return F(e,176)}static uint184(e){return F(e,184)}static uint192(e){return F(e,192)}static uint200(e){return F(e,200)}static uint208(e){return F(e,208)}static uint216(e){return F(e,216)}static uint224(e){return F(e,224)}static uint232(e){return F(e,232)}static uint240(e){return F(e,240)}static uint248(e){return F(e,248)}static uint256(e){return F(e,256)}static uint(e){return F(e,256)}static int8(e){return F(e,-8)}static int16(e){return F(e,-16)}static int24(e){return F(e,-24)}static int32(e){return F(e,-32)}static int40(e){return F(e,-40)}static int48(e){return F(e,-48)}static int56(e){return F(e,-56)}static int64(e){return F(e,-64)}static int72(e){return F(e,-72)}static int80(e){return F(e,-80)}static int88(e){return F(e,-88)}static int96(e){return F(e,-96)}static int104(e){return F(e,-104)}static int112(e){return F(e,-112)}static int120(e){return F(e,-120)}static int128(e){return F(e,-128)}static int136(e){return F(e,-136)}static int144(e){return F(e,-144)}static int152(e){return F(e,-152)}static int160(e){return F(e,-160)}static int168(e){return F(e,-168)}static int176(e){return F(e,-176)}static int184(e){return F(e,-184)}static int192(e){return F(e,-192)}static int200(e){return F(e,-200)}static int208(e){return F(e,-208)}static int216(e){return F(e,-216)}static int224(e){return F(e,-224)}static int232(e){return F(e,-232)}static int240(e){return F(e,-240)}static int248(e){return F(e,-248)}static int256(e){return F(e,-256)}static int(e){return F(e,-256)}static bytes1(e){return oe(e,1)}static bytes2(e){return oe(e,2)}static bytes3(e){return oe(e,3)}static bytes4(e){return oe(e,4)}static bytes5(e){return oe(e,5)}static bytes6(e){return oe(e,6)}static bytes7(e){return oe(e,7)}static bytes8(e){return oe(e,8)}static bytes9(e){return oe(e,9)}static bytes10(e){return oe(e,10)}static bytes11(e){return oe(e,11)}static bytes12(e){return oe(e,12)}static bytes13(e){return oe(e,13)}static bytes14(e){return oe(e,14)}static bytes15(e){return oe(e,15)}static bytes16(e){return oe(e,16)}static bytes17(e){return oe(e,17)}static bytes18(e){return oe(e,18)}static bytes19(e){return oe(e,19)}static bytes20(e){return oe(e,20)}static bytes21(e){return oe(e,21)}static bytes22(e){return oe(e,22)}static bytes23(e){return oe(e,23)}static bytes24(e){return oe(e,24)}static bytes25(e){return oe(e,25)}static bytes26(e){return oe(e,26)}static bytes27(e){return oe(e,27)}static bytes28(e){return oe(e,28)}static bytes29(e){return oe(e,29)}static bytes30(e){return oe(e,30)}static bytes31(e){return oe(e,31)}static bytes32(e){return oe(e,32)}static address(e){return new pr(hr,"address",e)}static bool(e){return new pr(hr,"bool",!!e)}static bytes(e){return new pr(hr,"bytes",e)}static string(e){return new pr(hr,"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 pr(hr,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===am}static dereference(e,t){if(pr.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};gi=new WeakMap;var ue=pr;var Rf=class extends Ce{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=ue.dereference(t,"string");try{n=k(n)}catch(s){return this._throwError(s.message,t)}return e.writeValue(n)}decode(e){return k(Fe(e.readValue(),20))}};var Sf=class extends Ce{constructor(t){super(t.name,t.type,"_",t.dynamic);g(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 ed(r,e,t){let n=[];if(Array.isArray(t))n=t;else if(t&&typeof t=="object"){let c={};n=e.map(l=>{let u=l.localName;return w(u,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),w(!c[u],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),c[u]=!0,t[u]})}else p(!1,"invalid tuple value","tuple",t);p(e.length===n.length,"types/value length mismatch","tuple",t);let s=new ai,i=new ai,o=[];e.forEach((c,l)=>{let u=n[l];if(c.dynamic){let d=i.length;c.encode(i,u);let x=s.writeUpdatableValue();o.push(m=>{x(m+d)})}else c.encode(s,u)}),o.forEach(c=>{c(s.length)});let a=r.appendWriter(s);return a+=r.appendWriter(i),a}function td(r,e){let t=[],n=[],s=r.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=r.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(l){if(se(l,"BUFFER_OVERRUN"))throw l;o=l,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(r)}catch(a){if(se(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),n.push(i.localName||null)}),sr.fromItems(t,n)}var Lf=class extends Ce{constructor(t,n,s){let i=t.type+"["+(n>=0?n:"")+"]",o=n===-1||t.dynamic;super("array",i,s,o);g(this,"coder");g(this,"length");N(this,{coder:t,length:n})}defaultValue(){let t=this.coder.defaultValue(),n=[];for(let s=0;s<this.length;s++)n.push(t);return n}encode(t,n){let s=ue.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)),Qs(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return ed(t,o,s)}decode(t){let n=this.length;n===-1&&(n=t.readIndex(),w(n*De<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:n*De,length:t.dataLength}));let s=[];for(let i=0;i<n;i++)s.push(new Sf(this.coder));return td(t,s)}};var Nf=class extends Ce{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){let n=ue.dereference(t,"bool");return e.writeValue(n?1:0)}decode(e){return!!e.readValue()}};var Uc=class extends Ce{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=le(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readIndex(),!0)}},vf=class extends Uc{constructor(e){super("bytes",e)}decode(e){return R(super.decode(e))}};var Bf=class extends Ce{constructor(t,n){let s="bytes"+String(t);super(s,s,n,!1);g(this,"size");N(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,n){let s=le(ue.dereference(n,this.type));return s.length!==this.size&&this._throwError("incorrect data length",n),t.writeBytes(s)}decode(t){return R(t.readBytes(this.size))}};var jA=new Uint8Array([]),If=class extends Ce{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(jA)}decode(e){return e.readBytes(0),null}};var qA=BigInt(0),e1=BigInt(1),t1=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Of=class extends Ce{constructor(t,n,s){let i=(n?"int":"uint")+t*8;super(i,i,s,!1);g(this,"size");g(this,"signed");N(this,{size:t,signed:n},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,n){let s=B(ue.dereference(n,this.type)),i=gt(t1,De*8);if(this.signed){let o=gt(i,this.size*8-1);(s>o||s<-(o+e1))&&this._throwError("value out-of-bounds",n),s=on(s,8*De)}else(s<qA||s>gt(i,this.size*8))&&this._throwError("value out-of-bounds",n);return t.writeValue(s)}decode(t){let n=gt(t.readValue(),this.size*8);return this.signed&&(n=sn(n,this.size*8)),n}};var Cf=class extends Uc{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,re(ue.dereference(t,"string")))}decode(e){return Le(super.decode(e))}};var bi=class extends Ce{constructor(t,n){let s=!1,i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});let o="tuple("+i.join(",")+")";super("tuple",o,n,s);g(this,"coders");N(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});let n=this.coders.reduce((s,i)=>{let o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||n[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,n){let s=ue.dereference(n,"tuple");return ed(t,this.coders,s)}decode(t){return td(t,this.coders)}};function rd(r,e){return{address:k(r),storageKeys:e.map((t,n)=>(p(V(t,32),"invalid slot",`storageKeys[${n}]`,t),t.toLowerCase()))}}function _e(r){if(Array.isArray(r))return r.map((t,n)=>Array.isArray(t)?(p(t.length===2,"invalid slot set",`value[${n}]`,t),rd(t[0],t[1])):(p(t!=null&&typeof t=="object","invalid address-slot set","value",r),rd(t.address,t.storageKeys)));p(r!=null&&typeof r=="object","invalid access list","value",r);let e=Object.keys(r).map(t=>{let n=r[t].reduce((s,i)=>(s[i]=!0,s),{});return rd(t,Object.keys(n).sort())});return e.sort((t,n)=>t.address.localeCompare(n.address)),e}function yi(r){return{address:k(r.address),nonce:B(r.nonce!=null?r.nonce:0),chainId:B(r.chainId!=null?r.chainId:0),signature:ve.from(r.signature)}}function xr(r){let e;return typeof r=="string"?e=Ge.computePublicKey(r,!1):e=r.publicKey,k(H("0x"+e.substring(4)).substring(26))}function mr(r,e){return xr(Ge.recoverPublicKey(r,e))}var ke=BigInt(0),r1=BigInt(2),n1=BigInt(27),s1=BigInt(28),i1=BigInt(35),o1=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),nd=4096*32;function a1(r){return{blobToKzgCommitment:n=>{if("computeBlobProof"in r){if("blobToKzgCommitment"in r&&typeof r.blobToKzgCommitment=="function")return L(r.blobToKzgCommitment(R(n)))}else if("blobToKzgCommitment"in r&&typeof r.blobToKzgCommitment=="function")return L(r.blobToKzgCommitment(n));if("blobToKZGCommitment"in r&&typeof r.blobToKZGCommitment=="function")return L(r.blobToKZGCommitment(R(n)));p(!1,"unsupported KZG library","kzg",r)},computeBlobKzgProof:(n,s)=>{if("computeBlobProof"in r&&typeof r.computeBlobProof=="function")return L(r.computeBlobProof(R(n),R(s)));if("computeBlobKzgProof"in r&&typeof r.computeBlobKzgProof=="function")return r.computeBlobKzgProof(n,s);if("computeBlobKZGProof"in r&&typeof r.computeBlobKZGProof=="function")return L(r.computeBlobKZGProof(R(n),R(s)));p(!1,"unsupported KZG library","kzg",r)}}}function cm(r,e){let t=r.toString(16);for(;t.length<2;)t="0"+t;return t+=Ne(e).substring(4),"0x"+t}function aa(r){return r==="0x"?null:k(r)}function Uf(r,e){try{return _e(r)}catch(t){p(!1,t.message,e,r)}}function c1(r,e){try{if(!Array.isArray(r))throw new Error("authorizationList: invalid array");let t=[];for(let n=0;n<r.length;n++){let s=r[n];if(!Array.isArray(s))throw new Error(`authorization[${n}]: invalid array`);if(s.length!==6)throw new Error(`authorization[${n}]: wrong length`);if(!s[1])throw new Error(`authorization[${n}]: null address`);t.push({address:aa(s[1]),nonce:de(s[2],"nonce"),chainId:de(s[0],"chainId"),signature:ve.from({yParity:wi(s[3],"yParity"),r:Se(s[4],32),s:Se(s[5],32)})})}return t}catch(t){p(!1,t.message,e,r)}}function wi(r,e){return r==="0x"?0:M(r,e)}function de(r,e){if(r==="0x")return ke;let t=B(r,e);return p(t<=o1,"value exceeds uint size",e,t),t}function W(r,e){let t=B(r,"value"),n=te(t);return p(n.length<=32,"value too large",`tx.${e}`,t),n}function Ff(r){return _e(r).map(e=>[e.address,e.storageKeys])}function l1(r){return r.map(e=>[W(e.chainId,"chainId"),e.address,W(e.nonce,"nonce"),W(e.signature.yParity,"yParity"),te(e.signature.r),te(e.signature.s)])}function f1(r,e){p(Array.isArray(r),`invalid ${e}`,"value",r);for(let t=0;t<r.length;t++)p(V(r[t],32),"invalid ${ param } hash",`value[${t}]`,r[t]);return r}function u1(r){let e=un(r);p(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",r);let t={type:0,nonce:wi(e[0],"nonce"),gasPrice:de(e[1],"gasPrice"),gasLimit:de(e[2],"gasLimit"),to:aa(e[3]),value:de(e[4],"value"),data:R(e[5]),chainId:ke};if(e.length===6)return t;let n=de(e[6],"v"),s=de(e[7],"r"),i=de(e[8],"s");if(s===ke&&i===ke)t.chainId=n;else{let o=(n-i1)/r1;o<ke&&(o=ke),t.chainId=o,p(o!==ke||n===n1||n===s1,"non-canonical legacy v","v",e[6]),t.signature=ve.from({r:Se(e[7],32),s:Se(e[8],32),v:n})}return t}function d1(r,e){let t=[W(r.nonce,"nonce"),W(r.gasPrice||0,"gasPrice"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data],n=ke;if(r.chainId!=ke)n=B(r.chainId,"tx.chainId"),p(!e||e.networkV==null||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(r.signature){let i=r.signature.legacyChainId;i!=null&&(n=i)}if(!e)return n!==ke&&(t.push(te(n)),t.push("0x"),t.push("0x")),rt(t);let s=BigInt(27+e.yParity);return n!==ke?s=ve.getChainIdV(n,e.v):BigInt(e.v)!==s&&p(!1,"tx.chainId/sig.v mismatch","sig",e),t.push(te(s)),t.push(te(e.r)),t.push(te(e.s)),rt(t)}function Mf(r,e){let t;try{if(t=wi(e[0],"yParity"),t!==0&&t!==1)throw new Error("bad yParity")}catch{p(!1,"invalid yParity","yParity",e[0])}let n=Se(e[1],32),s=Se(e[2],32),i=ve.from({r:n,s,yParity:t});r.signature=i}function h1(r){let e=un(L(r).slice(1));p(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",R(r));let t={type:2,chainId:de(e[0],"chainId"),nonce:wi(e[1],"nonce"),maxPriorityFeePerGas:de(e[2],"maxPriorityFeePerGas"),maxFeePerGas:de(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:de(e[4],"gasLimit"),to:aa(e[5]),value:de(e[6],"value"),data:R(e[7]),accessList:Uf(e[8],"accessList")};return e.length===9||Mf(t,e.slice(9)),t}function p1(r,e){let t=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),W(r.maxFeePerGas||0,"maxFeePerGas"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data,Ff(r.accessList||[])];return e&&(t.push(W(e.yParity,"yParity")),t.push(te(e.r)),t.push(te(e.s))),_(["0x02",rt(t)])}function x1(r){let e=un(L(r).slice(1));p(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",R(r));let t={type:1,chainId:de(e[0],"chainId"),nonce:wi(e[1],"nonce"),gasPrice:de(e[2],"gasPrice"),gasLimit:de(e[3],"gasLimit"),to:aa(e[4]),value:de(e[5],"value"),data:R(e[6]),accessList:Uf(e[7],"accessList")};return e.length===8||Mf(t,e.slice(8)),t}function m1(r,e){let t=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.gasPrice||0,"gasPrice"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data,Ff(r.accessList||[])];return e&&(t.push(W(e.yParity,"recoveryParam")),t.push(te(e.r)),t.push(te(e.s))),_(["0x01",rt(t)])}function g1(r){let e=un(L(r).slice(1)),t="3",n=null;if(e.length===4&&Array.isArray(e[0])){t="3 (network format)";let i=e[1],o=e[2],a=e[3];p(Array.isArray(i),"invalid network format: blobs not an array","fields[1]",i),p(Array.isArray(o),"invalid network format: commitments not an array","fields[2]",o),p(Array.isArray(a),"invalid network format: proofs not an array","fields[3]",a),p(i.length===o.length,"invalid network format: blobs/commitments length mismatch","fields",e),p(i.length===a.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:o[c],proof:a[c]});e=e[0]}p(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${t}`,"data",R(r));let s={type:3,chainId:de(e[0],"chainId"),nonce:wi(e[1],"nonce"),maxPriorityFeePerGas:de(e[2],"maxPriorityFeePerGas"),maxFeePerGas:de(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:de(e[4],"gasLimit"),to:aa(e[5]),value:de(e[6],"value"),data:R(e[7]),accessList:Uf(e[8],"accessList"),maxFeePerBlobGas:de(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};n&&(s.blobs=n),p(s.to!=null,`invalid address for transaction type: ${t}`,"data",r),p(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",r);for(let i=0;i<s.blobVersionedHashes.length;i++)p(V(s.blobVersionedHashes[i],32),`invalid blobVersionedHash at index ${i}: must be length 32`,"data",r);return e.length===11||Mf(s,e.slice(11)),s}function b1(r,e,t){let n=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),W(r.maxFeePerGas||0,"maxFeePerGas"),W(r.gasLimit,"gasLimit"),r.to||ur,W(r.value,"value"),r.data,Ff(r.accessList||[]),W(r.maxFeePerBlobGas||0,"maxFeePerBlobGas"),f1(r.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(n.push(W(e.yParity,"yParity")),n.push(te(e.r)),n.push(te(e.s)),t)?_(["0x03",rt([n,t.map(s=>s.data),t.map(s=>s.commitment),t.map(s=>s.proof)])]):_(["0x03",rt(n)])}function y1(r){let e=un(L(r).slice(1));p(Array.isArray(e)&&(e.length===10||e.length===13),"invalid field count for transaction type: 4","data",R(r));let t={type:4,chainId:de(e[0],"chainId"),nonce:wi(e[1],"nonce"),maxPriorityFeePerGas:de(e[2],"maxPriorityFeePerGas"),maxFeePerGas:de(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:de(e[4],"gasLimit"),to:aa(e[5]),value:de(e[6],"value"),data:R(e[7]),accessList:Uf(e[8],"accessList"),authorizationList:c1(e[9],"authorizationList")};return e.length===10||Mf(t,e.slice(10)),t}function A1(r,e){let t=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),W(r.maxFeePerGas||0,"maxFeePerGas"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data,Ff(r.accessList||[]),l1(r.authorizationList||[])];return e&&(t.push(W(e.yParity,"yParity")),t.push(te(e.r)),t.push(te(e.s))),_(["0x04",rt(t)])}var gr,Ko,$o,Yo,Wo,jo,qo,ea,ta,ra,na,sa,Ai,os,Fr,as,ia,oa,Pf,Ur=class Ur{constructor(){y(this,oa);y(this,gr);y(this,Ko);y(this,$o);y(this,Yo);y(this,Wo);y(this,jo);y(this,qo);y(this,ea);y(this,ta);y(this,ra);y(this,na);y(this,sa);y(this,Ai);y(this,os);y(this,Fr);y(this,as);y(this,ia);h(this,gr,null),h(this,Ko,null),h(this,Yo,0),h(this,Wo,ke),h(this,jo,null),h(this,qo,null),h(this,ea,null),h(this,$o,"0x"),h(this,ta,ke),h(this,ra,ke),h(this,na,null),h(this,sa,null),h(this,Ai,null),h(this,os,null),h(this,Fr,null),h(this,as,null),h(this,ia,null)}get type(){return f(this,gr)}set type(e){switch(e){case null:h(this,gr,null);break;case 0:case"legacy":h(this,gr,0);break;case 1:case"berlin":case"eip-2930":h(this,gr,1);break;case 2:case"london":case"eip-1559":h(this,gr,2);break;case 3:case"cancun":case"eip-4844":h(this,gr,3);break;case 4:case"pectra":case"eip-7702":h(this,gr,4);break;default:p(!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";case 4:return"eip-7702"}return null}get to(){let e=f(this,Ko);return e==null&&this.type===3?ur:e}set to(e){h(this,Ko,e==null?null:k(e))}get nonce(){return f(this,Yo)}set nonce(e){h(this,Yo,M(e,"value"))}get gasLimit(){return f(this,Wo)}set gasLimit(e){h(this,Wo,B(e))}get gasPrice(){let e=f(this,jo);return e==null&&(this.type===0||this.type===1)?ke:e}set gasPrice(e){h(this,jo,e==null?null:B(e,"gasPrice"))}get maxPriorityFeePerGas(){let e=f(this,qo);return e??(this.type===2||this.type===3?ke:null)}set maxPriorityFeePerGas(e){h(this,qo,e==null?null:B(e,"maxPriorityFeePerGas"))}get maxFeePerGas(){let e=f(this,ea);return e??(this.type===2||this.type===3?ke:null)}set maxFeePerGas(e){h(this,ea,e==null?null:B(e,"maxFeePerGas"))}get data(){return f(this,$o)}set data(e){h(this,$o,R(e))}get value(){return f(this,ta)}set value(e){h(this,ta,B(e,"value"))}get chainId(){return f(this,ra)}set chainId(e){h(this,ra,B(e))}get signature(){return f(this,na)||null}set signature(e){h(this,na,e==null?null:ve.from(e))}get accessList(){let e=f(this,sa)||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){h(this,sa,e==null?null:_e(e))}get authorizationList(){let e=f(this,ia)||null;return e==null&&this.type===4?[]:e}set authorizationList(e){h(this,ia,e==null?null:e.map(t=>yi(t)))}get maxFeePerBlobGas(){let e=f(this,Ai);return e==null&&this.type===3?ke:e}set maxFeePerBlobGas(e){h(this,Ai,e==null?null:B(e,"maxFeePerBlobGas"))}get blobVersionedHashes(){let e=f(this,os);return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){p(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let t=0;t<e.length;t++)p(V(e[t],32),"invalid blobVersionedHash",`value[${t}]`,e[t])}h(this,os,e)}get blobs(){return f(this,as)==null?null:f(this,as).map(e=>Object.assign({},e))}set blobs(e){if(e==null){h(this,as,null);return}let t=[],n=[];for(let s=0;s<e.length;s++){let i=e[s];if(Wt(i)){w(f(this,Fr),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=L(i);if(p(o.length<=nd,"blob is too large",`blobs[${s}]`,i),o.length!==nd){let l=new Uint8Array(nd);l.set(o),o=l}let a=f(this,Fr).blobToKzgCommitment(o),c=R(f(this,Fr).computeBlobKzgProof(o,a));t.push({data:R(o),commitment:R(a),proof:c}),n.push(cm(1,a))}else{let o=R(i.commitment);t.push({data:R(i.data),commitment:o,proof:R(i.proof)}),n.push(cm(1,o))}}h(this,as,t),h(this,os,n)}get kzg(){return f(this,Fr)}set kzg(e){e==null?h(this,Fr,null):h(this,Fr,a1(e))}get hash(){return this.signature==null?null:H(S(this,oa,Pf).call(this,!0,!1))}get unsignedHash(){return H(this.unsignedSerialized)}get from(){return this.signature==null?null:mr(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:Ge.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return S(this,oa,Pf).call(this,!0,!0)}get unsignedSerialized(){return S(this,oa,Pf).call(this,!1,!1)}inferType(){let e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){let e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,s=f(this,Ai)!=null||f(this,os);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&w(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),w(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),w(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return this.type!=null?i.push(this.type):this.authorizationList&&this.authorizationList.length?i.push(4):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 Ur.from(this)}toJSON(){let 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 Ur;if(typeof e=="string"){let n=L(e);if(n[0]>=127)return Ur.from(u1(n));switch(n[0]){case 1:return Ur.from(x1(n));case 2:return Ur.from(h1(n));case 3:return Ur.from(g1(n));case 4:return Ur.from(y1(n))}w(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let t=new Ur;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=ve.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.authorizationList!=null&&(t.authorizationList=e.authorizationList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(t.kzg=e.kzg),e.blobs!=null&&(t.blobs=e.blobs),e.hash!=null&&(p(t.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),p(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(p(t.isSigned(),"unsigned transaction cannot define '.from'","tx",e),p(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}};gr=new WeakMap,Ko=new WeakMap,$o=new WeakMap,Yo=new WeakMap,Wo=new WeakMap,jo=new WeakMap,qo=new WeakMap,ea=new WeakMap,ta=new WeakMap,ra=new WeakMap,na=new WeakMap,sa=new WeakMap,Ai=new WeakMap,os=new WeakMap,Fr=new WeakMap,as=new WeakMap,ia=new WeakMap,oa=new WeakSet,Pf=function(e,t){w(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let n=e?this.signature:null;switch(this.inferType()){case 0:return d1(this,n);case 1:return m1(this,n);case 2:return p1(this,n);case 3:return b1(this,n,t?this.blobs:null);case 4:return A1(this,n)}w(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};var Rt=Ur;function ca(r){return p(typeof r.address=="string","invalid address for hashAuthorization","auth.address",r),H(_(["0x05",rt([r.chainId!=null?te(r.chainId):"0x",k(r.address),r.nonce!=null?te(r.nonce):"0x"])]))}function sd(r,e){return mr(ca(r),e)}function ge(r){return H(re(r))}var w1="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",lm=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),fm=4;function E1(r){let e=0;function t(){return r[e++]<<8|r[e++]}let n=t(),s=1,i=[0,1];for(let C=1;C<n;C++)i.push(s+=t());let o=t(),a=e;e+=o;let c=0,l=0;function u(){return c==0&&(l=l<<8|r[e++],c=8),l>>--c&1}let d=31,x=2**d,m=x>>>1,A=m>>1,b=x-1,E=0;for(let C=0;C<d;C++)E=E<<1|u();let T=[],v=0,O=x;for(;;){let C=Math.floor(((E-v+1)*s-1)/O),P=0,J=n;for(;J-P>1;){let Q=P+J>>>1;C<i[Q]?J=Q:P=Q}if(P==0)break;T.push(P);let G=v+Math.floor(O*i[P]/s),ne=v+Math.floor(O*i[P+1]/s)-1;for(;((G^ne)&m)==0;)E=E<<1&b|u(),G=G<<1&b,ne=ne<<1&b|1;for(;G&~ne&A;)E=E&m|E<<1&b>>>1|u(),G=G<<1^m,ne=(ne^m)<<1|m|1;v=G,O=1+ne-G}let D=n-4;return T.map(C=>{switch(C-D){case 3:return D+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return D+256+(r[a++]<<8|r[a++]);case 1:return D+r[a++];default:return C-1}})}function T1(r){let e=0;return()=>r[e++]}function pm(r){return T1(E1(R1(r)))}function R1(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,o=0,a=0;s<t;s++)a=a<<6|e[r.charCodeAt(s)],o+=6,o>=8&&(n[i++]=a>>(o-=8));return n}function S1(r){return r&1?~r>>1:r>>1}function L1(r,e){let t=Array(r);for(let n=0,s=0;n<r;n++)t[n]=s+=S1(e());return t}function kc(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 xm(r){return Jc(()=>{let e=kc(r);if(e.length)return e})}function mm(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(N1(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(v1(t,r))}return e.flat()}function Jc(r){let e=[];for(;;){let t=r(e.length);if(!t)break;e.push(t)}return e}function gm(r,e,t){let n=Array(r).fill().map(()=>[]);for(let s=0;s<e;s++)L1(r,t).forEach((i,o)=>n[o].push(i));return n}function N1(r,e){let t=1+e(),n=e(),s=Jc(e);return gm(s.length,1+r,e).flatMap((o,a)=>{let[c,...l]=o;return Array(s[a]).fill().map((u,d)=>{let x=d*n;return[c+d*t,l.map(m=>m+x)]})})}function v1(r,e){let t=1+e();return gm(t,1+r,e).map(s=>[s[0],s.slice(1)])}function B1(r){let e=[],t=kc(r);return s(n([]),[]),e;function n(i){let o=r(),a=Jc(()=>{let c=kc(r).map(l=>t[l]);if(c.length)return n(c)});return{S:o,B:a,Q:i}}function s({S:i,B:o},a,c){if(!(i&4&&c===a[a.length-1])){i&2&&(c=a[a.length-1]),i&1&&e.push(a);for(let l of o)for(let u of l.Q)s(l,[...a,u],c)}}}function I1(r){return r.toString(16).toUpperCase().padStart(2,"0")}function bm(r){return`{${I1(r)}}`}function O1(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 ua(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 C1(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 P1="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",Dc=44032,Jf=4352,Df=4449,Gf=4519,ym=19,Am=21,da=28,_f=Am*da,U1=ym*_f,F1=Dc+U1,M1=Jf+ym,k1=Df+Am,J1=Gf+da;function Fc(r){return r>>24&255}function wm(r){return r&16777215}var od,um,ad,kf;function D1(){let r=pm(P1);od=new Map(xm(r).flatMap((e,t)=>e.map(n=>[n,t+1<<24]))),um=new Set(kc(r)),ad=new Map,kf=new Map;for(let[e,t]of mm(r)){if(!um.has(e)&&t.length==2){let[n,s]=t,i=kf.get(n);i||(i=new Map,kf.set(n,i)),i.set(s,e)}ad.set(e,t.reverse())}}function Em(r){return r>=Dc&&r<F1}function G1(r,e){if(r>=Jf&&r<M1&&e>=Df&&e<k1)return Dc+(r-Jf)*_f+(e-Df)*da;if(Em(r)&&e>Gf&&e<J1&&(r-Dc)%da==0)return r+(e-Gf);{let t=kf.get(r);return t&&(t=t.get(e),t)?t:-1}}function Tm(r){od||D1();let e=[],t=[],n=!1;function s(i){let o=od.get(i);o&&(n=!0,i|=o),e.push(i)}for(let i of r)for(;;){if(i<128)e.push(i);else if(Em(i)){let o=i-Dc,a=o/_f|0,c=o%_f/da|0,l=o%da;s(Jf+a),s(Df+c),l>0&&s(Gf+l)}else{let o=ad.get(i);o?t.push(...o):s(i)}if(!t.length)break;i=t.pop()}if(n&&e.length>1){let i=Fc(e[0]);for(let o=1;o<e.length;o++){let a=Fc(e[o]);if(a==0||i<=a){i=a;continue}let c=o-1;for(;;){let l=e[c+1];if(e[c+1]=e[c],e[c]=l,!c||(i=Fc(e[--c]),i<=a))break}i=Fc(e[o])}}return e}function _1(r){let e=[],t=[],n=-1,s=0;for(let i of r){let o=Fc(i),a=wm(i);if(n==-1)o==0?n=a:e.push(a);else if(s>0&&s>=o)o==0?(e.push(n,...t),t.length=0,n=a):t.push(a),s=o;else{let c=G1(n,a);c>=0?n=c:s==0&&o==0?(e.push(n),n=a):(t.push(a),s=o)}}return n>=0&&e.push(n,...t),e}function Rm(r){return Tm(r).map(wm)}function X1(r){return _1(Tm(r))}var dm=45;var Sm=".",Lm=65039,Nm=1,Xf=r=>Array.from(r);function Gc(r,e){return r.P.has(e)||r.Q.has(e)}var cd=class extends Array{get is_emoji(){return!0}},ld,vm,Ti,fd,Bm,H1,fa,id,la,Ei,hm,ud;function dd(){if(ld)return;let r=pm(w1),e=()=>kc(r),t=()=>new Set(e()),n=(u,d)=>d.forEach(x=>u.add(x));ld=new Map(mm(r)),vm=t(),Ti=e(),fd=new Set(e().map(u=>Ti[u])),Ti=new Set(Ti),Bm=t(),H1=t();let s=xm(r),i=r(),o=()=>{let u=new Set;return e().forEach(d=>n(u,s[d])),n(u,e()),u};fa=Jc(u=>{let d=Jc(r).map(x=>x+96);if(d.length){let x=u>=i;d[0]-=32,d=ua(d),x&&(d=`Restricted[${d}]`);let m=o(),A=o(),b=!r();return{N:d,P:m,Q:A,M:b,R:x}}}),id=t(),la=new Map;let a=e().concat(Xf(id)).sort((u,d)=>u-d);a.forEach((u,d)=>{let x=r(),m=a[d]=x?a[d-x]:{V:[],M:new Map};m.V.push(u),id.has(u)||la.set(u,m)});for(let{V:u,M:d}of new Set(la.values())){let x=[];for(let A of u){let b=fa.filter(T=>Gc(T,A)),E=x.find(({G:T})=>b.some(v=>T.has(v)));E||(E={G:new Set,V:[]},x.push(E)),E.V.push(A),n(E.G,b)}let m=x.flatMap(A=>Xf(A.G));for(let{G:A,V:b}of x){let E=new Set(m.filter(T=>!A.has(T)));for(let T of b)d.set(T,E)}}Ei=new Set;let c=new Set,l=u=>Ei.has(u)?c.add(u):Ei.add(u);for(let u of fa){for(let d of u.P)l(d);for(let d of u.Q)l(d)}for(let u of Ei)!la.has(u)&&!c.has(u)&&la.set(u,Nm);n(Ei,Rm(Ei)),hm=B1(r).map(u=>cd.from(u)).sort(C1),ud=new Map;for(let u of hm){let d=[ud];for(let x of u){let m=d.map(A=>{let b=A.get(x);return b||(b=new Map,A.set(x,b)),b});x===Lm?d.push(...m):d=m}for(let x of d)x.V=u}}function hd(r){return(Im(r)?"":`${pd(Hf([r]))} `)+bm(r)}function pd(r){return`"${r}"\u200E`}function V1(r){if(r.length>=4&&r[2]==dm&&r[3]==dm)throw new Error(`invalid label extension: "${ua(r.slice(0,4))}"`)}function Q1(r){for(let t=r.lastIndexOf(95);t>0;)if(r[--t]!==95)throw new Error("underscore allowed only at start")}function Z1(r){let e=r[0],t=lm.get(e);if(t)throw Mc(`leading ${t}`);let n=r.length,s=-1;for(let i=1;i<n;i++){e=r[i];let o=lm.get(e);if(o){if(s==i)throw Mc(`${t} + ${o}`);s=i+1,t=o}}if(s==n)throw Mc(`trailing ${t}`)}function Hf(r,e=1/0,t=bm){let n=[];z1(r[0])&&n.push("\u25CC"),r.length>e&&(e>>=1,r=[...r.slice(0,e),8230,...r.slice(-e)]);let s=0,i=r.length;for(let o=0;o<i;o++){let a=r[o];Im(a)&&(n.push(ua(r.slice(s,o))),n.push(t(a)),s=o+1)}return n.push(ua(r.slice(s,i))),n.join("")}function z1(r){return dd(),Ti.has(r)}function Im(r){return dd(),Bm.has(r)}function Om(r){return W1(K1(r,X1,ew))}function K1(r,e,t){if(!r)return[];dd();let n=0;return r.split(Sm).map(s=>{let i=O1(s),o={input:i,offset:n};n+=i.length+1;try{let a=o.tokens=q1(i,e,t),c=a.length,l;if(!c)throw new Error("empty label");let u=o.output=a.flat();if(Q1(u),!(o.emoji=c>1||a[0].is_emoji)&&u.every(x=>x<128))V1(u),l="ASCII";else{let x=a.flatMap(m=>m.is_emoji?[]:m);if(!x.length)l="Emoji";else{if(Ti.has(u[0]))throw Mc("leading combining mark");for(let b=1;b<c;b++){let E=a[b];if(!E.is_emoji&&Ti.has(E[0]))throw Mc(`emoji + combining mark: "${ua(a[b-1])} + ${Hf([E[0]])}"`)}Z1(u);let m=Xf(new Set(x)),[A]=Y1(m);j1(A,x),$1(A,m),l=A.N}}o.type=l}catch(a){o.error=a}return o})}function $1(r,e){let t,n=[];for(let s of e){let i=la.get(s);if(i===Nm)return;if(i){let o=i.M.get(s);if(t=t?t.filter(a=>o.has(a)):Xf(o),!t.length)return}else n.push(s)}if(t){for(let s of t)if(n.every(i=>Gc(s,i)))throw new Error(`whole-script confusable: ${r.N}/${s.N}`)}}function Y1(r){let e=fa;for(let t of r){let n=e.filter(s=>Gc(s,t));if(!n.length)throw fa.some(s=>Gc(s,t))?Pm(e[0],t):Cm(t);if(e=n,n.length==1)break}return e}function W1(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 ${pd(Hf(e,63))}: ${s}`)}return ua(n)}).join(Sm)}function Cm(r){return new Error(`disallowed character: ${hd(r)}`)}function Pm(r,e){let t=hd(e),n=fa.find(s=>s.P.has(e));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${r.N} + ${t}`)}function Mc(r){return new Error(`illegal placement: ${r}`)}function j1(r,e){for(let t of e)if(!Gc(r,t))throw Pm(r,t);if(r.M){let t=Rm(e);for(let n=1,s=t.length;n<s;n++)if(fd.has(t[n])){let i=n+1;for(let o;i<s&&fd.has(o=t[i]);i++)for(let a=n;a<i;a++)if(t[a]==o)throw new Error(`duplicate non-spacing marks: ${hd(o)}`);if(i-n>fm)throw new Error(`excessive non-spacing marks: ${pd(Hf(t.slice(n-1,i)))} (${i-n}/${fm})`);n=i}}}function q1(r,e,t){let n=[],s=[];for(r=r.slice().reverse();r.length;){let i=tw(r);if(i)s.length&&(n.push(e(s)),s=[]),n.push(t(i));else{let o=r.pop();if(Ei.has(o))s.push(o);else{let a=ld.get(o);if(a)s.push(...a);else if(!vm.has(o))throw Cm(o)}}}return s.length&&n.push(e(s)),n}function ew(r){return r.filter(e=>e!=Lm)}function tw(r,e){let t=ud,n,s=r.length;for(;s&&(t=t.get(r[--s]),!!t);){let{V:i}=t;i&&(n=i,e&&e.push(...r.slice(s).reverse()),r.length=s)}return n}var Fm=new Uint8Array(32);Fm.fill(0);function Um(r){return p(r.length!==0,"invalid ENS name; empty component","comp",r),r}function xd(r){let e=re(Vf(r)),t=[];if(r.length===0)return t;let n=0;for(let s=0;s<e.length;s++)e[s]===46&&(t.push(Um(e.slice(n,s))),n=s+1);return p(n<e.length,"invalid ENS name; empty component","name",r),t.push(Um(e.slice(n))),t}function Vf(r){try{if(r.length===0)throw new Error("empty label");return Om(r)}catch(e){p(!1,`invalid ENS name (${e.message})`,"name",r)}}function md(r){try{return xd(r).length!==0}catch{}return!1}function cs(r){p(typeof r=="string","invalid ENS name; not a string","name",r),p(r.length,"invalid ENS name (empty label)","name",r);let e=Fm,t=xd(r);for(;t.length;)e=H(_([e,H(t.pop())]));return R(e)}function _c(r,e){let t=e??63;return p(t<=255,"DNS encoded label cannot exceed 255","length",t),R(_(xd(r).map(n=>{p(n.length<=t,`label ${JSON.stringify(r)} exceeds ${t} bytes`,"name",r);let s=new Uint8Array(n.length+1);return s.set(n,1),s[0]=s.length-1,s})))+"00"}function ha(r){return typeof r=="string"&&(r=re(r)),H(_([re(Pc),re(String(r.length)),r]))}function gd(r,e){let t=ha(r);return mr(t,e)}var rw=new RegExp("^bytes([0-9]+)$"),nw=new RegExp("^(u?int)([0-9]*)$"),sw=new RegExp("^(.*)\\[([0-9]*)\\]$");function Mm(r,e,t){switch(r){case"address":return t?L(Se(e,32)):L(k(e));case"string":return re(e);case"bytes":return L(e);case"bool":return e=e?"0x01":"0x00",t?L(Se(e,32)):L(e)}let n=r.match(nw);if(n){let s=n[1]==="int",i=parseInt(n[2]||"256");return p((!n[2]||n[2]===String(i))&&i%8===0&&i!==0&&i<=256,"invalid number type","type",r),t&&(i=256),s&&(e=on(e,i)),L(Se(te(e),i/8))}if(n=r.match(rw),n){let s=parseInt(n[1]);return p(String(s)===n[1]&&s!==0&&s<=32,"invalid bytes type","type",r),p(ct(e)===s,`invalid value for ${r}`,"value",e),t?L(nn(e,32)):e}if(n=r.match(sw),n&&Array.isArray(e)){let s=n[1],i=parseInt(n[2]||String(e.length));p(i===e.length,`invalid array length for ${r}`,"value",e);let o=[];return e.forEach(function(a){o.push(Mm(s,a,!0))}),L(_(o))}p(!1,"invalid type","type",r)}function Xc(r,e){p(r.length===e.length,"wrong number of values; expected ${ types.length }","values",e);let t=[];return r.forEach(function(n,s){t.push(Mm(n,e[s]))}),R(_(t))}function bd(r,e){return H(Xc(r,e))}function yd(r,e){return Ne(Xc(r,e))}var Gm=new Uint8Array(32);Gm.fill(0);var iw=BigInt(-1),_m=BigInt(0),Xm=BigInt(1),ow=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function aw(r){let e=L(r),t=e.length%32;return t?_([e,Gm.slice(t)]):R(e)}var cw=Fe(Xm,32),lw=Fe(_m,32),km={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Ad=["name","version","chainId","verifyingContract","salt"];function Jm(r){return function(e){return p(typeof e=="string",`invalid domain value for ${JSON.stringify(r)}`,`domain.${r}`,e),e}}var fw={name:Jm("name"),version:Jm("version"),chainId:function(r){let e=B(r,"domain.chainId");return p(e>=0,"invalid chain ID","domain.chainId",r),Number.isSafeInteger(e)?Number(e):Pe(e)},verifyingContract:function(r){try{return k(r).toLowerCase()}catch{}p(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",r)},salt:function(r){let e=L(r,"domain.salt");return p(e.length===32,'invalid domain value "salt"',"domain.salt",r),R(e)}};function wd(r){{let e=r.match(/^(u?)int(\d+)$/);if(e){let t=e[1]==="",n=parseInt(e[2]);p(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",r);let s=gt(ow,t?n-1:n),i=t?(s+Xm)*iw:_m;return function(o){let a=B(o,"value");return p(a>=i&&a<=s,`value out-of-bounds for ${r}`,"value",a),Fe(t?on(a,256):a,32)}}}{let e=r.match(/^bytes(\d+)$/);if(e){let t=parseInt(e[1]);return p(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",r),function(n){let s=L(n);return p(s.length===t,`invalid length for ${r}`,"value",n),aw(n)}}}switch(r){case"address":return function(e){return Se(k(e),32)};case"bool":return function(e){return e?cw:lw};case"bytes":return function(e){return H(e)};case"string":return function(e){return ge(e)}}return null}function Dm(r,e){return`${r}(${e.map(({name:t,type:n})=>n+" "+t).join(",")})`}function Qf(r){let 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 Hc,bn,pa,Zf,Hm,Pt=class Pt{constructor(e){y(this,Zf);g(this,"primaryType");y(this,Hc);y(this,bn);y(this,pa);h(this,bn,new Map),h(this,pa,new Map);let t=new Map,n=new Map,s=new Map,i={};Object.keys(e).forEach(c=>{i[c]=e[c].map(({name:l,type:u})=>{let{base:d,index:x}=Qf(u);return d==="int"&&!e.int&&(d="int256"),d==="uint"&&!e.uint&&(d="uint256"),{name:l,type:d+(x||"")}}),t.set(c,new Set),n.set(c,[]),s.set(c,new Set)}),h(this,Hc,JSON.stringify(i));for(let c in i){let l=new Set;for(let u of i[c]){p(!l.has(u.name),`duplicate variable name ${JSON.stringify(u.name)} in ${JSON.stringify(c)}`,"types",e),l.add(u.name);let d=Qf(u.type).base;p(d!==c,`circular type reference to ${JSON.stringify(d)}`,"types",e),!wd(d)&&(p(n.has(d),`unknown type ${JSON.stringify(d)}`,"types",e),n.get(d).push(c),t.get(c).add(d))}}let o=Array.from(n.keys()).filter(c=>n.get(c).length===0);p(o.length!==0,"missing primary type","types",e),p(o.length===1,`ambiguous primary types or unused types: ${o.map(c=>JSON.stringify(c)).join(", ")}`,"types",e),N(this,{primaryType:o[0]});function a(c,l){p(!l.has(c),`circular type reference to ${JSON.stringify(c)}`,"types",e),l.add(c);for(let u of t.get(c))if(n.has(u)){a(u,l);for(let d of l)s.get(d).add(u)}l.delete(c)}a(this.primaryType,new Set);for(let[c,l]of s){let u=Array.from(l);u.sort(),f(this,bn).set(c,Dm(c,i[c])+u.map(d=>Dm(d,i[d])).join(""))}}get types(){return JSON.parse(f(this,Hc))}getEncoder(e){let t=f(this,pa).get(e);return t||(t=S(this,Zf,Hm).call(this,e),f(this,pa).set(e,t)),t}encodeType(e){let t=f(this,bn).get(e);return p(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return H(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(wd(e))return n(e,t);let s=Qf(e).array;if(s)return p(s.count===-1||s.count===t.length,`array length mismatch; expected length ${s.count}`,"value",t),t.map(o=>this._visit(s.prefix,o,n));let i=this.types[e];if(i)return i.reduce((o,{name:a,type:c})=>(o[a]=this._visit(c,t[a],n),o),{});p(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new Pt(e)}static getPrimaryType(e){return Pt.from(e).primaryType}static hashStruct(e,t,n){return Pt.from(t).hashStruct(e,n)}static hashDomain(e){let t=[];for(let n in e){if(e[n]==null)continue;let s=km[n];p(s,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:s})}return t.sort((n,s)=>Ad.indexOf(n.name)-Ad.indexOf(s.name)),Pt.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return _(["0x1901",Pt.hashDomain(e),Pt.from(t).hash(n)])}static hash(e,t,n){return H(Pt.encode(e,t,n))}static async resolveNames(e,t,n,s){e=Object.assign({},e);for(let a in e)e[a]==null&&delete e[a];let i={};e.verifyingContract&&!V(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");let o=Pt.from(t);o.visit(n,(a,c)=>(a==="address"&&!V(c,20)&&(i[c]="0x"),c));for(let a in i)i[a]=await s(a);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=o.visit(n,(a,c)=>a==="address"&&i[c]?i[c]:c),{domain:e,value:n}}static getPayload(e,t,n){Pt.hashDomain(e);let s={},i=[];Ad.forEach(c=>{let l=e[c];l!=null&&(s[c]=fw[c](l),i.push({name:c,type:km[c]}))});let o=Pt.from(t);t=o.types;let a=Object.assign({},t);return p(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),a.EIP712Domain=i,o.encode(n),{types:a,domain:s,primaryType:o.primaryType,message:o.visit(n,(c,l)=>{if(c.match(/^bytes(\d*)/))return R(L(l));if(c.match(/^u?int/))return B(l).toString();switch(c){case"address":return l.toLowerCase();case"bool":return!!l;case"string":return p(typeof l=="string","invalid string","value",l),l}p(!1,"unsupported type","type",c)})}}};Hc=new WeakMap,bn=new WeakMap,pa=new WeakMap,Zf=new WeakSet,Hm=function(e){{let s=wd(e);if(s)return s}let t=Qf(e).array;if(t){let s=t.prefix,i=this.getEncoder(s);return o=>{p(t.count===-1||t.count===o.length,`array length mismatch; expected length ${t.count}`,"value",o);let a=o.map(i);return f(this,bn).has(s)&&(a=a.map(H)),H(_(a))}}let n=this.types[e];if(n){let s=ge(f(this,bn).get(e));return i=>{let o=n.map(({name:a,type:c})=>{let l=this.getEncoder(c)(i[a]);return f(this,bn).has(c)?H(l):l});return o.unshift(s),_(o)}}p(!1,`unknown type: ${e}`,"type",e)};var Ut=Pt;function Ed(r,e,t,n){return mr(Ut.hash(r,e,t),n)}function st(r){let e=new Set;return r.forEach(t=>e.add(t)),Object.freeze(e)}var uw="external public payable override",dw=st(uw.split(" ")),qm="constant external internal payable private public pure view override",hw=st(qm.split(" ")),eg="constructor error event fallback function receive struct",tg=st(eg.split(" ")),rg="calldata memory storage payable indexed",pw=st(rg.split(" ")),xw="tuple returns",mw=[eg,rg,xw,qm].join(" "),gw=st(mw.split(" ")),bw={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},yw=new RegExp("^(\\s*)"),Aw=new RegExp("^([0-9]+)"),ww=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),ng=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),sg=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),Xe,br,Qc,Td,Kf=class Kf{constructor(e){y(this,Qc);y(this,Xe);y(this,br);h(this,Xe,0),h(this,br,e.slice())}get offset(){return f(this,Xe)}get length(){return f(this,br).length-f(this,Xe)}clone(){return new Kf(f(this,br))}reset(){h(this,Xe,0)}popKeyword(e){let 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){let t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let t=S(this,Qc,Td).call(this,f(this,Xe)+1,e.match+1);return h(this,Xe,e.match+1),t}popParams(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let t=[];for(;f(this,Xe)<e.match-1;){let n=this.peek().linkNext;t.push(S(this,Qc,Td).call(this,f(this,Xe)+1,n)),h(this,Xe,n)}return h(this,Xe,e.match+1),t}peek(){if(f(this,Xe)>=f(this,br).length)throw new Error("out-of-bounds");return f(this,br)[f(this,Xe)]}peekKeyword(e){let t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;let t=this.peek();return t.type===e?t.text:null}pop(){let e=this.peek();return tn(this,Xe)._++,e}toString(){let e=[];for(let t=f(this,Xe);t<f(this,br).length;t++){let n=f(this,br)[t];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(" ")}>`}};Xe=new WeakMap,br=new WeakMap,Qc=new WeakSet,Td=function(e=0,t=0){return new Kf(f(this,br).slice(e,t).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))};var yr=Kf;function fs(r){let e=[],t=o=>{let a=i<r.length?JSON.stringify(r[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)},n=[],s=[],i=0;for(;i<r.length;){let o=r.substring(i),a=o.match(yw);a&&(i+=a[1].length,o=r.substring(i));let c={depth:n.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let l=bw[o[0]]||"";if(l){if(c.type=l,c.text=o[0],i++,l==="OPEN_PAREN")n.push(e.length-1),s.push(e.length-1);else if(l=="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(l==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(l==="OPEN_BRACKET")c.type="BRACKET";else if(l==="CLOSE_BRACKET"){let u=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){let d=e.pop().text;u=d+u,e[e.length-1].value=M(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(a=o.match(ww),a){if(c.text=a[1],i+=c.text.length,gw.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(sg)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(Aw),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new yr(e.map(o=>Object.freeze(o)))}function Vm(r,e){let t=[];for(let n in e.keys())r.has(n)&&t.push(n);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function $f(r,e){if(e.peekKeyword(tg)){let t=e.pop().text;if(t!==r)throw new Error(`expected ${r}, got ${t}`)}return e.popType("ID")}function An(r,e){let t=new Set;for(;;){let 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 ig(r){let e=An(r,hw);return Vm(e,st("constant payable nonpayable".split(" "))),Vm(e,st("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 yn(r,e){return r.popParams().map(t=>we.from(t,e))}function og(r){if(r.peekType("AT")){if(r.pop(),r.peekType("NUMBER"))return B(r.pop().text);throw new Error("invalid gas")}return null}function Ri(r){if(r.length)throw new Error(`unexpected tokens at offset ${r.offset}: ${r.toString()}`)}var Ew=new RegExp(/^(.*)\[([0-9]*)\]$/);function Qm(r){let e=r.match(sg);if(p(e,"invalid type","type",r),r==="uint")return"uint256";if(r==="int")return"int256";if(e[2]){let t=parseInt(e[2]);p(t!==0&&t<=32,"invalid bytes length","type",r)}else if(e[3]){let t=parseInt(e[3]);p(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",r)}return r}var be={},ft=Symbol.for("_ethers_internal"),Zm="_ParamTypeInternal",zm="_ErrorInternal",Km="_EventInternal",$m="_ConstructorInternal",Ym="_FallbackInternal",Wm="_FunctionInternal",jm="_StructInternal",xa,zf,Ft=class Ft{constructor(e,t,n,s,i,o,a,c){y(this,xa);g(this,"name");g(this,"type");g(this,"baseType");g(this,"indexed");g(this,"components");g(this,"arrayLength");g(this,"arrayChildren");if(Je(e,be,"ParamType"),Object.defineProperty(this,ft,{value:Zm}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");N(this,{name:t,type:n,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let n=this.name||"";if(this.isArray()){let i=JSON.parse(this.arrayChildren.format("json"));return i.name=n,i.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(i)}let 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");let 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");let n=this;return e.map((s,i)=>n.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){let n=[],s=[e];return S(this,xa,zf).call(this,n,e,t,i=>{s[0]=i}),n.length&&await Promise.all(n),s[0]}static from(e,t){if(Ft.isParamType(e))return e;if(typeof e=="string")try{return Ft.from(fs(e),t)}catch{p(!1,"invalid param type","obj",e)}else if(e instanceof yr){let a="",c="",l=null;An(e,st(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",l=e.popParams().map(b=>Ft.from(b)),a=`tuple(${l.map(b=>b.format()).join(",")})`):(a=Qm(e.popType("TYPE")),c=a);let u=null,d=null;for(;e.length&&e.peekType("BRACKET");){let b=e.pop();u=new Ft(be,"",a,c,null,l,d,u),d=b.value,a+=b.text,c="array",l=null}let x=null;if(An(e,pw).has("indexed")){if(!t)throw new Error("");x=!0}let A=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new Ft(be,A,a,c,x,l,d,u)}let n=e.name;p(!n||typeof n=="string"&&n.match(ng),"invalid name","obj.name",n);let s=e.indexed;s!=null&&(p(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(Ew);if(o){let a=parseInt(o[2]||"-1"),c=Ft.from({type:o[1],components:e.components});return new Ft(be,n||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){let a=e.components!=null?e.components.map(l=>Ft.from(l)):null;return new Ft(be,n||"",i,"tuple",s,a,null,null)}return i=Qm(e.type),new Ft(be,n||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ft]===Zm}};xa=new WeakSet,zf=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");let o=this.arrayChildren,a=t.slice();a.forEach((c,l)=>{var u;S(u=o,xa,zf).call(u,e,c,n,d=>{a[l]=d})}),s(a);return}if(this.isTuple()){let o=this.components,a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.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(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,l)=>{var u;S(u=o[l],xa,zf).call(u,e,c,n,d=>{a[l]=d})}),s(a);return}let i=n(this.type,t);i.then?e.push((async function(){s(await i)})()):s(i)};var we=Ft,Dr=class r{constructor(e,t,n){g(this,"type");g(this,"inputs");Je(e,be,"Fragment"),n=Object.freeze(n.slice()),N(this,{type:t,inputs:n})}static from(e){if(typeof e=="string"){try{r.from(JSON.parse(e))}catch{}return r.from(fs(e))}if(e instanceof yr)switch(e.peekKeyword(tg)){case"constructor":return kr.from(e);case"error":return it.from(e);case"event":return Mr.from(e);case"fallback":case"receive":return Si.from(e);case"function":return Jr.from(e);case"struct":return ls.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return kr.from(e);case"error":return it.from(e);case"event":return Mr.from(e);case"fallback":case"receive":return Si.from(e);case"function":return Jr.from(e);case"struct":return ls.from(e)}w(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}p(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return kr.isFragment(e)}static isError(e){return it.isFragment(e)}static isEvent(e){return Mr.isFragment(e)}static isFunction(e){return Jr.isFragment(e)}static isStruct(e){return ls.isFragment(e)}},wn=class extends Dr{constructor(t,n,s,i){super(t,n,i);g(this,"name");p(typeof s=="string"&&s.match(ng),"invalid identifier","name",s),i=Object.freeze(i.slice()),N(this,{name:s})}};function Vc(r,e){return"("+e.map(t=>t.format(r)).join(r==="full"?", ":",")+")"}var it=class r extends wn{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,ft,{value:zm})}get selector(){return ge(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)))});let t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+Vc(e,this.inputs)),t.join(" ")}static from(e){if(r.isFragment(e))return e;if(typeof e=="string")return r.from(fs(e));if(e instanceof yr){let t=$f("error",e),n=yn(e);return Ri(e),new r(be,t,n)}return new r(be,e.name,e.inputs?e.inputs.map(we.from):[])}static isFragment(e){return e&&e[ft]===zm}},Mr=class r extends wn{constructor(t,n,s,i){super(t,"event",n,s);g(this,"anonymous");Object.defineProperty(this,ft,{value:Km}),N(this,{anonymous:i})}get topicHash(){return ge(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)))});let n=[];return t!=="sighash"&&n.push("event"),n.push(this.name+Vc(t,this.inputs)),t!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(t,n){return n=(n||[]).map(i=>we.from(i)),new r(be,t,n,!1).topicHash}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(fs(t))}catch{p(!1,"invalid event fragment","obj",t)}else if(t instanceof yr){let n=$f("event",t),s=yn(t,!0),i=!!An(t,st(["anonymous"])).has("anonymous");return Ri(t),new r(be,n,s,i)}return new r(be,t.name,t.inputs?t.inputs.map(n=>we.from(n,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ft]===Km}},kr=class r extends Dr{constructor(t,n,s,i,o){super(t,n,s);g(this,"payable");g(this,"gas");Object.defineProperty(this,ft,{value:$m}),N(this,{payable:i,gas:o})}format(t){if(w(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)))});let n=[`constructor${Vc(t,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(fs(t))}catch{p(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof yr){An(t,st(["constructor"]));let n=yn(t),s=!!An(t,dw).has("payable"),i=og(t);return Ri(t),new r(be,"constructor",n,s,i)}return new r(be,"constructor",t.inputs?t.inputs.map(we.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ft]===$m}},Si=class r extends Dr{constructor(t,n,s){super(t,"fallback",n);g(this,"payable");Object.defineProperty(this,ft,{value:Ym}),N(this,{payable:s})}format(t){let n=this.inputs.length===0?"receive":"fallback";if(t==="json"){let s=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:s})}return`${n}()${this.payable?" payable":""}`}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(fs(t))}catch{p(!1,"invalid fallback fragment","obj",t)}else if(t instanceof yr){let n=t.toString(),s=t.peekKeyword(st(["fallback","receive"]));if(p(s,"type must be fallback or receive","obj",n),t.popKeyword(st(["fallback","receive"]))==="receive"){let c=yn(t);return p(c.length===0,"receive cannot have arguments","obj.inputs",c),An(t,st(["payable"])),Ri(t),new r(be,[],!0)}let o=yn(t);o.length?p(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[we.from("bytes")];let a=ig(t);if(p(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),An(t,st(["returns"])).has("returns")){let c=yn(t);p(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(l=>l.format("minimal")).join(", "))}return Ri(t),new r(be,o,a==="payable")}if(t.type==="receive")return new r(be,[],!0);if(t.type==="fallback"){let n=[we.from("bytes")],s=t.stateMutability==="payable";return new r(be,n,s)}p(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ft]===Ym}},Jr=class r extends wn{constructor(t,n,s,i,o,a){super(t,"function",n,i);g(this,"constant");g(this,"outputs");g(this,"stateMutability");g(this,"payable");g(this,"gas");Object.defineProperty(this,ft,{value:Wm}),o=Object.freeze(o.slice()),N(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return ge(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)))});let n=[];return t!=="sighash"&&n.push("function"),n.push(this.name+Vc(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(Vc(t,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(t,n){return n=(n||[]).map(i=>we.from(i)),new r(be,t,"view",n,[],null).selector}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(fs(t))}catch{p(!1,"invalid function fragment","obj",t)}else if(t instanceof yr){let s=$f("function",t),i=yn(t),o=ig(t),a=[];An(t,st(["returns"])).has("returns")&&(a=yn(t));let c=og(t);return Ri(t),new r(be,s,o,i,a,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 r(be,t.name,n,t.inputs?t.inputs.map(we.from):[],t.outputs?t.outputs.map(we.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ft]===Wm}},ls=class r extends wn{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,ft,{value:jm})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return r.from(fs(e))}catch{p(!1,"invalid struct fragment","obj",e)}else if(e instanceof yr){let t=$f("struct",e),n=yn(e);return Ri(e),new r(be,t,n)}return new r(be,e.name,e.inputs?e.inputs.map(we.from):[])}static isFragment(e){return e&&e[ft]===jm}};var Ar=new Map;Ar.set(0,"GENERIC_PANIC");Ar.set(1,"ASSERT_FALSE");Ar.set(17,"OVERFLOW");Ar.set(18,"DIVIDE_BY_ZERO");Ar.set(33,"ENUM_RANGE_ERROR");Ar.set(34,"BAD_STORAGE_DATA");Ar.set(49,"STACK_UNDERFLOW");Ar.set(50,"ARRAY_RANGE_ERROR");Ar.set(65,"OUT_OF_MEMORY");Ar.set(81,"UNINITIALIZED_FUNCTION_CALL");var Tw=new RegExp(/^bytes([0-9]*)$/),Rw=new RegExp(/^(u?int)([0-9]*)$/),Rd=null,ag=1024;function Sw(r,e,t,n){let s="missing revert data",i=null,o=null,a=null;if(t){s="execution reverted";let l=L(t);if(t=R(t),l.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(l.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(R(l.slice(0,4))==="0x08c379a0")try{i=n.decode(["string"],l.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(R(l.slice(0,4))==="0x4e487b71")try{let u=Number(n.decode(["uint256"],l.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[u]},i=`Panic due to ${Ar.get(u)||"UNKNOWN"}(${u})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}let c={to:e.to?k(e.to):null,data:e.data||"0x"};return e.from&&(c.from=k(e.from)),Z(s,"CALL_EXCEPTION",{action:r,data:t,reason:i,transaction:c,invocation:o,revert:a})}var us,ma,Yf=class Yf{constructor(){y(this,us)}getDefaultValue(e){let t=e.map(s=>S(this,us,ma).call(this,we.from(s)));return new bi(t,"_").defaultValue()}encode(e,t){Qs(t.length,e.length,"types/values length mismatch");let n=e.map(o=>S(this,us,ma).call(this,we.from(o))),s=new bi(n,"_"),i=new ai;return s.encode(i,t),i.data}decode(e,t,n){let s=e.map(o=>S(this,us,ma).call(this,we.from(o)));return new bi(s,"_").decode(new of(t,n,ag))}static _setDefaultMaxInflation(e){p(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),ag=e}static defaultAbiCoder(){return Rd==null&&(Rd=new Yf),Rd}static getBuiltinCallException(e,t,n){return Sw(e,t,n,Yf.defaultAbiCoder())}};us=new WeakSet,ma=function(e){if(e.isArray())return new Lf(S(this,us,ma).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new bi(e.components.map(n=>S(this,us,ma).call(this,n)),e.name);switch(e.baseType){case"address":return new Rf(e.name);case"bool":return new Nf(e.name);case"string":return new Cf(e.name);case"bytes":return new vf(e.name);case"":return new If(e.name)}let t=e.type.match(Rw);if(t){let n=parseInt(t[2]||"256");return p(n!==0&&n<=256&&n%8===0,"invalid "+t[1]+" bit length","param",e),new Of(n/8,t[1]==="int",e.name)}if(t=e.type.match(Tw),t){let n=parseInt(t[1]);return p(n!==0&&n<=32,"invalid bytes length","param",e),new Bf(n,e.name)}p(!1,"invalid type","type",e.type)};var Mt=Yf;function Sd(r){let e=re(r);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return nn(e,32)}function Ld(r){let e=L(r,"bytes");if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let t=31;for(;e[t-1]===0;)t--;return Le(e.slice(0,t))}var ga=class{constructor(e,t,n){g(this,"fragment");g(this,"name");g(this,"signature");g(this,"topic");g(this,"args");let s=e.name,i=e.format();N(this,{fragment:e,name:s,signature:i,topic:t,args:n})}},ba=class{constructor(e,t,n,s){g(this,"fragment");g(this,"name");g(this,"args");g(this,"signature");g(this,"selector");g(this,"value");let i=e.name,o=e.format();N(this,{fragment:e,name:i,args:n,signature:o,selector:t,value:s})}},ya=class{constructor(e,t,n){g(this,"fragment");g(this,"name");g(this,"args");g(this,"signature");g(this,"selector");let s=e.name,i=e.format();N(this,{fragment:e,name:s,args:n,signature:i,selector:t})}},Ni=class{constructor(e){g(this,"hash");g(this,"_isIndexed");N(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}},cg={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"},lg={"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&&cg[r.toString()]&&(e=cg[r.toString()]),`reverted with panic code 0x${r.toString(16)} (${e})`}}},Gr,_r,Xr,We,Hr,Wf,jf,Li=class Li{constructor(e){y(this,Hr);g(this,"fragments");g(this,"deploy");g(this,"fallback");g(this,"receive");y(this,Gr);y(this,_r);y(this,Xr);y(this,We);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,h(this,Xr,new Map),h(this,Gr,new Map),h(this,_r,new Map);let n=[];for(let o of t)try{n.push(Dr.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}N(this,{fragments:Object.freeze(n)});let s=null,i=!1;h(this,We,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}N(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(p(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=f(this,Xr);break;case"event":c=f(this,_r);break;case"error":c=f(this,Gr);break;default:return}let l=o.format();c.has(l)||c.set(l,o)}),this.deploy||N(this,{deploy:kr.from("constructor()")}),N(this,{fallback:s,receive:i})}format(e){let t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){let e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Mt.defaultAbiCoder()}getFunctionName(e){let t=S(this,Hr,Wf).call(this,e,null,!1);return p(t,"no matching function","key",e),t.name}hasFunction(e){return!!S(this,Hr,Wf).call(this,e,null,!1)}getFunction(e,t){return S(this,Hr,Wf).call(this,e,t||null,!0)}forEachFunction(e){let t=Array.from(f(this,Xr).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){let s=t[n];e(f(this,Xr).get(s),n)}}getEventName(e){let t=S(this,Hr,jf).call(this,e,null,!1);return p(t,"no matching event","key",e),t.name}hasEvent(e){return!!S(this,Hr,jf).call(this,e,null,!1)}getEvent(e,t){return S(this,Hr,jf).call(this,e,t||null,!0)}forEachEvent(e){let t=Array.from(f(this,_r).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){let s=t[n];e(f(this,_r).get(s),n)}}getError(e,t){if(V(e)){let s=e.toLowerCase();if(lg[s])return it.from(lg[s].signature);for(let i of f(this,Gr).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){let s=[];for(let[i,o]of f(this,Gr))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?it.from("error Error(string)"):e==="Panic"?it.from("error Panic(uint256)"):null;if(s.length>1){let i=s.map(o=>JSON.stringify(o.format())).join(", ");p(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=it.from(e).format(),e==="Error(string)")return it.from("error Error(string)");if(e==="Panic(uint256)")return it.from("error Panic(uint256)");let n=f(this,Gr).get(e);return n||null}forEachError(e){let t=Array.from(f(this,Gr).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){let s=t[n];e(f(this,Gr).get(s),n)}}_decodeParams(e,t){return f(this,We).decode(e,t)}_encodeParams(e,t){return f(this,We).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){let n=this.getError(e);p(n,"unknown error","fragment",e),e=n}return p(ee(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,ee(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){let n=this.getError(e);p(n,"unknown error","fragment",e),e=n}return _([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){let n=this.getFunction(e);p(n,"unknown function","fragment",e),e=n}return p(ee(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,ee(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){let n=this.getFunction(e);p(n,"unknown function","fragment",e),e=n}return _([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){let i=this.getFunction(e);p(i,"unknown function","fragment",e),e=i}let n="invalid length for result data",s=le(t);if(s.length%32===0)try{return f(this,We).decode(e.outputs,s)}catch{n="could not decode result data"}w(!1,n,"BAD_DATA",{value:R(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){let n=L(e,"data"),s=Mt.getBuiltinCallException("call",t,n);if(s.message.startsWith("execution reverted (unknown custom error)")){let a=R(n.slice(0,4)),c=this.getError(a);if(c)try{let l=f(this,We).decode(c.inputs,n.slice(4));s.revert={name:c.name,signature:c.format(),args:l},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}let o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){let n=this.getFunction(e);p(n,"unknown function","fragment",e),e=n}return R(f(this,We).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){let i=this.getEvent(e);p(i,"unknown event","eventFragment",e),e=i}w(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});let n=[];e.anonymous||n.push(e.topicHash);let s=(i,o)=>i.type==="string"?ge(o):i.type==="bytes"?H(R(o)):(i.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":i.type.match(/^u?int/)?o=Fe(o):i.type.match(/^bytes/)?o=nn(o,32):i.type==="address"&&f(this,We).encode(["address"],[o]),Se(R(o),32));for(t.forEach((i,o)=>{let a=e.inputs[o];if(!a.indexed){p(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?p(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?n.push(i.map(c=>s(a,c))):n.push(s(a,i))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,t){if(typeof e=="string"){let o=this.getEvent(e);p(o,"unknown event","eventFragment",e),e=o}let n=[],s=[],i=[];return e.anonymous||n.push(e.topicHash),p(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{let c=t[a];if(o.indexed)if(o.type==="string")n.push(ge(c));else if(o.type==="bytes")n.push(H(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(f(this,We).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:f(this,We).encode(s,i),topics:n}}decodeEventLog(e,t,n){if(typeof e=="string"){let m=this.getEvent(e);p(m,"unknown event","eventFragment",e),e=m}if(n!=null&&!e.anonymous){let m=e.topicHash;p(V(n[0],32)&&n[0].toLowerCase()===m,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}let s=[],i=[],o=[];e.inputs.forEach((m,A)=>{m.indexed?m.type==="string"||m.type==="bytes"||m.baseType==="tuple"||m.baseType==="array"?(s.push(we.from({type:"bytes32",name:m.name})),o.push(!0)):(s.push(m),o.push(!1)):(i.push(m),o.push(!1))});let a=n!=null?f(this,We).decode(s,_(n)):null,c=f(this,We).decode(i,t,!0),l=[],u=[],d=0,x=0;return e.inputs.forEach((m,A)=>{let b=null;if(m.indexed)if(a==null)b=new Ni(null);else if(o[A])b=new Ni(a[x++]);else try{b=a[x++]}catch(E){b=E}else try{b=c[d++]}catch(E){b=E}l.push(b),u.push(m.name||null)}),sr.fromItems(l,u)}parseTransaction(e){let t=L(e.data,"tx.data"),n=B(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(R(t.slice(0,4)));if(!s)return null;let i=f(this,We).decode(s.inputs,t.slice(4));return new ba(s,s.selector,i,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new ga(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){let t=R(e),n=this.getError(ee(t,0,4));if(!n)return null;let s=f(this,We).decode(n.inputs,ee(t,4));return new ya(n,n.selector,s)}static from(e){return e instanceof Li?e:typeof e=="string"?new Li(JSON.parse(e)):typeof e.formatJson=="function"?new Li(e.formatJson()):typeof e.format=="function"?new Li(e.format("json")):new Li(e)}};Gr=new WeakMap,_r=new WeakMap,Xr=new WeakMap,We=new WeakMap,Hr=new WeakSet,Wf=function(e,t,n){if(V(e)){let i=e.toLowerCase();for(let o of f(this,Xr).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of f(this,Xr))o.split("(")[0]===e&&i.push(a);if(t){let o=t.length>0?t[t.length-1]:null,a=t.length,c=!0;ue.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let l=i.length-1;l>=0;l--){let u=i[l].inputs.length;u!==a&&(!c||u!==a-1)&&i.splice(l,1)}for(let l=i.length-1;l>=0;l--){let u=i[l].inputs;for(let d=0;d<t.length;d++)if(ue.isTyped(t[d])){if(d>=u.length){if(t[d].type==="overrides")continue;i.splice(l,1);break}if(t[d].type!==u[d].baseType){i.splice(l,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){let o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&n){let o=i.map(a=>JSON.stringify(a.format())).join(", ");p(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}let s=f(this,Xr).get(Jr.from(e).format());return s||null},jf=function(e,t,n){if(V(e)){let i=e.toLowerCase();for(let o of f(this,_r).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of f(this,_r))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){let a=i[o].inputs;for(let c=0;c<t.length;c++)if(ue.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&n){let o=i.map(a=>JSON.stringify(a.format())).join(", ");p(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}let s=f(this,_r).get(Mr.from(e).format());return s||null};var En=Li;var fg=BigInt(0);function Aa(r){return r??null}function Be(r){return r==null?null:r.toString()}var hs=class{constructor(e,t,n){g(this,"gasPrice");g(this,"maxFeePerGas");g(this,"maxPriorityFeePerGas");N(this,{gasPrice:Aa(e),maxFeePerGas:Aa(t),maxPriorityFeePerGas:Aa(n)})}toJSON(){let{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:Be(e),maxFeePerGas:Be(t),maxPriorityFeePerGas:Be(n)}}};function kt(r){let e={};r.to&&(e.to=r.to),r.from&&(e.from=r.from),r.data&&(e.data=R(r.data));let t="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let s of t)!(s in r)||r[s]==null||(e[s]=B(r[s],`request.${s}`));let n="type,nonce".split(/,/);for(let s of n)!(s in r)||r[s]==null||(e[s]=M(r[s],`request.${s}`));return r.accessList&&(e.accessList=_e(r.accessList)),r.authorizationList&&(e.authorizationList=r.authorizationList.slice()),"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=>Wt(s)?R(s):Object.assign({},s))),e}var Tn,vi=class{constructor(e,t){g(this,"provider");g(this,"number");g(this,"hash");g(this,"timestamp");g(this,"parentHash");g(this,"parentBeaconBlockRoot");g(this,"nonce");g(this,"difficulty");g(this,"gasLimit");g(this,"gasUsed");g(this,"stateRoot");g(this,"receiptsRoot");g(this,"blobGasUsed");g(this,"excessBlobGas");g(this,"miner");g(this,"prevRandao");g(this,"extraData");g(this,"baseFeePerGas");y(this,Tn);h(this,Tn,e.transactions.map(n=>typeof n!="string"?new Vr(n,t):n)),N(this,{provider:t,hash:Aa(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:Aa(e.prevRandao),extraData:e.extraData,baseFeePerGas:Aa(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return f(this,Tn).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){let e=f(this,Tn).slice();return e.length===0?[]:(w(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){let{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:s,gasUsed:i,hash:o,miner:a,prevRandao:c,nonce:l,number:u,parentHash:d,parentBeaconBlockRoot:x,stateRoot:m,receiptsRoot:A,timestamp:b,transactions:E}=this;return{_type:"Block",baseFeePerGas:Be(e),difficulty:Be(t),extraData:n,gasLimit:Be(s),gasUsed:Be(i),blobGasUsed:Be(this.blobGasUsed),excessBlobGas:Be(this.excessBlobGas),hash:o,miner:a,prevRandao:c,nonce:l,number:u,parentHash:d,timestamp:b,parentBeaconBlockRoot:x,stateRoot:m,receiptsRoot:A,transactions:E}}[Symbol.iterator](){let e=0,t=this.transactions;return{next:()=>e<this.length?{value:t[e++],done:!1}:{value:void 0,done:!0}}}get length(){return f(this,Tn).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let t;if(typeof e=="number")t=f(this,Tn)[e];else{let n=e.toLowerCase();for(let s of f(this,Tn))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){let t=this.prefetchedTransactions;if(typeof e=="number")return t[e];e=e.toLowerCase();for(let n of t)if(n.hash===e)return n;p(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return Lw(this)}};Tn=new WeakMap;var St=class{constructor(e,t){g(this,"provider");g(this,"transactionHash");g(this,"blockHash");g(this,"blockNumber");g(this,"removed");g(this,"address");g(this,"data");g(this,"topics");g(this,"index");g(this,"transactionIndex");this.provider=t;let n=Object.freeze(e.topics.slice());N(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(){let{address:e,blockHash:t,blockNumber:n,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:l}=this;return{_type:"log",address:e,blockHash:t,blockNumber:n,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:l}}async getBlock(){let e=await this.provider.getBlock(this.blockHash);return w(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){let e=await this.provider.getTransaction(this.transactionHash);return w(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){let e=await this.provider.getTransactionReceipt(this.transactionHash);return w(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return Nw(this)}},Zc,Rn=class{constructor(e,t){g(this,"provider");g(this,"to");g(this,"from");g(this,"contractAddress");g(this,"hash");g(this,"index");g(this,"blockHash");g(this,"blockNumber");g(this,"logsBloom");g(this,"gasUsed");g(this,"blobGasUsed");g(this,"cumulativeGasUsed");g(this,"gasPrice");g(this,"blobGasPrice");g(this,"type");g(this,"status");g(this,"root");y(this,Zc);h(this,Zc,Object.freeze(e.logs.map(s=>new St(s,t))));let n=fg;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),N(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 f(this,Zc)}toJSON(){let{to:e,from:t,contractAddress:n,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:l,status:u,root:d}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:n,cumulativeGasUsed:Be(this.cumulativeGasUsed),from:t,gasPrice:Be(this.gasPrice),blobGasUsed:Be(this.blobGasUsed),blobGasPrice:Be(this.blobGasPrice),gasUsed:Be(this.gasUsed),hash:s,index:i,logs:l,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(){let e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){let 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 dg(this)}reorderedEvent(e){return w(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),ug(this,e)}};Zc=new WeakMap;var ds,Nd=class Nd{constructor(e,t){g(this,"provider");g(this,"blockNumber");g(this,"blockHash");g(this,"index");g(this,"hash");g(this,"type");g(this,"to");g(this,"from");g(this,"nonce");g(this,"gasLimit");g(this,"gasPrice");g(this,"maxPriorityFeePerGas");g(this,"maxFeePerGas");g(this,"maxFeePerBlobGas");g(this,"data");g(this,"value");g(this,"chainId");g(this,"signature");g(this,"accessList");g(this,"blobVersionedHashes");g(this,"authorizationList");y(this,ds);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,this.authorizationList=e.authorizationList!=null?e.authorizationList:null,h(this,ds,-1)}toJSON(){let{blockNumber:e,blockHash:t,index:n,hash:s,type:i,to:o,from:a,nonce:c,data:l,signature:u,accessList:d,blobVersionedHashes:x}=this;return{_type:"TransactionResponse",accessList:d,blockNumber:e,blockHash:t,blobVersionedHashes:x,chainId:Be(this.chainId),data:l,from:a,gasLimit:Be(this.gasLimit),gasPrice:Be(this.gasPrice),hash:s,maxFeePerGas:Be(this.maxFeePerGas),maxPriorityFeePerGas:Be(this.maxPriorityFeePerGas),maxFeePerBlobGas:Be(this.maxFeePerBlobGas),nonce:c,signature:u,to:o,index:n,type:i,value:Be(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){let n=await this.getTransaction();n&&(e=n.blockNumber)}if(e==null)return null;let 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){let{tx:t,blockNumber:n}=await he({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){let n=e??1,s=t??0,i=f(this,ds),o=-1,a=i===-1,c=async()=>{if(a)return null;let{blockNumber:x,nonce:m}=await he({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(m<this.nonce){i=x;return}if(a)return null;let A=await this.getTransaction();if(!(A&&A.blockNumber!=null))for(o===-1&&(o=i-3,o<f(this,ds)&&(o=f(this,ds)));o<=x;){if(a)return null;let b=await this.provider.getBlock(o,!0);if(b==null)return;for(let E of b)if(E===this.hash)return;for(let E=0;E<b.length;E++){let T=await b.getTransaction(E);if(T.from===this.from&&T.nonce===this.nonce){if(a)return null;let v=await this.provider.getTransactionReceipt(T.hash);if(v==null||x-v.blockNumber+1<n)return;let O="replaced";T.data===this.data&&T.to===this.to&&T.value===this.value?O="repriced":T.data==="0x"&&T.from===T.to&&T.value===fg&&(O="cancelled"),w(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:O==="replaced"||O==="cancelled",reason:O,replacement:T.replaceableTransaction(i),hash:T.hash,receipt:v})}}o++}},l=x=>{if(x==null||x.status!==0)return x;w(!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 l(u);if(u){if(n===1||await u.confirmations()>=n)return l(u)}else if(await c(),n===0)return null;return await new Promise((x,m)=>{let A=[],b=()=>{A.forEach(T=>T())};if(A.push(()=>{a=!0}),s>0){let T=setTimeout(()=>{b(),m(Z("wait for transaction timeout","TIMEOUT"))},s);A.push(()=>{clearTimeout(T)})}let E=async T=>{if(await T.confirmations()>=n){b();try{x(l(T))}catch(v){m(v)}}};if(A.push(()=>{this.provider.off(this.hash,E)}),this.provider.on(this.hash,E),i>=0){let T=async()=>{try{await c()}catch(v){if(se(v,"TRANSACTION_REPLACED")){b(),m(v);return}}a||this.provider.once("block",T)};A.push(()=>{this.provider.off("block",T)}),this.provider.once("block",T)}})}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 w(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),dg(this)}reorderedEvent(e){return w(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),w(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),ug(this,e)}replaceableTransaction(e){p(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);let t=new Nd(this,this.provider);return h(t,ds,e),t}};ds=new WeakMap;var Vr=Nd;function Lw(r){return{orphan:"drop-block",hash:r.hash,number:r.number}}function ug(r,e){return{orphan:"reorder-transaction",tx:r,other:e}}function dg(r){return{orphan:"drop-transaction",tx:r}}function Nw(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}}}var Sn=class extends St{constructor(t,n,s){super(t,t.provider);g(this,"interface");g(this,"fragment");g(this,"args");let i=n.decodeEventLog(s,t.data,t.topics);N(this,{args:i,fragment:s,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}},ps=class extends St{constructor(t,n){super(t,t.provider);g(this,"error");N(this,{error:n})}},wa,Ea=class extends Rn{constructor(t,n,s){super(s,n);y(this,wa);h(this,wa,t)}get logs(){return super.logs.map(t=>{let n=t.topics.length?f(this,wa).getEvent(t.topics[0]):null;if(n)try{return new Sn(t,f(this,wa),n)}catch(s){return new ps(t,s)}return t})}};wa=new WeakMap;var zc,Ln=class extends Vr{constructor(t,n,s){super(s,n);y(this,zc);h(this,zc,t)}async wait(t,n){let s=await super.wait(t,n);return s==null?null:new Ea(f(this,zc),this.provider,s)}};zc=new WeakMap;var xs=class extends an{constructor(t,n,s,i){super(t,n,s);g(this,"log");N(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}},Bi=class extends xs{constructor(e,t,n,s,i){super(e,t,n,new Sn(i,e.interface,s));let o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);N(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}};var hg=BigInt(0);function mg(r){return r&&typeof r.call=="function"}function gg(r){return r&&typeof r.estimateGas=="function"}function tu(r){return r&&typeof r.resolveName=="function"}function bg(r){return r&&typeof r.sendTransaction=="function"}function yg(r){if(r!=null){if(tu(r))return r;if(r.provider)return r.provider}}var Yc,vd=class{constructor(e,t,n){y(this,Yc);g(this,"fragment");if(N(this,{fragment:t}),t.inputs.length<n.length)throw new Error("too many arguments");let s=Oi(e.runner,"resolveName"),i=tu(s)?s:null;h(this,Yc,(async function(){let o=await Promise.all(t.inputs.map((a,c)=>n[c]==null?null:a.walkAsync(n[c],(u,d)=>u==="address"?Array.isArray(d)?Promise.all(d.map(x=>xe(x,i))):xe(d,i):d)));return e.interface.encodeFilterTopics(t,o)})())}getTopicFilter(){return f(this,Yc)}};Yc=new WeakMap;function Oi(r,e){return r==null?null:typeof r[e]=="function"?r:r.provider&&typeof r.provider[e]=="function"?r.provider:null}function Ii(r){return r==null?null:r.provider||null}async function ru(r,e){let t=ue.dereference(r,"overrides");p(typeof t=="object","invalid overrides parameter","overrides",r);let n=kt(t);return p(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),p(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function Od(r,e,t){let n=Oi(r,"resolveName"),s=tu(n)?n:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=ue.dereference(c,a),a==="address"?xe(c,s):c))))}function vw(r){let e=async function(o){let a=await ru(o,["data"]);a.to=await r.getAddress(),a.from&&(a.from=await xe(a.from,yg(r.runner)));let c=r.interface,l=B(a.value||hg,"overrides.value")===hg,u=(a.data||"0x")==="0x";c.fallback&&!c.fallback.payable&&c.receive&&!u&&!l&&p(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),p(c.fallback||u,"cannot send data to receive-only contract","overrides.data",a.data);let d=c.receive||c.fallback&&c.fallback.payable;return p(d||l,"cannot send value to non-payable fallback","overrides.value",a.value),p(c.fallback||u,"cannot send data to receive-only contract","overrides.data",a.data),a},t=async function(o){let a=Oi(r.runner,"call");w(mg(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let c=await e(o);try{return await a.call(c)}catch(l){throw Kn(l)&&l.data?r.interface.makeError(l.data,c):l}},n=async function(o){let a=r.runner;w(bg(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let c=await a.sendTransaction(await e(o)),l=Ii(r.runner);return new Ln(r.interface,l,c)},s=async function(o){let a=Oi(r.runner,"estimateGas");return w(gg(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},i=async o=>await n(o);return N(i,{_contract:r,estimateGas:s,populateTransaction:e,send:n,staticCall:t}),i}function Bw(r,e){let t=function(...l){let u=r.interface.getFunction(e,l);return w(u,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:l}}),u},n=async function(...l){let u=t(...l),d={};if(u.inputs.length+1===l.length&&(d=await ru(l.pop()),d.from&&(d.from=await xe(d.from,yg(r.runner)))),u.inputs.length!==l.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");let x=await Od(r.runner,u.inputs,l);return Object.assign({},d,await he({to:r.getAddress(),data:r.interface.encodeFunctionData(u,x)}))},s=async function(...l){let u=await a(...l);return u.length===1?u[0]:u},i=async function(...l){let u=r.runner;w(bg(u),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let d=await u.sendTransaction(await n(...l)),x=Ii(r.runner);return new Ln(r.interface,x,d)},o=async function(...l){let u=Oi(r.runner,"estimateGas");return w(gg(u),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await u.estimateGas(await n(...l))},a=async function(...l){let u=Oi(r.runner,"call");w(mg(u),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let d=await n(...l),x="0x";try{x=await u.call(d)}catch(A){throw Kn(A)&&A.data?r.interface.makeError(A.data,d):A}let m=t(...l);return r.interface.decodeFunctionResult(m,x)},c=async(...l)=>t(...l).constant?await s(...l):await i(...l);return N(c,{name:r.interface.getFunctionName(e),_contract:r,_key:e,getFragment:t,estimateGas:o,populateTransaction:n,send:i,staticCall:s,staticCallResult:a}),Object.defineProperty(c,"fragment",{configurable:!1,enumerable:!0,get:()=>{let l=r.interface.getFunction(e);return w(l,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),l}}),c}function Iw(r,e){let t=function(...s){let i=r.interface.getEvent(e,s);return w(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:s}}),i},n=function(...s){return new vd(r,t(...s),s)};return N(n,{name:r.interface.getEventName(e),_contract:r,_key:e,getFragment:t}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{let s=r.interface.getEvent(e);return w(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),s}}),n}var eu=Symbol.for("_ethersInternal_contract"),Ag=new WeakMap;function Ow(r,e){Ag.set(r[eu],e)}function Lt(r){return Ag.get(r[eu])}function Cw(r){return r&&typeof r=="object"&&"getTopicFilter"in r&&typeof r.getTopicFilter=="function"&&r.fragment}async function Cd(r,e){let t,n=null;if(Array.isArray(e)){let i=function(o){if(V(o,32))return o;let a=r.interface.getEvent(o);return p(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?V(e,32)?t=[e]:(n=r.interface.getEvent(e),p(n,"unknown fragment","event",e),t=[n.topicHash]):Cw(e)?t=await e.getTopicFilter():"fragment"in e?(n=e.fragment,t=[n.topicHash]):p(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){let o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});let s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:n,tag:s,topics:t}}async function Kc(r,e){let{subs:t}=Lt(r);return t.get((await Cd(r,e)).tag)||null}async function pg(r,e,t){let n=Ii(r.runner);w(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:s,tag:i,topics:o}=await Cd(r,t),{addr:a,subs:c}=Lt(r),l=c.get(i);if(!l){let d={address:a||r,topics:o},x=E=>{let T=s;if(T==null)try{T=r.interface.getEvent(E.topics[0])}catch{}if(T){let v=T,O=s?r.interface.decodeEventLog(s,E.data,E.topics):[];Id(r,t,O,D=>new Bi(r,D,t,v,E))}else Id(r,t,[],v=>new xs(r,v,t,E))},m=[];l={tag:i,listeners:[],start:()=>{m.length||m.push(n.on(d,x))},stop:async()=>{if(m.length==0)return;let E=m;m=[],await Promise.all(E),n.off(d,x)}},c.set(i,l)}return l}var Bd=Promise.resolve();async function Pw(r,e,t,n){await Bd;let s=await Kc(r,e);if(!s)return!1;let i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{let c=Array.from(t);n&&c.push(n(a?null:o));try{o.call(r,...c)}catch{}return!a}),s.listeners.length===0&&(s.stop(),Lt(r).subs.delete(s.tag)),i>0}async function Id(r,e,t,n){try{await Bd}catch{}let s=Pw(r,e,t,n);return Bd=s,await s}var qf=["then"],xg;xg=eu;var $c=class $c{constructor(e,t,n,s){g(this,"target");g(this,"interface");g(this,"runner");g(this,"filters");g(this,xg);g(this,"fallback");p(typeof e=="string"||zo(e),"invalid value for Contract target","target",e),n==null&&(n=null);let i=En.from(t);N(this,{target:e,runner:n,interface:i}),Object.defineProperty(this,eu,{value:{}});let o,a=null,c=null;if(s){let d=Ii(n);c=new Ln(this.interface,d,s)}let l=new Map;if(typeof e=="string")if(V(e))a=e,o=Promise.resolve(e);else{let d=Oi(n,"resolveName");if(!tu(d))throw Z("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=d.resolveName(e).then(x=>{if(x==null)throw Z("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Lt(this).addr=x,x})}else o=e.getAddress().then(d=>{if(d==null)throw new Error("TODO");return Lt(this).addr=d,d});Ow(this,{addrPromise:o,addr:a,deployTx:c,subs:l});let u=new Proxy({},{get:(d,x,m)=>{if(typeof x=="symbol"||qf.indexOf(x)>=0)return Reflect.get(d,x,m);try{return this.getEvent(x)}catch(A){if(!se(A,"INVALID_ARGUMENT")||A.argument!=="key")throw A}},has:(d,x)=>qf.indexOf(x)>=0?Reflect.has(d,x):Reflect.has(d,x)||this.interface.hasEvent(String(x))});return N(this,{filters:u}),N(this,{fallback:i.receive||i.fallback?vw(this):null}),new Proxy(this,{get:(d,x,m)=>{if(typeof x=="symbol"||x in d||qf.indexOf(x)>=0)return Reflect.get(d,x,m);try{return d.getFunction(x)}catch(A){if(!se(A,"INVALID_ARGUMENT")||A.argument!=="key")throw A}},has:(d,x)=>typeof x=="symbol"||x in d||qf.indexOf(x)>=0?Reflect.has(d,x):d.interface.hasFunction(x)})}connect(e){return new $c(this.target,this.interface,e)}attach(e){return new $c(e,this.interface,this.runner)}async getAddress(){return await Lt(this).addrPromise}async getDeployedCode(){let e=Ii(this.runner);w(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){let e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;let n=Ii(this.runner);return w(n!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{let o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);n.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return Lt(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),Bw(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),Iw(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,n){t==null&&(t=0),n==null&&(n="latest");let{addr:s,addrPromise:i}=Lt(this),o=s||await i,{fragment:a,topics:c}=await Cd(this,e),l={address:o,topics:c,fromBlock:t,toBlock:n},u=Ii(this.runner);return w(u,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await u.getLogs(l)).map(d=>{let x=a;if(x==null)try{x=this.interface.getEvent(d.topics[0])}catch{}if(x)try{return new Sn(d,this.interface,x)}catch(m){return new ps(d,m)}return new St(d,u)})}async on(e,t){let n=await pg(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){let n=await pg(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await Id(this,e,t,null)}async listenerCount(e){if(e){let s=await Kc(this,e);return s?s.listeners.length:0}let{subs:t}=Lt(this),n=0;for(let{listeners:s}of t.values())n+=s.length;return n}async listeners(e){if(e){let s=await Kc(this,e);return s?s.listeners.map(({listener:i})=>i):[]}let{subs:t}=Lt(this),n=[];for(let{listeners:s}of t.values())n=n.concat(s.map(({listener:i})=>i));return n}async off(e,t){let n=await Kc(this,e);if(!n)return this;if(t){let 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(),Lt(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){let t=await Kc(this,e);if(!t)return this;t.stop(),Lt(this).subs.delete(t.tag)}else{let{subs:t}=Lt(this);for(let{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 $c{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)}},Nn=$c;function Uw(){return Nn}var ut=class extends Uw(){};var Wc=class r{constructor(e,t,n){g(this,"interface");g(this,"bytecode");g(this,"runner");let s=En.from(e);t instanceof Uint8Array?t=R(L(t)):(typeof t=="object"&&(t=t.object),t.startsWith("0x")||(t="0x"+t),t=R(L(t))),N(this,{bytecode:t,interface:s,runner:n||null})}attach(e){return new Nn(e,this.interface,this.runner)}async getDeployTransaction(...e){let t={},n=this.interface.deploy;if(n.inputs.length+1===e.length&&(t=await ru(e.pop())),n.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");let s=await Od(this.runner,n.inputs,e),i=_([this.bytecode,this.interface.encodeDeploy(s)]);return Object.assign({},t,{data:i})}async deploy(...e){let t=await this.getDeployTransaction(...e);w(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let n=await this.runner.sendTransaction(t),s=mi(n);return new Nn(s,this.interface,this.runner,n)}connect(e){return new r(this.interface,this.bytecode,e)}static fromSolidity(e,t){p(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));let n=e.abi,s="";return e.bytecode?s=e.bytecode:e.evm&&e.evm.bytecode&&(s=e.evm.bytecode),new this(n,s,t)}};function Pd(r){return r.match(/^ipfs:\/\/ipfs\//i)?r=r.substring(12):r.match(/^ipfs:\/\//i)?r=r.substring(7):p(!1,"unsupported IPFS format","link",r),`https://gateway.ipfs.io/ipfs/${r}`}var Sa=class{constructor(e){g(this,"name");N(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")}};var Eg=new RegExp("^(ipfs)://(.*)$","i"),wg=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Eg,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],ms,Ci,gs,Ta,nu,Tg,Ra=class Ra{constructor(e,t,n){y(this,gs);g(this,"provider");g(this,"address");g(this,"name");y(this,ms);y(this,Ci);N(this,{provider:e,address:t,name:n}),h(this,ms,null),h(this,Ci,new ut(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 f(this,ms)==null&&h(this,ms,(async()=>{try{return await f(this,Ci).supportsInterface("0x9061b923")}catch(e){if(se(e,"CALL_EXCEPTION"))return!1;throw h(this,ms,null),e}})()),await f(this,ms)}async getAddress(e){if(e==null&&(e=60),e===60)try{let i=await S(this,gs,Ta).call(this,"addr(bytes32)");return i==null||i===ur?null:i}catch(i){if(se(i,"CALL_EXCEPTION"))return null;throw i}if(e>=0&&e<2147483648){let i=e+2147483648,o=await S(this,gs,Ta).call(this,"addr(bytes32,uint)",[i]);if(V(o,20))return k(o)}let t=null;for(let i of this.provider.plugins)if(i instanceof Sa&&i.supportsCoinType(e)){t=i;break}if(t==null)return null;let n=await S(this,gs,Ta).call(this,"addr(bytes32,uint)",[e]);if(n==null||n==="0x")return null;let s=await t.decodeAddress(e,n);if(s!=null)return s;w(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){let t=await S(this,gs,Ta).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){let e=await S(this,gs,Ta).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;let t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){let s=t[1]==="e3010170"?"ipfs":"ipns",i=parseInt(t[4],16);if(t[5].length===i*2)return`${s}://${Ks("0x"+t[2])}`}let n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;w(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let e=[{type:"name",value:this.name}];try{let 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<wg.length;n++){let s=t.match(wg[n]);if(s==null)continue;let i=s[1].toLowerCase();switch(i){case"https":case"data":return e.push({type:"url",value:t}),{linkage:e,url:t};case"ipfs":{let o=Pd(t);return e.push({type:"ipfs",value:t}),e.push({type:"url",value:o}),{linkage:e,url:o}}case"erc721":case"erc1155":{let o=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:i,value:t});let a=await this.getAddress();if(a==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};let c=(s[2]||"").split("/");if(c.length!==2)return e.push({type:`!${i}caip`,value:s[2]||""}),{url:null,linkage:e};let l=c[1],u=new ut(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"){let b=await u.ownerOf(l);if(a!==b)return e.push({type:"!owner",value:b}),{url:null,linkage:e};e.push({type:"owner",value:b})}else if(i==="erc1155"){let b=await u.balanceOf(a,l);if(!b)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:b.toString()})}let d=await u[o](l);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}",Fe(l,32).substring(2)),e.push({type:"metadata-url-expanded",value:d})),d.match(/^ipfs:/i)&&(d=Pd(d)),e.push({type:"metadata-url",value:d});let x={},m=await new ae(d).send();m.assertOk();try{x=m.bodyJson}catch{try{e.push({type:"!metadata",value:m.bodyText})}catch{let T=m.body;return T&&e.push({type:"!metadata",value:R(T)}),{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 A=x.image;if(typeof A!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!A.match(/^(https:\/\/|data:)/i)){if(A.match(Eg)==null)return e.push({type:"!imageUrl-ipfs",value:A}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:A}),A=Pd(A)}return e.push({type:"url",value:A}),{linkage:e,url:A}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){let t=await e.getNetwork(),n=t.getPlugin("org.ethers.plugins.network.Ens");return w(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;let i=await S(s=Ra,nu,Tg).call(s,e,n);if(i!=null){let o=new Ra(e,i,t);return n!==t&&!await o.supportsWildcard()?null:o}n=n.split(".").slice(1).join(".")}}};ms=new WeakMap,Ci=new WeakMap,gs=new WeakSet,Ta=async function(e,t){t=(t||[]).slice();let n=f(this,Ci).interface;t.unshift(cs(this.name));let s=null;await this.supportsWildcard()&&(s=n.getFunction(e),w(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),t=[_c(this.name,255),n.encodeFunctionData(s,t)],e="resolve(bytes,bytes)"),t.push({enableCcipRead:!0});try{let i=await f(this,Ci)[e](...t);return s?n.decodeFunctionResult(s,i)[0]:i}catch(i){if(!se(i,"CALL_EXCEPTION"))throw i}return null},nu=new WeakSet,Tg=async function(e,t){let n=await Ra.getEnsAddress(e);try{let i=await new ut(n,["function resolver(bytes32) view returns (address)"],e).resolver(cs(t),{enableCcipRead:!0});return i===ur?null:i}catch(s){throw s}return null},y(Ra,nu);var bs=Ra;var Rg=BigInt(0);function j(r,e){return(function(t){return t==null?e:r(t)})}function jc(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 qc(r,e){return(t=>{let n={};for(let s in r){let i=s;if(e&&s in e&&!(i in t)){for(let o of e[s])if(o in t){i=o;break}}try{let o=r[s](t[i]);o!==void 0&&(n[s]=o)}catch(o){let a=o instanceof Error?o.message:"not-an-error";w(!1,`invalid value for value.${s} (${a})`,"BAD_DATA",{value:t})}}return n})}function Fw(r){switch(r){case!0:case"true":return!0;case!1:case"false":return!1}p(!1,`invalid boolean; ${JSON.stringify(r)}`,"value",r)}function La(r){return p(V(r,!0),"invalid data","value",r),r}function He(r){return p(V(r,32),"invalid hash","value",r),r}var Mw=qc({address:k,blockHash:He,blockNumber:M,data:La,index:M,removed:j(Fw,!1),topics:jc(He),transactionHash:He,transactionIndex:M},{index:["logIndex"]});function Sg(r){return Mw(r)}var kw=qc({hash:j(He),parentHash:He,parentBeaconBlockRoot:j(He,null),number:M,timestamp:M,nonce:j(La),difficulty:B,gasLimit:B,gasUsed:B,stateRoot:j(He,null),receiptsRoot:j(He,null),blobGasUsed:j(B,null),excessBlobGas:j(B,null),miner:j(k),prevRandao:j(He,null),extraData:La,baseFeePerGas:j(B)},{prevRandao:["mixHash"]});function Lg(r){let e=kw(r);return e.transactions=r.transactions.map(t=>typeof t=="string"?t:Ud(t)),e}var Jw=qc({transactionIndex:M,blockNumber:M,transactionHash:He,address:k,topics:jc(He),data:La,index:M,blockHash:He},{index:["logIndex"]});function Dw(r){return Jw(r)}var Gw=qc({to:j(k,null),from:j(k,null),contractAddress:j(k,null),index:M,root:j(R),gasUsed:B,blobGasUsed:j(B,null),logsBloom:j(La),blockHash:He,hash:He,logs:jc(Dw),blockNumber:M,cumulativeGasUsed:B,effectiveGasPrice:j(B),blobGasPrice:j(B,null),status:j(M),type:j(M,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function Ng(r){return Gw(r)}function Ud(r){r.to&&B(r.to)===Rg&&(r.to="0x0000000000000000000000000000000000000000");let e=qc({hash:He,index:j(M,void 0),type:t=>t==="0x"||t==null?0:M(t),accessList:j(_e,null),blobVersionedHashes:j(jc(He,!0),null),authorizationList:j(jc(t=>{let n;if(t.signature)n=t.signature;else{let s=t.yParity;s==="0x1b"?s=0:s==="0x1c"&&(s=1),n=Object.assign({},t,{yParity:s})}return{address:k(t.address),chainId:B(t.chainId),nonce:B(t.nonce),signature:ve.from(n)}},!1),null),blockHash:j(He,null),blockNumber:j(M,null),transactionIndex:j(M,null),from:k,gasPrice:j(B),maxPriorityFeePerGas:j(B),maxFeePerGas:j(B),maxFeePerBlobGas:j(B,null),gasLimit:B,to:j(k,null),value:B,nonce:M,data:La,creates:j(k,null),chainId:j(B,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(r);if(e.to==null&&e.creates==null&&(e.creates=mi(e)),(r.type===1||r.type===2)&&r.accessList==null&&(e.accessList=[]),r.signature?e.signature=ve.from(r.signature):e.signature=ve.from(r),e.chainId==null){let t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&B(e.blockHash)===Rg&&(e.blockHash=null),e}var _w="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",wr=class r{constructor(e){g(this,"name");N(this,{name:e})}clone(){return new r(this.name)}},ys=class r extends wr{constructor(t,n){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);g(this,"effectiveBlock");g(this,"txBase");g(this,"txCreate");g(this,"txDataZero");g(this,"txDataNonzero");g(this,"txAccessListStorageKey");g(this,"txAccessListAddress");let s={effectiveBlock:t};function i(o,a){let c=(n||{})[o];c==null&&(c=a),p(typeof c=="number",`invalud value for ${o}`,"costs",n),s[o]=c}i("txBase",21e3),i("txCreate",32e3),i("txDataZero",4),i("txDataNonzero",16),i("txAccessListStorageKey",1900),i("txAccessListAddress",2400),N(this,s)}clone(){return new r(this.effectiveBlock,this)}},As=class r extends wr{constructor(t,n){super("org.ethers.plugins.network.Ens");g(this,"address");g(this,"targetNetwork");N(this,{address:t||_w,targetNetwork:n??1})}clone(){return new r(this.address,this.targetNetwork)}},Pi,Fd=class Fd extends wr{constructor(t){super("org.ethers.plugins.network.FeeData");y(this,Pi);h(this,Pi,t)}get feeDataFunc(){return f(this,Pi)}async getFeeData(t){return await f(this,Pi).call(this,t)}clone(){return new Fd(f(this,Pi))}};Pi=new WeakMap;var el=Fd,tl,rl,Ui=class extends wr{constructor(t,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");y(this,tl);y(this,rl);h(this,tl,t),h(this,rl,n)}get url(){return f(this,tl)}get processFunc(){return f(this,rl)}clone(){return this}};tl=new WeakMap,rl=new WeakMap;var Md=new Map,va,Ba,ws,Na=class Na{constructor(e,t){y(this,va);y(this,Ba);y(this,ws);h(this,va,e),h(this,Ba,B(t)),h(this,ws,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return f(this,va)}set name(e){h(this,va,e)}get chainId(){return f(this,Ba)}set chainId(e){h(this,Ba,B(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===B(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===B(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===B(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(f(this,ws).values())}attachPlugin(e){if(f(this,ws).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return f(this,ws).set(e.name,e.clone()),this}getPlugin(e){return f(this,ws).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){let e=new Na(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){let t=this.getPlugin("org.ethers.plugins.network.GasCost")||new ys,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){let s=_e(e.accessList);for(let i in s)n+=t.txAccessListAddress+t.txAccessListStorageKey*s[i].storageKeys.length}return n}static from(e){if(Xw(),e==null)return Na.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){let t=Md.get(e);if(t)return t();if(typeof e=="bigint")return new Na("unknown",e);p(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){p(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);let t=new Na(e.name,e.chainId);return(e.ensAddress||e.ensNetwork!=null)&&t.attachPlugin(new As(e.ensAddress,e.ensNetwork)),t}p(!1,"invalid network","network",e)}static register(e,t){typeof e=="number"&&(e=BigInt(e));let n=Md.get(e);n&&p(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",e),Md.set(e,t)}};va=new WeakMap,Ba=new WeakMap,ws=new WeakMap;var $=Na;function vg(r,e){let t=String(r);if(!t.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${r}`);let 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 Bg(r){return new Ui(r,async(e,t,n)=>{n.setHeader("User-Agent","ethers");let s;try{let[i,o]=await Promise.all([n.send(),e()]);s=i;let a=s.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:vg(a.maxFee,9),maxPriorityFeePerGas:vg(a.maxPriorityFee,9)}}catch(i){w(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:s,error:i})}})}var Ig=!1;function Xw(){if(Ig)return;Ig=!0;function r(e,t,n){let s=function(){let i=new $(e,t);return n.ensNetwork!=null&&i.attachPlugin(new As(null,n.ensNetwork)),i.attachPlugin(new ys),(n.plugins||[]).forEach(o=>{i.attachPlugin(o)}),i};$.register(e,s),$.register(t,s),n.altNames&&n.altNames.forEach(i=>{$.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:[Bg("https://gasstation.polygon.technology/v2")]}),r("matic-amoy",80002,{}),r("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Bg("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 kd(r){return JSON.parse(JSON.stringify(r))}var vn,Jt,Es,Qr,Ia,su,iu=class{constructor(e){y(this,Ia);y(this,vn);y(this,Jt);y(this,Es);y(this,Qr);h(this,vn,e),h(this,Jt,null),h(this,Es,4e3),h(this,Qr,-2)}get pollingInterval(){return f(this,Es)}set pollingInterval(e){h(this,Es,e)}start(){f(this,Jt)||(h(this,Jt,f(this,vn)._setTimeout(S(this,Ia,su).bind(this),f(this,Es))),S(this,Ia,su).call(this))}stop(){f(this,Jt)&&(f(this,vn)._clearTimeout(f(this,Jt)),h(this,Jt,null))}pause(e){this.stop(),e&&h(this,Qr,-2)}resume(){this.start()}};vn=new WeakMap,Jt=new WeakMap,Es=new WeakMap,Qr=new WeakMap,Ia=new WeakSet,su=async function(){try{let e=await f(this,vn).getBlockNumber();if(f(this,Qr)===-2){h(this,Qr,e);return}if(e!==f(this,Qr)){for(let t=f(this,Qr)+1;t<=e;t++){if(f(this,Jt)==null)return;await f(this,vn).emit("block",t)}h(this,Qr,e)}}catch{}f(this,Jt)!=null&&h(this,Jt,f(this,vn)._setTimeout(S(this,Ia,su).bind(this),f(this,Es)))};var Fi,Mi,Ts,nl=class{constructor(e){y(this,Fi);y(this,Mi);y(this,Ts);h(this,Fi,e),h(this,Ts,!1),h(this,Mi,t=>{this._poll(t,f(this,Fi))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){f(this,Ts)||(h(this,Ts,!0),f(this,Mi).call(this,-2),f(this,Fi).on("block",f(this,Mi)))}stop(){f(this,Ts)&&(h(this,Ts,!1),f(this,Fi).off("block",f(this,Mi)))}pause(e){this.stop()}resume(){this.start()}};Fi=new WeakMap,Mi=new WeakMap,Ts=new WeakMap;var Oa,Bn,ou=class extends nl{constructor(t,n){super(t);y(this,Oa);y(this,Bn);h(this,Oa,n),h(this,Bn,-2)}pause(t){t&&h(this,Bn,-2),super.pause(t)}async _poll(t,n){let s=await n.getBlock(f(this,Oa));s!=null&&(f(this,Bn)===-2?h(this,Bn,s.number):s.number>f(this,Bn)&&(n.emit(f(this,Oa),s.number),h(this,Bn,s.number)))}};Oa=new WeakMap,Bn=new WeakMap;var sl,au=class extends nl{constructor(t,n){super(t);y(this,sl);h(this,sl,kd(n))}async _poll(t,n){throw new Error("@TODO")}};sl=new WeakMap;var Ca,cu=class extends nl{constructor(t,n){super(t);y(this,Ca);h(this,Ca,n)}async _poll(t,n){let s=await n.getTransactionReceipt(f(this,Ca));s&&n.emit(f(this,Ca),s)}};Ca=new WeakMap;var In,Pa,Ua,Rs,Dt,lu,Og,Ss=class{constructor(e,t){y(this,lu);y(this,In);y(this,Pa);y(this,Ua);y(this,Rs);y(this,Dt);h(this,In,e),h(this,Pa,kd(t)),h(this,Ua,S(this,lu,Og).bind(this)),h(this,Rs,!1),h(this,Dt,-2)}start(){f(this,Rs)||(h(this,Rs,!0),f(this,Dt)===-2&&f(this,In).getBlockNumber().then(e=>{h(this,Dt,e)}),f(this,In).on("block",f(this,Ua)))}stop(){f(this,Rs)&&(h(this,Rs,!1),f(this,In).off("block",f(this,Ua)))}pause(e){this.stop(),e&&h(this,Dt,-2)}resume(){this.start()}};In=new WeakMap,Pa=new WeakMap,Ua=new WeakMap,Rs=new WeakMap,Dt=new WeakMap,lu=new WeakSet,Og=async function(e){if(f(this,Dt)===-2)return;let t=kd(f(this,Pa));t.fromBlock=f(this,Dt)+1,t.toBlock=e;let n=await f(this,In).getLogs(t);if(n.length===0){f(this,Dt)<e-60&&h(this,Dt,e-60);return}for(let s of n)f(this,In).emit(f(this,Pa),s),h(this,Dt,s.blockNumber)};var Hw=BigInt(2),Vw=10;function fu(r){return r&&typeof r.then=="function"}function uu(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)){let s=Object.keys(n);return s.sort(),s.reduce((i,o)=>(i[o]=n[o],i),{})}return n})}var Er=class{constructor(e){g(this,"name");N(this,{name:e})}start(){}stop(){}pause(e){}resume(){}};function Qw(r){return JSON.parse(JSON.stringify(r))}function Gd(r){return r=Array.from(new Set(r).values()),r.sort(),r}async function Jd(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(V(r,32)){let t=r.toLowerCase();return{type:"transaction",tag:uu("tx",{hash:t}),hash:t}}if(r.orphan){let t=r;return{type:"orphan",tag:uu("orphan",t),filter:Qw(t)}}if(r.address||r.topics){let t=r,n={topics:(t.topics||[]).map(s=>s==null?null:Array.isArray(s)?Gd(s.map(i=>i.toLowerCase())):s.toLowerCase())};if(t.address){let s=[],i=[],o=a=>{V(a)?s.push(a):i.push((async()=>{s.push(await xe(a,e))})())};Array.isArray(t.address)?t.address.forEach(o):o(t.address),i.length&&await Promise.all(i),n.address=Gd(s.map(a=>a.toLowerCase()))}return{filter:n,tag:uu("event",n),type:"event"}}p(!1,"unknown ProviderEvent","event",r)}function Dd(){return new Date().getTime()}var Zw={cacheTimeout:250,pollingInterval:4e3},je,Ls,qe,Fa,vt,ki,Ns,On,al,Gt,Ma,ka,z,Nt,_d,Xd,il,Hd,ol,du,_t=class{constructor(e,t){y(this,z);y(this,je);y(this,Ls);y(this,qe);y(this,Fa);y(this,vt);y(this,ki);y(this,Ns);y(this,On);y(this,al);y(this,Gt);y(this,Ma);y(this,ka);if(h(this,ka,Object.assign({},Zw,t||{})),e==="any")h(this,ki,!0),h(this,vt,null);else if(e){let n=$.from(e);h(this,ki,!1),h(this,vt,Promise.resolve(n)),setTimeout(()=>{this.emit("network",n,null)},0)}else h(this,ki,!1),h(this,vt,null);h(this,On,-1),h(this,Ns,new Map),h(this,je,new Map),h(this,Ls,new Map),h(this,qe,null),h(this,Fa,!1),h(this,al,1),h(this,Gt,new Map),h(this,Ma,!1)}get pollingInterval(){return f(this,ka).pollingInterval}get provider(){return this}get plugins(){return Array.from(f(this,Ls).values())}attachPlugin(e){if(f(this,Ls).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return f(this,Ls).set(e.name,e.connect(this)),this}getPlugin(e){return f(this,Ls).get(e)||null}get disableCcipRead(){return f(this,Ma)}set disableCcipRead(e){h(this,Ma,!!e)}async ccipReadFetch(e,t,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;let s=e.to.toLowerCase(),i=t.toLowerCase(),o=[];for(let a=0;a<n.length;a++){let c=n[a],l=c.replace("{sender}",s).replace("{data}",i),u=new ae(l);c.indexOf("{data}")===-1&&(u.body={data:i,sender:s}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:u,index:a,urls:n});let d="unknown error",x;try{x=await u.send()}catch(m){o.push(m.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:{error:m}});continue}try{let m=x.bodyJson;if(m.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:u,result:m}),m.data;m.message&&(d=m.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:m})}catch{}w(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}}),o.push(d)}w(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:o}})}_wrapBlock(e,t){return new vi(Lg(e),this)}_wrapLog(e,t){return new St(Sg(e),this)}_wrapTransactionReceipt(e,t){return new Rn(Ng(e),this)}_wrapTransactionResponse(e,t){return new Vr(Ud(e),this)}_detectNetwork(){w(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){w(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){let e=M(await S(this,z,Nt).call(this,{method:"getBlockNumber"}),"%response");return f(this,On)>=0&&h(this,On,e),e}_getAddress(e){return xe(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(V(e))return V(e,32)?e:Pe(e);if(typeof e=="bigint"&&(e=M(e,"blockTag")),typeof e=="number")return e>=0?Pe(e):f(this,On)>=0?Pe(f(this,On)+e):this.getBlockNumber().then(t=>Pe(t+e));p(!1,"invalid blockTag","blockTag",e)}_getFilter(e){let t=(e.topics||[]).map(c=>c==null?null:Array.isArray(c)?Gd(c.map(l=>l.toLowerCase())):c.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,s=(c,l,u)=>{let d;switch(c.length){case 0:break;case 1:d=c[0];break;default:c.sort(),d=c}if(n&&(l!=null||u!=null))throw new Error("invalid filter");let x={};return d&&(x.address=d),t.length&&(x.topics=t),l&&(x.fromBlock=l),u&&(x.toBlock=u),n&&(x.blockHash=n),x},i=[];if(e.address)if(Array.isArray(e.address))for(let c of e.address)i.push(this._getAddress(c));else i.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.toBlock)),i.filter(c=>typeof c!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(i),o,a]).then(c=>s(c[0],c[1],c[2])):s(i,o,a)}_getTransactionRequest(e){let t=kt(e),n=[];if(["to","from"].forEach(s=>{if(t[s]==null)return;let i=xe(t[s],this);fu(i)?n.push((async function(){t[s]=await i})()):t[s]=i}),t.blockTag!=null){let s=this._getBlockTag(t.blockTag);fu(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(f(this,vt)==null){let s=(async()=>{try{let i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw f(this,vt)===s&&h(this,vt,null),i}})();return h(this,vt,s),(await s).clone()}let e=f(this,vt),[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(f(this,ki)?(this.emit("network",n,t),f(this,vt)===e&&h(this,vt,Promise.resolve(n))):w(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){let e=await this.getNetwork(),t=async()=>{let{_block:s,gasPrice:i,priorityFee:o}=await he({_block:S(this,z,Hd).call(this,"latest",!1),gasPrice:(async()=>{try{let u=await S(this,z,Nt).call(this,{method:"getGasPrice"});return B(u,"%response")}catch{}return null})(),priorityFee:(async()=>{try{let u=await S(this,z,Nt).call(this,{method:"getPriorityFee"});return B(u,"%response")}catch{}return null})()}),a=null,c=null,l=this._wrapBlock(s,e);return l&&l.baseFeePerGas&&(c=o??BigInt("1000000000"),a=l.baseFeePerGas*Hw+c),new hs(i,a,c)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){let s=new ae(n.url),i=await n.processFunc(t,this,s);return new hs(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return fu(t)&&(t=await t),B(await S(this,z,Nt).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){let{tx:t,blockTag:n}=await he({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await S(this,z,Xd).call(this,S(this,z,_d).call(this,t,n,e.enableCcipRead?0:-1))}async getBalance(e,t){return B(await S(this,z,il).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return M(await S(this,z,il).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return R(await S(this,z,il).call(this,{method:"getCode"},e,t))}async getStorage(e,t,n){let s=B(t,"position");return R(await S(this,z,il).call(this,{method:"getStorage",position:s},e,n))}async broadcastTransaction(e){let{blockNumber:t,hash:n,network:s}=await he({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),i=Rt.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){let{network:n,params:s}=await he({network:this.getNetwork(),params:S(this,z,Hd).call(this,e,!!t)});return s==null?null:this._wrapBlock(s,n)}async getTransaction(e){let{network:t,params:n}=await he({network:this.getNetwork(),params:S(this,z,Nt).call(this,{method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){let{network:t,params:n}=await he({network:this.getNetwork(),params:S(this,z,Nt).call(this,{method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){let s=await S(this,z,Nt).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){let{result:t}=await he({network:this.getNetwork(),result:S(this,z,Nt).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:R(t)}async getLogs(e){let t=this._getFilter(e);fu(t)&&(t=await t);let{network:n,params:s}=await he({network:this.getNetwork(),params:S(this,z,Nt).call(this,{method:"getLogs",filter:t})});return s.map(i=>this._wrapLog(i,n))}_getProvider(e){w(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await bs.fromName(this,e)}async getAvatar(e){let t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){let t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=k(e);let t=cs(e.substring(2).toLowerCase()+".addr.reverse");try{let n=await bs.getEnsAddress(this),i=await new ut(n,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(i==null||i===ur)return null;let a=await new ut(i,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(a)!==e?null:a}catch(n){if(se(n,"BAD_DATA")&&n.value==="0x"||se(n,"CALL_EXCEPTION"))return null;throw n}return null}async waitForTransaction(e,t,n){let s=t??1;return s===0?this.getTransactionReceipt(e):new Promise(async(i,o)=>{let a=null,c=(async l=>{try{let u=await this.getTransactionReceipt(e);if(u!=null&&l-u.blockNumber+1>=s){i(u),a&&(clearTimeout(a),a=null);return}}catch(u){console.log("EEE",u)}this.once("block",c)});n!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",c),o(Z("timeout","TIMEOUT",{reason:"timeout"})))},n)),c(await this.getBlockNumber())})}async waitForBlock(e){w(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){let t=f(this,Gt).get(e);t&&(t.timer&&clearTimeout(t.timer),f(this,Gt).delete(e))}_setTimeout(e,t){t==null&&(t=0);let n=tn(this,al)._++,s=()=>{f(this,Gt).delete(n),e()};if(this.paused)f(this,Gt).set(n,{timer:null,func:s,time:t});else{let i=setTimeout(s,t);f(this,Gt).set(n,{timer:i,func:s,time:Dd()})}return n}_forEachSubscriber(e){for(let t of f(this,je).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new Er(e.type);case"block":{let t=new iu(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new ou(this,e.type);case"event":return new Ss(this,e.filter);case"transaction":return new cu(this,e.hash);case"orphan":return new au(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(let n of f(this,je).values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),f(this,qe)!=null&&t.pause(f(this,qe));break}}async on(e,t){let n=await S(this,z,du).call(this,e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,f(this,qe)!=null&&n.subscriber.pause(f(this,qe))),this}async once(e,t){let n=await S(this,z,du).call(this,e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,f(this,qe)!=null&&n.subscriber.pause(f(this,qe))),this}async emit(e,...t){let n=await S(this,z,ol).call(this,e,t);if(!n||n.listeners.length===0)return!1;let s=n.listeners.length;return n.listeners=n.listeners.filter(({listener:i,once:o})=>{let a=new an(this,o?null:i,e);try{i.call(this,...t,a)}catch{}return!o}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),f(this,je).delete(n.tag)),s>0}async listenerCount(e){if(e){let n=await S(this,z,ol).call(this,e);return n?n.listeners.length:0}let t=0;for(let{listeners:n}of f(this,je).values())t+=n.length;return t}async listeners(e){if(e){let n=await S(this,z,ol).call(this,e);return n?n.listeners.map(({listener:s})=>s):[]}let t=[];for(let{listeners:n}of f(this,je).values())t=t.concat(n.map(({listener:s})=>s));return t}async off(e,t){let n=await S(this,z,ol).call(this,e);if(!n)return this;if(t){let 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(),f(this,je).delete(n.tag)),this}async removeAllListeners(e){if(e){let{tag:t,started:n,subscriber:s}=await S(this,z,du).call(this,e);n&&s.stop(),f(this,je).delete(t)}else for(let[t,{started:n,subscriber:s}]of f(this,je))n&&s.stop(),f(this,je).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 f(this,Fa)}destroy(){this.removeAllListeners();for(let e of f(this,Gt).keys())this._clearTimeout(e);h(this,Fa,!0)}get paused(){return f(this,qe)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(h(this,On,-1),f(this,qe)!=null){if(f(this,qe)==!!e)return;w(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),h(this,qe,!!e);for(let t of f(this,Gt).values())t.timer&&clearTimeout(t.timer),t.time=Dd()-t.time}resume(){if(f(this,qe)!=null){this._forEachSubscriber(e=>e.resume()),h(this,qe,null);for(let e of f(this,Gt).values()){let t=e.time;t<0&&(t=0),e.time=Dd(),setTimeout(e.func,t)}}}};je=new WeakMap,Ls=new WeakMap,qe=new WeakMap,Fa=new WeakMap,vt=new WeakMap,ki=new WeakMap,Ns=new WeakMap,On=new WeakMap,al=new WeakMap,Gt=new WeakMap,Ma=new WeakMap,ka=new WeakMap,z=new WeakSet,Nt=async function(e){let t=f(this,ka).cacheTimeout;if(t<0)return await this._perform(e);let n=uu(e.method,e),s=f(this,Ns).get(n);return s||(s=this._perform(e),f(this,Ns).set(n,s),setTimeout(()=>{f(this,Ns).get(n)===s&&f(this,Ns).delete(n)},t)),await s},_d=async function(e,t,n){w(n<Vw,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:t,enableCcipRead:!0})});let s=kt(e);try{return R(await this._perform({method:"call",transaction:s,blockTag:t}))}catch(i){if(!this.disableCcipRead&&Kn(i)&&i.data&&n>=0&&t==="latest"&&s.to!=null&&ee(i.data,0,4)==="0x556f1830"){let o=i.data,a=await xe(s.to,this),c;try{c=Ww(ee(i.data,4))}catch(d){w(!1,d.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:s,info:{data:o}})}w(c.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:s,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:c.errorArgs}});let l=await this.ccipReadFetch(s,c.calldata,c.urls);w(l!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:s,info:{data:i.data,errorArgs:c.errorArgs}});let u={to:a,data:_([c.selector,Yw([l,c.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:u});try{let d=await S(this,z,_d).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}},Xd=async function(e){let{value:t}=await he({network:this.getNetwork(),value:e});return t},il=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 S(this,z,Xd).call(this,S(this,z,Nt).call(this,Object.assign(e,{address:s,blockTag:i})))},Hd=async function(e,t){if(V(e,32))return await S(this,z,Nt).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await S(this,z,Nt).call(this,{method:"getBlock",blockTag:n,includeTransactions:t})},ol=async function(e,t){let n=await Jd(e,this);return n.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(n=await Jd({orphan:"drop-log",log:t[0]},this)),f(this,je).get(n.tag)||null},du=async function(e){let t=await Jd(e,this),n=t.tag,s=f(this,je).get(n);return s||(s={subscriber:this._getSubscriber(t),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},f(this,je).set(n,s)),s};function zw(r,e){try{let t=Vd(r,e);if(t)return Le(t)}catch{}return null}function Vd(r,e){if(r==="0x")return null;try{let t=M(ee(r,e,e+32)),n=M(ee(r,t,t+32));return ee(r,t+32,t+32+n)}catch{}return null}function Cg(r){let e=te(r);if(e.length>32)throw new Error("internal; should not happen");let t=new Uint8Array(32);return t.set(e,32-e.length),t}function Kw(r){if(r.length%32===0)return r;let e=new Uint8Array(Math.ceil(r.length/32)*32);return e.set(r),e}var $w=new Uint8Array([]);function Yw(r){let e=[],t=0;for(let n=0;n<r.length;n++)e.push($w),t+=32;for(let n=0;n<r.length;n++){let s=L(r[n]);e[n]=Cg(t),e.push(Cg(s.length)),e.push(Kw(s)),t+=32+Math.ceil(s.length/32)*32}return _(e)}var Pg="0x0000000000000000000000000000000000000000000000000000000000000000";function Ww(r){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};w(ct(r)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let t=ee(r,0,32);w(ee(t,0,12)===ee(Pg,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=ee(t,12);try{let n=[],s=M(ee(r,32,64)),i=M(ee(r,s,s+32)),o=ee(r,s+32);for(let a=0;a<i;a++){let c=zw(o,a*32);if(c==null)throw new Error("abort");n.push(c)}e.urls=n}catch{w(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let n=Vd(r,64);if(n==null)throw new Error("abort");e.calldata=n}catch{w(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}w(ee(r,100,128)===ee(Pg,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=ee(r,96,100);try{let n=Vd(r,128);if(n==null)throw new Error("abort");e.extraData=n}catch{w(!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 Ji(r,e){if(r.provider)return r.provider;w(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function Ug(r,e){let t=kt(e);if(t.to!=null&&(t.to=xe(t.to,r)),t.from!=null){let n=t.from;t.from=Promise.all([r.getAddress(),xe(n,r)]).then(([s,i])=>(p(s.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),s))}else t.from=r.getAddress();return await he(t)}var Xt=class{constructor(e){g(this,"provider");N(this,{provider:e||null})}async getNonce(e){return Ji(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await Ug(this,e)}async populateTransaction(e){let t=Ji(this,"populateTransaction"),n=await Ug(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));let s=await this.provider.getNetwork();if(n.chainId!=null){let o=B(n.chainId);p(o===s.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=s.chainId;let i=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||i)?p(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&i&&p(!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){let o=await t.getFeeData();w(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice)}else{let o=await t.getFeeData();if(n.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(n.authorizationList&&n.authorizationList.length?n.type=4:n.type=2,n.gasPrice!=null){let a=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=a,n.maxPriorityFeePerGas=a}else n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(w(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice),n.type=0):w(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(n.type===2||n.type===3||n.type===4)&&(n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await he(n)}async populateAuthorization(e){let t=Object.assign({},e);return t.chainId==null&&(t.chainId=(await Ji(this,"getNetwork").getNetwork()).chainId),t.nonce==null&&(t.nonce=await this.getNonce()),t}async estimateGas(e){return Ji(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return Ji(this,"call").call(await this.populateCall(e))}async resolveName(e){return await Ji(this,"resolveName").resolveName(e)}async sendTransaction(e){let t=Ji(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;let s=Rt.from(n);return await t.broadcastTransaction(await this.signTransaction(s))}authorize(e){w(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}},Ja,hu,Qd=class Qd extends Xt{constructor(t,n){super(n);y(this,Ja);g(this,"address");N(this,{address:t})}async getAddress(){return this.address}connect(t){return new Qd(this.address,t)}async signTransaction(t){S(this,Ja,hu).call(this,"transactions","signTransaction")}async signMessage(t){S(this,Ja,hu).call(this,"messages","signMessage")}async signTypedData(t,n,s){S(this,Ja,hu).call(this,"typed-data","signTypedData")}};Ja=new WeakSet,hu=function(t,n){w(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:n})};var Di=Qd;var Fg=new Set;function Ve(r){Fg.has(r)||(Fg.add(r),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${r} (this message will not be repeated)`),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.org/api-keys/"),console.log("=========================="))}function jw(r){return JSON.parse(JSON.stringify(r))}var ot,Zr,Gi,vs,_i,Da,Bs,Zd,zd,pu=class{constructor(e){y(this,Bs);y(this,ot);y(this,Zr);y(this,Gi);y(this,vs);y(this,_i);y(this,Da);h(this,ot,e),h(this,Zr,null),h(this,Gi,S(this,Bs,Zd).bind(this)),h(this,vs,!1),h(this,_i,null),h(this,Da,!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(){f(this,vs)||(h(this,vs,!0),S(this,Bs,Zd).call(this,-2))}stop(){f(this,vs)&&(h(this,vs,!1),h(this,Da,!0),S(this,Bs,zd).call(this),f(this,ot).off("block",f(this,Gi)))}pause(e){e&&S(this,Bs,zd).call(this),f(this,ot).off("block",f(this,Gi))}resume(){this.start()}};ot=new WeakMap,Zr=new WeakMap,Gi=new WeakMap,vs=new WeakMap,_i=new WeakMap,Da=new WeakMap,Bs=new WeakSet,Zd=async function(e){try{f(this,Zr)==null&&h(this,Zr,this._subscribe(f(this,ot)));let t=null;try{t=await f(this,Zr)}catch(i){if(!se(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(t==null){h(this,Zr,null),f(this,ot)._recoverSubscriber(this,this._recover(f(this,ot)));return}let n=await f(this,ot).getNetwork();if(f(this,_i)||h(this,_i,n),f(this,_i).chainId!==n.chainId)throw new Error("chaid changed");if(f(this,Da))return;let s=await f(this,ot).send("eth_getFilterChanges",[t]);await this._emitResults(f(this,ot),s)}catch(t){console.log("@TODO",t)}f(this,ot).once("block",f(this,Gi))},zd=function(){let e=f(this,Zr);e&&(h(this,Zr,null),e.then(t=>{f(this,ot).destroyed||f(this,ot).send("eth_uninstallFilter",[t])}))};var Xi,xu=class extends pu{constructor(t,n){super(t);y(this,Xi);h(this,Xi,jw(n))}_recover(t){return new Ss(t,f(this,Xi))}async _subscribe(t){return await t.send("eth_newFilter",[f(this,Xi)])}async _emitResults(t,n){for(let s of n)t.emit(f(this,Xi),t._wrapLog(s,t._network))}};Xi=new WeakMap;var mu=class extends pu{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(let n of t)e.emit("pending",n)}};var qw="bigint,boolean,function,number,string,symbol".split(/,/g);function gu(r){if(r==null||qw.indexOf(typeof r)>=0||typeof r.getAddress=="function")return r;if(Array.isArray(r))return r.map(gu);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 e8(r){return new Promise(e=>{setTimeout(e,r)})}function Ga(r){return r&&r.toLowerCase()}function Mg(r){return r&&typeof r.pollingInterval=="number"}var kg={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3},Os=class extends Xt{constructor(t,n){super(t);g(this,"address");n=k(n),N(this,{address:n})}connect(t){w(!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){let n=gu(t),s=[];if(n.from){let o=n.from;s.push((async()=>{let a=await xe(o,this.provider);p(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=a})())}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){let o=n.to;s.push((async()=>{n.to=await xe(o,this.provider)})())}s.length&&await Promise.all(s);let i=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[i])}async sendTransaction(t){let n=await this.provider.getBlockNumber(),s=await this.sendUncheckedTransaction(t);return await new Promise((i,o)=>{let a=[1e3,100],c=0,l=async()=>{try{let u=await this.provider.getTransaction(s);if(u!=null){i(u.replaceableTransaction(n));return}}catch(u){if(se(u,"CANCELLED")||se(u,"BAD_DATA")||se(u,"NETWORK_ERROR")||se(u,"UNSUPPORTED_OPERATION")){u.info==null&&(u.info={}),u.info.sendTransactionHash=s,o(u);return}if(se(u,"INVALID_ARGUMENT")&&(c++,u.info==null&&(u.info={}),u.info.sendTransactionHash=s,c>10)){o(u);return}this.provider.emit("error",Z("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:u}))}this.provider._setTimeout(()=>{l()},a.pop()||4e3)};l()})}async signTransaction(t){let n=gu(t);if(n.from){let i=await xe(n.from,this.provider);p(i!=null&&i.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=i}else n.from=this.address;let s=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[s])}async signMessage(t){let n=typeof t=="string"?re(t):t;return await this.provider.send("personal_sign",[R(n),this.address.toLowerCase()])}async signTypedData(t,n,s){let i=gu(s),o=await Ut.resolveNames(t,n,i,async a=>{let c=await xe(a);return p(c!=null,"TypedData does not support null address","value",a),c});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(Ut.getPayload(o.domain,n,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let n=typeof t=="string"?re(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),R(n)])}},Hi,_a,Cn,zr,Tr,Ht,dt,ll,Kd,Cs=class extends _t{constructor(t,n){super(t,n);y(this,ll);y(this,Hi);y(this,_a);y(this,Cn);y(this,zr);y(this,Tr);y(this,Ht);y(this,dt);h(this,_a,1),h(this,Hi,Object.assign({},kg,n||{})),h(this,Cn,[]),h(this,zr,null),h(this,Ht,null),h(this,dt,null);{let i=null,o=new Promise(a=>{i=a});h(this,Tr,{promise:o,resolve:i})}let s=this._getOption("staticNetwork");typeof s=="boolean"?(p(!s||t!=="any","staticNetwork cannot be used on special network 'any'","options",n),s&&t!=null&&h(this,Ht,$.from(t))):s&&(p(t==null||s.matches(t),"staticNetwork MUST match network object","options",n),h(this,Ht,s))}_getOption(t){return f(this,Hi)[t]}get _network(){return w(f(this,Ht),"network is not available yet","NETWORK_ERROR"),f(this,Ht)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let s=t.transaction;if(s&&s.type!=null&&B(s.type)&&s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null){let i=await this.getFeeData();i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},s,{type:void 0})}))}}let n=this.getRpcRequest(t);return n!=null?await this.send(n.method,n.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t)if(t===!0){if(f(this,Ht))return f(this,Ht)}else return t;return f(this,dt)?await f(this,dt):this.ready?(h(this,dt,(async()=>{try{let n=$.from(B(await this.send("eth_chainId",[])));return h(this,dt,null),n}catch(n){throw h(this,dt,null),n}})()),await f(this,dt)):(h(this,dt,(async()=>{let n={id:tn(this,_a)._++,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,dt,null)}catch(i){throw h(this,dt,null),this.emit("debug",{action:"receiveRpcError",error:i}),i}if(this.emit("debug",{action:"receiveRpcResult",result:s}),"result"in s)return $.from(B(s.result));throw this.getRpcError(n,s)})()),await f(this,dt))}_start(){f(this,Tr)==null||f(this,Tr).resolve==null||(f(this,Tr).resolve(),h(this,Tr,null),(async()=>{for(;f(this,Ht)==null&&!this.destroyed;)try{h(this,Ht,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",Z("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await e8(1e3)}S(this,ll,Kd).call(this)})())}async _waitUntilReady(){if(f(this,Tr)!=null)return await f(this,Tr).promise}_getSubscriber(t){return t.type==="pending"?new mu(this):t.type==="event"?this._getOption("polling")?new Ss(this,t.filter):new xu(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new Er("orphan"):super._getSubscriber(t)}get ready(){return f(this,Tr)==null}getRpcTransaction(t){let 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]=Pe(B(t[s],`tx.${s}`))}),["from","to","data"].forEach(s=>{t[s]!=null&&(n[s]=R(t[s]))}),t.accessList&&(n.accessList=_e(t.accessList)),t.blobVersionedHashes&&(n.blobVersionedHashes=t.blobVersionedHashes.map(s=>s.toLowerCase())),t.authorizationList&&(n.authorizationList=t.authorizationList.map(s=>{let i=yi(s);return{address:i.address,nonce:Pe(i.nonce),chainId:Pe(i.chainId),yParity:Pe(i.signature.yParity),r:Pe(i.signature.r),s:Pe(i.signature.s)}})),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:[Ga(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Ga(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[Ga(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Ga(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(Ga):t.filter.address=Ga(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,n){let{method:s}=t,{error:i}=n;if(s==="eth_estimateGas"&&i.message){let c=i.message;if(!c.match(/revert/i)&&c.match(/insufficient funds/i))return Z("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:i}});if(c.match(/nonce/i)&&c.match(/too low/i))return Z("nonce has already been used","NONCE_EXPIRED",{transaction:t.params[0],info:{payload:t,error:i}})}if(s==="eth_call"||s==="eth_estimateGas"){let c=$d(i),l=Mt.getBuiltinCallException(s==="eth_call"?"call":"estimateGas",t.params[0],c?c.data:null);return l.info={error:i,payload:t},l}let o=JSON.stringify(t8(i));if(typeof i.message=="string"&&i.message.match(/user denied|ethers-user-denied/i))return Z("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"){let c=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return Z("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:c,info:{error:i}});if(o.match(/nonce/i)&&o.match(/too low/i))return Z("nonce has already been used","NONCE_EXPIRED",{transaction:c,info:{error:i}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Z("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:c,info:{error:i}});if(o.match(/only replay-protected/i))return Z("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:s,info:{transaction:c,info:{error:i}}})}let a=!!o.match(/the method .* does not exist/i);return a||i&&i.details&&i.details.startsWith("Unauthorized method:")&&(a=!0),a?Z("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:i,payload:t}}):Z("could not coalesce error","UNKNOWN_ERROR",{error:i,payload:t})}send(t,n){if(this.destroyed)return Promise.reject(Z("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let s=tn(this,_a)._++,i=new Promise((o,a)=>{f(this,Cn).push({resolve:o,reject:a,payload:{method:t,params:n,id:s,jsonrpc:"2.0"}})});return S(this,ll,Kd).call(this),i}async getSigner(t){t==null&&(t=0);let n=this.send("eth_accounts",[]);if(typeof t=="number"){let i=await n;if(t>=i.length)throw new Error("no such account");return new Os(this,i[t])}let{accounts:s}=await he({network:this.getNetwork(),accounts:n});t=k(t);for(let i of s)if(k(i)===t)return new Os(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new Os(this,n))}destroy(){f(this,zr)&&(clearTimeout(f(this,zr)),h(this,zr,null));for(let{payload:t,reject:n}of f(this,Cn))n(Z("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));h(this,Cn,[]),super.destroy()}};Hi=new WeakMap,_a=new WeakMap,Cn=new WeakMap,zr=new WeakMap,Tr=new WeakMap,Ht=new WeakMap,dt=new WeakMap,ll=new WeakSet,Kd=function(){if(f(this,zr))return;let t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");h(this,zr,setTimeout(()=>{h(this,zr,null);let n=f(this,Cn);for(h(this,Cn,[]);n.length;){let s=[n.shift()];for(;n.length&&s.length!==f(this,Hi).batchMaxCount;)if(s.push(n.shift()),JSON.stringify(s.map(o=>o.payload)).length>f(this,Hi).batchMaxSize){n.unshift(s.pop());break}(async()=>{let i=s.length===1?s[0].payload:s.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:i});try{let o=await this._send(i);this.emit("debug",{action:"receiveRpcResult",result:o});for(let{resolve:a,reject:c,payload:l}of s){if(this.destroyed){c(Z("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:l.method}));continue}let u=o.filter(d=>d.id===l.id)[0];if(u==null){let d=Z("missing response for request","BAD_DATA",{value:o,info:{payload:l}});this.emit("error",d),c(d);continue}if("error"in u){c(this.getRpcError(l,u));continue}a(u.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(let{reject:a}of s)a(o)}})()}},t))};var Is,cl=class extends Cs{constructor(t,n){super(t,n);y(this,Is);let s=this._getOption("pollingInterval");s==null&&(s=kg.pollingInterval),h(this,Is,s)}_getSubscriber(t){let n=super._getSubscriber(t);return Mg(n)&&(n.pollingInterval=f(this,Is)),n}get pollingInterval(){return f(this,Is)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");h(this,Is,t),this._forEachSubscriber(n=>{Mg(n)&&(n.pollingInterval=f(this,Is))})}};Is=new WeakMap;var Xa,me=class extends cl{constructor(t,n,s){t==null&&(t="http://localhost:8545");super(n,s);y(this,Xa);typeof t=="string"?h(this,Xa,new ae(t)):h(this,Xa,t.clone())}_getConnection(){return f(this,Xa).clone()}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){let n=this._getConnection();n.body=JSON.stringify(t),n.setHeader("content-type","application/json");let s=await n.send();s.assertOk();let i=s.bodyJson;return Array.isArray(i)||(i=[i]),i}};Xa=new WeakMap;function $d(r){if(r==null)return null;if(typeof r.message=="string"&&r.message.match(/revert/i)&&V(r.data))return{message:r.message,data:r.data};if(typeof r=="object"){for(let e in r){let t=$d(r[e]);if(t)return t}return null}if(typeof r=="string")try{return $d(JSON.parse(r))}catch{}return null}function Yd(r,e){if(r!=null){if(typeof r.message=="string"&&e.push(r.message),typeof r=="object")for(let t in r)Yd(r[t],e);if(typeof r=="string")try{return Yd(JSON.parse(r),e)}catch{}}}function t8(r){let e=[];return Yd(r,e),e}var bu="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function r8(r){switch(r){case"mainnet":return"rpc.ankr.com/eth";case"goerli":return"rpc.ankr.com/eth_goerli";case"sepolia":return"rpc.ankr.com/eth_sepolia";case"arbitrum":return"rpc.ankr.com/arbitrum";case"base":return"rpc.ankr.com/base";case"base-goerli":return"rpc.ankr.com/base_goerli";case"base-sepolia":return"rpc.ankr.com/base_sepolia";case"bnb":return"rpc.ankr.com/bsc";case"bnbt":return"rpc.ankr.com/bsc_testnet_chapel";case"matic":return"rpc.ankr.com/polygon";case"matic-mumbai":return"rpc.ankr.com/polygon_mumbai";case"optimism":return"rpc.ankr.com/optimism";case"optimism-goerli":return"rpc.ankr.com/optimism_testnet";case"optimism-sepolia":return"rpc.ankr.com/optimism_sepolia"}p(!1,"unsupported network","network",r)}var Vi=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=bu);let i={polling:!0,staticNetwork:s},o=r.getRequest(s,n);super(o,s,i);g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}static getRequest(t,n){n==null&&(n=bu);let s=new ae(`https://${r8(t.name)}/${n}`);return s.allowGzip=!0,n===bu&&(s.retryFunc=async(i,o,a)=>(Ve("AnkrProvider"),!0)),s}getRpcError(t,n){return t.method==="eth_sendRawTransaction"&&n&&n.error&&n.error.message==="INTERNAL_ERROR: could not replace existing tx"&&(n.error.message="replacement transaction underpriced"),super.getRpcError(t,n)}isCommunityResource(){return this.apiKey===bu}};var yu="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function n8(r){switch(r){case"mainnet":return"eth-mainnet.alchemyapi.io";case"goerli":return"eth-goerli.g.alchemy.com";case"sepolia":return"eth-sepolia.g.alchemy.com";case"arbitrum":return"arb-mainnet.g.alchemy.com";case"arbitrum-goerli":return"arb-goerli.g.alchemy.com";case"arbitrum-sepolia":return"arb-sepolia.g.alchemy.com";case"base":return"base-mainnet.g.alchemy.com";case"base-goerli":return"base-goerli.g.alchemy.com";case"base-sepolia":return"base-sepolia.g.alchemy.com";case"matic":return"polygon-mainnet.g.alchemy.com";case"matic-amoy":return"polygon-amoy.g.alchemy.com";case"matic-mumbai":return"polygon-mumbai.g.alchemy.com";case"optimism":return"opt-mainnet.g.alchemy.com";case"optimism-goerli":return"opt-goerli.g.alchemy.com";case"optimism-sepolia":return"opt-sepolia.g.alchemy.com"}p(!1,"unsupported network","network",r)}var Qi=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=yu);let i=r.getRequest(s,n);super(i,s,{staticNetwork:s});g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}async _perform(t){if(t.method==="getTransactionResult"){let{trace:n,tx:s}=await he({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(n==null||s==null)return null;let i,o=!1;try{i=n[0].result.output,o=n[0].error==="Reverted"}catch{}if(i)return w(!o,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:i,reason:null,transaction:s,invocation:null,revert:null}),i;w(!1,"could not parse trace result","BAD_DATA",{value:n})}return await super._perform(t)}isCommunityResource(){return this.apiKey===yu}static getRequest(t,n){n==null&&(n=yu);let s=new ae(`https://${n8(t.name)}/v2/${n}`);return s.allowGzip=!0,n===yu&&(s.retryFunc=async(i,o,a)=>(Ve("alchemy"),!0)),s}};function Au(r){switch(r){case"mainnet":return"39f1d67cedf8b7831010a665328c9197";case"arbitrum":return"0550c209db33c3abf4cc927e1e18cea1";case"bnb":return"98b5a77e531614387366f6fc5da097f8";case"matic":return"cd9d4d70377471aa7c142ec4a4205249"}p(!1,"unsupported network","network",r)}function s8(r){switch(r){case"mainnet":return"ethereum-mainnet.core.chainstack.com";case"arbitrum":return"arbitrum-mainnet.core.chainstack.com";case"bnb":return"bsc-mainnet.core.chainstack.com";case"matic":return"polygon-mainnet.core.chainstack.com"}p(!1,"unsupported network","network",r)}var Zi=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=Au(s.name));let i=r.getRequest(s,n);super(i,s,{staticNetwork:s});g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}isCommunityResource(){return this.apiKey===Au(this._network.name)}static getRequest(t,n){n==null&&(n=Au(t.name));let s=new ae(`https://${s8(t.name)}/${n}`);return s.allowGzip=!0,n===Au(t.name)&&(s.retryFunc=async(i,o,a)=>(Ve("ChainstackProvider"),!0)),s}};var zi=class extends me{constructor(e){e==null&&(e="mainnet");let t=$.from(e);p(t.name==="mainnet","unsupported network","network",e),super("https://cloudflare-eth.com/",t,{staticNetwork:t})}};var Jg=2e3;function i8(r){return r&&typeof r.then=="function"}var Dg="org.ethers.plugins.provider.Etherscan",fl=class r extends wr{constructor(t){super(Dg);g(this,"baseUrl");N(this,{baseUrl:t})}clone(){return new r(this.baseUrl)}},o8=["enableCcipRead"],a8=1,Ha,Ki=class extends _t{constructor(t,n){let s=n??null;super();g(this,"network");g(this,"apiKey");y(this,Ha);let i=$.from(t);h(this,Ha,i.getPlugin(Dg)),N(this,{apiKey:s,network:i})}getBaseUrl(){if(f(this,Ha))return f(this,Ha).baseUrl;switch(this.network.name){case"mainnet":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"holesky":return"https://api-holesky.etherscan.io";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"base":return"https://api.basescan.org";case"base-sepolia":return"https://api-sepolia.basescan.org";case"bnb":return"https://api.bscscan.com";case"bnbt":return"https://api-testnet.bscscan.com";case"matic":return"https://api.polygonscan.com";case"matic-amoy":return"https://api-amoy.polygonscan.com";case"matic-mumbai":return"https://api-testnet.polygonscan.com";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io";default:}p(!1,"unsupported network","network",this.network)}getUrl(t,n){let s=Object.keys(n).reduce((i,o)=>{let a=n[o];return a!=null&&(i+=`&${o}=${a}`),i},"");return this.apiKey&&(s+=`&apikey=${this.apiKey}`),`https://api.etherscan.io/v2/api?chainid=${this.network.chainId}&module=${t}${s}`}getPostUrl(){return`https://api.etherscan.io/v2/api?chainid=${this.network.chainId}`}getPostData(t,n){return n.module=t,n.apikey=this.apiKey,n.chainid=this.network.chainId,n}async detectNetwork(){return this.network}async fetch(t,n,s){let i=a8++,o=s?this.getPostUrl():this.getUrl(t,n),a=s?this.getPostData(t,n):null;this.emit("debug",{action:"sendRequest",id:i,url:o,payload:a});let c=new ae(o);c.setThrottleParams({slotInterval:1e3}),c.retryFunc=(d,x,m)=>(this.isCommunityResource()&&Ve("Etherscan"),Promise.resolve(!0)),c.processFunc=async(d,x)=>{let m=x.hasBody()?JSON.parse(Le(x.body)):{},A=(typeof m.result=="string"?m.result:"").toLowerCase().indexOf("rate limit")>=0;return t==="proxy"?m&&m.status==0&&m.message=="NOTOK"&&A&&(this.emit("debug",{action:"receiveError",id:i,reason:"proxy-NOTOK",error:m}),x.throwThrottleError(m.result,Jg)):A&&(this.emit("debug",{action:"receiveError",id:i,reason:"null result",error:m.result}),x.throwThrottleError(m.result,Jg)),x},a&&(c.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),c.body=Object.keys(a).map(d=>`${d}=${a[d]}`).join("&"));let l=await c.send();try{l.assertOk()}catch(d){this.emit("debug",{action:"receiveError",id:i,error:d,reason:"assertOk"}),w(!1,"response error","SERVER_ERROR",{request:c,response:l})}l.hasBody()||(this.emit("debug",{action:"receiveError",id:i,error:"missing body",reason:"null body"}),w(!1,"missing response","SERVER_ERROR",{request:c,response:l}));let u=JSON.parse(Le(l.body));return t==="proxy"?(u.jsonrpc!="2.0"&&(this.emit("debug",{action:"receiveError",id:i,result:u,reason:"invalid JSON-RPC"}),w(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:c,response:l,info:{result:u}})),u.error&&(this.emit("debug",{action:"receiveError",id:i,result:u,reason:"JSON-RPC error"}),w(!1,"error response","SERVER_ERROR",{request:c,response:l,info:{result:u}})),this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result):u.status==0&&(u.message==="No records found"||u.message==="No transactions found")?(this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result):((u.status!=1||typeof u.message=="string"&&!u.message.match(/^OK/))&&(this.emit("debug",{action:"receiveError",id:i,result:u}),w(!1,"error response","SERVER_ERROR",{request:c,response:l,info:{result:u}})),this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result)}_getTransactionPostData(t){let n={};for(let s in t){if(o8.indexOf(s)>=0||t[s]==null)continue;let i=t[s];if(!(s==="type"&&i===0)&&!(s==="blockTag"&&i==="latest")){if({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[s])i=Pe(i);else if(s==="accessList")i="["+_e(i).map(o=>`{address:"${o.address}",storageKeys:["${o.storageKeys.join('","')}"]}`).join(",")+"]";else if(s==="blobVersionedHashes"){if(i.length===0)continue;w(!1,"Etherscan API does not support blobVersionedHashes","UNSUPPORTED_OPERATION",{operation:"_getTransactionPostData",info:{transaction:t}})}else i=R(i);n[s]=i}}return n}_checkError(t,n,s){let i="";if(se(n,"SERVER_ERROR")){try{i=n.info.result.error.message}catch{}if(!i)try{i=n.info.message}catch{}}if(t.method==="estimateGas"&&!i.match(/revert/i)&&i.match(/insufficient funds/i)&&w(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),(t.method==="call"||t.method==="estimateGas")&&i.match(/execution reverted/i)){let o="";try{o=n.info.result.error.data}catch{}let a=Mt.getBuiltinCallException(t.method,t.transaction,o);throw a.info={request:t,error:n},a}if(i&&t.method==="broadcastTransaction"){let o=Rt.from(t.signedTransaction);i.match(/replacement/i)&&i.match(/underpriced/i)&&w(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o}),i.match(/insufficient funds/)&&w(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o}),i.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&w(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:o})}throw n}async _detectNetwork(){return this.network}async _perform(t){switch(t.method){case"chainId":return this.network.chainId;case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getPriorityFee":if(this.network.name==="mainnet")return"1000000000";if(this.network.name==="optimism")return"1000000";throw new Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(n=>this._checkError(t,n,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});w(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.hash});case"call":{if(t.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");let n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_call";try{return await this.fetch("proxy",n,!0)}catch(s){return this._checkError(t,s,t.transaction)}}case"estimateGas":{let n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_estimateGas";try{return await this.fetch("proxy",n,!0)}catch(s){return this._checkError(t,s,t.transaction)}}default:break}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return this.network.name!=="mainnet"?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){let n=this._getAddress(t);i8(n)&&(n=await n);try{let s=await this.fetch("contract",{action:"getabi",address:n}),i=JSON.parse(s);return new ut(n,i,this)}catch{return null}}isCommunityResource(){return this.apiKey==null}};Ha=new WeakMap;var g2=Zn(Hg(),1),b2=Zn(ah(),1),y2=Zn(lh(),1),Uu=Zn(mh(),1),A2=Zn(Gb(),1);var $r,wl,Ms,qi,ks,Ds=class{constructor(e,t){y(this,$r);y(this,wl);y(this,Ms);y(this,qi);y(this,ks);h(this,$r,e),h(this,wl,JSON.stringify(t)),h(this,Ms,null),h(this,qi,null),h(this,ks,null)}get filter(){return JSON.parse(f(this,wl))}start(){h(this,Ms,f(this,$r).send("eth_subscribe",this.filter).then(e=>(f(this,$r)._register(e,this),e)))}stop(){f(this,Ms).then(e=>{f(this,$r).destroyed||f(this,$r).send("eth_unsubscribe",[e])}),h(this,Ms,null)}pause(e){w(e,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),h(this,qi,!!e)}resume(){h(this,qi,null)}_handleMessage(e){if(f(this,Ms)!=null&&f(this,qi)===null){let t=f(this,ks);t==null?t=this._emit(f(this,$r),e):t=t.then(async()=>{await this._emit(f(this,$r),e)}),h(this,ks,t.then(()=>{f(this,ks)===t&&h(this,ks,null)}))}}async _emit(e,t){throw new Error("sub-classes must implemente this; _emit")}};$r=new WeakMap,wl=new WeakMap,Ms=new WeakMap,qi=new WeakMap,ks=new WeakMap;var $a=class extends Ds{constructor(e){super(e,["newHeads"])}async _emit(e,t){e.emit("block",parseInt(t.number))}},Ya=class extends Ds{constructor(e){super(e,["newPendingTransactions"])}async _emit(e,t){e.emit("pending",t)}},El,Wa=class extends Ds{constructor(t,n){super(t,["logs",n]);y(this,El);h(this,El,JSON.stringify(n))}get logFilter(){return JSON.parse(f(this,El))}async _emit(t,n){t.emit(this.logFilter,t._wrapLog(n,t._network))}};El=new WeakMap;var eo,Ka,Js,Mn=class extends Cs{constructor(t,n){let s=Object.assign({},n??{});p(s.batchMaxCount==null||s.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",n),s.batchMaxCount=1,s.staticNetwork==null&&(s.staticNetwork=!0);super(t,s);y(this,eo);y(this,Ka);y(this,Js);h(this,eo,new Map),h(this,Ka,new Map),h(this,Js,new Map)}_getSubscriber(t){switch(t.type){case"close":return new Er("close");case"block":return new $a(this);case"pending":return new Ya(this);case"event":return new Wa(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new Er("drop-log")}return super._getSubscriber(t)}_register(t,n){f(this,Ka).set(t,n);let s=f(this,Js).get(t);if(s){for(let i of s)n._handleMessage(i);f(this,Js).delete(t)}}async _send(t){p(!Array.isArray(t),"WebSocket does not support batch send","payload",t);let n=new Promise((s,i)=>{f(this,eo).set(t.id,{payload:t,resolve:s,reject:i})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await n]}async _processMessage(t){let n=JSON.parse(t);if(n&&typeof n=="object"&&"id"in n){let s=f(this,eo).get(n.id);if(s==null){this.emit("error",Z("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:n}));return}f(this,eo).delete(n.id),s.resolve(n)}else if(n&&n.method==="eth_subscription"){let s=n.params.subscription,i=f(this,Ka).get(s);if(i)i._handleMessage(n.params.result);else{let o=f(this,Js).get(s);o==null&&(o=[],f(this,Js).set(s,o)),o.push(n.params.result)}}else{this.emit("error",Z("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:n}));return}}async _write(t){throw new Error("sub-classes must override this")}};eo=new WeakMap,Ka=new WeakMap,Js=new WeakMap;var to,Sr,kn=class extends Mn{constructor(t,n,s){super(n,s);y(this,to);y(this,Sr);typeof t=="string"?(h(this,to,()=>new Uu.default(t)),h(this,Sr,f(this,to).call(this))):typeof t=="function"?(h(this,to,t),h(this,Sr,t())):(h(this,to,null),h(this,Sr,t)),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(i){console.log("failed to start WebsocketProvider",i)}},this.websocket.onmessage=i=>{this._processMessage(i.data)}}get websocket(){if(f(this,Sr)==null)throw new Error("websocket closed");return f(this,Sr)}async _write(t){this.websocket.send(t)}async destroy(){f(this,Sr)!=null&&(f(this,Sr).close(),h(this,Sr,null)),super.destroy()}};to=new WeakMap,Sr=new WeakMap;var Tl="84842078b09946638c03157f83405213";function w2(r){switch(r){case"mainnet":return"mainnet.infura.io";case"goerli":return"goerli.infura.io";case"sepolia":return"sepolia.infura.io";case"arbitrum":return"arbitrum-mainnet.infura.io";case"arbitrum-goerli":return"arbitrum-goerli.infura.io";case"arbitrum-sepolia":return"arbitrum-sepolia.infura.io";case"base":return"base-mainnet.infura.io";case"base-goerlia":case"base-goerli":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bsc-mainnet.infura.io";case"bnbt":return"bsc-testnet.infura.io";case"linea":return"linea-mainnet.infura.io";case"linea-goerli":return"linea-goerli.infura.io";case"linea-sepolia":return"linea-sepolia.infura.io";case"matic":return"polygon-mainnet.infura.io";case"matic-amoy":return"polygon-amoy.infura.io";case"matic-mumbai":return"polygon-mumbai.infura.io";case"optimism":return"optimism-mainnet.infura.io";case"optimism-goerli":return"optimism-goerli.infura.io";case"optimism-sepolia":return"optimism-sepolia.infura.io"}p(!1,"unsupported network","network",r)}var ja=class extends kn{constructor(t,n){let s=new Gs(t,n),i=s._getConnection();w(!i.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});let o=i.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,s._network);g(this,"projectId");g(this,"projectSecret");N(this,{projectId:s.projectId,projectSecret:s.projectSecret})}isCommunityResource(){return this.projectId===Tl}},Gs=class r extends me{constructor(t,n,s){t==null&&(t="mainnet");let i=$.from(t);n==null&&(n=Tl),s==null&&(s=null);let o=r.getRequest(i,n,s);super(o,i,{staticNetwork:i});g(this,"projectId");g(this,"projectSecret");N(this,{projectId:n,projectSecret:s})}_getProvider(t){try{return new r(t,this.projectId,this.projectSecret)}catch{}return super._getProvider(t)}isCommunityResource(){return this.projectId===Tl}static getWebSocketProvider(t,n){return new ja(t,n)}static getRequest(t,n,s){n==null&&(n=Tl),s==null&&(s=null);let i=new ae(`https://${w2(t.name)}/v3/${n}`);return i.allowGzip=!0,s&&i.setCredentials("",s),n===Tl&&(i.retryFunc=async(o,a,c)=>(Ve("InfuraProvider"),!0)),i}};var Fu="919b412a057b5e9c9b6dce193c5a60242d6efadb";function E2(r){switch(r){case"mainnet":return"ethers.quiknode.pro";case"goerli":return"ethers.ethereum-goerli.quiknode.pro";case"sepolia":return"ethers.ethereum-sepolia.quiknode.pro";case"holesky":return"ethers.ethereum-holesky.quiknode.pro";case"arbitrum":return"ethers.arbitrum-mainnet.quiknode.pro";case"arbitrum-goerli":return"ethers.arbitrum-goerli.quiknode.pro";case"arbitrum-sepolia":return"ethers.arbitrum-sepolia.quiknode.pro";case"base":return"ethers.base-mainnet.quiknode.pro";case"base-goerli":return"ethers.base-goerli.quiknode.pro";case"base-spolia":return"ethers.base-sepolia.quiknode.pro";case"bnb":return"ethers.bsc.quiknode.pro";case"bnbt":return"ethers.bsc-testnet.quiknode.pro";case"matic":return"ethers.matic.quiknode.pro";case"matic-mumbai":return"ethers.matic-testnet.quiknode.pro";case"optimism":return"ethers.optimism.quiknode.pro";case"optimism-goerli":return"ethers.optimism-goerli.quiknode.pro";case"optimism-sepolia":return"ethers.optimism-sepolia.quiknode.pro";case"xdai":return"ethers.xdai.quiknode.pro"}p(!1,"unsupported network","network",r)}var ro=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=Fu);let i=r.getRequest(s,n);super(i,s,{staticNetwork:s});g(this,"token");N(this,{token:n})}_getProvider(t){try{return new r(t,this.token)}catch{}return super._getProvider(t)}isCommunityResource(){return this.token===Fu}static getRequest(t,n){n==null&&(n=Fu);let s=new ae(`https://${E2(t.name)}/${n}`);return s.allowGzip=!0,n===Fu&&(s.retryFunc=async(i,o,a)=>(Ve("QuickNodeProvider"),!0)),s}};var T2=BigInt("1"),R2=BigInt("2");function S2(r){for(let e=r.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1)),n=r[e];r[e]=r[t],r[t]=n}}function L2(r){return new Promise(e=>{setTimeout(e,r)})}function wh(){return new Date().getTime()}function bh(r){return JSON.stringify(r,(e,t)=>typeof t=="bigint"?{type:"bigint",value:t.toString()}:t)}var _b={stallTimeout:400,priority:1,weight:1},Xb={blockNumber:-2,requests:0,lateResponses:0,errorResponses:0,outOfSync:-1,unsupportedEvents:0,rollingDuration:0,score:0,_network:null,_updateNumber:null,_totalTime:0,_lastFatalError:null,_lastFatalErrorTimestamp:0};async function N2(r,e){for(;(r.blockNumber<0||r.blockNumber<e)&&(r._updateNumber||(r._updateNumber=(async()=>{try{let t=await r.provider.getBlockNumber();t>r.blockNumber&&(r.blockNumber=t)}catch(t){r.blockNumber=-2,r._lastFatalError=t,r._lastFatalErrorTimestamp=wh()}r._updateNumber=null})()),await r._updateNumber,r.outOfSync++,!r._lastFatalError););}function qa(r){if(r==null)return"null";if(Array.isArray(r))return"["+r.map(qa).join(",")+"]";if(typeof r=="object"&&typeof r.toJSON=="function")return qa(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":case"number":return BigInt(r).toString();case"string":return JSON.stringify(r);case"object":{let e=Object.keys(r);return e.sort(),"{"+e.map(t=>`${JSON.stringify(t)}:${qa(r[t])}`).join(",")+"}"}}throw console.log("Could not serialize",r),new Error("Hmm...")}function yh(r,e){if("error"in e){let n=e.error,s;return se(n,"CALL_EXCEPTION")?s=qa(Object.assign({},n,{shortMessage:void 0,reason:void 0,info:void 0})):s=qa(n),{tag:s,value:n}}let t=e.result;return{tag:qa(t),value:t}}function Mu(r,e){let t=new Map;for(let{value:s,tag:i,weight:o}of e){let a=t.get(i)||{value:s,weight:0};a.weight+=o,t.set(i,a)}let n=null;for(let s of t.values())s.weight>=r&&(!n||s.weight>n.weight)&&(n=s);if(n)return n.value}function Eh(r,e){let t=0,n=new Map,s=null,i=[];for(let{value:a,tag:c,weight:l}of e)if(a instanceof Error){let u=n.get(c)||{value:a,weight:0};u.weight+=l,n.set(c,u),(s==null||u.weight>s.weight)&&(s=u)}else i.push(BigInt(a)),t+=l;if(t<r)return s&&s.weight>=r?s.value:void 0;i.sort((a,c)=>a<c?-1:c>a?1:0);let o=Math.floor(i.length/2);return i.length%2?i[o]:(i[o-1]+i[o]+T2)/R2}function Ah(r,e){let t=Mu(r,e);if(t!==void 0)return t;for(let n of e)if(n.value)return n.value}function v2(r,e){if(r===1)return M(Eh(r,e),"%internal");let t=new Map,n=(o,a)=>{let c=t.get(o)||{result:o,weight:0};c.weight+=a,t.set(o,c)};for(let{weight:o,value:a}of e){let c=M(a);n(c-1,o),n(c,o),n(c+1,o)}let s=0,i;for(let{weight:o,result:a}of t.values())o>=r&&(o>s||i!=null&&o===s&&a>i)&&(s=o,i=a);return i}var ht,Jn,ec,pt,Hb,Th,Vb,Qb,Rh,no=class extends _t{constructor(t,n,s){super(n,s);y(this,pt);g(this,"quorum");g(this,"eventQuorum");g(this,"eventWorkers");y(this,ht);y(this,Jn);y(this,ec);h(this,ht,t.map(i=>i instanceof _t?Object.assign({provider:i},_b,Xb):Object.assign({},_b,i,Xb))),h(this,Jn,-2),h(this,ec,null),s&&s.quorum!=null?this.quorum=s.quorum:this.quorum=Math.ceil(f(this,ht).reduce((i,o)=>(i+=o.weight,i),0)/2),this.eventQuorum=1,this.eventWorkers=1,p(this.quorum<=f(this,ht).reduce((i,o)=>i+o.weight,0),"quorum exceed provider weight","quorum",this.quorum)}get providerConfigs(){return f(this,ht).map(t=>{let n=Object.assign({},t);for(let s in n)s[0]==="_"&&delete n[s];return n})}async _detectNetwork(){return $.from(B(await this._perform({method:"chainId"})))}async _translatePerform(t,n){switch(n.method){case"broadcastTransaction":return await t.broadcastTransaction(n.signedTransaction);case"call":return await t.call(Object.assign({},n.transaction,{blockTag:n.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(n.transaction);case"getBalance":return await t.getBalance(n.address,n.blockTag);case"getBlock":{let s="blockHash"in n?n.blockHash:n.blockTag;return await t.getBlock(s,n.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(n.address,n.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(n.filter);case"getStorage":return await t.getStorage(n.address,n.position,n.blockTag);case"getTransaction":return await t.getTransaction(n.hash);case"getTransactionCount":return await t.getTransactionCount(n.address,n.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(n.hash);case"getTransactionResult":return await t.getTransactionResult(n.hash)}}async _perform(t){if(t.method==="broadcastTransaction"){let o=f(this,ht).map(l=>null),a=f(this,ht).map(async({provider:l,weight:u},d)=>{try{let x=await l._perform(t);o[d]=Object.assign(yh(t.method,{result:x}),{weight:u})}catch(x){o[d]=Object.assign(yh(t.method,{error:x}),{weight:u})}});for(;;){let l=o.filter(x=>x!=null);for(let{value:x}of l)if(!(x instanceof Error))return x;let u=Mu(this.quorum,o.filter(x=>x!=null));if(se(u,"INSUFFICIENT_FUNDS"))throw u;let d=a.filter((x,m)=>o[m]==null);if(d.length===0)break;await Promise.race(d)}let c=Ah(this.quorum,o);if(w(c!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:o.map(bh)}}),c instanceof Error)throw c;return c}await S(this,pt,Vb).call(this);let n=new Set,s=0;for(;;){let o=S(this,pt,Th).call(this,n,t);if(o==null||(s+=o.config.weight,s>=this.quorum))break}let i=await S(this,pt,Rh).call(this,n,t);for(let o of n)o.perform&&o.result==null&&o.config.lateResponses++;return i}async destroy(){for(let{provider:t}of f(this,ht))t.destroy();super.destroy()}};ht=new WeakMap,Jn=new WeakMap,ec=new WeakMap,pt=new WeakSet,Hb=function(t){let n=Array.from(t).map(i=>i.config),s=f(this,ht).slice();S2(s),s.sort((i,o)=>i.priority-o.priority);for(let i of s)if(!i._lastFatalError&&n.indexOf(i)===-1)return i;return null},Th=function(t,n){let s=S(this,pt,Hb).call(this,t);if(s==null)return null;let i={config:s,result:null,didBump:!1,perform:null,staller:null},o=wh();return i.perform=(async()=>{try{s.requests++;let c=await this._translatePerform(s.provider,n);i.result={result:c}}catch(c){s.errorResponses++,i.result={error:c}}let a=wh()-o;s._totalTime+=a,s.rollingDuration=.95*s.rollingDuration+.05*a,i.perform=null})(),i.staller=(async()=>{await L2(s.stallTimeout),i.staller=null})(),t.add(i),i},Vb=async function(){let t=f(this,ec);if(!t){let n=[];f(this,ht).forEach(s=>{n.push((async()=>{await N2(s,0),s._lastFatalError||(s._network=await s.provider.getNetwork())})())}),h(this,ec,t=(async()=>{await Promise.all(n);let s=null;for(let i of f(this,ht)){if(i._lastFatalError)continue;let o=i._network;s==null?s=o.chainId:o.chainId!==s&&w(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})())}await t},Qb=async function(t,n){let s=[];for(let i of t)if(i.result!=null){let{tag:o,value:a}=yh(n.method,i.result);s.push({tag:o,value:a,weight:i.config.weight})}if(!(s.reduce((i,o)=>i+o.weight,0)<this.quorum)){switch(n.method){case"getBlockNumber":{f(this,Jn)===-2&&h(this,Jn,Math.ceil(M(Eh(this.quorum,f(this,ht).filter(o=>!o._lastFatalError).map(o=>({value:o.blockNumber,tag:M(o.blockNumber).toString(),weight:o.weight}))))));let i=v2(this.quorum,s);return i===void 0?void 0:(i>f(this,Jn)&&h(this,Jn,i),f(this,Jn))}case"getGasPrice":case"getPriorityFee":case"estimateGas":return Eh(this.quorum,s);case"getBlock":return"blockTag"in n&&n.blockTag==="pending"?Ah(this.quorum,s):Mu(this.quorum,s);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return Mu(this.quorum,s);case"broadcastTransaction":return Ah(this.quorum,s)}w(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${bh(n.method)})`})}},Rh=async function(t,n){if(t.size===0)throw new Error("no runners?!");let s=[],i=0;for(let a of t){if(a.perform&&s.push(a.perform),a.staller){s.push(a.staller);continue}a.didBump||(a.didBump=!0,i++)}let o=await S(this,pt,Qb).call(this,t,n);if(o!==void 0){if(o instanceof Error)throw o;return o}for(let a=0;a<i;a++)S(this,pt,Th).call(this,t,n);return w(s.length>0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:n,results:Array.from(t).map(a=>bh(a.result))}}),await Promise.race(s),await S(this,pt,Rh).call(this,t,n)};function B2(r){return r&&typeof r.send=="function"&&typeof r.close=="function"}var I2="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function Sh(r,e){e==null&&(e={});let t=o=>e[o]==="-"?!1:typeof e.exclusive=="string"?o===e.exclusive:Array.isArray(e.exclusive)?e.exclusive.indexOf(o)!==-1:!0;if(typeof r=="string"&&r.match(/^https?:/))return new me(r);if(typeof r=="string"&&r.match(/^wss?:/)||B2(r))return new kn(r);let n=null;try{n=$.from(r)}catch{}let s=[];if(t("publicPolygon")&&n&&(n.name==="matic"?s.push(new me("https://polygon-rpc.com/",n,{staticNetwork:n})):n.name==="matic-amoy"&&s.push(new me("https://rpc-amoy.polygon.technology/",n,{staticNetwork:n}))),t("alchemy"))try{s.push(new Qi(r,e.alchemy))}catch{}if(t("ankr")&&e.ankr!=null)try{s.push(new Vi(r,e.ankr))}catch{}if(t("chainstack"))try{s.push(new Zi(r,e.chainstack))}catch{}if(t("cloudflare"))try{s.push(new zi(r))}catch{}if(t("etherscan"))try{s.push(new Ki(r,e.etherscan))}catch{}if(t("infura"))try{let o=e.infura,a;typeof o=="object"&&(a=o.projectSecret,o=o.projectId),s.push(new Gs(r,o,a))}catch{}if(t("quicknode"))try{let o=e.quicknode;s.push(new ro(r,o))}catch{}if(w(s.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),s.length===1)return s[0];let i=Math.floor(s.length/2);return i>2&&(i=2),n&&I2.indexOf(n.name)!==-1&&(i=1),e&&e.quorum&&(i=e.quorum),new no(s,void 0,{quorum:i})}var _s,so,Lh=class Lh extends Xt{constructor(t){super(t.provider);g(this,"signer");y(this,_s);y(this,so);N(this,{signer:t}),h(this,_s,null),h(this,so,0)}async getAddress(){return this.signer.getAddress()}connect(t){return new Lh(this.signer.connect(t))}async getNonce(t){if(t==="pending"){f(this,_s)==null&&h(this,_s,super.getNonce("pending"));let n=f(this,so);return await f(this,_s)+n}return super.getNonce(t)}increment(){tn(this,so)._++}reset(){h(this,so,0),h(this,_s,null)}async sendTransaction(t){let 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)}};_s=new WeakMap,so=new WeakMap;var Rl=Lh;var tc,rc,io=class io extends cl{constructor(t,n,s){let i=Object.assign({},s??{},{batchMaxCount:1});p(t&&t.request,"invalid EIP-1193 provider","ethereum",t);super(n,i);y(this,tc);y(this,rc);h(this,rc,null),s&&s.providerInfo&&h(this,rc,s.providerInfo),h(this,tc,async(o,a)=>{let c={method:o,params:a};this.emit("debug",{action:"sendEip1193Request",payload:c});try{let l=await t.request(c);return this.emit("debug",{action:"receiveEip1193Result",result:l}),l}catch(l){let u=new Error(l.message);throw u.code=l.code,u.data=l.data,u.payload=c,this.emit("debug",{action:"receiveEip1193Error",error:u}),u}})}get providerInfo(){return f(this,rc)}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){p(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{let n=await f(this,tc).call(this,t.method,t.params||[]);return[{id:t.id,result:n}]}catch(n){return[{id:t.id,error:{code:n.code,data:n.data,message:n.message}}]}}getRpcError(t,n){switch(n=JSON.parse(JSON.stringify(n)),n.error.code||-1){case 4001:n.error.message=`ethers-user-denied: ${n.error.message}`;break;case 4200:n.error.message=`ethers-unsupported: ${n.error.message}`;break}return super.getRpcError(t,n)}async hasSigner(t){t==null&&(t=0);let n=await this.send("eth_accounts",[]);return typeof t=="number"?n.length>t:(t=t.toLowerCase(),n.filter(s=>s.toLowerCase()===t).length!==0)}async getSigner(t){if(t==null&&(t=0),!await this.hasSigner(t))try{await f(this,tc).call(this,"eth_requestAccounts",[])}catch(n){let s=n.payload;throw this.getRpcError(s,{id:s.id,error:n})}return await super.getSigner(t)}static async discover(t){if(t==null&&(t={}),t.provider)return new io(t.provider);let n=t.window?t.window:typeof window<"u"?window:null;if(n==null)return null;let s=t.anyProvider;if(s&&n.ethereum)return new io(n.ethereum);if(!("addEventListener"in n&&"dispatchEvent"in n&&"removeEventListener"in n))return null;let i=t.timeout?t.timeout:300;return i===0?null:await new Promise((o,a)=>{let c=[],l=x=>{c.push(x.detail),s&&u()},u=()=>{if(clearTimeout(d),c.length)if(t&&t.filter){let x=t.filter(c.map(m=>Object.assign({},m.info)));if(x==null)o(null);else if(x instanceof io)o(x);else{let m=null;if(x.uuid&&(m=c.filter(b=>x.uuid===b.info.uuid)[0]),m){let{provider:A,info:b}=m;o(new io(A,void 0,{providerInfo:b}))}else a(Z("filter returned unknown info","UNSUPPORTED_OPERATION",{value:x}))}}else{let{provider:x,info:m}=c[0];o(new io(x,void 0,{providerInfo:m}))}else o(null);n.removeEventListener("eip6963:announceProvider",l)},d=setTimeout(()=>{u()},i);n.addEventListener("eip6963:announceProvider",l),n.dispatchEvent(new Event("eip6963:requestProvider"))})}};tc=new WeakMap,rc=new WeakMap;var Sl=io;function O2(r){switch(r){case"mainnet":return"https://eth.blockscout.com/api/eth-rpc";case"sepolia":return"https://eth-sepolia.blockscout.com/api/eth-rpc";case"holesky":return"https://eth-holesky.blockscout.com/api/eth-rpc";case"classic":return"https://etc.blockscout.com/api/eth-rpc";case"arbitrum":return"https://arbitrum.blockscout.com/api/eth-rpc";case"base":return"https://base.blockscout.com/api/eth-rpc";case"base-sepolia":return"https://base-sepolia.blockscout.com/api/eth-rpc";case"matic":return"https://polygon.blockscout.com/api/eth-rpc";case"optimism":return"https://optimism.blockscout.com/api/eth-rpc";case"optimism-sepolia":return"https://optimism-sepolia.blockscout.com/api/eth-rpc";case"xdai":return"https://gnosis.blockscout.com/api/eth-rpc"}p(!1,"unsupported network","network",r)}var Ll=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=null);let i=r.getRequest(s);super(i,s,{staticNetwork:s});g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}isCommunityResource(){return this.apiKey===null}getRpcRequest(t){let n=super.getRpcRequest(t);return n&&n.method==="eth_estimateGas"&&n.args.length==1&&(n.args=n.args.slice(),n.args.push("latest")),n}getRpcError(t,n){let s=n?n.error:null;if(s&&s.code===-32015&&!V(s.data||"",!0)){let i={"assert(false)":"01","arithmetic underflow or overflow":"11","division or modulo by zero":"12","out-of-bounds array access; popping on an empty array":"31","out-of-bounds access of an array or bytesN":"32"},o="";s.message==="VM execution error."?o=i[s.data]||"":i[s.message||""]&&(o=i[s.message||""]),o&&(s.message+=` (reverted: ${s.data})`,s.data="0x4e487b7100000000000000000000000000000000000000000000000000000000000000"+o)}else s&&s.code===-32e3&&s.message==="wrong transaction nonce"&&(s.message+=" (nonce too low)");return super.getRpcError(t,n)}static getRequest(t){let n=new ae(O2(t.name));return n.allowGzip=!0,n}};var ku="62e1ad51b37b8e00394bda3b";function C2(r){switch(r){case"mainnet":return"eth-mainnet.gateway.pokt.network";case"goerli":return"eth-goerli.gateway.pokt.network";case"matic":return"poly-mainnet.gateway.pokt.network";case"matic-mumbai":return"polygon-mumbai-rpc.gateway.pokt.network"}p(!1,"unsupported network","network",r)}var Nl=class r extends me{constructor(t,n,s){t==null&&(t="mainnet");let i=$.from(t);n==null&&(n=ku),s==null&&(s=null);let o={staticNetwork:i},a=r.getRequest(i,n,s);super(a,i,o);g(this,"applicationId");g(this,"applicationSecret");N(this,{applicationId:n,applicationSecret:s})}_getProvider(t){try{return new r(t,this.applicationId,this.applicationSecret)}catch{}return super._getProvider(t)}static getRequest(t,n,s){n==null&&(n=ku);let i=new ae(`https://${C2(t.name)}/v1/lb/${n}`);return i.allowGzip=!0,s&&i.setCredentials("",s),n===ku&&(i.retryFunc=async(o,a,c)=>(Ve("PocketProvider"),!0)),i}isCommunityResource(){return this.applicationId===ku}};var Zb=require("net");function P2(r){let e=[],t=0;for(;;){let n=r.indexOf(10,t);if(n===-1)break;e.push(r.subarray(t,n).toString().trim()),t=n+1}return{messages:e,remaining:r.subarray(t)}}var Bl,vl=class extends Mn{constructor(t,n,s){super(n,s);y(this,Bl);h(this,Bl,(0,Zb.connect)(t)),this.socket.on("ready",async()=>{try{await this._start()}catch(o){console.log("failed to start IpcSocketProvider",o)}});let i=Buffer.alloc(0);this.socket.on("data",o=>{i=Buffer.concat([i,o]);let{messages:a,remaining:c}=P2(i);a.forEach(l=>{this._processMessage(l)}),i=c}),this.socket.on("end",()=>{this.emit("close"),this.socket.destroy(),this.socket.end()})}get socket(){return f(this,Bl)}destroy(){this.socket.destroy(),this.socket.end(),super.destroy()}async _write(t){t.endsWith(`
9
- `)||(t+=`
10
- `),this.socket.write(t)}};Bl=new WeakMap;var nc,Nh=class Nh extends Xt{constructor(t,n){super(n);g(this,"address");y(this,nc);p(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),h(this,nc,t);let s=xr(this.signingKey.publicKey);N(this,{address:s})}get signingKey(){return f(this,nc)}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new Nh(f(this,nc),t)}async signTransaction(t){t=kt(t);let{to:n,from:s}=await he({to:t.to?xe(t.to,this):void 0,from:t.from?xe(t.from,this):void 0});n!=null&&(t.to=n),s!=null&&(t.from=s),t.from!=null&&(p(k(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);let i=Rt.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(ha(t)).serialized}authorizeSync(t){p(typeof t.address=="string","invalid address for authorizeSync","auth.address",t);let n=this.signingKey.sign(ca(t));return Object.assign({},{address:k(t.address),nonce:B(t.nonce||0),chainId:B(t.chainId||0)},{signature:n})}async authorize(t){return t=Object.assign({},t,{address:await xe(t.address,this)}),this.authorizeSync(await this.populateAuthorization(t))}async signTypedData(t,n,s){let i=await Ut.resolveNames(t,n,s,async o=>{w(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:o}});let a=await this.provider.resolveName(o);return w(a!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:o}),a});return this.signingKey.sign(Ut.hash(i.domain,n,i.value)).serialized}};nc=new WeakMap;var Dn=Nh;var Ju=" !#$%&'()*+,-./<=>?@[]^_`{|}~",U2=/^[a-z]*$/i;function zb(r,e){let t=97;return r.reduce((n,s)=>(s===e?t++:s.match(U2)?n.push(String.fromCharCode(t)+s):(t=97,n.push(s)),n),[])}function F2(r,e){for(let s=Ju.length-1;s>=0;s--)r=r.split(Ju[s]).join(e.substring(2*s,2*s+2));let t=[],n=r.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(s,i,o,a)=>{if(o)for(let c=parseInt(o);c>=0;c--)t.push(";");else t.push(i.toLowerCase());return""});if(n)throw new Error(`leftovers: ${JSON.stringify(n)}`);return zb(zb(t,";"),":")}function Du(r){return p(r[0]==="0","unsupported auwl data","data",r),F2(r.substring(1+2*Ju.length),r.substring(1,1+2*Ju.length))}var It=class{constructor(e){g(this,"locale");N(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}};var sc,Il,oo,Ol,vh,at=class extends It{constructor(t,n,s){super(t);y(this,Ol);y(this,sc);y(this,Il);y(this,oo);h(this,sc,n),h(this,Il,s),h(this,oo,null)}get _data(){return f(this,sc)}_decodeWords(){return Du(f(this,sc))}getWord(t){let n=S(this,Ol,vh).call(this);return p(t>=0&&t<n.length,`invalid word index: ${t}`,"index",t),n[t]}getWordIndex(t){return S(this,Ol,vh).call(this).indexOf(t)}};sc=new WeakMap,Il=new WeakMap,oo=new WeakMap,Ol=new WeakSet,vh=function(){if(f(this,oo)==null){let t=this._decodeWords();if(ge(t.join(`
11
- `)+`
12
- `)!==f(this,Il))throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);h(this,oo,t)}return f(this,oo)};var M2="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",k2="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",Bh=null,xt=class r extends at{constructor(){super("en",M2,k2)}static wordlist(){return Bh==null&&(Bh=new r),Bh}};function Kb(r){return(1<<r)-1<<8-r&255}function J2(r){return(1<<r)-1&255}function Ih(r,e){Zs("NFKD"),e==null&&(e=xt.wordlist());let t=e.split(r);p(t.length%3===0&&t.length>=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let n=new Uint8Array(Math.ceil(11*t.length/8)),s=0;for(let l=0;l<t.length;l++){let u=e.getWordIndex(t[l].normalize("NFKD"));p(u>=0,`invalid mnemonic word at index ${l}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)u&1<<10-d&&(n[s>>3]|=1<<7-s%8),s++}let i=32*t.length/3,o=t.length/3,a=Kb(o),c=L(Ne(n.slice(0,i/8)))[0]&a;return p(c===(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),R(n.slice(0,i/8))}function Oh(r,e){p(r.length%4===0&&r.length>=16&&r.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=xt.wordlist());let t=[0],n=11;for(let o=0;o<r.length;o++)n>8?(t[t.length-1]<<=8,t[t.length-1]|=r[o],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=r[o]>>8-n,t.push(r[o]&J2(8-n)),n+=3);let s=r.length/4,i=parseInt(Ne(r).substring(2,4),16)&Kb(s);return t[t.length-1]<<=s,t[t.length-1]|=i>>8-s,e.join(t.map(o=>e.getWord(o)))}var Ch={},Yr=class r{constructor(e,t,n,s,i){g(this,"phrase");g(this,"password");g(this,"wordlist");g(this,"entropy");s==null&&(s=""),i==null&&(i=xt.wordlist()),Je(e,Ch,"Mnemonic"),N(this,{phrase:n,password:s,wordlist:i,entropy:t})}computeSeed(){let e=re("mnemonic"+this.password,"NFKD");return nt(re(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,n){let s=Ih(e,n);return e=Oh(L(s),n),new r(Ch,s,e,t,n)}static fromEntropy(e,t,n){let s=L(e,"entropy"),i=Oh(s,n);return new r(Ch,R(s),i,t,n)}static entropyToPhrase(e,t){let n=L(e,"entropy");return Oh(n,t)}static phraseToEntropy(e,t){return Ih(e,t)}static isValidMnemonic(e,t){try{return Ih(e,t),!0}catch{}return!1}};var Qe=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)},Ph=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},_u,Zt,Wr,D2={16:10,24:12,32:14},G2=[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],Qt=[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],Gu=[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],_2=[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],X2=[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],H2=[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],V2=[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],Q2=[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],Z2=[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],z2=[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],K2=[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],$2=[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],Y2=[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],W2=[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],j2=[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 Uh(r){let 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}var Cl=class r{get key(){return Qe(this,_u,"f").slice()}constructor(e){if(_u.set(this,void 0),Zt.set(this,void 0),Wr.set(this,void 0),!(this instanceof r))throw Error("AES must be instanitated with `new`");Ph(this,_u,new Uint8Array(e),"f");let t=D2[this.key.length];if(t==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");Ph(this,Wr,[],"f"),Ph(this,Zt,[],"f");for(let u=0;u<=t;u++)Qe(this,Wr,"f").push([0,0,0,0]),Qe(this,Zt,"f").push([0,0,0,0]);let n=(t+1)*4,s=this.key.length/4,i=Uh(this.key),o;for(let u=0;u<s;u++)o=u>>2,Qe(this,Wr,"f")[o][u%4]=i[u],Qe(this,Zt,"f")[t-o][u%4]=i[u];let a=0,c=s,l;for(;c<n;){if(l=i[s-1],i[0]^=Qt[l>>16&255]<<24^Qt[l>>8&255]<<16^Qt[l&255]<<8^Qt[l>>24&255]^G2[a]<<24,a+=1,s!=8)for(let m=1;m<s;m++)i[m]^=i[m-1];else{for(let m=1;m<s/2;m++)i[m]^=i[m-1];l=i[s/2-1],i[s/2]^=Qt[l&255]^Qt[l>>8&255]<<8^Qt[l>>16&255]<<16^Qt[l>>24&255]<<24;for(let m=s/2+1;m<s;m++)i[m]^=i[m-1]}let u=0,d,x;for(;u<s&&c<n;)d=c>>2,x=c%4,Qe(this,Wr,"f")[d][x]=i[u],Qe(this,Zt,"f")[t-d][x]=i[u++],c++}for(let u=1;u<t;u++)for(let d=0;d<4;d++)l=Qe(this,Zt,"f")[u][d],Qe(this,Zt,"f")[u][d]=$2[l>>24&255]^Y2[l>>16&255]^W2[l>>8&255]^j2[l&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let t=Qe(this,Wr,"f").length-1,n=[0,0,0,0],s=Uh(e);for(let a=0;a<4;a++)s[a]^=Qe(this,Wr,"f")[0][a];for(let a=1;a<t;a++){for(let c=0;c<4;c++)n[c]=_2[s[c]>>24&255]^X2[s[(c+1)%4]>>16&255]^H2[s[(c+2)%4]>>8&255]^V2[s[(c+3)%4]&255]^Qe(this,Wr,"f")[a][c];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Qe(this,Wr,"f")[t][a],i[4*a]=(Qt[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Qt[s[(a+1)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Qt[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Qt[s[(a+3)%4]&255]^o)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let t=Qe(this,Zt,"f").length-1,n=[0,0,0,0],s=Uh(e);for(let a=0;a<4;a++)s[a]^=Qe(this,Zt,"f")[0][a];for(let a=1;a<t;a++){for(let c=0;c<4;c++)n[c]=Q2[s[c]>>24&255]^Z2[s[(c+3)%4]>>16&255]^z2[s[(c+2)%4]>>8&255]^K2[s[(c+1)%4]&255]^Qe(this,Zt,"f")[a][c];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Qe(this,Zt,"f")[t][a],i[4*a]=(Gu[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Gu[s[(a+3)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Gu[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Gu[s[(a+1)%4]&255]^o)&255;return i}};_u=new WeakMap,Zt=new WeakMap,Wr=new WeakMap;var jr=class{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 Cl(t)},name:{enumerable:!0,value:e}})}};var Xu=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},ic=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)},Pl,Gn,Ul=class r extends jr{constructor(e,t){if(super("ECC",e,r),Pl.set(this,void 0),Gn.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Xu(this,Pl,new Uint8Array(t),"f")}else Xu(this,Pl,new Uint8Array(16),"f");Xu(this,Gn,this.iv,"f")}get iv(){return new Uint8Array(ic(this,Pl,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){for(let s=0;s<16;s++)ic(this,Gn,"f")[s]^=e[n+s];Xu(this,Gn,this.aes.encrypt(ic(this,Gn,"f")),"f"),t.set(ic(this,Gn,"f"),n)}return t}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){let s=this.aes.decrypt(e.subarray(n,n+16));for(let i=0;i<16;i++)t[n+i]=s[i]^ic(this,Gn,"f")[i],ic(this,Gn,"f")[i]=e[n+i]}return t}};Pl=new WeakMap,Gn=new WeakMap;var Fh=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)},q2,eE,Hu,tE;eE=new WeakMap,Hu=new WeakMap,q2=new WeakSet,tE=function(e){let t=this.segmentSize/8;Fh(this,Hu,"f").set(Fh(this,Hu,"f").subarray(t)),Fh(this,Hu,"f").set(e.subarray(0,t),16-t)};var oc=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},zt=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)},Fl,ao,Kt,Xs=class r extends jr{constructor(e,t){super("CTR",e,r),Fl.set(this,void 0),ao.set(this,void 0),Kt.set(this,void 0),oc(this,Kt,new Uint8Array(16),"f"),zt(this,Kt,"f").fill(0),oc(this,Fl,zt(this,Kt,"f"),"f"),oc(this,ao,16,"f"),t==null&&(t=1),typeof t=="number"?this.setCounterValue(t):this.setCounterBytes(t)}get counter(){return new Uint8Array(zt(this,Kt,"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)zt(this,Kt,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");zt(this,Kt,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(zt(this,Kt,"f")[e]===255)zt(this,Kt,"f")[e]=0;else{zt(this,Kt,"f")[e]++;break}}encrypt(e){var t,n;let s=new Uint8Array(e);for(let i=0;i<s.length;i++)zt(this,ao,"f")===16&&(oc(this,Fl,this.aes.encrypt(zt(this,Kt,"f")),"f"),oc(this,ao,0,"f"),this.increment()),s[i]^=zt(this,Fl,"f")[oc(this,ao,(n=zt(this,ao,"f"),t=n++,n),"f"),t];return s}decrypt(e){return this.encrypt(e)}};Fl=new WeakMap,ao=new WeakMap,Kt=new WeakMap;var rE,nE,sE;rE=new WeakMap,nE=new WeakMap,sE=new WeakMap;function Mh(r){if(r.length<16)throw new TypeError("PKCS#7 invalid length");let e=r[r.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");let 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 kh(r){return typeof r=="string"&&!r.startsWith("0x")&&(r="0x"+r),le(r)}function ac(r,e){for(r=String(r);r.length<e;)r="0"+r;return r}function co(r){return typeof r=="string"?re(r,"NFKC"):le(r)}function ye(r,e){let t=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);p(t!=null,"invalid path","path",e);let n=t[1],s=t[3],i=t[4]==="!",o=r;for(let a of n.toLowerCase().split(".")){if(Array.isArray(o)){if(!a.match(/^[0-9]+$/))break;o=o[parseInt(a)]}else if(typeof o=="object"){let c=null;for(let l in o)if(l.toLowerCase()===a){c=o[l];break}o=c}else o=null;if(o==null)break}if(p(!i||o!=null,"missing required value","path",n),s&&o!=null){if(s==="int"){if(typeof o=="string"&&o.match(/^-?[0-9]+$/))return parseInt(o);if(Number.isSafeInteger(o))return o}if(s==="number"&&typeof o=="string"&&o.match(/^-?[0-9.]*$/))return parseFloat(o);if(s==="data"&&typeof o=="string")return kh(o);if(s==="array"&&Array.isArray(o)||s===typeof o)return o;p(!1,`wrong type found for ${s} `,"path",n)}return o}var Yb="m/44'/60'/0'/0/0";function cc(r){try{let e=JSON.parse(r);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function iE(r,e,t){if(ye(r,"crypto.cipher:string")==="aes-128-ctr"){let s=ye(r,"crypto.cipherparams.iv:data!"),i=new Xs(e,s);return R(i.decrypt(t))}w(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function Vu(r,e){let t=L(e),n=ye(r,"crypto.ciphertext:data!"),s=R(H(_([t.slice(16,32),n]))).substring(2);p(s===ye(r,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let i=iE(r,t.slice(0,16),n),o=xr(i);if(r.address){let l=r.address.toLowerCase();l.startsWith("0x")||(l="0x"+l),p(k(l)===o,"keystore address/privateKey mismatch","address",r.address)}let a={address:o,privateKey:i};if(ye(r,"x-ethers.version:string")==="0.1"){let l=t.slice(32,64),u=ye(r,"x-ethers.mnemonicCiphertext:data!"),d=ye(r,"x-ethers.mnemonicCounter:data!"),x=new Xs(l,d);a.mnemonic={path:ye(r,"x-ethers.path:string")||Yb,locale:ye(r,"x-ethers.locale:string")||"en",entropy:R(L(x.decrypt(u)))}}return a}function Wb(r){let e=ye(r,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){let t=ye(r,"crypto.kdfparams.salt:data!"),n=ye(r,"crypto.kdfparams.n:int!"),s=ye(r,"crypto.kdfparams.r:int!"),i=ye(r,"crypto.kdfparams.p:int!");p(n>0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),p(s>0&&i>0,"invalid kdf","kdf",e);let o=ye(r,"crypto.kdfparams.dklen:int!");return p(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:t,N:n,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){let t=ye(r,"crypto.kdfparams.salt:data!"),n=ye(r,"crypto.kdfparams.prf:string!"),s=n.split("-").pop();p(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",n);let i=ye(r,"crypto.kdfparams.c:int!"),o=ye(r,"crypto.kdfparams.dklen:int!");return p(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:t,count:i,dkLen:o,algorithm:s}}}p(!1,"unsupported key-derivation function","kdf",e)}function Ml(r,e){let t=JSON.parse(r),n=co(e),s=Wb(t);if(s.name==="pbkdf2"){let{salt:d,count:x,dkLen:m,algorithm:A}=s,b=nt(n,d,x,m,A);return Vu(t,b)}w(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});let{salt:i,N:o,r:a,p:c,dkLen:l}=s,u=fr(n,i,o,a,c,l);return Vu(t,u)}function $b(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}async function kl(r,e,t){let n=JSON.parse(r),s=co(e),i=Wb(n);if(i.name==="pbkdf2"){t&&(t(0),await $b(0));let{salt:x,count:m,dkLen:A,algorithm:b}=i,E=nt(s,x,m,A,b);return t&&(t(1),await $b(0)),Vu(n,E)}w(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});let{salt:o,N:a,r:c,p:l,dkLen:u}=i,d=await lr(s,o,a,c,l,u,t);return Vu(n,d)}function jb(r){let e=r.salt!=null?L(r.salt,"options.salt"):$e(32),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)),p(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),p(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),p(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 qb(r,e,t,n){let s=L(t.privateKey,"privateKey"),i=n.iv!=null?L(n.iv,"options.iv"):$e(16);p(i.length===16,"invalid options.iv length","options.iv",n.iv);let o=n.uuid!=null?L(n.uuid,"options.uuid"):$e(16);p(o.length===16,"invalid options.uuid length","options.uuid",n.iv);let a=r.slice(0,16),c=r.slice(16,32),l=new Xs(a,i),u=L(l.encrypt(s)),d=H(_([c,u])),x={address:t.address.substring(2).toLowerCase(),id:Sc(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:R(i).substring(2)},ciphertext:R(u).substring(2),kdf:"scrypt",kdfparams:{salt:R(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(t.mnemonic){let m=n.client!=null?n.client:`ethers/${wo}`,A=t.mnemonic.path||Yb,b=t.mnemonic.locale||"en",E=r.slice(32,64),T=L(t.mnemonic.entropy,"account.mnemonic.entropy"),v=$e(16),O=new Xs(E,v),D=L(O.encrypt(T)),C=new Date,J="UTC--"+(C.getUTCFullYear()+"-"+ac(C.getUTCMonth()+1,2)+"-"+ac(C.getUTCDate(),2)+"T"+ac(C.getUTCHours(),2)+"-"+ac(C.getUTCMinutes(),2)+"-"+ac(C.getUTCSeconds(),2)+".0Z")+"--"+x.address;x["x-ethers"]={client:m,gethFilename:J,path:A,locale:b,mnemonicCounter:R(v).substring(2),mnemonicCiphertext:R(D).substring(2),version:"0.1"}}return JSON.stringify(x)}function lo(r,e,t){t==null&&(t={});let n=co(e),s=jb(t),i=fr(n,s.salt,s.N,s.r,s.p,64);return qb(L(i),s,r,t)}async function fo(r,e,t){t==null&&(t={});let n=co(e),s=jb(t),i=await lr(n,s.salt,s.N,s.r,s.p,64,t.progressCallback);return qb(L(i),s,r,t)}var lc="m/44'/60'/0'/0/0",oE=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),en=2147483648,aE=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),cE="0123456789abcdef";function Qu(r,e){let t="";for(;r;)t=cE[r%16]+t,r=Math.trunc(r/16);for(;t.length<e*2;)t="0"+t;return"0x"+t}function Jh(r){let e=L(r),t=ee(Ne(Ne(e)),0,4),n=_([e,t]);return Ks(n)}var qr={};function ey(r,e,t,n){let s=new Uint8Array(37);r&en?(w(n!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(L(n),1)):s.set(L(t));for(let o=24;o>=0;o-=8)s[33+(o>>3)]=r>>24-o&255;let i=L(ir("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function ty(r,e){let t=e.split("/");p(t.length>0,"invalid path","path",e),t[0]==="m"&&(p(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++){let i=t[s];if(i.match(/^[0-9]+'$/)){let o=parseInt(i.substring(0,i.length-1));p(o<en,"invalid path index",`path[${s}]`,i),n=n.deriveChild(en+o)}else if(i.match(/^[0-9]+$/)){let o=parseInt(i);p(o<en,"invalid path index",`path[${s}]`,i),n=n.deriveChild(o)}else p(!1,"invalid path component",`path[${s}]`,i)}return n}var Dl,Dh,uo,Jl,Lr=class Lr extends Dn{constructor(t,n,s,i,o,a,c,l,u){super(n,u);y(this,Dl);g(this,"publicKey");g(this,"fingerprint");g(this,"parentFingerprint");g(this,"mnemonic");g(this,"chainCode");g(this,"path");g(this,"index");g(this,"depth");Je(t,qr,"HDNodeWallet"),N(this,{publicKey:n.compressedPublicKey});let d=ee(cr(Ne(this.publicKey)),0,4);N(this,{parentFingerprint:s,fingerprint:d,chainCode:i,path:o,index:a,depth:c}),N(this,{mnemonic:l})}connect(t){return new Lr(qr,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}async encrypt(t,n){return await fo(S(this,Dl,Dh).call(this),t,{progressCallback:n})}encryptSync(t){return lo(S(this,Dl,Dh).call(this),t)}get extendedKey(){return w(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Jh(_(["0x0488ADE4",Qu(this.depth,1),this.parentFingerprint,Qu(this.index,4),this.chainCode,_(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new ho(qr,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){let n=M(t,"index");p(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~en),n&en&&(s+="'"));let{IR:i,IL:o}=ey(n,this.chainCode,this.publicKey,this.privateKey),a=new Ge(Fe((Ot(o)+BigInt(this.privateKey))%aE,32));return new Lr(qr,a,this.fingerprint,R(i),s,n,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return ty(this,t)}static fromExtendedKey(t){let n=te(gc(t));p(n.length===82||Jh(n.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");let s=n[4],i=R(n.slice(5,9)),o=parseInt(R(n.slice(9,13)).substring(2),16),a=R(n.slice(13,45)),c=n.slice(45,78);switch(R(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let l=R(c);return new ho(qr,xr(l),l,i,a,null,o,s,null)}case"0x0488ade4":case"0x04358394 ":if(c[0]!==0)break;return new Lr(qr,new Ge(c.slice(1)),i,a,null,o,s,null,null)}p(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,n,s){var o;t==null&&(t=""),n==null&&(n=lc),s==null&&(s=xt.wordlist());let i=Yr.fromEntropy($e(16),t,s);return S(o=Lr,uo,Jl).call(o,i.computeSeed(),i).derivePath(n)}static fromMnemonic(t,n){var s;return n||(n=lc),S(s=Lr,uo,Jl).call(s,t.computeSeed(),t).derivePath(n)}static fromPhrase(t,n,s,i){var a;n==null&&(n=""),s==null&&(s=lc),i==null&&(i=xt.wordlist());let o=Yr.fromPhrase(t,n,i);return S(a=Lr,uo,Jl).call(a,o.computeSeed(),o).derivePath(s)}static fromSeed(t){var n;return S(n=Lr,uo,Jl).call(n,t,null)}};Dl=new WeakSet,Dh=function(){let 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},uo=new WeakSet,Jl=function(t,n){p(Wt(t),"invalid seed","seed","[REDACTED]");let s=L(t,"seed");p(s.length>=16&&s.length<=64,"invalid seed","seed","[REDACTED]");let i=L(ir("sha512",oE,s)),o=new Ge(R(i.slice(0,32)));return new Lr(qr,o,"0x00000000",R(i.slice(32)),"m",0,0,n,null)},y(Lr,uo);var _n=Lr,ho=class r extends Di{constructor(t,n,s,i,o,a,c,l,u){super(n,u);g(this,"publicKey");g(this,"fingerprint");g(this,"parentFingerprint");g(this,"chainCode");g(this,"path");g(this,"index");g(this,"depth");Je(t,qr,"HDNodeVoidWallet"),N(this,{publicKey:s});let d=ee(cr(Ne(s)),0,4);N(this,{publicKey:s,fingerprint:d,parentFingerprint:i,chainCode:o,path:a,index:c,depth:l})}connect(t){return new r(qr,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return w(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Jh(_(["0x0488B21E",Qu(this.depth,1),this.parentFingerprint,Qu(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){let n=M(t,"index");p(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~en),n&en&&(s+="'"));let{IR:i,IL:o}=ey(n,this.chainCode,this.publicKey,null),a=Ge.addPoints(o,this.publicKey,!0),c=xr(a);return new r(qr,c,a,this.fingerprint,R(i),s,n,this.depth+1,this.provider)}derivePath(t){return ty(this,t)}};function Gh(r){let e=M(r,"index");return p(e>=0&&e<en,"invalid account index","index",e),`m/44'/60'/${e}'/0/0`}function _h(r){let e=M(r,"index");return p(e>=0&&e<en,"invalid account index","index",e),`m/44'/60'/0'/0/${e}`}function fc(r){try{if(JSON.parse(r).encseed)return!0}catch{}return!1}function uc(r,e){let t=JSON.parse(r),n=co(e),s=k(ye(t,"ethaddr:string!")),i=kh(ye(t,"encseed:string!"));p(i&&i.length%16===0,"invalid encseed","json",r);let o=L(nt(n,n,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),c=i.slice(16),l=new Ul(o,a),u=Mh(L(l.decrypt(c))),d="";for(let x=0;x<u.length;x++)d+=String.fromCharCode(u[x]);return{address:s,privateKey:ge(d)}}function ry(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}var _l,Xh,po=class po extends Dn{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Ge(e):e;super(n,t)}connect(e){return new po(this.signingKey,e)}async encrypt(e,t){let n={address:this.address,privateKey:this.privateKey};return await fo(n,e,{progressCallback:t})}encryptSync(e){let t={address:this.address,privateKey:this.privateKey};return lo(t,e)}static async fromEncryptedJson(e,t,n){var i;let s=null;return cc(e)?s=await kl(e,t,n):fc(e)&&(n&&(n(0),await ry(0)),s=uc(e,t),n&&(n(1),await ry(0))),S(i=po,_l,Xh).call(i,s)}static fromEncryptedJsonSync(e,t){var s;let n=null;return cc(e)?n=Ml(e,t):fc(e)?n=uc(e,t):p(!1,"invalid JSON wallet","json","[ REDACTED ]"),S(s=po,_l,Xh).call(s,n)}static createRandom(e){let t=_n.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){let n=_n.fromPhrase(e);return t?n.connect(t):n}};_l=new WeakSet,Xh=function(e){if(p(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){let n=Yr.fromEntropy(e.mnemonic.entropy),s=_n.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")}let t=new po(e.privateKey);return p(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},y(po,_l);var Gl=po;var lE=")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";function ny(r,e){let t=(1<<r)-1,n=[],s=0,i=0,o=0;for(let a=0;a<e.length;a++)for(s=s<<6|lE.indexOf(e[a]),i+=6;i>=r;){let c=s>>i-r;s&=(1<<i-r)-1,i-=r,c===0?o+=t:(n.push(c+o),o=0)}return n}function sy(r,e){let t=Du(r).join(",");return e.split(/,/g).forEach(n=>{let s=n.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);p(s!==null,"internal error parsing accents","accents",e);let i=0,o=ny(parseInt(s[3]),s[4]),a=parseInt(s[2]),c=new RegExp(`([${s[1]}])`,"g");t=t.replace(c,(l,u)=>(--o[i]===0&&(u=String.fromCharCode(u.charCodeAt(0),a),i++),u))}),t.split(",")}var Xl,Xn=class extends at{constructor(t,n,s,i){super(t,n,i);y(this,Xl);h(this,Xl,s)}get _accent(){return f(this,Xl)}_decodeWords(){return sy(this._data,this._accent)}};Xl=new WeakMap;var fE="0itatkastcenaovo$taouleraeki&chor*teci%enbalodaeladet'!Chn=0Di#%E%^1Resa2Rese3CeT'#0EjKohol0Pu)%0A&sDul#Ekdo)Ke)Ti#Ul|3}aOgan%0FaltI$@tPi,%TmaTronom0LasL{i#Ol0Tobus4Yl:B#}<CilCul#D!_Ge)GrHnoKterieLa^L{#LkonLon-LvanLzaMbusNkom!R[rR{RmanRokoRvaTer#TohVl&Zal#Zili#Zu#3D&RanSe^StieTonZin#ZmocZ)k3CyklD]Ft-KinyLan%Og,fO]gTvaZon2AhobytAt*/E/aEdu+EskIk!Iz&Ok|Oud Ud2B-BrDl.D~H!(JkotJ|K<ysLe$R>R'?TaUb_U/!U^U+Ur!Xer2A^v#Ambo,An#AtrEp)Ike)KoLohOnzOskevUn{#Usin#Z^Zy2Bl.Bn|})D _D#D'aF{Jar(Kv?LdokLvaN^NkrRzaTikVolZola3D+tL.T'#0Ukot:PartRev&3DrDu+J/JnLaLerLkemLn?N.Nn(N'#NtrumNz<StopisT#2AlupaAp`]Ar aA)E/t!EmieI/otIrurgL`Le[Lub M_Mu,ObotO/olOd[O+,Om=Op Oro[OvRapotRl RtRupTiv(Ud.Utn!V!Vil#V(Y[Y$!Yt 0Bu+Gare)H_&HlaNkotRkusSter&Ta%TrusZin>Z(2O&2KolivUv!4It_N(0Dn(Ke)KrPot0Ak~AlIkRkot2Kli$a:L-oRe[T_Tum1E,1B!a}'#Cib_Fic Fla%KlKr{Mokr!PreseRbyS#T-tiv3Kob,zKt|O^P]mSkSp+jV`]Vo/2AhaOuhoUhopis1Es0BroByt-C@t}ut DnesH+dHo^H,JemJn?Kl`KolaKt<Kum@tLarLevaL.MaM.ntMluv M'Nut P`PisPln PosudPr'odPu$ Raz R(RtSahSl'St!-SudSy)TazT-Tk~Uf!Utn!Voz%Z`uZn!Z<%2Aho)AkAm!ikAv>AzeDolObn(OgerieOzdSn(T Z(2B@}'noD-HaH'#S SnoT(0Oj?Or>2Nam :9O]gOnomie0EktronIpsa0AilIseO%P!ie2Izo^O/aOpejOs2EjEn%K<)Kymo0Ike)0F<ie0Olu%1Eku%KurzePed?P]zeP<tT,kt:C#Jf#Kul)N!ikN)zieRmacieV< Zo+3De,%J{onN#3Al#Gu,ntLozofLtrNan%N)Xa%0Ord1An_IrtOtila2NdSf<T[lT#Ton2Ak%Es#On)2KarNk%3Zi#:LejeRant3N{i#O]g3Lot.2Azu,Ejt2LemLfi$aTi#2AfAmofonAnu+EpIlOgOtes#2Ma:D?DrLaL@#N[NopisRfaRpu&V,n3Bk(J#lJnoJtmanK)rLmaM!omR>R&S]Zky3St<ik2Ad'#AsivkyAvaEd!EnO^v>OhOup(T!Ub.U/o)0AtO)Yz0IsOjivoOut0Bl.Boj}DinyDl!Dno)D|Jn(KejLin#L#LubMo+N [No,%RalR^RizontRkoRliv>RmonRn.RoskopR$voSpo^St.T'(U[UfUp!Us#V<2Ad[An?Av(Az^Bo+kD.D]D(N-Ob#Oma^OtOu^Oz@St#Ub(Yz!2B@(B~D[KotMrS aSto)0Ozd2Bn(D,ntGie&M&Sterik:2Yl#3Ned2O&0Uze0Un a0F-%Fla%KasoOva%Sp-%Tern{Vali^Ve$<Zer%3Onie:Blko})Ho^Kmi+K(L'>N)rRmarkRoSanSnoT#V<Zyk3Din>D+Dn!_HlanKotL@L oMn(NomP?S{erV Zd>Zero3NakNdyNo/Sk,Sto)Trn?Zva3En|1Gurt5R):Bar{B_Bin{}&D{Did]HanJakJu)KaoKtusLam aLhotyLibrLn(Me,MkolivM&Ni[lNoeNt<Pal.P_aP olaP#P+Po)PrPu$aPy[,Ram_Rot#RtonSaTa]gTed,U%UzaVa+cZaj#Ze)Ziv(2EkolivEsi0Dlub@MpRami#3No2A%kAdivoAmApotAsi#AunEcEn[Ep!Es~IdImaIs&Ob*kO#nOpaOubUb'&Us!Uzk(0EnIt!Otr0IhaOt0Al?Ber>B#BlihaBylaC*rH=J@>KosKtejlLapsLe^LizeLoMandoMe)MikMn!aMo,MpasMun aN!N%ptNd?N>NfeseNgresN.NkursN)ktNzervaPan>PieP~Pr'#Rb_R-t<Rmid]RoptevRpusRu&RytoRz{S!>St#T_T+)T*lUk!Up_&Us-Uz]VbojZaZ<oh2Ab?A/Aj.Al|AsopisAv!aEd EjcarEs[Eve)Ik{ItikIzeKav>Me+cMivoOcanOkOni#Op OupaOv#T-Uh`]Up?Ut(Vin#Y/+Yp)Y$alYt2Dlan#FrJn(KlaLaj^Li/L#Lom{Ltu,NaPodivuRtRz<Til0Al aAsin#E$<2No]gS_.Ta,T?T#T'>V`]:B,d<})nDn(IkKom>M_aMpaN'#S?SoStu,Tin#V.3B#CkdyD@Dn?D'#Dv.G@^GieG,%H%Hk(H~KtvarNo/odNtil#P@#Pid]T`]T>TmoTokruhVhartV a%Vobok3B,}ot#DojedDsk(H'.Jav>L-M{#NieN#No+umStop`T.T|5Bi$aDivodGi#GopedKal aK{Mc|P!aPu/RdSosTrU^lUhU#Usk!V>3Tiv(1Cer&CiferMpSkSt,%0I%2RaRi#S.:DamD]Gi$rHagonJ{-J _J< aKakK'?Kr_aL[L.L|Lv?Min#Nd+NkoRn(SakrSkotSopu$T?Tri#Tur aZan>ZivoZl Zur#2Lo[0}anikD a%D'.LasaL*nNtol#TlaTo^TrZe,3G,%H~Hu+K.KrofonL@>Lim{rL(Mi#Nc'&Ni[rNom{Nul(S#StrX|2Ad(HaH'.OkS!Uv 1I/Ohem0BilCn(D_#Dl [HylaKroL-ulaM@t#Nar/aNoklN$rumNt|NzunSazSkytStTiva%T<#Ty#U/aUdr(Zai#Z-Zol2Am<Av@>KevTvolaZ{Zut(0T _1DrcF]nL!MieN?S{Ta%ZeumZi#nt3Sliv>0Da:B*r!}yt!Da%Dbyt-DhozDobroDpisHlasHn!Hodi+H,d Iv aJedn*Ji$oJm=K]n Kon>Krm LevoMaz!Mluv Nom{rOkoOpakO$roP`!PevnoPln P~Pos+dPr(oRod RubyRy/]S` S-!S+poSt!TolikV@-Vr/Vzd<yZv!3Be}!CkyDa+koDb!DuhGa%H{Ho^J@JprveKlidLib(Mil(MocO/o)On#PokojR(RvSmyslS*l`Tv<UronV.Zvyk+3Co)JakKamKdyKlKte,kTro5C+hHav?M.%RaR-S _Sn(UzeVinyVo)Zd,5DaD+G{T Tn(Trie3Mfa:0AlArv AvaDivEcEhn!Ejm=Ez aHajo[Iln?Jasn J-tK]p La$L-Li[LohaLu^NosOh! Oj-OutRaz>R&Ru[RysSahSluhaS)r!UvVazVin VodVyk+Yv!_Z<0AsElEn Hl` Ho)H,&It~0BojByt}odCiz Ebr!Esl!Evzd!EzvaH`%Hod J{JinudKazK*p LivLu#Ml#Oln(P`PisPl=P<Pu$ Pyk!Raz#S*d StupSunTokTudVahaVe)Vol!V,%tZ&k1I&Sajd1LasNiskoRa^Roz Ryz-2ApEn?Li#NoOuzl OvyRasaResRs-RuhUpantUr#Us 0Ejn.Iz|0AkE+)Ez L`.L*v!LuvaYl0Ehdy1Ak|As-E,%I%Il(Is|O,Oz?RavduRoti1B al}e$rGieL?LojT_0A^}~I#IvoLavaLep Ln L' N'aO[Ol Pa+cT@T,haTu^Ty/Voj 0Epl IskOpRh!Rl(RokRubyV<1A~ArEsLivn O%1Id1Do[:}!_Ci@tD*/H<-KtLan^L>LivoLu[Mf+tMls-N@#Ni#N&N|N$voNtof+Pri#Rke)RodieR)Ru#Ry[Se#Siv aSt_#T@tTro&V*kZnehtZ*r-3C#DagogJs-K]LotonNal)Ndr-NzeRiskopRoStr(Tar^T?Tro+jVn.Xeso3Ani$aHaJav?K+KnikL.Ln(Lul#Nze)Pe)S!_Sto+Tev&Vn?V'ar2A%n)Ak!Am@Ane)A$i#At Avid]AzE/Em@oEn)EsEtivoEv_Iv!N NoO/aOd.Om[OutUkYn2Bav Byt}odC Ctiv>D!D%n Deps!Dh+dDiv Dkl`Dman DnikDo[Dpo,D,zD$!aDvodDzimEzieHan#Hnut#H'<HromaHybIn)Ji$#Jm=Kaz K+sKojKrokKu)KynLedneLib-Lk~LohaLynomMaluMi~Ml#MocM$aMys+tNe/!N<#Nur(P`!P_Pis-Pla/Pros Ps!PudR`%R%RodRu/aRyvS` SedSilaSkokSlan>S*d SpoluS)vaSud-SypTahT#nT+skTom-T,vaTupaTvo,U#zUtoUzdroVahaVidlaVlakVozVr/V$!VykVzde/Zd,vZem-Zn!-Z<Zv!2Ac|Ah<yAkti#A+sAot>Ap<-AseAv^IncipKnoObud O%ntoOdejOfeseOh,Oj-tO]m Omi+Onik!Op`OrokOs[OtonOut-OvazS#v#St@Udk(UtV-Voh<y0An>OvodTruh0Actvo0Ber)}DlKav>Kl.Kr+LtMpaNcP@SaSin#St.T|Ty#3Rami^SkT_::C-}otDia%Dn?DonFtGbyKe)K'.M@oMp*/NdeRa/R aS'&StrTo+$Zan%Zid]3Ag|Ak%CeptDakt<Fer@tF+xJnokKlamaK<dKrutKt<Pu)%VizeVmaVolverZerva3Sk|Ziko5Boti#Dokm@H'#K+KokoMan{oP'odPu/aRejsSolStl.Tmi$rTopedTun^Ub@#U/oUpU,V.Vn?Zb<Z/odZd!Zezn!Zhod%Zin#ZjezdZ#zZ]haZmarZp`Zru/ZsahZtokZumZvod5Bri#}`]Kav?Kopis3BaBol'}l(D]P`]T.Z(:Di$aH!KoM>Mizd!Mo)N #Rdin#San#T_ Z[Z@?0Or0H|1B,n#CeseD`]Dim@tD]Hn!Jm=Ke,K)Kun^KvojeM@oNoRvisS` Sho,SkokSl!St,SuvSyp!T[T.Tk!T~Trv!VerZ&m2O^R~0FonLn?R#Rot-RupTua%1AfandrAliskoAnz@AutEptikIcaL`[L@?LoLuzO[O#nOroRip)RzUp.V(Vr&0Abi#Adid]An.A$Avn(Ed|Ep>EvaEz.IbI&Izn?OnOup-OvoU/UhaUn%Up#Za0A,gdE)&Il$voL*vaOgR`RkRt#Ut-Ysl0AdAhaOb0Bo)}aD'#KolP#TvaUbojUc Ud%UhlasUl`Um,kUp,vaUsedUtokUvis{0Al'&As _IsLavOd-Oj@>OluOnz<Orn(Ou$aR/aU$ 1An^AzD%NaN>Ovn!P@StUb1An?Ar(aAti#Av[EhnoEz#OdolaO+kOpaOrnoOup!Ra/ResRh~RomRu&Ud&Upn?VolYk0Bj-tBtropy}arD(KnoNd!N=Rik!aR'.0AhAl$voEtrAt[Az-Is+It-Obo^Odid]Or#Rab2Kav#KotN-N'>P!Pk(R'(S_T(:B+t#Bu+H*nJemnoJfunJgaJ Jn(Kti#Mh+MponNc|N>NkerPe)V@.Z!_3}ni#HdyKut.LefonMno)Nd@%Ni$aN<P])P&PrveRapieRmos#Xtil3}oSkopisTu+k1Ad+cAn.0Ap#Esk!UkotUpa0El1A+)Pin#PolRzoUhaU+c2Ad?Akt<AmpAsaAverzaEf E$Ez<Hav.Hl.O/uOj?Os#Ou[P%P _Pk(Ub>U/l Uhl?UsV!2DyH~H(Nd,Ri$aR&jZemsko0ArohOr[Rd(Rz2GrKev:0Oh(OzeR!R*s-RusYt'&0HoTiv(0Iv 3R` 1Edn!I$ M=0Az!_Lidn Lon Otv Roj 0I%I)Ov 0Yv`]0Av If<maIk~1Ad~L!n Ly~Out!Rav 1AnAz 0Ed~Il|Mrt N`n N=Oud Tl!Tr~0Ah|K!Lum O~Op@>R*s 1Al Oln Oz'#3D,v ElEn.L.N!:GonL/aL*nNaN^lNil#RanRhanyR|1ElkuHod0Ova0DroGe)%J%Lbl*dL{rhL _LmocLry[Nk'Ran^RzeS_#SkrzeSn?SpoduS)Ter.Ver#3B,%}rDeoh,D.D+LaN?S{Tal aZeZ #0Ezd0L`Us0Aj#AkAs>EvoHk(IvN'#Oup!1Uc|Uk0DaDiv(Doz&kD$voJ@skyJ&JskoLantL[L LnoSk'#Zid]Z'&0Ravo1Ab>A%tAhA)Ba}o+kH!StvaTu+0Ad T*p Tup0Ip4Bav Br!}|D!D,Fot H+d!H~Hod H,d Hub Jasn J{Jm=K]p Kon!L-!Maz!Mez Miz{Mys+tNe/!Nik!Nut P`!Pl! P,v Pu$ Raz R'n!Rv!Sl' SokoS)v Su~Syp!Tas Tes!Tr! Vi~Vol!Vrh_Zdob Zn!0AduBud }op D<Du/Dy/!E$upH+demKazLyk!NikOr-P*,TahT-::993Lofon::Br!Byd+t}|DarmoDus F*k!Hlt Hod H,^Hy~J!>J{Ji$ K+p!K*p Lep Mez Mot!Mys+tNe/!Nik!Pl! Poj Ps!Raz S)v Su~Taj Temn Tk~Ujm=Val Ve+tVin Vol!Vrt!Zvon 0Av RusuUd|Yt-1A+#ArmaAtn(IvoOb RojVihYm`]0L@.ManM.Pt!Z`uZdola2At Lt~Lubo#Ot' Ru[0MaMn?0Emn 0Lam!Oum!R!#Umav#0AtoEh#O[OmO$Ozvyk0Ap|ArAt-IjeIz{Ocn Odr!Rzl.Ut|0AkAl(Am@!Ovu0B,z Tav Ub-Ufa+0Lod Omal RavaR( Rud#Rvu1A^An C`]N (NoOv&Y/l Zav(1I/aR! 0B'.Br0Ed~EnkuEs_aOnR!Uk'odYk",uE="0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a",Hh=null,Zu=class r extends at{constructor(){super("cz",fE,uE)}static wordlist(){return Hh==null&&(Hh=new r),Hh}};var dE="0arertoiotadonoaRteirroenaNonaLsolocoiliaralaorrenadaChoN$n0A>Dom,EjaI!#Oga&O'Or#RazoR*Ue=U<0Ab Adem@Ce<C~Ei)ElgaEn#Ept I&L NeOg!O<TivoToTrizTu Ud*U!&Us 0Ic#Mit*Opt Or'Ua`Ul#0Reo0Ect Ic~In Irm 0IlIt On@Os#Ot Reg R$UaU&U?aUja0OgoOr+0ReSl 0Ed_zE'Us)1Ac[nAmb_ArmaBaBumCaldeDeaEg_Ej Er%E%F?!GaGo&nIa&I,#Iv$MaMejaMib T TezaTivoToTu[Um'Z 0AbleAn)Apo]ArgoAs B Bi#E'IgoIs%dOrP oPl$0|oC@'C]D D,Em@Gu=Il=ImoIsOt T,aTiguoTojoUalUl Unc$Ad*EjoO1Ag A[#Eti#IoLic O&Or)OyoR,d!Rob Ues%U+1A&A`ArBit+BolBus#|ivoCoD!D?]DuoEaI&IesM.i-esOmaPaP.Reg=RozRugaTeTis%0AA&Al#C,<Egur EoE<rI,#I=Ist*NoOmb+P!oT?]T+Tu#Um*Un#0AjoAqueArEn#EoI>Le%OmoRa!RozUn0DazD$GeLaM,#S,)T^0AlAnceA+EEl]`E`EstruzI.I<2ErU{U'0Af[nArO)Uc Uf_Ul:BaB^|eH@IleJ Lanz/c.LdeMbuN>Nd-oRb(>RnizR+Scu]S#nSu[Tal]T!@T*Tu%UlZ 3BeBid/=S SoSt@3|oEnNgo2An>OqueUsa2ABi`BoCaCi`DaDegaIn//!oLsaMb-{dNi#N}saiRdeRr SqueTeTinVe{Zal2AvoAzoEchaEveIl=In>IsaOcaOmaOnceO)UjaUs>U#2CeoCleE'EyFan{F.HoIt_L#Rbuj(l(+Sc TacaZ.:Bal=BezaBi`B[CaoDav!D,aErFeI{ImanJaJ.LLam Lc$L&Li{dLleLm/^LvoMaMb$Mel=Mi'Mp}c!Nd?Nel-gu+Nic-#N-.ObaOsPazPi%nPo)Pt Puch((b.RcelRe%Rg(i'RneRpe%R+R%SaS>S!oSpaS#rT^ceT_U{lUsaZo3Bol]D!D+Ld/eb_Lo<Lu]M,#Niz-t+Rc(&Rez(oRr R)zaSpedT+2AcalAle>AmpuAnc]ApaAr]I>Is)IvoOqueOzaUle%Up 0Cl.EgoE=EnEr#F[G +M->NeN%P_sR>Rue]SneTaU{d2Am^AnA+AseAveI,)ImaInica2B_Cc~|i'Ci`CoDigoDoF_G!He)JinJoL/ch/eg$Lg Lin/l LmoLum`Mba)M!Mi{Mo&Mpr-deNej}g-oc!Nsej}t PaPi(az.Rba%RchoR&nR.(r!S!SmosS%2AneoAt!E Ec!Ei&EmaIaIm,Ip%IsisOmoOnicaOque%U&Uz2Ad+Ar#At+BoBr*| aEl=En#Er{Es%EvaId Lebr/p/#Mb_Mpl*N-e%O%P.Pul( R$<R<RvaTis:M-z(R&T?3B!B?Ca{C*DoF,saFin*J LfinLga&Li#M^-<N%lP^)RechoR+%Sayu'SeoSf?eSnu&Sti'Sv$TalleT,!U{3AAb=AdemaAman)A`Ar$BujoCt En)E%EzFic?G'Lem/u*N!oRec#Rig*S>Se'Sf[zVaVi'5BleCeL^Ming}N Ra&Rm*R<SSis2Ag.Oga2|aDaE=E'LceOQueR Rez(o:0A'R$0H OUa&r0AdIc~Ific$I#rUc 1Ec#Icaz3EEmp=1Efan)Eg*Em,#Ev IpseI)Ix*Og$Ud*0Bu&It*Oc~Pa)Pe'PleoP_sa0A'C go|ufeC@EmigoE+Fa&F!moGa'Igm/aceOrmeRe&SayoS, T!oTr VaseV$1Oca0Uipo0Izo0Ca]C,aCol Crib*Cu&Enc@F!aFu!zoPa{PejoP@PosaPumaQuiT TeTi=Tufa0ApaEr'Ic-@1Ad*Alu En#It 1Ac#Am,Ce<CusaEn#Ig*Il$Ist*I#P!#Plic P.!T_mo:BricaBu]|a{C?C#rE`J/d/=L<Lt MaM?@Mo<Ra.Rmaci(olRsaSeTigaU`V^X3Br!o|/izORi(ozRt?Rv^Stin3AbleAnzaArB[Cc~|aDeoEb_ElE[Es%Gu[J JoL/e)L@lLt+NNc-g*Ni#Rma2A>Au%EchaOrO%U*UjoU^2B@CaGa%G.L$Lle#N&Rm(+Rtun(z SaTo2Aca<Ag?AnjaAseAudeE*E'EsaIoI#U%2EgoEn)ErzaGaM Nc~Nd(g.R@S?TbolTu+:Ce]FasI%JoL/!i/=Mb- Nch}g-<RajeRzaSoli`St ToV?an3Me=M*NN!}$N)Ran$R,)Rm,S#3Gan)M`s$R Ro2Aci OboOr@2LLfoLo<LpeM(&R?([TaTeoZ 2A{Afi>A'AsaAtisAveIe%Il=IpeIsI#O<rUaUe<UmoUpo2An)ApoArd@Er[IaI'I.I<It [Sa'St :B!B?Bl C!|aD/l Mac(i`ZZa`3B?]B[|oLa&L$Mbr(*Rma'RoeRv*3E=Er+Ga&Gi,eJoM'S#r@5Ci>G Gu!aJaMb_Ng}^Nr((mig('St?Yo5E>ElgaEr%E<EvoI{IrMa'Me&M?deM}d*RacanR#:1O'0EalIomaO=2Lesi/uUal4EgalUs~0Ag,AnIt P P!$P.!Pul<0CapazDiceEr)FielF^meG,$Ic$M,<MuneNa#Sec#S%n)T!esTimoTu*Ut?Vi!'3AIsOn@0L/o):BaliB.M.RabeRdinR[U]Zmin3FeRinga3Ne)5R`d(obaV,Ya5ErgaEvesEzGa&rGoGue)Ic$N>Ngl-$Nt Pit!R S#V,?Zg :7Lo5A]:B$C$C[DoD+nG #GrimaGu`I>M!Mi`Mp --ch-gos%NzaPizRgoRvaStimaTaTexT*U_lV Zo3AlCc~|eC#rErG~Gumb_Ja'Ngu-#NaOnOp &S~TalT[VeY,{3B!%dB+C^D!Di EnzoGaG!oMaMi)M.Mp$NceN&Ne-go)N}t!`Qui&SoS%T!aT$T+2AgaAmaAn#AveEg En Ev Or Ov!Uv@2BoC~CoCu[GicaG+MbrizM}jaTe5|aC*G J}-esPaSt+ToZ:Ce%|oD!aD_Du+Est+F@G@GoIzL{dLe%Ll/oMaMboMutN>N&Nej Ng-iquiNj N}<N%Na`PaQuin(R>Re(f?Rg,Ri&RmolR+nR)sRzoSaSc aSivoT T!@TizTrizXimoY^Z^ca3|aDal]D$Du]J?]J^L,/.M^i-^NsajeN)NuRca&R,gueRi#SS.TaT!To&T+Zc]3E&ElEmb+G/Lag+Lit Ll.M}-!}im}u#OpeR SaS!@S?SmoTadTo5|?aC~DaDe=HoJ LdeL!Li'M,#Mi- c-ed-j-#NoRad(d!Re'R*R+Rs(%lScaStr TivoV!V?Zo5|oD EbleE]Er)Est[G_J!L/e%L%N&Nec(alRoScu=SeoSgoSicaS=:C C~D IpeRanj(izRr SalTalTivoTu[lUseaValVeVi{d3C$Ct G Goc$G+OnRv$ToUt+V V!a3|oDoEb]E#NezNoTi&Vel5Bleza|eMin(i(m()TaTic@Va#Ve]V$5BeCaCleoD?=DoE[EveEzLoM!oTr@:Sis0E<IspoJe#R(!oS!v T,!V$0AA<Ea'H,%HoIoReTavoTub_Ul#Up Urr*0I IoIsea0S)0EnsaEr%Ic$Rec!0Ro1DoR0O1AEa{Fa#IvoLaMoOrVi&0Bligo0DaZa1A>C~E[In On!T TicaUes#1Ac~A&rAlBi%CaD,EjaGa'G@Gul=I,)Ig,Il]OQues%Uga0Ad@Cu+Ez'OT[0O'Ro1EjaU=1I&Ige'0En)0O':C#D_El]Gi`GoIsJ oLabr/>Le%Li&Lm/om/p NNalNi>Nt!-ue=PaPelP?]Que)R Rcel(edR*RoRpa&RqueR[foR)S SeoS~SoS%TaT$Tr@UsaU%VoYa<3A#nCa&C!a|oDalD*G IneL L{'Le/ig+LlejoLoLuc--s N.OnOrPi'Que'R(ch(d!Rez(f?Ri>Rl(mi<R+Rs.aSaScaSimoS%`Ta=T+leoZZu`3C |.EEd[Er`EzaJam/ Lo#Mi,%N}#rNz-aOjoP(a%S Sci`SoS%T.Zca2AcaAnA%AyaAzaEi#E'OmoUmaU[l2B_CoD!D$EmaEs@E%L,Lici/=LvoMa{Me=MoMp-!Rc~R%lSa{Se!SibleS)T,c@T+Zo2A&E>zEgun%Em$EnsaE<Ev$ImoIncipeIs~Iv OaOb Oce<Oduc#OezaOfe<rOg[maOleOmesaOn#Op$OximoUeba2Bli>|!oD^Eb=Er%Es#Lg/*Lm.LpoL<M-#NalNoPaP?(e:99Ed EjaEm Er!E<Ie#ImicaInceIt :Ba'B@BoC~DicalIzMaMp-ch}goPazPi&P#SgoSpaToYoZaZ.3Acc~Ali{dBa'Bo)Ca!Ce%|azoCog!C_oC#Cur<DD.&Duc*FlejoF^maF[nFug$Ga=G*G]G_<H,I'IrJ/a#LevoLieveLle'LojM Med$M}>rNd*N%P #Pet*Po<Pt?SSca)Si`Spe#S#Sum,T*oT^'T[#Un*VesVis%YZ 3CoEgoEn{EsgoFaGi&G^Nc.N.OQuezaSaTmoToZo5BleCeCi D DeoD?]ErJizoJoM!oMp!NN>N{PaP!oSaScaSt+T 5BiB^DoE{G*I&In/e%LoMboM^Ptu[TaTi`:Ba&B!B$BleC GazG[&L/&L!oL*Lm.L.Ls/#LudLv Mb-c~Ndi-e Ng_Ni{dN}#PoQueRdin()nSt_TanU`Xof.3Cc~CoC_#C%DGu*IsL=LvaMa`M?l-d-<rNalN^P P@Qui(RieRm.Rv*S,%S~TaT,%V!oXoX#3D[Es%E)G=G'Lab/b L,c$L]Mbo=M$R,aS)maT$Tu 5B_C$D$LLap/{&Le{dLi&Lt Luc~Mbr-de}i&No+NrisaPaPl P^)R&Rp_s()oS)nTa'5AveB*Ce<D^Eg[E=E'Er)Fr*Je#L%nM P! Pl*P.!P_moRR>Re'Rg*S#T?:Ba>BiqueB]BuCoC#JoL L>L,#Ll/.Ma'Mb^Ng}quePaPe)P@P.Qu?l(deRe(if(je%RotR+R%TuajeU+ZaZ.3At+|oC]CnicaJa&J!Ji&L/efo'MaM^Mp=NazNd!N!NisN<Ori(api(>Rmi'Rnur(+rSisSo+StigoT!aX#Z3B$Bu+nEmpoEn{Er[E<G_J!/deMb_Mi&M}%OPi>PoR(.TanT!eTu=Za5Al]B?=C Ci'DoG/&M N}#P PeQueRaxR!oRm,%RneoRoRpe&R_R<RtugaSS>S!Xi>2AbajoAc#rA!Afi>AgoAjeAmoAnceA#AumaAz EbolEguaEin%EnEp EsIbuIgoIpaIs)IunfoOfeoOmpaOn>OpaO)OzoU>Ue'Ufa2B!@BoEr#MbaM^NelNic(bin(ismoR'T^:0Ic 9C!a0B[l0I{dIrIv!<OT A3Ba'BeG,)Na0ArU $0IlOp@1A:CaC$Cu`G GoI`J?l/eLi&LleL^Lvu]Mp*oR(i R.So3Ci'C#rHicu=In)JezL/!oLozN-c!Nd-e'Ng N*N%NusRRa'RboRdeRed(j(<Rt!3AAjeBr C$CtimaDaDeoDr$EjoErnesG^LLl-ag_N}e&OlinRalRgoRtudS^Sp!aS%Tami`U&VazV!oV*Vo5LcanLum,Lv!RazT ToZ5E=Lg :::C!Te3GuaM('So9DoGaGur:F*}jaPa#Rza93N(+5MoR&",hE="aeiou7695@@BZWWavwUJkO@Y-Kn))YEGq#E@O)cI@#ZkMHv$e*))M!!)D**$GW!oKm*Acoh^k&It-pi^SYW)$^n!G)bO!Wkzam(jS#X)Og*^l^RW!bQ#QygBKXfzE))hti!Qm)Cng%%c)mJiI*HJWbmYniCLwNdYyY%WKO^bnT$PuGOr!IvHu&G(GKbtBuhiW&!eO@XMeoYQeCa#!MrTJCq!OW&CHG(WCcW%%)$rfrIegu$)w!G)JGmWWw)MnD%SXXWIT^LWAZuVWB^W)eTL^x&$WGHW(nKWEMA)#$F$x$Waekqs,n7715)W*HM-$WAcCiu(a))VCZ)GG%(*CWWdW%$D!UCO$M",pE="0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300",Vh=null,zu=class r extends Xn{constructor(){super("es",dE,hE,pE)}static wordlist(){return Vh==null&&(Vh=new r),Vh}};var xE="0erreleontiteurinueiriet cegeanseali medenel q)eniluxaus ch0Ais}And$Diqu E`#Ol*Ord Ou%rOy RasifReuv Ri,Rog RuptS_-SoluS'@UsifYss=0A@m+AjouAr+nCab]Cep,Clam Cola@Cro~eCu}ErbeHatHe,Idu]I Omp&Qu *R$y?Te'TifT)l0Ep&EquatHesifJec%fJug Mett!M* Op,Or Ouc*Res<RoitUl&V be0R R$ef0Fai!Fec,Fi~eF!{Fub]0Ac Enc I#I,Raf Reab#Ru?1D Gu`#L>Mab#S/-0Ou,Us,1Arm Chim+Er&Geb!G)I_ I?ntLeg Lia.Lou Lum O'd*PagaTes<Veo#0A&'BiguB!Enag Ertu?Id$Ir=Orc O'Ovib#Phib+P#'Us/t0Aly<Apho!Ar~+Atom+C+nE/%rG#Gois<Gu#{Im=Nex N$-N)lOd(Om=+Ony?Orm=T_[Tido&X+{1Ai}Eri%fL/*Olog+Pa!`Pe]Por,Puy 0UariumUeduc0Bit!Bus&De'Doi<G_tLequ(Matu!Me?ntMoi!Mu!P_,Ra~ Riv Ro}S_icT +lTic#0PectPh=&P* S|tS v*S+t&Soc>S' TicotT!Tu-0El>O?RiumRo-Ta^T_%fT* Trap 0Ba(eB .Da-Dib#G' Ro!Tom[Tru~e0A]Anc Ari-En*Er<Eug#Ia&'I@I$I}O(eOu R`1I=Io?:D.Fou Ga.G)t&Igna@L/c Lc$Le(eLisa.Mb(Ncai!Nda.Nl+)Nn>eNqu>Rb>R`R$R^Rra.Ss(S%$Ta`#Te|T,+Udr>Vard 3Let&L>Lo&Nefi-R-|Rg Rl(eRmudaSa-Sog[Ta`Ur!3B $Cyc#Du#JouL/L(g)LlardNai!Olog+Ops+OtypeScuitS$Sto'iTu?Zar!2AfardAg)An~*Ess/tInd OndOqu Ous$2BardB(eI!I}Li@Nb$Nd*Nhe'Nif>NusRdu!R[T&Uc#Ue{Ug+Ul$Uqu(Ur<Usso#U%^Xe'2An~eAs>AveEbisE~eEuva.Ico]Iga@Ill/tIo~eI^O~u!Od Onz Ous<Oye'U?Us^Ut=Uy/t2Ff#Iss$L#%nRe|R(S% T( To*Vab#Vet&:B/$B(eChet&De|D!Fe(eIllouIss$Lcu]Lep(Lib!Lm Lomn+Lvai!Mara@M aMi$Mpag[N=Net$N$N%[NularPab#Por=Pri-Psu#P,Pu~eRab(eRb$eRes}RibouRna.Rot&R!|Rt$Sca@S>S^Ssu!U}U%$V=>V [Viar3D`#Intu!Les&Llu#Ndr>Ns' Ntr=Rc#Rebr=Ri<Rn Rve|S}2Agr(Ai<A#'Amb!An-Apit!Arb$As<'At$Auss$Av* Emi<En`#Equ>Er~ Ev=I_Iff!Ign$Im eIotLoru!OcolatOis*O<O)t&Ro?U&0Ga!Gog[M_,NemaNtr Rcu]R R^T [Toy_Tr$V`2A*$A?'Aqu As<Av>I_tIgn ImatIva.O~eOna.Opor&2B=tBraCas<Co% D Dif>Ff!Gn Hesi$Iff Inc L eLibriLl(eLma,L$elMbatMed+Mm/@MpactNc tNdui!Nf>N.]Nno,Ns$[NtactNvexePa(P+Ra`Rbe|Rda.Rni~eRpusR!ctR&.Smi^Stu?T$U@Upu!Ura.U&|Uvr*Yo&2AbeA(&Ava&Ay$Eatu!Edi,E?{Eu}Evet&Ib]I Ist=I,eOi!Oqu Ota#Uci=UelYp,2Bi^E`l*Il]eIs(eIv!Lm( L%v Mu]Pi@Ra%fR<'3Anu!C#L(d!Ni^:Ign M>Ng N<'Uph(3Batt!Bi,Bord Brid But/tC= Cemb!Ch* Cid Clar Cor Cri!Cup]Da#Duc%fEs<F_sifFi]Fray Gag Givr Glu%rGraf Jeun Li-Log M/d Me' Mol*Ni~ Nou N&l#Nud PartP_}Pha}Plac Po}R/g Rob Sast!S-n&S tSign Sobe*Ss( Str>Ta~ Tes,To' T!s<V/c V_*V( Vo*3Ab#Alog)Am/tC,Ff G Git=G[Lu M/~eM(u Oxy@Rec%fRig Scu,Spo}Ssip St/-V %rVi}5Ci#C&'G?IgtMa(eMici#Mp,Na&'Nj$Nn Pam(eRto*Ru!Sa.Se'Ss>Ta%$U/>Ub#U-'U,Y_2Ag$Ap Es}Ibb]Oitu!2P +P#xeRab#Rc*3Nas%e:0Lou*0Ar,HarpeHel#La* Lip<Lo!Lu<O#Onom+Or-Ou,Ra}Rem Riva(RouU?U!u`0If>Uqu 1Fac Fec%fFig+FortFray Fusi$0Ali}Ar 2Ec,1Abor Arg*Ectr$Eg/tEph/tEveIgib#I%s?O.Ucid Ud 0B=]Bell*Bry$Er|@Issi$M_ O%$Ouvo*P e'Ploy Por,Pri<Ulsi$0Cadr Ch eClaveCo~eDigu Dos}DroitDui!Erg+F/-F m Fou*Gag G(Glob Ig?Jamb JeuLev NemiNuye{Ri~*Roba.Seig[Tas}T_d!T>To' Trav Um Vah*Viab#Voy Zy?0L+n0Aiss*Arg[At/tAu#Ic +I@m+I Ilog)I[Iso@ItapheO^ReuveRouv Uis/t0U !Uipe0Ig Osi$Re'Up%$0C=>Pad$Pe-P+g#Po*PritQuiv Say S_-S+uSor Ti?TomacTra@0Ag eA]An~eA%^E(d!Endo*Er[lH/olHi^Hn+Ir Off Oi#Onn/tO'd*R/.RoitU@0Phor+0Alu Asi$Enta`I@n-I,Olu%fOqu 1ActAg Auc Cel]Cit/tClusifCu<Ecu,Emp#Erc H= Hor,I.n-I]Is,O%^Ped>Plor Po}Prim QuisT_sifTrai!Ul,:B#Bu#{Cet&Ci#Ctu!Ibl*Lai<Me{M`#R-'RfeluR(eRou~eSc( T=Tig)Uc$U%fVe'Vori3Bri#C$d D L(M?M'Ndo*Od=Rm Ro-Rve'S%v=U`#Ut!Vr>3AscoCe]C%fDe#Gu!Latu!Leta.L>eL#ulLm LouLtr N/c N*O#R?Ssu!X 2A* Am?As^At&'E|E~eE'Exi$Oc$O!Uctu Ui@Uvi=2L+Nd +Ngib#Nta(eRc Rg $Rmu]Rtu[Ssi#Ud!Ug eU`]Ulu!Urmi2Agi#Ai<An~*App Aye'Ega&E( El$Em*E[s+E!Iab#Ic%$Iss$Ivo#OidOma.Ont=Ot,Uit2Gi%fI&Re'R+{R%fSi$T':Gn Lax+L +Mbad R/%rRd+nRn*Rrig)Zel#Z$3AntLa%[Lu#Ndar?N =N+NouN%lOlog+O?t!R/iumR?St)lY}3B>C]RafeV!2A-AiveIs}ObeOi!Or+{2Lfe'M?Nf]R.R`#Udr$Uff!UlotUp`#Urm/dUt&2Ad)lAffi%A(eAndApp(AtuitAv*EnatIffu!Il]Imp Ogn Ond Ot&OupeUg U% Uy e2EpardErr>I@Im|veIta!Sta%f3Mnas&Rostat:Bitu@Cho*L&Me|NgarN[t$RicotRm$+Rp$Sard3LiumMato?RbeRiss$Rm(eR$Si,U!{3B n BouLar/tStoi!V 5MardMma.Mo.[N['Nor N&{R@Riz$Rlo.Rm$eRrib#U#{Us<5BlotI#{Ma(Mb#Mi@Mo'R]3Dro?lG+[M[Pno<:2Yl#2Nor U/e4Lici&Lusi$0A.Bib I,M_<Mobi#Muab#PactP i=Plor Po}Prim Pu,0Carn C_d+Ci@ntCl( Colo!Dex Di-Duc%fEditEp%eExactF(iFlig Form Fusi$G H= Hib Jec,Ju!No-ntOcu]Ond Scri!Sec&Sig[Soli&Sp* S%nctSul,TactT_<Ti?Trig)Tui%fU%#Vasi$V_,Vi,Voqu 3Oni^Rad>ReelRi,0O]2Oi!Res<:GuarIll*MbeNv>Rd(Ug U[Velot3Tab#T$UdiU[s<9Ind!N~ Ng]Ue'UissifUrn=Vi=Y|Ye{5Bi]Ge?ntNiorP$Ris&S%-Te{V_i#:Yak7M$oOs^:BelBi=Bo' C Cto<Gu[I[Is}I% Mbe|Mel#MpeN-'Nga.N,[P(R.'R?Ur>VaboVo*3Ctu!G=G Gu?SsiveTt!V>Xi^Zard3As<B B!C_-Cor[E.Ev!Gatu!Go,G)M Mi&M$a@Mpi@Neai!NgotOn-|Qui@S>eS,ThiumTi.Ttor=V!'5Gi^Inta(Is*MbricT +U UrdUt!UveY=5B+Ci@Cra%fE'Gub!Is/tM>eNai!NdiR$T,X){:Ch(eGas(G_taGi^Ig!Ill$In%_Ir+Is$Jor Lax Lefi-Lhe'Li-L#t&MmouthNda,Niab#Nqu/tN&|N)lRath$Rb!R~/dRdiRi%?R^'Rr$R&]Scot&SsifT +lT>eTra^Udi!Ussa@UveXim=3Ch/tC$nuDa`#Dec(Di,Du<Il#'L/.Lod+Mb!Moi!Nac N Nh*Ns$.NtorRc!diRi&R#Ssag Su!T=Teo!Tho@T>Ub#3Au]CrobeEt&Gn$Gr L+uLli$Mi^N-N =Nim=Nor Nu&Rac#Roi,Ssi#X&5Bi#D [El#{Ndi=Ni&'Nna+Not$eNst!Ntag[Nu?ntQ)'R-|Rsu!R% Te'TifU~eUf#Ul(Uss$Ut$Uv/t5L%p#Ni%$Ra`#Re[Rmu!Sc#SeumSic+nTa%$T T)l3Ria@R%l#S,eThi^:Ge'PpeRquoisRr Ta%$Ti$Tu!Ufra.U%^Vi!3Bu#{CtarFas&Ga%$Glig Goc>I.Rve{Ttoy Ur$eUtr$Veu3CheCkelTra&Ve|5B#CifCt'[Ir-'I<t&Ma@Mb!{Mm Rma%fTab#Tif>Toi!Urr*Uve|Va&'Vemb!Vi-5A.Anc I!Isib#M oP%=Q)Tri%f:0E*Jec%fLig Sc'S v Stac#T_*T' 0Casi$Cup E/Tob!Troy Tup]Ulai!0E'Or/t1F_}Fic>Fr*0Ive1Se|S`l$2Fac%fIv>0Bra.Ett!0Ct){Du]E!{Iri^1A#A^Er Ini$PortunPrim T Ti^1A.{An.Bi&D$n E`#G/eG)`Ifi-Ne?ntQ)T+0C`]Mo<Satu!0Ar+0Rag/Rs$T`Trag Vra.0A%$1Y@Y.[1O[:Isib#La-Lma!sLo'@Lp Na~eNdaNgol(Niqu N[|NoramaNt=$PayeP>Po,PyrusRadoxeR-l#Res<Rfum R]Ro#Rra(R<m Rtag Ru!Rv_*Ssi$S&^T [lT+n-Tr$V`l$Voi}Y Ysa.3Ig[Int!La.Lic/L#Lou<Lu~eNdu#Netr Nib#NsifN'+Pi&PlumRdrixRfor Rio@Rmu,Rp#xeRs`R&S Ta#TitTr*Up#2Ara$Ob+O^Ot$Ra<Ysi^0AnoCt'=E-Er!Euv!Lo&N-|Pet&Qu Rog)Sc(eSt$Vo,XelZza2AcardAf$dAis*An A^Astr$A&|E' ExusIa.OmbOng U+Uma.2Chet&Es+E&In&Ir>Iss$Iv!Lai!Lic>L#nLyg$eMma@Mp>Nct)lNd NeyR%^Si%$S<d Stu!Tag Te|Ti$U-Ula(Um$Urp!Uss(Uvo*2A*+A%^Ec+{Edi!EfixeElu@EnomE<n-E&x&Evo*Imi%fIn-Is$Iv Ob#?O-d Odi.Of$dOg!sO+Oje,Olog)O?n Op!Osp eO&g O)s<Ov beU@n-U[|0Y~o<1BlicC $I}LpeLsarNai<Ni%fPit!Rif>Zz#3Rami@:99AsarE!l#Es%$Ietu@It,O%_t:C(eC$,D+{G$d(I@'Is(L_%rLl$.Mas}Pi@Sa.Tis}Vag V(Y$n 3Ac%fAg*Ali}Anim Cevo*Ci,Clam Col,Cru,Cu]Cyc]Dig Dou,Fai!F#xeForm Fra(Fu.G=+nGi$Gla.Gul>I, Je,Jou La%fLev L+fMar^Me@Mi<M$,Mpl*Mu NardNfortNif]N$c Ntr NvoiPl>Por,Pri<P%#Qu(S veS(e{Soud!SpectS,SultatTabl*T_*Ticu#Tomb Trac Uni$Uss*V/~eViv!Vol&Vulsif3Ches<De|E'Gi@Go]Nc Pos,Sib#S^T)lV=V>e5Che{M/-Mp!N-Nd(Se|S>Ta%fTorTu#U.U`#U#|U%[Y|?5B/BisCheEl#G){In Is<|S S%^3Th?:B]Bo,B!Co~eFariGes<Is*La@LiveL$Lu MediNc%$Ngl>Rcas?Rd(eT' Ug!nuUm$U,Uva.V/tV$n 1AlpelAnda#E]atEnarioEpt!HemaI_-Ind O!Ru%nUlp,1An-Cab#Ch Cou C!,Da%fDui!Ig['Jo'Lec%fMa(eMb]M_-M(=Na&'Nsib#N&n-Par Q)n-Re(R.ntR+{Rru!RumRvi-Sa?V*Vra.Xtup#3D =Ec#Eg Ff]G#Gn=L_-LiciumMp#Nc eNist!Ph$RopSmi^Tu 1I 3Ci=C#DiumIg[{LdatLe`Litu@Lub#Mb!M?`Mno]N@N.'N[t&No!Rc>R%rS+T%<Uc+{Udu!Uff#U#v UpapeUr-U%r Uv_*0Ac+{A%=Eci=H eIr=3Ab#A%$ErnumImulusIpu]RictUd+{Upe'Ylis&0Bli?BstratB%lBv_*C-sC!FfixeGg Ive'Lfa&P bePpl>Rfa-Rica&R?n Rpri<Rs|tRv+Spect3LlabeMbo#Metr+Nap<NtaxeS&?:BacBl>C%#Il]L_tLism/L$n Mbo'Mi}Ngib#PisQu( Rd RifR%[S<TamiToua.UpeU!|X 3Mo(Mpo!lNa`#Nd!Ne'N*Nsi$Rm( R[Rrib#T(eX&2E?Eor+Erap+Orax0BiaE@Mi@Reli!Ro*SsuT/eT!Tub 5Bogg/L /tMa&Ni^N[|P$y?R~eRd!Rna@Rp`#R!ntR<Rt)TemU~ Urna.Us}X(e2Ac%$AficAgi^Ah*A(An~ Ava`Ef#Emp EsorEu`Ia.Ibun=Ico,Ilog+IompheIp]It' Ivi=Omb$eOncOpic=Oupe|2I#LipeMul&N[lRb(eTe'Toy Y|3Mp/Ph$Pi^R/:0Ues^9Ti?Tras$1Ani?If>I$I^Itai!Iv s3AniumBa(Tic/t0A.I[UelU!0I#Op+:Car?Cc(Gab$dG)Ill/tInc!Is<|Lab#Li<Ll$LveMpi!N`#Pe'R>Se{Ss=S&3C&'Det&Get=Hicu#InardLo-Nd!diN Ng Ni?{Ntou<Rdu!R(Rn*RrouR}RtuSt$T /Tus&X/tX 3AducAn@Ctoi!D/.DeoG[t&G)'La(Lla.Naig!Ol$P eRe?ntRtuo<RusSa.Se'Si$S^{S)lT=Tes<Tico#Tr(eVa-Vipa!5Ca%$Gu I#Is(Itu!La`#Lc/L%g Lu?Ra-R&xT Ulo*Ya.Yel#:G$:3N$:Cht:3B!NithS&9Olog+",mE="e7693&)U*o&)Ry^)*)W))))#X^))))@@)#Wf)m%)#!))AG)&IIAQIIIBIIHJNAgBIILIDJGo)))HIQIIIIA(IGgJHH(BIIxX#)Ou)@*IAAPIIIJHQJ)&QIQPYI(HYAQC%)!))QHJJ@)#)^f*^AXCJ))$%CP))%&m)u)@e^A#G#))W@!(IKK%!(I%))O@QA))@GG#e))))WHJIWh))my@IIBT^)!)HAYGETHI*))!QnUDG)))nBoKAC*HwyQh))$&)G&)UGO)G)))(BX#v**)%O,e7686)I))@)&)gdMP()))ud)p#L))I^FIHYdWG))D@DFV)QA)o%MyTh%*)Z)%)n(XANc^R)YS",gE="0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045",Qh=null,Ku=class r extends Xn{constructor(){super("fr",xE,mE,gE)}static wordlist(){return Qh==null&&(Qh=new r),Qh}};var bE=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"],yE="~~AzB~X~a~KN~Q~D~S~C~G~E~Y~p~L~I~O~eH~g~V~hxyumi~~U~~Z~~v~~s~~dkoblPjfnqwMcRTr~W~~~F~~~~~Jt",Zh=null;function iy(r){return R(re(r))}var AE="0xe3818de38284e3818f",wE="0xe3818de38283e3818f";function Nr(r){return Le(new Uint8Array(r))}function oy(){if(Zh!==null)return Zh;let r=[],e={};e[Nr([227,130,154])]=!1,e[Nr([227,130,153])]=!1,e[Nr([227,130,133])]=Nr([227,130,134]),e[Nr([227,129,163])]=Nr([227,129,164]),e[Nr([227,130,131])]=Nr([227,130,132]),e[Nr([227,130,135])]=Nr([227,130,136]);function t(i){let o="";for(let a=0;a<i.length;a++){let c=i[a],l=e[c];l!==!1&&(l&&(c=l),o+=c)}return o}function n(i,o){return i=t(i),o=t(o),i<o?-1:i>o?1:0}for(let i=3;i<=9;i++){let o=bE[i-3];for(let a=0;a<o.length;a+=i){let c=[];for(let l=0;l<i;l++){let u=yE.indexOf(o[a+l]);c.push(227),c.push(u&64?130:129),c.push((u&63)+128)}r.push(Nr(c))}}if(r.sort(n),iy(r[442])===AE&&iy(r[443])===wE){let i=r[442];r[442]=r[443],r[443]=i}if(ge(r.join(`
13
- `)+`
14
- `)!=="0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600")throw new Error("BIP39 Wordlist for ja (Japanese) FAILED");return Zh=r,r}var zh=null,$u=class r extends It{constructor(){super("ja")}getWord(e){let t=oy();return p(e>=0&&e<t.length,`invalid word index: ${e}`,"index",e),t[e]}getWordIndex(e){return oy().indexOf(e)}split(e){return e.split(/(?:\u3000| )+/g)}join(e){return e.join("\u3000")}static wordlist(){return zh==null&&(zh=new r),zh}};var EE=["OYAa","ATAZoATBl3ATCTrATCl8ATDloATGg3ATHT8ATJT8ATJl3ATLlvATLn4ATMT8ATMX8ATMboATMgoAToLbAToMTATrHgATvHnAT3AnAT3JbAT3MTAT8DbAT8JTAT8LmAT8MYAT8MbAT#LnAUHT8AUHZvAUJXrAUJX8AULnrAXJnvAXLUoAXLgvAXMn6AXRg3AXrMbAX3JTAX3QbAYLn3AZLgvAZrSUAZvAcAZ8AaAZ8AbAZ8AnAZ8HnAZ8LgAZ8MYAZ8MgAZ8OnAaAboAaDTrAaFTrAaJTrAaJboAaLVoAaMXvAaOl8AaSeoAbAUoAbAg8AbAl4AbGnrAbMT8AbMXrAbMn4AbQb8AbSV8AbvRlAb8AUAb8AnAb8HgAb8JTAb8NTAb8RbAcGboAcLnvAcMT8AcMX8AcSToAcrAaAcrFnAc8AbAc8MgAfGgrAfHboAfJnvAfLV8AfLkoAfMT8AfMnoAfQb8AfScrAfSgrAgAZ8AgFl3AgGX8AgHZvAgHgrAgJXoAgJX8AgJboAgLZoAgLn4AgOX8AgoATAgoAnAgoCUAgoJgAgoLXAgoMYAgoSeAgrDUAgrJTAhrFnAhrLjAhrQgAjAgoAjJnrAkMX8AkOnoAlCTvAlCV8AlClvAlFg4AlFl6AlFn3AloSnAlrAXAlrAfAlrFUAlrFbAlrGgAlrOXAlvKnAlvMTAl3AbAl3MnAnATrAnAcrAnCZ3AnCl8AnDg8AnFboAnFl3AnHX4AnHbrAnHgrAnIl3AnJgvAnLXoAnLX4AnLbrAnLgrAnLhrAnMXoAnMgrAnOn3AnSbrAnSeoAnvLnAn3OnCTGgvCTSlvCTvAUCTvKnCTvNTCT3CZCT3GUCT3MTCT8HnCUCZrCULf8CULnvCU3HnCU3JUCY6NUCbDb8CbFZoCbLnrCboOTCboScCbrFnCbvLnCb8AgCb8HgCb$LnCkLfoClBn3CloDUDTHT8DTLl3DTSU8DTrAaDTrLXDTrLjDTrOYDTrOgDTvFXDTvFnDT3HUDT3LfDUCT9DUDT4DUFVoDUFV8DUFkoDUGgrDUJnrDULl8DUMT8DUMXrDUMX4DUMg8DUOUoDUOgvDUOg8DUSToDUSZ8DbDXoDbDgoDbGT8DbJn3DbLg3DbLn4DbMXrDbMg8DbOToDboJXGTClvGTDT8GTFZrGTLVoGTLlvGTLl3GTMg8GTOTvGTSlrGToCUGTrDgGTrJYGTrScGTtLnGTvAnGTvQgGUCZrGUDTvGUFZoGUHXrGULnvGUMT8GUoMgGXoLnGXrMXGXrMnGXvFnGYLnvGZOnvGZvOnGZ8LaGZ8LmGbAl3GbDYvGbDlrGbHX3GbJl4GbLV8GbLn3GbMn4GboJTGboRfGbvFUGb3GUGb4JnGgDX3GgFl$GgJlrGgLX6GgLZoGgLf8GgOXoGgrAgGgrJXGgrMYGgrScGgvATGgvOYGnAgoGnJgvGnLZoGnLg3GnLnrGnQn8GnSbrGnrMgHTClvHTDToHTFT3HTQT8HToJTHToJgHTrDUHTrMnHTvFYHTvRfHT8MnHT8SUHUAZ8HUBb4HUDTvHUoMYHXFl6HXJX6HXQlrHXrAUHXrMnHXrSbHXvFYHXvKXHX3LjHX3MeHYvQlHZrScHZvDbHbAcrHbFT3HbFl3HbJT8HbLTrHbMT8HbMXrHbMbrHbQb8HbSX3HboDbHboJTHbrFUHbrHgHbrJTHb8JTHb8MnHb8QgHgAlrHgDT3HgGgrHgHgrHgJTrHgJT8HgLX@HgLnrHgMT8HgMX8HgMboHgOnrHgQToHgRg3HgoHgHgrCbHgrFnHgrLVHgvAcHgvAfHnAloHnCTrHnCnvHnGTrHnGZ8HnGnvHnJT8HnLf8HnLkvHnMg8HnRTrITvFUITvFnJTAXrJTCV8JTFT3JTFT8JTFn4JTGgvJTHT8JTJT8JTJXvJTJl3JTJnvJTLX4JTLf8JTLhvJTMT8JTMXrJTMnrJTObrJTQT8JTSlvJT8DUJT8FkJT8MTJT8OXJT8OgJT8QUJT8RfJUHZoJXFT4JXFlrJXGZ8JXGnrJXLV8JXLgvJXMXoJXMX3JXNboJXPlvJXoJTJXoLkJXrAXJXrHUJXrJgJXvJTJXvOnJX4KnJYAl3JYJT8JYLhvJYQToJYrQXJY6NUJbAl3JbCZrJbDloJbGT8JbGgrJbJXvJbJboJbLf8JbLhrJbLl3JbMnvJbRg8JbSZ8JboDbJbrCZJbrSUJb3KnJb8LnJfRn8JgAXrJgCZrJgDTrJgGZrJgGZ8JgHToJgJT8JgJXoJgJgvJgLX4JgLZ3JgLZ8JgLn4JgMgrJgMn4JgOgvJgPX6JgRnvJgSToJgoCZJgoJbJgoMYJgrJXJgrJgJgrLjJg6MTJlCn3JlGgvJlJl8Jl4AnJl8FnJl8HgJnAToJnATrJnAbvJnDUoJnGnrJnJXrJnJXvJnLhvJnLnrJnLnvJnMToJnMT8JnMXvJnMX3JnMg8JnMlrJnMn4JnOX8JnST4JnSX3JnoAgJnoAnJnoJTJnoObJnrAbJnrAkJnrHnJnrJTJnrJYJnrOYJnrScJnvCUJnvFaJnvJgJnvJnJnvOYJnvQUJnvRUJn3FnJn3JTKnFl3KnLT6LTDlvLTMnoLTOn3LTRl3LTSb4LTSlrLToAnLToJgLTrAULTrAcLTrCULTrHgLTrMgLT3JnLULnrLUMX8LUoJgLVATrLVDTrLVLb8LVoJgLV8MgLV8RTLXDg3LXFlrLXrCnLXrLXLX3GTLX4GgLX4OYLZAXrLZAcrLZAgrLZAhrLZDXyLZDlrLZFbrLZFl3LZJX6LZJX8LZLc8LZLnrLZSU8LZoJTLZoJnLZrAgLZrAnLZrJYLZrLULZrMgLZrSkLZvAnLZvGULZvJeLZvOTLZ3FZLZ4JXLZ8STLZ8ScLaAT3LaAl3LaHT8LaJTrLaJT8LaJXrLaJgvLaJl4LaLVoLaMXrLaMXvLaMX8LbClvLbFToLbHlrLbJn4LbLZ3LbLhvLbMXrLbMnoLbvSULcLnrLc8HnLc8MTLdrMnLeAgoLeOgvLeOn3LfAl3LfLnvLfMl3LfOX8Lf8AnLf8JXLf8LXLgJTrLgJXrLgJl8LgMX8LgRZrLhCToLhrAbLhrFULhrJXLhvJYLjHTrLjHX4LjJX8LjLhrLjSX3LjSZ4LkFX4LkGZ8LkGgvLkJTrLkMXoLkSToLkSU8LkSZ8LkoOYLl3FfLl3MgLmAZrLmCbrLmGgrLmHboLmJnoLmJn3LmLfoLmLhrLmSToLnAX6LnAb6LnCZ3LnCb3LnDTvLnDb8LnFl3LnGnrLnHZvLnHgvLnITvLnJT8LnJX8LnJlvLnLf8LnLg6LnLhvLnLnoLnMXrLnMg8LnQlvLnSbrLnrAgLnrAnLnrDbLnrFkLnrJdLnrMULnrOYLnrSTLnvAnLnvDULnvHgLnvOYLnvOnLn3GgLn4DULn4JTLn4JnMTAZoMTAloMTDb8MTFT8MTJnoMTJnrMTLZrMTLhrMTLkvMTMX8MTRTrMToATMTrDnMTrOnMT3JnMT4MnMT8FUMT8FaMT8FlMT8GTMT8GbMT8GnMT8HnMT8JTMT8JbMT8OTMUCl8MUJTrMUJU8MUMX8MURTrMUSToMXAX6MXAb6MXCZoMXFXrMXHXrMXLgvMXOgoMXrAUMXrAnMXrHgMXrJYMXrJnMXrMTMXrMgMXrOYMXrSZMXrSgMXvDUMXvOTMX3JgMX3OTMX4JnMX8DbMX8FnMX8HbMX8HgMX8HnMX8LbMX8MnMX8OnMYAb8MYGboMYHTvMYHX4MYLTrMYLnvMYMToMYOgvMYRg3MYSTrMbAToMbAXrMbAl3MbAn8MbGZ8MbJT8MbJXrMbMXvMbMX8MbMnoMbrMUMb8AfMb8FbMb8FkMcJXoMeLnrMgFl3MgGTvMgGXoMgGgrMgGnrMgHT8MgHZrMgJnoMgLnrMgLnvMgMT8MgQUoMgrHnMgvAnMg8HgMg8JYMg8LfMloJnMl8ATMl8AXMl8JYMnAToMnAT4MnAZ8MnAl3MnAl4MnCl8MnHT8MnHg8MnJnoMnLZoMnLhrMnMXoMnMX3MnMnrMnOgvMnrFbMnrFfMnrFnMnrNTMnvJXNTMl8OTCT3OTFV8OTFn3OTHZvOTJXrOTOl3OT3ATOT3JUOT3LZOT3LeOT3MbOT8ATOT8AbOT8AgOT8MbOUCXvOUMX3OXHXvOXLl3OXrMUOXvDbOX6NUOX8JbOYFZoOYLbrOYLkoOYMg8OYSX3ObHTrObHT4ObJgrObLhrObMX3ObOX8Ob8FnOeAlrOeJT8OeJXrOeJnrOeLToOeMb8OgJXoOgLXoOgMnrOgOXrOgOloOgoAgOgoJbOgoMYOgoSTOg8AbOjLX4OjMnoOjSV8OnLVoOnrAgOn3DUPXQlrPXvFXPbvFTPdAT3PlFn3PnvFbQTLn4QToAgQToMTQULV8QURg8QUoJnQXCXvQbFbrQb8AaQb8AcQb8FbQb8MYQb8ScQeAlrQeLhrQjAn3QlFXoQloJgQloSnRTLnvRTrGURTrJTRUJZrRUoJlRUrQnRZrLmRZrMnRZrSnRZ8ATRZ8JbRZ8ScRbMT8RbST3RfGZrRfMX8RfMgrRfSZrRnAbrRnGT8RnvJgRnvLfRnvMTRn8AaSTClvSTJgrSTOXrSTRg3STRnvSToAcSToAfSToAnSToHnSToLjSToMTSTrAaSTrEUST3BYST8AgST8LmSUAZvSUAgrSUDT4SUDT8SUGgvSUJXoSUJXvSULTrSU8JTSU8LjSV8AnSV8JgSXFToSXLf8SYvAnSZrDUSZrMUSZrMnSZ8HgSZ8JTSZ8JgSZ8MYSZ8QUSaQUoSbCT3SbHToSbQYvSbSl4SboJnSbvFbSb8HbSb8JgSb8OTScGZrScHgrScJTvScMT8ScSToScoHbScrMTScvAnSeAZrSeAcrSeHboSeJUoSeLhrSeMT8SeMXrSe6JgSgHTrSkJnoSkLnvSk8CUSlFl3SlrSnSl8GnSmAboSmGT8SmJU8","ATLnDlATrAZoATrJX4ATrMT8ATrMX4ATrRTrATvDl8ATvJUoATvMl8AT3AToAT3MX8AT8CT3AT8DT8AT8HZrAT8HgoAUAgFnAUCTFnAXoMX8AXrAT8AXrGgvAXrJXvAXrOgoAXvLl3AZvAgoAZvFbrAZvJXoAZvJl8AZvJn3AZvMX8AZvSbrAZ8FZoAZ8LZ8AZ8MU8AZ8OTvAZ8SV8AZ8SX3AbAgFZAboJnoAbvGboAb8ATrAb8AZoAb8AgrAb8Al4Ab8Db8Ab8JnoAb8LX4Ab8LZrAb8LhrAb8MT8Ab8OUoAb8Qb8Ab8ST8AcrAUoAcrAc8AcrCZ3AcrFT3AcrFZrAcrJl4AcrJn3AcrMX3AcrOTvAc8AZ8Ac8MT8AfAcJXAgoFn4AgoGgvAgoGnrAgoLc8AgoMXoAgrLnrAkrSZ8AlFXCTAloHboAlrHbrAlrLhrAlrLkoAl3CZrAl3LUoAl3LZrAnrAl4AnrMT8An3HT4BT3IToBX4MnvBb!Ln$CTGXMnCToLZ4CTrHT8CT3JTrCT3RZrCT#GTvCU6GgvCU8Db8CU8GZrCU8HT8CboLl3CbrGgrCbrMU8Cb8DT3Cb8GnrCb8LX4Cb8MT8Cb8ObrCgrGgvCgrKX4Cl8FZoDTrAbvDTrDboDTrGT6DTrJgrDTrMX3DTrRZrDTrRg8DTvAVvDTvFZoDT3DT8DT3Ln3DT4HZrDT4MT8DT8AlrDT8MT8DUAkGbDUDbJnDYLnQlDbDUOYDbMTAnDbMXSnDboAT3DboFn4DboLnvDj6JTrGTCgFTGTGgFnGTJTMnGTLnPlGToJT8GTrCT3GTrLVoGTrLnvGTrMX3GTrMboGTvKl3GZClFnGZrDT3GZ8DTrGZ8FZ8GZ8MXvGZ8On8GZ8ST3GbCnQXGbMbFnGboFboGboJg3GboMXoGb3JTvGb3JboGb3Mn6Gb3Qb8GgDXLjGgMnAUGgrDloGgrHX4GgrSToGgvAXrGgvAZvGgvFbrGgvLl3GgvMnvGnDnLXGnrATrGnrMboGnuLl3HTATMnHTAgCnHTCTCTHTrGTvHTrHTvHTrJX8HTrLl8HTrMT8HTrMgoHTrOTrHTuOn3HTvAZrHTvDTvHTvGboHTvJU8HTvLl3HTvMXrHTvQb4HT4GT6HT4JT8HT4Jb#HT8Al3HT8GZrHT8GgrHT8HX4HT8Jb8HT8JnoHT8LTrHT8LgvHT8SToHT8SV8HUoJUoHUoJX8HUoLnrHXrLZoHXvAl3HX3LnrHX4FkvHX4LhrHX4MXoHX4OnoHZrAZ8HZrDb8HZrGZ8HZrJnrHZvGZ8HZvLnvHZ8JnvHZ8LhrHbCXJlHbMTAnHboJl4HbpLl3HbrJX8HbrLnrHbrMnvHbvRYrHgoSTrHgrFV8HgrGZ8HgrJXoHgrRnvHgvBb!HgvGTrHgvHX4HgvHn!HgvLTrHgvSU8HnDnLbHnFbJbHnvDn8Hn6GgvHn!BTvJTCTLnJTQgFnJTrAnvJTrLX4JTrOUoJTvFn3JTvLnrJTvNToJT3AgoJT3Jn4JT3LhvJT3ObrJT8AcrJT8Al3JT8JT8JT8JnoJT8LX4JT8LnrJT8MX3JT8Rg3JT8Sc8JUoBTvJU8AToJU8GZ8JU8GgvJU8JTrJU8JXrJU8JnrJU8LnvJU8ScvJXHnJlJXrGgvJXrJU8JXrLhrJXrMT8JXrMXrJXrQUoJXvCTvJXvGZ8JXvGgrJXvQT8JX8Ab8JX8DT8JX8GZ8JX8HZvJX8LnrJX8MT8JX8MXoJX8MnvJX8ST3JYGnCTJbAkGbJbCTAnJbLTAcJboDT3JboLb6JbrAnvJbrCn3JbrDl8JbrGboJbrIZoJbrJnvJbrMnvJbrQb4Jb8RZrJeAbAnJgJnFbJgScAnJgrATrJgvHZ8JgvMn4JlJlFbJlLiQXJlLjOnJlRbOlJlvNXoJlvRl3Jl4AcrJl8AUoJl8MnrJnFnMlJnHgGbJnoDT8JnoFV8JnoGgvJnoIT8JnoQToJnoRg3JnrCZ3JnrGgrJnrHTvJnrLf8JnrOX8JnvAT3JnvFZoJnvGT8JnvJl4JnvMT8JnvMX8JnvOXrJnvPX6JnvSX3JnvSZrJn3MT8Jn3MX8Jn3RTrLTATKnLTJnLTLTMXKnLTRTQlLToGb8LTrAZ8LTrCZ8LTrDb8LTrHT8LT3PX6LT4FZoLT$CTvLT$GgrLUvHX3LVoATrLVoAgoLVoJboLVoMX3LVoRg3LV8CZ3LV8FZoLV8GTvLXrDXoLXrFbrLXvAgvLXvFlrLXvLl3LXvRn6LX4Mb8LX8GT8LYCXMnLYrMnrLZoSTvLZrAZvLZrAloLZrFToLZrJXvLZrJboLZrJl4LZrLnrLZrMT8LZrOgvLZrRnvLZrST4LZvMX8LZvSlvLZ8AgoLZ8CT3LZ8JT8LZ8LV8LZ8LZoLZ8Lg8LZ8SV8LZ8SbrLZ$HT8LZ$Mn4La6CTvLbFbMnLbRYFTLbSnFZLboJT8LbrAT9LbrGb3LbrQb8LcrJX8LcrMXrLerHTvLerJbrLerNboLgrDb8LgrGZ8LgrHTrLgrMXrLgrSU8LgvJTrLgvLl3Lg6Ll3LhrLnrLhrMT8LhvAl4LiLnQXLkoAgrLkoJT8LkoJn4LlrSU8Ll3FZoLl3HTrLl3JX8Ll3JnoLl3LToLmLeFbLnDUFbLnLVAnLnrATrLnrAZoLnrAb8LnrAlrLnrGgvLnrJU8LnrLZrLnrLhrLnrMb8LnrOXrLnrSZ8LnvAb4LnvDTrLnvDl8LnvHTrLnvHbrLnvJT8LnvJU8LnvJbrLnvLhvLnvMX8LnvMb8LnvNnoLnvSU8Ln3Al3Ln4FZoLn4GT6Ln4JgvLn4LhrLn4MT8Ln4SToMToCZrMToJX8MToLX4MToLf8MToRg3MTrEloMTvGb6MT3BTrMT3Lb6MT8AcrMT8AgrMT8GZrMT8JnoMT8LnrMT8MX3MUOUAnMXAbFnMXoAloMXoJX8MXoLf8MXoLl8MXrAb8MXrDTvMXrGT8MXrGgrMXrHTrMXrLf8MXrMU8MXrOXvMXrQb8MXvGT8MXvHTrMXvLVoMX3AX3MX3Jn3MX3LhrMX3MX3MX4AlrMX4OboMX8GTvMX8GZrMX8GgrMX8JT8MX8JX8MX8LhrMX8MT8MYDUFbMYMgDbMbGnFfMbvLX4MbvLl3Mb8Mb8Mb8ST4MgGXCnMg8ATrMg8AgoMg8CZrMg8DTrMg8DboMg8HTrMg8JgrMg8LT8MloJXoMl8AhrMl8JT8MnLgAUMnoJXrMnoLX4MnoLhrMnoMT8MnrAl4MnrDb8MnrOTvMnrOgvMnrQb8MnrSU8MnvGgrMnvHZ8Mn3MToMn4DTrMn4LTrMn4Mg8NnBXAnOTFTFnOToAToOTrGgvOTrJX8OT3JXoOT6MTrOT8GgrOT8HTpOT8MToOUoHT8OUoJT8OUoLn3OXrAgoOXrDg8OXrMT8OXvSToOX6CTvOX8CZrOX8OgrOb6HgvOb8AToOb8MT8OcvLZ8OgvAlrOgvHTvOgvJTrOgvJnrOgvLZrOgvLn4OgvMT8OgvRTrOg8AZoOg8DbvOnrOXoOnvJn4OnvLhvOnvRTrOn3GgoOn3JnvOn6JbvOn8OTrPTGYFTPbBnFnPbGnDnPgDYQTPlrAnvPlrETvPlrLnvPlrMXvPlvFX4QTMTAnQTrJU8QYCnJlQYJlQlQbGTQbQb8JnrQb8LZoQb8LnvQb8MT8Qb8Ml8Qb8ST4QloAl4QloHZvQloJX8QloMn8QnJZOlRTrAZvRTrDTrRTvJn4RTvLhvRT4Jb8RZrAZrRZ8AkrRZ8JU8RZ8LV8RZ8LnvRbJlQXRg3GboRg3MnvRg8AZ8Rg8JboRg8Jl4RnLTCbRnvFl3RnvQb8SToAl4SToCZrSToFZoSToHXrSToJU8SToJgvSToJl4SToLhrSToMX3STrAlvSTrCT9STrCgrSTrGgrSTrHXrSTrHboSTrJnoSTrNboSTvLnrST4AZoST8Ab8ST8JT8SUoJn3SU6HZ#SU6JTvSU8Db8SU8HboSU8LgrSV8JT8SZrAcrSZrAl3SZrJT8SZrJnvSZrMT8SZvLUoSZ4FZoSZ8JnoSZ8RZrScoLnrScoMT8ScoMX8ScrAT4ScrAZ8ScrLZ8ScrLkvScvDb8ScvLf8ScvNToSgrFZrShvKnrSloHUoSloLnrSlrMXoSl8HgrSmrJUoSn3BX6","ATFlOn3ATLgrDYAT4MTAnAT8LTMnAYJnRTrAbGgJnrAbLV8LnAbvNTAnAeFbLg3AgOYMXoAlQbFboAnDboAfAnJgoJTBToDgAnBUJbAl3BboDUAnCTDlvLnCTFTrSnCYoQTLnDTwAbAnDUDTrSnDUHgHgrDX8LXFnDbJXAcrETvLTLnGTFTQbrGTMnGToGT3DUFbGUJlPX3GbQg8LnGboJbFnGb3GgAYGgAg8ScGgMbAXrGgvAbAnGnJTLnvGnvATFgHTDT6ATHTrDlJnHYLnMn8HZrSbJTHZ8LTFnHbFTJUoHgSeMT8HgrLjAnHgvAbAnHlFUrDlHnDgvAnHnHTFT3HnQTGnrJTAaMXvJTGbCn3JTOgrAnJXvAXMnJbMg8SnJbMnRg3Jb8LTMnJnAl3OnJnGYrQlJnJlQY3LTDlCn3LTJjLg3LTLgvFXLTMg3GTLV8HUOgLXFZLg3LXNXrMnLX8QXFnLX9AlMYLYLXPXrLZAbJU8LZDUJU8LZMXrSnLZ$AgFnLaPXrDULbFYrMnLbMn8LXLboJgJgLeFbLg3LgLZrSnLgOYAgoLhrRnJlLkCTrSnLkOnLhrLnFX%AYLnFZoJXLnHTvJbLnLloAbMTATLf8MTHgJn3MTMXrAXMT3MTFnMUITvFnMXFX%AYMXMXvFbMXrFTDbMYAcMX3MbLf8SnMb8JbFnMgMXrMTMgvAXFnMgvGgCmMnAloSnMnFnJTrOXvMXSnOX8HTMnObJT8ScObLZFl3ObMXCZoPTLgrQXPUFnoQXPU3RXJlPX3RkQXPbrJXQlPlrJbFnQUAhrDbQXGnCXvQYLnHlvQbLfLnvRTOgvJbRXJYrQlRYLnrQlRbLnrQlRlFT8JlRlFnrQXSTClCn3STHTrAnSTLZQlrSTMnGTrSToHgGbSTrGTDnSTvGXCnST3HgFbSU3HXAXSbAnJn3SbFT8LnScLfLnv","AT3JgJX8AT8FZoSnAT8JgFV8AT8LhrDbAZ8JT8DbAb8GgLhrAb8SkLnvAe8MT8SnAlMYJXLVAl3GYDTvAl3LfLnvBUDTvLl3CTOn3HTrCT3DUGgrCU8MT8AbCbFTrJUoCgrDb8MTDTLV8JX8DTLnLXQlDT8LZrSnDUQb8FZ8DUST4JnvDb8ScOUoDj6GbJl4GTLfCYMlGToAXvFnGboAXvLnGgAcrJn3GgvFnSToGnLf8JnvGn#HTDToHTLnFXJlHTvATFToHTvHTDToHTvMTAgoHT3STClvHT4AlFl6HT8HTDToHUoDgJTrHUoScMX3HbRZrMXoHboJg8LTHgDb8JTrHgMToLf8HgvLnLnoHnHn3HT4Hn6MgvAnJTJU8ScvJT3AaQT8JT8HTrAnJXrRg8AnJbAloMXoJbrATFToJbvMnoSnJgDb6GgvJgDb8MXoJgSX3JU8JguATFToJlPYLnQlJlQkDnLbJlQlFYJlJl8Lf8OTJnCTFnLbJnLTHXMnJnLXGXCnJnoFfRg3JnrMYRg3Jn3HgFl3KT8Dg8LnLTRlFnPTLTvPbLbvLVoSbrCZLXMY6HT3LXNU7DlrLXNXDTATLX8DX8LnLZDb8JU8LZMnoLhrLZSToJU8LZrLaLnrLZvJn3SnLZ8LhrSnLaJnoMT8LbFlrHTvLbrFTLnrLbvATLlvLb6OTFn3LcLnJZOlLeAT6Mn4LeJT3ObrLg6LXFlrLhrJg8LnLhvDlPX4LhvLfLnvLj6JTFT3LnFbrMXoLnQluCTvLnrQXCY6LnvLfLnvLnvMgLnvLnvSeLf8MTMbrJn3MT3JgST3MT8AnATrMT8LULnrMUMToCZrMUScvLf8MXoDT8SnMX6ATFToMX8AXMT8MX8FkMT8MX8HTrDUMX8ScoSnMYJT6CTvMgAcrMXoMg8SToAfMlvAXLg3MnFl3AnvOT3AnFl3OUoATHT8OU3RnLXrOXrOXrSnObPbvFn6Og8HgrSnOg8OX8DbPTvAgoJgPU3RYLnrPXrDnJZrPb8CTGgvPlrLTDlvPlvFUJnoQUvFXrQlQeMnoAl3QlrQlrSnRTFTrJUoSTDlLiLXSTFg6HT3STJgoMn4STrFTJTrSTrLZFl3ST4FnMXoSUrDlHUoScvHTvSnSfLkvMXo","AUoAcrMXoAZ8HboAg8AbOg6ATFgAg8AloMXoAl3AT8JTrAl8MX8MXoCT3SToJU8Cl8Db8MXoDT8HgrATrDboOT8MXoGTOTrATMnGT8LhrAZ8GnvFnGnQXHToGgvAcrHTvAXvLl3HbrAZoMXoHgBlFXLg3HgMnFXrSnHgrSb8JUoHn6HT8LgvITvATrJUoJUoLZrRnvJU8HT8Jb8JXvFX8QT8JXvLToJTrJYrQnGnQXJgrJnoATrJnoJU8ScvJnvMnvMXoLTCTLgrJXLTJlRTvQlLbRnJlQYvLbrMb8LnvLbvFn3RnoLdCVSTGZrLeSTvGXCnLg3MnoLn3MToLlrETvMT8SToAl3MbrDU6GTvMb8LX4LhrPlrLXGXCnSToLf8Rg3STrDb8LTrSTvLTHXMnSb3RYLnMnSgOg6ATFg","HUDlGnrQXrJTrHgLnrAcJYMb8DULc8LTvFgGnCk3Mg8JbAnLX4QYvFYHnMXrRUoJnGnvFnRlvFTJlQnoSTrBXHXrLYSUJgLfoMT8Se8DTrHbDb","AbDl8SToJU8An3RbAb8ST8DUSTrGnrAgoLbFU6Db8LTrMg8AaHT8Jb8ObDl8SToJU8Pb3RlvFYoJl"],TE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function RE(r){return r>=40?r=r+168-40:r>=19&&(r=r+97-19),Le(new Uint8Array([225,(r>>6)+132,(r&63)+128]))}var Kh=null;function ay(){if(Kh!=null)return Kh;let r=[];if(EE.forEach((t,n)=>{n+=4;for(let s=0;s<t.length;s+=n){let i="";for(let o=0;o<n;o++)i+=RE(TE.indexOf(t[s+o]));r.push(i)}}),r.sort(),ge(r.join(`
15
- `)+`
16
- `)!=="0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a")throw new Error("BIP39 Wordlist for ko (Korean) FAILED");return Kh=r,r}var $h=null,Yu=class r extends It{constructor(){super("ko")}getWord(e){let t=ay();return p(e>=0&&e<t.length,`invalid word index: ${e}`,"index",e),t[e]}getWordIndex(e){return ay().indexOf(e)}static wordlist(){return $h==null&&($h=new r),$h}};var SE="0torea noica!iosorolotaleratelanena%oiadoencotivomai t ca%a0A]Bagl'Bin#E.Is(Oli!Rasi_Rog#0Cade!C[$Cus#E <Hil,I@QuaReRil>Roba+U 0Ag'Deb{DomeEgu#Eri!IpeOtt&Ul&1Fabi,Fe|Fis(F-n Oris`O(R~$0AveEn.E_,Ganc'I!It&OnismoR>*Rume Uzzo4AbardaA Bat)Ber#BoBumeCeCol>E|<FaGeb-Ian.IbiIm[ Lag#Leg)Lie_Lo@/Lusi_Me$Oge$Pa}Pest!Ta,=Ter$T%c'T)veUn$Veo*Z&0Alga`Ani+A!=B{Br#EbaEr~E^s+I]Mas(M[daMir&Mon{O!P'Pli&U, 0A}r@Ag-feAlis+Arch?At-CaCel/Co-D&D!aEl*Ge*Gol&Gus I`Neg&Nid#NoNunc'OnimoT%ipoZi1At>Ertu-OdePari!Pe^ Pogg'P)@Pun Ri,1Ab~AchideAgos+Ald~Anc'Atu-AzzoBit)Chiv'D{Eni,G[ Gi<Gu IaMon?NeseRed#RingaRos S[>SoTef%eZil*0Ciu|Col EpsiEtt>Fal I$O/Pir#P)Sagg'SeSolu Sur@TaT[u T%eT-|0Av>EismoOm>O$TesaTiv&Tor$Tr{Tua,0Sil'Str?Tis+To$moTun$0Anz#E!V[i!Vi(Volge!3Io<O ZimoZur):Be,C}$Ci$CoDessaDi/+Gn#I+L]<L@Le=L/+Lza$Mbi$Ndi!RaondaRba)R}R{$RlumeRoc]Sil>S(Tos+Ttu U,VaVosa3C]FfaLg'LvaNdaNe_,Nig$Nzi=ReRli=Ta3Bi+CiDo<Fi@GaLanc?MboNo]*O*goPedePol&Rban.R-S]|Ses S$n$Son.SturiZzar)2An@At+2Ll{Nif>R@S]Tan>T^$Zzo*2Acc'AdipoA`An}Avu-E.l/Eve|EzzaIgl?Il/n.Ind&Oc]*O@Onzi=Ul*U$2Bbo<CaDi$Ffo<IoLboO$R*<R-s}S(/S+:De|Du]La`)L]*LesseLib)LmoLor?MbusaMe-+M%?Mmi$Mo/Mpa,NapaNde/NeNi$No|N^=PacePel*P{*Pogi)Ppe)P-Psu/RapaceR}ssaR@Ris`Rova=R!|R li=Sacc'S}+Ser`SoS(<S.l*Sua,Tas+Te=T-meU Vil*3Dibi,D-+Fa*Leb!Llul&NaNo<N.simoRam~Rc&R RumeRvel*So?SpoTo2E/Ia)Ic}Iede!Ime-I=IrurgoI+r-0AoClismoFr&G$Lind)O|*R}R)siTr>T+di$UffoVet+Vi,2Ass>In~O)2C]Dar@D%eE!n.G$meLl&Lm#Lo!Lpo(L^v#LzaMaMe+M`n@Mo@Mpu.rMu<Nci(Ndur!Nfer`Ngel&NiugeN<s(Nosce!NsumoN^nuoNveg$Per P'<Pp?Pr~poRazzaRda+R%#Rn%eRol/RpoR!@Rs?R.seSm>S+n.Ttu-V#2A.!Avat+E#Ede!Emo(Esci+E+Ice I=,IsiIt>OceO=}Os++Uc?,Us}2Ci!Cu*Gi$Ll#Po/R#!R(!R_Sci$S de:DoI$L`+Meri$Nie/N$(Nz&T#Van^Vve)3Bu|C[n'Ci(Cli$Col*C! D%#Fin{FormeG$Leg&Lfi$Lir'L+M[zaNot#Nt)Pos{Rapa+Riv&RogaScri|Ser Sider'Sume!Tersi_Vo 3Amet)Cemb!Ed)Fe(Ffu(Geri!Gi+,Luv'Nam>N=nziPin P*`Po*Rad&ReRo|RupoSag'Sc! Sf&Sge*Spos S+nzaSu`$ToVa$Vel Vide!Vor#5B*<C[.Ga=,G`LceM#M[~Min&N@*NoRmi!TeT !Vu Zzi=2AgoUi@2Bb'Bit&Ca,NaOmoPl%eRatu):0A$0Ces(CoLissiO$m?0E-I]/I,I r?Uc&2Emon?LiOismoReg'4Abor#Argi!Egan.Enc#E|Ev&F>I}MoSaU(0An#B,`Es(I)O^_Oz'<Pir>U*0Dem>Du)Erg?FasiO.}Tr&Zi`1A^.I*goI(d'O},Pu!0U#!0Ar'BaBo(EdeEmi+Ige!Met>OeOsi_Ran.0Ago$AmeAnimeAudi!CaEmp'Erc{Ib{Ig[.Is.!I OfagoOrt#O(Pan(P!s(S[zaSoTe(Tim&Ton?T)(Ult&0Il>N>Rus]To0ClideoRopa0A(Id[zaIt#Olu Viva:Bbr~Cc[daChi)L]Migl?Na,Nfa-NgoN+s`ReRfal/Ri$(R`]Sc?S (Sul*T%&ToVo*(3Bb!Co/DeG#LpaLt)Mmi=Nde!Nome$Rm[ R)R^,Ssu-S^_T+U@3AbaDuc?FaGur#LoNanzaNest-Ni!O!S},S>Ume2A]<Am[]EboEm`Ori@U[.Uo)2B>Cacc?Co(Der#Gl'La+Lc*!Lgo!Nd[.Net>N?N+=Rb{Rchet+Res+Rm~R='RoR.zzaRz&Sf#S(2A}s(A=Assi$A.l*Eccet+E=+Es]IgoOlli$OndeUga,Ut+2Ci/+Cs?Gg[.Lmi<L_Man.Me|Mo(NeNz'<O]RboRgo<Ro!SoTi,:Bb?$FfeLa.oLli=LoppoMbe)M`Ranz?RboRofa$Rzo<S@|Sol'Str>T Ud'ZeboZzel/3CoLa^=L(Mel*Mm#NeN{!N='No^poRgo2Epar@Iacc'Isa0Al*LdaNep)Oc&Oiel*Or$OveR#Ro<T++Udiz'Ur#Us 2Obu*U^<1Omo0BbaLfM{Mmo<Nf'N=Ver$2Aci,A@Af>AmmoAndeAtt&A_(Az?E}EggeIfo<Ig'InzaOt+Uppo2Adag$A'An Ard&FoId&::0Ern#0O=0Ent>Ill'O*RaR>Roge$2Ie<Na)Nor#4A!Le(Log>Lude!0Bal*Bevu Boc]Bu Ma<Mer(Mol#Pac]Pe PiegoPor P)n+0Al&Arc&At^_Can C[d'Chi$Cisi_Clu(Cont)C)c'CuboDagi<D?Do,Ed{Fat^Fil&Fli|Gagg'Geg$G,seGor@G)s(Nes]O@!Oltr&Ond#Sa$Se|SiemeSonn?Suli=Tas#Te)To=]Tu{Umidi!Vali@VeceV{1Erbo,Not>O.siP~1IdeLandaOn>Rig#Ror&0Ol#O poTer>Titu Tr%e0Al?Er&:::Bb)Birin C}Cer#Cri`Cu=D@veGoMpoNcet+N.r=R@(RgaRingeSt-T[zaTi$TtugaVag=Vo)3Ga,Gge)MboN.zzaNzaO<P!Si_Ss#S T.-,VaVig#3Be)DoEv{L/Matu-Mit&Mpi@Ne&NguaQui@RaR~S}TeTig'V!a5CandaDeG~Mb&Nd-Nge_QuaceR[zoToT.r?5CeCid#Ma}Mi$(NgoPoPpo*SingaS(T :Cab)Cchi=Ce)Cin#Da`G>Gl?G<.G)Iol~LafedeLg-@Lin.(Lsa$L Lumo!NaNc?N@r/Ngi&Nifes N=)Nov-NsardaN^deNubr'PpaR#=Rci!Ret+RmoRsup'Sche-Ssa?S^$Te-s(Tr>/T <Tu)Zur}3And)C}n>Ce=.DesimoDit&GaLassaLisLod?NingeNoN(/Rcur'R[daR*Schi$SeSse!S *Tal*To@T.!3Agol&CaCel'Che,C)boDol*E,Gl'!La$Li.MosaNe-,NiNo!Ri$R^l*Sce/SsivaS Sur&TezzaTig&T-T.n.4Emon>0Del*Dif~Du*Ga$G'LeLos(Nas.)N]Ndi=Ne+r'Ni,No $N(<Nt#Nvi(RaRde!Rs%#St)Tiv#TosegaT V[zaVim[ Zzo5C}CosaFfaGhe|G='La|Li<l*L^p*Mm?N Ove!Ra,SaS]*S~Te_,To:BabboF+Nomet)Rci(R%eRr#Sce!Str&Tu-,Ut~Vigl'3Bu*saC)siGa^_Goz'Mme$Ofi+Re|R_Ssu$Ttu$Ut-,VeV)t>3Cch?NfaTi@5Bi,Ci_DoMeMi=Rd>R`,RvegeseSt-$T&Tiz?Ttur$Vel/5C,oL/Me)O_Tri!Vo/Z?,:Si0Bedi!BligoElis]L'O*So, 0Cas'<Ch'Cid[.Cor!!Cult&RaUl#0Ier$Or&1Fer+Fri!Fusc#0Ge|GiNu$4AndeseFa|I#IvaOg-m`T!0Agg'Bel>B-EgaIss'<0Do(E!IceNi_)O!_,Ta1Er#In'<Pos 1A]*AfoDi<Ecchi$Ef%eFa$Gan>Igi<Izzon.MaMegg'Na^_O*g'R[@Ribi,T[s?T~Za+Zo0A!Cur&MosiPeda,Pi.SaSid&Ta]*Te0I.ReTago$TimoTob!1A,EstI$Ipa)Oc{UnqueVi&3Io:Cche|CeCif>Del/D)<EseGaGi=Lazzi=Les&Lli@LoLudeN@)N<l*O*O=zzoPr~Rabo/Rcel/Re!Rgo*RiRl#Ro/R^!Rv[zaRz?,Ssi_St%}Tac}To*g?TtumeVo<3Cc#Dal&Do=,Gg'Lo(N&Nd%eNi(/Nnu Nomb-Ns&N /PePi+Rbe<R]r(R@n#Rfor&Rgame=R'@Rmes(R$Rp,s(Rsua(Rtug'Rva(S#!Sis+SoS^fe)Ta*T^<Tu/n.Zzo3Ace!An+At^$Cci$CozzaEgaEt-Ffe)G?`Gol'G)LaLife)L*/Lo+Mpan.Ne+N=No*Ogg?OmboRamideRet>Ri.RolisiTo<Zz>2AceboAn&As`A+$E=r'2ChezzaDe)(DismoEs?Ggi&L[+Ligo$Ll%eLmoni.Lpet+L(Lt)=Lve!M%eMo@)N.Po*(Rfi@Ro(Rpo-R!R++SaSi^_Sses(Stul#Tass'Te!2AnzoAssiAt~Eclu(Ed~Efis(Egi#Elie_Eme!E$t&Epar#Es[zaE.s Eval(I`IncipeIv#Ob,`Ocu-Odur!OfumoOge|OlungaOmessaO$meOpos+O)gaO.(OvaUd[.Ug=Ur{0Iche1Bbl>D~Gil#G$LceL{Lsan.Nt&PazzoPil/Ro:99Ad)Al]saAsiE!/O+:C]l D@pp'D~,Dun#Ff~GazzoG'<G$Mar)MingoMoNdag'N l&P#Pi=Pp!(Satu-Schi#S[.Sseg=St!l*TaVvedu 3A,Cepi!Cin Clu+Cond{Cupe)Dd{Dime!Gal#Gist)Go/G!s(Laz'<M&Mo N=Pl~Prime!Put&SaSid[.Spon(S+u)TeTi=Tor~T^f~Voc#3Assun Badi!Bel,B!zzoCar~C]Ceve!C%l#Cor@C!du D>*Dur!Fas&F,s(For`Fug'G&Gett#Ghel*Lass#Lev#Ma<!MbalzoMed'Morch'Nasci+N})NforzoN$_Nom#Nsav{N c]Nunc?Nv[i!Par#Petu Pie$Port&P!saPuli!Sa+Sch'ServaSibi,SoSpe|S )Sult#S_l Tar@Teg$Tm>T)_Un'<VaVer(Vinci+Vol Zo`5BaBot>Bus Cc?CoDagg'De!D{!G{Ll'Mant>Mpe!Nz'Sol&SpoTan.Ton@Tu/Vesc'5BizzoBr~GaLli$Mi<Mo)(O*PeSs&St>:B#Bbi&Bot#Go`Las(Ldatu-Lgem`Liv&Lmo<Lo<Lt&Lu L_Pe!Pi@Por{Race$R}smoR S((Telli.Ti-Tol*Tur$Va=V'Zi#0Adigl'AlzoAnc#Ar-At.!Av&End&Irci&Locc#Occi#Rin&Ruffo<Uff&0Ab)(Ad[zaA/Ambi&Anda*Apo/Ar(A.n&Av#El En>Ett)HedaHie=IarpaI[zaInde!IppoI)ppoI_*Ler&Odel/Olp{Ompar Onfor Opri!Or+Os(<OzzeseRibaRoll&Ru^n'Uder?Ul !Uo/U)Us&0Ebit&Ogan&0C}tu-Con@Da$Gg'/G=l#G!g#Gu{Lci#Let^_L/Lvagg'Mafo)Mbr&MeMin#Mp!N(N^!Pol Qu[zaRa+Rb#Re$R'Rp[.R-gl'Rvi!S^=To/T^`=0Ace*Ald&Am#Arzo(At%#E-IdaIl#IngeOc#Oder&OgoOl^!Orz#Ra|Rutt#Ugg{Um&U(0Abel*Arb#Onfi&Orb'Rass#Uar@1Bi*C]meEr-G/G$!L[z'L/baMbo*Mpat>Mul#Nfon?Ngo*Nist)NoN.siNu(idePar'S`S ,Tu#2It+Ogatu-Ove$0Arr{Emor#En^ E-l@IlzoOnt&Ott#Uss#0Elli!Erv#O@0BbalzoBr'C]r(C?,Da,Ffi|G$Ld#L[<Li@L/zzoLoLubi,Lv[.Mat>M`NdaNe|Nnife)Pi!Ppe(P-Rge!Rpas(Rri(R(R.gg'R_l#Spi)S+T^,0AdaAl/Arge!A /Av[ Azzo/EcieEdi!Eg<!E/tu-E-nzaEs(!Ett-,Ezz#IaIgo*(Ill#I$(I-,L[di@Or^_O(RangaRec&Ron#RuzzoUn^$0Uil*0Ad%&O l#1Abi,Ac]AffaAgn&Amp#Ant'Arnu Ase-Atu E*EppaErzoI,|I`IrpeIva,Izzo(On#Or>RappoReg#Ridu*Rozz&Ru|Ucc&UfoUp[@0B[t)C](Do!Gger{GoL+$On&PerboPpor Rgel#R)g#Ssur)Tu-0Ag&EdeseEgl'El&Enu Ez?IluppoIs+Izze-Ol+Uot&:Bac]Bul#Cci&Citur$LeLis`$Mpo<Nni$RaRdi_Rg#RiffaRp&R+rugaS Tt>Ver=Vo/+Zza3CaCn>Lefo$Me-r'MpoMu N@<Ne)Ns'<N+]*O!`RmeR-zzoRze|SiSser#St#T)T ?3F&Gel/Mb)N P>Pog-foRagg'RoTan'To*Tuban.Z'Zzo<5Cc&L,r&L Mbo/MoNfoNsil/Paz'Po*g?PpaRbaRn&R)<R -S}$Ssi!S+tu-Ta$2Aboc]AcheaAfi/Aged?Alc'Amon Ans{Apa$Ar!As*]Att#AveEcc?Emol'Espo*Ibu Iche]Ifogl'Il*InceaIoIs.zzaItur#Ivel/OmbaO$OppoO|/Ov&Ucc#2Batu-Ff#Lipa$Mul Nis?Rb&Rchi$TaTe/:0Ic#0Cel*Ci(!0I!I^_1FaF%'0Ua,4IsseTim#0A$I,Orismo0Ci<|Ge!Ghe!seI]r$If%#I($I+r'Te0Vo0Upa1Aga$G[zaLo0AnzaA C{Ig$*U-'0Ensi,IlizzoOp?:Can.Ccin#Gabon@Gli#LangaLgoL>L,t+Lo)(Lut&L_/Mpa+Ng&N{(NoN+gg'Nve-Po!Ra$Rc#R?n.S}3Det+DovaDu Ge+,I]*Lc)Li=Llu LoceN#Ndemm?N RaceRba,Rgog=Rif~RoRru}Rt~,Sc~Ssil*S+,Te-$Tri=Tus 3Andan.B-n.C[daChingoCi=nzaDim&Gil?G< Go!LeL/$MiniNc{!O/Pe-Rgo/Ro*goRu,n S](S'<SpoSsu Su-TaTel*T^`VandaVi@Zi&5CeGaLa^,Le!LpeRagi<5L}$::::Mpog=N=Pp#T.-Vor-3Fi)Lan.LoNze)Rbi$3Be|N]R]<T 5L/T>5Cche)Fo*LuPpa",LE="0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620",Yh=null,Wu=class r extends at{constructor(){super("it",SE,LE)}static wordlist(){return Yh==null&&(Yh=new r),Yh}};var NE="0arad!ototealirertainrasoent hoandoaR#riareha!aroele'oronul0Aca%AixoAl A%rDuz'El]Er$IsmoO$ R<g(Revi Rig Rup$S*$Solu$Sur=Ut[0Ab#Alm Amp Anh A,Ei.El( En ErvoEss E$naHa.IdezImaI}#Irr Lam LiveOlhidaOmod Opl Ord Um~ Us?0Ap.EgaEnt_Ep$Equ Er-%EsivoEusI<%ItivoJetivoJun$M' Or Qu''UboV(,Vog#0R}ave0As.Er'EtivoIn?Iv` Li$Lu-%R}.0Ach Arr As&/Enci Iliz Io)It#O+R! Res%Rup U d Ul]2O`h Ud Us.1AmedaArmeAstr Av<caB(gueB*oCat+De@EcrimEgr@Er.FaceF*e%GumHeioI Ica%I- Inh Ivi Mof^Oc Pis%T( TitudeUc* Ug UnoUsivoVo0Aci A=rA[loAss BasBi-%EixaEniz I=Is$,Iz!eOl?On$ O_,Ost+P Pli Pola0Ag+maAlis Arqu@A$m@DaimeElExoG~ Im JoOm&@Ot#Sio,T(i|Uid!eUnci Zol1Ag?Alp Anh#EgoEli=Ert^Es Eti%I$Lau,Lic^OioOn.Os)R-dizRov 0Uec(0AmeAn]A+C^D-%E@Ej Eni$Es)Gilo,GolaMaQuivoRai&Reba%Risc Rob>um S-&T(i&TigoVo[=0F&.Il#P' S?S* So&/Sun$Tr&0Ac#Adu+Al/A[f E End(Er_EuIng'Ir?IvoOl{oRac Revi=RizU&Um0Di$rM-.R>o+TismoT|@Tu 0Ali An%Ar@Ent&Es,I?Is Ul,1Ila1Ar E=Ei%Ulejo:B BosaC&]uCh `C@GagemI<oIl I}e)Ir_Ixis)J~ Le@LizaLsaN&Nd{aN/N'Nque%Ra$Rb#R}es>+c>~/Se#S)n%Ta)Te=rTidaTomTuc Unil]3B(IjoIr^IsebolLd!eLezaLgaLisc Ndi$Ng&aNz(RimbauRl*d>_Sou_XigaZ(_3CoCu=En&Foc&Furc G|naLhe%Mest[Mo$rOlog@OmboOsf(aPol Rr-$Scoi$Sne$SpoSsex$TolaZ _2Ind#OcoOque 2A$BagemC#CejoChec]Ico.L^LetimL]LoMb{oNdeNecoNi)Rb~h>d>e&R+c]V*oXe?2AncoAsaAvezaEuIgaIl/Inc OaOchu+Onze O$Uxo2C]DismoF LeRacoScaS$Z*a:B<aB`oBideBoBri$CauCet^C/r_CiqueDast_De#Fez&IaqueIp'aIxo%J#JuLafrioLc~ Ld{aLibr Lm<%Lo)M^Mbis)MisaMomilaMp<]Mufl Navi&Nc` Ne)NguruN/$Nive%NoaNs#N.Nu=Pac/P`aP* Po.Pric/Pt?PuzRacolRb}oRde&Rec>imb Rn{oRpe%R['>)zRv&/SacoScaSeb[S%loS~oT a)Tiv UleUs?U%l V&oV(na3BolaDil]G}]Lebr L~ Nou+N,N%ioRc Rr#R%'oRvejaTimV^2Aco)Al{aAm#Ap^ArmeAticeAveEfeEg^E'oEqueIco%If[In`oOc&/Ov(UmboU.Uva0CatrizCl}eD!eD['aEn%G<aM-$N$Nz><d>cui$Rurg@T 2A[zaE_Ic OneUbe2A=Ag'Ba@B($rBr C^El/Ent_E,Gum`oIb'IfaIo%L L{aLh(Lid'Lme@L}oLunaM<=Mb* M-.MitivaMov(MplexoMumNc]N=rNec.Nfu,Ng` Nhec(Njug Nsum'Nt+$Nvi%Op( P{oPi?PoQue%lRagemRdi&Rne)R}h>p|&R[ioR%joRuj>voSs-oS%laT}e%U_UveVilZ*]2A%+AvoEcheE=rEmeErEspoI^Im*&Io~oIseItic Os)UaUz{o2B<oEcaId#JoLat+Lm* Lp Ltu+Mpr'Nh#Pi=RativoRr&Rs R$Sp'S% T`o:MascoT 3Ba%rBi.BocheB~h C&queCim&CliveCo%C[.D&Dic#Duz'FesaFum G`oG+uGus.It#Ix La$rLeg#L*e L}gaM<daMit'Moli=Ntis)P-#Pil PoisP[ssaPur Riv>+m SafioSbo.Sc<,S-/Sfi#Sgas%Sigu&SlizeSmam SovaSpesaS)queSvi T&h T-$rT} Tri$UsaV(Vi=Vot#Z-a3Ag+maAle$Da)Fu,Gi.Lat#Lu-%M*u'Nast@Nh{oOceseRe$Sc[)Sf ceSp oSque%Ssip S)n%T?UrnoV(,Vi,rV~g Z(5Br?L|i=M?M*#NativoNz`>m-%Rs&SagemUr#U$r2EnagemIbleOg @2El EndeE$PloQues><%Vi=,:1Lod'O Olog@0Ific It&Uc#1Ei$Etiv 3E.1Ab| Eg(Ei$rEncoEv?Im* Ogi 0B goBol#Br~/Buti=EndaErg'Is,rPat@P-/P*#Polg P[goPurr Ul?0CaixeC-#Ch-%C}t_Deus Doss Faix Fei%FimGaj#G-/Glob Gom#G+x Gu@Jo La.Qu<$Raiz Rol#Rug SaioSe^S*oSop#T<$Te#Tid!eT|.Tr^T~/V(g Vi#Volv(XameX($Xof[Xu$1Id(me0Uip 0E$Gui=Ra)VaVil]0B<j B`$CamaColaCri)Cu)F*geFol F[g Fum#GrimaM&%P<$P`/PigaP}jaP[i)Pum Qu(daTacaT{aTic Tof#T[laTu=Vazi 0AnolIque)0F|i>opeu0Acu Ap| AsivoEntu&Id-%Olu'1Ag(oAl Am* A$Aus$Ces,Ci.Clam Ecu.EmploIb'Ig-%On( P<d'P`'P' Pl< Pos$P[s,P~s T(noT*$T+$:Bric B~o,Ce)Ci&DaDigaIxaL L)Mili Nd<goNf +N$cheRd#R`oR*h>of>p>tu+T@T|V|i)X*aZ-da3Ch#Ijo^I+n%L*oM**oNdaNoR>i#RrugemRv(S%j T&Ud&3ApoB_seC Ch{oGur#L{aL/LmeLtr RmezaSg^Ssu+TaV`aX?Xo2AcidezAm*goAn`aEch^O+Utu Uxo2C&C*/Foc GoGue%IceLg#Lhe$Rj Rmig>noR%ScoSsa2Aga)AldaAngoAscoA%rnoE'aEn%E.IezaI,Itu+On]Ustr U%'a2G'L<oLigemNd NgoNilR?Rio,Tebol:B i$B*e%DoIa$IolaIvo)LegaL/L*]Loc]Nh RagemRfoRg&oRimpoRoup>+faSodu$S$TaTil/Ve)Z`a3L#Le@LoM^M(Mi=N(o,NgivaNi&NomaN_Ologi>?Rm* S,S$r3Nas)Nc<aNg#Raf>*o2Aci&IcoseOb&Orio,2ElaIabaLfeLpe Rdu+Rje)R_S$,T{aV(n 2AcejoAdu&Afi%Al]AmpoAn^Atui$Ave$AxaEgoElh EveIloIs&/I.@Os,O%scoUd#Unhi=U)2AcheA+niAx*imEr[ I Inc/Is#LaLo,Ru:Bi.Rm}@S%V(3C.eRd Res@Si.3A$B(n D+.EnaNoPismoPnosePo%ca5JeLofo%MemNes$Nr#Rm}&Sped 5M|#:Te2E@O,2N|#RejaU<a4E,HaUdi=Um* Ustr 0AgemEd@$En,ErsivoIn-%It?Ort&Pac$Ped'Pl<%P|Pr-saPuneUniz 0Al?Ap$AtivoC-,Ch Cid'Clu'Col|Deci,D'e$Du$rEficazEr-%F<tilFes.F*i$Flam F|m&F+$rG('Ibi=Ici&ImigoJe.Oc-%O=_Ov?OxQuie$Scri$Se$Sist'Spe$rSt& S~$Tac$Tegr&Tim Toc#TrigaVa,rV(noVic$Voc 0Gur%2Ani<oOniz Re&Rit#0CaEn$Ol#Qu{o0Ali<o:N{oNg^N)R ac>dimR_SmimToV&iZida3Jum9An*]Elh^G?I>n&Rr Vem5BaDeuDocaIzLg?L/R#Ris)RoS)::B edaB|&C[C)n%Dril/G )GoaJeMb(M-.M* MpejoNchePid P,R<j>{>gu+S<]St_T(&Ti=V<daVou+Vr?X<%Z(3Ald!eB[G#G-d Gis)IgoIlo Itu+Mb[%MeNh?Ntil]OaSmaS%TivoT['oV VezaVi.3B(&Bi=D( G G{oMi.Mo{oMp?NdaNe N]gemQuidezS)gemSu+T|&V_XaX{a5C?Cu$rJis)MboNaNgeNt+RdeT#T(@Ucu+UsaUv 5ArCidezC_Ne)St[T?Va:CacoCe%Ch#CioD{aDr*]Gna)G[zaI|IsL<d_L]Lo%LucoMiloMo{oMu%N^Nc]Nda$NequimN/,Niv`aNobr NsaN%rNuse Pe#Qu* Rc?Resi>fimRgemR*/Rmi)Ro$RquiseR[coR%loRujoSco%Sm|+SsagemStig Tag&T(noT*&Tu.Xil 3D&]DidaDusaGaf}eIgaL<c@L/rMb_M|i&N*oNosNsagemNt&Rec(Rg~/S^Scl SmoSqui)St[T!eTeo_T+gemX(Xic<o3C_G&]Gr Lag[L- Lh M#N( N/caNist_N|@OloR<%RtiloStur 5Cid!eD(noD~ EdaErIn/I)Ldu+LezaL/L*e%LuscoN)n]Quec><goRcegoR=moR-aSaicoSque%S.daT`TimToTriz5DaI$La)Lh(L.Ndi&Ni=R&h>c/Sc~ SeuSic&:Ci}&D?JaMo_R*>r#Sc(TivaTu[zaV&]Veg Vio3Bl*aB~o,GativaGoci Gri$Rvo,TaUr&VascaVo{o3N N/TidezV` 5B[zaI%IvaMe M*&Rdes%R% T Tici TurnoV`oVil/Vo5Bl#DezM(&Pci&Tr'Vem:0Cec#Edec(JetivoRig#Scu_S%t+T(Tur 0Id-%Io,Orr(Ulis)Up#2Eg<%EnsivaEr-daIc*aUsc#0Iva4Ar@Eo,H Iv{a0B_Ele%Is,It'0D~#E_,Tem1Ci}&Er?On-%OrtunoOs$1ArBi.DemD*&F<a$GasmoG~/I-t&IgemIun=LaTo=xoV&/0Cil S^SoT-.0Imismo0S!@T}oTub_Vi=0El]Ul 1Id Ig- :Ca$Ci-%Co%Ctu D @Dr*/G GodeIn`Ir IsagemLav+Lest+Lhe)Li$Lm^Lpi.Nc^N`aNfle$NquecaN)n&PagaioP`^P'oRaf*>ci&Rd&RedeRtidaSmoSs#S%lTam T-%T* T_noUl^Us 3C~i D& Dest[D@t+D+G^I$r&IxeLeLic<oNcaNdur N{aN]scoNs?N%Rceb(Rfei$Rgun)Ri$Rmit'Rn>plexoRsi<>%nceRucaSc#SquisaS,aTisc 3AdaC#Ed!eGm-$Last+Lh#Lo.M-)Nc`NguimN]No%N.On{oPocaQue%R<h>esRue)Sc S$laT<gaVe%2An)Aque)At*aEbeuUmagemUvi&1Eu0DaE'aEtisaLeg^Lici Lu-%Lvil/M MbaNd( N.@P~o,R)Ssu'St&TeUp U,Vo 2A@Anc]A$AxeEceEd?Efei$Emi Ens Ep Esil]E%x$Ev-'Ez Ima)IncesaIsmaIv#Oces,Odu$Ofe)Oibi=Oje$Ome%rOpag OsaO%$rOv?2Blic DimL Lm} Ls{aNh&N'PiloRezaX?:99Ad+Ant@Ar$AseEbr EdaEijoEn%Eri=Im}oInaIosque:B<^BiscoCh Ci} Di&I In]IoIvaJ^L#M&Ng(Nhu+P!u+P`PidezPosaQue%Rid!eS<%Scun/Sg Sp?S%'aSur Taz<aTo{a3AlezaAnim Av(Baix B`deBol C#C-%CheioCiboC|d Cru.Cu DeDim'D}daDuzidaEnvioF* Flet'Fog F[scoFugi G&@GimeG+In#I$rJei.LativoM?M-=M|,Nov#P oP`'Ple$Pol/P[saPudi Qu((S-]Sfri Sga.Sid'Solv(Spei$SsacaS)n%Sum'T&/T(T' Tom^T+.V` Vi,rVol)3Ac/CaGidezGo_,M NgueS^ScoS}/5B&oChe=D^DeioDov@E=rLe)M<oNc S#S{aS$TaT{oT*aT~ UcoUpaXo5B_Gi=Go,IvoMoPest[S,:B|Ci ColaCud'DioF'aGaGr^Ib_L^L{oLg#LivaLpic Lsic]L.Lv?Mb Mu+iN Nf}aNgueNid!ePa$Rd>g-$Rje)Tur Ud!eXof}eZ}&3C C~ DaD-$Di#Do,Du$rGm-$G[=Gun=IvaLe$LvagemM<&M-%N?N/rNsu&Nt#P #Rei>*g>+RvoTemb_T|3GiloLhue)Lic}eMetr@Mpat@M~ N&Nc(oNg~ NopseN$ni>-eRiTu#5B(<oB+C|_G_JaLdaLetr L%'oMbrioNa)Nd Neg Nh?NoP+noQue%Rr'R%ioSsegoTaqueT(r V#Z*/5Aviz BidaBm(,B,loBt+'Ca)Ces,CoDes%FixoG?G('Jei$Lfa$M'OrP(i|Plic Pos$Prim'Rd*>fis)Rp[s>[&Rt'Sp'oS%n$:B`aBle%Bu^C/G `aLh(LoLvezM</Mb|imMpaNg-%N$P Pioc>dioRef>j>+xaTuagemUr*oXativoXis)3Atr&C(Ci=Cl#Dio,IaIm Lef}eLh#Mp(oN-%N,rN.Rm&RnoRr-oSeSou+St#ToXtu+Xugo3A+G`aJoloMbr MidezNgi=N%'oRagemT~ 5Al]C]L( LiceM^Mil/N`Ntu+Pe%R>ci=RneioRqueRr!>$S.UcaUp{aX*a2Ab&/Acej Adu$rAfeg Aje$AmaAnc ApoAs{oAt?Av E*oEm(Epid EvoIagemIboIcicloId-%Ilog@Ind!eIploItur Iunf&Oc Ombe)OvaUnfoUque2B~ C<oDoLipaPiRboRm>quesaT` T|i&:7V 3Bigo0HaId!eIf|me3Olog@SoTigaUbu0A=InaUfru':C*aDi G o,I=,LaL-%Lid!eLo[sN)gemQu{oR<d>e)Rr(Sc~ Sil]S,u+Z Zio3A=D Ge.Ic~ L{oLhiceLu=Nce=rNdav&N( Nt[Rb&Rd!eRe?Rg}h>m`/RnizRs R%n%SpaSti=T|i&3Adu$AgemAj Atu+Br?D{aDr @ElaGaG-%Gi G| L ejoNcoNhe)NilOle)R!>tudeSi.S$Tr&V{oZ*/5A=rArG&L<%LeibolL)gemLumo,Nt!e5L$Vuz`a::D[zRope3QueRe.Rife3Ng ::Ng#Rp 3BuL?9Mb Olog@5Mbi=",vE="0x2219000926df7b50d8aa0a3d495826b988287df4657fbd100e6fe596c8f737ac",Wh=null,ju=class r extends at{constructor(){super("pt",NE,vE)}static wordlist(){return Wh==null&&(Wh=new r),Wh}};var jh="}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN<di,AM=W5%QO&ka&ua,hM^tm=zV=JA=wR&+X]7P&NB#4J#5L|/b[dA}tJ<Do&6m&u2[U1&Kb.HM&mC=w0&MW<rY,Hq#6M}QG,13&wP}Jp]Ow%ue&Kg<HP<D9~4k~9T&I2_c6$9T#9/[C5~7O~4a=cs&O7=KK=An&l9$6U$8A&uD&QI|/Y&bg}Ux&F2#6b}E2&JN&kW&kp=U/&bb=Xl<Cj}k+~5J#6L&5z&9i}b4&Fo,ho(X0_g3~4O$Fz&QE<HN=Ww]6/%GF-Vw=tj&/D&PN#9g=YO}cL&Of&PI~5I&Ip=vU=IW#9G;0o-wU}ss&QR<BT&R9=tk$PY_dh&Pq-yh]7T,nj.Xu=EP&76=cI&Fs*Xg}z7$Gb&+I=DF,AF=cA}rL#7j=Dz&3y<Aa$52=PQ}b0(iY$Fa}oL&xV#6U=ec=WZ,xh%RY<dp#9N&Fl&44=WH*A7=sh&TB&8P=07;u+&PK}uh}J5#72)V/=xC,AB$k0&f6;1E|+5=1B,3v]6n&wR%b+&xx]7f=Ol}fl;+D^wG]7E;nB;uh^Ir&l5=JL,nS=cf=g5;u6|/Q$Gc=MH%Hg#5d%M6^86=U+$Gz,l/,ir^5y&Ba&/F-IY&FI&be%IZ#77&PW_Nu$kE(Yf&NX]7Z,Jy&FJ(Xo&Nz#/d=y7&MX<Ag}Z+;nE]Dt(iG#4D=13&Pj~4c%v8&Zo%OL&/X#4W<HR&ie~6J_1O(Y2=y5=Ad*cv_eB#6k&PX:BU#7A;uk&Ft&Fx_dD=U2;vB=U5=4F}+O&GN.HH:9s=b0%NV(jO&IH=JT}Z9=VZ<Af,Kx^4m&uJ%c6,6r;9m#+L}cf%Kh&F3~4H=vP}bu,Hz|++,1w]nv}k6;uu$jw*Kl*WX&uM[x7&Fr[m7$NO&QN]hu=JN}nR^8g#/h(ps|KC;vd}xz=V0}p6&FD$G1#7K<bG_4p~8g&cf;u4=tl}+k%5/}fz;uw<cA=u1}gU}VM=LJ=eX&+L&Pr#4U}p2:nC,2K]7H:jF&9x}uX#9O=MB<fz~8X~5m&4D&kN&u5%E/(h7(ZF&VG<de(qM|/e-Wt=3x(a+,/R]f/&ND$Ro&nU}0g=KA%kH&NK$Ke<dS}cB&IX~5g$TN]6m=Uv,Is&Py=Ef%Kz#+/%bi&+A<F4$OG&4C&FL#9V<Zk=2I_eE&6c]nw&kq$HG}y+&A8$P3}OH=XP]70%IS(AJ_gH%GZ&tY&AZ=vb~6y&/r=VI=Wv<Zi=fl=xf&eL}c8}OL=MJ=g8$F7=YT}9u=0+^xC}JH&nL^N0~4T]K2,Cy%OC#6s;vG(AC^xe^cG&MF}Br#9P;wD-7h$O/&xA}Fn^PC]6i]7G&8V$Qs;vl(TB~73~4l<mW&6V=2y&uY&+3)aP}XF;LP&kx$wU=t7;uy<FN&lz)7E=Oo*Y+;wI}9q}le;J6&Ri&4t&Qr#8B=cb&vG=J5|Ql(h5<Yy~4+}QD,Lx=wn%K/&RK=dO&Pw,Q9=co%4u;9u}g0@6a^4I%b0=zo|/c&tX=dQ=OS#+b=yz_AB&wB&Pm=W9$HP_gR=62=AO=ti=hI,oA&jr&dH=tm&b6$P2(x8=zi;nG~7F;05]0n[Ix&3m}rg=Xp=cd&uz]7t;97=cN;vV<jf&FF&F1=6Q&Ik*Kk&P4,2z=fQ]7D&3u,H0=d/}Uw<ZN<7R}Kv;0f$H7,MD]7n$F0#88~9Z%da=by;+T#/u=VF&fO&kr^kf<AB]sU,I5$Ng&Pz;0i&QD&vM=Yl:BM;nJ_xJ]U7&Kf&30,3f|Z9*dC)je_jA&Q4&Kp$NH(Yz#6S&Id%Ib=KX,AD=KV%dP}tW&Pk^+E_Ni=cq,3R}VZ(Si=b+}rv;0j}rZ]uA,/w(Sx&Jv$w9&4d&wE,NJ$Gy=J/]Ls#7k<ZQ<Y/&uj]Ov$PM;v3,2F&+u:up=On&3e,Jv;90=J+&Qm]6q}bK#+d~8Y(h2]hA;99&AS=I/}qB&dQ}yJ-VM}Vl&ui,iB&G3|Dc]7d=eQ%dX%JC_1L~4d^NP;vJ&/1)ZI#7N]9X[bQ&PL=0L(UZ,Lm&kc&IR}n7(iR<AQ<dg=33=vN}ft}au]7I,Ba=x9=dR~6R&Tq=Xi,3d$Nr&Bc}DI&ku&vf]Dn,/F&iD,Ll&Nw=0y&I7=Ls=/A&tU=Qe}Ua&uk&+F=g4=gh=Vj#+1&Qn}Uy*44#5F,Pc&Rz*Xn=oh=5W;0n_Nf(iE<Y7=vr=Zu]oz#5Z%mI=kN=Bv_Jp(T2;vt_Ml<FS&uI=L/&6P]64$M7}86<bo%QX(SI%IY&VK=Al&Ux;vv;ut*E/%uh<ZE|O3,M2(yc]yu=Wk&tp:Ex}hr,Cl&WE)+Z=8U}I2_4Q,hA_si=iw=OM=tM=yZ%Ia=U7;wT}b+;uo=Za}yS!5x}HD}fb#5O_dA;Nv%uB(yB;01(Sf}Fk;v7}Pt#8v<mZ#7L,/r&Pl~4w&f5=Ph$Fw_LF&8m,bL=yJ&BH}p/*Jn}tU~5Q;wB(h6]Df]8p^+B;E4&Wc=d+;Ea&bw$8C&FN,DM=Yf}mP~5w=fT#6V=mC=Fi=AV}jB&AN}lW}aH#/D)dZ;hl;vE}/7,CJ;31&w8,hj%u9_Js=jJ&4M~8k=TN&eC}nL&uc-wi&lX}dj=Mv=e2#6u=cr$uq$6G]8W}Jb:nm=Yg<b3(UA;vX&6n&xF=KT,jC,De&R8&oY=Zv&oB]7/=Z2&Oa}bf,hh(4h^tZ&72&Nx;D2&xL~5h~40)ZG)h+=OJ&RA]Bv$yB=Oq=df,AQ%Jn}OJ;11,3z&Tl&tj;v+^Hv,Dh(id=s+]7N&N3)9Q~8f,S4=uW=w4&uX,LX&3d]CJ&yp&8x<b2_do&lP=y/<cy_dG=Oi=7R(VH(lt_1T,Iq_AA;12^6T%k6#8K[B1{oO<AU[Bt;1b$9S&Ps<8T=St{bY,jB(Zp&63&Uv$9V,PM]6v&Af}zW[bW_oq}sm}nB&Kq&gC&ff_eq_2m&5F&TI}rf}Gf;Zr_z9;ER&jk}iz_sn<BN~+n&vo=Vi%97|ZR=Wc,WE&6t]6z%85(ly#84=KY)6m_5/=aX,N3}Tm&he&6K]tR_B2-I3;u/&hU&lH<AP=iB&IA=XL;/5&Nh=wv<BH#79=vS=zl<AA=0X_RG}Bw&9p$NW,AX&kP_Lp&/Z(Tc]Mu}hs#6I}5B&cI<bq&H9#6m=K9}vH(Y1(Y0#4B&w6,/9&gG<bE,/O=zb}I4_l8<B/;wL%Qo<HO[Mq=XX}0v&BP&F4(mG}0i}nm,EC=9u{I3,xG&/9=JY*DK&hR)BX=EI=cx=b/{6k}yX%A+&wa}Xb=la;wi^lL;0t}jo&Qb=xg=XB}iO<qo{bR=NV&8f=a0&Jy;0v=uK)HK;vN#6h&jB(h/%ud&NI%wY.X7=Pt}Cu-uL&Gs_hl%mH,tm]78=Lb^Q0#7Y=1u<Bt&+Q=Co_RH,w3;1e}ux<aU;ui}U3&Q5%bt]63&UQ|0l&uL}O7&3o,AV&dm|Nj(Xt*5+(Uu&Hh(p7(UF=VR=Bp^Jl&Hd[ix)9/=Iq]C8<67]66}mB%6f}bb}JI]8T$HA}db=YM&pa=2J}tS&Y0=PS&y4=cX$6E,hX,XP&nR;04,FQ&l0&Vm_Dv#5Y~8Z=Bi%MA]6x=JO:+p,Az&9q,Hj~6/}SD=K1:EJ}nA;Qo#/E]9R,Ie&6X%W3]61&v4=xX_MC=0q;06(Xq=fs}IG}Dv=0l}o7$iZ;9v&LH&DP-7a&OY,SZ,Kz,Cv&dh=fx|Nh,F/~7q=XF&w+;9n&Gw;0h}Z7<7O&JK(S7&LS<AD<ac=wo<Dt&zw%4B=4v#8P;9o~6p*vV=Tm,Or&I6=1q}nY=P0=gq&Bl&Uu,Ch%yb}UY=zh}dh}rl(T4_xk(YA#8R*xH,IN}Jn]7V}C4&Ty}j3]7p=cL=3h&wW%Qv<Z3=f0&RI&+S(ic_zq}oN&/Y=z1;Td=LW=0e=OI(Vc,+b^ju(UL;0r:Za%8v=Rp=zw&58&73&wK}qX]6y&8E)a2}WR=wP^ur&nQ<cH}Re=Aq&wk}Q0&+q=PP,Gc|/d^k5,Fw]8Y}Pg]p3=ju=ed}r5_yf&Cs]7z$/G<Cm&Jp&54_1G_gP_Ll}JZ;0u]k8_7k(Sg]65{9i=LN&Sx&WK,iW&fD&Lk{9a}Em-9c#8N&io=sy]8d&nT&IK(lx#7/$lW(Td<s8~49,3o<7Y=MW(T+_Jr&Wd,iL}Ct=xh&5V;v4&8n%Kx=iF&l2_0B{B+,If(J0,Lv;u8=Kx-vB=HC&vS=Z6&fU&vE^xK;3D=4h=MR#45:Jw;0d}iw=LU}I5=I0]gB*im,K9}GU,1k_4U&Tt=Vs(iX&lU(TF#7y,ZO}oA&m5#5P}PN}Uz=hM<B1&FB<aG,e6~7T<tP(UQ_ZT=wu&F8)aQ]iN,1r_Lo&/g:CD}84{J1_Ki&Na&3n$jz&FE=dc;uv;va}in}ll=fv(h1&3h}fp=Cy}BM(+E~8m}lo%v7=hC(T6$cj=BQ=Bw(DR,2j=Ks,NS|F+;00=fU=70}Mb(YU;+G&m7&hr=Sk%Co]t+(X5_Jw}0r}gC(AS-IP&QK<Z2#8Q$WC]WX}T2&pG_Ka,HC=R4&/N;Z+;ch(C7,D4$3p_Mk&B2$8D=n9%Ky#5z(CT&QJ#7B]DC]gW}nf~5M;Iw#80}Tc_1F#4Z-aC}Hl=ph=fz,/3=aW}JM}nn;DG;vm}wn,4P}T3;wx&RG$u+}zK=0b;+J_Ek{re<aZ=AS}yY#5D]7q,Cp}xN=VP*2C}GZ}aG~+m_Cs=OY#6r]6g<GS}LC(UB=3A=Bo}Jy<c4}Is;1P<AG}Op<Z1}ld}nS=1Z,yM&95&98=CJ(4t:2L$Hk=Zo}Vc;+I}np&N1}9y=iv}CO*7p=jL)px]tb^zh&GS&Vl%v/;vR=14=zJ&49|/f]hF}WG;03=8P}o/&Gg&rp;DB,Kv}Ji&Pb;aA^ll(4j%yt}+K$Ht#4y&hY]7Y<F1,eN}bG(Uh%6Z]t5%G7;+F_RE;it}tL=LS&Da=Xx(S+(4f=8G=yI}cJ}WP=37=jS}pX}hd)fp<A8=Jt~+o$HJ=M6}iX=g9}CS=dv=Cj(mP%Kd,xq|+9&LD(4/=Xm&QP=Lc}LX&fL;+K=Op(lu=Qs.qC:+e&L+=Jj#8w;SL]7S(b+#4I=c1&nG_Lf&uH;+R)ZV<bV%B/,TE&0H&Jq&Ah%OF&Ss(p2,Wv&I3=Wl}Vq;1L&lJ#9b_1H=8r=b8=JH(SZ=hD=J2#7U,/U#/X~6P,FU<eL=jx,mG=hG=CE&PU=Se(qX&LY=X6=y4&tk&QQ&tf=4g&xI}W+&mZ=Dc#7w}Lg;DA;wQ_Kb(cJ=hR%yX&Yb,hw{bX_4X;EP;1W_2M}Uc=b5(YF,CM&Tp^OJ{DD]6s=vF=Yo~8q}XH}Fu%P5(SJ=Qt;MO]s8<F3&B3&8T(Ul-BS*dw&dR<87}/8]62$PZ]Lx<Au}9Q]7c=ja=KR,Go,Us&v6(qk}pG&G2=ev^GM%w4&H4]7F&dv]J6}Ew:9w=sj-ZL}Ym$+h(Ut(Um~4n=Xs(U7%eE=Qc_JR<CA#6t<Fv|/I,IS,EG<F2(Xy$/n<Fa(h9}+9_2o&N4#7X<Zq|+f_Dp=dt&na,Ca=NJ)jY=8C=YG=s6&Q+<DO}D3=xB&R1(lw;Qn<bF(Cu|/B}HV=SS&n7,10&u0]Dm%A6^4Q=WR(TD=Xo<GH,Rj(l8)bP&n/=LM&CF,F5&ml=PJ;0k=LG=tq,Rh,D6@4i=1p&+9=YC%er_Mh;nI;0q=Fw]80=xq=FM$Gv;v6&nc;wK%H2&Kj;vs,AA=YP,66}bI(qR~5U=6q~4b$Ni=K5.X3$So&Iu(p+]8G=Cf=RY(TS_O3(iH&57=fE=Dg_Do#9z#7H;FK{qd_2k%JR}en&gh_z8;Rx}9p<cN_Ne,DO;LN_7o~/p=NF=5Y}gN<ce<C1,QE]Wv=3u<BC}GK]yq}DY&u/_hj=II(pz&rC,jV&+Z}ut=NQ;Cg-SR_ZS,+o=u/;Oy_RK_QF(Fx&xP}Wr&TA,Uh&g1=yr{ax[VF$Pg(YB;Ox=Vy;+W(Sp}XV%dd&33(l/]l4#4Y}OE=6c=bw(A7&9t%wd&N/&mo,JH&Qe)fm=Ao}fu=tH",BE="FAZDC6BALcLZCA+GBARCW8wNCcDDZ8LVFBOqqDUiou+M42TFAyERXFb7EjhP+vmBFpFrUpfDV2F7eB+eCltCHJFWLFCED+pWTojEIHFXc3aFn4F68zqjEuKidS1QBVPDEhE7NA4mhMF7oThD49ot3FgtzHFCK0acW1x8DH1EmLoIlrWFBLE+y5+NA3Cx65wJHTaEZVaK1mWAmPGxgYCdxwOjTDIt/faOEhTl1vqNsKtJCOhJWuio2g07KLZEQsFBUpNtwEByBgxFslFheFbiEPvi61msDvApxCzB6rBCzox7joYA5UdDc+Cb4FSgIabpXFAj3bjkmFAxCZE+mD/SFf/0ELecYCt3nLoxC6WEZf2tKDB4oZvrEmqFkKk7BwILA7gtYBpsTq//D4jD0F0wEB9pyQ1BD5Ba0oYHDI+sbDFhvrHXdDHfgFEIJLi5r8qercNFBgFLC4bo5ERJtamWBDFy73KCEb6M8VpmEt330ygCTK58EIIFkYgF84gtGA9Uyh3m68iVrFbWFbcbqiCYHZ9J1jeRPbL8yswhMiDbhEhdNoSwFbZrLT740ABEqgCkO8J1BLd1VhKKR4sD1yUo0z+FF59Mvg71CFbyEhbHSFBKEIKyoQNgQppq9T0KAqePu0ZFGrXOHdKJqkoTFhYvpDNyuuznrN84thJbsCoO6Cu6Xlvntvy0QYuAExQEYtTUBf3CoCqwgGFZ4u1HJFzDVwEy3cjcpV4QvsPaBC3rCGyCF23o4K3pp2gberGgFEJEHo4nHICtyKH2ZqyxhN05KBBJIQlKh/Oujv/DH32VrlqFdIFC7Fz9Ct4kaqFME0UETLprnN9kfy+kFmtQBB0+5CFu0N9Ij8l/VvJDh2oq3hT6EzjTHKFN7ZjZwoTsAZ4Exsko6Fpa6WC+sduz8jyrLpegTv2h1EBeYpLpm2czQW0KoCcS0bCVXCmuWJDBjN1nQNLdF58SFJ0h7i3pC3oEOKy/FjBklL70XvBEEIWp2yZ04xObzAWDDJG7f+DbqBEA7LyiR95j7MDVdDViz2RE5vWlBMv5e4+VfhP3aXNPhvLSynb9O2x4uFBV+3jqu6d5pCG28/sETByvmu/+IJ0L3wb4rj9DNOLBF6XPIODr4L19U9RRofAG6Nxydi8Bki8BhGJbBAJKzbJxkZSlF9Q2Cu8oKqggB9hBArwLLqEBWEtFowy8XK8bEyw9snT+BeyFk1ZCSrdmgfEwFePTgCjELBEnIbjaDDPJm36rG9pztcEzT8dGk23SBhXBB1H4z+OWze0ooFzz8pDBYFvp9j9tvFByf9y4EFdVnz026CGR5qMr7fxMHN8UUdlyJAzlTBDRC28k+L4FB8078ljyD91tUj1ocnTs8vdEf7znbzm+GIjEZnoZE5rnLL700Xc7yHfz05nWxy03vBB9YGHYOWxgMQGBCR24CVYNE1hpfKxN0zKnfJDmmMgMmBWqNbjfSyFCBWSCGCgR8yFXiHyEj+VtD1FB3FpC1zI0kFbzifiKTLm9yq5zFmur+q8FHqjoOBWsBPiDbnCC2ErunV6cJ6TygXFYHYp7MKN9RUlSIS8/xBAGYLzeqUnBF4QbsTuUkUqGs6CaiDWKWjQK9EJkjpkTmNCPYXL",qh={zh_cn:null,zh_tw:null},IE={zh_cn:"0x17bcc4d8547e5a7135e365d1ab443aaae95e76d8230c2782c67305d4f21497a1",zh_tw:"0x51e720e90c7b87bec1d70eb6e74a21a449bd3ec9c020b01d3a40ed991b60ce5d"},ep="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",OE="~!@#$%^&*_-=[]{}|;:,.()<>?";function cy(r){if(qh[r]!=null)return qh[r];let e=[],t=0;for(let s=0;s<2048;s++){let i=OE.indexOf(jh[s*3]),o=[228+(i>>2),128+ep.indexOf(jh[s*3+1]),128+ep.indexOf(jh[s*3+2])];if(r==="zh_tw"){let a=i%4;for(let c=a;c<3;c++)o[c]=ep.indexOf(BE[t++])+(c==0?228:128)}e.push(Le(new Uint8Array(o)))}if(ge(e.join(`
17
- `)+`
18
- `)!==IE[r])throw new Error(`BIP39 Wordlist for ${r} (Chinese) FAILED`);return qh[r]=e,e}var tp={},Hl=class r extends It{constructor(e){super("zh_"+e)}getWord(e){let t=cy(this.locale);return p(e>=0&&e<t.length,`invalid word index: ${e}`,"index",e),t[e]}getWordIndex(e){return cy(this.locale).indexOf(e)}split(e){return e=e.replace(/(?:\u3000| )+/g,""),e.split("")}static wordlist(e){return tp[e]==null&&(tp[e]=new r(e)),tp[e]}};var rp={cz:Zu.wordlist(),en:xt.wordlist(),es:zu.wordlist(),fr:Ku.wordlist(),it:Wu.wordlist(),pt:ju.wordlist(),ja:$u.wordlist(),ko:Yu.wordlist(),zh_cn:Hl.wordlist("cn"),zh_tw:Hl.wordlist("tw")};function ly(){try{let r=dc.Wallet.createRandom().mnemonic;if(!r)throw new Error("Failed to generate mnemonic");let e=r.phrase;return{address:dc.HDNodeWallet.fromPhrase(e,void 0,"m/44'/60'/0'/0/0").address,mnemonic:e}}catch(r){throw new rn("Wallet generation failed",r)}}function fy(r){try{if(!r||r.trim().split(/\s+/).length<12)throw new Error("Invalid mnemonic: must be at least 12 words");return dc.HDNodeWallet.fromPhrase(r.trim(),void 0,"m/44'/60'/0'/0/0")}catch(e){throw new rn(`Wallet creation failed: ${e instanceof Error?e.message:"Invalid mnemonic"}`,e)}}async function qu(r,e){try{let t=new TextEncoder().encode(r+e),n=await crypto.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new TextEncoder().encode("webauthn-wallet-salt-w3pk"),iterations:1e5,hash:"SHA-256"},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}catch(t){throw new zn("Failed to derive encryption key",t)}}async function uy(r,e){try{let t=crypto.getRandomValues(new Uint8Array(12)),n=new TextEncoder().encode(r),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:t},e,n),i=new Uint8Array(t.length+s.byteLength);return i.set(t),i.set(new Uint8Array(s),t.length),btoa(String.fromCharCode(...i))}catch(t){throw new zn("Failed to encrypt data",t)}}async function dy(r,e){try{if(!r||r.length<16)throw new Error("Invalid encrypted data: too small");let t=new Uint8Array(atob(r).split("").map(o=>o.charCodeAt(0)));if(t.length<12)throw new Error("Invalid encrypted data: missing IV");let n=t.slice(0,12),s=t.slice(12);if(s.length===0)throw new Error("Invalid encrypted data: no content");let i=await crypto.subtle.decrypt({name:"AES-GCM",iv:n},e,s);return new TextDecoder().decode(i)}catch(t){throw new zn(`Data decryption failed: ${t instanceof Error?t.message:"Unknown error"}`,t)}}var e0=class{constructor(e){this.storage=e}async signMessage(e,t,n,s){try{let i=await this.storage.retrieve(e);if(!i)throw new Error("No wallet found for this address");let o=await qu(n,s),a=await dy(i.encryptedMnemonic,o),c=fy(a);if(c.address.toLowerCase()!==e.toLowerCase())throw new Error("Wallet address mismatch");return await c.signMessage(t)}catch(i){throw new rn("Failed to sign message",i)}}async hasWallet(e){return await this.storage.retrieve(e)!==null}};function $t(r){let e=new Uint8Array(r),t="";for(let s of e)t+=String.fromCharCode(s);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function xo(r){let e=r.replace(/-/g,"+").replace(/_/g,"/"),t=(4-e.length%4)%4,n=e.padEnd(e.length+t,"="),s=atob(n),i=new ArrayBuffer(s.length),o=new Uint8Array(i);for(let a=0;a<s.length;a++)o[a]=s.charCodeAt(a);return i}function mo(){return CE.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var CE={stubThis:r=>r};function t0(r){let{id:e}=r;return{...r,id:xo(e),transports:r.transports}}function r0(r){return r==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(r)}var Oe=class extends Error{constructor({message:e,code:t,cause:n,name:s}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s??n.name,this.code=t}};function hy({error:r,options:e}){let{publicKey:t}=e;if(!t)throw Error("options was missing required publicKey property");if(r.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Oe({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:r})}else if(r.name==="ConstraintError"){if(t.authenticatorSelection?.requireResidentKey===!0)return new Oe({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:r});if(e.mediation==="conditional"&&t.authenticatorSelection?.userVerification==="required")return new Oe({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:r});if(t.authenticatorSelection?.userVerification==="required")return new Oe({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:r})}else{if(r.name==="InvalidStateError")return new Oe({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:r});if(r.name==="NotAllowedError")return new Oe({message:r.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r});if(r.name==="NotSupportedError")return t.pubKeyCredParams.filter(s=>s.type==="public-key").length===0?new Oe({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:r}):new Oe({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:r});if(r.name==="SecurityError"){let n=globalThis.location.hostname;if(r0(n)){if(t.rp.id!==n)return new Oe({message:`The RP ID "${t.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:r})}else return new Oe({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:r})}else if(r.name==="TypeError"){if(t.user.id.byteLength<1||t.user.id.byteLength>64)return new Oe({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:r})}else if(r.name==="UnknownError")return new Oe({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:r})}return r}var np=class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}},n0=new np;var PE=["cross-platform","platform"];function s0(r){if(r&&!(PE.indexOf(r)<0))return r}async function py(r){!r.optionsJSON&&r.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),r={optionsJSON:r});let{optionsJSON:e,useAutoRegister:t=!1}=r;if(!mo())throw new Error("WebAuthn is not supported in this browser");let n={...e,challenge:xo(e.challenge),user:{...e.user,id:xo(e.user.id)},excludeCredentials:e.excludeCredentials?.map(t0)},s={};t&&(s.mediation="conditional"),s.publicKey=n,s.signal=n0.createNewAbortSignal();let i;try{i=await navigator.credentials.create(s)}catch(A){throw hy({error:A,options:s})}if(!i)throw new Error("Registration was not completed");let{id:o,rawId:a,response:c,type:l}=i,u;typeof c.getTransports=="function"&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm=="function")try{d=c.getPublicKeyAlgorithm()}catch(A){sp("getPublicKeyAlgorithm()",A)}let x;if(typeof c.getPublicKey=="function")try{let A=c.getPublicKey();A!==null&&(x=$t(A))}catch(A){sp("getPublicKey()",A)}let m;if(typeof c.getAuthenticatorData=="function")try{m=$t(c.getAuthenticatorData())}catch(A){sp("getAuthenticatorData()",A)}return{id:o,rawId:$t(a),response:{attestationObject:$t(c.attestationObject),clientDataJSON:$t(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:x,authenticatorData:m},type:l,clientExtensionResults:i.getClientExtensionResults(),authenticatorAttachment:s0(i.authenticatorAttachment)}}function sp(r,e){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${r}. You should report this error to them.
19
- `,e)}function xy(){if(!mo())return ip.stubThis(new Promise(e=>e(!1)));let r=globalThis.PublicKeyCredential;return r?.isConditionalMediationAvailable===void 0?ip.stubThis(new Promise(e=>e(!1))):ip.stubThis(r.isConditionalMediationAvailable())}var ip={stubThis:r=>r};function my({error:r,options:e}){let{publicKey:t}=e;if(!t)throw Error("options was missing required publicKey property");if(r.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Oe({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:r})}else{if(r.name==="NotAllowedError")return new Oe({message:r.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r});if(r.name==="SecurityError"){let n=globalThis.location.hostname;if(r0(n)){if(t.rpId!==n)return new Oe({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:r})}else return new Oe({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:r})}else if(r.name==="UnknownError")return new Oe({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:r})}return r}async function op(r){!r.optionsJSON&&r.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),r={optionsJSON:r});let{optionsJSON:e,useBrowserAutofill:t=!1,verifyBrowserAutofillInput:n=!0}=r;if(!mo())throw new Error("WebAuthn is not supported in this browser");let s;e.allowCredentials?.length!==0&&(s=e.allowCredentials?.map(t0));let i={...e,challenge:xo(e.challenge),allowCredentials:s},o={};if(t){if(!await xy())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&n)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation="conditional",i.allowCredentials=[]}o.publicKey=i,o.signal=n0.createNewAbortSignal();let a;try{a=await navigator.credentials.get(o)}catch(m){throw my({error:m,options:o})}if(!a)throw new Error("Authentication was not completed");let{id:c,rawId:l,response:u,type:d}=a,x;return u.userHandle&&(x=$t(u.userHandle)),{id:c,rawId:$t(l),response:{authenticatorData:$t(u.authenticatorData),clientDataJSON:$t(u.clientDataJSON),signature:$t(u.signature),userHandle:x},type:d,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:s0(a.authenticatorAttachment)}}function UE(r){return/^0x[a-fA-F0-9]{40}$/.test(r)}function FE(r){return r.length>=3&&r.length<=50}function i0(r){if(!UE(r))throw new Error("Invalid Ethereum address format")}function gy(r){if(!FE(r))throw new Error("Username must be between 3 and 50 characters")}async function by(r,e){try{let{username:t,ethereumAddress:n}=e;gy(t),i0(n);let s=await r.post("/webauthn/register/begin",{username:t,ethereumAddress:n});if(!s.success||!s.data?.options)throw new Error("Failed to get registration options from server");let i=await py(s.data.options);if(!(await r.post("/webauthn/register/complete",{ethereumAddress:n,response:i})).success)throw new Error("Registration verification failed")}catch(t){throw new Ao(t instanceof Error?t.message:"Registration failed",t)}}async function yy(r,e){try{i0(e);let t=await r.post("/webauthn/authenticate/begin",{ethereumAddress:e});if(!t.success||!t.data?.options)throw new Error("Failed to get authentication options from server");let n=await op(t.data.options),s=await r.post("/webauthn/authenticate/complete",{ethereumAddress:e,response:n});if(!s.success)throw new Error("Authentication verification failed");return{verified:!0,user:s.data?.user}}catch(t){throw new Vs(t instanceof Error?t.message:"Authentication failed",t)}}async function Ay(r){try{let e=await r.post("/webauthn/authenticate/usernameless/begin",{});if(!e.success||!e.data?.options)throw new Error("Failed to get usernameless authentication options from server");let t=await op(e.data.options),n=await r.post("/webauthn/authenticate/usernameless/complete",{response:t});if(!n.success)throw new Error("Usernameless authentication verification failed");return{verified:!0,user:n.data?.user}}catch(e){throw new Vs(e instanceof Error?e.message:"Usernameless authentication failed",e)}}var o0={timeout:3e4,debug:!1};var hc=class{constructor(e){this.currentUser=null;this.isAuthenticatedState=!1;this.isBrowser=typeof window<"u"&&typeof localStorage<"u",this.config={...o0,...e,timeout:e.timeout??o0.timeout,debug:e.debug??o0.debug},this.apiClient=new Ql(this.config.apiBaseUrl,this.config.timeout),this.walletStorage=new Zl,this.walletSigner=new e0(this.walletStorage),this.isBrowser?(this.walletStorage.init().catch(t=>{this.config.debug&&console.error("Failed to initialize wallet storage:",t)}),this.loadAuthState()):this.config.debug&&console.warn("w3pk: Running in non-browser environment, some features disabled")}loadAuthState(){if(this.isBrowser)try{let e=localStorage.getItem("w3pk_user"),t=localStorage.getItem("w3pk_authenticated");e&&t==="true"&&(this.currentUser=JSON.parse(e),this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,this.currentUser??void 0))}catch(e){this.config.debug&&console.error("Failed to load auth state:",e),this.clearAuthState()}}saveAuthState(e){if(!this.isBrowser){console.warn("w3pk: Cannot save auth state in non-browser environment");return}try{localStorage.setItem("w3pk_user",JSON.stringify(e)),localStorage.setItem("w3pk_authenticated","true"),this.currentUser=e,this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,e)}catch(t){this.config.debug&&console.error("Failed to save auth state:",t)}}clearAuthState(){if(this.isBrowser){try{localStorage.removeItem("w3pk_user"),localStorage.removeItem("w3pk_authenticated")}catch(e){this.config.debug&&console.error("Failed to clear auth state:",e)}this.currentUser=null,this.isAuthenticatedState=!1,this.notifyAuthStateChange(!1)}}notifyAuthStateChange(e,t){this.config.onAuthStateChanged&&this.config.onAuthStateChanged(e,t)}async generateWallet(){try{let e=ly();return this.config.debug&&console.log("Wallet generated:",e.address),e}catch(e){throw this.config.onError&&this.config.onError(e),e}}async hasWallet(){if(!this.isBrowser)return console.warn("w3pk: Wallet storage not available in non-browser environment"),!1;if(!this.currentUser)return!1;try{return await this.walletSigner.hasWallet(this.currentUser.ethereumAddress)}catch(e){return this.config.debug&&console.error("Failed to check wallet existence:",e),!1}}async register(e){if(!this.isBrowser)throw new Error("Registration requires browser environment with WebAuthn support");try{let{username:t,ethereumAddress:n,mnemonic:s,credentialId:i,challenge:o}=e;await by(this.apiClient,{username:t,ethereumAddress:n});let a=await qu(i,o),c=await uy(s,a);await this.walletStorage.store({ethereumAddress:n,encryptedMnemonic:c,credentialId:i,challenge:o,createdAt:Date.now()});let l={id:n,username:t,ethereumAddress:n};this.saveAuthState(l),this.config.debug&&console.log("Registration successful for:",n)}catch(t){throw this.config.onError&&this.config.onError(t),t}}async authenticate(e){if(!this.isBrowser)throw new Error("Authentication requires browser environment with WebAuthn support");try{let t=await yy(this.apiClient,e);if(t.verified&&t.user){let n={id:t.user.id,username:t.user.username,ethereumAddress:t.user.ethereumAddress};this.saveAuthState(n),this.config.debug&&console.log("Authentication successful for:",e)}return t}catch(t){throw this.config.onError&&this.config.onError(t),t}}async login(){if(!this.isBrowser)throw new Error("Authentication requires browser environment with WebAuthn support");try{let e=await Ay(this.apiClient);if(e.verified&&e.user){let t={id:e.user.id,username:e.user.username,ethereumAddress:e.user.ethereumAddress};this.saveAuthState(t),this.config.debug&&console.log("Usernameless authentication successful for:",e.user.ethereumAddress)}return e}catch(e){throw this.config.onError&&this.config.onError(e),e}}logout(){this.clearAuthState(),this.config.debug&&console.log("User logged out")}async signMessage(e,t,n){if(!this.isBrowser)throw new Error("Message signing requires browser environment");if(!this.currentUser)throw new Error("Not authenticated");try{let s=await this.walletSigner.signMessage(this.currentUser.ethereumAddress,e,t,n);return this.config.debug&&console.log("Message signed successfully"),s}catch(s){throw this.config.onError&&this.config.onError(s),s}}get isAuthenticated(){return this.isAuthenticatedState}get user(){return this.currentUser}get version(){return"0.1.0"}get isBrowserEnvironment(){return this.isBrowser}};function wy(r){return new hc(r)}var ME=wy;0&&(module.exports={ApiError,AuthenticationError,CryptoError,RegistrationError,StorageError,WalletError,Web3Passkey,Web3PasskeyError,createWeb3Passkey});
20
- /*! Bundled license information:
21
-
22
- @noble/hashes/esm/utils.js:
23
- (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
24
-
25
- @noble/curves/esm/abstract/utils.js:
26
- @noble/curves/esm/abstract/modular.js:
27
- @noble/curves/esm/abstract/curve.js:
28
- @noble/curves/esm/abstract/weierstrass.js:
29
- @noble/curves/esm/_shortw_utils.js:
30
- @noble/curves/esm/secp256k1.js:
31
- (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
32
-
33
- aes-js/lib.esm/aes.js:
34
- (*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. *)
35
- */
1
+ "use strict";var K=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var N=(n,e)=>()=>(n&&(e=n(n=0)),e);var M=(n,e)=>{for(var t in e)K(n,t,{get:e[t],enumerable:!0})},J=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of H(e))!$.call(n,s)&&s!==t&&K(n,s,{get:()=>e[s],enumerable:!(r=G(e,s))||r.enumerable});return n};var V=n=>J(K({},"__esModule",{value:!0}),n);var a,f,S,p,c,h,d,m=N(()=>{"use strict";a=class extends Error{constructor(t,r,s){super(t);this.code=r;this.originalError=s;this.name="Web3PasskeyError"}},f=class extends a{constructor(e,t){super(e,"AUTHENTICATION_ERROR",t),this.name="AuthenticationError"}},S=class extends a{constructor(e,t){super(e,"REGISTRATION_ERROR",t),this.name="RegistrationError"}},p=class extends a{constructor(e,t){super(e,"WALLET_ERROR",t),this.name="WalletError"}},c=class extends a{constructor(e,t){super(e,"CRYPTO_ERROR",t),this.name="CryptoError"}},h=class extends a{constructor(e,t){super(e,"STORAGE_ERROR",t),this.name="StorageError"}},d=class extends a{constructor(t,r,s){super(t,"API_ERROR",s);this.statusCode=r;this.name="ApiError"}}});var q={};M(q,{canControlStealthAddress:()=>T,deriveStealthKeys:()=>x,generateStealthAddress:()=>Q});function x(n){try{let e=l.ethers.HDNodeWallet.fromPhrase(n,void 0,"m/44'/60'/1'/0/0"),t=l.ethers.HDNodeWallet.fromPhrase(n,void 0,"m/44'/60'/1'/0/1");return{metaAddress:_(e.signingKey.publicKey,t.signingKey.publicKey),viewingKey:e.privateKey,spendingKey:t.privateKey}}catch(e){throw new c("Failed to derive stealth keys",e)}}function Q(n){try{let e=l.ethers.Wallet.createRandom(),t=l.ethers.solidityPackedKeccak256(["bytes","address"],[e.signingKey.publicKey,n]),r=new l.ethers.Wallet(t);return{stealthAddress:r.address,stealthPrivkey:r.privateKey,ephemeralPubkey:e.signingKey.publicKey}}catch(e){throw new c("Failed to generate stealth address",e)}}function T(n,e,t,r){try{let s=new l.ethers.Wallet(n),o=new l.ethers.Wallet(e),i=_(s.signingKey.publicKey,o.signingKey.publicKey),g=l.ethers.solidityPackedKeccak256(["bytes","address"],[t,i]);return new l.ethers.Wallet(g).address.toLowerCase()===r.toLowerCase()}catch{return!1}}function _(n,e){let t=l.ethers.solidityPackedKeccak256(["bytes","bytes"],[n,e]);return l.ethers.getAddress("0x"+t.slice(26))}var l,k=N(()=>{"use strict";l=require("ethers");m()});var Z={};M(Z,{ApiError:()=>d,AuthenticationError:()=>f,CryptoError:()=>c,RegistrationError:()=>S,StealthAddressModule:()=>w,StorageError:()=>h,WalletError:()=>p,Web3Passkey:()=>y,Web3PasskeyError:()=>a,canControlStealthAddress:()=>T,createWeb3Passkey:()=>L,default:()=>X});module.exports=V(Z);var v=require("@simplewebauthn/browser");m();var E=class{constructor(e,t=3e4){this.baseUrl=e;this.timeout=t}async fetchWithTimeout(e,t){let r=new AbortController,s=setTimeout(()=>r.abort(),this.timeout);try{let o=await fetch(e,{...t,signal:r.signal});return clearTimeout(s),o}catch(o){throw clearTimeout(s),o}}async post(e,t,r){try{let s=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...r?.headers},body:JSON.stringify(t),...r});if(!s.ok)throw new d(`API request failed: ${s.statusText}`,s.status);return await s.json()}catch(s){throw s instanceof d?s:new d("Network request failed",void 0,s)}}async get(e,t){try{let r=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"GET",headers:{"Content-Type":"application/json",...t?.headers},...t});if(!r.ok)throw new d(`API request failed: ${r.statusText}`,r.status);return await r.json()}catch(r){throw r instanceof d?r:new d("Network request failed",void 0,r)}}};m();var Y="Web3PasskeyWallet",z=1,u="wallets",P=class{constructor(){this.db=null}async init(){return new Promise((e,t)=>{let r=indexedDB.open(Y,z);r.onerror=()=>t(new h("Failed to open database",r.error)),r.onsuccess=()=>{this.db=r.result,e()},r.onupgradeneeded=()=>{let s=r.result;s.objectStoreNames.contains(u)||s.createObjectStore(u,{keyPath:"ethereumAddress"})}})}async store(e){return this.db||await this.init(),new Promise((t,r)=>{let i=this.db.transaction([u],"readwrite").objectStore(u).put(e);i.onerror=()=>r(new h("Failed to store wallet data",i.error)),i.onsuccess=()=>t()})}async retrieve(e){return this.db||await this.init(),new Promise((t,r)=>{let i=this.db.transaction([u],"readonly").objectStore(u).get(e);i.onerror=()=>r(new h("Failed to retrieve wallet data",i.error)),i.onsuccess=()=>t(i.result||null)})}async delete(e){return this.db||await this.init(),new Promise((t,r)=>{let i=this.db.transaction([u],"readwrite").objectStore(u).delete(e);i.onerror=()=>r(new h("Failed to delete wallet data",i.error)),i.onsuccess=()=>t()})}async clear(){return this.db||await this.init(),new Promise((e,t)=>{let o=this.db.transaction([u],"readwrite").objectStore(u).clear();o.onerror=()=>t(new h("Failed to clear wallet data",o.error)),o.onsuccess=()=>e()})}};m();var W=require("ethers");m();function U(){try{let n=W.ethers.Wallet.createRandom().mnemonic;if(!n)throw new Error("Failed to generate mnemonic");let e=n.phrase;return{address:W.ethers.HDNodeWallet.fromPhrase(e,void 0,"m/44'/60'/0'/0/0").address,mnemonic:e}}catch(n){throw new p("Wallet generation failed",n)}}function B(n){try{if(!n||n.trim().split(/\s+/).length<12)throw new Error("Invalid mnemonic: must be at least 12 words");return W.ethers.HDNodeWallet.fromPhrase(n.trim(),void 0,"m/44'/60'/0'/0/0")}catch(e){throw new p(`Wallet creation failed: ${e instanceof Error?e.message:"Invalid mnemonic"}`,e)}}m();async function A(n,e){try{let t=new TextEncoder().encode(n+e),r=await crypto.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new TextEncoder().encode("webauthn-wallet-salt-w3pk"),iterations:1e5,hash:"SHA-256"},r,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}catch(t){throw new c("Failed to derive encryption key",t)}}async function O(n,e){try{let t=crypto.getRandomValues(new Uint8Array(12)),r=new TextEncoder().encode(n),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:t},e,r),o=new Uint8Array(t.length+s.byteLength);return o.set(t),o.set(new Uint8Array(s),t.length),btoa(String.fromCharCode(...o))}catch(t){throw new c("Failed to encrypt data",t)}}async function R(n,e){try{if(!n||n.length<16)throw new Error("Invalid encrypted data: too small");let t=new Uint8Array(atob(n).split("").map(i=>i.charCodeAt(0)));if(t.length<12)throw new Error("Invalid encrypted data: missing IV");let r=t.slice(0,12),s=t.slice(12);if(s.length===0)throw new Error("Invalid encrypted data: no content");let o=await crypto.subtle.decrypt({name:"AES-GCM",iv:r},e,s);return new TextDecoder().decode(o)}catch(t){throw new c(`Data decryption failed: ${t instanceof Error?t.message:"Unknown error"}`,t)}}var C=class{constructor(e){this.storage=e}async signMessage(e,t,r,s){try{let o=await this.storage.retrieve(e);if(!o)throw new Error("No wallet found for this address");let i=await A(r,s),g=await R(o.encryptedMnemonic,i),b=B(g);if(b.address.toLowerCase()!==e.toLowerCase())throw new Error("Wallet address mismatch");return await b.signMessage(t)}catch(o){throw new p("Failed to sign message",o)}}async hasWallet(e){return await this.storage.retrieve(e)!==null}};m();k();var w=class{constructor(e,t){this.config=e,this.getMnemonic=t}async generateStealthAddress(){try{let e=await this.getMnemonic();if(!e)throw new f("Not authenticated. Please login first.");let t=x(e),{generateStealthAddress:r}=await Promise.resolve().then(()=>(k(),q)),s=r(t.metaAddress);return{stealthAddress:s.stealthAddress,stealthPrivateKey:s.stealthPrivkey,ephemeralPublicKey:s.ephemeralPubkey}}catch(e){throw new a("Failed to generate stealth address","STEALTH_GENERATION_ERROR",e)}}async getKeys(){try{let e=await this.getMnemonic();if(!e)throw new f("Not authenticated. Please login first.");return x(e)}catch(e){throw new a("Failed to get stealth keys","STEALTH_KEYS_ERROR",e)}}get isAvailable(){return!0}};var I={timeout:3e4,debug:!1};var y=class{constructor(e){this.currentUser=null;this.isAuthenticatedState=!1;this.stealthAddresses=null;this.isBrowser=typeof window<"u"&&typeof localStorage<"u",this.config={...I,...e,timeout:e.timeout??I.timeout,debug:e.debug??I.debug},this.apiClient=new E(this.config.apiBaseUrl,this.config.timeout),this.walletStorage=new P,this.walletSigner=new C(this.walletStorage),e.stealthAddresses&&(this.stealthAddresses=new w(e.stealthAddresses,this.getMnemonic.bind(this))),this.isBrowser?(this.walletStorage.init().catch(t=>{this.config.debug&&console.error("Failed to initialize wallet storage:",t)}),this.loadAuthState()):this.config.debug&&console.warn("w3pk: Running in non-browser environment, some features disabled")}loadAuthState(){if(this.isBrowser)try{let e=localStorage.getItem("w3pk_user"),t=localStorage.getItem("w3pk_authenticated");e&&t==="true"&&(this.currentUser=JSON.parse(e),this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,this.currentUser??void 0))}catch(e){this.config.debug&&console.error("Failed to load auth state:",e),this.clearAuthState()}}saveAuthState(e){if(!this.isBrowser){console.warn("w3pk: Cannot save auth state in non-browser environment");return}try{localStorage.setItem("w3pk_user",JSON.stringify(e)),localStorage.setItem("w3pk_authenticated","true"),this.currentUser=e,this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,e)}catch(t){this.config.debug&&console.error("Failed to save auth state:",t)}}clearAuthState(){if(this.isBrowser){try{localStorage.removeItem("w3pk_user"),localStorage.removeItem("w3pk_authenticated")}catch(e){this.config.debug&&console.error("Failed to clear auth state:",e)}this.currentUser=null,this.isAuthenticatedState=!1,this.notifyAuthStateChange(!1)}}notifyAuthStateChange(e,t){this.config.onAuthStateChanged&&this.config.onAuthStateChanged(e,t)}createUserInfo(e,t){return{id:t,username:e,displayName:e,ethereumAddress:t}}async getMnemonic(){if(!this.isBrowser||!this.currentUser)return null;try{let e=await this.walletStorage.retrieve(this.currentUser.ethereumAddress);if(!e)return null;let t=await A(e.credentialId,e.challenge);return await R(e.encryptedMnemonic,t)}catch(e){return this.config.debug&&console.error("Failed to get mnemonic:",e),null}}async generateWallet(){try{let e=U();return this.config.debug&&console.log("Wallet generated:",e.address),e}catch(e){throw this.config.onError&&this.config.onError(e),e}}async hasWallet(){if(!this.isBrowser)return console.warn("w3pk: Wallet storage not available in non-browser environment"),!1;if(!this.currentUser)return!1;try{return await this.walletSigner.hasWallet(this.currentUser.ethereumAddress)}catch(e){return this.config.debug&&console.error("Failed to check wallet existence:",e),!1}}async register(e){if(!this.isBrowser)throw new Error("Registration requires browser environment with WebAuthn support");try{let{username:t}=e,{ethereumAddress:r,mnemonic:s}=e;if(!r||!s){let F=U();r=F.address,s=F.mnemonic}let o=await this.apiClient.post("/webauthn/register/begin",{username:t,ethereumAddress:r});if(!o.success||!o.data)throw new Error("Failed to get registration options from server");let i=o.data.options||o.data,g=await(0,v.startRegistration)(i),b=await A(g.id,i.challenge),D=await O(s,b);if(await this.walletStorage.store({ethereumAddress:r,encryptedMnemonic:D,credentialId:g.id,challenge:i.challenge,createdAt:Date.now()}),!(await this.apiClient.post("/webauthn/register/complete",{ethereumAddress:r,response:g})).success)throw new Error("Registration verification failed");let j=this.createUserInfo(t,r);return this.saveAuthState(j),this.config.debug&&console.log("Registration successful for:",r),{ethereumAddress:r,mnemonic:e.mnemonic?void 0:s}}catch(t){throw this.config.onError&&this.config.onError(t),t}}async login(){if(!this.isBrowser)throw new Error("Authentication requires browser environment with WebAuthn support");try{let e=await this.apiClient.post("/webauthn/authenticate/usernameless/begin",{});if(!e.success||!e.data)throw new Error("Failed to get usernameless authentication options from server");let t=e.data.options||e.data,r=await(0,v.startAuthentication)(t),s=await this.apiClient.post("/webauthn/authenticate/usernameless/complete",{response:r});if(!s.success)throw new Error("Usernameless authentication verification failed");let o=s.data?.user;if(!o)throw new Error("No user data received from server");let i=this.createUserInfo(o.username,o.ethereumAddress||o.id);return this.saveAuthState(i),this.config.debug&&console.log("Usernameless authentication successful for:",i.ethereumAddress),{verified:!0,user:i}}catch(e){throw this.config.onError&&this.config.onError(e),e}}logout(){this.clearAuthState(),this.config.debug&&console.log("User logged out")}async signMessage(e){if(!this.isBrowser)throw new Error("Message signing requires browser environment");if(!this.currentUser)throw new Error("Not authenticated");try{let t=await this.walletStorage.retrieve(this.currentUser.ethereumAddress);if(!t)throw new Error("No wallet found on this device. Please register to create a new wallet.");this.config.debug&&console.log("Requesting WebAuthn authentication for signing...");let r=await this.apiClient.post("/webauthn/authenticate/usernameless/begin",{});if(!r.success||!r.data)throw new Error("Failed to begin authentication for signing");let s=r.data.options||r.data,o=await(0,v.startAuthentication)(s);if(!(await this.apiClient.post("/webauthn/authenticate/usernameless/complete",{response:o})).success)throw new Error("Authentication verification failed for signing");let g=await this.walletSigner.signMessage(this.currentUser.ethereumAddress,e,t.credentialId,t.challenge);return this.config.debug&&console.log("Message signed successfully"),g}catch(t){throw this.config.onError&&this.config.onError(t),t}}get isAuthenticated(){return this.isAuthenticatedState}get user(){return this.currentUser}get version(){return"0.4.0"}get isBrowserEnvironment(){return this.isBrowser}get stealth(){return this.stealthAddresses}};m();k();function L(n){return new y(n)}var X=L;
36
2
  //# sourceMappingURL=index.js.map