1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3366],{12238:function(e,t,r){"use strict";function i(){return(null===r.g||void 0===r.g?void 0:r.g.crypto)||(null===r.g||void 0===r.g?void 0:r.g.msCrypto)||{}}function s(){let e=i();return e.subtle||e.webkitSubtle}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowserCryptoAvailable=t.getSubtleCrypto=t.getBrowerCrypto=void 0,t.getBrowerCrypto=i,t.getSubtleCrypto=s,t.isBrowserCryptoAvailable=function(){return!!i()&&!!s()}},33531:function(e,t,r){"use strict";var i=r(40257);function s(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function n(){return void 0!==i&&void 0!==i.versions&&void 0!==i.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=s,t.isNode=n,t.isBrowser=function(){return!s()&&!n()}},13303:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(45161);i.__exportStar(r(12238),t),i.__exportStar(r(33531),t)},45161:function(e,t,r){"use strict";r.r(t),r.d(t,{__assign:function(){return n},__asyncDelegator:function(){return v},__asyncGenerator:function(){return w},__asyncValues:function(){return E},__await:function(){return b},__awaiter:function(){return h},__classPrivateFieldGet:function(){return P},__classPrivateFieldSet:function(){return S},__createBinding:function(){return d},__decorate:function(){return a},__exportStar:function(){return p},__extends:function(){return s},__generator:function(){return u},__importDefault:function(){return D},__importStar:function(){return _}
vendor: 5,306 bytes, line 1
1,__makeTemplateObject:function(){return I},__metadata:function(){return l},__param:function(){return c},__read:function(){return g},__rest:function(){return o},__spread:function(){return y},__spreadArrays:function(){return m},__values:function(){return f}});var i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function s(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var n=function(){return(n=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function o(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)0>t.indexOf(i[s])&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]]);return r}function a(e,t,r,i){var s,n=arguments.length,o=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(n<3?s(o):n>3?s(t,r,o):s(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o}function c(e,t){return function(r,i){t(r,i,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function h(e,t,r,i){return new(r||(r=Promise))(function(s,n){function o(e){try{c(i.next(e))}catch(e){n(e)}}function a(e){try{c(i.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?s(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((i=i.apply(e,t||[])).next())})}function u(e,t){var r,i,s,n,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return n={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function a(n){return function(a){return function(n){if(r)throw TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(s=2&n[0]?i.return:n[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,n[1])).done)return s;switch(i=0,s&&(n=[2&n[0],s.value]),n[0]){case 0:case 1:s=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(s=(s=o.trys).length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){o=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){o.label=n[1];break}if(6===n[0]&&o.label<s[1]){o.label=s[1],s=n;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(n);break}s[2]&&o.ops.pop(),o.trys.pop();continue}n=t.call(e,o)}catch(e){n=[6,e],i=0}finally{r=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,a])}}}function d(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}function p(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,s,n=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var i=Array(e),s=0,t=0;t<r;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,s++)i[s]=n[o];return i}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function w(e,t,r){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var i,s=r.apply(e,t||[]),n=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){s[e]&&(i[e]=function(t){return new Promise(function(r,i){n.push([e,t,r,i])>1||a(e,t)})})}function a(e,t){try{var r;(r=s[e](t)).value instanceof b?Promise.resolve(r.value.v).then(c,l):h(n[0][2],r)}catch(e){h(n[0][3],e)}}function c(e){a("next",e)}function l(e){a("throw",e)}function h(e,t){e(t),n.shift(),n.length&&a(n[0][0],n[0][1])}}function v(e){var t,r;return t={},i("next"),i("throw",function(e){throw e}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,s){t[i]=e[i]?function(t){return(r=!r)?{value:b(e[i](t)),done:"return"===i}:s?s(t):t}:s}}function E(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=f(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,s){!function(e,t,r,i){Promise.resolve(i).then(function(t){e({value:t,done:r})},t)}(i,s,(t=e[r](t)).done,t.value)})}}}function I(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
1function _(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function D(e){return e&&e.__esModule?e:{default:e}}function P(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,r){if(!t.has(e))throw TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},53366:function(e,t,r){"use strict";r.d(t,{EthereumProvider:function(){return hj}});var i=r(55445),s=r.n(i),n=r(65383),o=r(40537),a=r(76454),c=r(3897);let l="2.23.2",h={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${l}`};class u extends Error{constructor(e,t={}){let r=t.cause instanceof u?t.cause.details:t.cause?.message?t.cause.message:t.details,i=t.cause instanceof u&&t.cause.docsPath||t.docsPath,s=h.getDocsUrl?.({...t,docsPath:i});super([e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...h.version?[`Version: ${h.version}`]:[]].join("\n"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=i,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=l}walk(e){return function e(t,r){return r?.(t)?t:t&&"object"==typeof t&&"cause"in t&&void 0!==t.cause?e(t.cause,r):r?null:t}(this,e)}}function d(e,{strict:t=!0}={}){return!!e&&"string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x"))}class p extends u{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function f(e,{dir:t,size:r=32}={}){return"string"==typeof e?function(e,{dir:t,size:r=32}={}){if(null===r)return e;let i=e.replace("0x","");if(i.length>2*r)throw new p({size:Math.ceil(i.length/2),targetSize:r,type:"hex"});return`0x${i["right"===t?"padEnd":"padStart"](2*r,"0")}`}(e,{dir:t,size:r}):function(e,{dir:t,size:r=32}={}){if(null===r)return e;if(e.length>r)throw new p({size:e.length,targetSize:r,type:"bytes"});let i=new Uint8Array(r);for(let s=0;s<r;s++){let n="right"===t;i[n?s:r-s-1]=e[n?s:e.length-s-1]}return i}(e,{dir:t,size:r})}class g extends u{constructor({max:e,min:t,signed:r,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${8*i}-bit ${r?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class y extends u{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function m(e){return d(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function b(e,{size:t}){if(m(e)>t)throw new y({givenSize:m(e),maxSize:t})}function w(e,t={}){let{signed:r}=t;t.size&&b(e,{size:t.size});let i=BigInt(e);if(!r)return i;let s=(e.length-2)/2;return i<=(1n<<8n*BigInt(s)-1n)-1n?i:i-BigInt(`0x${"f".padStart(2*s,"f")}`)-1n}let v=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function E(e,t={}){return"number"==typeof e||"bigint"==typeof e?_(e,t):"string"==typeof e?function(e,t={}){return I(D.encode(e),t)}(e,t):"boolean"==typeof e?function(e,t={}){let r=`0x${Number(e)}`;return"number"==typeof t.size?(b(r,{size:t.size}),f(r,{size:t.size})):r}(e,t):I(e,t)}function I(e,t={}){let r="";for(let t=0;t<e.length;t++)r+=v[e[t]];let i=`0x${r}`;return"number"==typeof t.size?(b(i,{size:t.size}),f(i,{dir:"right",size:t.size})):i}function _(e,t={}){let r;let{signed:i,size:s}=t,n=BigInt(e);s?r=i?(1n<<8n*BigInt(s)-1n)-1n:2n**(8n*BigInt(s))-1n:"number"==typeof e&&(r=BigInt(Number.MAX_SAFE_INTEGER));let o="bigint"==typeof r&&i?-r-1n:0;if(r&&n>r||n<o){let t="bigint"==typeof e?"n":"";throw new g({max:r?`${r}${t}`:void 0,min:`${o}${t}`,signed:i,size:s,value:`${e}${t}`})}let a=`0x${(i&&n<0?(1n<<BigInt(8*s))+BigInt(n):n).toString(16)}`;return s?f(a,{size:s}):a}let D=new TextEncoder,P=new TextEncoder,S={zero:48,nine:57,A:65,F:70,a:97,f:102};function O(e){return e>=S.zero&&e<=S.nine?e-S.zero:e>=S.A&&e<=S.F?e-(S.A-10):e>=S.a&&e<=S.f?e-(S.a-10):void 0}function x(e,t={}){let r=e;t.size&&(b(r,{size:t.size}),r=f(r,{dir:"right",size:t.size}));let i=r.slice(2);i.length%2&&(i=`0${i}`);let s=i.length/2,n=new Uint8Array(s);for(let e=0,t=0;e<s;e++){let r=O(i.charCodeAt(t++)),s=O(i.charCodeAt(t++));if(void 0===r||void 0===s)throw new u(`Invalid byte sequence ("${i[t-2]}${i[t-1]}" in "${i}").`);n[e]=16*r+s}return n}function C(e,t={}){let r=P.encode(e);return"number"==typeof t.size?(b(r,{size:t.size}),f(r,{dir:"right",size:t.size})):r}var A=r(85689);let R=BigInt(4294967296-1),T=BigInt(32),N=(e,t,r)=>e<<r|t>>>32-r,j=(e,t,r)=>t<<r|e>>>32-r,k=(e,t,r)=>t<<r-32|e>>>64-r,L=(e,t,r)=>e<<r-32|t>>>64-r;var U=r(38043);let B=[],q=[],M=[],$=BigInt(0),z=BigInt(1),F=BigInt(2),H=BigInt(7),V=BigInt(256),K=BigInt(113);for(let e=0,t=z,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],B.push(2*(5*i+r)),q.push((e+1)*(e+2)/2%64);let s=$;for(let e=0;e<7;e++)(t=(t<<z^(t>>H)*K)%V)&F&&(s^=z<<(z<<BigInt(e))-z);M.push(s)}let[W,J]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&R),l:Number(e>>T&R)}:{h:0|Number(e>>T&R),l:0|Number(e&R)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]}(M,!0),G=(e,t,r)=>r>32?k(e,t,r):N(e,t,r),Y=(e,t,r)=>r>32?L(e,t,r):j(e,t,r);class Z extends U.kb{constructor(e,t,r,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,A.k8)(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,U.Jq)(this.state)}keccak(){U.iA||(0,U.l1)(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let i=(t+8)%10,s=(t+2)%10,n=r[s],o=r[s+1],a=G(n,o,1)^r[i],c=Y(n,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){let i=q[r],n=G(t,s,i),o=Y(t,s,i),a=B[r];t=e[a],s=e[a+1],e[a]=n,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=W[i],e[1]^=J[i]}r.fill(0)}(this.state32,this.rounds),U.iA||(0,U.l1)(this.state32),this.posOut=0,this.pos=0}update(e){(0,A.$h)(this);let{blockLen:t,state:r}=this,i=(e=(0,U.O0)(e)).length;for(let s=0;s<i;){let n=Math.min(t-this.pos,i-s);for(let t=0;t<n;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,(128&t)!=0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){(0,A.$h)(this,!1),(0,A.gk)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+n),i),this.posOut+=n,i+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return(0,A.k8)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,A.eB)(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:s,enableXOF:n}=this;return e||(e=new Z(t,r,i,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=n,e.destroyed=this.destroyed,e}}let Q=(0,U.hE)(()=>new Z(136,1,32));function X(e,t){let r=Q(d(e,{strict:!1})?function(e,t={}){return"number"==typeof e||"bigint"==typeof e?x(_(e,t)):"boolean"==typeof e?function(e,t={}){let r=new Uint8Array(1);return(r[0]=Number(e),"number"==typeof t.size)?(b(r,{size:t.size}),f(r,{size:t.size})):r}(e,t):d(e)?x(e,t):C(e,t)}(e):e);return"bytes"===(t||"hex")?r:E(r)}class ee extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}let et=new ee(8192);async function er({hash:e,signature:t}){let i=d(e)?e:E(e),{secp256k1:s}=await r.e(2851).then(r.bind(r,72851)),n=(()=>
1{if("object"==typeof t&&"r"in t&&"s"in t){let{r:e,s:r,v:i,yParity:n}=t,o=ei(Number(n??i));return new s.Signature(w(e),w(r)).addRecoveryBit(o)}let e=d(t)?t:E(t),r=ei(function(e,t={}){return Number(w(e,t))}(`0x${e.slice(130)}`));return s.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(r)})().recoverPublicKey(i.substring(2)).toHex(!1);return`0x${n}`}function ei(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw Error("Invalid yParityOrV value")}async function es({hash:e,signature:t}){return function(e){let t=X(`0x${e.substring(4)}`).substring(26);return function(e,t){if(et.has(`${e}.undefined`))return et.get(`${e}.undefined`);let r=e.substring(2).toLowerCase(),i=X(C(r),"bytes"),s=(t?r.substring(`${t}0x`.length):r).split("");for(let e=0;e<40;e+=2)i[e>>1]>>4>=8&&s[e]&&(s[e]=s[e].toUpperCase()),(15&i[e>>1])>=8&&s[e+1]&&(s[e+1]=s[e+1].toUpperCase());let n=`0x${s.join("")}`;return et.set(`${e}.${t}`,n),n}(`0x${t}`)}(await er({hash:e,signature:t}))}var en=function(e){if(e.length>=255)throw TypeError("Alphabet too long");let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let r=0;r<e.length;r++){let i=e.charAt(r),s=i.charCodeAt(0);if(255!==t[s])throw TypeError(i+" is ambiguous");t[s]=r}let r=e.length,i=e.charAt(0),s=Math.log(r)/Math.log(256),n=Math.log(256)/Math.log(r);function o(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;let n=0,o=0,a=0;for(;e[n]===i;)o++,n++;let c=(e.length-n)*s+1>>>0,l=new Uint8Array(c);for(;n<e.length;){let i=e.charCodeAt(n);if(i>255)return;let s=t[i];if(255===s)return;let o=0;for(let e=c-1;(0!==s||o<a)&&-1!==e;e--,o++)s+=r*l[e]>>>0,l[e]=s%256>>>0,s=s/256>>>0;if(0!==s)throw Error("Non-zero carry");a=o,n++}let h=c-a;for(;h!==c&&0===l[h];)h++;let u=new Uint8Array(o+(c-h)),d=o;for(;h!==c;)u[d++]=l[h++];return u}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";let s=0,o=0,a=0,c=t.length;for(;a!==c&&0===t[a];)a++,s++;let l=(c-a)*n+1>>>0,h=new Uint8Array(l);for(;a!==c;){let e=t[a],i=0;for(let t=l-1;(0!==e||i<o)&&-1!==t;t--,i++)e+=256*h[t]>>>0,h[t]=e%r>>>0,e=e/r>>>0;if(0!==e)throw Error("Non-zero carry");o=i,a++}let u=l-o;for(;u!==l&&0===h[u];)u++;let d=i.repeat(s);for(;u<l;++u)d+=e.charAt(h[u]);return d},decodeUnsafe:o,decode:function(e){let t=o(e);if(t)return t;throw Error("Non-base"+r+" character")}}}("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),eo=r(46633),ea=r(6208),ec=r(21086),el=r(40257),eh=r(82957).lW;function eu(e){let[t,r]=e.split(":");return{namespace:t,reference:r}}function ed(e,t=[]){let r=[];return Object.keys(e).forEach(i=>{if(t.length&&!t.includes(i))return;let s=e[i];r.push(...s.accounts)}),r}function ep(e,t){return e.includes(":")?[e]:t.chains||[]}var ef=Object.defineProperty,eg=Object.defineProperties,ey=Object.getOwnPropertyDescriptors,em=Object.getOwnPropertySymbols,eb=Object.prototype.hasOwnProperty,ew=Object.prototype.propertyIsEnumerable,ev=(e,t,r)=>t in e?ef(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eE=(e,t)=>{for(var r in t||(t={}))eb.call(t,r)&&ev(e,r,t[r]);if(em)for(var r of em(t))ew.call(t,r)&&ev(e,r,t[r]);return e},eI=(e,t)=>eg(e,ey(t));let e_={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function eD(){return"u">typeof el&&"u">typeof el.versions&&"u">typeof el.versions.node}function eP(){return!(0,a.getDocument)()&&!!(0,a.getNavigator)()&&"ReactNative"===navigator.product}function eS(){return!eD()&&!!(0,a.getNavigator)()&&!!(0,a.getDocument)()}function eO(){return eP()?e_.reactNative:eD()?e_.node:eS()?e_.browser:e_.unknown}function ex(){var e;try{return eP()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Application)?null==(e=r.g.Application)?void 0:e.applicationId:void 0}catch{return}}function eC(){return(0,c.D)()||{name:"",description:"",url:"",icons:[""]}}function eA(e,t,i){let s=function(){if(eO()===e_.reactNative&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)){let{OS:e,Version:t}=r.g.Platform;return[e,t].join("-")}let e=(0,n.qY)();if(null===e)return"unknown";let t=e.os?e.os.replace(" ","").toLowerCase():"unknown";return"browser"===e.type?[t,e.name,e.version].join("-"):[t,e.version].join("-")}(),o=function(){var e;let t=eO();
1return t===e_.browser?[t,(null==(e=(0,a.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",i].join("-"),s,o].join("/")}function eR(e,t){return e.filter(e=>t.includes(e)).length===e.length}function eT(e){return Object.fromEntries(e.entries())}function eN(e){return new Map(Object.entries(e))}function ej(e=o.FIVE_MINUTES,t){let r,i,s,n;let a=(0,o.toMiliseconds)(e||o.FIVE_MINUTES);return{resolve:e=>{s&&r&&(clearTimeout(s),r(e),n=Promise.resolve(e))},reject:e=>{s&&i&&(clearTimeout(s),i(e))},done:()=>new Promise((e,o)=>{if(n)return e(n);s=setTimeout(()=>{let e=Error(t);n=Promise.reject(e),o(e)},a),r=e,i=o})}}function ek(e,t,r){return new Promise(async(i,s)=>{let n=setTimeout(()=>s(Error(r)),t);try{let t=await e;i(t)}catch(e){s(e)}clearTimeout(n)})}function eL(e,t){if("string"==typeof t&&t.startsWith(`${e}:`))return t;if("topic"===e.toLowerCase()){if("string"!=typeof t)throw Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}if("id"===e.toLowerCase()){if("number"!=typeof t)throw Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function eU(e){let[t,r]=e.split(":"),i={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof r)i.topic=r;else if("id"===t&&Number.isInteger(Number(r)))i.id=Number(r);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return i}function eB(e,t){return(0,o.fromMiliseconds)((t||Date.now())+(0,o.toMiliseconds)(e))}function eq(e){return Date.now()>=(0,o.toMiliseconds)(e)}function eM(e,t){return`${e}${t?`:${t}`:""}`}function e$(e=[],t=[]){return[...new Set([...e,...t])]}async function ez({id:e,topic:t,wcDeepLink:i}){var s;try{if(!i)return;let n="string"==typeof i?JSON.parse(i):i,o=n?.href;if("string"!=typeof o)return;let c=function(e,t,r){let i=`requestId=${t}&sessionTopic=${r}`;e.endsWith("/")&&(e=e.slice(0,-1));let s=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";s=`${s}${t}${function(e,t=!1){let r=eh.from(e).toString("base64");return t?r.replace(/[=]/g,""):r}(i,!0)}`}else s=`${s}/wc?${i}`;return s}(o,e,t),l=eO();if(l===e_.browser){let e;if(!(null!=(s=(0,a.getDocument)())&&s.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}e="_self",function(){try{return window.self!==window.top}catch{return!1}}()?e="_top":("u">typeof window&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)||c.startsWith("https://")||c.startsWith("http://"))&&(e="_blank"),window.open(c,e,"noreferrer noopener")}else l===e_.reactNative&&"u">typeof(null==r.g?void 0:r.g.Linking)&&await r.g.Linking.openURL(c)}catch(e){console.error(e)}}async function eF(e,t){let r="";try{if(eS()&&(r=localStorage.getItem(t)))return r;r=await e.getItem(t)}catch(e){console.error(e)}return r}function eH(e,t){if(!e.includes(t))return null;let r=e.split(/([&,?,=])/),i=r.indexOf(t);return r[i+2]}function eV(){return"u">typeof crypto&&null!=crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function eK(){return"u">typeof el&&"true"===el.env.IS_VITEST}function eW(e){return eh.from(e,"base64").toString("utf-8")}function eJ(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function eG(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function eY(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");eJ(e.outputLen),eJ(e.blockLen)}function eZ(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function eQ(e,t){eG(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}let eX=BigInt(4294967296-1),e0=BigInt(32),e1=(e,t,r)=>e<<r|t>>>32-r,e2=(e,t,r)=>t<<r|e>>>32-r,e8=(e,t,r)=>t<<r-32|e>>>64-r,e3=(e,t,r)=>e<<r-32|t>>>64-r,e5="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function e6(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function e4(e,t){return e<<32-t|e>>>t}let e9=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function e7(e){for(let r=0;r<e.length;r++){var t;e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function te(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),eG(e),e}class tt{clone(){return this._cloneInto()}}function tr(e){let t=t=>e().update(te(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function ti(e=32){if(e5&&"function"==typeof e5.getRandomValues)return e5.getRandomValues(new Uint8Array(e));if(e5&&"function"==typeof e5.randomBytes)return e5.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let ts=[],tn=[],to=[],ta=BigInt(0),tc=BigInt(1),tl=BigInt(2),th=BigInt(7),tu=BigInt(256),td=BigInt(113);for(let e=0,t=tc,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],ts.push(2*(5*i+r)),tn.push((e+1)*(e+2)/2%64);let s=ta;for(let e=0;e<7;e++)(t=(t<<tc^(t>>th)*td)%tu)&tl&&(s^=tc<<(tc<<BigInt(e))-tc);to.push(s)}let[tp,tf]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&eX),l:Number(e>>e0&eX)}:{h:0|Number(e>>e0&eX),l:0|Number(e&eX)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]}(to,!0),tg=(e,t,r)=>r>32?e8(e,t,r):e1(e,t,r),ty=(e,t,r)=>r>32?e3(e,t,r):e2(e,t,r);class tm extends tt{constructor(e,t,r,i=!1,s=24){var n;if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,eJ(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=new Uint32Array((n=this.state).buffer,n.byteOffset,Math.floor(n.byteLength/4))}keccak(){e9||e7(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let i=(t+8)%10,s=(t+2)%10,n=r[s],o=r[s+1],a=tg(n,o,1)^r[i],c=ty(n,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){let i=tn[r],n=tg(t,s,i),o=ty(t,s,i),a=ts[r];t=e[a],s=e[a+1],e[a]=n,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=tp[i],e[1]^=tf[i]}r.fill(0)}(this.state32,this.rounds),e9||e7(this.state32),this.posOut=0,this.pos=0}update(e){eZ(this);let{blockLen:t,state:r}=this,i=(e=te(e)).length;for(let s=0;s<i;){let n=Math.min(t-this.pos,i-s);for(let t=0;t<n;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,(128&t)!=0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){eZ(this,!1),eG(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+n),i),this.posOut+=n,i+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return eJ(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(eQ(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:s,enableXOF:n}=this;return e||(e=new tm(t,r,i,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=n,e.destroyed=this.destroyed,e}}let tb=tr(()=>new tm(136,1,32));function tw(e){let t=`�Ethereum Signed Message: 2${e.length}`,r=new TextEncoder().encode(t+e);return"0x"+eh.from(tb(r)).toString("hex")}async function tv(e,t,r,i,s,n){switch(r.t){case"eip191":return await tE(e,t,r.s);case"eip1271":return await tI(e,t,r.s,i,s,n);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}async function tE(e,t,r){return(await es({hash:tw(t),signature:r})).toLowerCase()===e.toLowerCase()}async function tI(e,t,r,i,s,n){let o=eu(i);if(!o.namespace||!o.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{let o="0x1626ba7e",a=r.substring(2),c=tw(t).substring(2),l=await fetch(`${n||"https://rpc.walletconnect.org/v1"}/?chainId=${i}&projectId=${s}`,{method:"POST",body:JSON.stringify({id:Date.now()+Math.floor(1e3*Math.random()),jsonrpc:"2.0",method:"eth_call",params:[{to:e,data:o+c+"00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041"+a},"latest"]})}),{result:h}=await l.json();return!!h&&h.slice(0,o.length).toLowerCase()===o.toLowerCase()}catch(e){return console.error("isValidEip1271Signature: ",e),!1}}var t_=Object.defineProperty,tD=Object.defineProperties,tP=Object.getOwnPropertyDescriptors,tS=Object.getOwnPropertySymbols,tO=Object.prototype.hasOwnProperty,tx=Object.prototype.propertyIsEnumerable,tC=(e,t,r)=>t in e?t_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tA=(e,t)=>
2{for(var r in t||(t={}))tO.call(t,r)&&tC(e,r,t[r]);if(tS)for(var r of tS(t))tx.call(t,r)&&tC(e,r,t[r]);return e},tR=(e,t)=>tD(e,tP(t));let tT=e=>e?.split(":"),tN=e=>{let t=e&&tT(e);if(t)return e.includes("did:pkh:")?t[3]:t[1]},tj=e=>{let t=e&&tT(e);if(t)return t[2]+":"+t[3]},tk=e=>{let t=e&&tT(e);if(t)return t.pop()};async function tL(e){let{cacao:t,projectId:r}=e,{s:i,p:s}=t,n=tU(s,s.iss),o=tk(s.iss);return await tv(o,n,i,tj(s.iss),r)}let tU=(e,t)=>{let r=`${e.domain} wants you to sign in with your Ethereum account:`,i=tk(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let s=e.statement||void 0,n=`URI: ${e.aud||e.uri}`,o=`Version: ${e.version}`,a=`Chain ID: ${tN(t)}`,c=`Nonce: ${e.nonce}`,l=`Issued At: ${e.iat}`,h=e.exp?`Expiration Time: ${e.exp}`:void 0,u=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,p=e.resources?`Resources:${e.resources.map(e=>` 3- ${e}`).join("")}`:void 0,f=tF(e.resources);return f&&(s=function(e="",t){tB(t);let r="I further authorize the stated URI to perform the following actions on my behalf: ";if(e.includes(r))return e;let i=[],s=0;Object.keys(t.att).forEach(e=>{let r=Object.keys(t.att[e]).map(e=>({ability:e.split("/")[0],action:e.split("/")[1]}));r.sort((e,t)=>e.action.localeCompare(t.action));let n={};r.forEach(e=>{n[e.ability]||(n[e.ability]=[]),n[e.ability].push(e.action)});let o=Object.keys(n).map(t=>(s++,`(${s}) '${t}': '${n[t].join("', '")}' for '${e}'.`));i.push(o.join(", ").replace(".,","."))});let n=i.join(" "),o=`${r}${n}`;return`${e?e+" ":""}${o}`}(s,tM(f))),[r,i,"",s,"",n,o,a,c,l,h,u,d,p].filter(e=>null!=e).join(` 4`)};function tB(e){if(!e)throw Error("No recap provided, value is undefined");if(!e.att)throw Error("No `att` property found");let t=Object.keys(e.att);if(!(null!=t&&t.length))throw Error("No resources found in `att` property");t.forEach(t=>{let r=e.att[t];if(Array.isArray(r)||"object"!=typeof r)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(r).length)throw Error(`Resource object is empty: ${t}`);Object.keys(r).forEach(e=>{let t=r[e];if(!Array.isArray(t))throw Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach(t=>{if("object"!=typeof t)throw Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)})})})}function tq(e){return tB(e),`urn:recap:${eh.from(JSON.stringify(e)).toString("base64").replace(/=/g,"")}`}function tM(e){var t;let r=(t=e.replace("urn:recap:",""),JSON.parse(eh.from(t,"base64").toString("utf-8")));return tB(r),r}function t$(e){var t;let r=tM(e);tB(r);let i=null==(t=r.att)?void 0:t.eip155;return i?Object.keys(i).map(e=>e.split("/")[1]):[]}function tz(e){let t=tM(e);tB(t);let r=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;null!=(t=e?.[0])&&t.chains&&r.push(e[0].chains)})}),[...new Set(r.flat())]}function tF(e){if(!e)return;let t=e?.[e.length-1];return t&&t.includes("urn:recap:")?t:void 0}function tH(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function tV(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function tK(e,...t){if(!tV(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function tW(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function tJ(e){if("boolean"!=typeof e)throw Error(`boolean expected, not ${e}`)}let tG=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),tY=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw Error("Non little-endian hardware is not supported");function tZ(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}(e);else if(tV(e))e=t0(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function tQ(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&t.byteOffset%4!=0)throw Error("invalid output, must be aligned");return t}function tX(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)}function t0(e){return Uint8Array.from(e)}function t1(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}let t2=e=>Uint8Array.from(e.split("").map(e=>e.charCodeAt(0))),t8=t2("expand 16-byte k"),t3=t2("expand 32-byte k"),t5=tG(t8),t6=tG(t3);function t4(e,t){return e<<t|e>>>32-t}function t9(e){return e.byteOffset%4==0}let t7=4294967296-1,re=new Uint32Array,rt=(e,t)=>255&e[t++]|(255&e[t++])<<8;class rr{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,tK(e=tZ(e),32);let t=rt(e,0),r=rt(e,2),i=rt(e,4),s=rt(e,6),n=rt(e,8),o=rt(e,10),a=rt(e,12),c=rt(e,14);this.r[0]=8191&t,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|s<<9)&8191,this.r[4]=(s>>>4|n<<12)&255,this.r[5]=n>>>1&8190,this.r[6]=(n>>>14|o<<2)&8191,this.r[7]=(o>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=rt(e,16+2*t)}process(e,t,r=!1){let{h:i,r:s}
4=this,n=s[0],o=s[1],a=s[2],c=s[3],l=s[4],h=s[5],u=s[6],d=s[7],p=s[8],f=s[9],g=rt(e,t+0),y=rt(e,t+2),m=rt(e,t+4),b=rt(e,t+6),w=rt(e,t+8),v=rt(e,t+10),E=rt(e,t+12),I=rt(e,t+14),_=i[0]+(8191&g),D=i[1]+((g>>>13|y<<3)&8191),P=i[2]+((y>>>10|m<<6)&8191),S=i[3]+((m>>>7|b<<9)&8191),O=i[4]+((b>>>4|w<<12)&8191),x=i[5]+(w>>>1&8191),C=i[6]+((w>>>14|v<<2)&8191),A=i[7]+((v>>>11|E<<5)&8191),R=i[8]+((E>>>8|I<<8)&8191),T=i[9]+(I>>>5|(r?0:2048)),N=0,j=0+_*n+5*f*D+5*p*P+5*d*S+5*u*O;N=j>>>13,j&=8191,j+=5*h*x+5*l*C+5*c*A+5*a*R+5*o*T,N+=j>>>13,j&=8191;let k=N+_*o+D*n+5*f*P+5*p*S+5*d*O;N=k>>>13,k&=8191,k+=5*u*x+5*h*C+5*l*A+5*c*R+5*a*T,N+=k>>>13,k&=8191;let L=N+_*a+D*o+P*n+5*f*S+5*p*O;N=L>>>13,L&=8191,L+=5*d*x+5*u*C+5*h*A+5*l*R+5*c*T,N+=L>>>13,L&=8191;let U=N+_*c+D*a+P*o+S*n+5*f*O;N=U>>>13,U&=8191,U+=5*p*x+5*d*C+5*u*A+5*h*R+5*l*T,N+=U>>>13,U&=8191;let B=N+_*l+D*c+P*a+S*o+O*n;N=B>>>13,B&=8191,B+=5*f*x+5*p*C+5*d*A+5*u*R+5*h*T,N+=B>>>13,B&=8191;let q=N+_*h+D*l+P*c+S*a+O*o;N=q>>>13,q&=8191,q+=x*n+5*f*C+5*p*A+5*d*R+5*u*T,N+=q>>>13,q&=8191;let M=N+_*u+D*h+P*l+S*c+O*a;N=M>>>13,M&=8191,M+=x*o+C*n+5*f*A+5*p*R+5*d*T,N+=M>>>13,M&=8191;let $=N+_*d+D*u+P*h+S*l+O*c;N=$>>>13,$&=8191,$+=x*a+C*o+A*n+5*f*R+5*p*T,N+=$>>>13,$&=8191;let z=N+_*p+D*d+P*u+S*h+O*l;N=z>>>13,z&=8191,z+=x*c+C*a+A*o+R*n+5*f*T,N+=z>>>13,z&=8191;let F=N+_*f+D*p+P*d+S*u+O*h;N=F>>>13,F&=8191,F+=x*l+C*c+A*a+R*o+T*n,N+=F>>>13,F&=8191,j=8191&(N=(N=(N<<2)+N|0)+j|0),N>>>=13,k+=N,i[0]=j,i[1]=k,i[2]=L,i[3]=U,i[4]=B,i[5]=q,i[6]=M,i[7]=$,i[8]=z,i[9]=F}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=i,i=e[t]>>>13,e[t]&=8191;e[0]+=5*i,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let t=1;t<10;t++)r[t]=e[t]+i,i=r[t]>>>13,r[t]&=8191;r[9]-=8192;let s=(1^i)-1;for(let e=0;e<10;e++)r[e]&=s;s=~s;for(let t=0;t<10;t++)e[t]=e[t]&s|r[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let n=e[0]+t[0];e[0]=65535&n;for(let r=1;r<8;r++)n=(e[r]+t[r]|0)+(n>>>16)|0,e[r]=65535&n;t1(r)}update(e){tW(this);let{buffer:t,blockLen:r}=this,i=(e=tZ(e)).length;for(let s=0;s<i;){let n=Math.min(r-this.pos,i-s);if(n===r){for(;r<=i-s;s+=r)this.process(e,s);continue}t.set(e.subarray(s,s+n),this.pos),this.pos+=n,s+=n,this.pos===r&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){t1(this.h,this.r,this.buffer,this.pad)}digestInto(e){tW(this),function(e,t){tK(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){for(t[i++]=1;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let t=0;t<8;t++)e[s++]=r[t]>>>0,e[s++]=r[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}let ri=function(e){let t=(t,r)=>e(r).update(tZ(t)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}(e=>new rr(e)),rs=function(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:s,counterRight:n,rounds:o}=function(e,t){if(null==t||"object"!=typeof t)throw Error("options must be defined");return Object.assign(e,t)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if("function"!=typeof e)throw Error("core must be a function");return tH(s),tH(o),tJ(n),tJ(r),(t,a,c,l,h=0)=>{tK(t),tK(a),tK(c);let u=c.length;if(void 0===l&&(l=new Uint8Array(u)),tK(l),tH(h),h<0||h>=t7)throw Error("arx: counter overflow");if(l.length<u)throw Error(`arx: output (${l.length}) is shorter than data (${u})`);let d=[],p=t.length,f,g;if(32===p)d.push(f=t0(t)),g=t6;else if(16===p&&r)(f=new Uint8Array(32)).set(t),f.set(t,16),g=t5,d.push(f);else throw Error(`arx: invalid 32-byte key, got length=${p}`);t9(a)||d.push(a=t0(a));let y=tG(f);if(i){if(24!==a.length)throw Error("arx: extended nonce must be 24 bytes");i(g,y,tG(a.subarray(0,16)),y),a=a.subarray(16)}let m=16-s;if(m!==a.length)throw Error(`arx: nonce must be ${m} or 16 bytes`);if(12!==m){let e=new Uint8Array(12);e.set(a,n?0:12-a.length),a=e,d.push(a)}return function(e,t,r,i,s,n,o,a){let c=s.length,l=new Uint8Array(64),h=tG(l),u=t9(s)&&t9(n),d=u?tG(s):re,p=u?tG(n):re;for(let f=0;f<c;o++){if(e(t,r,i,h,o,a),o>=t7)throw Error("arx: counter overflow");let g=Math.min(64,c-f);if(u&&64===g){let e=f/4;
4if(f%4!=0)throw Error("arx: invalid block position");for(let t=0,r;t<16;t++)p[r=e+t]=d[r]^h[t];f+=64;continue}for(let e=0,t;e<g;e++)n[t=f+e]=s[t]^l[e];f+=g}}(e,g,y,tG(a),c,l,h,o),t1(...d),l}}(function(e,t,r,i,s,n=20){let o=e[0],a=e[1],c=e[2],l=e[3],h=t[0],u=t[1],d=t[2],p=t[3],f=t[4],g=t[5],y=t[6],m=t[7],b=r[0],w=r[1],v=r[2],E=o,I=a,_=c,D=l,P=h,S=u,O=d,x=p,C=f,A=g,R=y,T=m,N=s,j=b,k=w,L=v;for(let e=0;e<n;e+=2)C=C+(N=t4(N^(E=E+P|0),16))|0,E=E+(P=t4(P^C,12))|0,C=C+(N=t4(N^E,8))|0,P=t4(P^C,7),A=A+(j=t4(j^(I=I+S|0),16))|0,I=I+(S=t4(S^A,12))|0,A=A+(j=t4(j^I,8))|0,S=t4(S^A,7),R=R+(k=t4(k^(_=_+O|0),16))|0,_=_+(O=t4(O^R,12))|0,R=R+(k=t4(k^_,8))|0,O=t4(O^R,7),T=T+(L=t4(L^(D=D+x|0),16))|0,D=D+(x=t4(x^T,12))|0,T=T+(L=t4(L^D,8))|0,x=t4(x^T,7),R=R+(L=t4(L^(E=E+S|0),16))|0,E=E+(S=t4(S^R,12))|0,R=R+(L=t4(L^E,8))|0,S=t4(S^R,7),T=T+(N=t4(N^(I=I+O|0),16))|0,I=I+(O=t4(O^T,12))|0,T=T+(N=t4(N^I,8))|0,O=t4(O^T,7),C=C+(j=t4(j^(_=_+x|0),16))|0,_=_+(x=t4(x^C,12))|0,C=C+(j=t4(j^_,8))|0,x=t4(x^C,7),A=A+(k=t4(k^(D=D+P|0),16))|0,D=D+(P=t4(P^A,12))|0,A=A+(k=t4(k^D,8))|0,P=t4(P^A,7);let U=0;i[U++]=o+E|0,i[U++]=a+I|0,i[U++]=c+_|0,i[U++]=l+D|0,i[U++]=h+P|0,i[U++]=u+S|0,i[U++]=d+O|0,i[U++]=p+x|0,i[U++]=f+C|0,i[U++]=g+A|0,i[U++]=y+R|0,i[U++]=m+T|0,i[U++]=s+N|0,i[U++]=b+j|0,i[U++]=w+k|0,i[U++]=v+L|0},{counterRight:!1,counterLength:4,allowShortKeys:!1}),rn=new Uint8Array(16),ro=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(rn.subarray(r))},ra=new Uint8Array(32);function rc(e,t,r,i,s){let n=e(t,r,ra),o=ri.create(n);s&&ro(o,s),ro(o,i);let a=new Uint8Array(16),c=tY(a);tX(c,0,BigInt(s?s.length:0),!0),tX(c,8,BigInt(i.length),!0),o.update(a);let l=o.digest();return t1(n,a),l}let rl=((e,t)=>{function r(i,...s){if(tK(i),void 0!==e.nonceLength){let t=s[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?tK(t):tK(t,e.nonceLength)}let n=e.tagLength;n&&void 0!==s[1]&&tK(s[1]);let o=t(i,...s),a=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");tK(t)}},c=!1;return{encrypt(e,t){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,tK(e),a(o.encrypt.length,t),o.encrypt(e,t)},decrypt(e,t){if(tK(e),n&&e.length<n)throw Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,t),o.decrypt(e,t)}}}return Object.assign(r,e),r})({blockSize:64,nonceLength:12,tagLength:16},(e,t,r)=>({encrypt(i,s){let n=i.length;(s=tQ(n+16,s,!1)).set(i);let o=s.subarray(0,-16);rs(e,t,o,o,1);let a=rc(rs,e,t,o,r);return s.set(a,n),t1(a),s},decrypt(i,s){s=tQ(i.length-16,s,!1);let n=i.subarray(0,-16),o=i.subarray(-16),a=rc(rs,e,t,n,r);if(!function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r}(o,a))throw Error("invalid tag");return s.set(i.subarray(0,-16)),rs(e,t,s,s,1),t1(a),s}}));class rh extends tt{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,eY(e);let r=te(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(r.length>i?e.create().update(r).digest():r);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return eZ(this),this.iHash.update(e),this}digestInto(e){eZ(this),eG(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:i,destroyed:s,blockLen:n,outputLen:o}=this;return e.finished=i,e.destroyed=s,e.blockLen=n,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let ru=(e,t,r)=>new rh(e,t).update(r).digest();ru.create=(e,t)=>new rh(e,t);let rd=new Uint8Array([0]),rp=new Uint8Array,rf=(e,t,r,i,s)=>{var n;return function(e,t,r,i=32){if(eY(e),eJ(i),i>255*e.outputLen)throw Error("Length should be <= 255*HashLen");let s=Math.ceil(i/e.outputLen);void 0===r&&(r=rp);let n=new Uint8Array(s*e.outputLen),o=ru.create(e,t),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let t=0;t<s;t++)rd[0]=t+1,a.update(0===t?rp:c).update(r).update(rd).digestInto(c),n.set(c,e.outputLen*t),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),rd.fill(0),n.slice(0,i)}(e,(n=r,eY(e),void 0===n&&(n=new Uint8Array(e.outputLen)),ru(e,te(n),te(t))),i,s)};
4class rg extends tt{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=e6(this.buffer)}update(e){eZ(this);let{view:t,buffer:r,blockLen:i}=this,s=(e=te(e)).length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=e6(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){eZ(this),eQ(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:n}=this;t[n++]=128,this.buffer.subarray(n).fill(0),this.padOffset>i-n&&(this.process(r,0),n=0);for(let e=n;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let o=e6(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)o.setUint32(4*e,l[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let ry=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]),rm=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rb=new Uint32Array(64);class rw extends rg{constructor(){super(64,32,8,!1),this.A=0|rm[0],this.B=0|rm[1],this.C=0|rm[2],this.D=0|rm[3],this.E=0|rm[4],this.F=0|rm[5],this.G=0|rm[6],this.H=0|rm[7]}get(){let{A:e,B:t,C:r,D:i,E:s,F:n,G:o,H:a}=this;return[e,t,r,i,s,n,o,a]}set(e,t,r,i,s,n,o,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|i,this.E=0|s,this.F=0|n,this.G=0|o,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)rb[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=rb[e-15],r=rb[e-2],i=e4(t,7)^e4(t,18)^t>>>3,s=e4(r,17)^e4(r,19)^r>>>10;rb[e]=s+rb[e-7]+i+rb[e-16]|0}let{A:r,B:i,C:s,D:n,E:o,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){var h,u,d,p;let t=l+(e4(o,6)^e4(o,11)^e4(o,25))+((h=o)&a^~h&c)+ry[e]+rb[e]|0,f=(e4(r,2)^e4(r,13)^e4(r,22))+((u=r)&(d=i)^u&(p=s)^d&p)|0;l=c,c=a,a=o,o=n+t|0,n=s,s=i,i=r,r=t+f|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,n=n+this.D|0,o=o+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,s,n,o,a,c,l)}roundClean(){rb.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let rv=tr(()=>new rw),rE=BigInt(0),rI=BigInt(1),r_=BigInt(2);function rD(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function rP(e){if(!rD(e))throw Error("Uint8Array expected")}function rS(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let rO=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function rx(e){rP(e);let t="";for(let r=0;r<e.length;r++)t+=rO[e[r]];return t}function rC(e){let t=e.toString(16);return 1&t.length?"0"+t:t}function rA(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?rE:BigInt("0x"+e)}let rR={_0:48,_9:57,A:65,F:70,a:97,f:102};function rT(e){return e>=rR._0&&e<=rR._9?e-rR._0:e>=rR.A&&e<=rR.F?e-(rR.A-10):e>=rR.a&&e<=rR.f?e-(rR.a-10):void 0}function rN(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=rT(e.charCodeAt(s)),n=rT(e.charCodeAt(s+1));if(void 0===r||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[s]+e[s+1])+'" at index '+s);i[t]=16*r+n}return i}function rj(e){return rA(rx(e))}function rk(e){return rP(e),rA(rx(Uint8Array.from(e).reverse()))}function rL(e,t){return rN(e.toString(16).padStart(2*t,"0"))}function rU(e,t){return rL(e,t).reverse()}function rB(e,t,r){let i;if("string"==typeof t)try{i=rN(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(rD(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function rq(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];rP(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let rM=e=>"bigint"==typeof e&&rE<=e;function r$(e,t,r){return rM(e)&&rM(t)&&rM(r)&&t<=e&&e<r}
4function rz(e,t,r,i){if(!r$(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function rF(e){let t;for(t=0;e>rE;e>>=rI,t+=1);return t}let rH=e=>(r_<<BigInt(e-1))-rI,rV=e=>new Uint8Array(e),rK=e=>Uint8Array.from(e);function rW(e,t,r){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let i=rV(e),s=rV(e),n=0,o=()=>{i.fill(1),s.fill(0),n=0},a=(...e)=>r(s,i,...e),c=(e=rV())=>{s=a(rK([0]),e),i=a(),0!==e.length&&(s=a(rK([1]),e),i=a())},l=()=>{if(n++>=1e3)throw Error("drbg: tried 1000 values");let e=0,r=[];for(;e<t;){let t=(i=a()).slice();r.push(t),e+=i.length}return rq(...r)};return(e,t)=>{let r;for(o(),c(e);!(r=t(l()));)c();return o(),r}}let rJ={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||rD(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function rG(e,t,r={}){let i=(t,r,i)=>{let s=rJ[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invalid. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function rY(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}var rZ=Object.freeze({__proto__:null,isBytes:rD,abytes:rP,abool:rS,bytesToHex:rx,numberToHexUnpadded:rC,hexToNumber:rA,hexToBytes:rN,bytesToNumberBE:rj,bytesToNumberLE:rk,numberToBytesBE:rL,numberToBytesLE:rU,numberToVarBytesBE:function(e){return rN(rC(e))},ensureBytes:rB,concatBytes:rq,equalBytes:function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))},inRange:r$,aInRange:rz,bitLen:rF,bitGet:function(e,t){return e>>BigInt(t)&rI},bitSet:function(e,t,r){return e|(r?rI:rE)<<BigInt(t)},bitMask:rH,createHmacDrbg:rW,validateObject:rG,notImplemented:()=>{throw Error("not implemented")},memoized:rY});let rQ=BigInt(0),rX=BigInt(1),r0=BigInt(2),r1=BigInt(3),r2=BigInt(4),r8=BigInt(5),r3=BigInt(8);function r5(e,t){let r=e%t;return r>=rQ?r:t+r}function r6(e,t,r){if(t<rQ)throw Error("invalid exponent, negatives unsupported");if(r<=rQ)throw Error("invalid modulus");if(r===rX)return rQ;let i=rX;for(;t>rQ;)t&rX&&(i=i*e%r),e=e*e%r,t>>=rX;return i}function r4(e,t,r){let i=e;for(;t-- >rQ;)i*=i,i%=r;return i}function r9(e,t){if(e===rQ)throw Error("invert: expected non-zero number");if(t<=rQ)throw Error("invert: expected positive modulus, got "+t);let r=r5(e,t),i=t,s=rQ,n=rX;for(;r!==rQ;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==rX)throw Error("invert: does not exist");return r5(s,t)}let r7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ie(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function it(e,t,r=!1,i={}){let s;if(e<=rQ)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=ie(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:rH(n),ZERO:rQ,ONE:rX,create:t=>r5(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return rQ<=t&&t<e},is0:e=>e===rQ,isOdd:e=>(e&rX)===rX,neg:t=>r5(-t,e),eql:(e,t)=>e===t,sqr:t=>r5(t*t,e),add:(t,r)=>r5(t+r,e),sub:(t,r)=>r5(t-r,e),mul:(t,r)=>r5(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<rQ)throw Error("invalid exponent, negatives unsupported");if(r===rQ)return e.ONE;if(r===rX)return t;let i=e.ONE,s=t;for(;r>rQ;)r&rX&&(i=e.mul(i,s)),s=e.sqr(s),r>>=rX;return i})(a,e,t),div:(t,r)=>r5(t*r9(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>r9(t,e),sqrt:i.sqrt||(t=>
4(s||(s=function(e){if(e%r2===r1){let t=(e+rX)/r2;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%r3===r8){let t=(e-r8)/r3;return function(e,r){let i=e.mul(r,r0),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,r0),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-rX)/r0;for(t=e-rX,r=0;t%r0===rQ;t/=r0,r++);for(i=r0;i<e&&r6(i,s,e)!==e-rX;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+rX)/r2;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+rX)/r0;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,rX<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?rU(e,o):rL(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?rk(e):rj(e)}});return Object.freeze(a)}function ir(e){if("bigint"!=typeof e)throw Error("field order must be bigint");return Math.ceil(e.toString(2).length/8)}function ii(e){let t=ir(e);return t+Math.ceil(t/2)}let is=BigInt(0),io=BigInt(1);function ia(e,t){let r=t.negate();return e?r:t}function ic(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function il(e,t){return ic(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let ih=new WeakMap,iu=new WeakMap;function id(e){return iu.get(e)||1}function ip(e){return rG(e.Fp,r7.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),rG(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ie(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);let ig=BigInt(0),iy=BigInt(1),im=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);let ib=BigInt(1),iw=BigInt(2),iv=BigInt(3),iE=BigInt(5);BigInt(8);let iI=function(e){let t=(rG(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})),{P:r}=t,i=e=>r5(e,r),s=t.montgomeryBits,n=Math.ceil(s/8),o=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>r6(e,r-BigInt(2),r));function l(e,t,r){let s=i(e*(t-r));return[t=i(t-s),r=i(r+s)]}let h=(t.a-BigInt(2))/BigInt(4);function u(e,t){let u=function(e,t){rz("u",e,ig,r),rz("scalar",t,ig,r);let n=iy,o=ig,a=e,u=iy,d=ig,p;for(let r=BigInt(s-1);r>=ig;r--){let s=t>>r&iy;d^=s,n=(p=l(d,n,a))[0],a=p[1],o=(p=l(d,o,u))[0],u=p[1],d=s;let c=n+o,f=i(c*c),g=n-o,y=i(g*g),m=f-y,b=a+u,w=i((a-u)*c),v=i(b*g),E=w+v,I=w-v;a=i(E*E),u=i(e*i(I*I)),n=i(f*y),o=i(m*(f+i(h*m)))}return n=(p=l(d,n,a))[0],a=p[1],o=(p=l(d,o,u))[0],u=p[1],i(n*c(o))}(function(e){let t=rB("u coordinate",e,n);return 32===o&&(t[31]&=127),rk(t)}(t),function(e){let t=rB("scalar",e),r=t.length;if(r!==n&&r!==o)throw Error("invalid scalar, expected "+n+" or "+o+" bytes, got "+r);return rk(a(t))}(e));if(u===ig)throw Error("invalid private or public key received");return rU(i(u),n)}let d=rU(i(t.Gu),n);function p(e){return u(e,d)}return{scalarMult:u,scalarMultBase:p,getSharedSecret:(e,t)=>u(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:d}}({P:im,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let{pow_p_5_8:t,b2:r}=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%im*e%im,o=r4(n,iw,im)*n%im,a=r4(o,ib,im)*e%im,c=r4(a,iE,im)*a%im,l=r4(c,t,im)*c%im,h=r4(l,r,im)*l%im,u=r4(h,i,im)*h%im,d=r4(u,s,im)*u%im,p=r4(d,s,im)*u%im,f=r4(p,t,im)*c%im;return{pow_p_5_8:r4(f,iw,im)*e%im,b2:n}}(e);return r5(r4(t,iv,im)*r,im)}
4,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},randomBytes:ti});function i_(e){void 0!==e.lowS&&rS("lowS",e.lowS),void 0!==e.prehash&&rS("prehash",e.prehash)}let{bytesToNumberBE:iD,hexToBytes:iP}=rZ;class iS extends Error{constructor(e=""){super(e)}}let iO={Err:iS,_tlv:{encode:(e,t)=>{let{Err:r}=iO;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");let i=t.length/2,s=rC(i);if(s.length/2&128)throw new r("tlv.encode: long form length too big");let n=i>127?rC(s.length/2|128):"";return rC(e)+n+s+t},decode(e,t){let{Err:r}=iO,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let s=t[i++],n=0;if(128&s){let e=127&s;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");let o=t.subarray(i,i+e);if(o.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===o[0])throw new r("tlv.decode(long): zero leftmost byte");for(let e of o)n=n<<8|e;if(i+=e,n<128)throw new r("tlv.decode(long): not minimal encoding")}else n=s;let o=t.subarray(i,i+n);if(o.length!==n)throw new r("tlv.decode: wrong value length");return{v:o,l:t.subarray(i+n)}}},_int:{encode(e){let{Err:t}=iO;if(e<ix)throw new t("integer: negative integers are not allowed");let r=rC(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=iO;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return iD(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=iO,s="string"==typeof e?iP(e):e;rP(s);let{v:n,l:o}=i.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,n),{v:l,l:h}=i.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=iO,i=t.encode(2,r.encode(e.r)),s=t.encode(2,r.encode(e.s));return t.encode(48,i+s)}},ix=BigInt(0),iC=BigInt(1);BigInt(2);let iA=BigInt(3);BigInt(4);let iR=it(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),iT=function(e,t){let r=t=>(function(e){let t=function(e){let t=ip(e);return rG(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:r,n:i}=t,s=r.BYTES+1,n=2*r.BYTES+1;function o(e){return r5(e,i)}let{ProjectivePoint:a,normPrivateKeyToScalar:c,weierstrassEquation:l,isWithinCurveOrder:h}=function(e){var t;let r=function(e){let t=ip(e);rG(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:i,a:s}=t;if(r){if(!i.eql(s,i.ZERO))throw Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:i}=r,s=it(r.n,r.nBitLength),n=r.toBytes||((e,t,r)=>{let s=t.toAffine();return rq(Uint8Array.from([4]),i.toBytes(s.x),i.toBytes(s.y))}),o=r.fromBytes||(e=>{let t=e.subarray(1);return{x:i.fromBytes(t.subarray(0,i.BYTES)),y:i.fromBytes(t.subarray(i.BYTES,2*i.BYTES))}});function a(e){let{a:t,b:s}=r,n=i.sqr(e),o=i.mul(n,e);return i.add(i.add(o,i.mul(e,t)),s)}
4if(!i.eql(i.sqr(r.Gy),a(r.Gx)))throw Error("bad generator point: equation left != right");function c(e){let t;let{allowedPrivateKeyLengths:i,nByteLength:s,wrapPrivateKey:n,n:o}=r;if(i&&"bigint"!=typeof e){if(rD(e)&&(e=rx(e)),"string"!=typeof e||!i.includes(e.length))throw Error("invalid private key");e=e.padStart(2*s,"0")}try{t="bigint"==typeof e?e:rj(rB("private key",e,s))}catch{throw Error("invalid private key, expected hex or "+s+" bytes, got "+typeof e)}return n&&(t=r5(t,o)),rz("private key",t,iC,o),t}function l(e){if(!(e instanceof d))throw Error("ProjectivePoint expected")}let h=rY((e,t)=>{let{px:r,py:s,pz:n}=e;if(i.eql(n,i.ONE))return{x:r,y:s};let o=e.is0();null==t&&(t=o?i.ONE:i.inv(n));let a=i.mul(r,t),c=i.mul(s,t),l=i.mul(n,t);if(o)return{x:i.ZERO,y:i.ZERO};if(!i.eql(l,i.ONE))throw Error("invZ was invalid");return{x:a,y:c}}),u=rY(e=>{if(e.is0()){if(r.allowInfinityPoint&&!i.is0(e.py))return;throw Error("bad point: ZERO")}let{x:t,y:s}=e.toAffine();if(!i.isValid(t)||!i.isValid(s))throw Error("bad point: x or y not FE");let n=i.sqr(s),o=a(t);if(!i.eql(n,o))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!i.isValid(e))throw Error("x required");if(null==t||!i.isValid(t))throw Error("y required");if(null==r||!i.isValid(r))throw Error("z required");Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!i.isValid(t)||!i.isValid(r))throw Error("invalid affine point");if(e instanceof d)throw Error("projective point not allowed");let s=e=>i.eql(e,i.ZERO);return s(t)&&s(r)?d.ZERO:new d(t,r,i.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.pz));return e.map((e,r)=>e.toAffine(t[r])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(o(rB("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(c(e))}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=rF(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=Number(i[t]>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(d,s,e,t)}_setWindowSize(e){f.setWindowSize(this,e)}assertValidity(){u(this)}hasEvenY(){let{y:e}=this.toAffine();if(i.isOdd)return!i.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){l(e);let{px:t,py:r,pz:s}=this,{px:n,py:o,pz:a}=e,c=i.eql(i.mul(t,a),i.mul(n,s)),h=i.eql(i.mul(r,a),i.mul(o,s));return c&&h}negate(){return new d(this.px,i.neg(this.py),this.pz)}double(){let{a:e,b:t}=r,s=i.mul(t,iA),{px:n,py:o,pz:a}=this,c=i.ZERO,l=i.ZERO,h=i.ZERO,u=i.mul(n,n),p=i.mul(o,o),f=i.mul(a,a),g=i.mul(n,o);return g=i.add(g,g),h=i.mul(n,a),h=i.add(h,h),c=i.mul(e,h),l=i.mul(s,f),l=i.add(c,l),c=i.sub(p,l),l=i.add(p,l),l=i.mul(c,l),c=i.mul(g,c),h=i.mul(s,h),f=i.mul(e,f),g=i.sub(u,f),g=i.mul(e,g),g=i.add(g,h),h=i.add(u,u),u=i.add(h,u),u=i.add(u,f),u=i.mul(u,g),l=i.add(l,u),f=i.mul(o,a),f=i.add(f,f),u=i.mul(f,g),c=i.sub(c,u),h=i.mul(f,p),h=i.add(h,h),new d(c,l,h=i.add(h,h))}add(e){l(e);let{px:t,py:s,pz:n}=this,{px:o,py:a,pz:c}=e,h=i.ZERO,u=i.ZERO,p=i.ZERO,f=r.a,g=i.mul(r.b,iA),y=i.mul(t,o),m=i.mul(s,a),b=i.mul(n,c),w=i.add(t,s),v=i.add(o,a);w=i.mul(w,v),v=i.add(y,m),w=i.sub(w,v),v=i.add(t,n);let E=i.add(o,c);return v=i.mul(v,E),E=i.add(y,b),v=i.sub(v,E),E=i.add(s,n),h=i.add(a,c),E=i.mul(E,h),h=i.add(m,b),E=i.sub(E,h),p=i.mul(f,v),h=i.mul(g,b),p=i.add(h,p),h=i.sub(m,p),p=i.add(m,p),u=i.mul(h,p),m=i.add(y,y),m=i.add(m,y),b=i.mul(f,b),v=i.mul(g,v),m=i.add(m,b),b=i.sub(y,b),b=i.mul(f,b),v=i.add(v,b),y=i.mul(m,v),u=i.add(u,y),y=i.mul(E,v),h=i.mul(w,h),h=i.sub(h,y),y=i.mul(w,m),p=i.mul(E,p),new d(h,u,p=i.add(p,y))}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return f.wNAFCached(this,e,d.normalizeZ)}multiplyUnsafe(e){let{endo:t,n:s}=r;rz("scalar",e,ix,s);let n=d.ZERO;if(e===ix)return n;if(this.is0()||e===iC)return this;if(!t||f.hasPrecomputes(this))return f.wNAFCachedUnsafe(this,e,d.normalizeZ);
4let{k1neg:o,k1:a,k2neg:c,k2:l}=t.splitScalar(e),h=n,u=n,p=this;for(;a>ix||l>ix;)a&iC&&(h=h.add(p)),l&iC&&(u=u.add(p)),p=p.double(),a>>=iC,l>>=iC;return o&&(h=h.negate()),c&&(u=u.negate()),u=new d(i.mul(u.px,t.beta),u.py,u.pz),h.add(u)}multiply(e){let t,s;let{endo:n,n:o}=r;if(rz("scalar",e,iC,o),n){let{k1neg:r,k1:o,k2neg:a,k2:c}=n.splitScalar(e),{p:l,f:h}=this.wNAF(o),{p:u,f:p}=this.wNAF(c);l=f.constTimeNegate(r,l),u=f.constTimeNegate(a,u),u=new d(i.mul(u.px,n.beta),u.py,u.pz),t=l.add(u),s=h.add(p)}else{let{p:r,f:i}=this.wNAF(e);t=r,s=i}return d.normalizeZ([t,s])[0]}multiplyAndAddUnsafe(e,t,r){let i=d.BASE,s=(e,t)=>t!==ix&&t!==iC&&e.equals(i)?e.multiply(t):e.multiplyUnsafe(t),n=s(this,t).add(s(e,r));return n.is0()?void 0:n}toAffine(e){return h(this,e)}isTorsionFree(){let{h:e,isTorsionFree:t}=r;if(e===iC)return!0;if(t)return t(d,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:e,clearCofactor:t}=r;return e===iC?this:t?t(d,this):this.multiplyUnsafe(r.h)}toRawBytes(e=!0){return rS("isCompressed",e),this.assertValidity(),n(d,this,e)}toHex(e=!0){return rS("isCompressed",e),rx(this.toRawBytes(e))}}d.BASE=new d(r.Gx,r.Gy,i.ONE),d.ZERO=new d(i.ZERO,i.ONE,i.ZERO);let p=r.nBitLength,f=(t=r.endo?Math.ceil(p/2):p,{constTimeNegate:ia,hasPrecomputes:e=>1!==id(e),unsafeLadder(e,t,r=d.ZERO){let i=e;for(;t>is;)t&io&&(r=r.add(i)),i=i.double(),t>>=io;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=il(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=il(e,t),o=d.ZERO,a=d.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=io);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(ia(d,r[t])):o=o.add(ia(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=d.ZERO){let{windows:n,windowSize:o}=il(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===is)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=io),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=ih.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&ih.set(t,r(i))),i},wNAFCached(e,t,r){let i=id(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=id(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){ic(r,t),iu.set(e,r),ih.delete(e)}});return{CURVE:r,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:a,isWithinCurveOrder:function(e){return r$(e,iC,r.n)}}}({...t,toBytes(e,t,i){let s=t.toAffine(),n=r.toBytes(s.x);return rS("isCompressed",i),i?rq(Uint8Array.from([t.hasEvenY()?2:3]),n):rq(Uint8Array.from([4]),n,r.toBytes(s.y))},fromBytes(e){let t=e.length,i=e[0],o=e.subarray(1);if(t===s&&(2===i||3===i)){let e;let t=rj(o);if(!r$(t,iC,r.ORDER))throw Error("Point is not on curve");let s=l(t);try{e=r.sqrt(s)}catch(e){throw Error("Point is not on curve"+(e instanceof Error?": "+e.message:""))}return(1&i)==1!=((e&iC)===iC)&&(e=r.neg(e)),{x:t,y:e}}if(t===n&&4===i)return{x:r.fromBytes(o.subarray(0,r.BYTES)),y:r.fromBytes(o.subarray(r.BYTES,2*r.BYTES))};throw Error("invalid Point, expected length of "+s+", or uncompressed "+n+", got "+t)}}),u=e=>rx(rL(e,t.nByteLength)),d=(e,t,r)=>rj(e.slice(t,r));class p{constructor(e,t,r){this.r=e,this.s=t,this.recovery=r,this.assertValidity()}static fromCompact(e){let r=t.nByteLength;return new p(d(e=rB("compactSignature",e,2*r),0,r),d(e,r,2*r))}static fromDER(e){let{r:t,s:r}=iO.toSig(rB("DER",e));return new p(t,r)}assertValidity(){rz("r",this.r,iC,i),rz("s",this.s,iC,i)}addRecoveryBit(e){return new p(this.r,this.s,e)}recoverPublicKey(e){let{r:s,s:n,recovery:c}=this,l=y(rB("msgHash",e));if(null==c||![0,1,2,3].includes(c))throw Error("recovery id invalid");let h=2===c||3===c?s+t.n:s;if(h>=r.ORDER)throw Error("recovery id 2 or 3 invalid");let d=(1&c)==0?"02":"03",p=a.fromHex(d+u(h)),f=r9(h,i),g=o(-l*f),m=o(n*f),b=a.BASE.multiplyAndAddUnsafe(p,g,m);if(!b)throw Error("point at infinify");return b.assertValidity(),b}hasHighS(){return this.s>i>>iC}normalizeS(){return this.hasHighS()?new p(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return rN(this.toDERHex())}toDERHex(){return iO.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return rN(this.toCompactHex())}toCompactHex(){return u(this.r)+u(this.s)}}function f(e){let t=rD(e),r="string"==typeof e,i=(t||r)&&e.length;return t?i===s||i===n:r?i===2*s||i===2*n:e instanceof a}let g=t.bits2int||function(e){if(e.length>8192)throw Error("input is too large");let r=rj(e),i=8*e.length-t.nBitLength;return i>0?r>>BigInt(i):r},y=t.bits2int_modN||function(e){return o(g(e))},m=rH(t.nBitLength);function b(e){return rz("num < 2^"+t.nBitLength,e,ix,m),rL(e,t.nByteLength)}let w={lowS:t.lowS,prehash:!1},v={lowS:t.lowS,prehash:!1};return a.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return a.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,r=!0){if(f(e))throw Error("first arg must be private key");if(!f(t))throw Error("second arg must be public key");return a.fromHex(t).multiply(c(e)).toRawBytes(r)},sign:function(e,s,n=w){let{seed:l,k2sig:u}=function(e,s,n=w){if(["recovered","canonical"].some(e=>e in n))throw Error("sign() legacy options not supported");let{hash:l,randomBytes:u}=t,{lowS:d,prehash:f,extraEntropy:m}=n;null==d&&(d=!0),e=rB("msgHash",e),i_(n),f&&(e=rB("prehashed msgHash",l(e)));let v=y(e),E=c(s),I=[b(E),b(v)];if(null!=m&&!1!==m){let e=!0===m?u(r.BYTES):m;I.push(rB("extraEntropy",e))}
4return{seed:rq(...I),k2sig:function(e){let t=g(e);if(!h(t))return;let r=r9(t,i),s=a.BASE.multiply(t).toAffine(),n=o(s.x);if(n===ix)return;let c=o(r*o(v+n*E));if(c===ix)return;let l=(s.x===n?0:2)|Number(s.y&iC),u=c;return d&&c>i>>iC&&(u=c>i>>iC?o(-c):c,l^=1),new p(n,u,l)}}}(e,s,n);return rW(t.hash.outputLen,t.nByteLength,t.hmac)(l,u)},verify:function(e,r,s,n=v){let c,l;r=rB("msgHash",r),s=rB("publicKey",s);let{lowS:h,prehash:u,format:d}=n;if(i_(n),"strict"in n)throw Error("options.strict was renamed to lowS");if(void 0!==d&&"compact"!==d&&"der"!==d)throw Error("format must be compact or der");let f="string"==typeof e||rD(e),g=!f&&!d&&"object"==typeof e&&null!==e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!f&&!g)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");try{if(g&&(c=new p(e.r,e.s)),f){try{"compact"!==d&&(c=p.fromDER(e))}catch(e){if(!(e instanceof iO.Err))throw e}c||"der"===d||(c=p.fromCompact(e))}l=a.fromHex(s)}catch{return!1}if(!c||h&&c.hasHighS())return!1;u&&(r=t.hash(r));let{r:m,s:b}=c,w=y(r),E=r9(b,i),I=o(w*E),_=o(m*E),D=a.BASE.multiplyAndAddUnsafe(l,I,_)?.toAffine();return!!D&&o(D.x)===m},ProjectivePoint:a,Signature:p,utils:{isValidPrivateKey(e){try{return c(e),!0}catch{return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{let e=ii(t.n);return function(e,t,r=!1){let i=e.length,s=ir(t),n=ii(t);if(i<16||i<n||i>1024)throw Error("expected "+n+"-1024 bytes of input, got "+i);let o=r5(r?rk(e):rj(e),t-rX)+rX;return r?rU(o,s):rL(o,s)}(t.randomBytes(e),t.n)},precompute:(e=8,t=a.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}})({...e,hash:t,hmac:(e,...r)=>ru(t,e,function(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];eG(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}(...r)),randomBytes:ti});return{...r(t),create:r}}({a:iR.create(BigInt("-3")),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:iR,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},rv),iN="base10",ij="base16",ik="base64pad",iL="base64url",iU="utf8";function iB(){let e=ti(32);return(0,ea.BB)(e,ij)}function iq(e){let t=rv((0,ea.mL)(e,ij));return(0,ea.BB)(t,ij)}function iM(e){let t=rv((0,ea.mL)(e,iU));return(0,ea.BB)(t,ij)}function i$(e){return(0,ea.mL)(`${e}`,iN)}function iz(e){return Number((0,ea.BB)(e,iN))}function iF(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function iH(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=(4-t.length%4)%4;return t+"=".repeat(r)}function iV(e){if(2===iz(e.type))return(0,ea.BB)((0,ea.zo)([e.type,e.sealed]),ik);if(1===iz(e.type)){if(typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");return(0,ea.BB)((0,ea.zo)([e.type,e.senderPublicKey,e.iv,e.sealed]),ik)}return(0,ea.BB)((0,ea.zo)([e.type,e.iv,e.sealed]),ik)}function iK(e){let t=(e.encoding||ik)===iL?iH(e.encoded):e.encoded,r=(0,ea.mL)(t,ik),i=r.slice(0,1);if(1===iz(i)){let e=r.slice(1,33),t=r.slice(33,45);return{type:i,sealed:r.slice(45),iv:t,senderPublicKey:e}}if(2===iz(i))return{type:i,sealed:r.slice(1),iv:ti(12)};let s=r.slice(1,13);return{type:i,sealed:r.slice(13),iv:s}}function iW(e){let t=e?.type||0;if(1===t){if(typeof e?.senderPublicKey>"u")throw Error("missing sender public key");if(typeof e?.receiverPublicKey>"u")throw Error("missing receiver public key")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function iJ(e){return 1===e.type&&"string"==typeof e.senderPublicKey&&"string"==typeof e.receiverPublicKey}function iG(e){return e?.relay||{protocol:"irn"}}function iY(e){let t=ec.iO[e];if(typeof t>"u")throw Error(`Relay Protocol not supported: ${e}`);return t}function iZ(e){var t;if(!e.includes("wc:")){let t=eW(e);null!=t&&t.includes("wc:")&&(e=t)}let r=(e=(e=e.includes("wc://")?e.replace("wc://",""):e).includes("wc:")?e.replace("wc:",""):e).indexOf(":"),i=-1!==e.indexOf("?")?e.indexOf("?"):void 0,s=e.substring(0,r),n=e.substring(r+1,i).split("@"),o=new URLSearchParams("u">typeof i?e.substring(i):""),a={};o.forEach((e,t)=>{a[t]=e});let c="string"==typeof a.methods?a.methods.split(","):void 0;return{protocol:s,topic:(t=n[0]).startsWith("//")?t.substring(2):t,version:parseInt(n[1],10),symKey:a.symKey,relay:function(e,t="-"){let r={},i="relay"+t;return Object.keys(e).forEach(t=>{if(t.startsWith(i)){let s=t.replace(i,""),n=e[t];r[s]=n}}),r}(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function iQ(e){let t=new URLSearchParams,r=function(e,t="-"){let r={};return Object.keys(e).forEach(i=>
4{e[i]&&(r["relay"+t+i]=e[i])}),r}(e.relay);Object.keys(r).sort().forEach(e=>{t.set(e,r[e])}),t.set("symKey",e.symKey),e.expiryTimestamp&&t.set("expiryTimestamp",e.expiryTimestamp.toString()),e.methods&&t.set("methods",e.methods.join(","));let i=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${i}`}function iX(e,t,r){return`${e}?wc_ev=${r}&topic=${t}`}var i0=Object.defineProperty,i1=Object.defineProperties,i2=Object.getOwnPropertyDescriptors,i8=Object.getOwnPropertySymbols,i3=Object.prototype.hasOwnProperty,i5=Object.prototype.propertyIsEnumerable,i6=(e,t,r)=>t in e?i0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,i4=(e,t)=>{for(var r in t||(t={}))i3.call(t,r)&&i6(e,r,t[r]);if(i8)for(var r of i8(t))i5.call(t,r)&&i6(e,r,t[r]);return e},i9=(e,t)=>i1(e,i2(t));function i7(e){let t=[];return e.forEach(e=>{let[r,i]=e.split(":");t.push(`${r}:${i}`)}),t}function se(e){return e.includes(":")}function st(e){return se(e)?e.split(":")[0]:e}function sr(e){var t,r,i;let s={};if(!sl(e))return s;for(let[n,o]of Object.entries(e)){let e=se(n)?[n]:o.chains,a=o.methods||[],c=o.events||[],l=st(n);s[l]=i9(i4({},s[l]),{chains:e$(e,null==(t=s[l])?void 0:t.chains),methods:e$(a,null==(r=s[l])?void 0:r.methods),events:e$(c,null==(i=s[l])?void 0:i.events)})}return s}function si(e,t){let r=function(e){let t={};return e?.forEach(e=>{var r;let[i,s]=e.split(":");t[i]||(t[i]={accounts:[],chains:[],events:[],methods:[]}),t[i].accounts.push(e),null==(r=t[i].chains)||r.push(`${i}:${s}`)}),t}(t=t.map(e=>e.replace("did:pkh:","")));for(let[t,i]of Object.entries(r))i.methods?i.methods=e$(i.methods,e):i.methods=e,i.events=["chainChanged","accountsChanged"];return r}let ss={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},sn={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function so(e,t){let{message:r,code:i}=sn[e];return{message:t?`${r} ${t}`:r,code:i}}function sa(e,t){let{message:r,code:i}=ss[e];return{message:t?`${r} ${t}`:r,code:i}}function sc(e,t){return!!Array.isArray(e)&&(!("u">typeof t)||!e.length||e.every(t))}function sl(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function sh(e){return typeof e>"u"}function su(e,t){return!!(t&&sh(e))||"string"==typeof e&&!!e.trim().length}function sd(e,t){return!!(t&&sh(e))||"number"==typeof e&&!isNaN(e)}function sp(e){return!!(su(e,!1)&&e.includes(":"))&&2===e.split(":").length}function sf(e){let t=!0;return sc(e)?e.length&&(t=e.every(e=>
4su(e,!1))):t=!1,t}function sg(e,t){let r=null;return Object.values(e).forEach(e=>{var i;let s;if(r)return;let n=(i=`${t}, namespace`,s=null,sf(e?.methods)?sf(e?.events)||(s=sa("UNSUPPORTED_EVENTS",`${i}, events should be an array of strings or empty array for no events`)):s=sa("UNSUPPORTED_METHODS",`${i}, methods should be an array of strings or empty array for no methods`),s);n&&(r=n)}),r}function sy(e,t){let r=null;if(e&&sl(e)){let i;let s=sg(e,t);s&&(r=s);let n=(i=null,Object.values(e).forEach(e=>{var r,s;let n;if(i)return;let o=(r=e?.accounts,s=`${t} namespace`,n=null,sc(r)?r.forEach(e=>{n||function(e){if(su(e,!1)&&e.includes(":")){let t=e.split(":");if(3===t.length){let e=t[0]+":"+t[1];return!!t[2]&&sp(e)}}return!1}(e)||(n=sa("UNSUPPORTED_ACCOUNTS",`${s}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=sa("UNSUPPORTED_ACCOUNTS",`${s}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n);o&&(i=o)}),i);n&&(r=n)}else r=so("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return r}function sm(e){return su(e.protocol,!0)}function sb(e){return"u">typeof e}function sw(e,t){return!(!sp(t)||!(function(e){let t=[];return Object.values(e).forEach(e=>{t.push(...i7(e.accounts))}),t})(e).includes(t))}function sv(e,t,r){let i=null,s=function(e){let t={};return Object.keys(e).forEach(r=>{var i;r.includes(":")?t[r]=e[r]:null==(i=e[r].chains)||i.forEach(i=>{t[i]={methods:e[r].methods,events:e[r].events}})}),t}(e),n=function(e){let t={};return Object.keys(e).forEach(r=>{if(r.includes(":"))t[r]=e[r];else{let i=i7(e[r].accounts);i?.forEach(i=>{t[i]={accounts:e[r].accounts.filter(e=>e.includes(`${i}:`)),methods:e[r].methods,events:e[r].events}})}}),t}(t),o=Object.keys(s),a=Object.keys(n),c=sE(Object.keys(e)),l=sE(Object.keys(t)),h=c.filter(e=>!l.includes(e));return h.length&&(i=so("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces. 5 Required: ${h.toString()} 6 Received: ${Object.keys(t).toString()}`)),eR(o,a)||(i=so("NON_CONFORMING_NAMESPACES",`${r} namespaces chains don't satisfy required namespaces. 7 Required: ${o.toString()} 8 Approved: ${a.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(":")||i)return;let s=i7(t[e].accounts);s.includes(e)||(i=so("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${e} 9 Required: ${e} 10 Approved: ${s.toString()}`))}),o.forEach(e=>{i||(eR(s[e].methods,n[e].methods)?eR(s[e].events,n[e].events)||(i=so("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${e}`)):i=so("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${e}`))}),i}function sE(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function sI(){let e=eO();return new Promise(t=>{switch(e){case e_.browser:t(eS()&&navigator?.onLine);break;case e_.reactNative:t(s_());break;case e_.node:default:t(!0)}})}async function s_(){if(eP()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo){let e=await (null==r.g?void 0:r.g.NetInfo.fetch());return e?.isConnected}return!0}let sD={};class sP{static get(e){return sD[e]}static set(e,t){sD[e]=t}static delete(e){delete sD[e]}}var sS=r(96756),sO=r(90059),sx=r(82957).lW;function sC(e,...t){try{var r;return(r=e(...t))&&"function"==typeof r.then?r:Promise.resolve(r)}catch(e){return Promise.reject(e)}}function sA(e){if(function(e){let t=typeof e;return null===e||"object"!==t&&"function"!==t}(e))return String(e);if(function(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}(e)||Array.isArray(e))return JSON.stringify(e);if("function"==typeof e.toJSON)return sA(e.toJSON());throw Error("[unstorage] Cannot stringify value!")}let sR="base64:";function sT(e){return e&&e.split("?")[0]?.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,"")||""}function sN(e){return(e=sT(e))?e+":":""}let sj=()=>{let e=new Map;return{name:"memory",getInstance:()=>e,hasItem:t=>e.has(t),getItem:t=>e.get(t)??null,getItemRaw:t=>e.get(t)??null,setItem(t,r){e.set(t,r)},setItemRaw(t,r){e.set(t,r)},removeItem(t){e.delete(t)},getKeys:()=>[...e.keys()],clear(){e.clear()},dispose(){e.clear()}}};function sk(e,t,r){return e.watch?e.watch((e,i)=>t(e,r+i)):()=>{}}async function sL(e){"function"==typeof e.dispose&&await sC(e.dispose)}var sU=r(27600),sB=r(80577),sq=(e={})=>{let t;let r=e.base&&e.base.length>0?`${e.base}:`:"",i=e=>r+e;return e.dbName&&e.storeName&&(t=(0,sU.MT)(e.dbName,e.storeName)),{name:"idb-keyval",options:e,hasItem:async e=>!(typeof await (0,sU.U2)(i(e),t)>"u"),getItem:async e=>await (0,sU.U2)(i(e),t)??null,setItem:(e,r)=>(0,sU.t8)(i(e),r,t),removeItem:e=>(0,sU.IV)(i(e),t),getKeys:()=>(0,sU.XP)(t),clear:()=>(0,sU.ZH)(t)}};class sM{constructor(){this.indexedDb=function(e={}){let t={mounts:{"":e.driver||sj()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}}
10,r=e=>{for(let r of t.mountpoints)if(e.startsWith(r))return{base:r,relativeKey:e.slice(r.length),driver:t.mounts[r]};return{base:"",relativeKey:e,driver:t.mounts[""]}},i=(e,r)=>t.mountpoints.filter(t=>t.startsWith(e)||r&&e.startsWith(t)).map(r=>({relativeBase:e.length>r.length?e.slice(r.length):void 0,mountpoint:r,driver:t.mounts[r]})),s=(e,r)=>{if(t.watching)for(let i of(r=sT(r),t.watchListeners))i(e,r)},n=async()=>{if(!t.watching)for(let e in t.watching=!0,t.mounts)t.unwatch[e]=await sk(t.mounts[e],s,e)},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},a=(e,t,i)=>{let s=new Map,n=e=>{let t=s.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},s.set(e.base,t)),t};for(let i of e){let e="string"==typeof i,s=sT(e?i:i.key),o=e?void 0:i.value,a=e||!i.options?t:{...t,...i.options},c=r(s);n(c).items.push({key:s,value:o,relativeKey:c.relativeKey,options:a})}return Promise.all([...s.values()].map(e=>i(e))).then(e=>e.flat())},c={hasItem(e,t={}){let{relativeKey:i,driver:s}=r(e=sT(e));return sC(s.hasItem,i,t)},getItem(e,t={}){let{relativeKey:i,driver:s}=r(e=sT(e));return sC(s.getItem,i,t).then(e=>(0,sO.ZP)(e))},getItems:(e,t={})=>a(e,t,e=>e.driver.getItems?sC(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:function(...e){return sT(e.join(":"))}(e.base,t.key),value:(0,sO.ZP)(t.value)}))):Promise.all(e.items.map(t=>sC(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:(0,sO.ZP)(e)}))))),getItemRaw(e,t={}){let{relativeKey:i,driver:s}=r(e=sT(e));return s.getItemRaw?sC(s.getItemRaw,i,t):sC(s.getItem,i,t).then(e=>{var t;return"string"==typeof e&&e.startsWith(sR)?(t=e.slice(sR.length),globalThis.Buffer?sx.from(t,"base64"):Uint8Array.from(globalThis.atob(t),e=>e.codePointAt(0))):e})},async setItem(e,t,i={}){if(void 0===t)return c.removeItem(e);let{relativeKey:n,driver:o}=r(e=sT(e));o.setItem&&(await sC(o.setItem,n,sA(t),i),o.watch||s("update",e))},async setItems(e,t){await a(e,t,async e=>{if(e.driver.setItems)return sC(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:sA(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>sC(e.driver.setItem,t.relativeKey,sA(t.value),t.options)))})},async setItemRaw(e,t,i={}){if(void 0===t)return c.removeItem(e,i);let{relativeKey:n,driver:o}=r(e=sT(e));if(o.setItemRaw)await sC(o.setItemRaw,n,t,i);else{if(!o.setItem)return;await sC(o.setItem,n,"string"==typeof t?t:sR+(globalThis.Buffer?sx.from(t).toString("base64"):globalThis.btoa(String.fromCodePoint(...t))),i)}o.watch||s("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t});let{relativeKey:i,driver:n}=r(e=sT(e));n.removeItem&&(await sC(n.removeItem,i,t),(t.removeMeta||t.removeMata)&&await sC(n.removeItem,i+"$",t),n.watch||s("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t});let{relativeKey:i,driver:s}=r(e=sT(e)),n=Object.create(null);if(s.getMeta&&Object.assign(n,await sC(s.getMeta,i,t)),!t.nativeOnly){let e=await sC(s.getItem,i+"$",t).then(e=>(0,sO.ZP)(e));e&&"object"==typeof e&&("string"==typeof e.atime&&(e.atime=new Date(e.atime)),"string"==typeof e.mtime&&(e.mtime=new Date(e.mtime)),Object.assign(n,e))}return n},setMeta(e,t,r={}){return this.setItem(e+"$",t,r)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){let r=i(e=sN(e),!0),s=[],n=[],o=!0;for(let e of r){for(let r of(e.driver.flags?.maxDepth||(o=!1),await sC(e.driver.getKeys,e.relativeBase,t))){let t=e.mountpoint+sT(r);s.some(e=>t.startsWith(e))||n.push(t)}s=[e.mountpoint,...s.filter(t=>!t.startsWith(e.mountpoint))]}let a=void 0!==t.maxDepth&&!o;return n.filter(r=>{var i;return(!a||function(e,t){if(void 0===t)return!0;let r=0,i=e.indexOf(":");for(;i>-1;)r++,i=e.indexOf(":",i+1);return r<=t}(r,t.maxDepth))&&((i=e)?r.startsWith(i)&&"$"!==r[r.length-1]:"$"!==r[r.length-1])})},async clear(e,t={}){e=sN(e),await Promise.all(i(e,!1).map(async e=>e.driver.clear?sC(e.driver.clear,e.relativeBase,t):e.driver.removeItem?Promise.all((await e.driver.getKeys(e.relativeBase||"",t)).map(r=>e.driver.removeItem(r,t))):void 0))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>sL(e)))},watch:async e=>(await n(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),0===t.watchListeners.length&&await o()}),async unwatch(){t.watchListeners=[],await o()},mount(e,r){if((e=sN(e))&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>
10t.length-e.length)),t.mounts[e]=r,t.watching&&Promise.resolve(sk(r,s,e)).then(r=>{t.unwatch[e]=r}).catch(console.error),c},async unmount(e,r=!0){(e=sN(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e]?.(),delete t.unwatch[e]),r&&await sL(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=""){let t=r(e=sT(e)+":");return{driver:t.driver,base:t.base}},getMounts:(e="",t={})=>i(e=sT(e),t.parents).map(e=>({driver:e.driver,base:e.mountpoint})),keys:(e,t={})=>c.getKeys(e,t),get:(e,t={})=>c.getItem(e,t),set:(e,t,r={})=>c.setItem(e,t,r),has:(e,t={})=>c.hasItem(e,t),del:(e,t={})=>c.removeItem(e,t),remove:(e,t={})=>c.removeItem(e,t)};return c}({driver:sq({dbName:"WALLET_CONNECT_V2_INDEXED_DB",storeName:"keyvaluestorage"})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(null!==t)return t}async setItem(e,t){await this.indexedDb.setItem(e,(0,sB.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var s$="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof r.g?r.g:"u">typeof self?self:{},sz={exports:{}};function sF(e){var t;return[e[0],(0,sB.D)(null!=(t=e[1])?t:"")]}!function(){function e(){}e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},e.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),"u">typeof s$&&s$.localStorage?sz.exports=s$.localStorage:"u">typeof window&&window.localStorage?sz.exports=window.localStorage:sz.exports=new e}();class sH{constructor(){this.localStorage=sz.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(sF)}async getItem(e){let t=this.localStorage.getItem(e);if(null!==t)return(0,sB.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,sB.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}let sV=async(e,t,r)=>{let i="wc_storage_version",s=await t.getItem(i);if(s&&s>=1){r(t);return}let n=await e.getKeys();if(!n.length){r(t);return}let o=[];for(;n.length;){let r=n.shift();if(!r)continue;let i=r.toLowerCase();if(i.includes("wc@")||i.includes("walletconnect")||i.includes("wc_")||i.includes("wallet_connect")){let i=await e.getItem(r);await t.setItem(r,i),o.push(r)}}await t.setItem(i,1),r(t),sK(e,o)},sK=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})};class sW{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new sH;this.storage=e;try{let t=new sM;sV(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}}var sJ=r(15133),sG=r(93514),sY=Object.defineProperty,sZ=(e,t,r)=>t in e?sY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,sQ=(e,t,r)=>sZ(e,"symbol"!=typeof t?t+"":t,r);class sX extends sG.q{constructor(e){super(),this.opts=e,sQ(this,"protocol","wc"),sQ(this,"version",2)}}var s0=Object.defineProperty,s1=(e,t,r)=>t in e?s0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,s2=(e,t,r)=>s1(e,"symbol"!=typeof t?t+"":t,r);class s8 extends sG.q{constructor(e,t){super(),this.core=e,this.logger=t,s2(this,"records",new Map)}}class s3{constructor(e,t){this.logger=e,this.core=t}}class s5 extends sG.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class s6 extends sG.q{constructor(e){super()}}
10class s4{constructor(e,t,r,i){this.core=e,this.logger=t,this.name=r}}class s9 extends sG.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class s7 extends sG.q{constructor(e,t){super(),this.core=e,this.logger=t}}class ne{constructor(e,t,r){this.core=e,this.logger=t,this.store=r}}class nt{constructor(e,t){this.projectId=e,this.logger=t}}class nr{constructor(e,t,r){this.core=e,this.logger=t,this.telemetryEnabled=r}}var ni=Object.defineProperty,ns=(e,t,r)=>t in e?ni(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nn=(e,t,r)=>ns(e,"symbol"!=typeof t?t+"":t,r);class no{constructor(e){this.opts=e,nn(this,"protocol","wc"),nn(this,"version",2)}}class na{constructor(e){this.client=e}}var nc=r(38979),nl=r(5276),nh=r(75646),nu=r(82957).lW,nd=r(40257);let np="core",nf=`wc@2:${np}:`,ng={logger:"error"},ny={database:":memory:"},nm="client_ed25519_seed",nb=o.ONE_DAY,nw=o.SIX_HOURS,nv="wss://relay.walletconnect.org",nE={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",publish:"relayer_publish"},nI={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},n_="2.21.1",nD={link_mode:"link_mode",relay:"relay"},nP={inbound:"inbound",outbound:"outbound"},nS="WALLETCONNECT_LINK_MODE_APPS",nO={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},nx=(o.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:o.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:o.ONE_DAY,prompt:!1,tag:0},res:{ttl:o.ONE_DAY,prompt:!1,tag:0}}}),nC={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},nA={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},nR={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},nT="https://verify.walletconnect.org",nN=`${nT}/v3`,nj=["https://verify.walletconnect.com",nT],nk={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal"},nL={no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_listener_not_found:"proposal_listener_not_found"},nU={session_approve_started:"session_approve_started",session_namespaces_validation_success:"session_namespaces_validation_success",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},nB={no_internet_connection:"no_internet_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},nq={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"}
10,nM={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"};var n$=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let nz=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},nF=e=>new TextEncoder().encode(e),nH=e=>new TextDecoder().decode(e);class nV{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class nK{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return nJ(this,e)}}class nW{constructor(e){this.decoders=e}or(e){return nJ(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let nJ=(e,t)=>new nW({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});
10class nG{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new nV(e,t,r),this.decoder=new nK(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let nY=({name:e,prefix:t,encode:r,decode:i})=>new nG(e,t,r,i),nZ=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=n$(r,t);return nY({prefix:e,name:t,encode:i,decode:e=>nz(s(e))})},nQ=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},nX=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},n0=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>nY({prefix:t,name:e,encode:e=>nX(e,i,r),decode:t=>nQ(t,i,r,e)});var n1=Object.freeze({__proto__:null,identity:nY({prefix:"\0",name:"identity",encode:e=>nH(e),decode:e=>nF(e)})}),n2=Object.freeze({__proto__:null,base2:n0({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),n8=Object.freeze({__proto__:null,base8:n0({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),n3=Object.freeze({__proto__:null,base10:nZ({prefix:"9",name:"base10",alphabet:"0123456789"})}),n5=Object.freeze({__proto__:null,base16:n0({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:n0({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let n6=n0({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),n4=n0({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),n9=n0({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),n7=n0({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),oe=n0({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ot=n0({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var or=Object.freeze({__proto__:null,base32:n6,base32upper:n4,base32pad:n9,base32padupper:n7,base32hex:oe,base32hexupper:ot,base32hexpad:n0({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:n0({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:n0({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),oi=Object.freeze({__proto__:null,base36:nZ({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:nZ({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),os=Object.freeze({__proto__:null,base58btc:nZ({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:nZ({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let on=n0({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var oo=Object.freeze({__proto__:null,base64:on,base64pad:n0({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:n0({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:n0({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let oa=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),oc=oa.reduce((e,t,r)=>(e[r]=t,e),[]),ol=oa.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);var oh=Object.freeze({__proto__:null,base256emoji:nY({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>
10e+=oc[t],"")},decode:function(e){let t=[];for(let r of e){let e=ol[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}})});function ou(e,t){var r,i=0,t=t||0,s=0,n=t,o=e.length;do{if(n>=o)throw ou.bytes=0,RangeError("Could not decode varint");r=e[n++],i+=s<28?(127&r)<<s:(127&r)*Math.pow(2,s),s+=7}while(r>=128);return ou.bytes=n-t,i}var od=function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r};let op=(e,t,r=0)=>(od(e,t,r),t),of=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,og=(e,t)=>{let r=t.byteLength,i=of(e),s=i+of(r),n=new Uint8Array(s+r);return op(e,n,0),op(r,n,i),n.set(t,s),new oy(e,r,t,n)};class oy{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let om=({name:e,code:t,encode:r})=>new ob(e,t,r);class ob{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?og(this.code,t):t.then(e=>og(this.code,e))}throw Error("Unknown type, must be binary type")}}let ow=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var ov=Object.freeze({__proto__:null,sha256:om({name:"sha2-256",code:18,encode:ow("SHA-256")}),sha512:om({name:"sha2-512",code:19,encode:ow("SHA-512")})}),oE=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:nz,digest:e=>og(0,nz(e))}});new TextEncoder,new TextDecoder;let oI={...n1,...n2,...n8,...n3,...n5,...or,...oi,...os,...oo,...oh};function o_(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...ov,...oE});let oD=o_("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),oP=o_("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=function(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),oS={utf8:oD,"utf-8":oD,hex:oI.base16,latin1:oP,ascii:oP,binary:oP,...oI};var oO=Object.defineProperty,ox=(e,t,r)=>t in e?oO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oC=(e,t,r)=>ox(e,"symbol"!=typeof t?t+"":t,r);class oA{constructor(e,t){this.core=e,this.logger=t,oC(this,"keychain",new Map),oC(this,"name","keychain"),oC(this,"version","0.3"),oC(this,"initialized",!1),oC(this,"storagePrefix",nf),oC(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),oC(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),oC(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),oC(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=so("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),oC(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,sJ.Ep)(t,this.name)}get context(){return(0,sJ.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,eT(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?eN(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}}var oR=Object.defineProperty,oT=(e,t,r)=>t in e?oR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oN=(e,t,r)=>oT(e,"symbol"!=typeof t?t+"":t,r);class oj{constructor(e,t,r){this.core=e,this.logger=t,oN(this,"name","crypto"),oN(this,"keychain"),oN(this,"randomSessionIdentifier",iB()),oN(this,"initialized",!1),oN(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),oN(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),oN(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=eo.Au(e);return eo.bG(t.publicKey)}),oN(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=iI.utils.randomPrivateKey(),t=iI.getPublicKey(e);return{privateKey:(0,ea.BB)(e,ij),publicKey:(0,ea.BB)(t,ij)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),oN(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),r=eo.Au(t),i=this.randomSessionIdentifier;return await eo.vf(i,e,nb,r)}),oN(this,"generateSharedKey",(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=rf(rv,iI.getSharedSecret((0,ea.mL)(e,ij),(0,ea.mL)(t,ij)),void 0,void 0,32);return(0,ea.BB)(r,ij)}(this.getPrivateKey(e),t);return this.setSymKey(i,r)}),oN(this,"setSymKey",async(e,t)=>{this.isInitialized();let r=t||iq(e);return await this.keychain.set(r,e),r}),oN(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),oN(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),oN(this,"encode",async(e,t,r)=>{this.isInitialized();let i=iW(r),s=(0,sB.u)(t);if(2===i.type)return function(e,t){let r=i$(2),i=ti(12),s=iV({type:r,sealed:(0,ea.mL)(e,iU),iv:i});return t===iL?iF(s):s}(s,r?.encoding);
10if(iJ(i)){let t=i.senderPublicKey,r=i.receiverPublicKey;e=await this.generateSharedKey(t,r)}let n=this.getSymKey(e),{type:o,senderPublicKey:a}=i;return function(e){let t=i$("u">typeof e.type?e.type:0);if(1===iz(t)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let r="u">typeof e.senderPublicKey?(0,ea.mL)(e.senderPublicKey,ij):void 0,i="u">typeof e.iv?(0,ea.mL)(e.iv,ij):ti(12),s=iV({type:t,sealed:rl((0,ea.mL)(e.symKey,ij),i).encrypt((0,ea.mL)(e.message,iU)),iv:i,senderPublicKey:r});return e.encoding===iL?iF(s):s}({type:o,symKey:n,message:s,senderPublicKey:a,encoding:r?.encoding})}),oN(this,"decode",async(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=iK({encoded:e,encoding:t?.encoding});return iW({type:iz(r.type),senderPublicKey:"u">typeof r.senderPublicKey?(0,ea.BB)(r.senderPublicKey,ij):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,r);if(2===i.type){let e=function(e,t){let{sealed:r}=iK({encoded:e,encoding:t});return(0,ea.BB)(r,iU)}(t,r?.encoding);return(0,sB.D)(e)}if(iJ(i)){let t=i.receiverPublicKey,r=i.senderPublicKey;e=await this.generateSharedKey(t,r)}try{let i=this.getSymKey(e),s=function(e){let t=(0,ea.mL)(e.symKey,ij),{sealed:r,iv:i}=iK({encoded:e.encoded,encoding:e.encoding}),s=rl(t,i).decrypt(r);if(null===s)throw Error("Failed to decrypt");return(0,ea.BB)(s,iU)}({symKey:i,encoded:t,encoding:r?.encoding});return(0,sB.D)(s)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),oN(this,"getPayloadType",(e,t=ik)=>iz(iK({encoded:e,encoding:t}).type)),oN(this,"getPayloadSenderPublicKey",(e,t=ik)=>{let r=iK({encoded:e,encoding:t});return r.senderPublicKey?(0,ea.BB)(r.senderPublicKey,ij):void 0}),this.core=e,this.logger=(0,sJ.Ep)(t,this.name),this.keychain=r||new oA(this.core,this.logger)}get context(){return(0,sJ.Fd)(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(nm)}catch{e=iB(),await this.keychain.set(nm,e)}return function(e,t="utf8"){let r=oS[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):r.decoder.decode(`${r.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}}var ok=Object.defineProperty,oL=Object.defineProperties,oU=Object.getOwnPropertyDescriptors,oB=Object.getOwnPropertySymbols,oq=Object.prototype.hasOwnProperty,oM=Object.prototype.propertyIsEnumerable,o$=(e,t,r)=>t in e?ok(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oz=(e,t)=>{for(var r in t||(t={}))oq.call(t,r)&&o$(e,r,t[r]);if(oB)for(var r of oB(t))oM.call(t,r)&&o$(e,r,t[r]);return e},oF=(e,t)=>oL(e,oU(t)),oH=(e,t,r)=>o$(e,"symbol"!=typeof t?t+"":t,r);class oV extends s3{constructor(e,t){super(e,t),this.logger=e,this.core=t,oH(this,"messages",new Map),oH(this,"messagesWithoutClientAck",new Map),oH(this,"name","messages"),oH(this,"version","0.3"),oH(this,"initialized",!1),oH(this,"storagePrefix",nf),oH(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{let e=await this.getRelayerMessages();"u">typeof e&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();"u">typeof t&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),oH(this,"set",async(e,t,r)=>{this.isInitialized();let i=iM(t),s=this.messages.get(e);if(typeof s>"u"&&(s={}),"u">typeof s[i])return i;if(s[i]=t,this.messages.set(e,s),r===nP.inbound){let r=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,oF(oz({},r),{[i]:t}))}return await this.persist(),i}),oH(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),oH(this,"getWithoutAck",e=>{this.isInitialized();let t={};for(let r of e){let e=this.messagesWithoutClientAck.get(r)||{};t[r]=Object.values(e)}return t}),oH(this,"has",(e,t)=>(this.isInitialized(),"u">typeof this.get(e)[iM(t)])),oH(this,"ack",async(e,t)=>{this.isInitialized();let r=this.messagesWithoutClientAck.get(e);if(typeof r>"u")return;let i=iM(t);delete r[i],0===Object.keys(r).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,r),await this.persist()}),oH(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=(0,sJ.Ep)(e,this.name),this.core=t}
10get context(){return(0,sJ.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,eT(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,eT(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?eN(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return"u">typeof e?eN(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}}var oK=Object.defineProperty,oW=Object.defineProperties,oJ=Object.getOwnPropertyDescriptors,oG=Object.getOwnPropertySymbols,oY=Object.prototype.hasOwnProperty,oZ=Object.prototype.propertyIsEnumerable,oQ=(e,t,r)=>t in e?oK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oX=(e,t)=>{for(var r in t||(t={}))oY.call(t,r)&&oQ(e,r,t[r]);if(oG)for(var r of oG(t))oZ.call(t,r)&&oQ(e,r,t[r]);return e},o0=(e,t)=>oW(e,oJ(t)),o1=(e,t,r)=>oQ(e,"symbol"!=typeof t?t+"":t,r);class o2 extends s5{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,o1(this,"events",new i.EventEmitter),o1(this,"name","publisher"),o1(this,"queue",new Map),o1(this,"publishTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),o1(this,"initialPublishTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),o1(this,"needsTransportRestart",!1),o1(this,"publish",async(e,t,r)=>{var i;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:r}});let s=r?.ttl||nw,n=iG(r),o=r?.prompt||!1,a=r?.tag||0,c=r?.id||(0,nl.getBigIntRpcId)().toString(),l={topic:e,message:t,opts:{ttl:s,relay:n,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}},h=`Failed to publish payload, please try again. id:${c} tag:${a}`;try{let i=new Promise(async i=>{let n=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(nE.publish,n),i(l))};this.relayer.events.on(nE.publish,n);let h=ek(new Promise((i,n)=>{this.rpcPublish({topic:e,message:t,ttl:s,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}).then(i).catch(e=>{this.logger.warn(e,e?.message),n(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${a}`);try{await h,this.events.removeListener(nE.publish,n)}catch(e){this.queue.set(c,o0(oX({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:c,topic:e,message:t,opts:r}}),await ek(i,this.publishTimeout,h)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(i=r?.internal)&&i.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),o1(this,"on",(e,t)=>{this.events.on(e,t)}),o1(this,"once",(e,t)=>{this.events.once(e,t)}),o1(this,"off",(e,t)=>{this.events.off(e,t)}),o1(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,sJ.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,sJ.Fd)(this.logger)}async rpcPublish(e){var t,r,i,s;let{topic:n,message:o,ttl:a=nw,prompt:c,tag:l,id:h,attestation:u,tvf:d}=e,p={method:iY(iG().protocol).publish,params:oX({topic:n,message:o,ttl:a,prompt:c,tag:l,attestation:u},d),id:h};sh(null==(t=p.params)?void 0:t.prompt)&&(null==(r=p.params)||delete r.prompt),sh(null==(i=p.params)?void 0:i.tag)&&(null==(s=p.params)||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:p});let f=await this.relayer.request(p);return this.relayer.events.emit(nE.publish,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let r=e.attempt+1;this.queue.set(t,o0(oX({},e),{attempt:r}));let{topic:i,message:s,opts:n,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(o0(oX({},e),{topic:i,message:s,ttl:n.ttl,prompt:n.prompt,tag:n.tag,id:n.id,attestation:o,tvf:n.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(sS.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(nE.connection_stalled);return}this.checkQueue()}),this.relayer.on(nE.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var o8=Object.defineProperty,o3=(e,t,r)=>t in e?o8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o5=(e,t,r)=>o3(e,"symbol"!=typeof t?t+"":t,r);class o6{constructor(){o5(this,"map",new Map),o5(this,"set",(e,t)=>{let r=this.get(e);this.exists(e,t)||this.map.set(e,[...r,t])}),o5(this,"get",e=>this.map.get(e)||[]),o5(this,"exists",(e,t)=>this.get(e).includes(t)),o5(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let r=this.get(e);if(!this.exists(e,t))return;let i=r.filter(e=>e!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),o5(this,"clear",()=>{this.map.clear()})}
10get topics(){return Array.from(this.map.keys())}}var o4=Object.defineProperty,o9=Object.defineProperties,o7=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,ai=(e,t,r)=>t in e?o4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,as=(e,t)=>{for(var r in t||(t={}))at.call(t,r)&&ai(e,r,t[r]);if(ae)for(var r of ae(t))ar.call(t,r)&&ai(e,r,t[r]);return e},an=(e,t)=>o9(e,o7(t)),ao=(e,t,r)=>ai(e,"symbol"!=typeof t?t+"":t,r);class aa extends s9{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,ao(this,"subscriptions",new Map),ao(this,"topicMap",new o6),ao(this,"events",new i.EventEmitter),ao(this,"name","subscription"),ao(this,"version","0.3"),ao(this,"pending",new Map),ao(this,"cached",[]),ao(this,"initialized",!1),ao(this,"storagePrefix",nf),ao(this,"subscribeTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),ao(this,"initialSubscribeTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),ao(this,"clientId"),ao(this,"batchSubscribeTopicsLimit",500),ao(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),ao(this,"subscribe",async(e,t)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}});try{let r=iG(t),i={topic:e,relay:r,transportType:t?.transportType};this.pending.set(e,i);let s=await this.rpcSubscribe(e,r,t);return"string"==typeof s&&(this.onSubscribe(s,i),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),s}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),ao(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),ao(this,"isSubscribed",e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),ao(this,"isKnownTopic",e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),ao(this,"on",(e,t)=>{this.events.on(e,t)}),ao(this,"once",(e,t)=>{this.events.once(e,t)}),ao(this,"off",(e,t)=>{this.events.off(e,t)}),ao(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),ao(this,"start",async()=>{await this.onConnect()}),ao(this,"stop",async()=>{await this.onDisconnect()}),ao(this,"restart",async()=>{await this.restore(),await this.onRestart()}),ao(this,"checkPending",async()=>{if(0===this.pending.size&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),ao(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(sS.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(nO.created,async e=>{let t=nO.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(nO.deleted,async e=>{let t=nO.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,sJ.Ep)(t,this.name),this.clientId=""}get context(){return(0,sJ.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let r=!1;try{r=this.getSubscription(e).topic===t}catch{}return r}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let r=this.topicMap.get(e);await Promise.all(r.map(async r=>await this.unsubscribeById(e,r,t)))}async unsubscribeById(e,t,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}});try{let i=iG(r);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);let s=sa("USER_DISCONNECTED",`${this.name}, ${e}`);
10await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,r){var i;r&&r?.transportType!==nD.relay||await this.restartToComplete({topic:e,id:e,relay:t});let s={method:iY(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});let n=null==(i=r?.internal)?void 0:i.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(r?.transportType===nD.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(e=>this.logger.warn(e))},(0,o.toMiliseconds)(o.ONE_SECOND)),t;let i=new Promise(async t=>{let r=i=>{i.topic===e&&(this.events.removeListener(nO.created,r),t(i.id))};this.events.on(nO.created,r);try{let i=await ek(new Promise((e,t)=>{this.relayer.request(s).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(nO.created,r),t(i)}catch{}}),a=await ek(i,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&n)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(nE.connection_stalled),n)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t={method:iY(e[0].relay.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:t});try{await await ek(new Promise(e=>{this.relayer.request(t).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(nE.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let r={method:iY(e[0].relay.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});try{t=await await ek(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(nE.connection_stalled)}return t}rpcUnsubscribe(e,t,r){let i={method:iY(r.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,an(as({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,as({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,r){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,r),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,as({},t)),this.topicMap.set(t.topic,e),this.events.emit(nO.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=so("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});let r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(nO.deleted,an(as({},r),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(nO.sync)}
10async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<t;r++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(nO.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=so("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>an(as({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){var t;if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let r=await this.rpcBatchFetchMessages(e);r&&r.messages&&(await (t=(0,o.toMiliseconds)(o.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(r.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}async restartToComplete(e){this.relayer.connected||this.relayer.connecting||(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return iM(e+await this.getClientId())}}var ac=Object.defineProperty,al=Object.getOwnPropertySymbols,ah=Object.prototype.hasOwnProperty,au=Object.prototype.propertyIsEnumerable,ad=(e,t,r)=>t in e?ac(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ap=(e,t)=>{for(var r in t||(t={}))ah.call(t,r)&&ad(e,r,t[r]);if(al)for(var r of al(t))au.call(t,r)&&ad(e,r,t[r]);return e},af=(e,t,r)=>ad(e,"symbol"!=typeof t?t+"":t,r);class ag extends s6{constructor(e){super(e),af(this,"protocol","wc"),af(this,"version",2),af(this,"core"),af(this,"logger"),af(this,"events",new i.EventEmitter),af(this,"provider"),af(this,"messages"),af(this,"subscriber"),af(this,"publisher"),af(this,"name","relayer"),af(this,"transportExplicitlyClosed",!1),af(this,"initialized",!1),af(this,"connectionAttemptInProgress",!1),af(this,"relayUrl"),af(this,"projectId"),af(this,"packageName"),af(this,"bundleId"),af(this,"hasExperiencedNetworkDisruption",!1),af(this,"pingTimeout"),af(this,"heartBeatTimeout",(0,o.toMiliseconds)(o.THIRTY_SECONDS+o.FIVE_SECONDS)),af(this,"reconnectTimeout"),af(this,"connectPromise"),af(this,"reconnectInProgress",!1),af(this,"requestsInFlight",[]),af(this,"connectTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),af(this,"request",async e=>{var t,r;this.logger.debug("Publishing Request Payload");let i=e.id||(0,nl.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:i,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let s=`${i}:${(null==(r=e.params)?void 0:r.tag)||""}`;this.requestsInFlight.push(s);let n=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==s),n}catch(e){throw this.logger.debug(`Failed to Publish Request: ${i}`),e}}),af(this,"resetPingTimeout",()=>{eD()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,r,i;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(i=null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.terminate)||i.call(r)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),af(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),af(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(nE.connect)}),af(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),af(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(nE.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),af(this,"registerProviderListeners",()=>{this.provider.on(nI.payload,this.onPayloadHandler),this.provider.on(nI.connect,this.onConnectHandler),this.provider.on(nI.disconnect,this.onDisconnectHandler),this.provider.on(nI.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,sJ.Ep)(e.logger,this.name):(0,sJ.gw)((0,sJ.jI)({level:e.logger||"error"})),this.messages=new oV(this.logger,e.core),this.subscriber=new aa(this,this.logger),this.publisher=new o2(this,this.logger),this.relayUrl=e?.relayUrl||nv,this.projectId=e.projectId,eP()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="android"?this.packageName=ex():eP()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="ios"&&(this.bundleId=ex()),this.provider={}}
10async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return(0,sJ.Fd)(this.logger)}get connected(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===1}get connecting(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===0||void 0!==this.connectPromise}async publish(e,t,r){this.isInitialized(),await this.publisher.publish(e,t,r),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:nD.relay},nP.outbound)}async subscribe(e,t){var r,i,s;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let n=typeof(null==(r=t?.internal)?void 0:r.throwOnFailedPublish)>"u"||(null==(i=t?.internal)?void 0:i.throwOnFailedPublish),o=(null==(s=this.subscriber.topicMap.get(e))?void 0:s[0])||"",a,c=t=>{t.topic===e&&(this.subscriber.off(nO.created,c),a())};return await Promise.all([new Promise(e=>{a=e,this.subscriber.on(nO.created,c)}),new Promise(async(r,i)=>{o=await this.subscriber.subscribe(e,ap({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&i(e)})||o,r()})]),o}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await ek(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,r)=>{await this.connect(e).then(t).catch(r).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await sI())throw Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);for(let e of(this.logger.debug(`Batch of ${t.length} message events sorted`),t))try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,"Error while processing batch message event: "+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:r}=e;if(!t.sessionExists){let e=eB(o.FIVE_MINUTES);await this.core.pairing.pairings.set(r,{topic:r,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(nE.message,e),await this.recordMessageEvent(e,nP.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(nI.disconnect,r),await ek(new Promise((e,t)=>
10{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(nI.disconnect,r),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(nI.disconnect,r),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(nI.disconnect,r)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop(),this.logger.warn({},e.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,o.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,r,i,s;if(eD())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(s=null==(i=null==(r=this.provider)?void 0:r.connection)?void 0:i.socket)||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new nc.r(new nh.Z(function({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:s,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){let l=r.split("?"),h=eA(e,t,i),u=function(e,t){let r=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let i=t[e];void 0!==i&&r.set(e,i)}return r.toString()}(l[1]||"",{auth:s,ua:h,projectId:n,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0});return l[0]+"?"+u}({sdkVersion:n_,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){let{topic:r,message:i}=e;await this.messages.set(r,i,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:r}=e;if(!r||0===r.length)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let i=this.messages.has(t,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,nl.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:r,message:i,publishedAt:s,attestation:n}=t.data,o={topic:r,message:i,publishedAt:s,transportType:nD.relay,attestation:n};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(ap({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else(0,nl.isJsonRpcResponse)(e)&&this.events.emit(nE.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,nP.inbound),this.events.emit(nE.message,e))}async acknowledgePayload(e){let t=(0,nl.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(nI.payload,this.onPayloadHandler),this.provider.off(nI.connect,this.onConnectHandler),this.provider.off(nI.disconnect,this.onDisconnectHandler),this.provider.off(nI.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await sI();(function(e){switch(eO()){case e_.browser:!eP()&&eS()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case e_.reactNative:eP()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo&&r.g?.NetInfo.addEventListener(t=>e(t?.isConnected));case e_.node:}})(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(sS.Lx.pulse,async()=>{var e;if(!this.transportExplicitlyClosed&&!this.connected&&(!(eS()&&(0,a.getDocument)())||
10(null==(e=(0,a.getDocument)())?void 0:e.visibilityState)==="visible"))try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(nE.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,o.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function ay(){}function am(e){if(!e||"object"!=typeof e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function ab(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function aw(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let av="[object Arguments]",aE="[object Object]";var aI=Object.defineProperty,a_=Object.getOwnPropertySymbols,aD=Object.prototype.hasOwnProperty,aP=Object.prototype.propertyIsEnumerable,aS=(e,t,r)=>t in e?aI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aO=(e,t)=>{for(var r in t||(t={}))aD.call(t,r)&&aS(e,r,t[r]);if(a_)for(var r of a_(t))aP.call(t,r)&&aS(e,r,t[r]);return e},ax=(e,t,r)=>aS(e,"symbol"!=typeof t?t+"":t,r);class aC extends s4{constructor(e,t,r,i=nf,s){super(e,t,r,i),this.core=e,this.logger=t,this.name=r,ax(this,"map",new Map),ax(this,"version","0.3"),ax(this,"cached",[]),ax(this,"initialized",!1),ax(this,"getKey"),ax(this,"storagePrefix",nf),ax(this,"recentlyDeleted",[]),ax(this,"recentlyDeletedLimit",200),ax(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{var t;this.getKey&&null!==e&&!sh(e)?this.map.set(this.getKey(e),e):(null==(t=e?.proposer)?void 0:t.publicKey)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),ax(this,"set",async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:e,value:t}),this.map.set(e,t),await this.persist())}),ax(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),ax(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(r=>(function e(t,r,i,s,n,o,a){let c=a(t,r,i,s,n,o);if(void 0!==c)return c;if(typeof t==typeof r)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===r;case"number":return t===r||Object.is(t,r)}return function t(r,i,s,n){if(Object.is(r,i))return!0;let o=aw(r),a=aw(i);if(o===av&&(o=aE),a===av&&(a=aE),o!==a)return!1;switch(o){case"[object String]":return r.toString()===i.toString();case"[object Number]":{let e=r.valueOf(),t=i.valueOf();return e===t||Number.isNaN(e)&&Number.isNaN(t)}case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(r.valueOf(),i.valueOf());case"[object RegExp]":return r.source===i.source&&r.flags===i.flags;case"[object Function]":return r===i}let c=(s=s??new Map).get(r),l=s.get(i);if(null!=c&&null!=l)return c===i;s.set(r,i),s.set(i,r);try{switch(o){case"[object Map]":if(r.size!==i.size)return!1;for(let[t,o]of r.entries())if(!i.has(t)||!e(o,i.get(t),t,r,i,s,n))return!1;return!0;case"[object Set]":{if(r.size!==i.size)return!1;let t=Array.from(r.values()),o=Array.from(i.values());for(let a=0;a<t.length;a++){let c=t[a],l=o.findIndex(t=>e(c,t,void 0,r,i,s,n));if(-1===l)return!1;o.splice(l,1)}return!0}case"[object Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":case"[object BigUint64Array
10]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object BigInt64Array]":case"[object Float32Array]":case"[object Float64Array]":if("u">typeof nu&&nu.isBuffer(r)!==nu.isBuffer(i)||r.length!==i.length)return!1;for(let t=0;t<r.length;t++)if(!e(r[t],i[t],t,r,i,s,n))return!1;return!0;case"[object ArrayBuffer]":return r.byteLength===i.byteLength&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object DataView]":return r.byteLength===i.byteLength&&r.byteOffset===i.byteOffset&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object Error]":return r.name===i.name&&r.message===i.message;case aE:{if(!(t(r.constructor,i.constructor,s,n)||am(r)&&am(i)))return!1;let o=[...Object.keys(r),...ab(r)],a=[...Object.keys(i),...ab(i)];if(o.length!==a.length)return!1;for(let t=0;t<o.length;t++){let a=o[t],c=r[a];if(!Object.hasOwn(i,a))return!1;let l=i[a];if(!e(c,l,a,r,i,s,n))return!1}return!0}default:return!1}}finally{s.delete(r),s.delete(i)}}(t,r,o,a)})(t[r],e[r],void 0,void 0,void 0,void 0,ay))):this.values)),ax(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let r=aO(aO({},this.getData(e)),t);this.map.set(e,r),await this.persist()}),ax(this,"delete",async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=(0,sJ.Ep)(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return(0,sJ.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=so("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=so("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){let{message:e}=so("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}}var aA=Object.defineProperty,aR=(e,t,r)=>t in e?aA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aT=(e,t,r)=>aR(e,"symbol"!=typeof t?t+"":t,r);class aN{constructor(e,t){this.core=e,this.logger=t,aT(this,"name","pairing"),aT(this,"version","0.3"),aT(this,"events",new(s())),aT(this,"pairings"),aT(this,"initialized",!1),aT(this,"storagePrefix",nf),aT(this,"ignoredPayloadTypes",[1]),aT(this,"registeredMethods",[]),aT(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),aT(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),aT(this,"create",async e=>{this.isInitialized();let t=iB(),r=await this.core.crypto.setSymKey(t),i=eB(o.FIVE_MINUTES),s={protocol:"irn"},n={topic:r,expiry:i,relay:s,active:!1,methods:e?.methods},a=iQ({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:t,relay:s,expiryTimestamp:i,methods:e?.methods});return this.events.emit(nC.create,n),this.core.expirer.set(r,i),await this.pairings.set(r,n),await this.core.relayer.subscribe(r,{transportType:e?.transportType}),{topic:r,uri:a}}),aT(this,"pair",async e=>{let t;this.isInitialized();let r=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[nk.pairing_started]}});this.isValidPair(e,r);let{topic:i,symKey:s,relay:n,expiryTimestamp:a,methods:c}=iZ(e.uri);if(r.props.properties.topic=i,r.addTrace(nk.pairing_uri_validation_success),r.addTrace(nk.pairing_uri_not_expired),this.pairings.keys.includes(i)){if(t=this.pairings.get(i),r.addTrace(nk.existing_pairing),t.active)throw r.setError(nL.active_pairing_already_exists),Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);r.addTrace(nk.pairing_not_expired)}let l=a||eB(o.FIVE_MINUTES),h={topic:i,relay:n,expiry:l,active:!1,methods:c};this.core.expirer.set(i,l),await this.pairings.set(i,h),r.addTrace(nk.store_new_pairing),e.activatePairing&&await this.activate({topic:i}),this.events.emit(nC.create,h),r.addTrace(nk.emit_inactive_pairing),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(s,i),r.addTrace(nk.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(nL.no_internet_connection)}try{await this.core.relayer.subscribe(i,{relay:n})}catch(e){throw r.setError(nL.subscribe_pairing_topic_failure),e}return r.addTrace(nk.subscribe_pairing_topic_success),h}),aT(this,"activate",async({topic:e})=>{this.isInitialized();let t=eB(o.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),aT(this,"ping",async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn("ping() is deprecated and will be removed in the next major release.");let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,"wc_pairingPing",{}),{done:r,resolve:i,reject:s}=ej();this.events.once(eM("pairing_ping",e),({error:e})=>{e?s(e):i()}),await r()}}),aT(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),aT(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),aT(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),aT(this,"disconnect",async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,"wc_pairingDelete",sa("USER_DISCONNECTED")),await this.deletePairing(t))}),aT(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:r,expiry:i,methods:s}=e,n=this.core.crypto.keychain.get(t);return iQ({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:n,relay:r,expiryTimestamp:i,methods:s})}),aT(this,"sendRequest",async(e,t,r)=>{let i=(0,nl.formatJsonRpcRequest)(t,r),s=await this.core.crypto.encode(e,i),n=nx[t].req;return this.core.history.set(e,i),this.core.relayer.publish(e,s,n),i.id}),aT(this,"sendResult",async(e,t,r)=>{let i=(0,nl.formatJsonRpcResult)(e,r),s=await this.core.crypto.encode(t,i),n=nx[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,s,n),await this.core.history.resolve(i)}),aT(this,"sendError",async(e,t,r)=>{let i=(0,nl.formatJsonRpcError)(e,r),s=await this.core.crypto.encode(t,i),n=(await this.core.history.get(t,e)).request.method,o=nx[n]?nx[n].res:nx.unregistered_method.res;await this.core.relayer.publish(t,s,o),await this.core.history.resolve(i)}),aT(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,sa("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),aT(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>eq(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),aT(this,"onRelayEventRequest",async e=>{let{topic:t,payload:r}=e;switch(r.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,r);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,r);default:return await this.onUnknownRpcMethodRequest(t,r)}}),aT(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r}=e,i=(await this.core.history.get(t,r.id)).request.method;return"wc_pairingPing"===i?this.onPairingPingResponse(t,r):this.onUnknownRpcMethodResponse(i)}),aT(this,"onPairingPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult(r,e,!0),this.events.emit(nC.ping,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),aT(this,"onPairingPingResponse",(e,t)=>{let{id:r}=t;setTimeout(()=>
10{(0,nl.isJsonRpcResult)(t)?this.events.emit(eM("pairing_ping",r),{}):(0,nl.isJsonRpcError)(t)&&this.events.emit(eM("pairing_ping",r),{error:t.error})},500)}),aT(this,"onPairingDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(nC.delete,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),aT(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:r,method:i}=t;try{if(this.registeredMethods.includes(i))return;let t=sa("WC_METHOD_UNSUPPORTED",i);await this.sendError(r,e,t),this.logger.error(t)}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),aT(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(sa("WC_METHOD_UNSUPPORTED",e))}),aT(this,"isValidPair",(e,t)=>{var r;if(!sb(e)){let{message:r}=so("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(nL.malformed_pairing_uri),Error(r)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(su(e,!1)){if(t(e))return!0;let r=eW(e);return t(r)}}catch{}return!1}(e.uri)){let{message:r}=so("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(nL.malformed_pairing_uri),Error(r)}let i=iZ(e?.uri);if(!(null!=(r=i?.relay)&&r.protocol)){let{message:e}=so("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(nL.malformed_pairing_uri),Error(e)}if(!(null!=i&&i.symKey)){let{message:e}=so("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(nL.malformed_pairing_uri),Error(e)}if(null!=i&&i.expiryTimestamp&&(0,o.toMiliseconds)(i?.expiryTimestamp)<Date.now()){t.setError(nL.pairing_expired);let{message:e}=so("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),aT(this,"isValidPing",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),aT(this,"isValidDisconnect",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),aT(this,"isValidPairingTopic",async e=>{if(!su(e,!1)){let{message:t}=so("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=so("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(eq(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=so("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,sJ.Ep)(t,this.name),this.pairings=new aC(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,sJ.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(nE.message,async e=>{let{topic:t,message:r,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==nD.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{let e=await this.core.crypto.decode(t,r);(0,nl.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,nl.isJsonRpcResponse)(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,r)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(nR.expired,async e=>{let{topic:t}=eU(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(nC.expire,{topic:t}))})}}var aj=Object.defineProperty,ak=(e,t,r)=>t in e?aj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aL=(e,t,r)=>ak(e,"symbol"!=typeof t?t+"":t,r);class aU extends s8{constructor(e,t){super(e,t),this.core=e,this.logger=t,aL(this,"records",new Map),aL(this,"events",new i.EventEmitter),aL(this,"name","history"),aL(this,"version","0.3"),aL(this,"cached",[]),aL(this,"initialized",!1),aL(this,"storagePrefix",nf),aL(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(
10),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),aL(this,"set",(e,t,r)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:r}),this.records.has(t.id))return;let i={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:r,expiry:eB(o.THIRTY_DAYS)};this.records.set(i.id,i),this.persist(),this.events.emit(nA.created,i)}),aL(this,"resolve",async e=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>"u"&&(t.response=(0,nl.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(nA.updated,t))}),aL(this,"get",async(e,t)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:e,id:t}),await this.getRecord(t))),aL(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(r=>{r.topic!==e||"u">typeof t&&r.id!==t||(this.records.delete(r.id),this.events.emit(nA.deleted,r))}),this.persist()}),aL(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),aL(this,"on",(e,t)=>{this.events.on(e,t)}),aL(this,"once",(e,t)=>{this.events.once(e,t)}),aL(this,"off",(e,t)=>{this.events.off(e,t)}),aL(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,sJ.Ep)(t,this.name)}get context(){return(0,sJ.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){let e=[];return this.values.forEach(t=>{if("u">typeof t.response)return;let r={topic:t.topic,request:(0,nl.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(r)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=so("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(nA.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=so("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(nA.created,e=>{let t=nA.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(nA.updated,e=>{let t=nA.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(nA.deleted,e=>{let t=nA.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(sS.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,o.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(nA.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}}var aB=Object.defineProperty,aq=(e,t,r)=>t in e?aB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aM=(e,t,r)=>aq(e,"symbol"!=typeof t?t+"":t,r);class a$ extends s7{constructor(e,t){super(e,t),this.core=e,this.logger=t,aM(this,"expirations",new Map),aM(this,"events",new i.EventEmitter),aM(this,"name","expirer"),aM(this,"version","0.3"),aM(this,"cac
10hed",[]),aM(this,"initialized",!1),aM(this,"storagePrefix",nf),aM(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),aM(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),aM(this,"set",(e,t)=>{this.isInitialized();let r=this.formatTarget(e),i={target:r,expiry:t};this.expirations.set(r,i),this.checkExpiry(r,i),this.events.emit(nR.created,{target:r,expiration:i})}),aM(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),aM(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),r=this.getExpiration(t);this.expirations.delete(t),this.events.emit(nR.deleted,{target:t,expiration:r})}}),aM(this,"on",(e,t)=>{this.events.on(e,t)}),aM(this,"once",(e,t)=>{this.events.once(e,t)}),aM(this,"off",(e,t)=>{this.events.off(e,t)}),aM(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,sJ.Ep)(t,this.name)}get context(){return(0,sJ.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if("string"==typeof e)return eL("topic",e);if("number"==typeof e)return eL("id",e);let{message:t}=so("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(nR.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=so("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=so("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:r}=t;(0,o.toMiliseconds)(r)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(nR.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(sS.Lx.pulse,()=>this.checkExpirations()),this.events.on(nR.created,e=>{let t=nR.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(nR.expired,e=>{let t=nR.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(nR.deleted,e=>{let t=nR.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}}var az=Object.defineProperty,aF=(e,t,r)=>t in e?az(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aH=(e,t,r)=>aF(e,"symbol"!=typeof t?t+"":t,r);class aV extends ne{constructor(e,t,r){super(e,t,r),this.core=e,this.logger=t,this.store=r,aH(this,"name","verify-api"),aH(this,"abortController"),aH(this,"isDevEnv"),aH(this,"verifyUrlV3",nN),aH(this,"storagePrefix",nf),aH(this,"version",2),aH(this,"publicKey"),aH(this,"fetchPromise"),aH(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,o.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),aH(this,"register",async e=>{if(!eS()||this.isDevEnv)return;let t=window.location.origin,{id:r,decryptedId:i}=e,s=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${r}&decryptedId=${i}`;try{let e=(0,a.getDocument)(),t=this.startAbortTimer(5*o.ONE_SECOND),i=await new Promise((i,n)=>{let o=()=>{window.removeEventListener("message",c),e.body.removeChild(a),n("attestation aborted")};this.abortController.signal.addEventListener("abort",o);let a=e.createElement("iframe");a.src=s,a.style.display="none",a.addEventListener("error",o,{signal:this.abortController.signal});let c=s=>{if(s.data&&"string"==typeof s.data)try{let n=JSON.parse(s.data);if("verify_attestation"===n.type){if((0,eo.xp)(n.attestation).payload.id!==r)return;clearInterval(t),e.body.removeChild(a),this.abortController.signal.removeEventListener("abort",o),window.removeEventListener("message",c),i(null===n.attestation?"":n.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(a),window.addEventListener("message",c,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",i),i}catch(e){this.logger.warn(e)}return""}),aH(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:r,encryptedId:i}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,eo.xp)(t).payload.id!==i)return;let e=await this.isValidJwtAttestation(t);
10if(e){if(!e.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return e}}if(!r)return;let s=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(r,s)}),aH(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let r=this.startAbortTimer(5*o.ONE_SECOND),i=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(r),200===i.status?await i.json():void 0}),aH(this,"getVerifyUrl",e=>{let t=e||nT;return nj.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${nT}`),t=nT),t}),aH(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(o.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),aH(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),aH(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),aH(this,"isValidJwtAttestation",async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}let r=await this.fetchAndPersistPublicKey();try{if(r)return this.validateAttestation(e,r)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),aH(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),aH(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),aH(this,"validateAttestation",(e,t)=>{let r=function(e,t){let[r,i,s]=e.split("."),n=eh.from(iH(s),"base64");if(64!==n.length)throw Error("Invalid signature length");let o=n.slice(0,32),a=n.slice(32,64),c=rv(`${r}.${i}`),l=function(e){let t=eh.from(e.x,"base64"),r=eh.from(e.y,"base64");return(0,ea.zo)([new Uint8Array([4]),t,r])}(t);if(!iT.verify((0,ea.zo)([o,a]),c,l))throw Error("Invalid signature");return(0,eo.xp)(e).payload}(e,t.publicKey),i={hasExpired:(0,o.toMiliseconds)(r.exp)<Date.now(),payload:r};if(i.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:i.payload.origin,isScam:i.payload.isScam,isVerified:i.payload.isVerified}}),this.logger=(0,sJ.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=eK(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,sJ.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,o.toMiliseconds)(e))}}var aK=Object.defineProperty,aW=(e,t,r)=>t in e?aK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aJ=(e,t,r)=>aW(e,"symbol"!=typeof t?t+"":t,r);class aG extends nt{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,aJ(this,"context","echo"),aJ(this,"registerDeviceToken",async e=>{let{clientId:t,token:r,notificationType:i,enableEncrypted:s=!1}=e,n=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:i,token:r,always_raw:s})})}),this.logger=(0,sJ.Ep)(t,this.context)}}var aY=Object.defineProperty,aZ=Object.getOwnPropertySymbols,aQ=Object.prototype.hasOwnProperty,aX=Object.prototype.propertyIsEnumerable,a0=(e,t,r)=>t in e?aY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a1=(e,t)=>{for(var r in t||(t={}))aQ.call(t,r)&&a0(e,r,t[r]);if(aZ)for(var r of aZ(t))aX.call(t,r)&&a0(e,r,t[r]);return e},a2=(e,t,r)=>a0(e,"symbol"!=typeof t?t+"":t,r);class a8 extends nr{constructor(e,t,r=!0){super(e,t,r),this.core=e,this.logger=t,a2(this,"context","event-client"),a2(this,"storagePrefix",nf),a2(this,"storageVersion",.1),a2(this,"events",new Map),a2(this,"shouldPersist",!1),a2(this,"init",async()=>
10{if(!eK())try{let e={eventId:eV(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:eA(this.core.relayer.protocol,this.core.relayer.version,n_)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),a2(this,"createEvent",e=>{let{event:t="ERROR",type:r="",properties:{topic:i,trace:s}}=e,n=eV(),o=this.core.projectId||"",a=a1({eventId:n,timestamp:Date.now(),props:{event:t,type:r,properties:{topic:i,trace:s}},bundleId:o,domain:this.getAppDomain()},this.setMethods(n));return this.telemetryEnabled&&(this.events.set(n,a),this.shouldPersist=!0),a}),a2(this,"getEvent",e=>{let{eventId:t,topic:r}=e;if(t)return this.events.get(t);let i=Array.from(this.events.values()).find(e=>e.props.properties.topic===r);if(i)return a1(a1({},i),this.setMethods(i.eventId))}),a2(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),a2(this,"setEventListeners",()=>{this.core.heartbeat.on(sS.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,o.fromMiliseconds)(Date.now())-(0,o.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),a2(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),a2(this,"addTrace",(e,t)=>{let r=this.events.get(e);r&&(r.props.properties.trace.push(t),this.events.set(e,r),this.shouldPersist=!0)}),a2(this,"setError",(e,t)=>{let r=this.events.get(e);r&&(r.props.type=t,r.timestamp=Date.now(),this.events.set(e,r),this.shouldPersist=!0)}),a2(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),a2(this,"restore",async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,a1(a1({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),a2(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,r]of this.events)r.props.type&&e.push(r);if(0!==e.length)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),a2(this,"sendEvent",async e=>{let t=this.getAppDomain()?"":"&sp=desktop";return await fetch(`https://pulse.walletconnect.org/batch?projectId=${this.core.projectId}&st=events_sdk&sv=js-${n_}${t}`,{method:"POST",body:JSON.stringify(e)})}),a2(this,"getAppDomain",()=>eC().url),this.logger=(0,sJ.Ep)(t,this.context),this.telemetryEnabled=r,r?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var a3=Object.defineProperty,a5=Object.getOwnPropertySymbols,a6=Object.prototype.hasOwnProperty,a4=Object.prototype.propertyIsEnumerable,a9=(e,t,r)=>t in e?a3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a7=(e,t)=>{for(var r in t||(t={}))a6.call(t,r)&&a9(e,r,t[r]);if(a5)for(var r of a5(t))a4.call(t,r)&&a9(e,r,t[r]);return e},ce=(e,t,r)=>a9(e,"symbol"!=typeof t?t+"":t,r);class ct extends sX{constructor(e){var t;super(e),ce(this,"protocol","wc"),ce(this,"version",2),ce(this,"name",np),ce(this,"relayUrl"),ce(this,"projectId"),ce(this,"customStoragePrefix"),ce(this,"events",new i.EventEmitter),ce(this,"logger"),ce(this,"heartbeat"),ce(this,"relayer"),ce(this,"crypto"),ce(this,"storage"),ce(this,"history"),ce(this,"expirer"),ce(this,"pairing"),ce(this,"verify"),ce(this,"echoClient"),ce(this,"linkModeSupportedApps"),ce(this,"eventClient"),ce(this,"initialized",!1),ce(this,"logChunkController"),ce(this,"on",(e,t)=>this.events.on(e,t)),ce(this,"once",(e,t)=>this.events.once(e,t)),ce(this,"off",(e,t)=>this.events.off(e,t)),ce(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),ce(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:r})=>{if(!e||!t)return;let i={topic:e,message:t,publishedAt:Date.now(),transportType:nD.link_mode};this.relayer.onLinkMessageEvent(i,{sessionExists:r})});let r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||nv,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let s=(0,sJ.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:ng.logger,name:np}),{logger:n,chunkLoggerController:o}=(0,sJ.Rt)({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,null!=(t=this.logChunkController)&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;null!=(e=this.logChunkController)&&e.downloadLogsBlobInBrowser&&(null==(t=this.logChunkController)||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=(0,sJ.Ep)(n,this.name),this.heartbeat=new sS.C$,this.crypto=new oj(this,this.logger,e?.keychain),this.history=new aU(this,this.logger),this.expirer=new a$(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new sW(a7(a7({},ny),e?.storageOptions)),this.relayer=new ag({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new aN(this,this.logger),this.verify=new aV(this,this.logger,this.storage),this.echoClient=new aG(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new a8(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){let t=new ct(e);await t.initialize();let r=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",r),t}get context(){return(0,sJ.Fd)(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return null==(e=this.logChunkController)?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(nS,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(
10),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(nS)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;let t=`_walletConnectCore_${e}`,r=`${t}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[t]}catch(e){console.warn("Failed to get global WalletConnect core",e);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;let r=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[r]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return"u">typeof nd&&"true"===nd.env.DISABLE_GLOBAL_CORE}catch{return!0}}}let cr="client",ci=`wc@2:${cr}:`,cs={name:cr,logger:"error"},cn="WALLETCONNECT_DEEPLINK_CHOICE",co="Proposal expired",ca=o.SEVEN_DAYS,cc={wc_sessionPropose:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1104},res:{ttl:o.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1106},res:{ttl:o.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1112},res:{ttl:o.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1114},res:{ttl:o.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:o.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:o.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1119}}},cl={min:o.FIVE_MINUTES,max:o.SEVEN_DAYS},ch={idle:"IDLE",active:"ACTIVE"},cu={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},cd=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],cp="[email protected]:auth:",cf=`${cp}:PUB_KEY`;var cg=Object.defineProperty,cy=Object.defineProperties,cm=Object.getOwnPropertyDescriptors,cb=Object.getOwnPropertySymbols,cw=Object.prototype.hasOwnProperty,cv=Object.prototype.propertyIsEnumerable,cE=(e,t,r)=>t in e?cg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cI=(e,t)=>{for(var r in t||(t={}))cw.call(t,r)&&cE(e,r,t[r]);if(cb)for(var r of cb(t))cv.call(t,r)&&cE(e,r,t[r]);return e},c_=(e,t)=>cy(e,cm(t)),cD=(e,t,r)=>cE(e,"symbol"!=typeof t?t+"":t,r);class cP extends na{constructor(e){super(e),cD(this,"name","engine"),cD(this,"events",new(s())),cD(this,"initialized",!1),cD(this,"requestQueue",{state:ch.idle,queue:[]}),cD(this,"sessionRequestQueue",{state:ch.idle,queue:[]}),cD(this,"requestQueueDelay",o.ONE_SECOND),cD(this,"expectedPairingMethodMap",new Map),cD(this,"recentlyDeletedMap",new Map),cD(this,"recentlyDeletedLimit",200),cD(this,"relayMessageCache",[]),cD(this,"pendingSessions",new Map),cD(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(cc)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay)))}),cD(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=c_(cI({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var r,i,s,n,o,a;let c=sr(e),l=sr(t),h={};for(let e of Object.keys(c).concat(Object.keys(l)))h[e]={chains:e$(null==(r=c[e])?void 0:r.chains,null==(i=l[e])?void 0:i.chains),methods:e$(null==(s=c[e])?void 0:s.methods,null==(n=l[e])?void 0:n.methods),events:e$(null==(o=c[e])?void 0:o.events,null==(a=l[e])?void 0:a.events)};return h}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:a,relays:c}=t,l=r,h,u=!1;try{if(l){let e=this.client.core.pairing.pairings.get(l);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();l=e,h=t}if(!l){let{message:e}=so("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),p=cc.wc_sessionPropose.req.ttl||o.FIVE_MINUTES,f=eB(p),g=c_(cI(cI({requiredNamespaces:i,optionalNamespaces:s,relays:c??[{protocol:"irn"}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},n&&{sessionProperties:n}),a&&{scopedProperties:a}),{id:(0,nl.payloadId)()}),y=eM("session_connect",g.id),{reject:m,resolve:b,done:w}=ej(p,co),v=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",v),this.pendingSessions.delete(g.id),this.events.emit(y,{error:{message:co,code:0}}))};return this.client.events.on("proposal_expire",v),this.events.once(y,({error:e,session:t})=>{this.client.events.off("proposal_expire",v),e?m(e):t&&b(t)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:h,approval:w}}),cD(this,"pair",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error("pair() failed"),e}}),cD(this,"approve",async e=>{var t,r,i;let s=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[nU.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw s.setError(nB.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),s.setError(nB.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),s.setError(nB.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:o,namespaces:a,sessionProperties:c,scopedProperties:l,sessionConfig:h}=e,u=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:s.eventId});let{pairingTopic:d,proposer:p,requiredNamespaces:f,optionalNamespaces:g}=u,y=null==(r=this.client.core.eventClient)?void 0:r.getEvent({topic:d});y||(y=null==(i=this.client.core.eventClient)?void 0:i.createEvent({type:nU.session_approve_started,properties:{topic:d,trace:[nU.session_approve_started,nU.session_namespaces_validation_success]}}));let m=await this.client.core.crypto.generateKeyPair(),b=p.publicKey,w=await this.client.core.crypto.generateSharedKey(m,b),v=cI(cI(cI({relay:{protocol:o??"irn"},namespaces:a,controller:{publicKey:m,metadata:this.client.metadata},expiry:eB(ca)},c&&{sessionProperties:c}),l&&{scopedProperties:l}),h&&{sessionConfig:h}),E=nD.relay;y.addTrace(nU.subscribing_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:E})}catch(e){throw y.setError(nB.subscribe_session_topic_failure),e}y.addTrace(nU.subscribe_session_topic_success);let I=c_(cI({},v),{topic:w,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:d,acknowledged:!1,self:v.controller,peer:{publicKey:p.publicKey,metadata:p.metadata},controller:m,transportType:nD.relay});await this.client.session.set(w,I),y.addTrace(nU.store_session);try{y.addTrace(nU.publishing_session_settle),await this.sendRequest({topic:w,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(nB.session_settle_publish_failure),e}),y.addTrace(nU.session_settle_publish_success),y.addTrace(nU.publishing_session_approve),await this.sendResult({id:n,topic:d,result:{relay:{protocol:o??"irn"},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(nB.session_approve_publish_failure),e}),y.addTrace(nU.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(w,sa("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(w),e}return this.client.core.eventClient.deleteEvent({eventId:y.eventId}),await this.client.core.pairing.updateMetadata({topic:d,metadata:p.metadata}),await this.client.proposal.delete(n,sa("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}),await this.setExpiry(w,eB(ca)),{topic:w,acknowledged:()=>Promise.resolve(this.client.session.get(w))}}),cD(this,"reject",async e=>{let t;this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error("reject() -> isValidReject() failed"),e}let{id:r,reason:i}=e;try{t=this.client.proposal.get(r).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${r}) failed`),e}
10t&&(await this.sendError({id:r,topic:t,error:i,rpcOpts:cc.wc_sessionPropose.reject}),await this.client.proposal.delete(r,sa("USER_DISCONNECTED")))}),cD(this,"update",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error("update() -> isValidUpdate() failed"),e}let{topic:t,namespaces:r}=e,{done:i,resolve:s,reject:n}=ej(),o=(0,nl.payloadId)(),a=(0,nl.getBigIntRpcId)().toString(),c=this.client.session.get(t).namespaces;return this.events.once(eM("session_update",o),({error:e})=>{e?n(e):s()}),await this.client.session.update(t,{namespaces:r}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:a}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),n(e)}),{acknowledged:i}}),cD(this,"extend",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error("extend() -> isValidExtend() failed"),e}let{topic:t}=e,r=(0,nl.payloadId)(),{done:i,resolve:s,reject:n}=ej();return this.events.once(eM("session_extend",r),({error:e})=>{e?n(e):s()}),await this.setExpiry(t,eB(ca)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(e=>{n(e)}),{acknowledged:i}}),cD(this,"request",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error("request() -> isValidRequest() failed"),e}let{chainId:t,request:r,topic:i,expiry:s=cc.wc_sessionRequest.req.ttl}=e,n=this.client.session.get(i);n?.transportType===nD.relay&&await this.confirmOnlineStateOrThrow();let o=(0,nl.payloadId)(),a=(0,nl.getBigIntRpcId)().toString(),{done:c,resolve:l,reject:h}=ej(s,"Request expired. Please try again.");this.events.once(eM("session_request",o),({error:e,result:t})=>{e?h(e):l(t)});let u="wc_sessionRequest",d=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);if(d)return await this.sendRequest({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:{request:c_(cI({},r),{expiryTimestamp:eB(s)}),chainId:t},expiry:s,throwOnFailedPublish:!0,appLink:d}).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),await c();let p={request:c_(cI({},r),{expiryTimestamp:eB(s)}),chainId:t},f=this.shouldSetTVF(u,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(cI({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:p,expiry:s,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(o,p)})).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),e()}),new Promise(async e=>{var t;if(!(null!=(t=n.sessionConfig)&&t.disableDeepLink)){let e=await eF(this.client.core.storage,cn);await ez({id:o,topic:i,wcDeepLink:e})}e()}),c()]).then(e=>e[2])}),cD(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:r}=e,{id:i}=r,s=this.client.session.get(t);s.transportType===nD.relay&&await this.confirmOnlineStateOrThrow();let n=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);(0,nl.isJsonRpcResult)(r)?await this.sendResult({id:i,topic:t,result:r.result,throwOnFailedPublish:!0,appLink:n}):(0,nl.isJsonRpcError)(r)&&await this.sendError({id:i,topic:t,error:r.error,appLink:n}),this.cleanupAfterResponse(e)}),cD(this,"ping",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error("ping() -> isValidPing() failed"),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=(0,nl.payloadId)(),r=(0,nl.getBigIntRpcId)().toString(),{done:i,resolve:s,reject:n}=ej();this.events.once(eM("session_ping",e),({error:e})=>{e?n(e):s()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:r}),i()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:t}))}),cD(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:r,chainId:i}=e,s=(0,nl.getBigIntRpcId)().toString(),n=(0,nl.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:s,clientRpcId:n})}),cD(this,"disconnect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:"wc_sessionDelete",params:sa("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=so("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),cD(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),s=Object.keys(r),n=!0;return!!eR(s,i)&&(i.forEach(t=>{let{accounts:i,methods:s,events:o}=e.namespaces[t],a=i7(i),c=r[t];eR(ep(t,c),a)&&eR(c.methods,s)&&eR(c.events,o)||(n=!1)}),n)})(t,e)))),cD(this,"getPendingSessionRequests",()=>
10this.client.pendingRequest.getAll()),cD(this,"authenticate",async(e,t)=>{var r,i,s;let n;this.isInitialized(),this.isValidAuthenticate(e);let o=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(r=this.client.metadata.redirect)?void 0:r.linkMode),a=o?nD.link_mode:nD.relay;a===nD.relay&&await this.confirmOnlineStateOrThrow();let{chains:c,statement:l="",uri:h,domain:u,nonce:d,type:p,exp:f,nbf:g,methods:y=[],expiry:m}=e,b=[...e.resources||[]],{topic:w,uri:v}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:a});this.client.logger.info({message:"Generated new pairing",pairing:{topic:w,uri:v}});let E=await this.client.core.crypto.generateKeyPair(),I=iq(E);if(await Promise.all([this.client.auth.authKeys.set(cf,{responseTopic:I,publicKey:E}),this.client.auth.pairingTopics.set(I,{topic:I,pairingTopic:w})]),await this.client.core.relayer.subscribe(I,{transportType:a}),this.client.logger.info(`sending request to new pairing topic: ${w}`),y.length>0){let{namespace:e}=eu(c[0]),t=tq(function(e,t,r,i={}){return r?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,r={}){return Object.assign({},...(t=t?.sort((e,t)=>e.localeCompare(t))).map(t=>({[`${e}/${t}`]:[r]})))}(t,r,i)}}}(e,"request",y));tF(b)&&(i=t,s=b.pop(),t=tq(function(e,t){tB(e),tB(t);let r=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),i={att:{}};return r.forEach(r=>{var s,n;Object.keys((null==(s=e.att)?void 0:s[r])||{}).concat(Object.keys((null==(n=t.att)?void 0:n[r])||{})).sort((e,t)=>e.localeCompare(t)).forEach(s=>{var n,o;i.att[r]=tR(tA({},i.att[r]),{[s]:(null==(n=e.att[r])?void 0:n[s])||(null==(o=t.att[r])?void 0:o[s])})})}),i}(tM(i),tM(s)))),b.push(t)}let _=m&&m>cc.wc_sessionAuthenticate.req.ttl?m:cc.wc_sessionAuthenticate.req.ttl,D={authPayload:{type:p??"caip122",chains:c,statement:l,aud:h,domain:u,version:"1",nonce:d,iat:new Date().toISOString(),exp:f,nbf:g,resources:b},requester:{publicKey:E,metadata:this.client.metadata},expiryTimestamp:eB(_)},P={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:c,methods:[...new Set(["personal_sign",...y])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:w,proposer:{publicKey:E,metadata:this.client.metadata},expiryTimestamp:eB(cc.wc_sessionPropose.req.ttl),id:(0,nl.payloadId)()},{done:S,resolve:O,reject:x}=ej(_,"Request expired"),C=(0,nl.payloadId)(),A=eM("session_connect",P.id),R=eM("session_request",C),T=async({error:e,session:t})=>{this.events.off(R,N),e?x(e):t&&O({session:t})},N=async e=>{var r,i,s;let n;if(await this.deletePendingAuthRequest(C,{message:"fulfilled",code:0}),e.error){let t=sa("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(A,T),x(e.error.message))}await this.deleteProposal(P.id),this.events.off(A,T);let{cacaos:o,responder:c}=e.result,l=[],h=[];for(let e of o){await tL({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),x(sa("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,r=tF(t.resources),i=[tj(t.iss)],s=tk(t.iss);if(r){let e=t$(r),t=tz(r);l.push(...e),i.push(...t)}for(let e of i)h.push(`${e}:${s}`)}let u=await this.client.core.crypto.generateSharedKey(E,c.publicKey);l.length>0&&(n={topic:u,acknowledged:!0,self:{publicKey:E,metadata:this.client.metadata},peer:c,controller:c.publicKey,expiry:eB(ca),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:w,namespaces:si([...new Set(l)],[...new Set(h)]),transportType:a},await this.client.core.relayer.subscribe(u,{transportType:a}),await this.client.session.set(u,n),w&&await this.client.core.pairing.updateMetadata({topic:w,metadata:c.metadata}),n=this.client.session.get(u)),null!=(r=this.client.metadata.redirect)&&r.linkMode&&null!=(i=c.metadata.redirect)&&i.linkMode&&null!=(s=c.metadata.redirect)&&s.universal&&t&&(this.client.core.addLinkModeSupportedApp(c.metadata.redirect.universal),this.client.session.update(u,{transportType:nD.link_mode})),O({auths:o,session:n})};this.events.once(A,T),this.events.once(R,N);try{if(o){let e=(0,nl.formatJsonRpcRequest)("wc_sessionAuthenticate",D,C);this.client.core.history.set(w,e);let r=await this.client.core.crypto.encode("",e,{type:2,encoding:iL}
10);n=iX(t,w,r)}else await Promise.all([this.sendRequest({topic:w,method:"wc_sessionAuthenticate",params:D,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:C}),this.sendRequest({topic:w,method:"wc_sessionPropose",params:P,expiry:cc.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:P.id})])}catch(e){throw this.events.off(A,T),this.events.off(R,N),e}return await this.setProposal(P.id,P),await this.setAuthRequest(C,{request:c_(cI({},D),{verifyContext:{}}),pairingTopic:w,transportType:a}),{uri:n??v,response:S}}),cD(this,"approveSessionAuthenticate",async e=>{let t;let{id:r,auths:i}=e,s=this.client.core.eventClient.createEvent({properties:{topic:r.toString(),trace:[nq.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw s.setError(nM.no_internet_connection),e}let n=this.getPendingAuthRequest(r);if(!n)throw s.setError(nM.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${r}`);let o=n.transportType||nD.relay;o===nD.relay&&await this.confirmOnlineStateOrThrow();let a=n.requester.publicKey,c=await this.client.core.crypto.generateKeyPair(),l=iq(a),h={type:1,receiverPublicKey:a,senderPublicKey:c},u=[],d=[];for(let e of i){if(!await tL({cacao:e,projectId:this.client.core.projectId})){s.setError(nM.invalid_cacao);let e=sa("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:r,topic:l,error:e,encodeOpts:h}),Error(e.message)}s.addTrace(nq.cacaos_verified);let{p:t}=e,i=tF(t.resources),n=[tj(t.iss)],o=tk(t.iss);if(i){let e=t$(i),t=tz(i);u.push(...e),n.push(...t)}for(let e of n)d.push(`${e}:${o}`)}let p=await this.client.core.crypto.generateSharedKey(c,a);if(s.addTrace(nq.create_authenticated_session_topic),u?.length>0){t={topic:p,acknowledged:!0,self:{publicKey:c,metadata:this.client.metadata},peer:{publicKey:a,metadata:n.requester.metadata},controller:a,expiry:eB(ca),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:n.pairingTopic,namespaces:si([...new Set(u)],[...new Set(d)]),transportType:o},s.addTrace(nq.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(p,{transportType:o})}catch(e){throw s.setError(nM.subscribe_authenticated_session_topic_failure),e}s.addTrace(nq.subscribe_authenticated_session_topic_success),await this.client.session.set(p,t),s.addTrace(nq.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:n.pairingTopic,metadata:n.requester.metadata})}s.addTrace(nq.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:r,result:{cacaos:i,responder:{publicKey:c,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(n.requester.metadata,o)})}catch(e){throw s.setError(nM.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(r,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:n.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:t}}),cD(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:r}=e,i=this.getPendingAuthRequest(t);if(!i)throw Error(`Could not find pending auth request with id ${t}`);i.transportType===nD.relay&&await this.confirmOnlineStateOrThrow();let s=i.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),o=iq(s);await this.sendError({id:t,topic:o,error:r,encodeOpts:{type:1,receiverPublicKey:s,senderPublicKey:n},rpcOpts:cc.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.client.proposal.delete(t,sa("USER_DISCONNECTED"))}),cD(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:r}=e;return tU(t,r)}),cD(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(0!==this.relayMessageCache.length)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}
10),cD(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(r=>{var i,s;return(null==(i=r.peerMetadata)?void 0:i.url)&&(null==(s=r.peerMetadata)?void 0:s.url)===e.peer.metadata.url&&r.topic&&r.topic!==t.topic});if(0===r.length)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(e){this.client.logger.error(e)}}),cD(this,"deleteSession",async e=>{var t;let{topic:r,expirerHasDeleted:i=!1,emitEvent:s=!0,id:n=0}=e,{self:o}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,sa("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(cn).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===r&&this.deletePendingSessionRequest(e.id,sa("USER_DISCONNECTED"))}),r===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=ch.idle),s&&this.client.events.emit("session_delete",{id:n,topic:r})}),cD(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),r=this.client.core.eventClient.getEvent({topic:t.pairingTopic});r?.setError(nB.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,sa("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),cD(this,"deletePendingSessionRequest",async(e,t,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),r&&(this.sessionRequestQueue.state=ch.idle,this.client.events.emit("session_request_expire",{id:e}))}),cD(this,"deletePendingAuthRequest",async(e,t,r=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)])}),cD(this,"setExpiry",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),cD(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,eB(cc.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),cD(this,"setAuthRequest",async(e,t)=>{let{request:r,pairingTopic:i,transportType:s=nD.relay}=t;this.client.core.expirer.set(e,r.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:e,pairingTopic:i,verifyContext:r.verifyContext,transportType:s})}),cD(this,"setPendingSessionRequest",async e=>{let{id:t,topic:r,params:i,verifyContext:s}=e,n=i.request.expiryTimestamp||eB(cc.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,n),await this.client.pendingRequest.set(t,{id:t,topic:r,params:i,verifyContext:s})}),cD(this,"sendRequest",async e=>{let t,i;let{topic:s,method:n,params:o,expiry:a,relayRpcId:c,clientRpcId:l,throwOnFailedPublish:h,appLink:u,tvf:d}=e,p=(0,nl.formatJsonRpcRequest)(n,o,l),f=!!u;try{let e=f?iL:ik;t=await this.client.core.crypto.encode(s,p,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${s} failed`),e}if(cd.includes(n)){let e=iM(JSON.stringify(p)),r=iM(t);i=await this.client.core.verify.register({id:r,decryptedId:e})}let g=cc[n].req;if(g.attestation=i,a&&(g.ttl=a),c&&(g.id=c),this.client.core.history.set(s,p),f){let e=iX(u,s,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=cc[n].req;a&&(e.ttl=a),c&&(e.id=c),e.tvf=c_(cI({},d),{correlationId:p.id}),h?(e.internal=c_(cI({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,t,e)):this.client.core.relayer.publish(s,t,e).catch(e=>this.client.logger.error(e))}return p.id}),cD(this,"sendResult",async e=>{let t,i,s;let{id:n,topic:o,result:a,throwOnFailedPublish:c,encodeOpts:l,appLink:h}=e,u=(0,nl.formatJsonRpcResult)(n,a),d=h&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=d?iL:ik;t=await this.client.core.crypto.encode(o,u,c_(cI({},l||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${o} failed`),e}try{let e=(i=await this.client.core.history.get(o,n)).request;try{this.shouldSetTVF(e.method,e.params)&&(s=this.getTVFParams(n,e.params,a))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${o}, ${n}) failed`),e}if(d){let e=iX(h,o,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=cc[i.request.method].res;e.tvf=c_(cI({}
10,s),{correlationId:n}),c?(e.internal=c_(cI({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(o,t,e)):this.client.core.relayer.publish(o,t,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(u)}),cD(this,"sendError",async e=>{let t,i;let{id:s,topic:n,error:o,encodeOpts:a,rpcOpts:c,appLink:l}=e,h=(0,nl.formatJsonRpcError)(s,o),u=l&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=u?iL:ik;t=await this.client.core.crypto.encode(n,h,c_(cI({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}try{i=await this.client.core.history.get(n,s)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${s}) failed`),e}if(u){let e=iX(l,n,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=i.request.method,r=c||cc[e].res;this.client.core.relayer.publish(n,t,r)}await this.client.core.history.resolve(h)}),cD(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let r=!1;eq(t.expiry)&&(r=!0),this.client.core.crypto.keychain.has(t.topic)||(r=!0),r&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{eq(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),cD(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),cD(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),cD(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===ch.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=ch.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=ch.idle}),cD(this,"processRequest",async e=>{let{topic:t,payload:r,attestation:i,transportType:s,encryptedId:n}=e,o=r.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case"wc_sessionPropose":return await this.onSessionProposeRequest
10({topic:t,payload:r,attestation:i,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,r);case"wc_sessionPing":return await this.onSessionPingRequest(t,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});case"wc_sessionEvent":return await this.onSessionEventRequest(t,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),cD(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r,transportType:i}=e,s=(await this.client.core.history.get(t,r.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(t,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,r);case"wc_sessionExtend":return this.onSessionExtendResponse(t,r);case"wc_sessionPing":return this.onSessionPingResponse(t,r);case"wc_sessionRequest":return this.onSessionRequestResponse(t,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,r);default:return this.client.logger.info(`Unsupported response method ${s}`)}}),cD(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:r}=so("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(r)}),cD(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:r}=e,i=this.expectedPairingMethodMap.get(t);return!(!i||i.includes(r))&&!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),cD(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:r,attestation:i,encryptedId:s}=e,{params:n,id:o}=r;try{let e=this.client.core.eventClient.getEvent({topic:t});0===this.client.events.listenerCount("session_proposal")&&(console.warn("No listener for session_proposal event"),e?.setError(nL.proposal_listener_not_found)),this.isValidConnect(cI({},r.params));let a=n.expiryTimestamp||eB(cc.wc_sessionPropose.req.ttl),c=cI({id:o,pairingTopic:t,expiryTimestamp:a},n);await this.setProposal(o,c);let l=await this.getVerifyContext({attestationId:i,hash:iM(JSON.stringify(r)),encryptedId:s,metadata:c.proposer.metadata});e?.addTrace(nk.emit_session_proposal),this.client.events.emit("session_proposal",{id:o,params:c,verifyContext:l})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:cc.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),cD(this,"onSessionProposeResponse",async(e,t,r)=>{let{id:i}=t;if((0,nl.isJsonRpcResult)(t)){let{result:s}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});let n=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});let o=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:o});let a=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:a});let c=await this.client.core.crypto.generateSharedKey(o,a);this.pendingSessions.set(i,{sessionTopic:c,pairingTopic:e,proposalId:i,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if((0,nl.isJsonRpcError)(t)){await this.client.proposal.delete(i,sa("USER_DISCONNECTED"));let e=eM("session_connect",i);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),cD(this,"onSessionSettleRequest",async(e,t)=>{let{id:r,params:i}=t;try{this.isValidSessionSettleRequest(i);let{relay:r,controller:s,expiry:n,namespaces:o,sessionProperties:a,scopedProperties:c,sessionConfig:l}=t.params,h=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!h)return this.client.logger.error(`Pending session not found for topic ${e}`);let u=this.client.proposal.get(h.proposalId),d=c_(cI(cI(cI({topic:e,relay:r,expiry:n,namespaces:o,acknowledged:!0,pairingTopic:h.pairingTopic,requiredNamespaces:u.requiredNamespaces,optionalNamespaces:u.optionalNamespaces,controller:s.publicKey,self:{publicKey:h.publicKey,metadata:this.client.metadata},peer:{publicKey:s.publicKey,metadata:s.metadata}},a&&{sessionProperties:a}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:nD.relay});await this.client.session.set(d.topic,d),await this.setExpiry(d.topic,d.expiry),await this.client.core.pairing.updateMetadata({topic:h.pairingTopic,metadata:d.peer.metadata}),this.client.events.emit("session_connect",{session:d}),this.events.emit(eM("session_connect",h.proposalId),{session:d}),this.pendingSessions.delete(h.proposalId),this.deleteProposal(h.proposalId,!1),this.cleanupDupl
10icatePairings(d),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cD(this,"onSessionSettleResponse",async(e,t)=>{let{id:r}=t;(0,nl.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(eM("session_approve",r),{})):(0,nl.isJsonRpcError)(t)&&(await this.client.session.delete(e,sa("USER_DISCONNECTED")),this.events.emit(eM("session_approve",r),{error:t.error}))}),cD(this,"onSessionUpdateRequest",async(e,t)=>{let{params:r,id:i}=t;try{let t=`${e}_session_update`,s=sP.get(t);if(s&&this.isRequestOutOfSync(s,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:sa("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(cI({topic:e},r));try{sP.set(t,i),await this.client.session.update(e,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw sP.delete(t),e}this.client.events.emit("session_update",{id:i,topic:e,params:r})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),cD(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),cD(this,"onSessionUpdateResponse",(e,t)=>{let{id:r}=t,i=eM("session_update",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,nl.isJsonRpcResult)(t)?this.events.emit(eM("session_update",r),{}):(0,nl.isJsonRpcError)(t)&&this.events.emit(eM("session_update",r),{error:t.error})}),cD(this,"onSessionExtendRequest",async(e,t)=>{let{id:r}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,eB(ca)),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cD(this,"onSessionExtendResponse",(e,t)=>{let{id:r}=t,i=eM("session_extend",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,nl.isJsonRpcResult)(t)?this.events.emit(eM("session_extend",r),{}):(0,nl.isJsonRpcError)(t)&&this.events.emit(eM("session_extend",r),{error:t.error})}),cD(this,"onSessionPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cD(this,"onSessionPingResponse",(e,t)=>{let{id:r}=t,i=eM("session_ping",r);setTimeout(()=>{if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners 2176`);(0,nl.isJsonRpcResult)(t)?this.events.emit(eM("session_ping",r),{}):(0,nl.isJsonRpcError)(t)&&this.events.emit(eM("session_ping",r),{error:t.error})},500)}),cD(this,"onSessionDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(nE.publish,async()=>{t(await this.deleteSession({topic:e,id:r}))})}),this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:sa("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),cD(this,"onSessionRequest",async e=>{var t,r,i;let{topic:s,payload:n,attestation:o,encryptedId:a,transportType:c}=e,{id:l,params:h}=n;try{await this.isValidRequest(cI({topic:s},h));let e=this.client.session.get(s),n=await this.getVerifyContext({attestationId:o,hash:iM(JSON.stringify((0,nl.formatJsonRpcRequest)("wc_sessionRequest",h,l))),encryptedId:a,metadata:e.peer.metadata,transportType:c}),u={id:l,topic:s,params:h,verifyContext:n};await this.setPendingSessionRequest(u),c===nD.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(r=e.peer.metadata.redirect)?void 0:r.universal),null!=(i=this.client.signConfig)&&i.disableRequestQueue?this.emitSessionRequest(u):(this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue())}
10catch(e){await this.sendError({id:l,topic:s,error:e}),this.client.logger.error(e)}}),cD(this,"onSessionRequestResponse",(e,t)=>{let{id:r}=t,i=eM("session_request",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,nl.isJsonRpcResult)(t)?this.events.emit(eM("session_request",r),{result:t.result}):(0,nl.isJsonRpcError)(t)&&this.events.emit(eM("session_request",r),{error:t.error})}),cD(this,"onSessionEventRequest",async(e,t)=>{let{id:r,params:i}=t;try{let t=`${e}_session_event_${i.event.name}`,s=sP.get(t);if(s&&this.isRequestOutOfSync(s,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(cI({topic:e},i)),this.client.events.emit("session_event",{id:r,topic:e,params:i}),sP.set(t,r)}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cD(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:r}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,nl.isJsonRpcResult)(t)?this.events.emit(eM("session_request",r),{result:t.result}):(0,nl.isJsonRpcError)(t)&&this.events.emit(eM("session_request",r),{error:t.error})}),cD(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:r,payload:i,attestation:s,encryptedId:n,transportType:o}=e;try{let{requester:e,authPayload:a,expiryTimestamp:c}=i.params,l=await this.getVerifyContext({attestationId:s,hash:iM(JSON.stringify(i)),encryptedId:n,metadata:e.metadata,transportType:o}),h={requester:e,pairingTopic:r,id:i.id,authPayload:a,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(i.id,{request:h,pairingTopic:r,transportType:o}),o===nD.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:l})}catch(n){this.client.logger.error(n);let e=i.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),s=this.getAppLinkIfEnabled(i.params.requester.metadata,o);await this.sendError({id:i.id,topic:r,error:n,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:cc.wc_sessionAuthenticate.autoReject,appLink:s})}}),cD(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),cD(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=ch.idle,this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay))}),cD(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let r=this.client.core.history.pending;r.length>0&&r.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let r=eM("session_request",e.request.id);if(0===this.events.listenerCount(r))throw Error(`emitting ${r} without any listeners`);this.events.emit(eM("session_request",e.request.id),{error:t})})}),cD(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===ch.active){this.client.logger.info("session request queue is already active.");return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=ch.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),cD(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),cD(this,"onPairingCreated",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);
10t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,nl.formatJsonRpcRequest)("wc_sessionPropose",c_(cI({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),cD(this,"isValidConnect",async e=>{let t;if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:o,relays:a}=e;if(sh(r)||await this.isValidPairingTopic(r),t=!1,a?a&&sc(a)&&a.length&&a.forEach(e=>{t=sm(e)}):t=!0,!t){let{message:e}=so("MISSING_OR_INVALID",`connect() relays: ${a}`);throw Error(e)}if(!sh(i)&&0!==sl(i)){let e="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(e):this.client.logger.warn(e),this.validateNamespaces(i,"requiredNamespaces")}if(sh(s)||0===sl(s)||this.validateNamespaces(s,"optionalNamespaces"),sh(n)||this.validateSessionProps(n,"sessionProperties"),!sh(o)){this.validateSessionProps(o,"scopedProperties");let e=Object.keys(i||{}).concat(Object.keys(s||{}));if(!Object.keys(o).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),cD(this,"validateNamespaces",(e,t)=>{let r=function(e,t,r){let i=null;if(e&&sl(e)){let s;let n=sg(e,t);n&&(i=n);let o=(s=null,Object.entries(e).forEach(([e,i])=>{var n,o;let a;if(s)return;let c=(n=ep(e,i),o=`${t} ${r}`,a=null,sc(n)&&n.length?n.forEach(e=>{a||sp(e)||(a=sa("UNSUPPORTED_CHAINS",`${o}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):sp(e)||(a=sa("UNSUPPORTED_CHAINS",`${o}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),a);c&&(s=c)}),s);o&&(i=o)}else i=so("MISSING_OR_INVALID",`${t}, ${r} should be an object with data`);return i}(e,"connect()",t);if(r)throw Error(r.message)}),cD(this,"isValidApprove",async e=>{if(!sb(e))throw Error(so("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:r,relayProtocol:i,sessionProperties:s,scopedProperties:n}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),a=sy(r,"approve()");if(a)throw Error(a.message);let c=sv(o.requiredNamespaces,r,"approve()");if(c)throw Error(c.message);if(!su(i,!0)){let{message:e}=so("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw Error(e)}if(sh(s)||this.validateSessionProps(s,"sessionProperties"),!sh(n)){this.validateSessionProps(n,"scopedProperties");let e=new Set(Object.keys(r));if(!Object.keys(n).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(n)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),cD(this,"isValidReject",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:r}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!r||"object"!=typeof r||!r.code||!sd(r.code,!1)||!r.message||!su(r.message,!1)){let{message:e}=so("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw Error(e)}}),cD(this,"isValidSessionSettleRequest",e=>{let t;if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:r,controller:i,namespaces:s,expiry:n}=e;if(!sm(r)){let{message:e}=so("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let o=(t=null,su(i?.publicKey,!1)||(t=so("MISSING_OR_INVALID","onSessionSettleRequest() controller public key should be a string")),t);if(o)throw Error(o.message);let a=sy(s,"onSessionSettleRequest()");if(a)throw Error(a.message);if(eq(n)){let{message:e}=so("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),cD(this,"isValidUpdate",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);
10let i=this.client.session.get(t),s=sy(r,"update()");if(s)throw Error(s.message);let n=sv(i.requiredNamespaces,r,"update()");if(n)throw Error(n.message)}),cD(this,"isValidExtend",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),cD(this,"isValidRequest",async e=>{var t;if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:r,request:i,chainId:s,expiry:n}=e;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);let{namespaces:o}=this.client.session.get(r);if(!sw(o,s)){let{message:e}=so("MISSING_OR_INVALID",`request() chainId: ${s}`);throw Error(e)}if(sh(i)||!su(i.method,!1)){let{message:e}=so("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw Error(e)}if(!(su(t=i.method,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{i7(e.accounts).includes(t)&&r.push(...e.methods)}),r})(o,s).includes(t))){let{message:e}=so("MISSING_OR_INVALID",`request() method: ${i.method}`);throw Error(e)}if(n&&(!sd(n,!1)||!(n<=cl.max)||!(n>=cl.min))){let{message:e}=so("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${cl.min} and ${cl.max}`);throw Error(e)}}),cD(this,"isValidRespond",async e=>{var t;if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:r,response:i}=e;try{await this.isValidSessionTopic(r)}catch(r){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),r}if(sh(i)||sh(i.result)&&sh(i.error)||!sd(i.id,!1)||!su(i.jsonrpc,!1)){let{message:e}=so("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw Error(e)}}),cD(this,"isValidPing",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),cD(this,"isValidEmit",async e=>{var t;if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:r,event:i,chainId:s}=e;await this.isValidSessionTopic(r);let{namespaces:n}=this.client.session.get(r);if(!sw(n,s)){let{message:e}=so("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw Error(e)}if(sh(i)||!su(i.name,!1)){let{message:e}=so("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}if(!(su(t=i.name,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{i7(e.accounts).includes(t)&&r.push(...e.events)}),r})(n,s).includes(t))){let{message:e}=so("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}}),cD(this,"isValidDisconnect",async e=>{if(!sb(e)){let{message:t}=so("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),cD(this,"isValidAuthenticate",e=>{let{chains:t,uri:r,domain:i,nonce:s}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!su(r,!1))throw Error("uri is required parameter");if(!su(i,!1))throw Error("domain is required parameter");if(!su(s,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>eu(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:n}=eu(t[0]);if("eip155"!==n)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),cD(this,"getVerifyContext",async e=>{let{attestationId:t,hash:r,encryptedId:i,metadata:s,transportType:n}=e,o={verified:{verifyUrl:s.verifyUrl||nT,validation:"UNKNOWN",origin:s.url||""}};try{if(n===nD.link_mode){let e=this.getAppLinkIfEnabled(s,n);return o.verified.validation=e&&new URL(e).origin===new URL(s.url).origin?"VALID":"INVALID",o}let e=await this.client.core.verify.resolve({attestationId:t,hash:r,encryptedId:i,verifyUrl:s.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(s.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),cD(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((r,i)=>{if(null==r){let{message:s}=so("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${r} for key ${Object.keys(e)[i]}`);throw Error(s)}})}),cD(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),cD(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;
10for(let r of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(r)}}}),cD(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:r}=so("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(r)}}),cD(this,"isLinkModeEnabled",(e,t)=>{var i,s,n,o,a,c,l,h,u;return!!e&&t===nD.link_mode&&(null==(s=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:s.linkMode)===!0&&(null==(o=null==(n=this.client.metadata)?void 0:n.redirect)?void 0:o.universal)!==void 0&&(null==(c=null==(a=this.client.metadata)?void 0:a.redirect)?void 0:c.universal)!==""&&(null==(l=e?.redirect)?void 0:l.universal)!==void 0&&(null==(h=e?.redirect)?void 0:h.universal)!==""&&(null==(u=e?.redirect)?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==r.g?void 0:r.g.Linking)}),cD(this,"getAppLinkIfEnabled",(e,t)=>{var r;return this.isLinkModeEnabled(e,t)?null==(r=e?.redirect)?void 0:r.universal:void 0}),cD(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=eH(e,"topic")||"",r=decodeURIComponent(eH(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:nD.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:r,sessionExists:i})}),cD(this,"registerLinkModeListeners",async()=>{var e;if(eK()||eP()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==r.g?void 0:r.g.Linking;if("u">typeof e){e.addEventListener("url",this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),cD(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:r}=t;return Object.keys(cu).includes(r.method)}),cD(this,"getTVFParams",(e,t,r)=>{var i,s;try{let n=t.request.method,o=this.extractTxHashesFromResult(n,r);return c_(cI({correlationId:e,rpcMethods:[n],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(s=null==(i=t.request.params)?void 0:i[0])?void 0:s.to]}),{txHashes:o})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),cD(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let r=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!r.startsWith("0x"))return!1;let i=r.slice(2);return!!/^[0-9a-fA-F]*$/.test(i)&&i.length%2==0}catch{}return!1}),cD(this,"extractTxHashesFromResult",(e,t)=>{try{let r=cu[e];if("string"==typeof t)return[t];let i=t[r.key];if(sc(i))return"solana_signAllTransactions"===e?i.map(e=>(function(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);let i=r[0];if(0===i)throw Error("No signatures found");if(r.length<1+64*i)throw Error("Transaction data too short for claimed signature count");if(r.length<100)throw Error("Transaction too short");let s=eh.from(e,"base64").slice(1,65);return en.encode(s)})(e)):i;if("string"==typeof i)return[i]}catch(e){this.client.logger.warn("Error extracting tx hashes from result",e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,r]of Object.entries(t))for(let t of r)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){let{message:e}=so("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(nE.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:r,attestation:i,transportType:s}=e,{publicKey:n}=this.client.auth.authKeys.keys.includes(cf)?this.client.auth.authKeys.get(cf):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,r,{receiverPublicKey:n,encoding:s===nD.link_mode?iL:ik});
10(0,nl.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:i,transportType:s,encryptedId:iM(r)})):(0,nl.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:s}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:s}),await this.client.core.relayer.messages.ack(t,r)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(nR.expired,async e=>{let{topic:t,id:r}=eU(e.target);return r&&this.client.pendingRequest.keys.includes(r)?await this.deletePendingSessionRequest(r,so("EXPIRED"),!0):r&&this.client.auth.requests.keys.includes(r)?await this.deletePendingAuthRequest(r,so("EXPIRED"),!0):void(t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r})))})}registerPairingEvents(){this.client.core.pairing.events.on(nC.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(nC.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!su(e,!1)){let{message:t}=so("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=so("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(eq(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=so("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!su(e,!1)){let{message:t}=so("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=so("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(eq(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=so("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=so("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(su(e,!1)){let{message:t}=so("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=so("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if("number"!=typeof e){let{message:t}=so("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=so("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(eq(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=so("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class cS extends aC{constructor(e,t){super(e,t,"proposal",ci),this.core=e,this.logger=t}}class cO extends aC{constructor(e,t){super(e,t,"session",ci),this.core=e,this.logger=t}}class cx extends aC{constructor(e,t){super(e,t,"request",ci,e=>e.id),this.core=e,this.logger=t}}class cC extends aC{constructor(e,t){super(e,t,"authKeys",cp,()=>cf),this.core=e,this.logger=t}}class cA extends aC{constructor(e,t){super(e,t,"pairingTopics",cp),this.core=e,this.logger=t}}class cR extends aC{constructor(e,t){super(e,t,"requests",cp,e=>e.id),this.core=e,this.logger=t}}var cT=Object.defineProperty,cN=(e,t,r)=>t in e?cT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cj=(e,t,r)=>cN(e,"symbol"!=typeof t?t+"":t,r);class ck{constructor(e,t){this.core=e,this.logger=t,cj(this,"authKeys"),cj(this,"pairingTopics"),cj(this,"requests"),this.authKeys=new cC(this.core,this.logger),this.pairingTopics=new cA(this.core,this.logger),this.requests=new cR(this.core,this.logger)}
10async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var cL=Object.defineProperty,cU=(e,t,r)=>t in e?cL(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cB=(e,t,r)=>cU(e,"symbol"!=typeof t?t+"":t,r);class cq extends no{constructor(e){super(e),cB(this,"protocol","wc"),cB(this,"version",2),cB(this,"name",cs.name),cB(this,"metadata"),cB(this,"core"),cB(this,"logger"),cB(this,"events",new i.EventEmitter),cB(this,"engine"),cB(this,"session"),cB(this,"proposal"),cB(this,"pendingRequest"),cB(this,"auth"),cB(this,"signConfig"),cB(this,"on",(e,t)=>this.events.on(e,t)),cB(this,"once",(e,t)=>this.events.once(e,t)),cB(this,"off",(e,t)=>this.events.off(e,t)),cB(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),cB(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),cB(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),cB(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),cB(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||cs.name,this.metadata=function(e){var t,r;let i=eC();try{return null!=e&&e.url&&i.url&&new URL(e.url).host!==new URL(i.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${i.url}. This is probably unintended and can lead to issues.`),e.url=i.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>""!==e)),eI(eE(eE({},i),e),{url:e?.url||i.url,name:e?.name||i.name,description:e?.description||i.description,icons:null!=(r=e?.icons)&&r.length&&e.icons.length>0?e.icons:i.icons})}catch(t){return console.warn("Error populating app metadata",t),e||i}}(e?.metadata),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,sJ.gw)((0,sJ.jI)({level:e?.logger||cs.logger}));this.core=e?.core||new ct(e),this.logger=(0,sJ.Ep)(t,this.name),this.session=new cO(this.core,this.logger),this.proposal=new cS(this.core,this.logger),this.pendingRequest=new cx(this.core,this.logger),this.engine=new cP(this),this.auth=new ck(this.core,this.logger)}static async init(e){let t=new cq(e);return await t.initialize(),t}get context(){return(0,sJ.Fd)(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,o.toMiliseconds)(o.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var cM=r(5071),c$=r(82957).lW;let cz="error",cF="wc@2:universal_provider:",cH="https://rpc.walletconnect.org/v1/",cV="generic",cK=`${cH}bundler`,cW="default_chain_changed";function cJ(){}function cG(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function cY(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cZ(e){return"object"==typeof e&&null!==e}function cQ(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}
10function cX(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let c0="[object String]",c1="[object Number]",c2="[object Boolean]",c8="[object Arguments]";function c3(e,t,r,i=new Map,s){let n=s?.(e,t,r,i);if(null!=n)return n;if(cG(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let t=Array(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=c3(e[n],n,r,i,s);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;for(let[n,o]of(i.set(e,t),e))t.set(n,c3(o,n,r,i,s));return t}if(e instanceof Set){let t=new Set;for(let n of(i.set(e,t),e))t.add(c3(n,void 0,r,i,s));return t}if("u">typeof c$&&c$.isBuffer(e))return e.subarray();if(cY(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=c3(e[n],n,r,i,s);return t}if(e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,t),c5(t,e,r,i,s),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return i.set(e,t),c5(t,e,r,i,s),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return i.set(e,t),c5(t,e,r,i,s),t}if(e instanceof Error){let t=new e.constructor;return i.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,c5(t,e,r,i,s),t}if("object"==typeof e&&function(e){switch(cX(e)){case c8:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case c2:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case c1:case"[object Object]":case"[object RegExp]":case"[object Set]":case c0:case"[object Symbol]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return!0;default:return!1}}(e)){let t=Object.create(Object.getPrototypeOf(e));return i.set(e,t),c5(t,e,r,i,s),t}return e}function c5(e,t,r=e,i,s){let n=[...Object.keys(t),...cQ(t)];for(let o=0;o<n.length;o++){let a=n[o],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=c3(t[a],a,r,i,s))}}function c6(e){var t;return t=(t,r,i,s)=>{let n=void 0;if(null!=n)return n;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case c1:case c0:case c2:{let t=new e.constructor(e?.valueOf());return c5(t,e),t}case c8:{let t={};return c5(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}},c3(e,void 0,e,new Map,t)}function c4(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===cX(e)}var c9=Object.defineProperty,c7=Object.defineProperties,le=Object.getOwnPropertyDescriptors,lt=Object.getOwnPropertySymbols,lr=Object.prototype.hasOwnProperty,li=Object.prototype.propertyIsEnumerable,ls=(e,t,r)=>t in e?c9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ln=(e,t)=>{for(var r in t||(t={}))lr.call(t,r)&&ls(e,r,t[r]);if(lt)for(var r of lt(t))li.call(t,r)&&ls(e,r,t[r]);return e},lo=(e,t)=>c7(e,le(t));function la(e,t,r){var i;let s=eu(e);return(null==(i=t.rpcMap)?void 0:i[s.reference])||`${cH}?chainId=${s.namespace}:${s.reference}&projectId=${r}`}function lc(e){return e.includes(":")?e.split(":")[1]:e}function ll(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function lh(e={},t={}){return function(e,...t){return function(e,...t){let r=t.slice(0,-1),i=t[t.length-1],s=e;for(let e=0;e<r.length;e++)s=function e(t,r,i,s){if(cG(t)&&(t=Object(t)),null==r||"object"!=typeof r)return t;if(s.has(r))return function(e){if(cG(e))return e;if(Array.isArray(e)||cY(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){let t=new r(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let t=new r(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return"u">typeof File&&e instanceof File?new r([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(s.get(r));if(s.set(r,t),Array.isArray(r)){r=r.slice();for(let e=0;e<r.length;e++)r[e]=r[e]??void 0}let n=[...Object.keys(r),...cQ(r)];for(let o=0;o<n.length;o++){let a=n[o],c=r[a],l=t[a];if(c4(c)&&(c={...c}),c4(l)&&(l={...l}),"u">
10typeof c$&&c$.isBuffer(c)&&(c=c6(c)),Array.isArray(c)){if("object"==typeof l&&null!=l){let e=[],t=Reflect.ownKeys(l);for(let r=0;r<t.length;r++){let i=t[r];e[i]=l[i]}l=e}else l=[]}let h=i(l,c,a,t,r,s);null!=h?t[a]=h:Array.isArray(c)||cZ(l)&&cZ(c)?t[a]=e(l,c,i,s):null==l&&function(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){let t=e[Symbol.toStringTag];return!!(null!=t&&Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable)&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(c)?t[a]=e({},c,i,s):null==l&&cY(c)?t[a]=c6(c):(void 0===l||void 0!==c)&&(t[a]=c)}return t}(s,r[e],i,new Map);return s}(e,...t,cJ)}(lu(e),lu(t))}function lu(e){var t,r,i,s,n;let o={};if(!sl(e))return o;for(let[a,c]of Object.entries(e)){let e=se(a)?[a]:c.chains,l=c.methods||[],h=c.events||[],u=c.rpcMap||{},d=st(a);o[d]=lo(ln(ln({},o[d]),c),{chains:e$(e,null==(t=o[d])?void 0:t.chains),methods:e$(l,null==(r=o[d])?void 0:r.methods),events:e$(h,null==(i=o[d])?void 0:i.events)}),(sl(u)||sl((null==(s=o[d])?void 0:s.rpcMap)||{}))&&(o[d].rpcMap=ln(ln({},u),null==(n=o[d])?void 0:n.rpcMap))}return o}function ld(e){return e.includes(":")?e.split(":")[2]:e}function lp(e){let t={};for(let[r,i]of Object.entries(e)){let e=i.methods||[],s=i.events||[],n=i.accounts||[],o=se(r)?[r]:i.chains?i.chains:ll(i.accounts);t[r]={chains:o,methods:e,events:s,accounts:n}}return t}function lf(e){return"number"==typeof e?e:e.includes("0x")?parseInt(e,16):isNaN(Number(e=e.includes(":")?e.split(":")[1]:e))?e:Number(e)}let lg={},ly=e=>lg[e],lm=(e,t)=>{lg[e]=t};var lb=Object.defineProperty,lw=(e,t,r)=>t in e?lb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lv=(e,t,r)=>lw(e,"symbol"!=typeof t?t+"":t,r);class lE{constructor(e){lv(this,"name","polkadot"),lv(this,"client"),lv(this,"httpProviders"),lv(this,"events"),lv(this,"namespace"),lv(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=lc(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var lI=Object.defineProperty,l_=Object.defineProperties,lD=Object.getOwnPropertyDescriptors,lP=Object.getOwnPropertySymbols,lS=Object.prototype.hasOwnProperty,lO=Object.prototype.propertyIsEnumerable,lx=(e,t,r)=>t in e?lI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lC=(e,t)=>{for(var r in t||(t={}))lS.call(t,r)&&lx(e,r,t[r]);if(lP)for(var r of lP(t))lO.call(t,r)&&lx(e,r,t[r]);return e},lA=(e,t)=>l_(e,lD(t)),lR=(e,t,r)=>lx(e,"symbol"!=typeof t?t+"":t,r);class lT{constructor(e){lR(this,"name","eip155"),lR(this,"client"),lR(this,"chainId"),lR(this,"namespace"),lR(this,"httpProviders"),lR(this,"events"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(cW,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){let r=t||la(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.k(r,ly("disableProviderPing")))}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=parseInt(lc(t));e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,r;let i=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",s=parseInt(i=i.startsWith("0x")?i:`0x${i}`,16);if(this.isChainApproved(s))this.setDefaultChain(`${s}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:null==(r=this.namespace.chains)?void 0:r[0]}),this.setDefaultChain(`${s}`);else throw Error(`Failed to switch to chain 'eip155:${s}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,r,i,s,n;let o=null==(r=null==(t=e.request)?void 0:t.params)?void 0:r[0],a=(null==(s=null==(i=e.request)?void 0:i.params)?void 0:s[1])||[],c=`${o}${a.join(",")}`;if(!o)throw Error("Missing address parameter in `wallet_getCapabilities` request");let l=this.client.session.get(e.topic),h=(null==(n=l?.sessionProperties)?void 0:n.capabilities)||{};if(null!=h&&h[c])return h?.[c];let u=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:lA(lC({},l.sessionProperties||{}),{capabilities:lA(lC({},h||{}),{[c]:u})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return u}async getCallStatus(e){var t,r;let i=this.client.session.get(e.topic),s=null==(t=i.sessionProperties)?void 0:t.bundler_name;if(s){let t=this.getBundlerUrl(e.chainId,s);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let n=null==(r=i.sessionProperties)?void 0:r.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,n)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var r;let i=new URL(e),s=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,nl.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(r=t.request.params)?void 0:r[0]]))});if(!s.ok)throw Error(`Failed to fetch user operation receipt - ${s.status}`);return await s.json()}
10getBundlerUrl(e,t){return`${cK}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var lN=Object.defineProperty,lj=(e,t,r)=>t in e?lN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lk=(e,t,r)=>lj(e,"symbol"!=typeof t?t+"":t,r);class lL{constructor(e){lk(this,"name","solana"),lk(this,"client"),lk(this,"httpProviders"),lk(this,"events"),lk(this,"namespace"),lk(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=lc(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var lU=Object.defineProperty,lB=(e,t,r)=>t in e?lU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lq=(e,t,r)=>lB(e,"symbol"!=typeof t?t+"":t,r);class lM{constructor(e){lq(this,"name","cosmos"),lq(this,"client"),lq(this,"httpProviders"),lq(this,"events"),lq(this,"namespace"),lq(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=lc(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var l$=Object.defineProperty,lz=(e,t,r)=>t in e?l$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lF=(e,t,r)=>lz(e,"symbol"!=typeof t?t+"":t,r);class lH{constructor(e){lF(this,"name","algorand"),lF(this,"client"),lF(this,"httpProviders"),lF(this,"events"),lF(this,"namespace"),lF(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let r=t||la(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(cW,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var lV=Object.defineProperty,lK=(e,t,r)=>t in e?lV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lW=(e,t,r)=>lK(e,"symbol"!=typeof t?t+"":t,r);class lJ{constructor(e){lW(this,"name","cip34"),lW(this,"client"),lW(this,"httpProviders"),lW(this,"events"),lW(this,"namespace"),lW(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let r=this.getCardanoRPCUrl(t),i=lc(t);e[i]=this.createHttpProvider(i,r)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||this.getCardanoRPCUrl(e);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var lG=Object.defineProperty,lY=(e,t,r)=>t in e?lG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lZ=(e,t,r)=>lY(e,"symbol"!=typeof t?t+"":t,r);class lQ{constructor(e){lZ(this,"name","elrond"),lZ(this,"client"),lZ(this,"httpProviders"),lZ(this,"events"),lZ(this,"namespace"),lZ(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=lc(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var lX=Object.defineProperty,l0=(e,t,r)=>t in e?lX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l1=(e,t,r)=>l0(e,"symbol"!=typeof t?t+"":t,r);class l2{constructor(e){l1(this,"name","multiversx"),l1(this,"client"),l1(this,"httpProviders"),l1(this,"events"),l1(this,"namespace"),l1(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=lc(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var l8=Object.defineProperty,l3=(e,t,r)=>t in e?l8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l5=(e,t,r)=>l3(e,"symbol"!=typeof t?t+"":t,r);class l6{constructor(e){l5(this,"name","near"),l5(this,"client"),l5(this,"httpProviders"),l5(this,"events"),l5(this,"namespace"),l5(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let r=t||la(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(cW,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace);return typeof r>"u"?void 0:new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var l4=Object.defineProperty,l9=(e,t,r)=>t in e?l4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l7=(e,t,r)=>l9(e,"symbol"!=typeof t?t+"":t,r);class he{constructor(e){l7(this,"name","tezos"),l7(this,"client"),l7(this,"httpProviders"),l7(this,"events"),l7(this,"namespace"),l7(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let r=t||la(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(cW,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace);return typeof r>"u"?void 0:new nc.r(new cM.Z(r))}}var ht=Object.defineProperty,hr=(e,t,r)=>t in e?ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hi=(e,t,r)=>hr(e,"symbol"!=typeof t?t+"":t,r);class hs{constructor(e){hi(this,"name",cV),hi(this,"client"),hi(this,"httpProviders"),hi(this,"events"),hi(this,"namespace"),hi(this,"chainId"),this.namespace=e.namespace,this.events=ly("events"),this.client=ly("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(cW,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){var e,t;let r={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e
10=>{let t=eu(e);r[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),r}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||la(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new nc.r(new cM.Z(r,ly("disableProviderPing")))}}var hn=Object.defineProperty,ho=Object.defineProperties,ha=Object.getOwnPropertyDescriptors,hc=Object.getOwnPropertySymbols,hl=Object.prototype.hasOwnProperty,hh=Object.prototype.propertyIsEnumerable,hu=(e,t,r)=>t in e?hn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hd=(e,t)=>{for(var r in t||(t={}))hl.call(t,r)&&hu(e,r,t[r]);if(hc)for(var r of hc(t))hh.call(t,r)&&hu(e,r,t[r]);return e},hp=(e,t)=>ho(e,ha(t)),hf=(e,t,r)=>hu(e,"symbol"!=typeof t?t+"":t,r);class hg{constructor(e){hf(this,"client"),hf(this,"namespaces"),hf(this,"optionalNamespaces"),hf(this,"sessionProperties"),hf(this,"scopedProperties"),hf(this,"events",new(s())),hf(this,"rpcProviders",{}),hf(this,"session"),hf(this,"providerOpts"),hf(this,"logger"),hf(this,"uri"),hf(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,sJ.gw)((0,sJ.jI)({level:e?.logger||cz})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new hg(e);return await t.initialize(),t}async request(e,t,r){let[i,s]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(i).request({request:hd({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:r})}sendAsync(e,t,r,i){let s=new Date().getTime();this.request(e,r,i).then(e=>t(null,(0,nl.formatJsonRpcResult)(s,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw Error("Please call connect() before enable()");await this.client.disconnect({topic:null==(e=this.session)?void 0:e.topic,reason:sa("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:r,response:i}=await this.client.authenticate(e,t);r&&(this.uri=r,this.events.emit("display_uri",r));let s=await i();if(this.session=s.session,this.session){let e=lp(this.session.namespaces);this.namespaces=lh(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return s}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:r}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit("display_uri",t));let i=await r();this.session=i;let s=lp(i.namespaces);return this.namespaces=lh(this.namespaces,s),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[r,i]=this.validateChain(e),s=this.getProvider(r);s.name===cV?s.setDefaultChain(`${r}:${i}`,t):s.setDefaultChain(i,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");let t=this.client.pairing.getAll();if(sc(t)){for(let r of t)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,t;if(this.client=this.providerOpts.client||await cq.init({core:this.providerOpts.core,logger:this.providerOpts.logger||cz,relayUrl:this.providerOpts.relayUrl||"wss://relay.walletconnect.org",projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(r){throw this.logger.error("Failed to get session",r),Error(`The provided session: ${null==(t=null==(e=this.providerOpts)?void 0:e.session)?void 0:t.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw Error("Sign Client not initialized");if(!this.session)throw Error("Session not initialized. Please call connect() before enable()");let e=[...new Set(Object.keys(this.session.namespaces).map(e=>st(e)))];lm("client",this.client),lm("events",this.events),lm("disableProviderPing",this.disableProviderPing),e.forEach(e
10=>{if(!this.session)return;let t=function(e,t){let r=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!r.length)return[];let i=[];return r.forEach(e=>{let r=t.namespaces[e].accounts;i.push(...r)}),i}(e,this.session),r=ll(t),i=hp(hd({},lh(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:r});switch(e){case"eip155":this.rpcProviders[e]=new lT({namespace:i});break;case"algorand":this.rpcProviders[e]=new lH({namespace:i});break;case"solana":this.rpcProviders[e]=new lL({namespace:i});break;case"cosmos":this.rpcProviders[e]=new lM({namespace:i});break;case"polkadot":this.rpcProviders[e]=new lE({namespace:i});break;case"cip34":this.rpcProviders[e]=new lJ({namespace:i});break;case"elrond":this.rpcProviders[e]=new lQ({namespace:i});break;case"multiversx":this.rpcProviders[e]=new l2({namespace:i});break;case"near":this.rpcProviders[e]=new l6({namespace:i});break;case"tezos":this.rpcProviders[e]=new he({namespace:i});break;default:this.rpcProviders[cV]?this.rpcProviders[cV].updateNamespace(i):this.rpcProviders[cV]=new hs({namespace:i})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:r}=e;r===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:r,topic:i}=e;if(i!==(null==(t=this.session)?void 0:t.topic))return;let{event:s}=r;if("accountsChanged"===s.name){let e=s.data;e&&sc(e)&&this.events.emit("accountsChanged",e.map(ld))}else if("chainChanged"===s.name){let e=r.chainId,t=r.event.data,i=st(e),s=lf(e)!==lf(t)?`${i}:${lf(t)}`:e;this.onChainChanged(s)}else this.events.emit(s.name,s.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var r,i;if(e!==(null==(r=this.session)?void 0:r.topic))return;let{namespaces:s}=t,n=null==(i=this.client)?void 0:i.session.get(e);this.session=hp(hd({},n),{namespaces:s}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{var t;e.topic===(null==(t=this.session)?void 0:t.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",hp(hd({},sa("USER_DISCONNECTED")),{data:e.topic})))}),this.on(cW,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[cV]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace(null==(t=this.session)?void 0:t.namespaces[e])})}setNamespaces(e){let{namespaces:t={},optionalNamespaces:r={},sessionProperties:i,scopedProperties:s}=e;this.optionalNamespaces=lh(t,r),this.sessionProperties=i,this.scopedProperties=s}validateChain(e){let[t,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,r];if(t&&!Object.keys(this.namespaces||{}).map(e=>st(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&r)return[t,r];let i=st(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);let s=this.getProvider(r).getDefaultChain();t||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:s,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:r}){var i,s;try{if(t===r)return;let n=null==(s=null==(i=this.session)?void 0:i.namespaces[e])?void 0:s.accounts;if(!n)return;let o=n.filter(e=>e.includes(`${r}:`)).map(ld);if(!sc(o))return;this.events.emit("accountsChanged",o)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let r=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=t):this.namespaces[r]={chains:[],methods:[],events:[],defaultChain:t}}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){var r;let i=(null==(r=this.session)?void 0:r.topic)||"";await this.client.core.storage.setItem(`${cF}/${e}${i}`,t)}async getFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${cF}/${e}${r}`)}async deleteFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${cF}/${e}${r}`)}async cleanupStorage(){var e;try{if((null==(e=this.client)?void 0:e.session.length)>0)return;for(let e of(await this.client.core.storage.getKeys()))e.startsWith(cF)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let hy=["eth_sendTransaction","personal_sign"],hm=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_sendCalls","wallet_getCapabilities","wallet_getCallsStatus","wallet_showCallsStatus"],hb=["chainChanged","accountsChanged"],hw=["chainChanged","accountsChanged","message","disconnect","connect"],hv=async()=>{let{createAppKit:e}=await r.e(5605).then(r.bind(r,35605));return e};var hE=Object.defineProperty,hI=Object.defineProperties,h_=Object.getOwnPropertyDescriptors,hD=Object.getOwnPropertySymbols,hP=Object.prototype.hasOwnProperty,hS=Object.prototype.propertyIsEnumerable,hO=(e,t,r)=>t in e?hE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hx=(e,t)=>{for(var r in t||(t={}))hP.call(t,r)&&hO(e,r,t[r]);if(hD)for(var r of hD(t))hS.call(t,r)&&hO(e,r,t[r]);return e},hC=(e,t)=>hI(e,h_(t)),hA=(e,t,r)=>hO(e,"symbol"!=typeof t?t+"":t,r);function hR(e){return Number(e[0].split(":")[1])}function hT(e){return`0x${e.toString(16)}`}class hN{constructor(){hA(this,"events",new i.EventEmitter),hA(this,"namespace","eip155"),hA(this,"accounts",[]),hA(this,"signer"),hA(this,"chainId",1),hA(this,"modal"),hA(this,"rpc"),hA(this,"STORAGE_KEY","wc@2:ethereum_provider:"),hA(this,"on",(e,t)=>(this.events.on(e,t),this)),hA(this,"once",(e,t)=>(this.events.once(e,t),this)),hA(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),hA(this,"off",(e,t)=>(this.events.off(e,t),this)),hA(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new hN;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,r){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),r)}get connected(){return!!this.signer.client&&this.signer.client.core.relayer.connected}get connecting(){return!!this.signer.client&&this.signer.client.core.relayer.connecting}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){var t;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);let{required:r,optional:i}=function(e){let{chains:t,optionalChains:r,methods:i,optionalMethods:s,events:n,optionalEvents:o,rpcMap:a}=e;if(!sc(t))throw Error("Invalid chains");let c={chains:t,methods:i||hy,events:n||hb,rpcMap:hx({},t.length?{[hR(t)]:a[hR(t)]}:{})},l=n?.filter(e=>!hb.includes(e)),h=i?.filter(e=>!hy.includes(e));if(!r&&!o&&!s&&!(null!=l&&l.length)&&!(null!=h&&h.length))return{required:t.length?c:void 0};let u={chains:[...new Set(l?.length&&h?.length||!r?c.chains.concat(r||[]):r)],methods:[...new Set(c.methods.concat(null!=s&&s.length?s:hm))],events:[...new Set(c.events.concat(null!=o&&o.length?o:hw))],rpcMap:a};return{required:t.length?c:void 0,optional:r.length?u:void 0}}(this.rpc);try{let t=await new Promise(async(t,s)=>{var n,o;this.rpc.showQrModal&&(null==(n=this.modal)||n.open(),null==(o=this.modal)||o.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),s(Error("Connection request reset. Please try again.")))}));let a=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(hC(hx({namespaces:hx({},r&&{[this.namespace]:r})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e?.pairingTopic,scopedProperties:a})).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),s(Error(e.message))})});if(!t)return;let s=ed(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:hT(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var r;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let r=await new Promise(async(r,i)=>{var s,n;this.rpc.showQrModal&&(null==(s=this.modal)||s.open(),null==(n=this.modal)||n.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),i(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(hC(hx({},e),{chains:this.rpc.chains}),t).then(e=>{r(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),i(Error(e.message))})}),i=r.session;if(i){let e=ed(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:hT(this.chainId)})}return r}catch(e){throw this.signer.logger.error(e),e}finally{null==(r=this.modal)||r.close()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",e=>{let{params:t}=e,{event:r}=t;
10"accountsChanged"===r.name?(this.accounts=this.parseAccounts(r.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===r.name?this.setChainId(this.formatChainId(r.data)):this.events.emit(r.name,r.data),this.events.emit("session_event",e)}),this.signer.on("accountsChanged",e=>{this.accounts=this.parseAccounts(e),this.events.emit("accountsChanged",this.accounts)}),this.signer.on("chainChanged",e=>{let t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",hT(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",hC(hx({},sa("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return"string"==typeof e&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){let t=e.filter(e=>this.isCompatibleChainId(e)).map(e=>this.parseChainId(e));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",hT(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){let t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){let[t,r,i]=e.split(":");return{chainId:`${t}:${r}`,address:i}}setAccounts(e){this.accounts=e.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,r;let i=null!=(t=e?.chains)?t:[],s=null!=(r=e?.optionalChains)?r:[],n=i.concat(s);if(!n.length)throw Error("No chains specified in either `chains` or `optionalChains`");let o=i.length?e?.methods||hy:[],a=i.length?e?.events||hb:[],c=e?.optionalMethods||[],l=e?.optionalEvents||[],h=e?.rpcMap||this.buildRpcMap(n,e.projectId),u=e?.qrModalOptions||void 0;return{chains:i?.map(e=>this.formatChainId(e)),optionalChains:s.map(e=>this.formatChainId(e)),methods:o,events:a,optionalMethods:c,optionalEvents:l,rpcMap:h,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:u,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let r={};return e.forEach(e=>{r[e]=this.getRpcUrl(e,t)}),r}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?hR(this.rpc.chains):hR(this.rpc.optionalChains),this.signer=await hg.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{let t=await hv(),{convertWCMToAppKitOptions:r}=await Promise.resolve().then(function(){return hK}),i=r(hC(hx({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!i.networks.length)throw Error("No networks found for WalletConnect\xb7");e=t(hC(hx({},i),{universalProvider:this.signer,manualWCControl:!0}))}catch(e){throw console.warn(e),Error("To use QR modal, please install @reown/appkit package")}if(e)try{this.modal=e}catch(e){throw this.signer.logger.error(e),Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:r,rpcMap:i}=e;t&&sc(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)})),r&&sc(r)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=r?.map(e=>this.formatChainId(e)),r.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var r;return(null==(r=this.rpc.rpcMap)?void 0:r[e])||`https://rpc.walletconnect.org/v1/?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{let e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t?.accounts),this.setAccounts(t?.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(e=>this.signer.logger.warn(e))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return"string"==typeof e||e instanceof String?[this.parseAccount(e)]:e.map(e=>this.parseAccount(e))}}let hj=hN;var hk=Object.defineProperty,hL=Object.defineProperties,hU=Object.getOwnPropertyDescriptors,hB=Object.getOwnPropertySymbols,hq=Object.prototype.hasOwnProperty,hM=Object.prototype.propertyIsEnumerable,h$=(e,t,r)=>t in e?hk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hz=(e,t)=>
10{for(var r in t||(t={}))hq.call(t,r)&&h$(e,r,t[r]);if(hB)for(var r of hB(t))hM.call(t,r)&&h$(e,r,t[r]);return e},hF=(e,t)=>hL(e,hU(t));let hH=e=>{let[t,r]=e.split(":");return hV({id:r,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function hV(e){return hz({formatters:void 0,fees:void 0,serializers:void 0},e)}var hK=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,r,i,s,n,o,a;let c=null==(t=e.chains)?void 0:t.map(hH).filter(Boolean);if(0===c.length)throw Error("At least one chain must be specified");let l=c.find(t=>{var r;return t.id===(null==(r=e.defaultChain)?void 0:r.id)}),h={projectId:e.projectId,networks:c,themeMode:e.themeMode,themeVariables:function(e){if(e)return{"--w3m-font-family":e["--wcm-font-family"],"--w3m-accent":e["--wcm-accent-color"],"--w3m-color-mix":e["--wcm-background-color"],"--w3m-z-index":e["--wcm-z-index"]?Number(e["--wcm-z-index"]):void 0,"--w3m-qr-color":e["--wcm-accent-color"],"--w3m-font-size-master":e["--wcm-text-medium-regular-size"],"--w3m-border-radius-master":e["--wcm-container-border-radius"],"--w3m-color-mix-strength":0}}(e.themeVariables),chainImages:e.chainImages,connectorImages:e.walletImages,defaultNetwork:l,metadata:hF(hz({},e.metadata),{name:(null==(r=e.metadata)?void 0:r.name)||"WalletConnect",description:(null==(i=e.metadata)?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:(null==(s=e.metadata)?void 0:s.url)||"https://walletconnect.org",icons:(null==(n=e.metadata)?void 0:n.icons)||["https://walletconnect.org/walletconnect-logo.png"]}),showWallets:!0,featuredWalletIds:"NONE"===e.explorerRecommendedWalletIds?[]:Array.isArray(e.explorerRecommendedWalletIds)?e.explorerRecommendedWalletIds:[],excludeWalletIds:"ALL"===e.explorerExcludedWalletIds?[]:Array.isArray(e.explorerExcludedWalletIds)?e.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if(null!=(o=e.mobileWallets)&&o.length||null!=(a=e.desktopWallets)&&a.length){let t=[...(e.mobileWallets||[]).map(e=>({id:e.id,name:e.name,links:e.links})),...(e.desktopWallets||[]).map(e=>({id:e.id,name:e.name,links:{native:e.links.native,universal:e.links.universal}}))],r=[...h.featuredWalletIds||[],...h.excludeWalletIds||[]],i=t.filter(e=>!r.includes(e.id));i.length&&(h.customWallets=i)}return h},defineChain:hV})},93514:function(e,t,r){"use strict";r.d(t,{q:function(){return i}});class i{}},96756:function(e,t,r){"use strict";r.d(t,{C$:function(){return l},Lx:function(){return c}});var i=r(55445),s=r(40537),n=r(93514);class o extends n.q{constructor(e){super()}}let a=s.FIVE_SECONDS,c={pulse:"heartbeat_pulse"};class l extends o{constructor(e){super(e),this.events=new i.EventEmitter,this.interval=a,this.interval=e?.interval||a}static async init(e){let t=new l(e);return await t.init(),t}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),(0,s.toMiliseconds)(this.interval))}pulse(){this.events.emit(c.pulse)}}},5071:function(e,t,r){"use strict";r.d(t,{Z:function(){return b},k:function(){return b}});var i=r(55445),s=r(5108),n=r.n(s),o=r(80577),a=r(5276),c=Object.defineProperty,l=Object.defineProperties,h=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,f=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))d.call(t,r)&&f(e,r,t[r]);if(u)for(var r of u(t))p.call(t,r)&&f(e,r,t[r]);return e},y=(e,t)=>l(e,h(t));let m={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class b{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new i.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}
10get connected(){return this.isAvailable}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){if(!this.isAvailable)throw Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{let t=(0,o.u)(e),r=await (await n()(this.url,y(g({},m),{body:t}))).json();this.onPayload({data:r})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return t(Error("HTTP connection is missing or invalid"));e()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){let t=(0,o.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await n()(e,y(g({},m),{body:t}))}this.onOpen()}catch(t){let e=this.parseError(t);throw this.events.emit("register_error",e),this.onClose(),e}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;let t="string"==typeof e.data?(0,o.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,a.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,a.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},5108:function(e,t,r){var i="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g,s=function(){function e(){this.fetch=!1,this.DOMException=i.DOMException}return e.prototype=i,new e}();(function(e){var t=void 0!==s&&s||"undefined"!=typeof self&&self||void 0!==r.g&&r.g||{},i={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(i.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],o=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1};function a(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function c(e){return"string"!=typeof e&&(e=String(e)),e}function l(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i.iterable&&(t[Symbol.iterator]=function(){return t}),t}function h(e){this.map={},e instanceof h?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){if(2!=e.length)throw TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function u(e){if(!e._noBody){if(e.bodyUsed)return Promise.reject(TypeError("Already read"));e.bodyUsed=!0}}function d(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function p(e){var t=new FileReader,r=d(t);return t.readAsArrayBuffer(e),r}function f(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(e){if(this.bodyUsed=this.bodyUsed,this._bodyInit=e,e){if("string"==typeof e)this._bodyText=e;else if(i.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(i.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else{var t;i.arrayBuffer&&i.blob&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=f(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||o(e))?this._bodyArrayBuffer=f(e):this._bodyText=e=Object.prototype.toString.call(e)}}else this._noBody=!0,this._bodyText="";!this.headers.get("content-type")&&("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i.blob&&(this.blob=function(){var e=u(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(!this._bodyFormData)return Promise.resolve(new Blob([this._bodyText]));throw Error("could not read FormData body as blob")}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return u(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(i.blob)return this.blob().then(p);throw Error("could not read as ArrayBuffer")},this.text=function(){var e,t,r,i,s,n=u(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=d(t=new FileReader),s=(i=/charset=([A-Za-z0-9_-]+)/.exec(e.type))?i[1]:"utf-8",t.readAsText(e,s),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=Array(t.length),i=0;i<t.length;i++)r[i]=String.fromCharCode(t[i]);return r.join("")}(this._bodyArrayBuffer));if(!this._bodyFormData)return Promise.resolve(this._bodyText);throw Error("could not read FormData body as text")},i.formData&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(e,t){e=a(e),t=c(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},h.prototype.delete=function(e){delete this.map[a(e)]},h.prototype.get=function(e){return e=a(e),this.has(e)?this.map[e]:null},h.prototype.has=function(e){return this.map.hasOwnProperty(a(e))},h.prototype.set=function(e,t){this.map[a(e)]=c(t)},h.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},h.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),l(e)},h.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),l(e)},h.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),l(e)},i.iterable&&(h.prototype[Symbol.iterator]=h.prototype.entries);var y=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function m(e,r){if(!(this instanceof m))throw TypeError('Please use the "new" operator, this DOM object c
10onstructor cannot be called as a function.');var i,s,n=(r=r||{}).body;if(e instanceof m){if(e.bodyUsed)throw TypeError("Already read");this.url=e.url,this.credentials=e.credentials,r.headers||(this.headers=new h(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=r.credentials||this.credentials||"same-origin",(r.headers||!this.headers)&&(this.headers=new h(r.headers)),this.method=(s=(i=r.method||this.method||"GET").toUpperCase(),y.indexOf(s)>-1?s:i),this.mode=r.mode||this.mode||null,this.signal=r.signal||this.signal||function(){if("AbortController"in t)return new AbortController().signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),("GET"===this.method||"HEAD"===this.method)&&("no-store"===r.cache||"no-cache"===r.cache)){var o=/([?&])_=[^&]*/;o.test(this.url)?this.url=this.url.replace(o,"$1_="+new Date().getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+new Date().getTime()}}function b(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),i=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(s))}}),t}function w(e,t){if(!(this instanceof w))throw TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new h(t.headers),this.url=t.url||"",this._initBody(e)}m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},g.call(m.prototype),g.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var v=[301,302,303,307,308];w.redirect=function(e,t){if(-1===v.indexOf(t))throw RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function E(r,s){return new Promise(function(n,o){var l=new m(r,s);if(l.signal&&l.signal.aborted)return o(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function d(){u.abort()}if(u.onload=function(){var e,t,r={statusText:u.statusText,headers:(e=u.getAllResponseHeaders()||"",t=new h,e.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e}).forEach(function(e){var r=e.split(":"),i=r.shift().trim();if(i){var s=r.join(":").trim();try{t.append(i,s)}catch(e){console.warn("Response "+e.message)}}}),t)};0===l.url.indexOf("file://")&&(u.status<200||u.status>599)?r.status=200:r.status=u.status,r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var i="response"in u?u.response:u.responseText;setTimeout(function(){n(new w(i,r))},0)},u.onerror=function(){setTimeout(function(){o(TypeError("Network request failed"))},0)},u.ontimeout=function(){setTimeout(function(){o(TypeError("Network request timed out"))},0)},u.onabort=function(){setTimeout(function(){o(new e.DOMException("Aborted","AbortError"))},0)},u.open(l.method,function(e){try{return""===e&&t.location.href?t.location.href:e}catch(t){return e}}(l.url),!0),"include"===l.credentials?u.withCredentials=!0:"omit"===l.credentials&&(u.withCredentials=!1),"responseType"in u&&(i.blob?u.responseType="blob":i.arrayBuffer&&(u.responseType="arraybuffer")),s&&"object"==typeof s.headers&&!(s.headers instanceof h||t.Headers&&s.headers instanceof t.Headers)){var p=[];
10Object.getOwnPropertyNames(s.headers).forEach(function(e){p.push(a(e)),u.setRequestHeader(e,c(s.headers[e]))}),l.headers.forEach(function(e,t){-1===p.indexOf(t)&&u.setRequestHeader(t,e)})}else l.headers.forEach(function(e,t){u.setRequestHeader(t,e)});l.signal&&(l.signal.addEventListener("abort",d),u.onreadystatechange=function(){4===u.readyState&&l.signal.removeEventListener("abort",d)}),u.send(void 0===l._bodyInit?null:l._bodyInit)})}E.polyfill=!0,t.fetch||(t.fetch=E,t.Headers=h,t.Request=m,t.Response=w),e.Headers=h,e.Request=m,e.Response=w,e.fetch=E,Object.defineProperty(e,"__esModule",{value:!0})})({}),s.fetch.ponyfill=!0,delete s.fetch.polyfill;var n=i.fetch?i:s;(t=n.fetch).default=n.fetch,t.fetch=n.fetch,t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response,e.exports=t},38979:function(e,t,r){"use strict";r.d(t,{r:function(){return n}});var i=r(55445),s=r(5276);class n extends s.IJsonRpcProvider{constructor(e){super(e),this.events=new i.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict((0,s.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,s.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise(async(r,i)=>{if(!this.connection.connected)try{await this.open()}catch(e){i(e)}this.events.on(`${e.id}`,e=>{(0,s.isJsonRpcError)(e)?i(e.error):r(e.result)});try{await this.connection.send(e,t)}catch(e){i(e)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,s.isJsonRpcResponse)(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&3e3===e.code&&this.events.emit("error",Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),"string"==typeof e&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}},44265:function(e,t,r){"use strict";r.d(t,{CA:function(){return s},JV:function(){return a},O4:function(){return i},dQ:function(){return n},xK:function(){return o}});let i="INTERNAL_ERROR",s="SERVER_ERROR",n=[-32700,-32600,-32601,-32602,-32603],o={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},[i]:{code:-32603,message:"Internal error"},[s]:{code:-32e3,message:"Server error"}},a=s},23497:function(e,t,r){"use strict";var i=r(13303);r.o(i,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return i.IJsonRpcProvider}}),r.o(i,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return i.formatJsonRpcError}}),r.o(i,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return i.formatJsonRpcRequest}}),r.o(i,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return i.formatJsonRpcResult}}),r.o(i,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return i.getBigIntRpcId}}),r.o(i,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return i.isHttpUrl}}),r.o(i,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return i.isJsonRpcError}}),r.o(i,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return i.isJsonRpcRequest}}),r.o(i,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return i.isJsonRpcResponse}}),r.o(i,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return i.isJsonRpcResult}}),r.o(i,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return i.isLocalhostUrl}}),r.o(i,"isReactNative")&&r.d(t,{isReactNative:function(){return i.isReactNative}}),r.o(i,"isWsUrl")&&r.d(t,{isWsUrl:function(){return i.isWsUrl}}),r.o(i,"payloadId")&&r.d(t,{payloadId:function(){return i.payloadId}})},28418:function(e,t,r){"use strict";r.d(t,{CX:function(){return a},L2:function(){return o},by:function(){return n},i5:function(){return s}});var i=r(44265);function s(e){return i.dQ.includes(e)}function n(e){return Object.keys(i.xK).includes(e)?i.xK[e]:i.xK[i.JV]}function o(e){return Object.values(i.xK).find(t=>t.code===e)||i.xK[i.JV]}function a(e,t,r){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?Error(`Unavailable ${r} RPC url at ${t}`):e}},74947:function(e,t,r){"use strict";r.d(t,{CS:function(){return o},RI:function(){return l},o0:function(){return n},sT:function(){return a},tm:function(){return c}});var i=r(28418),s=r(44265);
10function n(e=3){return Date.now()*Math.pow(10,e)+Math.floor(Math.random()*Math.pow(10,e))}function o(e=6){return BigInt(n(e))}function a(e,t,r){return{id:r||n(),jsonrpc:"2.0",method:e,params:t}}function c(e,t){return{id:e,jsonrpc:"2.0",result:t}}function l(e,t,r){var n;return{id:e,jsonrpc:"2.0",error:void 0===(n=t)?(0,i.by)(s.O4):("string"==typeof n&&(n=Object.assign(Object.assign({},(0,i.by)(s.CA)),{message:n})),void 0!==r&&(n.data=r),(0,i.i5)(n.code)&&(n=(0,i.L2)(n.code)),n)}}},5276:function(e,t,r){"use strict";r.d(t,{IJsonRpcProvider:function(){return o.x0},formatJsonRpcError:function(){return n.RI},formatJsonRpcRequest:function(){return n.sT},formatJsonRpcResult:function(){return n.tm},getBigIntRpcId:function(){return n.CS},isHttpUrl:function(){return a.jK},isJsonRpcError:function(){return c.jg},isJsonRpcRequest:function(){return c.DW},isJsonRpcResponse:function(){return c.u},isJsonRpcResult:function(){return c.k4},isLocalhostUrl:function(){return a.JF},isWsUrl:function(){return a.UZ},parseConnectionError:function(){return i.CX},payloadId:function(){return n.o0}}),r(44265);var i=r(28418),s=r(23497);r.o(s,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return s.IJsonRpcProvider}}),r.o(s,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return s.formatJsonRpcError}}),r.o(s,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return s.formatJsonRpcRequest}}),r.o(s,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return s.formatJsonRpcResult}}),r.o(s,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return s.getBigIntRpcId}}),r.o(s,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return s.isHttpUrl}}),r.o(s,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return s.isJsonRpcError}}),r.o(s,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return s.isJsonRpcRequest}}),r.o(s,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return s.isJsonRpcResponse}}),r.o(s,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return s.isJsonRpcResult}}),r.o(s,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return s.isLocalhostUrl}}),r.o(s,"isReactNative")&&r.d(t,{isReactNative:function(){return s.isReactNative}}),r.o(s,"isWsUrl")&&r.d(t,{isWsUrl:function(){return s.isWsUrl}}),r.o(s,"payloadId")&&r.d(t,{payloadId:function(){return s.payloadId}});var n=r(74947),o=r(75826),a=r(20276),c=r(65505)},75826:function(e,t,r){"use strict";r.d(t,{x0:function(){return n}});class i{}class s extends i{constructor(){super()}}class n extends s{constructor(e){super()}}},20276:function(e,t,r){"use strict";function i(e,t){let r=function(e){let t=e.match(RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==r&&new RegExp(t).test(r)}function s(e){return i(e,"^https?:")}function n(e){return i(e,"^wss?:")}function o(e){return RegExp("wss?://localhost(:d{2,5})?").test(e)}r.d(t,{JF:function(){return o},UZ:function(){return n},jK:function(){return s}})},65505:function(e,t,r){"use strict";function i(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function s(e){return i(e)&&"method"in e}function n(e){return i(e)&&(o(e)||a(e))}function o(e){return"result"in e}function a(e){return"error"in e}r.d(t,{DW:function(){return s},jg:function(){return a},k4:function(){return o},u:function(){return n}})},75646:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var i=r(55445),s=r(80577),n=r(5276);let o=()=>"u">typeof WebSocket||"u">typeof r.g&&"u">typeof r.g.WebSocket||"u">typeof window&&"u">typeof window.WebSocket||"u">typeof self&&"u">typeof self.WebSocket,a=e=>e.split("?")[0],c="u">typeof WebSocket?WebSocket:"u">typeof r.g&&"u">typeof r.g.WebSocket?r.g.WebSocket:"u">typeof window&&"u">typeof window.WebSocket?window.WebSocket:"u">typeof self&&"u">typeof self.WebSocket?self.WebSocket:r(16854);class l{constructor(e){if(this.url=e,this.events=new i.EventEmitter,this.registering=!1,!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return"u">typeof this.socket}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>
10{if(typeof this.socket>"u"){t(Error("Connection already closed"));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send((0,s.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return t(Error("WebSocket connection is missing or invalid"));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,r)=>{let i=(0,n.isReactNative)()?void 0:{rejectUnauthorized:!(0,n.isLocalhostUrl)(e)},s=new c(e,[],i);o()?s.onerror=e=>{r(this.emitError(e.error))}:s.on("error",e=>{r(this.emitError(e))}),s.onopen=()=>{this.onOpen(s),t(s)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;let t="string"==typeof e.data?(0,s.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,n.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,n.parseConnectionError)(e,a(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${a(this.url)}`));return this.events.emit("register_error",t),t}}},16854:function(e){"use strict";e.exports=function(){throw Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},15133:function(e,t,r){"use strict";r.d(t,{Ep:function(){return D},Fd:function(){return _},Rt:function(){return P},gw:function(){return s.a},jI:function(){return I}});var i=r(97435),s=r.n(i),n=r(80577);let o={level:"info"},a="custom_context";class c{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class l{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){let t=new c(e);if(t.size>this.maxSizeInBytes)throw Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?this.tail&&(this.tail.next=t):this.head=t,this.tail=t,this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;let e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){let e=[],t=this.head;for(;null!==t;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};let t=e.value;return e=e.next,{done:!1,value:t}}}}}class h{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=i.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===i.levels.values.error?console.error(e):t===i.levels.values.warn?console.warn(e):t===i.levels.values.debug?console.debug(e):t===i.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,n.u)({timestamp:new Date().toISOString(),log:e}));let t="string"==typeof e?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){let t=this.getLogArray();return t.push((0,n.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new h(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){let t=URL.createObjectURL(this.logsToBlob(e)),r=document.createElement("a");r.href=t,r.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t)}}class d{constructor(e,t=1024e3){this.baseChunkLogger=new h(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var p=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>
10{for(var r in t||(t={}))m.call(t,r)&&w(e,r,t[r]);if(y)for(var r of y(t))b.call(t,r)&&w(e,r,t[r]);return e},E=(e,t)=>f(e,g(t));function I(e){return E(v({},e),{level:e?.level||o.level})}function _(e,t=a){return typeof e.bindings>"u"?function(e,t=a){return e[t]||""}(e,t):e.bindings().context||""}function D(e,t,r=a){let i=function(e,t,r=a){let i=_(e,r);return i.trim()?`${i}/${t}`:t}(e,t,r);return function(e,t,r=a){return e[r]=t,e}(e.child({context:i}),i,r)}function P(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,r;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace",browser:E(v({},null==(r=e.opts)?void 0:r.browser),{write:e=>i.write(e)})})),chunkLoggerController:i}}(e):function(e){var t;let r=new d(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace"}),r),chunkLoggerController:r}}(e)}},21086:function(e,t,r){"use strict";r.d(t,{iO:function(){return i}});let i={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}}},46633:function(e,t,r){"use strict";r.d(t,{Au:function(){return tP},bG:function(){return t_},vf:function(){return tS},xp:function(){return tD}});var i=r(40537),s=r(80577);function n(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function o(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}let a="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,c=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);function l(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),n(e),e}class h{clone(){return this._cloneInto()}}function u(e=32){if(a&&"function"==typeof a.getRandomValues)return a.getRandomValues(new Uint8Array(e));if(a&&"function"==typeof a.randomBytes)return a.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}
10class d extends h{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=c(this.buffer)}update(e){o(this);let{view:t,buffer:r,blockLen:i}=this,s=(e=l(e)).length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=c(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){o(this),function(e,t){n(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>i-a&&(this.process(r,0),a=0);for(let e=a;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let l=c(e),h=this.outputLen;if(h%4)throw Error("_sha2: outputLen should be aligned to 32bit");let u=h/4,d=this.get();if(u>d.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)l.setUint32(4*e,d[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let p=BigInt(4294967296-1),f=BigInt(32),g={split:function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&p),l:Number(e>>f&p)}:{h:0|Number(e>>f&p),l:0|Number(e&p)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]},shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,add:function(e,t,r,i){let s=(t>>>0)+(i>>>0);return{h:e+r+(s/4294967296|0)|0,l:0|s}},add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,add4L:(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),add4H:(e,t,r,i,s)=>t+r+i+s+(e/4294967296|0)|0,add5H:(e,t,r,i,s,n)=>t+r+i+s+n+(e/4294967296|0)|0,add5L:(e,t,r,i,s)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(s>>>0)},[y,m]=g.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","0xf40e3585
105771202a","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(e=>BigInt(e))),b=new Uint32Array(80),w=new Uint32Array(80);class v extends d{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(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:s,Cl:n,Dh:o,Dl:a,Eh:c,El:l,Fh:h,Fl:u,Gh:d,Gl:p,Hh:f,Hl:g}=this;return[e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g]}set(e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|i,this.Ch=0|s,this.Cl=0|n,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|h,this.Fl=0|u,this.Gh=0|d,this.Gl=0|p,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)b[r]=e.getUint32(t),w[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|b[e-15],r=0|w[e-15],i=g.rotrSH(t,r,1)^g.rotrSH(t,r,8)^g.shrSH(t,r,7),s=g.rotrSL(t,r,1)^g.rotrSL(t,r,8)^g.shrSL(t,r,7),n=0|b[e-2],o=0|w[e-2],a=g.rotrSH(n,o,19)^g.rotrBH(n,o,61)^g.shrSH(n,o,6),c=g.rotrSL(n,o,19)^g.rotrBL(n,o,61)^g.shrSL(n,o,6),l=g.add4L(s,c,w[e-7],w[e-16]),h=g.add4H(l,i,a,b[e-7],b[e-16]);b[e]=0|h,w[e]=0|l}let{Ah:r,Al:i,Bh:s,Bl:n,Ch:o,Cl:a,Dh:c,Dl:l,Eh:h,El:u,Fh:d,Fl:p,Gh:f,Gl:v,Hh:E,Hl:I}=this;for(let e=0;e<80;e++){let t=g.rotrSH(h,u,14)^g.rotrSH(h,u,18)^g.rotrBH(h,u,41),_=g.rotrSL(h,u,14)^g.rotrSL(h,u,18)^g.rotrBL(h,u,41),D=h&d^~h&f,P=u&p^~u&v,S=g.add5L(I,_,P,m[e],w[e]),O=g.add5H(S,E,t,D,y[e],b[e]),x=0|S,C=g.rotrSH(r,i,28)^g.rotrBH(r,i,34)^g.rotrBH(r,i,39),A=g.rotrSL(r,i,28)^g.rotrBL(r,i,34)^g.rotrBL(r,i,39),R=r&s^r&o^s&o,T=i&n^i&a^n&a;E=0|f,I=0|v,f=0|d,v=0|p,d=0|h,p=0|u,({h:h,l:u}=g.add(0|c,0|l,0|O,0|x)),c=0|o,l=0|a,o=0|s,a=0|n,s=0|r,n=0|i;let N=g.add3L(x,A,T);r=g.add3H(N,O,C,R),i=0|N}({h:r,l:i}=g.add(0|this.Ah,0|this.Al,0|r,0|i)),({h:s,l:n}=g.add(0|this.Bh,0|this.Bl,0|s,0|n)),({h:o,l:a}=g.add(0|this.Ch,0|this.Cl,0|o,0|a)),({h:c,l:l}=g.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:h,l:u}=g.add(0|this.Eh,0|this.El,0|h,0|u)),({h:d,l:p}=g.add(0|this.Fh,0|this.Fl,0|d,0|p)),({h:f,l:v}=g.add(0|this.Gh,0|this.Gl,0|f,0|v)),({h:E,l:I}=g.add(0|this.Hh,0|this.Hl,0|E,0|I)),this.set(r,i,s,n,o,a,c,l,h,u,d,p,f,v,E,I)}roundClean(){b.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)}}let E=function(e){let t=t=>e().update(l(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}(()=>new v),I=BigInt(0),_=BigInt(1),D=BigInt(2);function P(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function S(e){if(!P(e))throw Error("Uint8Array expected")}function O(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let x=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function C(e){S(e);let t="";for(let r=0;r<e.length;r++)t+=x[e[r]];return t}function A(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?I:BigInt("0x"+e)}let R={_0:48,_9:57,A:65,F:70,a:97,f:102};function T(e){return e>=R._0&&e<=R._9?e-R._0:e>=R.A&&e<=R.F?e-(R.A-10):e>=R.a&&e<=R.f?e-(R.a-10):void 0}function N(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=T(e.charCodeAt(s)),n=T(e.charCodeAt(s+1));if(void 0===r||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[s]+e[s+1])+'" at index '+s);i[t]=16*r+n}return i}function j(e){return S(e),A(C(Uint8Array.from(e).reverse()))}function k(e,t){return N(e.toString(16).padStart(2*t,"0"))}function L(e,t){return k(e,t).reverse()}function U(e,t,r){let i;if("string"==typeof t)try{i=N(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(P(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function B(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];S(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let q=e=>"bigint"==typeof e&&I<=e;function M(e,t,r,i){if(!(q(t)&&q(r)&&q(i))||!(r<=t)||!(t<i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}let $=e=>(D<<BigInt(e-1))-_,z={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||P(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function F(e,t,r={}){let i=(t,r,i)=>{let s=z[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invali
10d. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function H(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}let V=BigInt(0),K=BigInt(1),W=BigInt(2),J=BigInt(3),G=BigInt(4),Y=BigInt(5),Z=BigInt(8);function Q(e,t){let r=e%t;return r>=V?r:t+r}function X(e,t,r){let i=e;for(;t-- >V;)i*=i,i%=r;return i}function ee(e,t){if(e===V)throw Error("invert: expected non-zero number");if(t<=V)throw Error("invert: expected positive modulus, got "+t);let r=Q(e,t),i=t,s=V,n=K;for(;r!==V;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==K)throw Error("invert: does not exist");return Q(s,t)}let et=(e,t)=>(Q(e,t)&K)===K,er=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ei(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function es(e,t,r=!1,i={}){let s;if(e<=V)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=ei(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:$(n),ZERO:V,ONE:K,create:t=>Q(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return V<=t&&t<e},is0:e=>e===V,isOdd:e=>(e&K)===K,neg:t=>Q(-t,e),eql:(e,t)=>e===t,sqr:t=>Q(t*t,e),add:(t,r)=>Q(t+r,e),sub:(t,r)=>Q(t-r,e),mul:(t,r)=>Q(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<V)throw Error("invalid exponent, negatives unsupported");if(r===V)return e.ONE;if(r===K)return t;let i=e.ONE,s=t;for(;r>V;)r&K&&(i=e.mul(i,s)),s=e.sqr(s),r>>=K;return i})(a,e,t),div:(t,r)=>Q(t*ee(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ee(t,e),sqrt:i.sqrt||(t=>(s||(s=function(e){if(e%G===J){let t=(e+K)/G;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%Z===Y){let t=(e-Y)/Z;return function(e,r){let i=e.mul(r,W),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,W),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-K)/W;for(t=e-K,r=0;t%W===V;t/=W,r++);for(i=W;i<e&&function(e,t,r){if(t<V)throw Error("invalid exponent, negatives unsupported");if(r<=V)throw Error("invalid modulus");if(r===K)return V;let i=K;for(;t>V;)t&K&&(i=i*e%r),e=e*e%r,t>>=K;return i}(i,s,e)!==e-K;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+K)/G;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+K)/W;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,K<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?L(e,o):k(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?j(e):A(C(e))}});return Object.freeze(a)}let en=BigInt(0),eo=BigInt(1);function ea(e,t){let r=t.negate();return e?r:t}function ec(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function el(e,t){return ec(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}let eh=new WeakMap,eu=new WeakMap;function ed(e){return eu.get(e)||1}let ep=BigInt(0),ef=BigInt(1),eg=BigInt(2),ey=BigInt(8),em={zip215:!0};BigInt(0),BigInt(1);let eb=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ew=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);let ev=BigInt(1),eE=BigInt(2);BigInt(3);let eI=BigInt(5),e_=BigInt(8),eD=es(eb,void 0,!0),eP=function(e){var t;let r=function(e){let t=(F(e.Fp,er.reduce((e,t)=>
10(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),F(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ei(e.n,e.nBitLength),...e,p:e.Fp.ORDER}));return F(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:i,n:s,prehash:n,hash:o,randomBytes:a,nByteLength:c,h:l}=r,h=eg<<BigInt(8*c)-ef,u=i.create,d=es(r.n,r.nBitLength),p=r.uvRatio||((e,t)=>{try{return{isValid:!0,value:i.sqrt(e*i.inv(t))}}catch{return{isValid:!1,value:ep}}}),f=r.adjustScalarBytes||(e=>e),g=r.domain||((e,t,r)=>{if(O("phflag",r),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function y(e,t){M("coordinate "+e,t,ep,h)}function m(e){if(!(e instanceof v))throw Error("ExtendedPoint expected")}let b=H((e,t)=>{let{ex:r,ey:s,ez:n}=e,o=e.is0();null==t&&(t=o?ey:i.inv(n));let a=u(r*t),c=u(s*t),l=u(n*t);if(o)return{x:ep,y:ef};if(l!==ef)throw Error("invZ was invalid");return{x:a,y:c}}),w=H(e=>{let{a:t,d:i}=r;if(e.is0())throw Error("bad point: ZERO");let{ex:s,ey:n,ez:o,et:a}=e,c=u(s*s),l=u(n*n),h=u(o*o),d=u(h*h),p=u(c*t);if(u(h*u(p+l))!==u(d+u(i*u(c*l))))throw Error("bad point: equation left != right (1)");if(u(s*n)!==u(o*a))throw Error("bad point: equation left != right (2)");return!0});
10class v{constructor(e,t,r,i){this.ex=e,this.ey=t,this.ez=r,this.et=i,y("x",e),y("y",t),y("z",r),y("t",i),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof v)throw Error("extended point not allowed");let{x:t,y:r}=e||{};return y("x",t),y("y",r),new v(t,r,ef,u(t*r))}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.ez));return e.map((e,r)=>e.toAffine(t[r])).map(v.fromAffine)}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=function(e){let t;for(t=0;e>I;e>>=_,t+=1);return t}(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=Number(i[t]>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(v,d,e,t)}_setWindowSize(e){P.setWindowSize(this,e)}assertValidity(){w(this)}equals(e){m(e);let{ex:t,ey:r,ez:i}=this,{ex:s,ey:n,ez:o}=e,a=u(t*o),c=u(s*i),l=u(r*o),h=u(n*i);return a===c&&l===h}is0(){return this.equals(v.ZERO)}negate(){return new v(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=r,{ex:t,ey:i,ez:s}=this,n=u(t*t),o=u(i*i),a=u(eg*u(s*s)),c=u(e*n),l=t+i,h=u(u(l*l)-n-o),d=c+o,p=d-a,f=c-o,g=u(h*p),y=u(d*f),m=u(h*f);return new v(g,y,u(p*d),m)}add(e){m(e);let{a:t,d:i}=r,{ex:s,ey:n,ez:o,et:a}=this,{ex:c,ey:l,ez:h,et:d}=e;if(t===BigInt(-1)){let e=u((n-s)*(l+c)),t=u((n+s)*(l-c)),r=u(t-e);if(r===ep)return this.double();let i=u(o*eg*d),p=u(a*eg*h),f=p+i,g=t+e,y=p-i,m=u(f*r),b=u(g*y),w=u(f*y);return new v(m,b,u(r*g),w)}let p=u(s*c),f=u(n*l),g=u(a*i*d),y=u(o*h),b=u((s+n)*(c+l)-p-f),w=y-g,E=y+g,I=u(f-t*p),_=u(b*w),D=u(E*I),P=u(b*I);return new v(_,D,u(w*E),P)}subtract(e){return this.add(e.negate())}wNAF(e){return P.wNAFCached(this,e,v.normalizeZ)}multiply(e){M("scalar",e,ef,s);let{p:t,f:r}=this.wNAF(e);return v.normalizeZ([t,r])[0]}multiplyUnsafe(e,t=v.ZERO){return M("scalar",e,ep,s),e===ep?D:this.is0()||e===ef?this:P.wNAFCachedUnsafe(this,e,v.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(l).is0()}isTorsionFree(){return P.unsafeLadder(this,s).is0()}toAffine(e){return b(this,e)}clearCofactor(){let{h:e}=r;return e===ef?this:this.multiplyUnsafe(e)}static fromHex(e,t=!1){let{d:s,a:n}=r,o=i.BYTES;e=U("pointHex",e,o),O("zip215",t);let a=e.slice(),c=e[o-1];a[o-1]=-129&c;let l=j(a);M("pointHex.y",l,ep,t?h:i.ORDER);let d=u(l*l),{isValid:f,value:g}=p(u(d-ef),u(s*d-n));if(!f)throw Error("Point.fromHex: invalid y coordinate");let y=(g&ef)===ef,m=(128&c)!=0;if(!t&&g===ep&&m)throw Error("Point.fromHex: x=0 and x_0=1");return m!==y&&(g=u(-g)),v.fromAffine({x:g,y:l})}static fromPrivateKey(e){return S(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=L(t,i.BYTES);return r[r.length-1]|=e&ef?128:0,r}toHex(){return C(this.toRawBytes())}}v.BASE=new v(r.Gx,r.Gy,ef,u(r.Gx*r.Gy)),v.ZERO=new v(ep,ef,ef,ep);let{BASE:E,ZERO:D}=v,P=(t=8*c,{constTimeNegate:ea,hasPrecomputes:e=>1!==ed(e),unsafeLadder(e,t,r=v.ZERO){let i=e;for(;t>en;)t&eo&&(r=r.add(i)),i=i.double(),t>>=eo;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=el(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=el(e,t),o=v.ZERO,a=v.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=eo);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(ea(d,r[t])):o=o.add(ea(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=v.ZERO){let{windows:n,windowSize:o}=el(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===en)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=eo),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=eh.get(t);
10return i||(i=this.precomputeWindow(t,e),1!==e&&eh.set(t,r(i))),i},wNAFCached(e,t,r){let i=ed(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=ed(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){ec(r,t),eu.set(e,r),eh.delete(e)}});function S(e){let t=i.BYTES;e=U("private key",e,t);let r=U("hashed private key",o(e),2*t),n=f(r.slice(0,t)),a=r.slice(t,2*t),c=Q(j(n),s),l=E.multiply(c),h=l.toRawBytes();return{head:n,prefix:a,scalar:c,point:l,pointBytes:h}}function x(e=new Uint8Array,...t){return Q(j(o(g(B(...t),U("context",e),!!n))),s)}return E._setWindowSize(8),{CURVE:r,getPublicKey:function(e){return S(e).pointBytes},sign:function(e,t,r={}){e=U("message",e),n&&(e=n(e));let{prefix:o,scalar:a,pointBytes:c}=S(t),l=x(r.context,o,e),h=E.multiply(l).toRawBytes(),u=Q(l+x(r.context,h,c,e)*a,s);return M("signature.s",u,ep,s),U("result",B(h,L(u,i.BYTES)),2*i.BYTES)},verify:function(e,t,r,s=em){let o,a,c;let{context:l,zip215:h}=s,u=i.BYTES;e=U("signature",e,2*u),t=U("message",t),r=U("publicKey",r,u),void 0!==h&&O("zip215",h),n&&(t=n(t));let d=j(e.slice(u,2*u));try{o=v.fromHex(r,h),a=v.fromHex(e.slice(0,u),h),c=E.multiplyUnsafe(d)}catch{return!1}if(!h&&o.isSmallOrder())return!1;let p=x(l,a.toRawBytes(),o.toRawBytes(),t);return a.add(o.multiplyUnsafe(p)).subtract(c).clearCofactor().equals(v.ZERO)},ExtendedPoint:v,utils:{getExtendedPublicKey:S,randomPrivateKey:()=>a(i.BYTES),precompute:(e=8,t=v.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:eD,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:e_,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:E,randomBytes:u,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},uvRatio:function(e,t){let r=Q(t*t*t,eb),i=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%eb*e%eb,o=X(n,eE,eb)*n%eb,a=X(o,ev,eb)*e%eb,c=X(a,eI,eb)*a%eb,l=X(c,t,eb)*c%eb,h=X(l,r,eb)*l%eb,u=X(h,i,eb)*h%eb,d=X(u,s,eb)*u%eb,p=X(d,s,eb)*u%eb,f=X(p,t,eb)*c%eb;return{pow_p_5_8:X(f,eE,eb)*e%eb,b2:n}}(e*Q(r*r*t,eb)).pow_p_5_8,s=Q(e*r*i,eb),n=Q(t*s*s,eb),o=s,a=Q(s*ew,eb),c=n===e,l=n===Q(-e,eb),h=n===Q(-e*ew,eb);return c&&(s=o),(l||h)&&(s=a),et(s,eb)&&(s=Q(-s,eb)),{isValid:c||l,value:s}}}),eS="base64url",eO="utf8",ex="utf8",eC="base58btc";function eA(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function eR(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?eA(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function eT(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let r=eR(t),i=0;for(let t of e)r.set(t,i),i+=t.length;return eA(r)}var eN=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let ej=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")}
10,ek=e=>new TextEncoder().encode(e),eL=e=>new TextDecoder().decode(e);class eU{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class eB{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return eM(this,e)}}class eq{constructor(e){this.decoders=e}or(e){return eM(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let eM=(e,t)=>new eq({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});
10class e${constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new eU(e,t,r),this.decoder=new eB(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let ez=({name:e,prefix:t,encode:r,decode:i})=>new e$(e,t,r,i),eF=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=eN(r,t);return ez({prefix:e,name:t,encode:i,decode:e=>ej(s(e))})},eH=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},eV=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},eK=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>ez({prefix:t,name:e,encode:e=>eV(e,i,r),decode:t=>eH(t,i,r,e)});var eW=Object.freeze({__proto__:null,identity:ez({prefix:"\0",name:"identity",encode:e=>eL(e),decode:e=>ek(e)})}),eJ=Object.freeze({__proto__:null,base2:eK({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})}),eG=Object.freeze({__proto__:null,base8:eK({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})}),eY=Object.freeze({__proto__:null,base10:eF({prefix:"9",name:"base10",alphabet:"0123456789"})}),eZ=Object.freeze({__proto__:null,base16:eK({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:eK({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});let eQ=eK({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),eX=eK({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e0=eK({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e1=eK({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),e2=eK({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),e8=eK({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5});var e3=Object.freeze({__proto__:null,base32:eQ,base32upper:eX,base32pad:e0,base32padupper:e1,base32hex:e2,base32hexupper:e8,base32hexpad:eK({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),base32hexpadupper:eK({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),base32z:eK({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})}),e5=Object.freeze({__proto__:null,base36:eF({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),base36upper:eF({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})}),e6=Object.freeze({__proto__:null,base58btc:eF({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),base58flickr:eF({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});let e4=eK({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6});var e9=Object.freeze({__proto__:null,base64:e4,base64pad:eK({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:eK({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:eK({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});let e7=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),te=e7.reduce((e,t,r)=>(e[r]=t,e),[]),tt=e7.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);var tr=Object.freeze({__proto__:null,base256emoji:ez({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>
10e+=te[t],"")},decode:function(e){let t=[];for(let r of e){let e=tt[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}})});function ti(e,t){var r,i=0,t=t||0,s=0,n=t,o=e.length;do{if(n>=o)throw ti.bytes=0,RangeError("Could not decode varint");r=e[n++],i+=s<28?(127&r)<<s:(127&r)*Math.pow(2,s),s+=7}while(r>=128);return ti.bytes=n-t,i}var ts=function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r};let tn=(e,t,r=0)=>(ts(e,t,r),t),to=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,ta=(e,t)=>{let r=t.byteLength,i=to(e),s=i+to(r),n=new Uint8Array(s+r);return tn(e,n,0),tn(r,n,i),n.set(t,s),new tc(e,r,t,n)};class tc{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let tl=({name:e,code:t,encode:r})=>new th(e,t,r);class th{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?ta(this.code,t):t.then(e=>ta(this.code,e))}throw Error("Unknown type, must be binary type")}}let tu=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t));var td=Object.freeze({__proto__:null,sha256:tl({name:"sha2-256",code:18,encode:tu("SHA-256")}),sha512:tl({name:"sha2-512",code:19,encode:tu("SHA-512")})}),tp=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:ej,digest:e=>ta(0,ej(e))}});new TextEncoder,new TextDecoder;let tf={...eW,...eJ,...eG,...eY,...eZ,...e3,...e5,...e6,...e9,...tr};function tg(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...td,...tp});let ty=tg("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),tm=tg("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=eR((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),tb={utf8:ty,"utf-8":ty,hex:tf.base16,latin1:tm,ascii:tm,binary:tm,...tf};function tw(e,t="utf8"){let r=tb[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function tv(e,t="utf8"){let r=tb[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?eA(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function tE(e){return(0,s.D)(tw(tv(e,eS),eO))}function tI(e){return tw(tv((0,s.u)(e),eO),eS)}function t_(e){return["did","key","z"+tw(eT([tv("K36",eC),e]),eC)].join(":")}function tD(e){let t=e.split("."),r=tE(t[0]);return{header:r,payload:tE(t[1]),signature:tv(t[2],eS),data:tv(t.slice(0,2).join("."),ex)}}function tP(e=u(32)){let t=eP.getPublicKey(e);return{secretKey:eT([e,t]),publicKey:t}}async function tS(e,t,r,s,n=(0,i.fromMiliseconds)(Date.now())){var o,a;let c={alg:"EdDSA",typ:"JWT"},l={iss:t_(s.publicKey),sub:e,aud:t,iat:n,exp:n+r},h=tv([tI((o={header:c,payload:l}).header),tI(o.payload)].join("."),ex);return[tI((a={header:c,payload:l,signature:eP.sign(h,s.secretKey.slice(0,32))}).header),tI(a.payload),tw(a.signature,eS)].join(".")}},80577:function(e,t,r){"use strict";r.d(t,{D:function(){return n},u:function(){return o}});let i=e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"n":t),s=e=>JSON.parse(e.replace(/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,'$1"$2n"$3'),(e,t)=>"string"==typeof t&&t.match(/^\d+n$/)?BigInt(t.substring(0,t.length-1)):t);function n(e){if("string"!=typeof e)throw Error(`Cannot safe json parse value of type ${typeof e}`);try{return s(e)}catch(t){return e}}function o(e){return"string"==typeof e?e:i(e)||""}},70213:function(e,t,r){"use strict";
10Object.defineProperty(t,"__esModule",{value:!0});let i=r(62494);i.__exportStar(r(12658),t),i.__exportStar(r(75127),t)},12658:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_THOUSAND=t.ONE_HUNDRED=void 0,t.ONE_HUNDRED=100,t.ONE_THOUSAND=1e3},75127:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=5*t.ONE_MINUTE,t.TEN_MINUTES=10*t.ONE_MINUTE,t.THIRTY_MINUTES=30*t.ONE_MINUTE,t.SIXTY_MINUTES=60*t.ONE_MINUTE,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=3*t.ONE_HOUR,t.SIX_HOURS=6*t.ONE_HOUR,t.TWELVE_HOURS=12*t.ONE_HOUR,t.TWENTY_FOUR_HOURS=24*t.ONE_HOUR,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=3*t.ONE_DAY,t.FIVE_DAYS=5*t.ONE_DAY,t.SEVEN_DAYS=7*t.ONE_DAY,t.THIRTY_DAYS=30*t.ONE_DAY,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=2*t.ONE_WEEK,t.THREE_WEEKS=3*t.ONE_WEEK,t.FOUR_WEEKS=4*t.ONE_WEEK,t.ONE_YEAR=365*t.ONE_DAY},40537:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(62494);i.__exportStar(r(78627),t),i.__exportStar(r(59854),t),i.__exportStar(r(3205),t),i.__exportStar(r(70213),t)},3205:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(62494).__exportStar(r(71146),t)},71146:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;class r{}t.IWatch=r},68353:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;let i=r(70213);t.toMiliseconds=function(e){return e*i.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/i.ONE_THOUSAND)}},86029:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.delay=void 0,t.delay=function(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}},78627:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(62494);i.__exportStar(r(86029),t),i.__exportStar(r(68353),t)},59854:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(void 0!==t.elapsed)throw Error(`Watch already stopped for label: ${e}`);let r=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:r})}get(e){let t=this.timestamps.get(e);if(void 0===t)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e);return t.elapsed||Date.now()-t.started}}t.Watch=r,t.default=r},62494:function(e,t,r){"use strict";r.r(t),r.d(t,{__assign:function(){return n},__asyncDelegator:function(){return v},__asyncGenerator:function(){return w},__asyncValues:function(){return E},__await:function(){return b},__awaiter:function(){return h},__classPrivateFieldGet:function(){return P},__classPrivateFieldSet:function(){return S},__createBinding:function(){return d},__decorate:function(){return a},__exportStar:function(){return p},__extends:function(){return s},__generator:function(){return u},__importDefault:function(){return D},__importStar:function(){return _}
vendor: 5,306 bytes, line 10
10,__makeTemplateObject:function(){return I},__metadata:function(){return l},__param:function(){return c},__read:function(){return g},__rest:function(){return o},__spread:function(){return y},__spreadArrays:function(){return m},__values:function(){return f}});var i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function s(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var n=function(){return(n=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function o(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)0>t.indexOf(i[s])&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]]);return r}function a(e,t,r,i){var s,n=arguments.length,o=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(n<3?s(o):n>3?s(t,r,o):s(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o}function c(e,t){return function(r,i){t(r,i,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function h(e,t,r,i){return new(r||(r=Promise))(function(s,n){function o(e){try{c(i.next(e))}catch(e){n(e)}}function a(e){try{c(i.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?s(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((i=i.apply(e,t||[])).next())})}function u(e,t){var r,i,s,n,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return n={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function a(n){return function(a){return function(n){if(r)throw TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(s=2&n[0]?i.return:n[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,n[1])).done)return s;switch(i=0,s&&(n=[2&n[0],s.value]),n[0]){case 0:case 1:s=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(s=(s=o.trys).length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){o=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){o.label=n[1];break}if(6===n[0]&&o.label<s[1]){o.label=s[1],s=n;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(n);break}s[2]&&o.ops.pop(),o.trys.pop();continue}n=t.call(e,o)}catch(e){n=[6,e],i=0}finally{r=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,a])}}}function d(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}function p(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,s,n=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var i=Array(e),s=0,t=0;t<r;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,s++)i[s]=n[o];return i}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function w(e,t,r){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var i,s=r.apply(e,t||[]),n=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){s[e]&&(i[e]=function(t){return new Promise(function(r,i){n.push([e,t,r,i])>1||a(e,t)})})}function a(e,t){try{var r;(r=s[e](t)).value instanceof b?Promise.resolve(r.value.v).then(c,l):h(n[0][2],r)}catch(e){h(n[0][3],e)}}function c(e){a("next",e)}function l(e){a("throw",e)}function h(e,t){e(t),n.shift(),n.length&&a(n[0][0],n[0][1])}}function v(e){var t,r;return t={},i("next"),i("throw",function(e){throw e}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,s){t[i]=e[i]?function(t){return(r=!r)?{value:b(e[i](t)),done:"return"===i}:s?s(t):t}:s}}function E(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=f(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,s){!function(e,t,r,i){Promise.resolve(i).then(function(t){e({value:t,done:r})},t)}(i,s,(t=e[r](t)).done,t.value)})}}}function I(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
10function _(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function D(e){return e&&e.__esModule?e:{default:e}}function P(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,r){if(!t.has(e))throw TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},76454:function(e,t){"use strict";function r(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function i(e){let t=r(e);if(!t)throw Error(`${e} is not defined in Window`);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorage=t.getLocalStorageOrThrow=t.getCrypto=t.getCryptoOrThrow=t.getLocation=t.getLocationOrThrow=t.getNavigator=t.getNavigatorOrThrow=t.getDocument=t.getDocumentOrThrow=t.getFromWindowOrThrow=t.getFromWindow=void 0,t.getFromWindow=r,t.getFromWindowOrThrow=i,t.getDocumentOrThrow=function(){return i("document")},t.getDocument=function(){return r("document")},t.getNavigatorOrThrow=function(){return i("navigator")},t.getNavigator=function(){return r("navigator")},t.getLocationOrThrow=function(){return i("location")},t.getLocation=function(){return r("location")},t.getCryptoOrThrow=function(){return i("crypto")},t.getCrypto=function(){return r("crypto")},t.getLocalStorageOrThrow=function(){return i("localStorage")},t.getLocalStorage=function(){return r("localStorage")}},3897:function(e,t,r){"use strict";t.D=void 0;let i=r(76454);t.D=function(){let e,t,r;try{e=i.getDocumentOrThrow(),t=i.getLocationOrThrow()}catch(e){return null}function s(...t){let r=e.getElementsByTagName("meta");for(let e=0;e<r.length;e++){let i=r[e],s=["itemprop","property","name"].map(e=>i.getAttribute(e)).filter(e=>!!e&&t.includes(e));if(s.length&&s){let e=i.getAttribute("content");if(e)return e}}return""}let n=((r=s("name","og:site_name","og:title","twitter:title"))||(r=e.title),r),o=s("description","og:description","twitter:description","keywords");return{description:o,url:t.origin,icons:function(){let r=e.getElementsByTagName("link"),i=[];for(let e=0;e<r.length;e++){let s=r[e],n=s.getAttribute("rel");if(n&&n.toLowerCase().indexOf("icon")>-1){let e=s.getAttribute("href");if(e){if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let r=t.protocol+"//"+t.host;if(0===e.indexOf("/"))r+=e;else{let i=t.pathname.split("/");i.pop(),r+=i.join("/")+"/"+e}i.push(r)}else if(0===e.indexOf("//")){let r=t.protocol+e;i.push(r)}else i.push(e)}}}return i}(),name:n}}},65383:function(e,t,r){"use strict";r.d(t,{qY:function(){return p}});var i=r(40257),s=function(e,t,r){if(r||2==arguments.length)for(var i,s=0,n=t.length;s<n;s++)!i&&s in t||(i||(i=Array.prototype.slice.call(t,0,s)),i[s]=t[s]);return e.concat(i||Array.prototype.slice.call(t))},n=function(e,t,r){this.name=e,this.version=t,this.os=r,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=i.platform},a=function(e,t,r,i){this.name=e,this.version=t,this.os=r,this.bot=i,this.type="bot-device"},c=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},l=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},h=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,u=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;
10\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],d=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function p(e){return e?f(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new l:"undefined"!=typeof navigator?f(navigator.userAgent):void 0!==i&&i.version?new o(i.version.slice(1)):null}function f(e){var t=""!==e&&u.reduce(function(t,r){var i=r[0],s=r[1];if(t)return t;var n=s.exec(e);return!!n&&[i,n]},!1);if(!t)return null;var r=t[0],i=t[1];if("searchbot"===r)return new c;var o=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);o?o.length<3&&(o=s(s([],o,!0),function(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}(3-o.length),!0)):o=[];var l=o.join("."),p=function(e){for(var t=0,r=d.length;t<r;t++){var i=d[t],s=i[0];if(i[1].exec(e))return s}return null}(e),f=h.exec(e);return f&&f[1]?new a(r,l,p,f[1]):new n(r,l,p)}},55445:function(e){"use strict";var t,r="object"==typeof Reflect?Reflect:null,i=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}e.exports=n,e.exports.once=function(e,t){return new Promise(function(r,i){var s;function n(r){e.removeListener(t,o),i(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",n),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&(s={once:!0},"function"==typeof e.on&&g(e,"error",n,s))})},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,r,i){if(a(r),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),n=e._events),o=n[t]),void 0===o)o=n[t]=r,++e._eventsCount;else if("function"==typeof o?o=n[t]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),(s=c(e))>0&&o.length>s&&!o.warned){o.warned=!0;var s,n,o,l=Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,console&&console.warn&&console.warn(l)}return e}function h(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},s=h.bind(i);return s.listener=r,i.wrapFn=s,s}function d(e,t,r){var i=e._events;if(void 0===i)return[];var s=i[t];return void 0===s?[]:"function"==typeof s?r?[s.listener||s]:[s]:r?function(e){for(var t=Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(s):f(s,s.length)}function p(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function f(e,t){for(var r=Array(t),i=0;i<t;++i)r[i]=e[i];return r}
10function g(e,t,r,i){if("function"==typeof e.on)i.once?e.once(t,r):e.on(t,r);else if("function"==typeof e.addEventListener)e.addEventListener(t,function s(n){i.once&&e.removeEventListener(t,s),r(n)});else throw TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),n.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return c(this)},n.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var s="error"===e,n=this._events;if(void 0!==n)s=s&&void 0===n.error;else if(!s)return!1;if(s){if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var o,a=Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=n[e];if(void 0===c)return!1;if("function"==typeof c)i(c,this,t);else for(var l=c.length,h=f(c,l),r=0;r<l;++r)i(h[r],this,t);return!0},n.prototype.addListener=function(e,t){return l(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return l(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,u(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,u(this,e,t)),this},n.prototype.removeListener=function(e,t){var r,i,s,n,o;if(a(t),void 0===(i=this._events)||void 0===(r=i[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(s=-1,n=r.length-1;n>=0;n--)if(r[n]===t||r[n].listener===t){o=r[n].listener,s=n;break}if(s<0)return this;0===s?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,s),1===r.length&&(i[e]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",e,o||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0==arguments.length){var s,n=Object.keys(r);for(i=0;i<n.length;++i)"removeListener"!==(s=n[i])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return d(this,e,!0)},n.prototype.rawListeners=function(e){return d(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},n.prototype.listenerCount=p,n.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},95172:function(e){"use strict";function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var s=i&&i.stringify||t;if("object"==typeof e&&null!==e){var n=r.length+1;if(1===n)return e;var o=Array(n);o[0]=s(e);for(var a=1;a<n;a++)o[a]=s(r[a]);return o.join(" ")}if("string"!=typeof e)return e;var c=r.length;if(0===c)return e;for(var l="",h=0,u=-1,d=e&&e.length||0,p=0;p<d;){if(37===e.charCodeAt(p)&&p+1<d){switch(u=u>-1?u:0,e.charCodeAt(p+1)){case 100:case 102:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Number(r[h]),u=p+2,p++;break;case 105:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Math.floor(Number(r[h])),u=p+2,p++;break;case 79:case 111:case 106:if(h>=c||void 0===r[h])break;u<p&&(l+=e.slice(u,p));var f=typeof r[h];if("string"===f){l+="'"+r[h]+"'",u=p+2,p++;break}if("function"===f){l+=r[h].name||"<anonymous>",u=p+2,p++;break}l+=s(r[h]),u=p+2,p++;break;case 115:if(h>=c)break;u<p&&(l+=e.slice(u,p)),l+=String(r[h]),u=p+2,p++;break;case 37:u<p&&(l+=e.slice(u,p)),l+="%",u=p+2,p++,h--}++h}++p}return -1===u?e:(u<d&&(l+=e.slice(u)),l)}},97435:function(e,t,r){"use strict";let i=r(95172);e.exports=n;let s=function(){function e(e){return void 0!==e&&e}try{if("undefined"!=typeof globalThis)return globalThis;return Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{};function n(e){var t,r;(e=e||{}).browser=e.browser||{};let i=e.browser.transmit;if(i&&"function"!=typeof i.send)throw Error("pino: transmit option must have a send function");let h=e.browser.write||s;e.browser.write&&(e.browser.asObject=!0);let u=e.serializers||{},g=Array.isArray(t=e.browser.serialize)?t.filter(function(e){return"!stdSerializers.err"!==e}):!0===t&&Object.keys(u),y=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(y=!1),"function"==typeof h&&(h.error=h.fatal=h.warn=h.info=h.debug=h.trace=h),!1===e.enabled&&(e.level="silent");let m=e.level||"info",b=Object.create(h);b.log||(b.log=d),Object.defineProperty(b,"levelVal",{get:function(){return"silent"===this.level?1/0:this.levels.values[this.level]}}),Object.defineProperty(b,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,o(w,b,"error","log"),o(w,b,"fatal","error"),o(w,b,"warn","error"),o(w,b,"info","log"),o(w,b,"debug","log"),o(w,b,"trace","log")}});let w={transmit:i,serialize:g,asObject:e.browser.asObject,levels:["error","fatal","warn","info","debug","trace"],timestamp:"function"==typeof(r=e).timestamp?r.timestamp:!1===r.timestamp?p:f};return b.levels=n.levels,b.level=m,b.setMaxListeners=b.getMaxListeners=b.emit=b.addListener=b.on=b.prependListener=b.once=b.prepe
10ndOnceListener=b.removeListener=b.removeAllListeners=b.listeners=b.listenerCount=b.eventNames=b.write=b.flush=d,b.serializers=u,b._serialize=g,b._stdErrSerialize=y,b.child=function(t,r){if(!t)throw Error("missing bindings for child Pino");r=r||{},g&&t.serializers&&(r.serializers=t.serializers);let s=r.serializers;if(g&&s){var n=Object.assign({},u,s),o=!0===e.browser.serialize?Object.keys(n):g;delete t.serializers,a([t],o,n,this._stdErrSerialize)}function h(e){this._childLevel=(0|e._childLevel)+1,this.error=c(e,t,"error"),this.fatal=c(e,t,"fatal"),this.warn=c(e,t,"warn"),this.info=c(e,t,"info"),this.debug=c(e,t,"debug"),this.trace=c(e,t,"trace"),n&&(this.serializers=n,this._serialize=o),i&&(this._logEvent=l([].concat(e._logEvent.bindings,t)))}return h.prototype=this,new h(this)},i&&(b._logEvent=l()),b}function o(e,t,r,o){let c=Object.getPrototypeOf(t);t[r]=t.levelVal>t.levels.values[r]?d:c[r]?c[r]:s[r]||s[o]||d,function(e,t,r){if(e.transmit||t[r]!==d){var o;t[r]=(o=t[r],function(){let c=e.timestamp(),h=Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===s?s:this;for(var d=0;d<h.length;d++)h[d]=arguments[d];if(e.serialize&&!e.asObject&&a(h,this._serialize,this.serializers,this._stdErrSerialize),e.asObject?o.call(u,function(e,t,r,s){e._serialize&&a(r,e._serialize,e.serializers,e._stdErrSerialize);let o=r.slice(),c=o[0],l={};s&&(l.time=s),l.level=n.levels.values[t];let h=(0|e._childLevel)+1;if(h<1&&(h=1),null!==c&&"object"==typeof c){for(;h--&&"object"==typeof o[0];)Object.assign(l,o.shift());c=o.length?i(o.shift(),o):void 0}else"string"==typeof c&&(c=i(o.shift(),o));return void 0!==c&&(l.msg=c),l}(this,r,h,c)):o.apply(u,h),e.transmit){let i=e.transmit.level||t.level,s=n.levels.values[i],o=n.levels.values[r];if(o<s)return;(function(e,t,r){let i=t.send,s=t.ts,n=t.methodLevel,o=t.methodValue,c=t.val,h=e._logEvent.bindings;a(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=s,e._logEvent.messages=r.filter(function(e){return -1===h.indexOf(e)}),e._logEvent.level.label=n,e._logEvent.level.value=o,i(n,e._logEvent,c),e._logEvent=l(h)})(this,{ts:c,methodLevel:r,methodValue:o,transmitLevel:i,transmitValue:n.levels.values[e.transmit.level||t.level],send:e.transmit.send,val:t.levelVal},h)}})}}(e,t,r)}function a(e,t,r,i){for(let s in e)if(i&&e[s]instanceof Error)e[s]=n.stdSerializers.err(e[s]);else if("object"==typeof e[s]&&!Array.isArray(e[s]))for(let i in e[s])t&&t.indexOf(i)>-1&&i in r&&(e[s][i]=r[i](e[s][i]))}function c(e,t,r){return function(){let i=Array(1+arguments.length);i[0]=t;for(var s=1;s<i.length;s++)i[s]=arguments[s-1];return e[r].apply(this,i)}}function l(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function h(){return{}}function u(e){return e}function d(){}function p(){return!1}function f(){return Date.now()}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers={mapHttpRequest:h,mapHttpResponse:h,wrapRequestSerializer:u,wrapResponseSerializer:u,wrapErrorSerializer:u,req:h,res:h,err:function(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let r in e)void 0===t[r]&&(t[r]=e[r]);return t}},n.stdTimeFunctions=Object.assign({},{nullTime:p,epochTime:f,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}})},85689:function(e,t,r){"use strict";function i(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function s(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function n(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");i(e.outputLen),i(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function a(e,t){s(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}r.d(t,{$h:function(){return o},eB:function(){return a},gk:function(){return s},k8:function(){return i},z3:function(){return n}})},38043:function(e,t,r){"use strict";r.d(t,{kb:function(){return d},l1:function(){return l},eV:function(){return u},GL:function(){return o},iA:function(){return c},O6:function(){return f},np:function(){return a},O0:function(){return h},Jq:function(){return n},hE:function(){return p}});let i="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;var s=r(85689);function n(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function o(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function a(e,t){return e<<32-t|e>>>t}let c=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function l(e){for(let r=0;r<e.length;r++){var t;e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function h(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),(0,s.gk)(e),e}function u(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];(0,s.gk)(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}class d{clone(){return this._cloneInto()}}function p(e){let t=t=>e().update(h(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function f(e=32){if(i&&"function"==typeof i.getRandomValues)return i.getRandomValues(new Uint8Array(e));if(i&&"function"==typeof i.randomBytes)return i.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}},90059:function(e,t,r){"use strict";r.d(t,{ZP:function(){return a}});let i=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,s=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,n=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function o(e,t){if("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`);return}return t}function a(e,t={}){if("string"!=typeof e)return e;if('"'===e[0]&&'"'===e[e.length-1]&&-1===e.indexOf("\\"))return e.slice(1,-1);let r=e.trim();if(r.length<=9)switch(r.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!n.test(e)){if(t.strict)throw SyntaxError("[destr] Invalid JSON");return e}try{if(i.test(e)||s.test(e)){if(t.strict)throw Error("[destr] Possible prototype pollution");return JSON.parse(e,o)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}},27600:function(e,t,r){"use strict";let i;function s(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function n(e,t){let r=indexedDB.open(e);r.onupgradeneeded=()=>r.result.createObjectStore(t);let i=s(r);return(e,r)=>i.then(i=>r(i.transaction(t,e).objectStore(t)))}
10function o(){return i||(i=n("keyval-store","keyval")),i}function a(e,t=o()){return t("readonly",t=>s(t.get(e)))}function c(e,t,r=o()){return r("readwrite",r=>(r.put(t,e),s(r.transaction)))}function l(e,t=o()){return t("readwrite",t=>(t.delete(e),s(t.transaction)))}function h(e=o()){return e("readwrite",e=>(e.clear(),s(e.transaction)))}function u(e=o()){return e("readonly",e=>{var t;if(e.getAllKeys)return s(e.getAllKeys());let r=[];return(t=e=>r.push(e.key),e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},s(e.transaction)).then(()=>r)})}r.d(t,{IV:function(){return l},MT:function(){return n},U2:function(){return a},XP:function(){return u},ZH:function(){return h},t8:function(){return c}})},6208:function(e,t,r){"use strict";r.d(t,{zo:function(){return b},mL:function(){return eG},BB:function(){return eY}});var i={};r.r(i),r.d(i,{identity:function(){return j}});var s={};r.r(s),r.d(s,{base2:function(){return k}});var n={};r.r(n),r.d(n,{base8:function(){return L}});var o={};r.r(o),r.d(o,{base10:function(){return U}});var a={};r.r(a),r.d(a,{base16:function(){return B},base16upper:function(){return q}});var c={};r.r(c),r.d(c,{base32:function(){return M},base32hex:function(){return H},base32hexpad:function(){return K},base32hexpadupper:function(){return W},base32hexupper:function(){return V},base32pad:function(){return z},base32padupper:function(){return F},base32upper:function(){return $},base32z:function(){return J}});var l={};r.r(l),r.d(l,{base36:function(){return G},base36upper:function(){return Y}});var h={};r.r(h),r.d(h,{base58btc:function(){return Z},base58flickr:function(){return Q}});var u={};r.r(u),r.d(u,{base64:function(){return X},base64pad:function(){return ee},base64url:function(){return et},base64urlpad:function(){return er}});var d={};r.r(d),r.d(d,{base256emoji:function(){return eo}});var p={};r.r(p),r.d(p,{sha256:function(){return ew},sha512:function(){return ev}});var f={};r.r(f),r.d(f,{identity:function(){return eE}});var g={};r.r(g),r.d(g,{code:function(){return e_},decode:function(){return eP},encode:function(){return eD},name:function(){return eI}});var y={};function m(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function b(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let r=m(t),i=0;for(let t of e)r.set(t,i),i+=t.length;return r}r.r(y),r.d(y,{code:function(){return eC},decode:function(){return eR},encode:function(){return eA},name:function(){return ex}});var w=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};new Uint8Array(0);let v=(e,t)=>
10{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},E=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},I=e=>new TextEncoder().encode(e),_=e=>new TextDecoder().decode(e);class D{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class P{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return O(this,e)}}class S{constructor(e){this.decoders=e}or(e){return O(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let O=(e,t)=>new S({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});
10class x{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new D(e,t,r),this.decoder=new P(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let C=({name:e,prefix:t,encode:r,decode:i})=>new x(e,t,r,i),A=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=w(r,t);return C({prefix:e,name:t,encode:i,decode:e=>E(s(e))})},R=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},T=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},N=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>C({prefix:t,name:e,encode:e=>T(e,i,r),decode:t=>R(t,i,r,e)}),j=C({prefix:"\0",name:"identity",encode:e=>_(e),decode:e=>I(e)}),k=N({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),L=N({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),U=A({prefix:"9",name:"base10",alphabet:"0123456789"}),B=N({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),q=N({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),M=N({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),$=N({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),z=N({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),F=N({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),H=N({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),V=N({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),K=N({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),W=N({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),J=N({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),G=A({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Y=A({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),Z=A({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Q=A({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),X=N({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ee=N({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),et=N({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),er=N({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),ei=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),es=ei.reduce((e,t,r)=>(e[r]=t,e),[]),en=ei.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]),eo=C({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>
10e+=es[t],"")},decode:function(e){let t=[];for(let r of e){let e=en[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var ea=function e(t,r,i){r=r||[];for(var s=i=i||0;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r},ec=function e(t,r){var i,s=0,r=r||0,n=0,o=r,a=t.length;do{if(o>=a)throw e.bytes=0,RangeError("Could not decode varint");i=t[o++],s+=n<28?(127&i)<<n:(127&i)*Math.pow(2,n),n+=7}while(i>=128);return e.bytes=o-r,s};let el=(e,t=0)=>[ec(e,t),ec.bytes],eh=(e,t,r=0)=>(ea(e,t,r),t),eu=e=>e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10,ed=(e,t)=>{let r=t.byteLength,i=eu(e),s=i+eu(r),n=new Uint8Array(s+r);return eh(e,n,0),eh(r,n,i),n.set(t,s),new eg(e,r,t,n)},ep=e=>{let t=E(e),[r,i]=el(t),[s,n]=el(t.subarray(i)),o=t.subarray(i+n);if(o.byteLength!==s)throw Error("Incorrect length");return new eg(r,s,o,t)},ef=(e,t)=>e===t||e.code===t.code&&e.size===t.size&&v(e.bytes,t.bytes);
10class eg{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let ey=({name:e,code:t,encode:r})=>new em(e,t,r);class em{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?ed(this.code,t):t.then(e=>ed(this.code,e))}throw Error("Unknown type, must be binary type")}}let eb=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),ew=ey({name:"sha2-256",code:18,encode:eb("SHA-256")}),ev=ey({name:"sha2-512",code:19,encode:eb("SHA-512")}),eE={code:0,name:"identity",encode:E,digest:e=>ed(0,E(e))},eI="raw",e_=85,eD=e=>E(e),eP=e=>E(e),eS=new TextEncoder,eO=new TextDecoder,ex="json",eC=512,eA=e=>eS.encode(JSON.stringify(e)),eR=e=>JSON.parse(eO.decode(e));class eT{constructor(e,t,r,i){this.code=t,this.version=e,this.multihash=r,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:e$,byteLength:e$,code:eM,version:eM,multihash:eM,bytes:eM,_baseCache:e$,asCID:e$})}toV0(){if(0===this.version)return this;{let{code:e,multihash:t}=this;if(e!==eL)throw Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==eU)throw Error("Cannot convert non sha2-256 multihash CID to CIDv0");return eT.createV0(t)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,r=ed(e,t);return eT.createV1(this.code,r)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&ef(this.multihash,e.multihash)}toString(e){let{bytes:t,version:r,_baseCache:i}=this;return 0===r?ej(t,i,e||Z.encoder):ek(t,i,e||M.encoder)}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return ez(/^0\.0/,eF),!!(e&&(e[eq]||e.asCID===e))}get toBaseEncodedString(){throw Error("Deprecated, use .toString()")}get codec(){throw Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw Error('"multibaseName" property is deprecated')}get prefix(){throw Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof eT)return e;if(null!=e&&e.asCID===e){let{version:t,code:r,multihash:i,bytes:s}=e;return new eT(t,r,i,s||eB(t,r,i.bytes))}if(null==e||!0!==e[eq])return null;{let{version:t,multihash:r,code:i}=e,s=ep(r);return eT.create(t,i,s)}}static create(e,t,r){if("number"!=typeof t)throw Error("String codecs are no longer supported");switch(e){case 0:if(t===eL)return new eT(e,t,r,r.bytes);throw Error(`Version 0 CID must use dag-pb (code: ${eL}) block encoding`);case 1:{let i=eB(e,t,r.bytes);return new eT(e,t,r,i)}default:throw Error("Invalid version")}}static createV0(e){return eT.create(0,eL,e)}static createV1(e,t){return eT.create(1,e,t)}static decode(e){let[t,r]=eT.decodeFirst(e);if(r.length)throw Error("Incorrect length");return t}static decodeFirst(e){let t=eT.inspectBytes(e),r=t.size-t.multihashSize,i=E(e.subarray(r,r+t.multihashSize));if(i.byteLength!==t.multihashSize)throw Error("Incorrect length");let s=i.subarray(t.multihashSize-t.digestSize),n=new eg(t.multihashCode,t.digestSize,s,i);return[0===t.version?eT.createV0(n):eT.createV1(t.codec,n),e.subarray(t.size)]}static inspectBytes(e){let t=0,r=()=>{let[r,i]=el(e.subarray(t));return t+=i,r},i=r(),s=eL;if(18===i?(i=0,t=0):1===i&&(s=r()),0!==i&&1!==i)throw RangeError(`Invalid CID version ${i}`);let n=t,o=r(),a=r(),c=t+a;return{version:i,codec:s,multihashCode:o,digestSize:a,multihashSize:c-n,size:c}}static parse(e,t){let[r,i]=eN(e,t),s=eT.decode(i);return s._baseCache.set(r,e),s}}let eN=(e,t)=>{switch(e[0]){case"Q":return[Z.prefix,(t||Z).decode(`${Z.prefix}${e}`)];case Z.prefix:return[Z.prefix,(t||Z).decode(e)];case M.prefix:return[M.prefix,(t||M).decode(e)];default:if(null==t)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}},ej=(e,t,r)=>{let{prefix:i}=r;if(i!==Z.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let s=t.get(i);if(null!=s)return s;{let s=r.encode(e).slice(1);return t.set(i,s),s}},ek=(e,t,r)=>{let{prefix:i}=r,s=t.get(i);if(null!=s)return s;{let s=r.encode(e);return t.set(i,s),s}},eL=112,eU=18,eB=(e,t,r)=>{let i=eu(e),s=i+eu(t),n=new Uint8Array(s+r.byteLength);return eh(e,n,0),eh(t,n,i),n.set(r,s),n}
10,eq=Symbol.for("@ipld/js-cid/CID"),eM={writable:!1,configurable:!1,enumerable:!0},e$={writable:!1,enumerable:!1,configurable:!1},ez=(e,t)=>{if(e.test("0.0.0-dev"))console.warn(t);else throw Error(t)},eF=`CID.isCID(v) is deprecated and will be removed in the next major release. 11Following code pattern: 12 13if (CID.isCID(value)) { 14 doSomethingWithCID(value) 15} 16 17Is replaced with: 18 19const cid = CID.asCID(value) 20if (cid) { 21 // Make sure to use cid instead of value 22 doSomethingWithCID(cid) 23} 24`,eH={...i,...s,...n,...o,...a,...c,...l,...h,...u,...d};function eV(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...p,...f});let eK=eV("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),eW=eV("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{let t=m((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),eJ={utf8:eK,"utf-8":eK,hex:eH.base16,latin1:eW,ascii:eW,binary:eW,...eH};function eG(e,t="utf8"){let r=eJ[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):r.decoder.decode(`${r.prefix}${e}`)}function eY(e,t="utf8"){let r=eJ[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.