blockcore-notes/911.d8294359b5074446.js
2023-04-11 13:44:15 +00:00

1 line
128 KiB
JavaScript

(()=>{var c,se,or={5521:(se,c)=>{"use strict";function _(l){if(!Number.isSafeInteger(l))throw new Error(`Wrong integer: ${l}`)}function j(...l){const u=(D,A)=>K=>D(A(K));return{encode:Array.from(l).reverse().reduce((D,A)=>D?u(D,A.encode):A.encode,void 0),decode:l.reduce((D,A)=>D?u(D,A.decode):A.decode,void 0)}}function d(l){return{encode:u=>{if(!Array.isArray(u)||u.length&&"number"!=typeof u[0])throw new Error("alphabet.encode input should be an array of numbers");return u.map(g=>{if(_(g),g<0||g>=l.length)throw new Error(`Digit index outside alphabet: ${g} (alphabet: ${l.length})`);return l[g]})},decode:u=>{if(!Array.isArray(u)||u.length&&"string"!=typeof u[0])throw new Error("alphabet.decode input should be array of strings");return u.map(g=>{if("string"!=typeof g)throw new Error(`alphabet.decode: not string element=${g}`);const B=l.indexOf(g);if(-1===B)throw new Error(`Unknown letter: "${g}". Allowed: ${l}`);return B})}}}function L(l=""){if("string"!=typeof l)throw new Error("join separator should be string");return{encode:u=>{if(!Array.isArray(u)||u.length&&"string"!=typeof u[0])throw new Error("join.encode input should be array of strings");for(let g of u)if("string"!=typeof g)throw new Error(`join.encode: non-string input=${g}`);return u.join(l)},decode:u=>{if("string"!=typeof u)throw new Error("join.decode input should be string");return u.split(l)}}}function V(l,u="="){if(_(l),"string"!=typeof u)throw new Error("padding chr should be string");return{encode(g){if(!Array.isArray(g)||g.length&&"string"!=typeof g[0])throw new Error("padding.encode input should be array of strings");for(let B of g)if("string"!=typeof B)throw new Error(`padding.encode: non-string input=${B}`);for(;g.length*l%8;)g.push(u);return g},decode(g){if(!Array.isArray(g)||g.length&&"string"!=typeof g[0])throw new Error("padding.encode input should be array of strings");for(let D of g)if("string"!=typeof D)throw new Error(`padding.decode: non-string input=${D}`);let B=g.length;if(B*l%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;B>0&&g[B-1]===u;B--)if(!((B-1)*l%8))throw new Error("Invalid padding: string has too much padding");return g.slice(0,B)}}}function Y(l){if("function"!=typeof l)throw new Error("normalize fn should be function");return{encode:u=>u,decode:u=>l(u)}}function m(l,u,g){if(u<2)throw new Error(`convertRadix: wrong from=${u}, base cannot be less than 2`);if(g<2)throw new Error(`convertRadix: wrong to=${g}, base cannot be less than 2`);if(!Array.isArray(l))throw new Error("convertRadix: data should be array");if(!l.length)return[];let B=0;const D=[],A=Array.from(l);for(A.forEach(K=>{if(_(K),K<0||K>=u)throw new Error(`Wrong integer: ${K}`)});;){let K=0,le=!0;for(let fe=B;fe<A.length;fe++){const be=A[fe],P=u*K+be;if(!Number.isSafeInteger(P)||u*K/u!==K||P-be!=u*K)throw new Error("convertRadix: carry overflow");if(K=P%g,A[fe]=Math.floor(P/g),!Number.isSafeInteger(A[fe])||A[fe]*g+K!==P)throw new Error("convertRadix: carry overflow");le&&(A[fe]?le=!1:B=fe)}if(D.push(K),le)break}for(let K=0;K<l.length-1&&0===l[K];K++)D.push(0);return D.reverse()}Object.defineProperty(c,"__esModule",{value:!0}),c.bytes=c.stringToBytes=c.str=c.bytesToString=c.hex=c.utf8=c.bech32m=c.bech32=c.base58check=c.base58xmr=c.base58xrp=c.base58flickr=c.base58=c.base64url=c.base64=c.base32crockford=c.base32hex=c.base32=c.base16=c.utils=c.assertNumber=void 0,c.assertNumber=_;const w=(l,u)=>u?w(u,l%u):l,O=(l,u)=>l+(u-w(l,u));function N(l,u,g,B){if(!Array.isArray(l))throw new Error("convertRadix2: data should be array");if(u<=0||u>32)throw new Error(`convertRadix2: wrong from=${u}`);if(g<=0||g>32)throw new Error(`convertRadix2: wrong to=${g}`);if(O(u,g)>32)throw new Error(`convertRadix2: carry overflow from=${u} to=${g} carryBits=${O(u,g)}`);let D=0,A=0;const K=2**g-1,le=[];for(const fe of l){if(_(fe),fe>=2**u)throw new Error(`convertRadix2: invalid data word=${fe} from=${u}`);if(D=D<<u|fe,A+u>32)throw new Error(`convertRadix2: carry overflow pos=${A} from=${u}`);for(A+=u;A>=g;A-=g)le.push((D>>A-g&K)>>>0);D&=2**A-1}if(D=D<<g-A&K,!B&&A>=u)throw new Error("Excess padding");if(!B&&D)throw new Error(`Non-zero padding: ${D}`);return B&&A>0&&le.push(D>>>0),le}function U(l){return _(l),{encode:u=>{if(!(u instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return m(Array.from(u),256,l)},decode:u=>{if(!Array.isArray(u)||u.length&&"number"!=typeof u[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(m(u,l,256))}}}function T(l,u=!1){if(_(l),l<=0||l>32)throw new Error("radix2: bits should be in (0..32]");if(O(8,l)>32||O(l,8)>32)throw new Error("radix2: carry overflow");return{encode:g=>{if(!(g instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return N(Array.from(g),8,l,!u)},decode:g=>{if(!Array.isArray(g)||g.length&&"number"!=typeof g[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(N(g,l,8,u))}}}function F(l){if("function"!=typeof l)throw new Error("unsafeWrapper fn should be function");return function(...u){try{return l.apply(null,u)}catch{}}}function G(l,u){if(_(l),"function"!=typeof u)throw new Error("checksum fn should be function");return{encode(g){if(!(g instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const B=u(g).slice(0,l),D=new Uint8Array(g.length+l);return D.set(g),D.set(B,g.length),D},decode(g){if(!(g instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const B=g.slice(0,-l),D=u(B).slice(0,l),A=g.slice(-l);for(let K=0;K<l;K++)if(D[K]!==A[K])throw new Error("Invalid checksum");return B}}}c.utils={alphabet:d,chain:j,checksum:G,radix:U,radix2:T,join:L,padding:V},c.base16=j(T(4),d("0123456789ABCDEF"),L("")),c.base32=j(T(5),d("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),V(5),L("")),c.base32hex=j(T(5),d("0123456789ABCDEFGHIJKLMNOPQRSTUV"),V(5),L("")),c.base32crockford=j(T(5),d("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),L(""),Y(l=>l.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),c.base64=j(T(6),d("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),V(6),L("")),c.base64url=j(T(6),d("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),V(6),L(""));const Z=l=>j(U(58),d(l),L(""));c.base58=Z("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),c.base58flickr=Z("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),c.base58xrp=Z("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const z=[0,2,3,5,6,7,9,10,11];c.base58xmr={encode(l){let u="";for(let g=0;g<l.length;g+=8){const B=l.subarray(g,g+8);u+=c.base58.encode(B).padStart(z[B.length],"1")}return u},decode(l){let u=[];for(let g=0;g<l.length;g+=11){const B=l.slice(g,g+11),D=z.indexOf(B.length),A=c.base58.decode(B);for(let K=0;K<A.length-D;K++)if(0!==A[K])throw new Error("base58xmr: wrong padding");u=u.concat(Array.from(A.slice(A.length-D)))}return Uint8Array.from(u)}},c.base58check=l=>j(G(4,u=>l(l(u))),c.base58);const W=j(d("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),L("")),X=[996825010,642813549,513874426,1027748829,705979059];function H(l){const u=l>>25;let g=(33554431&l)<<5;for(let B=0;B<X.length;B++)1==(u>>B&1)&&(g^=X[B]);return g}function J(l,u,g=1){const B=l.length;let D=1;for(let A=0;A<B;A++){const K=l.charCodeAt(A);if(K<33||K>126)throw new Error(`Invalid prefix (${l})`);D=H(D)^K>>5}D=H(D);for(let A=0;A<B;A++)D=H(D)^31&l.charCodeAt(A);for(let A of u)D=H(D)^A;for(let A=0;A<6;A++)D=H(D);return D^=g,W.encode(N([D%1073741824],30,5,!1))}function S(l){const u="bech32"===l?1:734539939,g=T(5),B=g.decode,D=g.encode,A=F(B);function le(P,ie=90){if("string"!=typeof P)throw new Error("bech32.decode input should be string, not "+typeof P);if(P.length<8||!1!==ie&&P.length>ie)throw new TypeError(`Wrong string length: ${P.length} (${P}). Expected (8..${ie})`);const ye=P.toLowerCase();if(P!==ye&&P!==P.toUpperCase())throw new Error("String must be lowercase or uppercase");const E=(P=ye).lastIndexOf("1");if(0===E||-1===E)throw new Error('Letter "1" must be present between prefix and data only');const pe=P.slice(0,E),Ie=P.slice(E+1);if(Ie.length<6)throw new Error("Data must be at least 6 characters long");const Ae=W.decode(Ie).slice(0,-6),Pe=J(pe,Ae,u);if(!Ie.endsWith(Pe))throw new Error(`Invalid checksum in ${P}: expected "${Pe}"`);return{prefix:pe,words:Ae}}return{encode:function K(P,ie,ye=90){if("string"!=typeof P)throw new Error("bech32.encode prefix should be string, not "+typeof P);if(!Array.isArray(ie)||ie.length&&"number"!=typeof ie[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof ie);const E=P.length+7+ie.length;if(!1!==ye&&E>ye)throw new TypeError(`Length ${E} exceeds limit ${ye}`);return`${P=P.toLowerCase()}1${W.encode(ie)}${J(P,ie,u)}`},decode:le,decodeToBytes:function be(P){const{prefix:ie,words:ye}=le(P,!1);return{prefix:ie,words:ye,bytes:B(ye)}},decodeUnsafe:F(le),fromWords:B,fromWordsUnsafe:A,toWords:D}}c.bech32=S("bech32"),c.bech32m=S("bech32m"),c.utf8={encode:l=>(new TextDecoder).decode(l),decode:l=>(new TextEncoder).encode(l)},c.hex=j(T(4),d("0123456789abcdef"),L(""),Y(l=>{if("string"!=typeof l||l.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof l} with length ${l.length}`);return l.toLowerCase()}));const f={utf8:c.utf8,hex:c.hex,base16:c.base16,base32:c.base32,base64:c.base64,base64url:c.base64url,base58:c.base58,base58xmr:c.base58xmr},k=`Invalid encoding type. Available types: ${Object.keys(f).join(", ")}`;c.bytesToString=(l,u)=>{if("string"!=typeof l||!f.hasOwnProperty(l))throw new TypeError(k);if(!(u instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return f[l].encode(u)},c.str=c.bytesToString,c.stringToBytes=(l,u)=>{if(!f.hasOwnProperty(l))throw new TypeError(k);if("string"!=typeof u)throw new TypeError("stringToBytes() expects string");return f[l].decode(u)},c.bytes=c.stringToBytes},6837:(se,c,_)=>{"use strict";c.Z1=c._I=c.OF=void 0;const d=_(5729),L=_(9522),V=_(8519),Y=_(27),m=_(7507),w=_(5521),O=S=>"\u3042\u3044\u3053\u304f\u3057\u3093"===S[0];function N(S){if("string"!=typeof S)throw new TypeError("Invalid mnemonic type: "+typeof S);return S.normalize("NFKD")}function U(S){const f=N(S),k=f.split(" ");if(![12,15,18,21,24].includes(k.length))throw new Error("Invalid mnemonic");return{nfkd:f,words:k}}function T(S){d.default.bytes(S,16,20,24,28,32)}c.OF=function F(S,f=128){if(d.default.number(f),f%32!=0||f>256)throw new TypeError("Invalid entropy");return function q(S,f){return T(S),Z(f).encode(S).join(O(f)?"\u3000":" ")}((0,m.randomBytes)(f/8),S)};const G=S=>{const f=8-S.length/4;return new Uint8Array([(0,V.sha256)(S)[0]>>f<<f])};function Z(S){if(!Array.isArray(S)||2048!==S.length||"string"!=typeof S[0])throw new Error("Worlist: expected array of 2048 strings");return S.forEach(f=>{if("string"!=typeof f)throw new Error(`Wordlist: non-string element: ${f}`)}),w.utils.chain(w.utils.checksum(1,G),w.utils.radix2(11,!0),w.utils.alphabet(S))}c._I=function W(S,f){try{!function z(S,f){const{words:k}=U(S),$=Z(f).decode(k);return T($),$}(S,f)}catch{return!1}return!0};c.Z1=function J(S,f=""){return(0,L.pbkdf2)(Y.sha512,U(S).nfkd,(S=>N(`mnemonic${S}`))(f),{c:2048,dkLen:64})}},5729:(se,c)=>{"use strict";function _(w){if(!Number.isSafeInteger(w)||w<0)throw new Error(`Wrong positive integer: ${w}`)}function j(w){if("boolean"!=typeof w)throw new Error(`Expected boolean, not ${w}`)}function d(w,...O){if(!(w instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(O.length>0&&!O.includes(w.length))throw new TypeError(`Expected Uint8Array of length ${O}, not of length=${w.length}`)}function L(w){if("function"!=typeof w||"function"!=typeof w.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");_(w.outputLen),_(w.blockLen)}function V(w,O=!0){if(w.destroyed)throw new Error("Hash instance has been destroyed");if(O&&w.finished)throw new Error("Hash#digest() has already been called")}function Y(w,O){d(w);const N=O.outputLen;if(w.length<N)throw new Error(`digestInto() expects output buffer of length at least ${N}`)}Object.defineProperty(c,"__esModule",{value:!0}),c.output=c.exists=c.hash=c.bytes=c.bool=c.number=void 0,c.number=_,c.bool=j,c.bytes=d,c.hash=L,c.exists=V,c.output=Y,c.default={number:_,bool:j,bytes:d,hash:L,exists:V,output:Y}},4206:(se,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.SHA2=void 0;const j=_(5729),d=_(7507);c.SHA2=class V extends d.Hash{constructor(m,w,O,N){super(),this.blockLen=m,this.outputLen=w,this.padOffset=O,this.isLE=N,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(m),this.view=(0,d.createView)(this.buffer)}update(m){j.default.exists(this);const{view:w,buffer:O,blockLen:N}=this,U=(m=(0,d.toBytes)(m)).length;for(let T=0;T<U;){const F=Math.min(N-this.pos,U-T);if(F!==N)O.set(m.subarray(T,T+F),this.pos),this.pos+=F,T+=F,this.pos===N&&(this.process(w,0),this.pos=0);else{const G=(0,d.createView)(m);for(;N<=U-T;T+=N)this.process(G,T)}}return this.length+=m.length,this.roundClean(),this}digestInto(m){j.default.exists(this),j.default.output(m,this),this.finished=!0;const{buffer:w,view:O,blockLen:N,isLE:U}=this;let{pos:T}=this;w[T++]=128,this.buffer.subarray(T).fill(0),this.padOffset>N-T&&(this.process(O,0),T=0);for(let q=T;q<N;q++)w[q]=0;(function L(Y,m,w,O){if("function"==typeof Y.setBigUint64)return Y.setBigUint64(m,w,O);const N=BigInt(32),U=BigInt(4294967295),T=Number(w>>N&U),F=Number(w&U),Z=O?0:4;Y.setUint32(m+(O?4:0),T,O),Y.setUint32(m+Z,F,O)})(O,N-8,BigInt(8*this.length),U),this.process(O,0);const F=(0,d.createView)(m),G=this.outputLen;if(G%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const Z=G/4,z=this.get();if(Z>z.length)throw new Error("_sha2: outputLen bigger than state");for(let q=0;q<Z;q++)F.setUint32(4*q,z[q],U)}digest(){const{buffer:m,outputLen:w}=this;this.digestInto(m);const O=m.slice(0,w);return this.destroy(),O}_cloneInto(m){m||(m=new this.constructor),m.set(...this.get());const{blockLen:w,buffer:O,length:N,finished:U,destroyed:T,pos:F}=this;return m.length=N,m.pos=F,m.finished=U,m.destroyed=T,N%w&&m.buffer.set(O),m}}},9027:(se,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.add=c.toBig=c.split=c.fromBig=void 0;const _=BigInt(2**32-1),j=BigInt(32);function d(x,l=!1){return l?{h:Number(x&_),l:Number(x>>j&_)}:{h:0|Number(x>>j&_),l:0|Number(x&_)}}function L(x,l=!1){let u=new Uint32Array(x.length),g=new Uint32Array(x.length);for(let B=0;B<x.length;B++){const{h:D,l:A}=d(x[B],l);[u[B],g[B]]=[D,A]}return[u,g]}function W(x,l,u,g){const B=(l>>>0)+(g>>>0);return{h:x+u+(B/4294967296|0)|0,l:0|B}}c.fromBig=d,c.split=L,c.toBig=(x,l)=>BigInt(x>>>0)<<j|BigInt(l>>>0),c.add=W,c.default={fromBig:d,split:L,toBig:c.toBig,shrSH:(x,l,u)=>x>>>u,shrSL:(x,l,u)=>x<<32-u|l>>>u,rotrSH:(x,l,u)=>x>>>u|l<<32-u,rotrSL:(x,l,u)=>x<<32-u|l>>>u,rotrBH:(x,l,u)=>x<<64-u|l>>>u-32,rotrBL:(x,l,u)=>x>>>u-32|l<<64-u,rotr32H:(x,l)=>l,rotr32L:(x,l)=>x,rotlSH:(x,l,u)=>x<<u|l>>>32-u,rotlSL:(x,l,u)=>l<<u|x>>>32-u,rotlBH:(x,l,u)=>l<<u-32|x>>>64-u,rotlBL:(x,l,u)=>x<<u-32|l>>>64-u,add:W,add3L:(x,l,u)=>(x>>>0)+(l>>>0)+(u>>>0),add3H:(x,l,u,g)=>l+u+g+(x/2**32|0)|0,add4L:(x,l,u,g)=>(x>>>0)+(l>>>0)+(u>>>0)+(g>>>0),add4H:(x,l,u,g,B)=>l+u+g+B+(x/2**32|0)|0,add5H:(x,l,u,g,B,D)=>l+u+g+B+D+(x/2**32|0)|0,add5L:(x,l,u,g,B)=>(x>>>0)+(l>>>0)+(u>>>0)+(g>>>0)+(B>>>0)}},7882:(se,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.crypto=void 0,c.crypto={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0}},602:(se,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.hmac=void 0;const j=_(5729),d=_(7507);class L extends d.Hash{constructor(m,w){super(),this.finished=!1,this.destroyed=!1,j.default.hash(m);const O=(0,d.toBytes)(w);if(this.iHash=m.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const N=this.blockLen,U=new Uint8Array(N);U.set(O.length>N?m.create().update(O).digest():O);for(let T=0;T<U.length;T++)U[T]^=54;this.iHash.update(U),this.oHash=m.create();for(let T=0;T<U.length;T++)U[T]^=106;this.oHash.update(U),U.fill(0)}update(m){return j.default.exists(this),this.iHash.update(m),this}digestInto(m){j.default.exists(this),j.default.bytes(m,this.outputLen),this.finished=!0,this.iHash.digestInto(m),this.oHash.update(m),this.oHash.digestInto(m),this.destroy()}digest(){const m=new Uint8Array(this.oHash.outputLen);return this.digestInto(m),m}_cloneInto(m){m||(m=Object.create(Object.getPrototypeOf(this),{}));const{oHash:w,iHash:O,finished:N,destroyed:U,blockLen:T,outputLen:F}=this;return m.finished=N,m.destroyed=U,m.blockLen=T,m.outputLen=F,m.oHash=w._cloneInto(m.oHash),m.iHash=O._cloneInto(m.iHash),m}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}c.hmac=(Y,m,w)=>new L(Y,m).update(w).digest(),c.hmac.create=(Y,m)=>new L(Y,m)},9522:(se,c,_)=>{"use strict";var j=_(9598).default;Object.defineProperty(c,"__esModule",{value:!0}),c.pbkdf2Async=c.pbkdf2=void 0;const d=_(5729),L=_(602),V=_(7507);function Y(U,T,F,G){d.default.hash(U);const Z=(0,V.checkOpts)({dkLen:32,asyncTick:10},G),{c:z,dkLen:q,asyncTick:W}=Z;if(d.default.number(z),d.default.number(q),d.default.number(W),z<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const X=(0,V.toBytes)(T),H=(0,V.toBytes)(F),J=new Uint8Array(q),S=L.hmac.create(U,X),f=S._cloneInto().update(H);return{c:z,dkLen:q,asyncTick:W,DK:J,PRF:S,PRFSalt:f}}function m(U,T,F,G,Z){return U.destroy(),T.destroy(),G&&G.destroy(),Z.fill(0),F}function N(){return(N=j(function*(U,T,F,G){const{c:Z,dkLen:z,asyncTick:q,DK:W,PRF:X,PRFSalt:H}=Y(U,T,F,G);let J;const S=new Uint8Array(4),f=(0,V.createView)(S),k=new Uint8Array(X.outputLen);for(let $=1,x=0;x<z;$++,x+=X.outputLen){const l=W.subarray(x,x+X.outputLen);f.setInt32(0,$,!1),(J=H._cloneInto(J)).update(S).digestInto(k),l.set(k.subarray(0,l.length)),yield(0,V.asyncLoop)(Z-1,q,u=>{X._cloneInto(J).update(k).digestInto(k);for(let g=0;g<l.length;g++)l[g]^=k[g]})}return m(X,H,W,J,k)})).apply(this,arguments)}c.pbkdf2=function w(U,T,F,G){const{c:Z,dkLen:z,DK:q,PRF:W,PRFSalt:X}=Y(U,T,F,G);let H;const J=new Uint8Array(4),S=(0,V.createView)(J),f=new Uint8Array(W.outputLen);for(let k=1,$=0;$<z;k++,$+=W.outputLen){const x=q.subarray($,$+W.outputLen);S.setInt32(0,k,!1),(H=X._cloneInto(H)).update(J).digestInto(f),x.set(f.subarray(0,x.length));for(let l=1;l<Z;l++){W._cloneInto(H).update(f).digestInto(f);for(let u=0;u<x.length;u++)x[u]^=f[u]}}return m(W,X,q,H,f)},c.pbkdf2Async=function O(U,T,F,G){return N.apply(this,arguments)}},8519:(se,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.sha224=c.sha256=void 0;const j=_(4206),d=_(7507),L=(U,T,F)=>U&T^~U&F,V=(U,T,F)=>U&T^U&F^T&F,Y=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]),m=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),w=new Uint32Array(64);class O extends j.SHA2{constructor(){super(64,32,8,!1),this.A=0|m[0],this.B=0|m[1],this.C=0|m[2],this.D=0|m[3],this.E=0|m[4],this.F=0|m[5],this.G=0|m[6],this.H=0|m[7]}get(){const{A:T,B:F,C:G,D:Z,E:z,F:q,G:W,H:X}=this;return[T,F,G,Z,z,q,W,X]}set(T,F,G,Z,z,q,W,X){this.A=0|T,this.B=0|F,this.C=0|G,this.D=0|Z,this.E=0|z,this.F=0|q,this.G=0|W,this.H=0|X}process(T,F){for(let S=0;S<16;S++,F+=4)w[S]=T.getUint32(F,!1);for(let S=16;S<64;S++){const f=w[S-15],k=w[S-2],$=(0,d.rotr)(f,7)^(0,d.rotr)(f,18)^f>>>3,x=(0,d.rotr)(k,17)^(0,d.rotr)(k,19)^k>>>10;w[S]=x+w[S-7]+$+w[S-16]|0}let{A:G,B:Z,C:z,D:q,E:W,F:X,G:H,H:J}=this;for(let S=0;S<64;S++){const k=J+((0,d.rotr)(W,6)^(0,d.rotr)(W,11)^(0,d.rotr)(W,25))+L(W,X,H)+Y[S]+w[S]|0,x=((0,d.rotr)(G,2)^(0,d.rotr)(G,13)^(0,d.rotr)(G,22))+V(G,Z,z)|0;J=H,H=X,X=W,W=q+k|0,q=z,z=Z,Z=G,G=k+x|0}G=G+this.A|0,Z=Z+this.B|0,z=z+this.C|0,q=q+this.D|0,W=W+this.E|0,X=X+this.F|0,H=H+this.G|0,J=J+this.H|0,this.set(G,Z,z,q,W,X,H,J)}roundClean(){w.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class N extends O{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}c.sha256=(0,d.wrapConstructor)(()=>new O),c.sha224=(0,d.wrapConstructor)(()=>new N)},27:(se,c,_)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.sha384=c.sha512_256=c.sha512_224=c.sha512=c.SHA512=void 0;const j=_(4206),d=_(9027),L=_(7507),[V,Y]=d.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(F=>BigInt(F))),m=new Uint32Array(80),w=new Uint32Array(80);class O extends j.SHA2{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:G,Al:Z,Bh:z,Bl:q,Ch:W,Cl:X,Dh:H,Dl:J,Eh:S,El:f,Fh:k,Fl:$,Gh:x,Gl:l,Hh:u,Hl:g}=this;return[G,Z,z,q,W,X,H,J,S,f,k,$,x,l,u,g]}set(G,Z,z,q,W,X,H,J,S,f,k,$,x,l,u,g){this.Ah=0|G,this.Al=0|Z,this.Bh=0|z,this.Bl=0|q,this.Ch=0|W,this.Cl=0|X,this.Dh=0|H,this.Dl=0|J,this.Eh=0|S,this.El=0|f,this.Fh=0|k,this.Fl=0|$,this.Gh=0|x,this.Gl=0|l,this.Hh=0|u,this.Hl=0|g}process(G,Z){for(let A=0;A<16;A++,Z+=4)m[A]=G.getUint32(Z),w[A]=G.getUint32(Z+=4);for(let A=16;A<80;A++){const K=0|m[A-15],le=0|w[A-15],fe=d.default.rotrSH(K,le,1)^d.default.rotrSH(K,le,8)^d.default.shrSH(K,le,7),be=d.default.rotrSL(K,le,1)^d.default.rotrSL(K,le,8)^d.default.shrSL(K,le,7),P=0|m[A-2],ie=0|w[A-2],ye=d.default.rotrSH(P,ie,19)^d.default.rotrBH(P,ie,61)^d.default.shrSH(P,ie,6),E=d.default.rotrSL(P,ie,19)^d.default.rotrBL(P,ie,61)^d.default.shrSL(P,ie,6),pe=d.default.add4L(be,E,w[A-7],w[A-16]),Ie=d.default.add4H(pe,fe,ye,m[A-7],m[A-16]);m[A]=0|Ie,w[A]=0|pe}let{Ah:z,Al:q,Bh:W,Bl:X,Ch:H,Cl:J,Dh:S,Dl:f,Eh:k,El:$,Fh:x,Fl:l,Gh:u,Gl:g,Hh:B,Hl:D}=this;for(let A=0;A<80;A++){const K=d.default.rotrSH(k,$,14)^d.default.rotrSH(k,$,18)^d.default.rotrBH(k,$,41),le=d.default.rotrSL(k,$,14)^d.default.rotrSL(k,$,18)^d.default.rotrBL(k,$,41),fe=k&x^~k&u,P=d.default.add5L(D,le,$&l^~$&g,Y[A],w[A]),ie=d.default.add5H(P,B,K,fe,V[A],m[A]),ye=0|P,E=d.default.rotrSH(z,q,28)^d.default.rotrBH(z,q,34)^d.default.rotrBH(z,q,39),pe=d.default.rotrSL(z,q,28)^d.default.rotrBL(z,q,34)^d.default.rotrBL(z,q,39),Ie=z&W^z&H^W&H,Ae=q&X^q&J^X&J;B=0|u,D=0|g,u=0|x,g=0|l,x=0|k,l=0|$,({h:k,l:$}=d.default.add(0|S,0|f,0|ie,0|ye)),S=0|H,f=0|J,H=0|W,J=0|X,W=0|z,X=0|q;const Pe=d.default.add3L(ye,pe,Ae);z=d.default.add3H(Pe,ie,E,Ie),q=0|Pe}({h:z,l:q}=d.default.add(0|this.Ah,0|this.Al,0|z,0|q)),({h:W,l:X}=d.default.add(0|this.Bh,0|this.Bl,0|W,0|X)),({h:H,l:J}=d.default.add(0|this.Ch,0|this.Cl,0|H,0|J)),({h:S,l:f}=d.default.add(0|this.Dh,0|this.Dl,0|S,0|f)),({h:k,l:$}=d.default.add(0|this.Eh,0|this.El,0|k,0|$)),({h:x,l}=d.default.add(0|this.Fh,0|this.Fl,0|x,0|l)),({h:u,l:g}=d.default.add(0|this.Gh,0|this.Gl,0|u,0|g)),({h:B,l:D}=d.default.add(0|this.Hh,0|this.Hl,0|B,0|D)),this.set(z,q,W,X,H,J,S,f,k,$,x,l,u,g,B,D)}roundClean(){m.fill(0),w.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}c.SHA512=O;class N extends O{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class U extends O{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class T extends O{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}c.sha512=(0,L.wrapConstructor)(()=>new O),c.sha512_224=(0,L.wrapConstructor)(()=>new N),c.sha512_256=(0,L.wrapConstructor)(()=>new U),c.sha384=(0,L.wrapConstructor)(()=>new T)},7507:(se,c,_)=>{"use strict";var j=_(9598).default;Object.defineProperty(c,"__esModule",{value:!0}),c.randomBytes=c.wrapConstructorWithOpts=c.wrapConstructor=c.checkOpts=c.Hash=c.concatBytes=c.toBytes=c.utf8ToBytes=c.asyncLoop=c.nextTick=c.hexToBytes=c.bytesToHex=c.isLE=c.rotr=c.createView=c.u32=c.u8=void 0;const d=_(7882);if(c.u8=f=>new Uint8Array(f.buffer,f.byteOffset,f.byteLength),c.u32=f=>new Uint32Array(f.buffer,f.byteOffset,Math.floor(f.byteLength/4)),c.createView=f=>new DataView(f.buffer,f.byteOffset,f.byteLength),c.rotr=(f,k)=>f<<32-k|f>>>k,c.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!c.isLE)throw new Error("Non little-endian hardware is not supported");const w=Array.from({length:256},(f,k)=>k.toString(16).padStart(2,"0"));function F(){return(F=j(function*(f,k,$){let x=Date.now();for(let l=0;l<f;l++){$(l);const u=Date.now()-x;u>=0&&u<k||(yield(0,c.nextTick)(),x+=u)}})).apply(this,arguments)}function G(f){if("string"!=typeof f)throw new TypeError("utf8ToBytes expected string, got "+typeof f);return(new TextEncoder).encode(f)}function Z(f){if("string"==typeof f&&(f=G(f)),!(f instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof f})`);return f}c.bytesToHex=function O(f){if(!(f instanceof Uint8Array))throw new Error("Uint8Array expected");let k="";for(let $=0;$<f.length;$++)k+=w[f[$]];return k},c.hexToBytes=function N(f){if("string"!=typeof f)throw new TypeError("hexToBytes: expected string, got "+typeof f);if(f.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const k=new Uint8Array(f.length/2);for(let $=0;$<k.length;$++){const x=2*$,l=f.slice(x,x+2),u=Number.parseInt(l,16);if(Number.isNaN(u)||u<0)throw new Error("Invalid byte sequence");k[$]=u}return k},c.nextTick=function(){var f=j(function*(){});return function(){return f.apply(this,arguments)}}(),c.asyncLoop=function T(f,k,$){return F.apply(this,arguments)},c.utf8ToBytes=G,c.toBytes=Z,c.concatBytes=function z(...f){if(!f.every(x=>x instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===f.length)return f[0];const k=f.reduce((x,l)=>x+l.length,0),$=new Uint8Array(k);for(let x=0,l=0;x<f.length;x++){const u=f[x];$.set(u,l),l+=u.length}return $},c.Hash=class q{clone(){return this._cloneInto()}};c.checkOpts=function X(f,k){if(void 0!==k&&("object"!=typeof k||!(f=>"[object Object]"===Object.prototype.toString.call(f)&&f.constructor===Object)(k)))throw new TypeError("Options should be object or undefined");return Object.assign(f,k)},c.wrapConstructor=function H(f){const k=x=>f().update(Z(x)).digest(),$=f();return k.outputLen=$.outputLen,k.blockLen=$.blockLen,k.create=()=>f(),k},c.wrapConstructorWithOpts=function J(f){const k=(x,l)=>f(l).update(Z(x)).digest(),$=f({});return k.outputLen=$.outputLen,k.blockLen=$.blockLen,k.create=x=>f(x),k},c.randomBytes=function S(f=32){if(d.crypto.web)return d.crypto.web.getRandomValues(new Uint8Array(f));if(d.crypto.node)return new Uint8Array(d.crypto.node.randomBytes(f).buffer);throw new Error("The environment doesn't have randomBytes function")}},3439:(se,c)=>{"use strict";c.U=void 0,c.U="abandon\nability\nable\nabout\nabove\nabsent\nabsorb\nabstract\nabsurd\nabuse\naccess\naccident\naccount\naccuse\nachieve\nacid\nacoustic\nacquire\nacross\nact\naction\nactor\nactress\nactual\nadapt\nadd\naddict\naddress\nadjust\nadmit\nadult\nadvance\nadvice\naerobic\naffair\nafford\nafraid\nagain\nage\nagent\nagree\nahead\naim\nair\nairport\naisle\nalarm\nalbum\nalcohol\nalert\nalien\nall\nalley\nallow\nalmost\nalone\nalpha\nalready\nalso\nalter\nalways\namateur\namazing\namong\namount\namused\nanalyst\nanchor\nancient\nanger\nangle\nangry\nanimal\nankle\nannounce\nannual\nanother\nanswer\nantenna\nantique\nanxiety\nany\napart\napology\nappear\napple\napprove\napril\narch\narctic\narea\narena\nargue\narm\narmed\narmor\narmy\naround\narrange\narrest\narrive\narrow\nart\nartefact\nartist\nartwork\nask\naspect\nassault\nasset\nassist\nassume\nasthma\nathlete\natom\nattack\nattend\nattitude\nattract\nauction\naudit\naugust\naunt\nauthor\nauto\nautumn\naverage\navocado\navoid\nawake\naware\naway\nawesome\nawful\nawkward\naxis\nbaby\nbachelor\nbacon\nbadge\nbag\nbalance\nbalcony\nball\nbamboo\nbanana\nbanner\nbar\nbarely\nbargain\nbarrel\nbase\nbasic\nbasket\nbattle\nbeach\nbean\nbeauty\nbecause\nbecome\nbeef\nbefore\nbegin\nbehave\nbehind\nbelieve\nbelow\nbelt\nbench\nbenefit\nbest\nbetray\nbetter\nbetween\nbeyond\nbicycle\nbid\nbike\nbind\nbiology\nbird\nbirth\nbitter\nblack\nblade\nblame\nblanket\nblast\nbleak\nbless\nblind\nblood\nblossom\nblouse\nblue\nblur\nblush\nboard\nboat\nbody\nboil\nbomb\nbone\nbonus\nbook\nboost\nborder\nboring\nborrow\nboss\nbottom\nbounce\nbox\nboy\nbracket\nbrain\nbrand\nbrass\nbrave\nbread\nbreeze\nbrick\nbridge\nbrief\nbright\nbring\nbrisk\nbroccoli\nbroken\nbronze\nbroom\nbrother\nbrown\nbrush\nbubble\nbuddy\nbudget\nbuffalo\nbuild\nbulb\nbulk\nbullet\nbundle\nbunker\nburden\nburger\nburst\nbus\nbusiness\nbusy\nbutter\nbuyer\nbuzz\ncabbage\ncabin\ncable\ncactus\ncage\ncake\ncall\ncalm\ncamera\ncamp\ncan\ncanal\ncancel\ncandy\ncannon\ncanoe\ncanvas\ncanyon\ncapable\ncapital\ncaptain\ncar\ncarbon\ncard\ncargo\ncarpet\ncarry\ncart\ncase\ncash\ncasino\ncastle\ncasual\ncat\ncatalog\ncatch\ncategory\ncattle\ncaught\ncause\ncaution\ncave\nceiling\ncelery\ncement\ncensus\ncentury\ncereal\ncertain\nchair\nchalk\nchampion\nchange\nchaos\nchapter\ncharge\nchase\nchat\ncheap\ncheck\ncheese\nchef\ncherry\nchest\nchicken\nchief\nchild\nchimney\nchoice\nchoose\nchronic\nchuckle\nchunk\nchurn\ncigar\ncinnamon\ncircle\ncitizen\ncity\ncivil\nclaim\nclap\nclarify\nclaw\nclay\nclean\nclerk\nclever\nclick\nclient\ncliff\nclimb\nclinic\nclip\nclock\nclog\nclose\ncloth\ncloud\nclown\nclub\nclump\ncluster\nclutch\ncoach\ncoast\ncoconut\ncode\ncoffee\ncoil\ncoin\ncollect\ncolor\ncolumn\ncombine\ncome\ncomfort\ncomic\ncommon\ncompany\nconcert\nconduct\nconfirm\ncongress\nconnect\nconsider\ncontrol\nconvince\ncook\ncool\ncopper\ncopy\ncoral\ncore\ncorn\ncorrect\ncost\ncotton\ncouch\ncountry\ncouple\ncourse\ncousin\ncover\ncoyote\ncrack\ncradle\ncraft\ncram\ncrane\ncrash\ncrater\ncrawl\ncrazy\ncream\ncredit\ncreek\ncrew\ncricket\ncrime\ncrisp\ncritic\ncrop\ncross\ncrouch\ncrowd\ncrucial\ncruel\ncruise\ncrumble\ncrunch\ncrush\ncry\ncrystal\ncube\nculture\ncup\ncupboard\ncurious\ncurrent\ncurtain\ncurve\ncushion\ncustom\ncute\ncycle\ndad\ndamage\ndamp\ndance\ndanger\ndaring\ndash\ndaughter\ndawn\nday\ndeal\ndebate\ndebris\ndecade\ndecember\ndecide\ndecline\ndecorate\ndecrease\ndeer\ndefense\ndefine\ndefy\ndegree\ndelay\ndeliver\ndemand\ndemise\ndenial\ndentist\ndeny\ndepart\ndepend\ndeposit\ndepth\ndeputy\nderive\ndescribe\ndesert\ndesign\ndesk\ndespair\ndestroy\ndetail\ndetect\ndevelop\ndevice\ndevote\ndiagram\ndial\ndiamond\ndiary\ndice\ndiesel\ndiet\ndiffer\ndigital\ndignity\ndilemma\ndinner\ndinosaur\ndirect\ndirt\ndisagree\ndiscover\ndisease\ndish\ndismiss\ndisorder\ndisplay\ndistance\ndivert\ndivide\ndivorce\ndizzy\ndoctor\ndocument\ndog\ndoll\ndolphin\ndomain\ndonate\ndonkey\ndonor\ndoor\ndose\ndouble\ndove\ndraft\ndragon\ndrama\ndrastic\ndraw\ndream\ndress\ndrift\ndrill\ndrink\ndrip\ndrive\ndrop\ndrum\ndry\nduck\ndumb\ndune\nduring\ndust\ndutch\nduty\ndwarf\ndynamic\neager\neagle\nearly\nearn\nearth\neasily\neast\neasy\necho\necology\neconomy\nedge\nedit\neducate\neffort\negg\neight\neither\nelbow\nelder\nelectric\nelegant\nelement\nelephant\nelevator\nelite\nelse\nembark\nembody\nembrace\nemerge\nemotion\nemploy\nempower\nempty\nenable\nenact\nend\nendless\nendorse\nenemy\nenergy\nenforce\nengage\nengine\nenhance\nenjoy\nenlist\nenough\nenrich\nenroll\nensure\nenter\nentire\nentry\nenvelope\nepisode\nequal\nequip\nera\nerase\nerode\nerosion\nerror\nerupt\nescape\nessay\nessence\nestate\neternal\nethics\nevidence\nevil\nevoke\nevolve\nexact\nexample\nexcess\nexchange\nexcite\nexclude\nexcuse\nexecute\nexercise\nexhaust\nexhibit\nexile\nexist\nexit\nexotic\nexpand\nexpect\nexpire\nexplain\nexpose\nexpress\nextend\nextra\neye\neyebrow\nfabric\nface\nfaculty\nfade\nfaint\nfaith\nfall\nfalse\nfame\nfamily\nfamous\nfan\nfancy\nfantasy\nfarm\nfashion\nfat\nfatal\nfather\nfatigue\nfault\nfavorite\nfeature\nfebruary\nfederal\nfee\nfeed\nfeel\nfemale\nfence\nfestival\nfetch\nfever\nfew\nfiber\nfiction\nfield\nfigure\nfile\nfilm\nfilter\nfinal\nfind\nfine\nfinger\nfinish\nfire\nfirm\nfirst\nfiscal\nfish\nfit\nfitness\nfix\nflag\nflame\nflash\nflat\nflavor\nflee\nflight\nflip\nfloat\nflock\nfloor\nflower\nfluid\nflush\nfly\nfoam\nfocus\nfog\nfoil\nfold\nfollow\nfood\nfoot\nforce\nforest\nforget\nfork\nfortune\nforum\nforward\nfossil\nfoster\nfound\nfox\nfragile\nframe\nfrequent\nfresh\nfriend\nfringe\nfrog\nfront\nfrost\nfrown\nfrozen\nfruit\nfuel\nfun\nfunny\nfurnace\nfury\nfuture\ngadget\ngain\ngalaxy\ngallery\ngame\ngap\ngarage\ngarbage\ngarden\ngarlic\ngarment\ngas\ngasp\ngate\ngather\ngauge\ngaze\ngeneral\ngenius\ngenre\ngentle\ngenuine\ngesture\nghost\ngiant\ngift\ngiggle\nginger\ngiraffe\ngirl\ngive\nglad\nglance\nglare\nglass\nglide\nglimpse\nglobe\ngloom\nglory\nglove\nglow\nglue\ngoat\ngoddess\ngold\ngood\ngoose\ngorilla\ngospel\ngossip\ngovern\ngown\ngrab\ngrace\ngrain\ngrant\ngrape\ngrass\ngravity\ngreat\ngreen\ngrid\ngrief\ngrit\ngrocery\ngroup\ngrow\ngrunt\nguard\nguess\nguide\nguilt\nguitar\ngun\ngym\nhabit\nhair\nhalf\nhammer\nhamster\nhand\nhappy\nharbor\nhard\nharsh\nharvest\nhat\nhave\nhawk\nhazard\nhead\nhealth\nheart\nheavy\nhedgehog\nheight\nhello\nhelmet\nhelp\nhen\nhero\nhidden\nhigh\nhill\nhint\nhip\nhire\nhistory\nhobby\nhockey\nhold\nhole\nholiday\nhollow\nhome\nhoney\nhood\nhope\nhorn\nhorror\nhorse\nhospital\nhost\nhotel\nhour\nhover\nhub\nhuge\nhuman\nhumble\nhumor\nhundred\nhungry\nhunt\nhurdle\nhurry\nhurt\nhusband\nhybrid\nice\nicon\nidea\nidentify\nidle\nignore\nill\nillegal\nillness\nimage\nimitate\nimmense\nimmune\nimpact\nimpose\nimprove\nimpulse\ninch\ninclude\nincome\nincrease\nindex\nindicate\nindoor\nindustry\ninfant\ninflict\ninform\ninhale\ninherit\ninitial\ninject\ninjury\ninmate\ninner\ninnocent\ninput\ninquiry\ninsane\ninsect\ninside\ninspire\ninstall\nintact\ninterest\ninto\ninvest\ninvite\ninvolve\niron\nisland\nisolate\nissue\nitem\nivory\njacket\njaguar\njar\njazz\njealous\njeans\njelly\njewel\njob\njoin\njoke\njourney\njoy\njudge\njuice\njump\njungle\njunior\njunk\njust\nkangaroo\nkeen\nkeep\nketchup\nkey\nkick\nkid\nkidney\nkind\nkingdom\nkiss\nkit\nkitchen\nkite\nkitten\nkiwi\nknee\nknife\nknock\nknow\nlab\nlabel\nlabor\nladder\nlady\nlake\nlamp\nlanguage\nlaptop\nlarge\nlater\nlatin\nlaugh\nlaundry\nlava\nlaw\nlawn\nlawsuit\nlayer\nlazy\nleader\nleaf\nlearn\nleave\nlecture\nleft\nleg\nlegal\nlegend\nleisure\nlemon\nlend\nlength\nlens\nleopard\nlesson\nletter\nlevel\nliar\nliberty\nlibrary\nlicense\nlife\nlift\nlight\nlike\nlimb\nlimit\nlink\nlion\nliquid\nlist\nlittle\nlive\nlizard\nload\nloan\nlobster\nlocal\nlock\nlogic\nlonely\nlong\nloop\nlottery\nloud\nlounge\nlove\nloyal\nlucky\nluggage\nlumber\nlunar\nlunch\nluxury\nlyrics\nmachine\nmad\nmagic\nmagnet\nmaid\nmail\nmain\nmajor\nmake\nmammal\nman\nmanage\nmandate\nmango\nmansion\nmanual\nmaple\nmarble\nmarch\nmargin\nmarine\nmarket\nmarriage\nmask\nmass\nmaster\nmatch\nmaterial\nmath\nmatrix\nmatter\nmaximum\nmaze\nmeadow\nmean\nmeasure\nmeat\nmechanic\nmedal\nmedia\nmelody\nmelt\nmember\nmemory\nmention\nmenu\nmercy\nmerge\nmerit\nmerry\nmesh\nmessage\nmetal\nmethod\nmiddle\nmidnight\nmilk\nmillion\nmimic\nmind\nminimum\nminor\nminute\nmiracle\nmirror\nmisery\nmiss\nmistake\nmix\nmixed\nmixture\nmobile\nmodel\nmodify\nmom\nmoment\nmonitor\nmonkey\nmonster\nmonth\nmoon\nmoral\nmore\nmorning\nmosquito\nmother\nmotion\nmotor\nmountain\nmouse\nmove\nmovie\nmuch\nmuffin\nmule\nmultiply\nmuscle\nmuseum\nmushroom\nmusic\nmust\nmutual\nmyself\nmystery\nmyth\nnaive\nname\nnapkin\nnarrow\nnasty\nnation\nnature\nnear\nneck\nneed\nnegative\nneglect\nneither\nnephew\nnerve\nnest\nnet\nnetwork\nneutral\nnever\nnews\nnext\nnice\nnight\nnoble\nnoise\nnominee\nnoodle\nnormal\nnorth\nnose\nnotable\nnote\nnothing\nnotice\nnovel\nnow\nnuclear\nnumber\nnurse\nnut\noak\nobey\nobject\noblige\nobscure\nobserve\nobtain\nobvious\noccur\nocean\noctober\nodor\noff\noffer\noffice\noften\noil\nokay\nold\nolive\nolympic\nomit\nonce\none\nonion\nonline\nonly\nopen\nopera\nopinion\noppose\noption\norange\norbit\norchard\norder\nordinary\norgan\norient\noriginal\norphan\nostrich\nother\noutdoor\nouter\noutput\noutside\noval\noven\nover\nown\nowner\noxygen\noyster\nozone\npact\npaddle\npage\npair\npalace\npalm\npanda\npanel\npanic\npanther\npaper\nparade\nparent\npark\nparrot\nparty\npass\npatch\npath\npatient\npatrol\npattern\npause\npave\npayment\npeace\npeanut\npear\npeasant\npelican\npen\npenalty\npencil\npeople\npepper\nperfect\npermit\nperson\npet\nphone\nphoto\nphrase\nphysical\npiano\npicnic\npicture\npiece\npig\npigeon\npill\npilot\npink\npioneer\npipe\npistol\npitch\npizza\nplace\nplanet\nplastic\nplate\nplay\nplease\npledge\npluck\nplug\nplunge\npoem\npoet\npoint\npolar\npole\npolice\npond\npony\npool\npopular\nportion\nposition\npossible\npost\npotato\npottery\npoverty\npowder\npower\npractice\npraise\npredict\nprefer\nprepare\npresent\npretty\nprevent\nprice\npride\nprimary\nprint\npriority\nprison\nprivate\nprize\nproblem\nprocess\nproduce\nprofit\nprogram\nproject\npromote\nproof\nproperty\nprosper\nprotect\nproud\nprovide\npublic\npudding\npull\npulp\npulse\npumpkin\npunch\npupil\npuppy\npurchase\npurity\npurpose\npurse\npush\nput\npuzzle\npyramid\nquality\nquantum\nquarter\nquestion\nquick\nquit\nquiz\nquote\nrabbit\nraccoon\nrace\nrack\nradar\nradio\nrail\nrain\nraise\nrally\nramp\nranch\nrandom\nrange\nrapid\nrare\nrate\nrather\nraven\nraw\nrazor\nready\nreal\nreason\nrebel\nrebuild\nrecall\nreceive\nrecipe\nrecord\nrecycle\nreduce\nreflect\nreform\nrefuse\nregion\nregret\nregular\nreject\nrelax\nrelease\nrelief\nrely\nremain\nremember\nremind\nremove\nrender\nrenew\nrent\nreopen\nrepair\nrepeat\nreplace\nreport\nrequire\nrescue\nresemble\nresist\nresource\nresponse\nresult\nretire\nretreat\nreturn\nreunion\nreveal\nreview\nreward\nrhythm\nrib\nribbon\nrice\nrich\nride\nridge\nrifle\nright\nrigid\nring\nriot\nripple\nrisk\nritual\nrival\nriver\nroad\nroast\nrobot\nrobust\nrocket\nromance\nroof\nrookie\nroom\nrose\nrotate\nrough\nround\nroute\nroyal\nrubber\nrude\nrug\nrule\nrun\nrunway\nrural\nsad\nsaddle\nsadness\nsafe\nsail\nsalad\nsalmon\nsalon\nsalt\nsalute\nsame\nsample\nsand\nsatisfy\nsatoshi\nsauce\nsausage\nsave\nsay\nscale\nscan\nscare\nscatter\nscene\nscheme\nschool\nscience\nscissors\nscorpion\nscout\nscrap\nscreen\nscript\nscrub\nsea\nsearch\nseason\nseat\nsecond\nsecret\nsection\nsecurity\nseed\nseek\nsegment\nselect\nsell\nseminar\nsenior\nsense\nsentence\nseries\nservice\nsession\nsettle\nsetup\nseven\nshadow\nshaft\nshallow\nshare\nshed\nshell\nsheriff\nshield\nshift\nshine\nship\nshiver\nshock\nshoe\nshoot\nshop\nshort\nshoulder\nshove\nshrimp\nshrug\nshuffle\nshy\nsibling\nsick\nside\nsiege\nsight\nsign\nsilent\nsilk\nsilly\nsilver\nsimilar\nsimple\nsince\nsing\nsiren\nsister\nsituate\nsix\nsize\nskate\nsketch\nski\nskill\nskin\nskirt\nskull\nslab\nslam\nsleep\nslender\nslice\nslide\nslight\nslim\nslogan\nslot\nslow\nslush\nsmall\nsmart\nsmile\nsmoke\nsmooth\nsnack\nsnake\nsnap\nsniff\nsnow\nsoap\nsoccer\nsocial\nsock\nsoda\nsoft\nsolar\nsoldier\nsolid\nsolution\nsolve\nsomeone\nsong\nsoon\nsorry\nsort\nsoul\nsound\nsoup\nsource\nsouth\nspace\nspare\nspatial\nspawn\nspeak\nspecial\nspeed\nspell\nspend\nsphere\nspice\nspider\nspike\nspin\nspirit\nsplit\nspoil\nsponsor\nspoon\nsport\nspot\nspray\nspread\nspring\nspy\nsquare\nsqueeze\nsquirrel\nstable\nstadium\nstaff\nstage\nstairs\nstamp\nstand\nstart\nstate\nstay\nsteak\nsteel\nstem\nstep\nstereo\nstick\nstill\nsting\nstock\nstomach\nstone\nstool\nstory\nstove\nstrategy\nstreet\nstrike\nstrong\nstruggle\nstudent\nstuff\nstumble\nstyle\nsubject\nsubmit\nsubway\nsuccess\nsuch\nsudden\nsuffer\nsugar\nsuggest\nsuit\nsummer\nsun\nsunny\nsunset\nsuper\nsupply\nsupreme\nsure\nsurface\nsurge\nsurprise\nsurround\nsurvey\nsuspect\nsustain\nswallow\nswamp\nswap\nswarm\nswear\nsweet\nswift\nswim\nswing\nswitch\nsword\nsymbol\nsymptom\nsyrup\nsystem\ntable\ntackle\ntag\ntail\ntalent\ntalk\ntank\ntape\ntarget\ntask\ntaste\ntattoo\ntaxi\nteach\nteam\ntell\nten\ntenant\ntennis\ntent\nterm\ntest\ntext\nthank\nthat\ntheme\nthen\ntheory\nthere\nthey\nthing\nthis\nthought\nthree\nthrive\nthrow\nthumb\nthunder\nticket\ntide\ntiger\ntilt\ntimber\ntime\ntiny\ntip\ntired\ntissue\ntitle\ntoast\ntobacco\ntoday\ntoddler\ntoe\ntogether\ntoilet\ntoken\ntomato\ntomorrow\ntone\ntongue\ntonight\ntool\ntooth\ntop\ntopic\ntopple\ntorch\ntornado\ntortoise\ntoss\ntotal\ntourist\ntoward\ntower\ntown\ntoy\ntrack\ntrade\ntraffic\ntragic\ntrain\ntransfer\ntrap\ntrash\ntravel\ntray\ntreat\ntree\ntrend\ntrial\ntribe\ntrick\ntrigger\ntrim\ntrip\ntrophy\ntrouble\ntruck\ntrue\ntruly\ntrumpet\ntrust\ntruth\ntry\ntube\ntuition\ntumble\ntuna\ntunnel\nturkey\nturn\nturtle\ntwelve\ntwenty\ntwice\ntwin\ntwist\ntwo\ntype\ntypical\nugly\numbrella\nunable\nunaware\nuncle\nuncover\nunder\nundo\nunfair\nunfold\nunhappy\nuniform\nunique\nunit\nuniverse\nunknown\nunlock\nuntil\nunusual\nunveil\nupdate\nupgrade\nuphold\nupon\nupper\nupset\nurban\nurge\nusage\nuse\nused\nuseful\nuseless\nusual\nutility\nvacant\nvacuum\nvague\nvalid\nvalley\nvalve\nvan\nvanish\nvapor\nvarious\nvast\nvault\nvehicle\nvelvet\nvendor\nventure\nvenue\nverb\nverify\nversion\nvery\nvessel\nveteran\nviable\nvibrant\nvicious\nvictory\nvideo\nview\nvillage\nvintage\nviolin\nvirtual\nvirus\nvisa\nvisit\nvisual\nvital\nvivid\nvocal\nvoice\nvoid\nvolcano\nvolume\nvote\nvoyage\nwage\nwagon\nwait\nwalk\nwall\nwalnut\nwant\nwarfare\nwarm\nwarrior\nwash\nwasp\nwaste\nwater\nwave\nway\nwealth\nweapon\nwear\nweasel\nweather\nweb\nwedding\nweekend\nweird\nwelcome\nwest\nwet\nwhale\nwhat\nwheat\nwheel\nwhen\nwhere\nwhip\nwhisper\nwide\nwidth\nwife\nwild\nwill\nwin\nwindow\nwine\nwing\nwink\nwinner\nwinter\nwire\nwisdom\nwise\nwish\nwitness\nwolf\nwoman\nwonder\nwood\nwool\nword\nwork\nworld\nworry\nworth\nwrap\nwreck\nwrestle\nwrist\nwrite\nwrong\nyard\nyear\nyellow\nyou\nyoung\nyouth\nzebra\nzero\nzone\nzoo".split("\n")},5856:()=>{},9598:se=>{function c(j,d,L,V,Y,m,w){try{var O=j[m](w),N=O.value}catch(U){return void L(U)}O.done?d(N):Promise.resolve(N).then(V,Y)}se.exports=function _(j){return function(){var d=this,L=arguments;return new Promise(function(V,Y){var m=j.apply(d,L);function w(N){c(m,V,Y,w,O,"next",N)}function O(N){c(m,V,Y,w,O,"throw",N)}w(void 0)})}},se.exports.__esModule=!0,se.exports.default=se.exports}},fn={};function me(se){var c=fn[se];if(void 0!==c)return c.exports;var _=fn[se]={exports:{}};return or[se](_,_.exports,me),_.exports}se=Object.getPrototypeOf?_=>Object.getPrototypeOf(_):_=>_.__proto__,me.t=function(_,j){if(1&j&&(_=this(_)),8&j||"object"==typeof _&&_&&(4&j&&_.__esModule||16&j&&"function"==typeof _.then))return _;var d=Object.create(null);me.r(d);var L={};c=c||[null,se({}),se([]),se(se)];for(var V=2&j&&_;"object"==typeof V&&!~c.indexOf(V);V=se(V))Object.getOwnPropertyNames(V).forEach(Y=>L[Y]=()=>_[Y]);return L.default=()=>_,me.d(d,L),d},me.d=(se,c)=>{for(var _ in c)me.o(c,_)&&!me.o(se,_)&&Object.defineProperty(se,_,{enumerable:!0,get:c[_]})},me.o=(se,c)=>Object.prototype.hasOwnProperty.call(se,c),me.r=se=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(se,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(se,"__esModule",{value:!0})},(()=>{"use strict";function se(t,e,n,r,s,o,i){try{var a=t[o](i),h=a.value}catch(p){return void n(p)}a.done?e(h):Promise.resolve(h).then(r,s)}function c(t){return function(){var e=this,n=arguments;return new Promise(function(r,s){var o=t.apply(e,n);function i(h){se(o,r,s,i,a,"next",h)}function a(h){se(o,r,s,i,a,"throw",h)}i(void 0)})}}var _=me(5856),j=me.t(_,2);const d=BigInt(0),L=BigInt(1),V=BigInt(2),Y=BigInt(3),m=BigInt(8),w=Object.freeze({a:d,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:L,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),O=(t,e)=>(t+e/V)/e,N={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=w,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-L*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,i=BigInt("0x100000000000000000000000000000000"),a=O(o*t,e),h=O(-r*t,e);let p=E(t-a*n-h*s,e),y=E(-a*r-h*o,e);const b=p>i,v=y>i;if(b&&(p=e-p),v&&(y=e-y),p>i||y>i)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:b,k1:p,k2neg:v,k2:y}}},U=32,T=32,G=U+1,Z=2*U+1;function z(t){const{a:e,b:n}=w,r=E(t*t),s=E(r*t);return E(s+e*t+n)}const q=w.a===d;class W extends Error{constructor(e){super(e)}}function X(t){if(!(t instanceof H))throw new TypeError("JacobianPoint expected")}class H{constructor(e,n,r){this.x=e,this.y=n,this.z=r}static fromAffine(e){if(!(e instanceof f))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(f.ZERO)?H.ZERO:new H(e.x,e.y,L)}static toAffineBatch(e){const n=function Pe(t,e=w.P){const n=new Array(t.length),s=Ae(t.reduce((o,i,a)=>i===d?o:(n[a]=o,E(o*i,e)),L),e);return t.reduceRight((o,i,a)=>i===d?o:(n[a]=E(o*n[a],e),E(o*i,e)),s),n}(e.map(r=>r.z));return e.map((r,s)=>r.toAffine(n[s]))}static normalizeZ(e){return H.toAffineBatch(e).map(H.fromAffine)}equals(e){X(e);const{x:n,y:r,z:s}=this,{x:o,y:i,z:a}=e,h=E(s*s),p=E(a*a),y=E(n*p),b=E(o*h),v=E(E(r*a)*p),I=E(E(i*s)*h);return y===b&&v===I}negate(){return new H(this.x,E(-this.y),this.z)}double(){const{x:e,y:n,z:r}=this,s=E(e*e),o=E(n*n),i=E(o*o),a=e+o,h=E(V*(E(a*a)-s-i)),p=E(Y*s),y=E(p*p),b=E(y-V*h),v=E(p*(h-b)-m*i),I=E(V*n*r);return new H(b,v,I)}add(e){X(e);const{x:n,y:r,z:s}=this,{x:o,y:i,z:a}=e;if(o===d||i===d)return this;if(n===d||r===d)return e;const h=E(s*s),p=E(a*a),y=E(n*p),b=E(o*h),v=E(E(r*a)*p),I=E(E(i*s)*h),C=E(b-y),M=E(I-v);if(C===d)return M===d?this.double():H.ZERO;const oe=E(C*C),ue=E(C*oe),ee=E(y*oe),R=E(M*M-ue-V*ee),te=E(M*(ee-R)-v*ue),Q=E(s*a*C);return new H(R,te,Q)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){const n=H.ZERO;if("bigint"==typeof e&&e===d)return n;let r=ye(e);if(r===L)return this;if(!q){let b=n,v=this;for(;r>d;)r&L&&(b=b.add(v)),v=v.double(),r>>=L;return b}let{k1neg:s,k1:o,k2neg:i,k2:a}=N.splitScalar(r),h=n,p=n,y=this;for(;o>d||a>d;)o&L&&(h=h.add(y)),a&L&&(p=p.add(y)),y=y.double(),o>>=L,a>>=L;return s&&(h=h.negate()),i&&(p=p.negate()),p=new H(E(p.x*N.beta),p.y,p.z),h.add(p)}precomputeWindow(e){const n=q?128/e+1:256/e+1,r=[];let s=this,o=s;for(let i=0;i<n;i++){o=s,r.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(s),r.push(o);s=o.double()}return r}wNAF(e,n){!n&&this.equals(H.BASE)&&(n=f.BASE);const r=n&&n._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let s=n&&S.get(n);s||(s=this.precomputeWindow(r),n&&1!==r&&(s=H.normalizeZ(s),S.set(n,s)));let o=H.ZERO,i=H.BASE;const a=1+(q?128/r:256/r),h=2**(r-1),p=BigInt(2**r-1),y=2**r,b=BigInt(r);for(let v=0;v<a;v++){const I=v*h;let C=Number(e&p);e>>=b,C>h&&(C-=y,e+=L);const M=I,oe=I+Math.abs(C)-1,ee=C<0;0===C?i=i.add(J(v%2!=0,s[M])):o=o.add(J(ee,s[oe]))}return{p:o,f:i}}multiply(e,n){let s,o,r=ye(e);if(q){const{k1neg:i,k1:a,k2neg:h,k2:p}=N.splitScalar(r);let{p:y,f:b}=this.wNAF(a,n),{p:v,f:I}=this.wNAF(p,n);y=J(i,y),v=J(h,v),v=new H(E(v.x*N.beta),v.y,v.z),s=y.add(v),o=b.add(I)}else{const{p:i,f:a}=this.wNAF(r,n);s=i,o=a}return H.normalizeZ([s,o])[0]}toAffine(e){const{x:n,y:r,z:s}=this,o=this.equals(H.ZERO);null==e&&(e=o?m:Ae(s));const i=e,a=E(i*i),h=E(a*i),p=E(n*a),y=E(r*h),b=E(s*i);if(o)return f.ZERO;if(b!==L)throw new Error("invZ was invalid");return new f(p,y)}}function J(t,e){const n=e.negate();return t?n:e}H.BASE=new H(w.Gx,w.Gy,L),H.ZERO=new H(d,L,d);const S=new WeakMap;class f{constructor(e,n){this.x=e,this.y=n}_setWindowSize(e){this._WINDOW_SIZE=e,S.delete(this)}hasEvenY(){return this.y%V===d}static fromCompressedHex(e){const n=32===e.length,r=P(n?e:e.subarray(1));if(!ct(r))throw new Error("Point is not on curve");let o=function Ie(t){const{P:e}=w,n=BigInt(6),r=BigInt(11),s=BigInt(22),o=BigInt(23),i=BigInt(44),a=BigInt(88),h=t*t*t%e,p=h*h*t%e,y=pe(p,Y)*p%e,b=pe(y,Y)*p%e,v=pe(b,V)*h%e,I=pe(v,r)*v%e,C=pe(I,s)*I%e,M=pe(C,i)*C%e,oe=pe(M,a)*M%e,ue=pe(oe,i)*C%e,ee=pe(ue,Y)*p%e,R=pe(ee,o)*I%e,te=pe(R,n)*h%e,Q=pe(te,V);if(Q*Q%e!==t)throw new Error("Cannot find square root");return Q}(z(r));const i=(o&L)===L;n?i&&(o=E(-o)):1==(1&e[0])!==i&&(o=E(-o));const a=new f(r,o);return a.assertValidity(),a}static fromUncompressedHex(e){const n=P(e.subarray(1,U+1)),r=P(e.subarray(U+1,2*U+1)),s=new f(n,r);return s.assertValidity(),s}static fromHex(e){const n=ie(e),r=n.length,s=n[0];if(r===U)return this.fromCompressedHex(n);if(r===G&&(2===s||3===s))return this.fromCompressedHex(n);if(r===Z&&4===s)return this.fromUncompressedHex(n);throw new Error(`Point.fromHex: received invalid point. Expected 32-${G} compressed bytes or ${Z} uncompressed bytes, not ${r}`)}static fromPrivateKey(e){return f.BASE.multiply(Me(e))}static fromSignature(e,n,r){const{r:s,s:o}=bn(n);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const i=Ht(ie(e)),{n:a}=w,h=2===r||3===r?s+a:s,p=Ae(h,a),y=E(-i*p,a),b=E(o*p,a),I=f.fromHex((1&r?"03":"02")+A(h)),C=f.BASE.multiplyAndAddUnsafe(I,y,b);if(!C)throw new Error("Cannot recover signature: point at infinify");return C.assertValidity(),C}toRawBytes(e=!1){return be(this.toHex(e))}toHex(e=!1){const n=A(this.x);return e?`${this.hasEvenY()?"02":"03"}${n}`:`04${n}${A(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const e="Point is not on elliptic curve",{x:n,y:r}=this;if(!ct(n)||!ct(r))throw new Error(e);const s=E(r*r);if(E(s-z(n))!==d)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new f(this.x,E(-this.y))}double(){return H.fromAffine(this).double().toAffine()}add(e){return H.fromAffine(this).add(H.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return H.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,n,r){const s=H.fromAffine(this),o=n===d||n===L||this!==f.BASE?s.multiplyUnsafe(n):s.multiply(n),i=H.fromAffine(e).multiplyUnsafe(r),a=o.add(i);return a.equals(H.ZERO)?void 0:a.toAffine()}}function k(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function $(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${B(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:P(n),left:t.subarray(e+2)}}f.BASE=new f(w.Gx,w.Gy),f.ZERO=new f(d,d);class l{constructor(e,n){this.r=e,this.s=n,this.assertValidity()}static fromCompact(e){const n=e instanceof Uint8Array,r="Signature.fromCompact";if("string"!=typeof e&&!n)throw new TypeError(`${r}: Expected string or Uint8Array`);const s=n?B(e):e;if(128!==s.length)throw new Error(`${r}: Expected 64-byte hex`);return new l(fe(s.slice(0,64)),fe(s.slice(64,128)))}static fromDER(e){const n=e instanceof Uint8Array;if("string"!=typeof e&&!n)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r,s}=function x(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${B(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=$(t.subarray(2)),{data:r,left:s}=$(n);if(s.length)throw new Error(`Invalid signature: left bytes after parsing: ${B(s)}`);return{r:e,s:r}}(n?e:be(e));return new l(r,s)}static fromHex(e){return this.fromDER(e)}assertValidity(){const{r:e,s:n}=this;if(!Xe(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Xe(n))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){return this.s>w.n>>L}normalizeS(){return this.hasHighS()?new l(this.r,E(-this.s,w.n)):this}toDERRawBytes(){return be(this.toDERHex())}toDERHex(){const e=k(le(this.s)),n=k(le(this.r)),r=e.length/2,s=n.length/2,o=le(r),i=le(s);return`30${le(s+r+4)}02${i}${n}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return be(this.toCompactHex())}toCompactHex(){return A(this.r)+A(this.s)}}function u(...t){if(!t.every(r=>r instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce((r,s)=>r+s.length,0),n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){const o=t[r];n.set(o,s),s+=o.length}return n}const g=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function B(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let n=0;n<t.length;n++)e+=g[t[n]];return e}const D=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function A(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(d<=t&&t<D))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function K(t){const e=be(A(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function le(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function fe(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function be(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,s=t.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function P(t){return fe(B(t))}function ie(t){return t instanceof Uint8Array?Uint8Array.from(t):be(t)}function ye(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&Xe(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function E(t,e=w.P){const n=t%e;return n>=d?n:e+n}function pe(t,e){const{P:n}=w;let r=t;for(;e-- >d;)r*=r,r%=n;return r}function Ae(t,e=w.P){if(t===d||e<=d)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=E(t,e),r=e,s=d,o=L,i=L,a=d;for(;n!==d;){const p=r/n,y=r%n,b=s-i*p,v=o-a*p;r=n,n=y,s=i,o=a,i=b,a=v}if(r!==L)throw new Error("invert: does not exist");return E(s,e)}function Ht(t,e=!1){const n=function ir(t){const e=8*t.length-8*T,n=P(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=w;return n>=r?n-r:n}let Ze,et;class dn{constructor(e,n){if(this.hashLen=e,this.qByteLen=n,"number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof n||n<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return re.hmacSha256(this.k,...e)}hmacSync(...e){return et(this.k,...e)}checkSync(){if("function"!=typeof et)throw new W("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}reseed(e=new Uint8Array){var n=this;return c(function*(){n.k=yield n.hmac(n.v,Uint8Array.from([0]),e),n.v=yield n.hmac(n.v),0!==e.length&&(n.k=yield n.hmac(n.v,Uint8Array.from([1]),e),n.v=yield n.hmac(n.v))})()}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),0!==e.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}generate(){var e=this;return c(function*(){e.incr();let n=0;const r=[];for(;n<e.qByteLen;){e.v=yield e.hmac(e.v);const s=e.v.slice();r.push(s),n+=e.v.length}return u(...r)})()}generateSync(){this.checkSync(),this.incr();let e=0;const n=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);const r=this.v.slice();n.push(r),e+=this.v.length}return u(...n)}}function Xe(t){return d<t&&t<w.n}function ct(t){return d<t&&t<w.P}function pn(t,e,n,r=!0){const{n:s}=w,o=Ht(t,!0);if(!Xe(o))return;const i=Ae(o,s),a=f.BASE.multiply(o),h=E(a.x,s);if(h===d)return;const p=E(i*E(e+n*h,s),s);if(p===d)return;let y=new l(h,p),b=(a.x===y.r?0:2)|Number(a.y&L);return r&&y.hasHighS()&&(y=y.normalizeS(),b^=1),{sig:y,recovery:b}}function Me(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*T)throw new Error("Expected 32 bytes of private key");e=fe(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==T)throw new Error("Expected 32 bytes of private key");e=P(t)}if(!Xe(e))throw new Error("Expected private key: 0 < key < n");return e}function Bt(t){return t instanceof f?(t.assertValidity(),t):f.fromHex(t)}function bn(t){if(t instanceof l)return t.assertValidity(),t;try{return l.fromDER(t)}catch{return l.fromCompact(t)}}function yn(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?r===G||r===Z:n?r===2*G||r===2*Z:t instanceof f}function gn(t,e,n=!1){if(yn(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!yn(e))throw new TypeError("getSharedSecret: second arg must be public key");const r=Bt(e);return r.assertValidity(),r.multiply(Me(t)).toRawBytes(n)}function wn(t){return P(t.length>U?t.slice(0,U):t)}function cr(t){const e=wn(t),n=E(e,w.n);return mn(n<d?e:n)}function mn(t){return K(t)}const ur={strict:!0};function lt(t){return E(P(t),w.n)}class Ye{constructor(e,n){this.r=e,this.s=n,this.assertValidity()}static fromHex(e){const n=ie(e);if(64!==n.length)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${n.length}`);const r=P(n.subarray(0,32)),s=P(n.subarray(32,64));return new Ye(r,s)}assertValidity(){const{r:e,s:n}=this;if(!ct(e)||!Xe(n))throw new Error("Invalid signature")}toHex(){return A(this.r)+A(this.s)}toRawBytes(){return be(this.toHex())}}class En{constructor(e,n,r=re.randomBytes()){if(null==e)throw new TypeError(`sign: Expected valid message, not "${e}"`);this.m=ie(e);const{x:s,scalar:o}=this.getScalar(Me(n));if(this.px=s,this.d=o,this.rand=ie(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(e){const n=f.fromPrivateKey(e),r=n.hasEvenY()?e:w.n-e;return{point:n,scalar:r,x:n.toRawX()}}initNonce(e,n){return K(e^P(n))}finalizeNonce(e){const n=E(P(e),w.n);if(n===d)throw new Error("sign: Creation of signature failed. k is zero");const{point:r,x:s,scalar:o}=this.getScalar(n);return{R:r,rx:s,k:o}}finalizeSig(e,n,r,s){return new Ye(e.x,E(n+r*s,w.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}calc(){var e=this;return c(function*(){const{m:n,d:r,px:s,rand:o}=e,i=re.taggedHash,a=e.initNonce(r,yield i(Ce.aux,o)),{R:h,rx:p,k:y}=e.finalizeNonce(yield i(Ce.nonce,a,s,n)),b=lt(yield i(Ce.challenge,p,s,n)),v=e.finalizeSig(h,y,b,r);return(yield Sn(v,n,s))||e.error(),v})()}calcSync(){const{m:e,d:n,px:r,rand:s}=this,o=re.taggedHashSync,i=this.initNonce(n,o(Ce.aux,s)),{R:a,rx:h,k:p}=this.finalizeNonce(o(Ce.nonce,i,r,e)),y=lt(o(Ce.challenge,h,r,e)),b=this.finalizeSig(a,p,y,n);return _n(b,e,r)||this.error(),b}}function Lt(){return(Lt=c(function*(t,e,n){return new En(t,e,n).calc()})).apply(this,arguments)}function An(t,e,n){const r=t instanceof Ye,s=r?t:Ye.fromHex(t);return r&&s.assertValidity(),{...s,m:ie(e),P:Bt(n)}}function kn(t,e,n,r){const s=f.BASE.multiplyAndAddUnsafe(e,Me(n),E(-r,w.n));return!(!s||!s.hasEvenY()||s.x!==t)}function Sn(t,e,n){return Ut.apply(this,arguments)}function Ut(){return(Ut=c(function*(t,e,n){try{const{r,s,m:o,P:i}=An(t,e,n),a=lt(yield re.taggedHash(Ce.challenge,K(r),i.toRawX(),o));return kn(r,i,s,a)}catch{return!1}})).apply(this,arguments)}function _n(t,e,n){try{const{r,s,m:o,P:i}=An(t,e,n),a=lt(re.taggedHashSync(Ce.challenge,K(r),i.toRawX(),o));return kn(r,i,s,a)}catch(r){if(r instanceof W)throw r;return!1}}const ut={Signature:Ye,getPublicKey:function fr(t){return f.fromPrivateKey(t).toRawX()},sign:function dr(t,e,n){return Lt.apply(this,arguments)},verify:Sn,signSync:function pr(t,e,n){return new En(t,e,n).calcSync()},verifySync:_n};f.BASE._setWindowSize(8);const xe={node:j,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ce={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},ht={},re={bytesToHex:B,hexToBytes:be,concatBytes:u,mod:E,invert:Ae,isValidPrivateKey(t){try{return Me(t),!0}catch{return!1}},_bigintTo32Bytes:K,_normalizePrivateKey:Me,hashToPrivateKey:t=>{if((t=ie(t)).length<T+8||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return K(E(P(t),w.n-L)+L)},randomBytes:(t=32)=>{if(xe.web)return xe.web.getRandomValues(new Uint8Array(t));if(xe.node){const{randomBytes:e}=xe.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>re.hashToPrivateKey(re.randomBytes(T+8)),precompute(t=8,e=f.BASE){const n=e===f.BASE?e:new f(e.x,e.y);return n._setWindowSize(t),n.multiply(Y),n},sha256:(t=c(function*(...e){if(xe.web){const n=yield xe.web.subtle.digest("SHA-256",u(...e));return new Uint8Array(n)}if(xe.node){const{createHash:n}=xe.node,r=n("sha256");return e.forEach(s=>r.update(s)),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have sha256 function")}),function(){return t.apply(this,arguments)}),hmacSha256:function(){var t=c(function*(e,...n){if(xe.web){const r=yield xe.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),s=u(...n),o=yield xe.web.subtle.sign("HMAC",r,s);return new Uint8Array(o)}if(xe.node){const{createHmac:r}=xe.node,s=r("sha256",e);return n.forEach(o=>s.update(o)),Uint8Array.from(s.digest())}throw new Error("The environment doesn't have hmac-sha256 function")});return function(n){return t.apply(this,arguments)}}(),sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:function(){var t=c(function*(e,...n){let r=ht[e];if(void 0===r){const s=yield re.sha256(Uint8Array.from(e,o=>o.charCodeAt(0)));r=u(s,s),ht[e]=r}return re.sha256(r,...n)});return function(n){return t.apply(this,arguments)}}(),taggedHashSync:(t,...e)=>{if("function"!=typeof Ze)throw new W("sha256Sync is undefined, you need to set it");let n=ht[t];if(void 0===n){const r=Ze(Uint8Array.from(t,s=>s.charCodeAt(0)));n=u(r,r),ht[t]=n}return Ze(n,...e)},_JacobianPoint:H};var t;Object.defineProperties(re,{sha256Sync:{configurable:!1,get:()=>Ze,set(t){Ze||(Ze=t)}},hmacSha256Sync:{configurable:!1,get:()=>et,set(t){et||(et=t)}}});const ft={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ct=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Se=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function dt(t){if("string"==typeof t&&(t=function gr(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}function Tn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0")),(()=>{const t=typeof module<"u"&&"function"==typeof module.require&&module.require.bind(module);try{if(t){const{setImmediate:e}=t("timers")}}catch{}})();class $t{clone(){return this._cloneInto()}}class Ar extends $t{constructor(e,n,r,s){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ct(this.buffer)}update(e){if(this.destroyed)throw new Error("instance is destroyed");const{view:n,buffer:r,blockLen:s,finished:o}=this;if(o)throw new Error("digest() was already called");const i=(e=dt(e)).length;for(let a=0;a<i;){const h=Math.min(s-this.pos,i-a);if(h!==s)r.set(e.subarray(a,a+h),this.pos),this.pos+=h,a+=h,this.pos===s&&(this.process(n,0),this.pos=0);else{const p=Ct(e);for(;s<=i-a;a+=s)this.process(p,a)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){if(this.destroyed)throw new Error("instance is destroyed");if(!(e instanceof Uint8Array)||e.length<this.outputLen)throw new Error("_Sha2: Invalid output buffer");if(this.finished)throw new Error("digest() was already called");this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(r,0),i=0);for(let h=i;h<s;h++)n[h]=0;(function Er(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),a=Number(n&o),p=r?0:4;t.setUint32(e+(r?4:0),i,r),t.setUint32(e+p,a,r)})(r,s-8,BigInt(8*this.length),o),this.process(r,0);const a=Ct(e);this.get().forEach((h,p)=>a.setUint32(4*p,h,o))}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:i,pos:a}=this;return e.length=s,e.pos=a,e.finished=o,e.destroyed=i,s%n&&e.buffer.set(r),e}}const kr=(t,e,n)=>t&e^~t&n,Sr=(t,e,n)=>t&e^t&n^e&n,_r=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]),Oe=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$e=new Uint32Array(64);class Tr extends Ar{constructor(){super(64,32,8,!1),this.A=0|Oe[0],this.B=0|Oe[1],this.C=0|Oe[2],this.D=0|Oe[3],this.E=0|Oe[4],this.F=0|Oe[5],this.G=0|Oe[6],this.H=0|Oe[7]}get(){const{A:e,B:n,C:r,D:s,E:o,F:i,G:a,H:h}=this;return[e,n,r,s,o,i,a,h]}set(e,n,r,s,o,i,a,h){this.A=0|e,this.B=0|n,this.C=0|r,this.D=0|s,this.E=0|o,this.F=0|i,this.G=0|a,this.H=0|h}process(e,n){for(let b=0;b<16;b++,n+=4)$e[b]=e.getUint32(n,!1);for(let b=16;b<64;b++){const v=$e[b-15],I=$e[b-2],C=Se(v,7)^Se(v,18)^v>>>3,M=Se(I,17)^Se(I,19)^I>>>10;$e[b]=M+$e[b-7]+C+$e[b-16]|0}let{A:r,B:s,C:o,D:i,E:a,F:h,G:p,H:y}=this;for(let b=0;b<64;b++){const I=y+(Se(a,6)^Se(a,11)^Se(a,25))+kr(a,h,p)+_r[b]+$e[b]|0,M=(Se(r,2)^Se(r,13)^Se(r,22))+Sr(r,s,o)|0;y=p,p=h,h=a,a=i+I|0,i=o,o=s,s=r,r=I+M|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,h=h+this.F|0,p=p+this.G|0,y=y+this.H|0,this.set(r,s,o,i,a,h,p,y)}roundClean(){$e.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const tt=function xr(t){const e=r=>t().update(dt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}(()=>new Tr);function Fe(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function ke(...t){const e=(s,o)=>i=>s(o(i));return{encode:Array.from(t).reverse().reduce((s,o)=>s?e(s,o.encode):o.encode,void 0),decode:t.reduce((s,o)=>s?e(s,o.decode):o.decode,void 0)}}function _e(t){return{encode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("alphabet.encode input should be an array of numbers");return e.map(n=>{if(Fe(n),n<0||n>=t.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${t.length})`);return t[n]})},decode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("alphabet.decode input should be array of strings");return e.map(n=>{if("string"!=typeof n)throw new Error(`alphabet.decode: not string element=${n}`);const r=t.indexOf(n);if(-1===r)throw new Error(`Unknown letter: "${n}". Allowed: ${t}`);return r})}}}function Te(t=""){if("string"!=typeof t)throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("join.encode input should be array of strings");for(let n of e)if("string"!=typeof n)throw new Error(`join.encode: non-string input=${n}`);return e.join(t)},decode:e=>{if("string"!=typeof e)throw new Error("join.decode input should be string");return e.split(t)}}}function nt(t,e="="){if(Fe(t),"string"!=typeof e)throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let r of n)if("string"!=typeof r)throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*t%8;)n.push(e);return n},decode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let s of n)if("string"!=typeof s)throw new Error(`padding.decode: non-string input=${s}`);let r=n.length;if(r*t%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if(!((r-1)*t%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function Hn(t){if("function"!=typeof t)throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>t(e)}}function Bn(t,e,n){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(t))throw new Error("convertRadix: data should be array");if(!t.length)return[];let r=0;const s=[],o=Array.from(t);for(o.forEach(i=>{if(Fe(i),i<0||i>=e)throw new Error(`Wrong integer: ${i}`)});;){let i=0,a=!0;for(let h=r;h<o.length;h++){const p=o[h],y=e*i+p;if(!Number.isSafeInteger(y)||e*i/e!==i||y-p!=e*i)throw new Error("convertRadix: carry overflow");if(i=y%n,o[h]=Math.floor(y/n),!Number.isSafeInteger(o[h])||o[h]*n+i!==y)throw new Error("convertRadix: carry overflow");a&&(o[h]?a=!1:r=h)}if(s.push(i),a)break}for(let i=0;i<t.length-1&&0===t[i];i++)s.push(0);return s.reverse()}const In=(t,e)=>e?In(e,t%e):t,pt=(t,e)=>t+(e-In(t,e));function Dt(t,e,n,r){if(!Array.isArray(t))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(pt(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${pt(e,n)}`);let s=0,o=0;const i=2**n-1,a=[];for(const h of t){if(Fe(h),h>=2**e)throw new Error(`convertRadix2: invalid data word=${h} from=${e}`);if(s=s<<e|h,o+e>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${e}`);for(o+=e;o>=n;o-=n)a.push((s>>o-n&i)>>>0);s&=2**o-1}if(s=s<<n-o&i,!r&&o>=e)throw new Error("Excess padding");if(!r&&s)throw new Error(`Non-zero padding: ${s}`);return r&&o>0&&a.push(s>>>0),a}function Le(t,e=!1){if(Fe(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(pt(8,t)>32||pt(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return Dt(Array.from(n),8,t,!e)},decode:n=>{if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(Dt(n,t,8,e))}}}function Un(t){if("function"!=typeof t)throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch{}}}const Hr=ke(Le(4),_e("0123456789ABCDEF"),Te("")),Br=ke(Le(5),_e("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),nt(5),Te("")),rt=(ke(Le(5),_e("0123456789ABCDEFGHIJKLMNOPQRSTUV"),nt(5),Te("")),ke(Le(5),_e("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Te(""),Hn(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),ke(Le(6),_e("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),nt(6),Te(""))),Ir=ke(Le(6),_e("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),nt(6),Te("")),qt=t=>ke(function Ln(t){return Fe(t),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return Bn(Array.from(e),256,t)},decode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(Bn(e,t,256))}}}(58),_e(t),Te("")),bt=qt("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),On=(qt("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),qt("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"),[0,2,3,5,6,7,9,10,11]),Lr={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=bt.encode(r).padStart(On[r.length],"1")}return e},decode(t){let e=[];for(let n=0;n<t.length;n+=11){const r=t.slice(n,n+11),s=On.indexOf(r.length),o=bt.decode(r);for(let i=0;i<o.length-s;i++)if(0!==o[i])throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(o.slice(o.length-s)))}return Uint8Array.from(e)}},Rt=ke(_e("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Te("")),$n=[996825010,642813549,513874426,1027748829,705979059];function st(t){const e=t>>25;let n=(33554431&t)<<5;for(let r=0;r<$n.length;r++)1==(e>>r&1)&&(n^=$n[r]);return n}function Dn(t,e,n=1){const r=t.length;let s=1;for(let o=0;o<r;o++){const i=t.charCodeAt(o);if(i<33||i>126)throw new Error(`Invalid prefix (${t})`);s=st(s)^i>>5}s=st(s);for(let o=0;o<r;o++)s=st(s)^31&t.charCodeAt(o);for(let o of e)s=st(s)^o;for(let o=0;o<6;o++)s=st(s);return s^=n,Rt.encode(Dt([s%2**30],30,5,!1))}function qn(t){const e="bech32"===t?1:734539939,n=Le(5),r=n.decode,s=n.encode,o=Un(r);function a(y,b=90){if("string"!=typeof y)throw new Error("bech32.decode input should be string, not "+typeof y);if(y.length<8||!1!==b&&y.length>b)throw new TypeError(`Wrong string length: ${y.length} (${y}). Expected (8..${b})`);const v=y.toLowerCase();if(y!==v&&y!==y.toUpperCase())throw new Error("String must be lowercase or uppercase");const I=(y=v).lastIndexOf("1");if(0===I||-1===I)throw new Error('Letter "1" must be present between prefix and data only');const C=y.slice(0,I),M=y.slice(I+1);if(M.length<6)throw new Error("Data must be at least 6 characters long");const oe=Rt.decode(M).slice(0,-6),ue=Dn(C,oe,e);if(!M.endsWith(ue))throw new Error(`Invalid checksum in ${y}: expected "${ue}"`);return{prefix:C,words:oe}}return{encode:function i(y,b,v=90){if("string"!=typeof y)throw new Error("bech32.encode prefix should be string, not "+typeof y);if(!Array.isArray(b)||b.length&&"number"!=typeof b[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof b);const I=y.length+7+b.length;if(!1!==v&&I>v)throw new TypeError(`Length ${I} exceeds limit ${v}`);return`${y=y.toLowerCase()}1${Rt.encode(b)}${Dn(y,b,e)}`},decode:a,decodeToBytes:function p(y){const{prefix:b,words:v}=a(y,!1);return{prefix:b,words:v,bytes:r(v)}},decodeUnsafe:Un(a),fromWords:r,fromWordsUnsafe:o,toWords:s}}const Ee=qn("bech32"),Cr=(qn("bech32m"),{encode:t=>(new TextDecoder).decode(t),decode:t=>(new TextEncoder).encode(t)}),Or=ke(Le(4),_e("0123456789abcdef"),Te(""),Hn(t=>{if("string"!=typeof t||t.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()}));Object.keys({utf8:Cr,hex:Or,base16:Hr,base32:Br,base64:rt,base64url:Ir,base58:bt,base58xmr:Lr}).join(", ");var jn=me(3439),jt=me(6837);function Nt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Ge(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const ze={number:Nt,bool:function $r(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:Ge,hash:function Dr(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Nt(t.outputLen),Nt(t.blockLen)},exists:function qr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function Rr(t,e){Ge(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}},Qe=("object"==typeof self&&"crypto"in self&&self,t=>new DataView(t.buffer,t.byteOffset,t.byteLength)),He=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");const jr=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Nn(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}function yt(t){if("string"==typeof t&&(t=Nn(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}function gt(...t){if(!t.every(r=>r instanceof Uint8Array))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce((r,s)=>r+s.length,0),n=new Uint8Array(e);for(let r=0,s=0;r<t.length;r++){const o=t[r];n.set(o,s),s+=o.length}return n}class Pn{clone(){return this._cloneInto()}}function We(t){const e=r=>t().update(yt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}class Mn extends Pn{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,ze.hash(e);const r=yt(n);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,o=new Uint8Array(s);o.set(r.length>s?e.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=e.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(e){return ze.exists(this),this.iHash.update(e),this}digestInto(e){ze.exists(this),ze.bytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:i,outputLen:a}=this;return e.finished=s,e.destroyed=o,e.blockLen=i,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const wt=(t,e,n)=>new Mn(t,e).update(n).digest();wt.create=(t,e)=>new Mn(t,e);class Mt extends Pn{constructor(e,n,r,s){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Qe(this.buffer)}update(e){ze.exists(this);const{view:n,buffer:r,blockLen:s}=this,o=(e=yt(e)).length;for(let i=0;i<o;){const a=Math.min(s-this.pos,o-i);if(a!==s)r.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===s&&(this.process(n,0),this.pos=0);else{const h=Qe(e);for(;s<=o-i;i+=s)this.process(h,i)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){ze.exists(this),ze.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(r,0),i=0);for(let b=i;b<s;b++)n[b]=0;(function Gr(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),a=Number(n&o),p=r?0:4;t.setUint32(e+(r?4:0),i,r),t.setUint32(e+p,a,r)})(r,s-8,BigInt(8*this.length),o),this.process(r,0);const a=Qe(e),h=this.outputLen;if(h%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const p=h/4,y=this.get();if(p>y.length)throw new Error("_sha2: outputLen bigger than state");for(let b=0;b<p;b++)a.setUint32(4*b,y[b],o)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:i,pos:a}=this;return e.length=s,e.pos=a,e.finished=o,e.destroyed=i,s%n&&e.buffer.set(r),e}}const zr=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Fn=Uint8Array.from({length:16},(t,e)=>e),Wr=Fn.map(t=>(9*t+5)%16);let Ft=[Fn],Gt=[Wr];for(let t=0;t<4;t++)for(let e of[Ft,Gt])e.push(e[t].map(n=>zr[n]));const Gn=[[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(t=>new Uint8Array(t)),Kr=Ft.map((t,e)=>t.map(n=>Gn[e][n])),Vr=Gt.map((t,e)=>t.map(n=>Gn[e][n])),Zr=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),Xr=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),mt=(t,e)=>t<<e|t>>>32-e;function zn(t,e,n,r){return 0===t?e^n^r:1===t?e&n|~e&r:2===t?(e|~n)^r:3===t?e&r|n&~r:e^(n|~r)}const xt=new Uint32Array(16);class Yr extends Mt{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:n,h2:r,h3:s,h4:o}=this;return[e,n,r,s,o]}set(e,n,r,s,o){this.h0=0|e,this.h1=0|n,this.h2=0|r,this.h3=0|s,this.h4=0|o}process(e,n){for(let I=0;I<16;I++,n+=4)xt[I]=e.getUint32(n,!0);let r=0|this.h0,s=r,o=0|this.h1,i=o,a=0|this.h2,h=a,p=0|this.h3,y=p,b=0|this.h4,v=b;for(let I=0;I<5;I++){const C=4-I,M=Zr[I],oe=Xr[I],ue=Ft[I],ee=Gt[I],R=Kr[I],te=Vr[I];for(let Q=0;Q<16;Q++){const ae=mt(r+zn(I,o,a,p)+xt[ue[Q]]+M,R[Q])+b|0;r=b,b=p,p=0|mt(a,10),a=o,o=ae}for(let Q=0;Q<16;Q++){const ae=mt(s+zn(C,i,h,y)+xt[ee[Q]]+oe,te[Q])+v|0;s=v,v=y,y=0|mt(h,10),h=i,i=ae}}this.set(this.h1+a+y|0,this.h2+p+v|0,this.h3+b+s|0,this.h4+r+i|0,this.h0+o+h|0)}roundClean(){xt.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const Qr=We(()=>new Yr),Jr=(t,e,n)=>t&e^~t&n,es=(t,e,n)=>t&e^t&n^e&n,ts=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]),De=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),qe=new Uint32Array(64);class Wn extends Mt{constructor(){super(64,32,8,!1),this.A=0|De[0],this.B=0|De[1],this.C=0|De[2],this.D=0|De[3],this.E=0|De[4],this.F=0|De[5],this.G=0|De[6],this.H=0|De[7]}get(){const{A:e,B:n,C:r,D:s,E:o,F:i,G:a,H:h}=this;return[e,n,r,s,o,i,a,h]}set(e,n,r,s,o,i,a,h){this.A=0|e,this.B=0|n,this.C=0|r,this.D=0|s,this.E=0|o,this.F=0|i,this.G=0|a,this.H=0|h}process(e,n){for(let b=0;b<16;b++,n+=4)qe[b]=e.getUint32(n,!1);for(let b=16;b<64;b++){const v=qe[b-15],I=qe[b-2],C=He(v,7)^He(v,18)^v>>>3,M=He(I,17)^He(I,19)^I>>>10;qe[b]=M+qe[b-7]+C+qe[b-16]|0}let{A:r,B:s,C:o,D:i,E:a,F:h,G:p,H:y}=this;for(let b=0;b<64;b++){const I=y+(He(a,6)^He(a,11)^He(a,25))+Jr(a,h,p)+ts[b]+qe[b]|0,M=(He(r,2)^He(r,13)^He(r,22))+es(r,s,o)|0;y=p,p=h,h=a,a=i+I|0,i=o,o=s,s=r,r=I+M|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,h=h+this.F|0,p=p+this.G|0,y=y+this.H|0,this.set(r,s,o,i,a,h,p,y)}roundClean(){qe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class ns extends Wn{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const zt=We(()=>new Wn),vt=(We(()=>new ns),BigInt(2**32-1)),Wt=BigInt(32);function Kn(t,e=!1){return e?{h:Number(t&vt),l:Number(t>>Wt&vt)}:{h:0|Number(t>>Wt&vt),l:0|Number(t&vt)}}const ne_split=function rs(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let s=0;s<t.length;s++){const{h:o,l:i}=Kn(t[s],e);[n[s],r[s]]=[o,i]}return[n,r]},ne_shrSH=(t,e,n)=>t>>>n,ne_shrSL=(t,e,n)=>t<<32-n|e>>>n,ne_rotrSH=(t,e,n)=>t>>>n|e<<32-n,ne_rotrSL=(t,e,n)=>t<<32-n|e>>>n,ne_rotrBH=(t,e,n)=>t<<64-n|e>>>n-32,ne_rotrBL=(t,e,n)=>t>>>n-32|e<<64-n,ne_add=function gs(t,e,n,r){const s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:0|s}},ne_add3L=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),ne_add3H=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,ne_add4L=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),ne_add4H=(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,ne_add5H=(t,e,n,r,s,o)=>e+n+r+s+o+(t/2**32|0)|0,ne_add5L=(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0),[ws,ms]=ne_split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Re=new Uint32Array(80),je=new Uint32Array(80);class Et extends Mt{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:n,Bh:r,Bl:s,Ch:o,Cl:i,Dh:a,Dl:h,Eh:p,El:y,Fh:b,Fl:v,Gh:I,Gl:C,Hh:M,Hl:oe}=this;return[e,n,r,s,o,i,a,h,p,y,b,v,I,C,M,oe]}set(e,n,r,s,o,i,a,h,p,y,b,v,I,C,M,oe){this.Ah=0|e,this.Al=0|n,this.Bh=0|r,this.Bl=0|s,this.Ch=0|o,this.Cl=0|i,this.Dh=0|a,this.Dl=0|h,this.Eh=0|p,this.El=0|y,this.Fh=0|b,this.Fl=0|v,this.Gh=0|I,this.Gl=0|C,this.Hh=0|M,this.Hl=0|oe}process(e,n){for(let R=0;R<16;R++,n+=4)Re[R]=e.getUint32(n),je[R]=e.getUint32(n+=4);for(let R=16;R<80;R++){const te=0|Re[R-15],Q=0|je[R-15],ae=ne_rotrSH(te,Q,1)^ne_rotrSH(te,Q,8)^ne_shrSH(te,Q,7),ce=ne_rotrSL(te,Q,1)^ne_rotrSL(te,Q,8)^ne_shrSL(te,Q,7),de=0|Re[R-2],he=0|je[R-2],ve=ne_rotrSH(de,he,19)^ne_rotrBH(de,he,61)^ne_shrSH(de,he,6),Ne=ne_rotrSL(de,he,19)^ne_rotrBL(de,he,61)^ne_shrSL(de,he,6),Je=ne_add4L(ce,Ne,je[R-7],je[R-16]),ge=ne_add4H(Je,ae,ve,Re[R-7],Re[R-16]);Re[R]=0|ge,je[R]=0|Je}let{Ah:r,Al:s,Bh:o,Bl:i,Ch:a,Cl:h,Dh:p,Dl:y,Eh:b,El:v,Fh:I,Fl:C,Gh:M,Gl:oe,Hh:ue,Hl:ee}=this;for(let R=0;R<80;R++){const te=ne_rotrSH(b,v,14)^ne_rotrSH(b,v,18)^ne_rotrBH(b,v,41),Q=ne_rotrSL(b,v,14)^ne_rotrSL(b,v,18)^ne_rotrBL(b,v,41),ae=b&I^~b&M,de=ne_add5L(ee,Q,v&C^~v&oe,ms[R],je[R]),he=ne_add5H(de,ue,te,ae,ws[R],Re[R]),ve=0|de,Ne=ne_rotrSH(r,s,28)^ne_rotrBH(r,s,34)^ne_rotrBH(r,s,39),Je=ne_rotrSL(r,s,28)^ne_rotrBL(r,s,34)^ne_rotrBL(r,s,39),ge=r&o^r&a^o&a,at=s&i^s&h^i&h;ue=0|M,ee=0|oe,M=0|I,oe=0|C,I=0|b,C=0|v,({h:b,l:v}=ne_add(0|p,0|y,0|he,0|ve)),p=0|a,y=0|h,a=0|o,h=0|i,o=0|r,i=0|s;const Tt=ne_add3L(ve,Je,at);r=ne_add3H(Tt,he,Ne,ge),s=0|Tt}({h:r,l:s}=ne_add(0|this.Ah,0|this.Al,0|r,0|s)),({h:o,l:i}=ne_add(0|this.Bh,0|this.Bl,0|o,0|i)),({h:a,l:h}=ne_add(0|this.Ch,0|this.Cl,0|a,0|h)),({h:p,l:y}=ne_add(0|this.Dh,0|this.Dl,0|p,0|y)),({h:b,l:v}=ne_add(0|this.Eh,0|this.El,0|b,0|v)),({h:I,l:C}=ne_add(0|this.Fh,0|this.Fl,0|I,0|C)),({h:M,l:oe}=ne_add(0|this.Gh,0|this.Gl,0|M,0|oe)),({h:ue,l:ee}=ne_add(0|this.Hh,0|this.Hl,0|ue,0|ee)),this.set(r,s,o,i,a,h,p,y,b,v,I,C,M,oe,ue,ee)}roundClean(){Re.fill(0),je.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class xs extends Et{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class vs extends Et{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class Es extends Et{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}const Vn=We(()=>new Et);We(()=>new xs),We(()=>new vs),We(()=>new Es),re.hmacSha256Sync=(t,...e)=>wt(zt,t,re.concatBytes(...e));const Kt=(t=>ke(function Cn(t,e){if(Fe(t),"function"!=typeof e)throw new Error("checksum fn should be function");return{encode(n){if(!(n instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const r=e(n).slice(0,t),s=new Uint8Array(n.length+t);return s.set(n),s.set(r,n.length),s},decode(n){if(!(n instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const r=n.slice(0,-t),s=e(r).slice(0,t),o=n.slice(-t);for(let i=0;i<t;i++)if(s[i]!==o[i])throw new Error("Invalid checksum");return r}}}(4,e=>t(t(e))),bt))(zt);function Zn(t){return BigInt(`0x${function Nr(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=jr[t[n]];return e}(t)}`)}const ks=Nn("Bitcoin seed"),Vt={private:76066276,public:76067358},Zt=2147483648,At=t=>{if(!Number.isSafeInteger(t)||t<0||t>2**32-1)throw new Error(`Invalid number=${t}. Should be from 0 to 2 ** 32 - 1`);const e=new Uint8Array(4);return Qe(e).setUint32(0,t,!1),e};class Ke{constructor(e){if(this.depth=0,this.index=0,this.chainCode=null,this.parentFingerprint=0,!e||"object"!=typeof e)throw new Error("HDKey.constructor must not be called directly");if(this.versions=e.versions||Vt,this.depth=e.depth||0,this.chainCode=e.chainCode,this.index=e.index||0,this.parentFingerprint=e.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(e.publicKey&&e.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(e.privateKey){if(!re.isValidPrivateKey(e.privateKey))throw new Error("Invalid private key");this.privKey="bigint"==typeof e.privateKey?e.privateKey:Zn(e.privateKey),this.privKeyBytes=function As(t){return function Pr(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,s=t.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}(t.toString(16).padStart(64,"0"))}(this.privKey),this.pubKey=function ar(t,e=!1){return f.fromPrivateKey(t).toRawBytes(e)}(e.privateKey,!0)}else{if(!e.publicKey)throw new Error("HDKey: no public or private key provided");this.pubKey=f.fromHex(e.publicKey).toRawBytes(!0)}this.pubHash=(t=>Qr(zt(this.pubKey)))()}get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return(t=>Qe(this.pubHash).getUint32(0,!1))()}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){const e=this.privateKey;if(!e)throw new Error("No private key");return Kt.encode(this.serialize(this.versions.private,gt(new Uint8Array([0]),e)))}get publicExtendedKey(){if(!this.pubKey)throw new Error("No public key");return Kt.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(e,n=Vt){if(Ge(e),8*e.length<128||8*e.length>512)throw new Error(`HDKey: wrong seed length=${e.length}. Should be between 128 and 512 bits; 256 bits is advised)`);const r=wt(Vn,ks,e);return new Ke({versions:n,chainCode:r.slice(32),privateKey:r.slice(0,32)})}static fromExtendedKey(e,n=Vt){const r=Kt.decode(e),s=Qe(r),o=s.getUint32(0,!1),i={versions:n,depth:r[4],parentFingerprint:s.getUint32(5,!1),index:s.getUint32(9,!1),chainCode:r.slice(13,45)},a=r.slice(45),h=0===a[0];if(o!==n[h?"private":"public"])throw new Error("Version mismatch");return new Ke(h?{...i,privateKey:a.slice(1)}:{...i,publicKey:a})}static fromJSON(e){return Ke.fromExtendedKey(e.xpriv)}derive(e){if(!/^[mM]'?/.test(e))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(e))return this;const n=e.replace(/^[mM]'?\//,"").split("/");let r=this;for(const s of n){const o=/^(\d+)('?)$/.exec(s);if(!o||3!==o.length)throw new Error(`Invalid child index: ${s}`);let i=+o[1];if(!Number.isSafeInteger(i)||i>=Zt)throw new Error("Invalid index");"'"===o[2]&&(i+=Zt),r=r.deriveChild(i)}return r}deriveChild(e){if(!this.pubKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=At(e);if(e>=Zt){const a=this.privateKey;if(!a)throw new Error("Could not derive hardened child key");n=gt(new Uint8Array([0]),a,n)}else n=gt(this.pubKey,n);const r=wt(Vn,this.chainCode,n),s=Zn(r.slice(0,32)),o=r.slice(32);if(!re.isValidPrivateKey(s))throw new Error("Tweak bigger than curve order");const i={versions:this.versions,chainCode:o,depth:this.depth+1,parentFingerprint:this.fingerprint,index:e};try{if(this.privateKey){const a=re.mod(this.privKey+s,w.n);if(!re.isValidPrivateKey(a))throw new Error("The tweak was out of range or the resulted private key is invalid");i.privateKey=a}else{const a=f.fromHex(this.pubKey).add(f.fromPrivateKey(s));if(a.equals(f.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");i.publicKey=a.toRawBytes(!0)}return new Ke(i)}catch{return this.deriveChild(e+1)}}sign(e){if(!this.privateKey)throw new Error("No privateKey set!");return Ge(e,32),function lr(t,e,n={}){const{seed:r,m:s,d:o}=function xn(t,e,n){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const r=ie(t),s=Me(e),o=[mn(s),cr(r)];if(null!=n){!0===n&&(n=re.randomBytes(U));const h=ie(n);if(h.length!==U)throw new Error(`sign: Expected ${U} bytes of extra data`);o.push(h)}return{seed:u(...o),m:wn(r),d:s}}(t,e,n.extraEntropy),i=new dn(32,T);let a;for(i.reseedSync(r);!(a=pn(i.generateSync(),s,o,n.canonical));)i.reseedSync();return function vn(t,e){const{sig:n,recovery:r}=t,{der:s,recovered:o}=Object.assign({canonical:!0,der:!0},e),i=s?n.toDERRawBytes():n.toCompactRawBytes();return o?[i,r]:i}(a,n)}(e,this.privKey,{canonical:!0,der:!1})}verify(e,n){if(Ge(e,32),Ge(n,64),!this.publicKey)throw new Error("No publicKey set!");let r;try{r=l.fromCompact(n)}catch{return!1}return function hr(t,e,n,r=ur){let s;try{s=bn(t),e=ie(e)}catch{return!1}const{r:o,s:i}=s;if(r.strict&&s.hasHighS())return!1;const a=Ht(e);let h;try{h=Bt(n)}catch{return!1}const{n:p}=w,y=Ae(i,p),b=E(a*y,p),v=E(o*y,p),I=f.BASE.multiplyAndAddUnsafe(h,b,v);return!!I&&E(I.x,p)===o}(r,e,this.publicKey)}wipePrivateData(){return this.privKey=void 0,this.privKeyBytes&&(this.privKeyBytes.fill(0),this.privKeyBytes=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(e,n){if(!this.chainCode)throw new Error("No chainCode set");return Ge(n,33),gt(At(e),new Uint8Array([this.depth]),At(this.parentFingerprint),At(this.index),this.chainCode,n)}}class Xn extends $t{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,function wr(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Tn(t.outputLen),Tn(t.blockLen)}(e);const r=dt(n);if(this.iHash=e.create(),!(this.iHash instanceof $t))throw new TypeError("Expected instance of class which extends utils.Hash");const s=this.blockLen=this.iHash.blockLen;this.outputLen=this.iHash.outputLen;const o=new Uint8Array(s);o.set(r.length>this.iHash.blockLen?e.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=e.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(e){if(this.destroyed)throw new Error("instance is destroyed");return this.iHash.update(e),this}digestInto(e){if(this.destroyed)throw new Error("instance is destroyed");if(!(e instanceof Uint8Array)||e.length!==this.outputLen)throw new Error("HMAC: Invalid output buffer");if(this.finished)throw new Error("digest() was already called");this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:i,outputLen:a}=this;return e.finished=s,e.destroyed=o,e.blockLen=i,e.outputLen=a,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Yn=(t,e,n)=>new Xn(t,e).update(n).digest();Yn.create=(t,e)=>new Xn(t,e);var Ts=Object.defineProperty,Be=(t,e)=>{for(var n in e)Ts(t,n,{get:e[n],enumerable:!0})};function Qn(t){return re.bytesToHex(ut.getPublicKey(t))}Be({},{insertEventIntoAscendingList:()=>Is,insertEventIntoDescendingList:()=>Bs,normalizeURL:()=>Xt,utf8Decoder:()=>Ve,utf8Encoder:()=>Ue});var Ve=new TextDecoder("utf-8"),Ue=new TextEncoder;function Xt(t){let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),("80"===e.port&&"ws:"===e.protocol||"443"===e.port&&"wss:"===e.protocol)&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}function Bs(t,e){let s,n=0,r=t.length-1,o=n;if(r<0)o=0;else if(e.created_at<t[r].created_at)o=r+1;else if(e.created_at>=t[n].created_at)o=n;else for(;;){if(r<=n+1){o=r;break}if(s=Math.floor(n+(r-n)/2),t[s].created_at>e.created_at)n=s;else{if(!(t[s].created_at<e.created_at)){o=s;break}r=s}}return t[o]?.id!==e.id?[...t.slice(0,o),e,...t.slice(o)]:t}function Is(t,e){let s,n=0,r=t.length-1,o=n;if(r<0)o=0;else if(e.created_at>t[r].created_at)o=r+1;else if(e.created_at<=t[n].created_at)o=n;else for(;;){if(r<=n+1){o=r;break}if(s=Math.floor(n+(r-n)/2),t[s].created_at<e.created_at)n=s;else{if(!(t[s].created_at>e.created_at)){o=s;break}r=s}}return t[o]?.id!==e.id?[...t.slice(0,o),e,...t.slice(o)]:t}var kt=(t=>(t[t.Metadata=0]="Metadata",t[t.Text=1]="Text",t[t.RecommendRelay=2]="RecommendRelay",t[t.Contacts=3]="Contacts",t[t.EncryptedDirectMessage=4]="EncryptedDirectMessage",t[t.EventDeletion=5]="EventDeletion",t[t.Reaction=7]="Reaction",t[t.ChannelCreation=40]="ChannelCreation",t[t.ChannelMetadata=41]="ChannelMetadata",t[t.ChannelMessage=42]="ChannelMessage",t[t.ChannelHideMessage=43]="ChannelHideMessage",t[t.ChannelMuteUser=44]="ChannelMuteUser",t[t.Report=1984]="Report",t[t.ZapRequest=9734]="ZapRequest",t[t.Zap=9735]="Zap",t[t.RelayList=10002]="RelayList",t[t.ClientAuth=22242]="ClientAuth",t[t.Article=30023]="Article",t))(kt||{});function Qt(t){if("object"!=typeof t||"number"!=typeof t.kind||"string"!=typeof t.content||"number"!=typeof t.created_at||"string"!=typeof t.pubkey||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if("object"==typeof n[r])return!1}return!0}function Jn(t){return ut.verifySync(t.sig,function Yt(t){let e=tt(Ue.encode(function Ls(t){if(!Qt(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}(t)));return re.bytesToHex(e)}(t),t.pubkey)}function Cs(t,e){if(t.ids&&-1===t.ids.indexOf(e.id)||t.kinds&&-1===t.kinds.indexOf(e.kind)||t.authors&&-1===t.authors.indexOf(e.pubkey))return!1;for(let n in t)if("#"===n[0]){let s=t[`#${n.slice(1)}`];if(s&&!e.tags.find(([o,i])=>o===n.slice(1)&&-1!==s.indexOf(i)))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>=t.until)}function St(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,s=t.slice(r).indexOf('"')+r+1;return t.slice(s,s+64)}function er(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,s=t.slice(r),o=Math.min(s.indexOf(","),s.indexOf("}"));return parseInt(s.slice(0,o),10)}function tr(t){let e=t.slice(0,22).indexOf('"EVENT"');if(-1===e)return null;let n=t.slice(e+7+1).indexOf('"');if(-1===n)return null;let r=e+7+1+n,s=t.slice(r+1,80).indexOf('"');return-1===s?null:t.slice(r+1,r+1+s)}function Ds(t,e){return e===St(t,"id")}function qs(t,e){return e===St(t,"pubkey")}function Rs(t,e){return e===er(t,"kind")}function nr(t,e={}){let{listTimeout:n=3e3,getTimeout:r=3e3}=e;var s,p,o={},i={connect:[],disconnect:[],error:[],notice:[]},a={},h={};function b(){return b=c(function*(){return p||(p=new Promise((ee,R)=>{try{s=new WebSocket(t)}catch(ce){R(ce)}s.onopen=()=>{i.connect.forEach(ce=>ce()),ee()},s.onerror=()=>{p=void 0,i.error.forEach(ce=>ce()),R()},s.onclose=c(function*(){p=void 0,i.disconnect.forEach(ce=>ce())});let Q,te=[];function ae(){if(0===te.length)return clearInterval(Q),void(Q=null);var ce=te.shift();if(!ce)return;let de=tr(ce);if(de){let he=o[de];if(he&&he.alreadyHaveEvent&&he.alreadyHaveEvent(St(ce,"id"),t))return}try{let he=JSON.parse(ce);switch(he[0]){case"EVENT":let ve=he[1],Ne=he[2];return void(Qt(Ne)&&o[ve]&&(o[ve].skipVerification||Jn(Ne))&&function Os(t,e){for(let n=0;n<t.length;n++)if(Cs(t[n],e))return!0;return!1}(o[ve].filters,Ne)&&(a[ve]?.event||[]).forEach(ge=>ge(Ne)));case"EOSE":{let ge=he[1];return void(ge in a&&(a[ge].eose.forEach(at=>at()),a[ge].eose=[]))}case"OK":{let ge=he[1],Tt=he[3]||"";return void(ge in h&&(he[2]?h[ge].ok.forEach(hn=>hn()):h[ge].failed.forEach(hn=>hn(Tt)),h[ge].ok=[],h[ge].failed=[]))}case"NOTICE":let Je=he[1];return void i.notice.forEach(ge=>ge(Je))}}catch{return}}s.onmessage=ce=>{te.push(ce.data),Q||(Q=setInterval(ae,0))}}),p)}),b.apply(this,arguments)}function v(){return 1===s?.readyState}function C(){return C=c(function*(){v()||(yield function y(){return b.apply(this,arguments)}())}),C.apply(this,arguments)}function M(ee){return oe.apply(this,arguments)}function oe(){return(oe=c(function*(ee){let R=JSON.stringify(ee);if(v()||(yield new Promise(te=>setTimeout(te,1e3)),v()))try{s.send(R)}catch(te){console.log(te)}})).apply(this,arguments)}const ue=(ee,{skipVerification:R=!1,alreadyHaveEvent:te=null,id:Q=Math.random().toString().slice(2)}={})=>{let ae=Q;return o[ae]={id:ae,filters:ee,skipVerification:R,alreadyHaveEvent:te},M(["REQ",ae,...ee]),{sub:(ce,de={})=>ue(ce||ee,{skipVerification:de.skipVerification||R,alreadyHaveEvent:de.alreadyHaveEvent||te,id:ae}),unsub:()=>{delete o[ae],delete a[ae],M(["CLOSE",ae])},on:(ce,de)=>{a[ae]=a[ae]||{event:[],eose:[]},a[ae][ce].push(de)},off:(ce,de)=>{let he=a[ae],ve=he[ce].indexOf(de);ve>=0&&he[ce].splice(ve,1)}}};return{url:t,sub:ue,on:(ee,R)=>{i[ee].push(R),"connect"===ee&&1===s?.readyState&&R()},off:(ee,R)=>{let te=i[ee].indexOf(R);-1!==te&&i[ee].splice(te,1)},list:(ee,R)=>new Promise(te=>{let Q=ue(ee,R),ae=[],ce=setTimeout(()=>{Q.unsub(),te(ae)},n);Q.on("eose",()=>{Q.unsub(),clearTimeout(ce),te(ae)}),Q.on("event",de=>{ae.push(de)})}),get:(ee,R)=>new Promise(te=>{let Q=ue([ee],R),ae=setTimeout(()=>{Q.unsub(),te(null)},r);Q.on("event",ce=>{Q.unsub(),clearTimeout(ae),te(ce)})}),publish(ee){if(!ee.id)throw new Error(`event ${ee} has no id`);let R=ee.id;return M(["EVENT",ee]),{on:(te,Q)=>{h[R]=h[R]||{ok:[],failed:[]},h[R][te].push(Q)},off:(te,Q)=>{let ae=h[R];if(!ae)return;let ce=ae[te].indexOf(Q);ce>=0&&ae[te].splice(ce,1)}}},connect:function I(){return C.apply(this,arguments)},close(){i={connect:[],disconnect:[],error:[],notice:[]},a={},h={},s.readyState===WebSocket.OPEN&&s?.close()},get status(){return s?.readyState??3}}}Be({},{getHex64:()=>St,getInt:()=>er,getSubscriptionId:()=>tr,matchEventId:()=>Ds,matchEventKind:()=>Rs,matchEventPubkey:()=>qs}),Be({},{decode:()=>rr,naddrEncode:()=>zs,neventEncode:()=>Gs,noteEncode:()=>Ms,nprofileEncode:()=>Fs,npubEncode:()=>Ps,nsecEncode:()=>Ns});var _t,an,ln,it=5e3;function rr(t){let{prefix:e,words:n}=Ee.decode(t,it),r=new Uint8Array(Ee.fromWords(n));switch(e){case"nprofile":{let s=Jt(r);if(!s[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==s[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:re.bytesToHex(s[0][0]),relays:s[1]?s[1].map(o=>Ve.decode(o)):[]}}}case"nevent":{let s=Jt(r);if(!s[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==s[0][0].length)throw new Error("TLV 0 should be 32 bytes");if(s[2]&&32!==s[2][0].length)throw new Error("TLV 2 should be 32 bytes");return{type:"nevent",data:{id:re.bytesToHex(s[0][0]),relays:s[1]?s[1].map(o=>Ve.decode(o)):[],author:s[2]?.[0]?re.bytesToHex(s[2][0]):void 0}}}case"naddr":{let s=Jt(r);if(!s[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!s[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==s[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!s[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==s[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Ve.decode(s[0][0]),pubkey:re.bytesToHex(s[2][0]),kind:parseInt(re.bytesToHex(s[3][0]),16),relays:s[1]?s[1].map(o=>Ve.decode(o)):[]}}}case"nsec":case"npub":case"note":return{type:e,data:re.bytesToHex(r)};default:throw new Error(`unknown prefix ${e}`)}}function Jt(t){let e={},n=t;for(;n.length>0;){let r=n[0],s=n[1],o=n.slice(2,2+s);n=n.slice(2+s),!(o.length<s)&&(e[r]=e[r]||[],e[r].push(o))}return e}function Ns(t){return en("nsec",t)}function Ps(t){return en("npub",t)}function Ms(t){return en("note",t)}function en(t,e){let n=re.hexToBytes(e),r=Ee.toWords(n);return Ee.encode(t,r,it)}function Fs(t){let e=tn({0:[re.hexToBytes(t.pubkey)],1:(t.relays||[]).map(r=>Ue.encode(r))}),n=Ee.toWords(e);return Ee.encode("nprofile",n,it)}function Gs(t){let e=tn({0:[re.hexToBytes(t.id)],1:(t.relays||[]).map(r=>Ue.encode(r)),2:t.author?[re.hexToBytes(t.author)]:[]}),n=Ee.toWords(e);return Ee.encode("nevent",n,it)}function zs(t){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,t.kind,!1);let n=tn({0:[Ue.encode(t.identifier)],1:(t.relays||[]).map(s=>Ue.encode(s)),2:[re.hexToBytes(t.pubkey)],3:[new Uint8Array(e)]}),r=Ee.toWords(n);return Ee.encode("naddr",r,it)}function tn(t){let e=[];return Object.entries(t).forEach(([n,r])=>{r.forEach(s=>{let o=new Uint8Array(s.length+2);o.set([parseInt(n)],0),o.set([s.length],1),o.set(s,2),e.push(o)})}),re.concatBytes(...e)}function Vs(t,e,n){return nn.apply(this,arguments)}function nn(){return nn=c(function*(t,e,n){const s=sr(gn(t,"02"+e));let o=Uint8Array.from(function vr(t=32){if(ft.web)return ft.web.getRandomValues(new Uint8Array(t));if(ft.node)return new Uint8Array(ft.node.randomBytes(t).buffer);throw new Error("The environment doesn't have randomBytes function")}(16)),i=Ue.encode(n),a=yield crypto.subtle.importKey("raw",s,{name:"AES-CBC"},!1,["encrypt"]),h=yield crypto.subtle.encrypt({name:"AES-CBC",iv:o},a,i);return`${rt.encode(new Uint8Array(h))}?iv=${rt.encode(new Uint8Array(o.buffer))}`}),nn.apply(this,arguments)}function Zs(t,e,n){return rn.apply(this,arguments)}function rn(){return rn=c(function*(t,e,n){let[r,s]=n.split("?iv="),i=sr(gn(t,"02"+e)),a=yield crypto.subtle.importKey("raw",i,{name:"AES-CBC"},!1,["decrypt"]),h=rt.decode(r),p=rt.decode(s),y=yield crypto.subtle.decrypt({name:"AES-CBC",iv:p},a,h);return Ve.decode(y)}),rn.apply(this,arguments)}function sr(t){return t.slice(1,33)}Be({},{decrypt:()=>Zs,encrypt:()=>Vs}),Be({},{queryProfile:()=>Js,searchDomain:()=>Qs,useFetchImplementation:()=>Ys});try{_t=fetch}catch{}function Ys(t){_t=t}function Qs(t){return sn.apply(this,arguments)}function sn(){return sn=c(function*(t,e=""){try{return(yield(yield _t(`https://${t}/.well-known/nostr.json?name=${e}`)).json()).names}catch{return{}}}),sn.apply(this,arguments)}function Js(t){return on.apply(this,arguments)}function on(){return on=c(function*(t){let r,[e,n]=t.split("@");if(n||(n=e,e="_"),!e.match(/^[A-Za-z0-9-_]+$/)||!n.includes("."))return null;try{r=yield(yield _t(`https://${n}/.well-known/nostr.json?name=${e}`)).json()}catch{return null}if(!r?.names?.[e])return null;let s=r.names[e];return{pubkey:s,relays:r.relays?.[s]||[]}}),on.apply(this,arguments)}function to(t,e){let r=Ke.fromMasterSeed((0,jt.Z1)(t,e)).derive("m/44'/1237'/0'/0/0").privateKey;if(!r)throw new Error("could not derive private key");return re.bytesToHex(r)}function no(){return(0,jt.OF)(jn.U)}function ro(t){return(0,jt._I)(t,jn.U)}function oo(t){const e={reply:void 0,root:void 0,mentions:[],profiles:[]},n=[];for(const r of t.tags)"e"===r[0]&&r[1]&&n.push(r),"p"===r[0]&&r[1]&&e.profiles.push({pubkey:r[1],relays:r[2]?[r[2]]:[]});for(let r=0;r<n.length;r++){const s=n[r],[o,i,a,h]=s,p={id:i,relays:a?[a]:[]},b=r===n.length-1;"root"!==h?"reply"!==h?"mention"!==h?0===r?e.root=p:b?e.reply=p:e.mentions.push(p):e.mentions.push(p):e.reply=p:e.root=p}return e}function ao(t,e){let n=[];(e.kind||-1)>=0&&n.push(`kind=${e.kind}`),e.until&&n.push(`created_at<${e.until}`),e.since&&n.push(`created_at>${e.since}`);let r=n.join("&");if(""===r)throw new Error("refusing to create a delegation without any conditions");let s=tt(Ue.encode(`nostr:delegation:${e.pubkey}:${r}`)),o=re.bytesToHex(ut.signSync(s,t));return{from:Qn(t),to:e.pubkey,cond:r,sig:o}}function co(t){let e=t.tags.find(a=>"delegation"===a[0]&&a.length>=4);if(!e)return null;let n=e[1],r=e[2],s=e[3],o=r.split("&");for(let a=0;a<o.length;a++){let[h,p,y]=o[a].split(/\b/);if("kind"!==h||"="!==p||t.kind!==parseInt(y)){if("created_at"===h&&"<"===p&&t.created_at<parseInt(y))continue;if("created_at"===h&&">"===p&&t.created_at>parseInt(y))continue;return null}}let i=tt(Ue.encode(`nostr:delegation:${t.pubkey}:${r}`));return ut.verifySync(s,i,n)?n:null}Be({},{generateSeedWords:()=>no,privateKeyFromSeedWords:()=>to,validateWords:()=>ro}),Be({},{parse:()=>oo}),Be({},{createDelegation:()=>ao,getDelegator:()=>co}),Be({},{useFetchImplementation:()=>uo,validateGithub:()=>ho});try{an=fetch}catch{}function uo(t){an=t}function ho(t,e,n){return cn.apply(this,arguments)}function cn(){return cn=c(function*(t,e,n){try{return(yield(yield an(`https://gist.github.com/${e}/${n}/raw`)).text())===`Verifying that I control the following Nostr public key: ${t}`}catch{return!1}}),cn.apply(this,arguments)}Be({},{getZapEndpoint:()=>bo,makeZapReceipt:()=>wo,makeZapRequest:()=>yo,useFetchImplementation:()=>po,validateZapRequest:()=>go});try{ln=fetch}catch{}function po(t){ln=t}function bo(t){return un.apply(this,arguments)}function un(){return un=c(function*(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(n){let{words:i}=Ee.decode(n,1e3),a=Ee.fromWords(i);e=Ve.decode(a)}else{if(!r)return null;{let[i,a]=r.split("@");e=`https://${a}/.well-known/lnurlp/${i}`}}let o=yield(yield ln(e)).json();if(o.allowsNostr&&o.nostrPubkey)return o.callback}catch{}return null}),un.apply(this,arguments)}function yo({profile:t,event:e,amount:n,relays:r,comment:s=""}){if(!n)throw new Error("amount not given");if(!t)throw new Error("profile not given");let o={kind:9734,created_at:Math.round(Date.now()/1e3),content:s,tags:[["p",t],["amount",n.toString()],["relays",...r]]};return e&&o.tags.push(["e",e]),o}function go(t){let e;try{e=JSON.parse(t)}catch{return"Invalid zap request JSON."}if(!Qt(e))return"Zap request is not a valid Nostr event.";if(!Jn(e))return"Invalid signature on zap request.";let n=e.tags.find(([o,i])=>"p"===o&&i);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([o,i])=>"e"===o&&i);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([o,i])=>"relays"===o&&i)?null:"Zap request doesn't have a 'relays' tag."}function wo({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let o=JSON.parse(t).tags.filter(([a])=>"e"===a||"p"===a||"a"===a),i={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...o,["bolt11",n],["description",t]]};return e&&i.tags.push(["preimage",e]),i}re.hmacSha256Sync=(t,...e)=>Yn(tt,t,re.concatBytes(...e)),re.sha256Sync=(...t)=>tt(re.concatBytes(...t));class mo{constructor(){this.queues={profile:{active:!1,jobs:[]},event:{active:!1,jobs:[]},article:{active:!1,jobs:[]},badgedefinition:{active:!1,jobs:[]},contacts:{active:!1,jobs:[]},subscriptions:{active:!1,jobs:[]}}}enqueProfile(e){this.queues.profile.jobs.push({identifier:e,type:"Profile"})}enqueEvent(e){this.queues.event.jobs.push({identifier:e,type:"Event"})}enqueContacts(e){this.queues.contacts.jobs.push({identifier:e,type:"Contacts"})}enque(e,n){"Profile"===n?this.enqueProfile(e):"Event"===n?this.enqueEvent(e):"Contacts"===n&&this.enqueContacts(e)}}class xo{constructor(e){this.url=e,this.subscriptions=[],this.queue=new mo}publish(e){var n=this;return c(function*(){if(e.kind==kt.Article||30008==e.kind||30009==e.kind){if(!n.relay.nip11)return void console.log(`${n.relay.url}: This relay does not return NIP-11 metadata. Article/Badge will not be published here.`);if(!n.relay.nip11.supported_nips.includes(33))return void console.log(`${n.relay.url}: This relay does not NIP-23. Article/Badge will not be published here.`);console.log(`${n.relay.url}: This relay supports NIP-23. Publishing article/badge on this relay.`)}let r=n.relay.publish(e);r.on("ok",()=>{console.log(`${n.relay.url} has accepted our event`)}),r.on("failed",s=>{console.log(`failed to publish to ${n.relay.url}: ${s}`),postMessage({type:"failure",data:s,url:n.relay.url})})})()}enque(e){if("Profile"==e.type)this.queue.queues.profile.jobs.push(e);else if("Contacts"==e.type)this.queue.queues.contacts.jobs.push(e);else if("Event"==e.type)this.queue.queues.event.jobs.push(e);else if("Article"==e.type)this.queue.queues.article.jobs.push(e);else{if("BadgeDefinition"!=e.type)throw Error(`This type of job (${e.type}) is currently not supported.`);this.queue.queues.badgedefinition.jobs.push(e)}console.log(`${this.url}: Job enqued...processing...`),setTimeout(()=>{this.process()},500)}process(){this.processArticle(),this.processBadgeDefinition(),this.processProfiles(),this.processContacts(),this.processEvents(),this.processSubscriptions()}processSubscriptions(){if(this.relay&&1==this.relay.status&&0!=this.queue.queues.subscriptions.jobs.length)for(;this.queue.queues.subscriptions.jobs.length;){const e=this.queue.queues.subscriptions.jobs.shift();e&&this.subscribe(e.filters,e.id)}}processProfiles(){if(!this.relay||1!=this.relay.status||this.queue.queues.profile.active)return void console.log(`${this.url}: processProfiles: Relay not ready or currently active: ${this.queue.queues.profile.active}.`,this.relay);if(0==this.queue.queues.profile.jobs.length)return void(this.queue.queues.profile.active=!1);this.queue.queues.profile.active=!0;const e=this.queue.queues.profile.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);this.downloadProfile(e,3*e.length)}processContacts(){if(!this.relay||1!=this.relay.status||this.queue.queues.contacts.active)return;if(0==this.queue.queues.contacts.jobs.length)return void(this.queue.queues.contacts.active=!1);this.queue.queues.contacts.active=!0;const e=this.queue.queues.contacts.jobs.shift();this.downloadContacts(e.identifier,()=>{this.queue.queues.contacts.active=!1,this.processContacts()})}processEvents(){if(!this.relay||1!=this.relay.status||this.queue.queues.event.active)return void console.log(`${this.url}: processEvents: Relay not ready or currently active: ${this.queue.queues.event.active}.`,this.relay);if(console.log(`${this.url}: processEvents: Processing with downloading... Count: `+this.queue.queues.event.jobs.length),0==this.queue.queues.event.jobs.length)return void(this.queue.queues.event.active=!1);this.queue.queues.event.active=!0,console.log(this.relay);const e=this.queue.queues.event.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);console.log("eventsToDownload:",e),this.downloadEvent(e,3*e.length)}processArticle(){if(!this.relay||1!=this.relay.status||this.queue.queues.article.active)return void console.log(`${this.url}: processArticle: Relay not ready or currently active: ${this.queue.queues.article.active}.`,this.relay);if(console.log(`${this.url}: processArticle: Processing with downloading... Count: `+this.queue.queues.article.jobs.length),0==this.queue.queues.article.jobs.length)return void(this.queue.queues.article.active=!1);this.queue.queues.article.active=!0,console.log(this.relay);const e=this.queue.queues.article.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);console.log("articleToDownload:",e),this.downloadArticle(e,3*e.length)}processBadgeDefinition(){if(!this.relay||1!=this.relay.status||this.queue.queues.badgedefinition.active)return void console.log(`${this.url}: processBadgeDefinition: Relay not ready or currently active: ${this.queue.queues.badgedefinition.active}.`,this.relay);if(console.log(`${this.url}: processBadgeDefinition: Processing with downloading... Count: `+this.queue.queues.badgedefinition.jobs.length),0==this.queue.queues.badgedefinition.jobs.length)return void(this.queue.queues.badgedefinition.active=!1);this.queue.queues.badgedefinition.active=!0,console.log(this.relay);const e=this.queue.queues.badgedefinition.jobs.splice(0,500).map(n=>n.identifier).filter((n,r,s)=>s.indexOf(n)===r);console.log("badgeDefinitionsToDownload:",e),this.downloadBadgeDefinition(e,3*e.length)}connect(e){var n=this;return c(function*(){const r=nr(n.url);n.relay=r,r.on("connect",c(function*(){console.log(`${n.url}: Connected.`),postMessage({type:"status",data:1,url:r.url}),e?(yield n.publish(e),n.disconnect(),postMessage({type:"terminated",url:n.url})):n.process()})),r.on("disconnect",()=>{console.log(`${n.url}: DISCONNECTED!`),n.subscriptions=[],postMessage({type:"status",data:0,url:r.url})}),r.on("notice",s=>{console.log(`${n.url}: NOTICE: ${s}`),postMessage({type:"notice",data:s,url:r.url})});try{yield r.connect()}catch{postMessage({type:"error",relay:n.url,error:"Unable to connect."}),console.error("Unable to connect.")}})()}disconnect(){1==this.relay.status&&(console.log(`${this.url}: relay.status: ${this.relay.status}, calling close!`),this.relay.close())}unsubscribe(e){const n=this.subscriptions.findIndex(s=>s.id===e);if(-1==n)return;const r=this.subscriptions[n];this.subscriptions.splice(n,1),r.sub?.unsub(),console.log("Unsubscribed: ",e)}clearProfileSub(){this.profileSub?.unsub(),this.profileSub=void 0}clearContactsSub(){this.contactsSub?.unsub(),this.contactsSub=void 0}clearEventSub(){this.eventSub?.unsub(),this.eventSub=void 0}clearArticleSub(){this.articleSub?.unsub(),this.articleTimer=void 0}clearBadgeDefinitionSub(){this.badgeDefinitionSub?.unsub(),this.badgeDefinitionTimer=void 0}downloadProfile(e,n=12){if(console.log("DOWNLOAD PROFILE...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.profileSub&&(console.log("Profile sub already existed, unsub before continue."),this.clearProfileSub());const s=this.relay.sub([{kinds:[0],authors:e}]);this.profileSub=s,s.on("event",o=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:o}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),s.on("eose",()=>{console.log("eose on profile, profile likely not found."),clearTimeout(this.profileTimer),this.clearProfileSub(),this.queue.queues.profile.active=!1,this.processProfiles()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.profileTimer=setTimeout(()=>{console.warn(`${this.url}: Profile download timeout reached.`),this.clearProfileSub(),this.queue.queues.profile.active=!1,this.processProfiles(),postMessage({url:this.url,type:"timeout",data:{type:"Profile",identifier:e}})},1e3*n)}downloadContacts(e,n,r=3e3){console.log("DOWNLOAD CONTACTS....");let s=!1;if(!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.contactsSub&&this.clearContactsSub();const o=this.relay.sub([{kinds:[3],authors:[e]}]);this.contactsSub=o,o.on("event",i=>{postMessage({url:this.url,type:"event",data:i}),this.clearContactsSub(),clearTimeout(this.contactsTimer),s||(s=!0,n())}),this.contactsTimer=setTimeout(()=>{this.clearContactsSub(),s||(s=!0,n())},1e3*r)}downloadArticle(e,n=12){if(console.log("DOWNLOAD ARTICLE...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.articleSub&&(console.log("Article sub already existed, unsub before continue."),this.clearArticleSub());const o=this.relay.sub([{kinds:[kt.Article],authors:e}]);this.articleSub=o,o.on("event",i=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:i}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),o.on("eose",()=>{console.log("eose on event."),clearTimeout(this.articleTimer),this.clearArticleSub(),this.queue.queues.article.active=!1,this.processArticle()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.articleTimer=setTimeout(()=>{console.warn(`${this.url}: Event download timeout reached.`),this.clearArticleSub(),this.queue.queues.article.active=!1,this.processArticle(),postMessage({url:this.url,type:"timeout",data:{type:"Event",identifier:e}})},1e3*n)}downloadBadgeDefinition(e,n=12){if(console.log("DOWNLOAD BADGE DEFINITION...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.badgeDefinitionSub&&(console.log("Article sub already existed, unsub before continue."),this.clearBadgeDefinitionSub());const r=[];for(let o=0;o<e.length;o++){const i=e[o],h=i.split(":")[1],p=i.replace("30009:","").replace(h+":","");r.push({kinds:[30009],authors:[h],"#d":[p]})}const s=this.relay.sub(r);this.badgeDefinitionSub=s,s.on("event",o=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:o}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),s.on("eose",()=>{console.log("eose on event."),clearTimeout(this.badgeDefinitionTimer),this.clearBadgeDefinitionSub(),this.queue.queues.badgedefinition.active=!1,this.processBadgeDefinition()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.badgeDefinitionTimer=setTimeout(()=>{console.warn(`${this.url}: Event download timeout reached.`),this.clearBadgeDefinitionSub(),this.queue.queues.badgedefinition.active=!1,this.processBadgeDefinition(),postMessage({url:this.url,type:"timeout",data:{type:"Event",identifier:e}})},1e3*n)}download(e,n,r="Event",s=12){if(!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");let o=this.relay.sub(e);o.on("event",a=>{postMessage({url:this.url,type:"event",data:a,subscription:n})}),o.on("eose",()=>{clearTimeout(i),o&&(o.unsub(),o=void 0)});const i=setTimeout(()=>{o&&(o.unsub(),o=void 0),postMessage({url:this.url,type:"timeout",data:{type:r,filters:e}})},1e3*s)}downloadEvent(e,n=12){if(console.log("DOWNLOAD EVENT...."),!this.relay)return void console.warn("This relay does not have active connection and download cannot be executed at this time.");this.eventSub&&(console.log("Event sub already existed, unsub before continue."),this.clearEventSub());const o=this.relay.sub([{kinds:[kt.Text],ids:e}]);this.eventSub=o,o.on("event",i=>{console.log("POST MESSAGE BACK TO MAIN"),postMessage({url:this.url,type:"event",data:i}),console.log("FINISHED POST MESSAGE BACK TO MAIN")}),o.on("eose",()=>{console.log("eose on event."),clearTimeout(this.eventTimer),this.clearEventSub(),this.queue.queues.event.active=!1,this.processEvents()}),console.log("REGISTER TIMEOUT!!",1e3*n),this.eventTimer=setTimeout(()=>{console.warn(`${this.url}: Event download timeout reached.`),this.clearEventSub(),this.queue.queues.event.active=!1,this.processEvents(),postMessage({url:this.url,type:"timeout",data:{type:"Event",identifier:e}})},1e3*n)}subscribe(e,n){if(!this.relay||1!=this.relay.status)return this.queue.queues.subscriptions.jobs.push({id:n,filters:e,type:"Event",events:[]}),void console.warn("This relay does not have active connection and subscription cannot be created at this time. Subscription has been scheduled for adding later.");if(this.subscriptions.findIndex(s=>s.id==n)>-1)return void console.log("This subscription is already added!");const r=this.relay.sub(e);console.log("SUBSCRIPTION:",r),this.subscriptions.push({id:n,filters:e,sub:r,type:"Event",events:[]}),r.on("event",s=>{postMessage({url:this.url,subscription:n,type:"event",data:s})}),r.on("eose",()=>{console.log("eose on:",this.url)})}info(){var e=this;return c(function*(){try{const n=new URL(e.url),s=`${"ws:"===n.protocol?"http":"https"}://${n.host}`,o=yield fetch(s,{method:"GET",mode:"cors",headers:{Accept:"application/nostr+json"}});if(200===o.status){const i=yield o.json();e.relay.nip11=i,postMessage({type:"nip11",data:i,url:e.url})}else postMessage({type:"nip11",data:{error:`Unable to get NIP-11 data. Status: ${o.statusText}`},url:e.url})}catch(n){console.warn(n),postMessage({type:"nip11",data:{error:`Unable to get NIP-11 data. Status: ${n}`},url:e.url})}})()}}let we;addEventListener("message",function(){var t=c(function*(e){const n=e.data;switch(n.type){case"connect":if(we&&we.relay&&1==we.relay.status){console.log("Already connected...");break}we=new xo(n.data.url),yield we.connect(n.data.event),yield we.info();break;case"disconnect":we.disconnect();break;case"publish":yield we.publish(n.data);break;case"enque":yield we.enque(n.data);break;case"subscribe":yield we.subscribe(n.data.filters,n.data.id);break;case"download":yield we.download(n.data.filters,n.data.id,n.data.type);break;case"unsubscribe":yield we.unsubscribe(n.data);break;case"terminate":try{we.disconnect()}catch(r){console.error("Error during disconnect.",r)}console.log(`${we.url}: Sending 'terminated' event.`),postMessage({type:"terminated",url:we.url})}});return function(e){return t.apply(this,arguments)}}())})()})();