genosdb 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var _=async(D,T)=>{if(!T)return null;let F="owner",H="collaborators",P=()=>{let h=D.sm.getActiveEthAddress();if(!h)throw Error("❌ [SM-ACLs] Active user session required.");return h},V=(h)=>Error(`❌ [SM-ACLs] Only the owner can ${h}.`),Y=async(h,k)=>{let x=[];for(let z of h){let{signer:G,type:J,id:X}=z;if(!G||!X){x.push(z);continue}let Q=k.get(X),{[F]:K,[H]:Z={}}=Q?.value||{};if(J==="put"){if(!Q||G===K||Z[G]==="write")x.push(z);continue}if(J==="remove"){if(!Q||K===void 0||G===K)x.push(z);continue}x.push(z)}return x};return D.use(Y),{async set(h,k){let x=P(),{result:z}=await D.get(k);if(z){let{[F]:G,[H]:J={}}=z.value;if(x!==G&&J[x]!=="write")throw Error(`\uD83D\uDEE1️ [SM-ACLs] Write denied for node ${k}.`);let{[F]:X,[H]:Q,...K}=h;return D.put({...z.value,...K},k)}return D.put({...h,[F]:x,[H]:{}},k)},async grant(h,k,x){let z=P();if(!["read","write"].includes(x))throw Error("\uD83D\uDEE1️ [SM-ACLs] Permission must be 'read' or 'write'.");let{result:G}=await D.get(h);if(!G)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(G.value[F]!==z)throw V("grant permissions");let J={...G.value[H]??{},[k]:x};await D.put({...G.value,[H]:J},h)},async revoke(h,k){let x=P(),{result:z}=await D.get(h);if(!z)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(z.value[F]!==x)throw V("revoke permissions");let{[k]:G,...J}=z.value[H]??{};await D.put({...z.value,[H]:J},h)},async delete(h){let k=P(),{result:x}=await D.get(h);if(!x)return;if(x.value[F]!==k)throw V("delete this node");await D.remove(h)},async getPermissions(h){let{result:k}=await D.get(h);if(!k||k.value[F]===void 0)return null;return{owner:k.value[F],collaborators:k.value[H]??{}}}}};async function f(D,T){try{let F=await _(D,T);if(F)try{Object.defineProperty(D.sm,"acls",{value:F,writable:!0,enumerable:!1,configurable:!0})}catch(H){throw Error("❌ [SM-ACLs] Cannot attach ACL module to gdb.sm. Ensure gdb.sm is extensible.")}}catch(F){throw F}}export{f as start,_ as createAclModule};
1
+ var _=async(D,T)=>{if(!T)return null;let F="owner",H="collaborators",P=()=>{let h=D.sm.getActiveEthAddress();if(!h)throw Error("❌ [SM-ACLs] Active user session required.");return h},V=(h)=>Error(`❌ [SM-ACLs] Only the owner can ${h}.`),Y=async(h,k)=>{let x=[];for(let z of h){let{signer:G,type:J,id:X}=z;if(!G||!X){x.push(z);continue}let Q=k.get(X),{[F]:K,[H]:Z={}}=Q?.value||{};if(J==="upsert"||J==="put"){if(!Q||K===void 0||G===K||Z[G]==="write")x.push(z);continue}if(J==="remove"){if(!Q||K===void 0||G===K)x.push(z);continue}x.push(z)}return x};return D.use(Y),{async set(h,k){let x=P(),{result:z}=await D.get(k);if(z){let{[F]:G,[H]:J={}}=z.value;if(x!==G&&J[x]!=="write")throw Error(`\uD83D\uDEE1️ [SM-ACLs] Write denied for node ${k}.`);let{[F]:X,[H]:Q,...K}=h;return D.put({...z.value,...K},k)}return D.put({...h,[F]:x,[H]:{}},k)},async grant(h,k,x){let z=P();if(!["read","write"].includes(x))throw Error("\uD83D\uDEE1️ [SM-ACLs] Permission must be 'read' or 'write'.");let{result:G}=await D.get(h);if(!G)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(G.value[F]!==z)throw V("grant permissions");let J={...G.value[H]??{},[k]:x};await D.put({...G.value,[H]:J},h)},async revoke(h,k){let x=P(),{result:z}=await D.get(h);if(!z)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(z.value[F]!==x)throw V("revoke permissions");let{[k]:G,...J}=z.value[H]??{};await D.put({...z.value,[H]:J},h)},async delete(h){let k=P(),{result:x}=await D.get(h);if(!x)return;if(x.value[F]!==k)throw V("delete this node");await D.remove(h)},async getPermissions(h){let{result:k}=await D.get(h);if(!k||k.value[F]===void 0)return null;return{owner:k.value[F],collaborators:k.value[H]??{}}}}};async function f(D,T){try{let F=await _(D,T);if(F)try{Object.defineProperty(D.sm,"acls",{value:F,writable:!0,enumerable:!1,configurable:!0})}catch(H){throw Error("❌ [SM-ACLs] Cannot attach ACL module to gdb.sm. Ensure gdb.sm is extensible.")}}catch(F){throw F}}export{f as start,_ as createAclModule};
Binary file
package/dist/sm.min.js CHANGED
@@ -1,4 +1,4 @@
1
- var yX=Object.defineProperty;var gX=($)=>$;function hX($,Q){this[$]=gX.bind(null,Q)}var mX=($,Q)=>{for(var J in Q)yX($,J,{get:Q[J],enumerable:!0,configurable:!0,set:hX.bind(Q,J)})};var j8="6.15.0";function cX($,Q,J){let Y=Q.split("|").map((Z)=>Z.trim());for(let Z=0;Z<Y.length;Z++)switch(Q){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof $===Q)return}let X=Error(`invalid value for type ${Q}`);throw X.code="INVALID_ARGUMENT",X.argument=`value.${J}`,X.value=$,X}async function h$($){let Q=Object.keys($);return(await Promise.all(Q.map((Y)=>Promise.resolve($[Y])))).reduce((Y,X,Z)=>{return Y[Q[Z]]=X,Y},{})}function a($,Q,J){for(let Y in Q){let X=Q[Y],Z=J?J[Y]:null;if(Z)cX(X,Z,Y);Object.defineProperty($,Y,{enumerable:!0,value:X,writable:!1})}}function h0($,Q){if($==null)return"null";if(Q==null)Q=new Set;if(typeof $==="object"){if(Q.has($))return"[Circular]";Q.add($)}if(Array.isArray($))return"[ "+$.map((J)=>h0(J,Q)).join(", ")+" ]";if($ instanceof Uint8Array){let Y="0x";for(let X=0;X<$.length;X++)Y+="0123456789abcdef"[$[X]>>4],Y+="0123456789abcdef"[$[X]&15];return Y}if(typeof $==="object"&&typeof $.toJSON==="function")return h0($.toJSON(),Q);switch(typeof $){case"boolean":case"number":case"symbol":return $.toString();case"bigint":return BigInt($).toString();case"string":return JSON.stringify($);case"object":{let J=Object.keys($);return J.sort(),"{ "+J.map((Y)=>`${h0(Y,Q)}: ${h0($[Y],Q)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function P8($,Q){return $&&$.code===Q}function J8($,Q,J){let Y=$;{let Z=[];if(J){if("message"in J||"code"in J||"name"in J)throw Error(`value will overwrite populated values: ${h0(J)}`);for(let q in J){if(q==="shortMessage")continue;let G=J[q];Z.push(q+"="+h0(G))}}if(Z.push(`code=${Q}`),Z.push(`version=${j8}`),Z.length)$+=" ("+Z.join(", ")+")"}let X;switch(Q){case"INVALID_ARGUMENT":X=TypeError($);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":X=RangeError($);break;default:X=Error($)}if(a(X,{code:Q}),J)Object.assign(X,J);if(X.shortMessage==null)a(X,{shortMessage:Y});return X}function k($,Q,J,Y){if(!$)throw J8(Q,J,Y)}function z($,Q,J,Y){k($,Q,"INVALID_ARGUMENT",{argument:J,value:Y})}var uX=["NFD","NFC","NFKD","NFKC"].reduce(($,Q)=>{try{if("test".normalize(Q)!=="test")throw Error("bad");if(Q==="NFD"){let J=String.fromCharCode(233).normalize("NFD"),Y=String.fromCharCode(101,769);if(J!==Y)throw Error("broken")}$.push(Q)}catch(J){}return $},[]);function m0($){k(uX.indexOf($)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:$}})}function n$($,Q,J){if(J==null)J="";if($!==Q){let Y=J,X="new";if(J)Y+=".",X+=" "+J;k(!1,`private constructor; use ${Y}from* methods`,"UNSUPPORTED_OPERATION",{operation:X})}}function wJ($,Q,J){if($ instanceof Uint8Array){if(J)return new Uint8Array($);return $}if(typeof $==="string"&&$.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let Y=new Uint8Array(($.length-2)/2),X=2;for(let Z=0;Z<Y.length;Z++)Y[Z]=parseInt($.substring(X,X+2),16),X+=2;return Y}z(!1,"invalid BytesLike value",Q||"value",$)}function E($,Q){return wJ($,Q,!1)}function b$($,Q){return wJ($,Q,!0)}function K$($,Q){if(typeof $!=="string"||!$.match(/^0x[0-9A-Fa-f]*$/))return!1;if(typeof Q==="number"&&$.length!==2+2*Q)return!1;if(Q===!0&&$.length%2!==0)return!1;return!0}function m$($){return K$($,!0)||$ instanceof Uint8Array}var SJ="0123456789abcdef";function R($){let Q=E($),J="0x";for(let Y=0;Y<Q.length;Y++){let X=Q[Y];J+=SJ[(X&240)>>4]+SJ[X&15]}return J}function n($){return"0x"+$.map((Q)=>R(Q).substring(2)).join("")}function o$($){if(K$($,!0))return($.length-2)/2;return E($).length}function c0($,Q,J){let Y=E($);if(J!=null&&J>Y.length)k(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:Y,length:Y.length,offset:J});return R(Y.slice(Q==null?0:Q,J==null?Y.length:J))}function pX($,Q,J){let Y=E($);k(Q>=Y.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(Y),length:Q,offset:Q+1});let X=new Uint8Array(Q);if(X.fill(0),J)X.set(Y,Q-Y.length);else X.set(Y,0);return R(X)}function E$($,Q){return pX($,Q,!0)}var jQ=BigInt(0),C0=BigInt(1),u0=9007199254740991;function S8($,Q){let J=h($,"value"),Y=BigInt(G$(Q,"width")),X=C0<<Y-C0;if(J<jQ){J=-J,k(J<=X,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:$});let Z=(C0<<Y)-C0;return(~J&Z)+C0}else k(J<X,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:$});return J}function w8($,Q){let J=Y8($,"value"),Y=BigInt(G$(Q,"bits"));return J&(C0<<Y)-C0}function h($,Q){switch(typeof $){case"bigint":return $;case"number":return z(Number.isInteger($),"underflow",Q||"value",$),z($>=-u0&&$<=u0,"overflow",Q||"value",$),BigInt($);case"string":try{if($==="")throw Error("empty string");if($[0]==="-"&&$[1]!=="-")return-BigInt($.substring(1));return BigInt($)}catch(J){z(!1,`invalid BigNumberish string: ${J.message}`,Q||"value",$)}}z(!1,"invalid BigNumberish value",Q||"value",$)}function Y8($,Q){let J=h($,Q);return k(J>=jQ,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:$}),J}var BJ="0123456789abcdef";function p0($){if($ instanceof Uint8Array){let Q="0x0";for(let J of $)Q+=BJ[J>>4],Q+=BJ[J&15];return BigInt(Q)}return h($)}function G$($,Q){switch(typeof $){case"bigint":return z($>=-u0&&$<=u0,"overflow",Q||"value",$),Number($);case"number":return z(Number.isInteger($),"underflow",Q||"value",$),z($>=-u0&&$<=u0,"overflow",Q||"value",$),$;case"string":try{if($==="")throw Error("empty string");return G$(BigInt($),Q)}catch(J){z(!1,`invalid numeric string: ${J.message}`,Q||"value",$)}}z(!1,"invalid numeric value",Q||"value",$)}function x$($,Q){let Y=Y8($,"value").toString(16);if(Q==null){if(Y.length%2)Y="0"+Y}else{let X=G$(Q,"width");k(X*2>=Y.length,`value exceeds width (${X} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:$});while(Y.length<X*2)Y="0"+Y}return"0x"+Y}function s($){let Q=Y8($,"value");if(Q===jQ)return new Uint8Array([]);let J=Q.toString(16);if(J.length%2)J="0"+J;let Y=new Uint8Array(J.length/2);for(let X=0;X<Y.length;X++){let Z=X*2;Y[X]=parseInt(J.substring(Z,Z+2),16)}return Y}function B8($){let Q=R(m$($)?$:s($)).substring(2);while(Q.startsWith("0"))Q=Q.substring(1);if(Q==="")Q="0";return"0x"+Q}var F8="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",A8=null;function dX($){if(A8==null){A8={};for(let J=0;J<F8.length;J++)A8[F8[J]]=BigInt(J)}let Q=A8[$];return z(Q!=null,"invalid base58 value","letter",$),Q}var lX=BigInt(0),PQ=BigInt(58);function k8($){let Q=E($),J=p0(Q),Y="";while(J)Y=F8[Number(J%PQ)]+Y,J/=PQ;for(let X=0;X<Q.length;X++){if(Q[X])break;Y=F8[0]+Y}return Y}function _8($){let Q=lX;for(let J=0;J<$.length;J++)Q*=PQ,Q+=dX($[J]);return Q}function nX($,Q,J,Y,X){z(!1,`invalid codepoint at offset ${Q}; ${$}`,"bytes",J)}function AJ($,Q,J,Y,X){if($==="BAD_PREFIX"||$==="UNEXPECTED_CONTINUE"){let Z=0;for(let q=Q+1;q<J.length;q++){if(J[q]>>6!==2)break;Z++}return Z}if($==="OVERRUN")return J.length-Q-1;return 0}function oX($,Q,J,Y,X){if($==="OVERLONG")return z(typeof X==="number","invalid bad code point for replacement","badCodepoint",X),Y.push(X),0;return Y.push(65533),AJ($,Q,J,Y,X)}var FJ=Object.freeze({error:nX,ignore:AJ,replace:oX});function V$($,Q){if(z(typeof $==="string","invalid string value","str",$),Q!=null)m0(Q),$=$.normalize(Q);let J=[];for(let Y=0;Y<$.length;Y++){let X=$.charCodeAt(Y);if(X<128)J.push(X);else if(X<2048)J.push(X>>6|192),J.push(X&63|128);else if((X&64512)==55296){Y++;let Z=$.charCodeAt(Y);z(Y<$.length&&(Z&64512)===56320,"invalid surrogate pair","str",$);let q=65536+((X&1023)<<10)+(Z&1023);J.push(q>>18|240),J.push(q>>12&63|128),J.push(q>>6&63|128),J.push(q&63|128)}else J.push(X>>12|224),J.push(X>>6&63|128),J.push(X&63|128)}return new Uint8Array(J)}function iX($){let Q=$.toString(16);while(Q.length<2)Q="0"+Q;return"0x"+Q}function kJ($,Q,J){let Y=0;for(let X=0;X<J;X++)Y=Y*256+$[Q+X];return Y}function _J($,Q,J,Y){let X=[];while(J<Q+1+Y){let Z=fJ($,J);X.push(Z.result),J+=Z.consumed,k(J<=Q+1+Y,"child data too short","BUFFER_OVERRUN",{buffer:$,length:Y,offset:Q})}return{consumed:1+Y,result:X}}function fJ($,Q){k($.length!==0,"data too short","BUFFER_OVERRUN",{buffer:$,length:0,offset:1});let J=(Y)=>{k(Y<=$.length,"data short segment too short","BUFFER_OVERRUN",{buffer:$,length:$.length,offset:Y})};if($[Q]>=248){let Y=$[Q]-247;J(Q+1+Y);let X=kJ($,Q+1,Y);return J(Q+1+Y+X),_J($,Q,Q+1+Y,Y+X)}else if($[Q]>=192){let Y=$[Q]-192;return J(Q+1+Y),_J($,Q,Q+1,Y)}else if($[Q]>=184){let Y=$[Q]-183;J(Q+1+Y);let X=kJ($,Q+1,Y);J(Q+1+Y+X);let Z=R($.slice(Q+1+Y,Q+1+Y+X));return{consumed:1+Y+X,result:Z}}else if($[Q]>=128){let Y=$[Q]-128;J(Q+1+Y);let X=R($.slice(Q+1,Q+1+Y));return{consumed:1+Y,result:X}}return{consumed:1,result:iX($[Q])}}function M0($){let Q=E($,"data"),J=fJ(Q,0);return z(J.consumed===Q.length,"unexpected junk after rlp payload","data",$),J.result}function bJ($){let Q=[];while($)Q.unshift($&255),$>>=8;return Q}function vJ($){if(Array.isArray($)){let Y=[];if($.forEach(function(Z){Y=Y.concat(vJ(Z))}),Y.length<=55)return Y.unshift(192+Y.length),Y;let X=bJ(Y.length);return X.unshift(247+X.length),X.concat(Y)}let Q=Array.prototype.slice.call(E($,"object"));if(Q.length===1&&Q[0]<=127)return Q;else if(Q.length<=55)return Q.unshift(128+Q.length),Q;let J=bJ(Q.length);return J.unshift(183+J.length),J.concat(Q)}var xJ="0123456789abcdef";function w$($){let Q="0x";for(let J of vJ($))Q+=xJ[J>>4],Q+=xJ[J&15];return Q}function f8($){let Q=E($,"randomBytes");Q[6]=Q[6]&15|64,Q[8]=Q[8]&63|128;let J=R(Q);return[J.substring(2,10),J.substring(10,14),J.substring(14,18),J.substring(18,22),J.substring(22,34)].join("-")}function I$($){if(!Number.isSafeInteger($)||$<0)throw Error(`Wrong positive integer: ${$}`)}function X8($,...Q){if(!($ instanceof Uint8Array))throw Error("Expected Uint8Array");if(Q.length>0&&!Q.includes($.length))throw Error(`Expected Uint8Array of length ${Q}, not of length=${$.length}`)}function b8($){if(typeof $!=="function"||typeof $.create!=="function")throw Error("Hash should be wrapped by utils.wrapConstructor");I$($.outputLen),I$($.blockLen)}function i$($,Q=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(Q&&$.finished)throw Error("Hash#digest() has already been called")}function x8($,Q){X8($);let J=Q.outputLen;if($.length<J)throw Error(`digestInto() expects output buffer of length at least ${J}`)}var v8=typeof globalThis==="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */var yJ=($)=>$ instanceof Uint8Array;var d0=($)=>new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4)),l0=($)=>new DataView($.buffer,$.byteOffset,$.byteLength),v$=($,Q)=>$<<32-Q|$>>>Q,YZ=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!YZ)throw Error("Non little-endian hardware is not supported");var XZ=async()=>{};async function y8($,Q,J){let Y=Date.now();for(let X=0;X<$;X++){J(X);let Z=Date.now()-Y;if(Z>=0&&Z<Q)continue;await XZ(),Y+=Z}}function ZZ($){if(typeof $!=="string")throw Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function c$($){if(typeof $==="string")$=ZZ($);if(!yJ($))throw Error(`expected Uint8Array, got ${typeof $}`);return $}function gJ(...$){let Q=new Uint8Array($.reduce((Y,X)=>Y+X.length,0)),J=0;return $.forEach((Y)=>{if(!yJ(Y))throw Error("Uint8Array expected");Q.set(Y,J),J+=Y.length}),Q}class E0{clone(){return this._cloneInto()}}var qZ={}.toString;function g8($,Q){if(Q!==void 0&&qZ.call(Q)!=="[object Object]")throw Error("Options should be object or undefined");return Object.assign($,Q)}function V0($){let Q=(Y)=>$().update(c$(Y)).digest(),J=$();return Q.outputLen=J.outputLen,Q.blockLen=J.blockLen,Q.create=()=>$(),Q}function hJ($=32){if(v8&&typeof v8.getRandomValues==="function")return v8.getRandomValues(new Uint8Array($));throw Error("crypto.getRandomValues must be defined")}class SQ extends E0{constructor($,Q){super();this.finished=!1,this.destroyed=!1,b8($);let J=c$(Q);if(this.iHash=$.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let Y=this.blockLen,X=new Uint8Array(Y);X.set(J.length>Y?$.create().update(J).digest():J);for(let Z=0;Z<X.length;Z++)X[Z]^=54;this.iHash.update(X),this.oHash=$.create();for(let Z=0;Z<X.length;Z++)X[Z]^=106;this.oHash.update(X),X.fill(0)}update($){return i$(this),this.iHash.update($),this}digestInto($){i$(this),X8($,this.outputLen),this.finished=!0,this.iHash.digestInto($),this.oHash.update($),this.oHash.digestInto($),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||($=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Q,iHash:J,finished:Y,destroyed:X,blockLen:Z,outputLen:q}=this;return $=$,$.finished=Y,$.destroyed=X,$.blockLen=Z,$.outputLen=q,$.oHash=Q._cloneInto($.oHash),$.iHash=J._cloneInto($.iHash),$}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var j0=($,Q,J)=>new SQ($,Q).update(J).digest();j0.create=($,Q)=>new SQ($,Q);function GZ($,Q,J,Y){b8($);let X=g8({dkLen:32,asyncTick:10},Y),{c:Z,dkLen:q,asyncTick:G}=X;if(I$(Z),I$(q),I$(G),Z<1)throw Error("PBKDF2: iterations (c) should be >= 1");let W=c$(Q),M=c$(J),V=new Uint8Array(q),D=j0.create($,W),K=D._cloneInto().update(M);return{c:Z,dkLen:q,asyncTick:G,DK:V,PRF:D,PRFSalt:K}}function WZ($,Q,J,Y,X){if($.destroy(),Q.destroy(),Y)Y.destroy();return X.fill(0),J}function Z8($,Q,J,Y){let{c:X,dkLen:Z,DK:q,PRF:G,PRFSalt:W}=GZ($,Q,J,Y),M,V=new Uint8Array(4),D=l0(V),K=new Uint8Array(G.outputLen);for(let S=1,O=0;O<Z;S++,O+=G.outputLen){let I=q.subarray(O,O+G.outputLen);D.setInt32(0,S,!1),(M=W._cloneInto(M)).update(V).digestInto(K),I.set(K.subarray(0,I.length));for(let H=1;H<X;H++){G._cloneInto(M).update(K).digestInto(K);for(let N=0;N<I.length;N++)I[N]^=K[N]}}return WZ(G,W,q,M,K)}function MZ($,Q,J,Y){if(typeof $.setBigUint64==="function")return $.setBigUint64(Q,J,Y);let X=BigInt(32),Z=BigInt(4294967295),q=Number(J>>X&Z),G=Number(J&Z),W=Y?4:0,M=Y?0:4;$.setUint32(Q+W,q,Y),$.setUint32(Q+M,G,Y)}class P0 extends E0{constructor($,Q,J,Y){super();this.blockLen=$,this.outputLen=Q,this.padOffset=J,this.isLE=Y,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array($),this.view=l0(this.buffer)}update($){i$(this);let{view:Q,buffer:J,blockLen:Y}=this;$=c$($);let X=$.length;for(let Z=0;Z<X;){let q=Math.min(Y-this.pos,X-Z);if(q===Y){let G=l0($);for(;Y<=X-Z;Z+=Y)this.process(G,Z);continue}if(J.set($.subarray(Z,Z+q),this.pos),this.pos+=q,Z+=q,this.pos===Y)this.process(Q,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){i$(this),x8($,this),this.finished=!0;let{buffer:Q,view:J,blockLen:Y,isLE:X}=this,{pos:Z}=this;if(Q[Z++]=128,this.buffer.subarray(Z).fill(0),this.padOffset>Y-Z)this.process(J,0),Z=0;for(let V=Z;V<Y;V++)Q[V]=0;MZ(J,Y-8,BigInt(this.length*8),X),this.process(J,0);let q=l0($),G=this.outputLen;if(G%4)throw Error("_sha2: outputLen should be aligned to 32bit");let W=G/4,M=this.get();if(W>M.length)throw Error("_sha2: outputLen bigger than state");for(let V=0;V<W;V++)q.setUint32(4*V,M[V],X)}digest(){let{buffer:$,outputLen:Q}=this;this.digestInto($);let J=$.slice(0,Q);return this.destroy(),J}_cloneInto($){$||($=new this.constructor),$.set(...this.get());let{blockLen:Q,buffer:J,length:Y,finished:X,destroyed:Z,pos:q}=this;if($.length=Y,$.pos=q,$.finished=X,$.destroyed=Z,Y%Q)$.buffer.set(J);return $}}var VZ=($,Q,J)=>$&Q^~$&J,zZ=($,Q,J)=>$&Q^$&J^Q&J,DZ=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]),z0=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),D0=new Uint32Array(64);class mJ extends P0{constructor(){super(64,32,8,!1);this.A=z0[0]|0,this.B=z0[1]|0,this.C=z0[2]|0,this.D=z0[3]|0,this.E=z0[4]|0,this.F=z0[5]|0,this.G=z0[6]|0,this.H=z0[7]|0}get(){let{A:$,B:Q,C:J,D:Y,E:X,F:Z,G:q,H:G}=this;return[$,Q,J,Y,X,Z,q,G]}set($,Q,J,Y,X,Z,q,G){this.A=$|0,this.B=Q|0,this.C=J|0,this.D=Y|0,this.E=X|0,this.F=Z|0,this.G=q|0,this.H=G|0}process($,Q){for(let V=0;V<16;V++,Q+=4)D0[V]=$.getUint32(Q,!1);for(let V=16;V<64;V++){let D=D0[V-15],K=D0[V-2],S=v$(D,7)^v$(D,18)^D>>>3,O=v$(K,17)^v$(K,19)^K>>>10;D0[V]=O+D0[V-7]+S+D0[V-16]|0}let{A:J,B:Y,C:X,D:Z,E:q,F:G,G:W,H:M}=this;for(let V=0;V<64;V++){let D=v$(q,6)^v$(q,11)^v$(q,25),K=M+D+VZ(q,G,W)+DZ[V]+D0[V]|0,O=(v$(J,2)^v$(J,13)^v$(J,22))+zZ(J,Y,X)|0;M=W,W=G,G=q,q=Z+K|0,Z=X,X=Y,Y=J,J=K+O|0}J=J+this.A|0,Y=Y+this.B|0,X=X+this.C|0,Z=Z+this.D|0,q=q+this.E|0,G=G+this.F|0,W=W+this.G|0,M=M+this.H|0,this.set(J,Y,X,Z,q,G,W,M)}roundClean(){D0.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}var r$=V0(()=>new mJ);var h8=BigInt(4294967295),wQ=BigInt(32);function cJ($,Q=!1){if(Q)return{h:Number($&h8),l:Number($>>wQ&h8)};return{h:Number($>>wQ&h8)|0,l:Number($&h8)|0}}function BQ($,Q=!1){let J=new Uint32Array($.length),Y=new Uint32Array($.length);for(let X=0;X<$.length;X++){let{h:Z,l:q}=cJ($[X],Q);[J[X],Y[X]]=[Z,q]}return[J,Y]}var OZ=($,Q)=>BigInt($>>>0)<<wQ|BigInt(Q>>>0),KZ=($,Q,J)=>$>>>J,IZ=($,Q,J)=>$<<32-J|Q>>>J,TZ=($,Q,J)=>$>>>J|Q<<32-J,UZ=($,Q,J)=>$<<32-J|Q>>>J,HZ=($,Q,J)=>$<<64-J|Q>>>J-32,NZ=($,Q,J)=>$>>>J-32|Q<<64-J,RZ=($,Q)=>Q,LZ=($,Q)=>$,AQ=($,Q,J)=>$<<J|Q>>>32-J,FQ=($,Q,J)=>Q<<J|$>>>32-J,kQ=($,Q,J)=>Q<<J-32|$>>>64-J,_Q=($,Q,J)=>$<<J-32|Q>>>64-J;function CZ($,Q,J,Y){let X=(Q>>>0)+(Y>>>0);return{h:$+J+(X/4294967296|0)|0,l:X|0}}var EZ=($,Q,J)=>($>>>0)+(Q>>>0)+(J>>>0),jZ=($,Q,J,Y)=>Q+J+Y+($/4294967296|0)|0,PZ=($,Q,J,Y)=>($>>>0)+(Q>>>0)+(J>>>0)+(Y>>>0),SZ=($,Q,J,Y,X)=>Q+J+Y+X+($/4294967296|0)|0,wZ=($,Q,J,Y,X)=>($>>>0)+(Q>>>0)+(J>>>0)+(Y>>>0)+(X>>>0),BZ=($,Q,J,Y,X,Z)=>Q+J+Y+X+Z+($/4294967296|0)|0;var AZ={fromBig:cJ,split:BQ,toBig:OZ,shrSH:KZ,shrSL:IZ,rotrSH:TZ,rotrSL:UZ,rotrBH:HZ,rotrBL:NZ,rotr32H:RZ,rotr32L:LZ,rotlSH:AQ,rotlSL:FQ,rotlBH:kQ,rotlBL:_Q,add:CZ,add3L:EZ,add3H:jZ,add4L:PZ,add4H:SZ,add5H:BZ,add5L:wZ},x=AZ;var[FZ,kZ]=(()=>x.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(($)=>BigInt($))))(),O0=new Uint32Array(80),K0=new Uint32Array(80);class uJ extends P0{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:$,Al:Q,Bh:J,Bl:Y,Ch:X,Cl:Z,Dh:q,Dl:G,Eh:W,El:M,Fh:V,Fl:D,Gh:K,Gl:S,Hh:O,Hl:I}=this;return[$,Q,J,Y,X,Z,q,G,W,M,V,D,K,S,O,I]}set($,Q,J,Y,X,Z,q,G,W,M,V,D,K,S,O,I){this.Ah=$|0,this.Al=Q|0,this.Bh=J|0,this.Bl=Y|0,this.Ch=X|0,this.Cl=Z|0,this.Dh=q|0,this.Dl=G|0,this.Eh=W|0,this.El=M|0,this.Fh=V|0,this.Fl=D|0,this.Gh=K|0,this.Gl=S|0,this.Hh=O|0,this.Hl=I|0}process($,Q){for(let P=0;P<16;P++,Q+=4)O0[P]=$.getUint32(Q),K0[P]=$.getUint32(Q+=4);for(let P=16;P<80;P++){let _=O0[P-15]|0,j=K0[P-15]|0,T=x.rotrSH(_,j,1)^x.rotrSH(_,j,8)^x.shrSH(_,j,7),U=x.rotrSL(_,j,1)^x.rotrSL(_,j,8)^x.shrSL(_,j,7),L=O0[P-2]|0,w=K0[P-2]|0,A=x.rotrSH(L,w,19)^x.rotrBH(L,w,61)^x.shrSH(L,w,6),F=x.rotrSL(L,w,19)^x.rotrBL(L,w,61)^x.shrSL(L,w,6),f=x.add4L(U,F,K0[P-7],K0[P-16]),y=x.add4H(f,T,A,O0[P-7],O0[P-16]);O0[P]=y|0,K0[P]=f|0}let{Ah:J,Al:Y,Bh:X,Bl:Z,Ch:q,Cl:G,Dh:W,Dl:M,Eh:V,El:D,Fh:K,Fl:S,Gh:O,Gl:I,Hh:H,Hl:N}=this;for(let P=0;P<80;P++){let _=x.rotrSH(V,D,14)^x.rotrSH(V,D,18)^x.rotrBH(V,D,41),j=x.rotrSL(V,D,14)^x.rotrSL(V,D,18)^x.rotrBL(V,D,41),T=V&K^~V&O,U=D&S^~D&I,L=x.add5L(N,j,U,kZ[P],K0[P]),w=x.add5H(L,H,_,T,FZ[P],O0[P]),A=L|0,F=x.rotrSH(J,Y,28)^x.rotrBH(J,Y,34)^x.rotrBH(J,Y,39),f=x.rotrSL(J,Y,28)^x.rotrBL(J,Y,34)^x.rotrBL(J,Y,39),y=J&X^J&q^X&q,r=Y&Z^Y&G^Z&G;H=O|0,N=I|0,O=K|0,I=S|0,K=V|0,S=D|0,{h:V,l:D}=x.add(W|0,M|0,w|0,A|0),W=q|0,M=G|0,q=X|0,G=Z|0,X=J|0,Z=Y|0;let p=x.add3L(A,f,r);J=x.add3H(p,w,F,y),Y=p|0}({h:J,l:Y}=x.add(this.Ah|0,this.Al|0,J|0,Y|0)),{h:X,l:Z}=x.add(this.Bh|0,this.Bl|0,X|0,Z|0),{h:q,l:G}=x.add(this.Ch|0,this.Cl|0,q|0,G|0),{h:W,l:M}=x.add(this.Dh|0,this.Dl|0,W|0,M|0),{h:V,l:D}=x.add(this.Eh|0,this.El|0,V|0,D|0),{h:K,l:S}=x.add(this.Fh|0,this.Fl|0,K|0,S|0),{h:O,l:I}=x.add(this.Gh|0,this.Gl|0,O|0,I|0),{h:H,l:N}=x.add(this.Hh|0,this.Hl|0,H|0,N|0),this.set(J,Y,X,Z,q,G,W,M,V,D,K,S,O,I,H,N)}roundClean(){O0.fill(0),K0.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)}}var m8=V0(()=>new uJ);function _Z(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof window<"u")return window;throw Error("unable to locate global object")}var pJ=_Z(),dJ=pJ.crypto||pJ.msCrypto;function fQ($){switch($){case"sha256":return r$.create();case"sha512":return m8.create()}z(!1,"invalid hashing algorithm name","algorithm",$)}function lJ($,Q){let J={sha256:r$,sha512:m8}[$];return z(J!=null,"invalid hmac algorithm","algorithm",$),j0.create(J,Q)}function nJ($,Q,J,Y,X){let Z={sha256:r$,sha512:m8}[X];return z(Z!=null,"invalid pbkdf2 algorithm","algorithm",X),Z8(Z,$,Q,{c:J,dkLen:Y})}function oJ($){k(dJ!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),z(Number.isInteger($)&&$>0&&$<=1024,"invalid length","length",$);let Q=new Uint8Array($);return dJ.getRandomValues(Q),Q}var iJ=!1,rJ=function($,Q,J){return lJ($,Q).update(J).digest()},aJ=rJ;function a$($,Q,J){let Y=E(Q,"key"),X=E(J,"data");return R(aJ($,Y,X))}a$._=rJ;a$.lock=function(){iJ=!0};a$.register=function($){if(iJ)throw Error("computeHmac is locked");aJ=$};Object.freeze(a$);var[eJ,$Y,QY]=[[],[],[]],fZ=BigInt(0),q8=BigInt(1),bZ=BigInt(2),xZ=BigInt(7),vZ=BigInt(256),yZ=BigInt(113);for(let $=0,Q=q8,J=1,Y=0;$<24;$++){[J,Y]=[Y,(2*J+3*Y)%5],eJ.push(2*(5*Y+J)),$Y.push(($+1)*($+2)/2%64);let X=fZ;for(let Z=0;Z<7;Z++)if(Q=(Q<<q8^(Q>>xZ)*yZ)%vZ,Q&bZ)X^=q8<<(q8<<BigInt(Z))-q8;QY.push(X)}var[gZ,hZ]=BQ(QY,!0),sJ=($,Q,J)=>J>32?kQ($,Q,J):AQ($,Q,J),tJ=($,Q,J)=>J>32?_Q($,Q,J):FQ($,Q,J);function mZ($,Q=24){let J=new Uint32Array(10);for(let Y=24-Q;Y<24;Y++){for(let q=0;q<10;q++)J[q]=$[q]^$[q+10]^$[q+20]^$[q+30]^$[q+40];for(let q=0;q<10;q+=2){let G=(q+8)%10,W=(q+2)%10,M=J[W],V=J[W+1],D=sJ(M,V,1)^J[G],K=tJ(M,V,1)^J[G+1];for(let S=0;S<50;S+=10)$[q+S]^=D,$[q+S+1]^=K}let X=$[2],Z=$[3];for(let q=0;q<24;q++){let G=$Y[q],W=sJ(X,Z,G),M=tJ(X,Z,G),V=eJ[q];X=$[V],Z=$[V+1],$[V]=W,$[V+1]=M}for(let q=0;q<50;q+=10){for(let G=0;G<10;G++)J[G]=$[q+G];for(let G=0;G<10;G++)$[q+G]^=~J[(G+2)%10]&J[(G+4)%10]}$[0]^=gZ[Y],$[1]^=hZ[Y]}J.fill(0)}class bQ extends E0{constructor($,Q,J,Y=!1,X=24){super();if(this.blockLen=$,this.suffix=Q,this.outputLen=J,this.enableXOF=Y,this.rounds=X,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,I$(J),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=d0(this.state)}keccak(){mZ(this.state32,this.rounds),this.posOut=0,this.pos=0}update($){i$(this);let{blockLen:Q,state:J}=this;$=c$($);let Y=$.length;for(let X=0;X<Y;){let Z=Math.min(Q-this.pos,Y-X);for(let q=0;q<Z;q++)J[this.pos++]^=$[X++];if(this.pos===Q)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:$,suffix:Q,pos:J,blockLen:Y}=this;if($[J]^=Q,(Q&128)!==0&&J===Y-1)this.keccak();$[Y-1]^=128,this.keccak()}writeInto($){i$(this,!1),X8($),this.finish();let Q=this.state,{blockLen:J}=this;for(let Y=0,X=$.length;Y<X;){if(this.posOut>=J)this.keccak();let Z=Math.min(J-this.posOut,X-Y);$.set(Q.subarray(this.posOut,this.posOut+Z),Y),this.posOut+=Z,Y+=Z}return $}xofInto($){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto($)}xof($){return I$($),this.xofInto(new Uint8Array($))}digestInto($){if(x8($,this),this.finished)throw Error("digest() was already called");return this.writeInto($),this.destroy(),$}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto($){let{blockLen:Q,suffix:J,outputLen:Y,rounds:X,enableXOF:Z}=this;return $||($=new bQ(Q,J,Y,Z,X)),$.state32.set(this.state32),$.pos=this.pos,$.posOut=this.posOut,$.finished=this.finished,$.rounds=X,$.suffix=J,$.outputLen=Y,$.enableXOF=Z,$.destroyed=this.destroyed,$}}var cZ=($,Q,J)=>V0(()=>new bQ(Q,$,J));var JY=cZ(1,136,32);var YY=!1,XY=function($){return JY($)},ZY=XY;function l($){let Q=E($,"data");return R(ZY(Q))}l._=XY;l.lock=function(){YY=!0};l.register=function($){if(YY)throw TypeError("keccak256 is locked");ZY=$};Object.freeze(l);var uZ=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),GY=Uint8Array.from({length:16},($,Q)=>Q),pZ=GY.map(($)=>(9*$+5)%16),xQ=[GY],vQ=[pZ];for(let $=0;$<4;$++)for(let Q of[xQ,vQ])Q.push(Q[$].map((J)=>uZ[J]));var WY=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(($)=>new Uint8Array($)),dZ=xQ.map(($,Q)=>$.map((J)=>WY[Q][J])),lZ=vQ.map(($,Q)=>$.map((J)=>WY[Q][J])),nZ=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),oZ=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),c8=($,Q)=>$<<Q|$>>>32-Q;function qY($,Q,J,Y){if($===0)return Q^J^Y;else if($===1)return Q&J|~Q&Y;else if($===2)return(Q|~J)^Y;else if($===3)return Q&Y|J&~Y;else return Q^(J|~Y)}var u8=new Uint32Array(16);class MY extends P0{constructor(){super(64,20,8,!0);this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:$,h1:Q,h2:J,h3:Y,h4:X}=this;return[$,Q,J,Y,X]}set($,Q,J,Y,X){this.h0=$|0,this.h1=Q|0,this.h2=J|0,this.h3=Y|0,this.h4=X|0}process($,Q){for(let K=0;K<16;K++,Q+=4)u8[K]=$.getUint32(Q,!0);let J=this.h0|0,Y=J,X=this.h1|0,Z=X,q=this.h2|0,G=q,W=this.h3|0,M=W,V=this.h4|0,D=V;for(let K=0;K<5;K++){let S=4-K,O=nZ[K],I=oZ[K],H=xQ[K],N=vQ[K],P=dZ[K],_=lZ[K];for(let j=0;j<16;j++){let T=c8(J+qY(K,X,q,W)+u8[H[j]]+O,P[j])+V|0;J=V,V=W,W=c8(q,10)|0,q=X,X=T}for(let j=0;j<16;j++){let T=c8(Y+qY(S,Z,G,M)+u8[N[j]]+I,_[j])+D|0;Y=D,D=M,M=c8(G,10)|0,G=Z,Z=T}}this.set(this.h1+q+M|0,this.h2+W+D|0,this.h3+V+Y|0,this.h4+J+Z|0,this.h0+X+G|0)}roundClean(){u8.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}var VY=V0(()=>new MY);var zY=!1,DY=function($){return VY($)},OY=DY;function s$($){let Q=E($,"data");return R(OY(Q))}s$._=DY;s$.lock=function(){zY=!0};s$.register=function($){if(zY)throw TypeError("ripemd160 is locked");OY=$};Object.freeze(s$);var KY=!1,IY=function($,Q,J,Y,X){return nJ($,Q,J,Y,X)},TY=IY;function j$($,Q,J,Y,X){let Z=E($,"password"),q=E(Q,"salt");return R(TY(Z,q,J,Y,X))}j$._=IY;j$.lock=function(){KY=!0};j$.register=function($){if(KY)throw Error("pbkdf2 is locked");TY=$};Object.freeze(j$);var UY=!1,HY=function($){return new Uint8Array(oJ($))},NY=HY;function Z$($){return NY($)}Z$._=HY;Z$.lock=function(){UY=!0};Z$.register=function($){if(UY)throw Error("randomBytes is locked");NY=$};Object.freeze(Z$);var d=($,Q)=>$<<Q|$>>>32-Q;function RY($,Q,J,Y,X,Z){let q=$[Q++]^J[Y++],G=$[Q++]^J[Y++],W=$[Q++]^J[Y++],M=$[Q++]^J[Y++],V=$[Q++]^J[Y++],D=$[Q++]^J[Y++],K=$[Q++]^J[Y++],S=$[Q++]^J[Y++],O=$[Q++]^J[Y++],I=$[Q++]^J[Y++],H=$[Q++]^J[Y++],N=$[Q++]^J[Y++],P=$[Q++]^J[Y++],_=$[Q++]^J[Y++],j=$[Q++]^J[Y++],T=$[Q++]^J[Y++],U=q,L=G,w=W,A=M,F=V,f=D,y=K,r=S,p=O,C=I,B=H,b=N,g=P,c=_,o=j,X$=T;for(let O$=0;O$<8;O$+=2)F^=d(U+g|0,7),p^=d(F+U|0,9),g^=d(p+F|0,13),U^=d(g+p|0,18),C^=d(f+L|0,7),c^=d(C+f|0,9),L^=d(c+C|0,13),f^=d(L+c|0,18),o^=d(B+y|0,7),w^=d(o+B|0,9),y^=d(w+o|0,13),B^=d(y+w|0,18),A^=d(X$+b|0,7),r^=d(A+X$|0,9),b^=d(r+A|0,13),X$^=d(b+r|0,18),L^=d(U+A|0,7),w^=d(L+U|0,9),A^=d(w+L|0,13),U^=d(A+w|0,18),y^=d(f+F|0,7),r^=d(y+f|0,9),F^=d(r+y|0,13),f^=d(F+r|0,18),b^=d(B+C|0,7),p^=d(b+B|0,9),C^=d(p+b|0,13),B^=d(C+p|0,18),g^=d(X$+o|0,7),c^=d(g+X$|0,9),o^=d(c+g|0,13),X$^=d(o+c|0,18);X[Z++]=q+U|0,X[Z++]=G+L|0,X[Z++]=W+w|0,X[Z++]=M+A|0,X[Z++]=V+F|0,X[Z++]=D+f|0,X[Z++]=K+y|0,X[Z++]=S+r|0,X[Z++]=O+p|0,X[Z++]=I+C|0,X[Z++]=H+B|0,X[Z++]=N+b|0,X[Z++]=P+g|0,X[Z++]=_+c|0,X[Z++]=j+o|0,X[Z++]=T+X$|0}function n0($,Q,J,Y,X){let Z=Y+0,q=Y+16*X;for(let G=0;G<16;G++)J[q+G]=$[Q+(2*X-1)*16+G];for(let G=0;G<X;G++,Z+=16,Q+=16){if(RY(J,q,$,Q,J,Z),G>0)q+=16;RY(J,Z,$,Q+=16,J,q)}}function LY($,Q,J){let Y=g8({dkLen:32,asyncTick:10,maxmem:1073742848},J),{N:X,r:Z,p:q,dkLen:G,asyncTick:W,maxmem:M,onProgress:V}=Y;if(I$(X),I$(Z),I$(q),I$(G),I$(W),I$(M),V!==void 0&&typeof V!=="function")throw Error("progressCb should be function");let D=128*Z,K=D/4;if(X<=1||(X&X-1)!==0||X>=2**(D/8)||X>4294967296)throw Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(q<0||q>137438953440/D)throw Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(G<0||G>137438953440)throw Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let S=D*(X+q);if(S>M)throw Error(`Scrypt: parameters too large, ${S} (128 * r * (N + p)) > ${M} (maxmem)`);let O=Z8(r$,$,Q,{c:1,dkLen:D*q}),I=d0(O),H=d0(new Uint8Array(D*X)),N=d0(new Uint8Array(D)),P=()=>{};if(V){let _=2*X*q,j=Math.max(Math.floor(_/1e4),1),T=0;P=()=>{if(T++,V&&(!(T%j)||T===_))V(T/_)}}return{N:X,r:Z,p:q,dkLen:G,blockSize32:K,V:H,B32:I,B:O,tmp:N,blockMixCb:P,asyncTick:W}}function CY($,Q,J,Y,X){let Z=Z8(r$,$,J,{c:1,dkLen:Q});return J.fill(0),Y.fill(0),X.fill(0),Z}function EY($,Q,J){let{N:Y,r:X,p:Z,dkLen:q,blockSize32:G,V:W,B32:M,B:V,tmp:D,blockMixCb:K}=LY($,Q,J);for(let S=0;S<Z;S++){let O=G*S;for(let I=0;I<G;I++)W[I]=M[O+I];for(let I=0,H=0;I<Y-1;I++)n0(W,H,W,H+=G,X),K();n0(W,(Y-1)*G,M,O,X),K();for(let I=0;I<Y;I++){let H=M[O+G-16]%Y;for(let N=0;N<G;N++)D[N]=M[O+N]^W[H*G+N];n0(D,0,M,O,X),K()}}return CY($,q,V,W,D)}async function jY($,Q,J){let{N:Y,r:X,p:Z,dkLen:q,blockSize32:G,V:W,B32:M,B:V,tmp:D,blockMixCb:K,asyncTick:S}=LY($,Q,J);for(let O=0;O<Z;O++){let I=G*O;for(let N=0;N<G;N++)W[N]=M[I+N];let H=0;await y8(Y-1,S,()=>{n0(W,H,W,H+=G,X),K()}),n0(W,(Y-1)*G,M,I,X),K(),await y8(Y,S,()=>{let N=M[I+G-16]%Y;for(let P=0;P<G;P++)D[P]=M[I+P]^W[N*G+P];n0(D,0,M,I,X),K()})}return CY($,q,V,W,D)}var PY=!1,SY=!1,wY=async function($,Q,J,Y,X,Z,q){return await jY($,Q,{N:J,r:Y,p:X,dkLen:Z,onProgress:q})},BY=function($,Q,J,Y,X,Z){return EY($,Q,{N:J,r:Y,p:X,dkLen:Z})},AY=wY,FY=BY;async function t$($,Q,J,Y,X,Z,q){let G=E($,"passwd"),W=E(Q,"salt");return R(await AY(G,W,J,Y,X,Z,q))}t$._=wY;t$.lock=function(){SY=!0};t$.register=function($){if(SY)throw Error("scrypt is locked");AY=$};Object.freeze(t$);function e$($,Q,J,Y,X,Z){let q=E($,"passwd"),G=E(Q,"salt");return R(FY(q,G,J,Y,X,Z))}e$._=BY;e$.lock=function(){PY=!0};e$.register=function($){if(PY)throw Error("scryptSync is locked");FY=$};Object.freeze(e$);var kY=function($){return fQ("sha256").update($).digest()},_Y=function($){return fQ("sha512").update($).digest()},fY=kY,bY=_Y,xY=!1,vY=!1;function z$($){let Q=E($,"data");return R(fY(Q))}z$._=kY;z$.lock=function(){xY=!0};z$.register=function($){if(xY)throw Error("sha256 is locked");fY=$};Object.freeze(z$);function G8($){let Q=E($,"data");return R(bY(Q))}G8._=_Y;G8.lock=function(){vY=!0};G8.register=function($){if(vY)throw Error("sha512 is locked");bY=$};Object.freeze(z$);var mQ={};mX(mQ,{validateObject:()=>T0,utf8ToBytes:()=>tZ,numberToVarBytesBE:()=>aZ,numberToHexUnpadded:()=>hY,numberToBytesLE:()=>n8,numberToBytesBE:()=>I0,hexToNumber:()=>gQ,hexToBytes:()=>w0,equalBytes:()=>sZ,ensureBytes:()=>P$,createHmacDrbg:()=>hQ,concatBytes:()=>o0,bytesToNumberLE:()=>l8,bytesToNumberBE:()=>$0,bytesToHex:()=>S0,bitSet:()=>Q9,bitMask:()=>W8,bitLen:()=>eZ,bitGet:()=>$9});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gY=BigInt(0),p8=BigInt(1),iZ=BigInt(2),d8=($)=>$ instanceof Uint8Array,rZ=Array.from({length:256},($,Q)=>Q.toString(16).padStart(2,"0"));function S0($){if(!d8($))throw Error("Uint8Array expected");let Q="";for(let J=0;J<$.length;J++)Q+=rZ[$[J]];return Q}function hY($){let Q=$.toString(16);return Q.length&1?`0${Q}`:Q}function gQ($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);return BigInt($===""?"0":`0x${$}`)}function w0($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);let Q=$.length;if(Q%2)throw Error("padded hex string expected, got unpadded hex of length "+Q);let J=new Uint8Array(Q/2);for(let Y=0;Y<J.length;Y++){let X=Y*2,Z=$.slice(X,X+2),q=Number.parseInt(Z,16);if(Number.isNaN(q)||q<0)throw Error("Invalid byte sequence");J[Y]=q}return J}function $0($){return gQ(S0($))}function l8($){if(!d8($))throw Error("Uint8Array expected");return gQ(S0(Uint8Array.from($).reverse()))}function I0($,Q){return w0($.toString(16).padStart(Q*2,"0"))}function n8($,Q){return I0($,Q).reverse()}function aZ($){return w0(hY($))}function P$($,Q,J){let Y;if(typeof Q==="string")try{Y=w0(Q)}catch(Z){throw Error(`${$} must be valid hex string, got "${Q}". Cause: ${Z}`)}else if(d8(Q))Y=Uint8Array.from(Q);else throw Error(`${$} must be hex string or Uint8Array`);let X=Y.length;if(typeof J==="number"&&X!==J)throw Error(`${$} expected ${J} bytes, got ${X}`);return Y}function o0(...$){let Q=new Uint8Array($.reduce((Y,X)=>Y+X.length,0)),J=0;return $.forEach((Y)=>{if(!d8(Y))throw Error("Uint8Array expected");Q.set(Y,J),J+=Y.length}),Q}function sZ($,Q){if($.length!==Q.length)return!1;for(let J=0;J<$.length;J++)if($[J]!==Q[J])return!1;return!0}function tZ($){if(typeof $!=="string")throw Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function eZ($){let Q;for(Q=0;$>gY;$>>=p8,Q+=1);return Q}function $9($,Q){return $>>BigInt(Q)&p8}var Q9=($,Q,J)=>{return $|(J?p8:gY)<<BigInt(Q)},W8=($)=>(iZ<<BigInt($-1))-p8,yQ=($)=>new Uint8Array($),yY=($)=>Uint8Array.from($);function hQ($,Q,J){if(typeof $!=="number"||$<2)throw Error("hashLen must be a number");if(typeof Q!=="number"||Q<2)throw Error("qByteLen must be a number");if(typeof J!=="function")throw Error("hmacFn must be a function");let Y=yQ($),X=yQ($),Z=0,q=()=>{Y.fill(1),X.fill(0),Z=0},G=(...D)=>J(X,Y,...D),W=(D=yQ())=>{if(X=G(yY([0]),D),Y=G(),D.length===0)return;X=G(yY([1]),D),Y=G()},M=()=>{if(Z++>=1000)throw Error("drbg: tried 1000 values");let D=0,K=[];while(D<Q){Y=G();let S=Y.slice();K.push(S),D+=Y.length}return o0(...K)};return(D,K)=>{q(),W(D);let S=void 0;while(!(S=K(M())))W();return q(),S}}var J9={bigint:($)=>typeof $==="bigint",function:($)=>typeof $==="function",boolean:($)=>typeof $==="boolean",string:($)=>typeof $==="string",stringOrUint8Array:($)=>typeof $==="string"||$ instanceof Uint8Array,isSafeInteger:($)=>Number.isSafeInteger($),array:($)=>Array.isArray($),field:($,Q)=>Q.Fp.isValid($),hash:($)=>typeof $==="function"&&Number.isSafeInteger($.outputLen)};function T0($,Q,J={}){let Y=(X,Z,q)=>{let G=J9[Z];if(typeof G!=="function")throw Error(`Invalid validator "${Z}", expected function`);let W=$[X];if(q&&W===void 0)return;if(!G(W,$))throw Error(`Invalid param ${String(X)}=${W} (${typeof W}), expected ${Z}`)};for(let[X,Z]of Object.entries(Q))Y(X,Z,!1);for(let[X,Z]of Object.entries(J))Y(X,Z,!0);return $}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var q$=BigInt(0),J$=BigInt(1),B0=BigInt(2),Y9=BigInt(3),cQ=BigInt(4),mY=BigInt(5),cY=BigInt(8),X9=BigInt(9),Z9=BigInt(16);function T$($,Q){let J=$%Q;return J>=q$?J:Q+J}function q9($,Q,J){if(J<=q$||Q<q$)throw Error("Expected power/modulo > 0");if(J===J$)return q$;let Y=J$;while(Q>q$){if(Q&J$)Y=Y*$%J;$=$*$%J,Q>>=J$}return Y}function S$($,Q,J){let Y=$;while(Q-- >q$)Y*=Y,Y%=J;return Y}function o8($,Q){if($===q$||Q<=q$)throw Error(`invert: expected positive integers, got n=${$} mod=${Q}`);let J=T$($,Q),Y=Q,X=q$,Z=J$,q=J$,G=q$;while(J!==q$){let M=Y/J,V=Y%J,D=X-q*M,K=Z-G*M;Y=J,J=V,X=q,Z=G,q=D,G=K}if(Y!==J$)throw Error("invert: does not exist");return T$(X,Q)}function G9($){let Q=($-J$)/B0,J,Y,X;for(J=$-J$,Y=0;J%B0===q$;J/=B0,Y++);for(X=B0;X<$&&q9(X,Q,$)!==$-J$;X++);if(Y===1){let q=($+J$)/cQ;return function(W,M){let V=W.pow(M,q);if(!W.eql(W.sqr(V),M))throw Error("Cannot find square root");return V}}let Z=(J+J$)/B0;return function(G,W){if(G.pow(W,Q)===G.neg(G.ONE))throw Error("Cannot find square root");let M=Y,V=G.pow(G.mul(G.ONE,X),J),D=G.pow(W,Z),K=G.pow(W,J);while(!G.eql(K,G.ONE)){if(G.eql(K,G.ZERO))return G.ZERO;let S=1;for(let I=G.sqr(K);S<M;S++){if(G.eql(I,G.ONE))break;I=G.sqr(I)}let O=G.pow(V,J$<<BigInt(M-S-1));V=G.sqr(O),D=G.mul(D,O),K=G.mul(K,V),M=S}return D}}function W9($){if($%cQ===Y9){let Q=($+J$)/cQ;return function(Y,X){let Z=Y.pow(X,Q);if(!Y.eql(Y.sqr(Z),X))throw Error("Cannot find square root");return Z}}if($%cY===mY){let Q=($-mY)/cY;return function(Y,X){let Z=Y.mul(X,B0),q=Y.pow(Z,Q),G=Y.mul(X,q),W=Y.mul(Y.mul(G,B0),q),M=Y.mul(G,Y.sub(W,Y.ONE));if(!Y.eql(Y.sqr(M),X))throw Error("Cannot find square root");return M}}if($%Z9===X9);return G9($)}var M9=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function uQ($){let Q={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},J=M9.reduce((Y,X)=>{return Y[X]="function",Y},Q);return T0($,J)}function V9($,Q,J){if(J<q$)throw Error("Expected power > 0");if(J===q$)return $.ONE;if(J===J$)return Q;let Y=$.ONE,X=Q;while(J>q$){if(J&J$)Y=$.mul(Y,X);X=$.sqr(X),J>>=J$}return Y}function z9($,Q){let J=Array(Q.length),Y=Q.reduce((Z,q,G)=>{if($.is0(q))return Z;return J[G]=Z,$.mul(Z,q)},$.ONE),X=$.inv(Y);return Q.reduceRight((Z,q,G)=>{if($.is0(q))return Z;return J[G]=$.mul(Z,J[G]),$.mul(Z,q)},X),J}function pQ($,Q){let J=Q!==void 0?Q:$.toString(2).length,Y=Math.ceil(J/8);return{nBitLength:J,nByteLength:Y}}function uY($,Q,J=!1,Y={}){if($<=q$)throw Error(`Expected Field ORDER > 0, got ${$}`);let{nBitLength:X,nByteLength:Z}=pQ($,Q);if(Z>2048)throw Error("Field lengths over 2048 bytes are not supported");let q=W9($),G=Object.freeze({ORDER:$,BITS:X,BYTES:Z,MASK:W8(X),ZERO:q$,ONE:J$,create:(W)=>T$(W,$),isValid:(W)=>{if(typeof W!=="bigint")throw Error(`Invalid field element: expected bigint, got ${typeof W}`);return q$<=W&&W<$},is0:(W)=>W===q$,isOdd:(W)=>(W&J$)===J$,neg:(W)=>T$(-W,$),eql:(W,M)=>W===M,sqr:(W)=>T$(W*W,$),add:(W,M)=>T$(W+M,$),sub:(W,M)=>T$(W-M,$),mul:(W,M)=>T$(W*M,$),pow:(W,M)=>V9(G,W,M),div:(W,M)=>T$(W*o8(M,$),$),sqrN:(W)=>W*W,addN:(W,M)=>W+M,subN:(W,M)=>W-M,mulN:(W,M)=>W*M,inv:(W)=>o8(W,$),sqrt:Y.sqrt||((W)=>q(G,W)),invertBatch:(W)=>z9(G,W),cmov:(W,M,V)=>V?M:W,toBytes:(W)=>J?n8(W,Z):I0(W,Z),fromBytes:(W)=>{if(W.length!==Z)throw Error(`Fp.fromBytes: expected ${Z}, got ${W.length}`);return J?l8(W):$0(W)}});return Object.freeze(G)}function pY($){if(typeof $!=="bigint")throw Error("field order must be bigint");let Q=$.toString(2).length;return Math.ceil(Q/8)}function dQ($){let Q=pY($);return Q+Math.ceil(Q/2)}function dY($,Q,J=!1){let Y=$.length,X=pY(Q),Z=dQ(Q);if(Y<16||Y<Z||Y>1024)throw Error(`expected ${Z}-1024 bytes of input, got ${Y}`);let q=J?$0($):l8($),G=T$(q,Q-J$)+J$;return J?n8(G,X):I0(G,X)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var O9=BigInt(0),lQ=BigInt(1);function lY($,Q){let J=(X,Z)=>{let q=Z.negate();return X?q:Z},Y=(X)=>{let Z=Math.ceil(Q/X)+1,q=2**(X-1);return{windows:Z,windowSize:q}};return{constTimeNegate:J,unsafeLadder(X,Z){let q=$.ZERO,G=X;while(Z>O9){if(Z&lQ)q=q.add(G);G=G.double(),Z>>=lQ}return q},precomputeWindow(X,Z){let{windows:q,windowSize:G}=Y(Z),W=[],M=X,V=M;for(let D=0;D<q;D++){V=M,W.push(V);for(let K=1;K<G;K++)V=V.add(M),W.push(V);M=V.double()}return W},wNAF(X,Z,q){let{windows:G,windowSize:W}=Y(X),M=$.ZERO,V=$.BASE,D=BigInt(2**X-1),K=2**X,S=BigInt(X);for(let O=0;O<G;O++){let I=O*W,H=Number(q&D);if(q>>=S,H>W)H-=K,q+=lQ;let N=I,P=I+Math.abs(H)-1,_=O%2!==0,j=H<0;if(H===0)V=V.add(J(_,Z[N]));else M=M.add(J(j,Z[P]))}return{p:M,f:V}},wNAFCached(X,Z,q,G){let W=X._WINDOW_SIZE||1,M=Z.get(X);if(!M){if(M=this.precomputeWindow(X,W),W!==1)Z.set(X,G(M))}return this.wNAF(W,M,q)}}}function nQ($){return uQ($.Fp),T0($,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...pQ($.n,$.nBitLength),...$,...{p:$.Fp.ORDER}})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function K9($){let Q=nQ($);T0(Q,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:J,Fp:Y,a:X}=Q;if(J){if(!Y.eql(X,Y.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof J!=="object"||typeof J.beta!=="bigint"||typeof J.splitScalar!=="function")throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...Q})}var{bytesToNumberBE:I9,hexToBytes:T9}=mQ,A0={Err:class extends Error{constructor(Q=""){super(Q)}},_parseInt($){let{Err:Q}=A0;if($.length<2||$[0]!==2)throw new Q("Invalid signature integer tag");let J=$[1],Y=$.subarray(2,J+2);if(!J||Y.length!==J)throw new Q("Invalid signature integer: wrong length");if(Y[0]&128)throw new Q("Invalid signature integer: negative");if(Y[0]===0&&!(Y[1]&128))throw new Q("Invalid signature integer: unnecessary leading zero");return{d:I9(Y),l:$.subarray(J+2)}},toSig($){let{Err:Q}=A0,J=typeof $==="string"?T9($):$;if(!(J instanceof Uint8Array))throw Error("ui8a expected");let Y=J.length;if(Y<2||J[0]!=48)throw new Q("Invalid signature tag");if(J[1]!==Y-2)throw new Q("Invalid signature: incorrect length");let{d:X,l:Z}=A0._parseInt(J.subarray(2)),{d:q,l:G}=A0._parseInt(Z);if(G.length)throw new Q("Invalid signature: left bytes after parsing");return{r:X,s:q}},hexFromSig($){let Q=(M)=>Number.parseInt(M[0],16)&8?"00"+M:M,J=(M)=>{let V=M.toString(16);return V.length&1?`0${V}`:V},Y=Q(J($.s)),X=Q(J($.r)),Z=Y.length/2,q=X.length/2,G=J(Z),W=J(q);return`30${J(q+Z+4)}02${W}${X}02${G}${Y}`}},Q0=BigInt(0),B$=BigInt(1),A5=BigInt(2),nY=BigInt(3),F5=BigInt(4);function U9($){let Q=K9($),{Fp:J}=Q,Y=Q.toBytes||((O,I,H)=>{let N=I.toAffine();return o0(Uint8Array.from([4]),J.toBytes(N.x),J.toBytes(N.y))}),X=Q.fromBytes||((O)=>{let I=O.subarray(1),H=J.fromBytes(I.subarray(0,J.BYTES)),N=J.fromBytes(I.subarray(J.BYTES,2*J.BYTES));return{x:H,y:N}});function Z(O){let{a:I,b:H}=Q,N=J.sqr(O),P=J.mul(N,O);return J.add(J.add(P,J.mul(O,I)),H)}if(!J.eql(J.sqr(Q.Gy),Z(Q.Gx)))throw Error("bad generator point: equation left != right");function q(O){return typeof O==="bigint"&&Q0<O&&O<Q.n}function G(O){if(!q(O))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function W(O){let{allowedPrivateKeyLengths:I,nByteLength:H,wrapPrivateKey:N,n:P}=Q;if(I&&typeof O!=="bigint"){if(O instanceof Uint8Array)O=S0(O);if(typeof O!=="string"||!I.includes(O.length))throw Error("Invalid key");O=O.padStart(H*2,"0")}let _;try{_=typeof O==="bigint"?O:$0(P$("private key",O,H))}catch(j){throw Error(`private key must be ${H} bytes, hex or bigint, not ${typeof O}`)}if(N)_=T$(_,P);return G(_),_}let M=new Map;function V(O){if(!(O instanceof D))throw Error("ProjectivePoint expected")}class D{constructor(O,I,H){if(this.px=O,this.py=I,this.pz=H,O==null||!J.isValid(O))throw Error("x required");if(I==null||!J.isValid(I))throw Error("y required");if(H==null||!J.isValid(H))throw Error("z required")}static fromAffine(O){let{x:I,y:H}=O||{};if(!O||!J.isValid(I)||!J.isValid(H))throw Error("invalid affine point");if(O instanceof D)throw Error("projective point not allowed");let N=(P)=>J.eql(P,J.ZERO);if(N(I)&&N(H))return D.ZERO;return new D(I,H,J.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(O){let I=J.invertBatch(O.map((H)=>H.pz));return O.map((H,N)=>H.toAffine(I[N])).map(D.fromAffine)}static fromHex(O){let I=D.fromAffine(X(P$("pointHex",O)));return I.assertValidity(),I}static fromPrivateKey(O){return D.BASE.multiply(W(O))}_setWindowSize(O){this._WINDOW_SIZE=O,M.delete(this)}assertValidity(){if(this.is0()){if(Q.allowInfinityPoint&&!J.is0(this.py))return;throw Error("bad point: ZERO")}let{x:O,y:I}=this.toAffine();if(!J.isValid(O)||!J.isValid(I))throw Error("bad point: x or y not FE");let H=J.sqr(I),N=Z(O);if(!J.eql(H,N))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:O}=this.toAffine();if(J.isOdd)return!J.isOdd(O);throw Error("Field doesn't support isOdd")}equals(O){V(O);let{px:I,py:H,pz:N}=this,{px:P,py:_,pz:j}=O,T=J.eql(J.mul(I,j),J.mul(P,N)),U=J.eql(J.mul(H,j),J.mul(_,N));return T&&U}negate(){return new D(this.px,J.neg(this.py),this.pz)}double(){let{a:O,b:I}=Q,H=J.mul(I,nY),{px:N,py:P,pz:_}=this,j=J.ZERO,T=J.ZERO,U=J.ZERO,L=J.mul(N,N),w=J.mul(P,P),A=J.mul(_,_),F=J.mul(N,P);return F=J.add(F,F),U=J.mul(N,_),U=J.add(U,U),j=J.mul(O,U),T=J.mul(H,A),T=J.add(j,T),j=J.sub(w,T),T=J.add(w,T),T=J.mul(j,T),j=J.mul(F,j),U=J.mul(H,U),A=J.mul(O,A),F=J.sub(L,A),F=J.mul(O,F),F=J.add(F,U),U=J.add(L,L),L=J.add(U,L),L=J.add(L,A),L=J.mul(L,F),T=J.add(T,L),A=J.mul(P,_),A=J.add(A,A),L=J.mul(A,F),j=J.sub(j,L),U=J.mul(A,w),U=J.add(U,U),U=J.add(U,U),new D(j,T,U)}add(O){V(O);let{px:I,py:H,pz:N}=this,{px:P,py:_,pz:j}=O,T=J.ZERO,U=J.ZERO,L=J.ZERO,w=Q.a,A=J.mul(Q.b,nY),F=J.mul(I,P),f=J.mul(H,_),y=J.mul(N,j),r=J.add(I,H),p=J.add(P,_);r=J.mul(r,p),p=J.add(F,f),r=J.sub(r,p),p=J.add(I,N);let C=J.add(P,j);return p=J.mul(p,C),C=J.add(F,y),p=J.sub(p,C),C=J.add(H,N),T=J.add(_,j),C=J.mul(C,T),T=J.add(f,y),C=J.sub(C,T),L=J.mul(w,p),T=J.mul(A,y),L=J.add(T,L),T=J.sub(f,L),L=J.add(f,L),U=J.mul(T,L),f=J.add(F,F),f=J.add(f,F),y=J.mul(w,y),p=J.mul(A,p),f=J.add(f,y),y=J.sub(F,y),y=J.mul(w,y),p=J.add(p,y),F=J.mul(f,p),U=J.add(U,F),F=J.mul(C,p),T=J.mul(r,T),T=J.sub(T,F),F=J.mul(r,f),L=J.mul(C,L),L=J.add(L,F),new D(T,U,L)}subtract(O){return this.add(O.negate())}is0(){return this.equals(D.ZERO)}wNAF(O){return S.wNAFCached(this,M,O,(I)=>{let H=J.invertBatch(I.map((N)=>N.pz));return I.map((N,P)=>N.toAffine(H[P])).map(D.fromAffine)})}multiplyUnsafe(O){let I=D.ZERO;if(O===Q0)return I;if(G(O),O===B$)return this;let{endo:H}=Q;if(!H)return S.unsafeLadder(this,O);let{k1neg:N,k1:P,k2neg:_,k2:j}=H.splitScalar(O),T=I,U=I,L=this;while(P>Q0||j>Q0){if(P&B$)T=T.add(L);if(j&B$)U=U.add(L);L=L.double(),P>>=B$,j>>=B$}if(N)T=T.negate();if(_)U=U.negate();return U=new D(J.mul(U.px,H.beta),U.py,U.pz),T.add(U)}multiply(O){G(O);let I=O,H,N,{endo:P}=Q;if(P){let{k1neg:_,k1:j,k2neg:T,k2:U}=P.splitScalar(I),{p:L,f:w}=this.wNAF(j),{p:A,f:F}=this.wNAF(U);L=S.constTimeNegate(_,L),A=S.constTimeNegate(T,A),A=new D(J.mul(A.px,P.beta),A.py,A.pz),H=L.add(A),N=w.add(F)}else{let{p:_,f:j}=this.wNAF(I);H=_,N=j}return D.normalizeZ([H,N])[0]}multiplyAndAddUnsafe(O,I,H){let N=D.BASE,P=(j,T)=>T===Q0||T===B$||!j.equals(N)?j.multiplyUnsafe(T):j.multiply(T),_=P(this,I).add(P(O,H));return _.is0()?void 0:_}toAffine(O){let{px:I,py:H,pz:N}=this,P=this.is0();if(O==null)O=P?J.ONE:J.inv(N);let _=J.mul(I,O),j=J.mul(H,O),T=J.mul(N,O);if(P)return{x:J.ZERO,y:J.ZERO};if(!J.eql(T,J.ONE))throw Error("invZ was invalid");return{x:_,y:j}}isTorsionFree(){let{h:O,isTorsionFree:I}=Q;if(O===B$)return!0;if(I)return I(D,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:O,clearCofactor:I}=Q;if(O===B$)return this;if(I)return I(D,this);return this.multiplyUnsafe(Q.h)}toRawBytes(O=!0){return this.assertValidity(),Y(D,this,O)}toHex(O=!0){return S0(this.toRawBytes(O))}}D.BASE=new D(Q.Gx,Q.Gy,J.ONE),D.ZERO=new D(J.ZERO,J.ONE,J.ZERO);let K=Q.nBitLength,S=lY(D,Q.endo?Math.ceil(K/2):K);return{CURVE:Q,ProjectivePoint:D,normPrivateKeyToScalar:W,weierstrassEquation:Z,isWithinCurveOrder:q}}function H9($){let Q=nQ($);return T0(Q,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...Q})}function oY($){let Q=H9($),{Fp:J,n:Y}=Q,X=J.BYTES+1,Z=2*J.BYTES+1;function q(C){return Q0<C&&C<J.ORDER}function G(C){return T$(C,Y)}function W(C){return o8(C,Y)}let{ProjectivePoint:M,normPrivateKeyToScalar:V,weierstrassEquation:D,isWithinCurveOrder:K}=U9({...Q,toBytes(C,B,b){let g=B.toAffine(),c=J.toBytes(g.x),o=o0;if(b)return o(Uint8Array.from([B.hasEvenY()?2:3]),c);else return o(Uint8Array.from([4]),c,J.toBytes(g.y))},fromBytes(C){let B=C.length,b=C[0],g=C.subarray(1);if(B===X&&(b===2||b===3)){let c=$0(g);if(!q(c))throw Error("Point is not on curve");let o=D(c),X$=J.sqrt(o),O$=(X$&B$)===B$;if((b&1)===1!==O$)X$=J.neg(X$);return{x:c,y:X$}}else if(B===Z&&b===4){let c=J.fromBytes(g.subarray(0,J.BYTES)),o=J.fromBytes(g.subarray(J.BYTES,2*J.BYTES));return{x:c,y:o}}else throw Error(`Point of length ${B} was invalid. Expected ${X} compressed bytes or ${Z} uncompressed bytes`)}}),S=(C)=>S0(I0(C,Q.nByteLength));function O(C){let B=Y>>B$;return C>B}function I(C){return O(C)?G(-C):C}let H=(C,B,b)=>$0(C.slice(B,b));class N{constructor(C,B,b){this.r=C,this.s=B,this.recovery=b,this.assertValidity()}static fromCompact(C){let B=Q.nByteLength;return C=P$("compactSignature",C,B*2),new N(H(C,0,B),H(C,B,2*B))}static fromDER(C){let{r:B,s:b}=A0.toSig(P$("DER",C));return new N(B,b)}assertValidity(){if(!K(this.r))throw Error("r must be 0 < r < CURVE.n");if(!K(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(C){return new N(this.r,this.s,C)}recoverPublicKey(C){let{r:B,s:b,recovery:g}=this,c=L(P$("msgHash",C));if(g==null||![0,1,2,3].includes(g))throw Error("recovery id invalid");let o=g===2||g===3?B+Q.n:B;if(o>=J.ORDER)throw Error("recovery id 2 or 3 invalid");let X$=(g&1)===0?"02":"03",O$=M.fromHex(X$+S(o)),l$=W(o),N0=G(-c*l$),v0=G(b*l$),R0=M.BASE.multiplyAndAddUnsafe(O$,N0,v0);if(!R0)throw Error("point at infinify");return R0.assertValidity(),R0}hasHighS(){return O(this.s)}normalizeS(){return this.hasHighS()?new N(this.r,G(-this.s),this.recovery):this}toDERRawBytes(){return w0(this.toDERHex())}toDERHex(){return A0.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return w0(this.toCompactHex())}toCompactHex(){return S(this.r)+S(this.s)}}let P={isValidPrivateKey(C){try{return V(C),!0}catch(B){return!1}},normPrivateKeyToScalar:V,randomPrivateKey:()=>{let C=dQ(Q.n);return dY(Q.randomBytes(C),Q.n)},precompute(C=8,B=M.BASE){return B._setWindowSize(C),B.multiply(BigInt(3)),B}};function _(C,B=!0){return M.fromPrivateKey(C).toRawBytes(B)}function j(C){let B=C instanceof Uint8Array,b=typeof C==="string",g=(B||b)&&C.length;if(B)return g===X||g===Z;if(b)return g===2*X||g===2*Z;if(C instanceof M)return!0;return!1}function T(C,B,b=!0){if(j(C))throw Error("first arg must be private key");if(!j(B))throw Error("second arg must be public key");return M.fromHex(B).multiply(V(C)).toRawBytes(b)}let U=Q.bits2int||function(C){let B=$0(C),b=C.length*8-Q.nBitLength;return b>0?B>>BigInt(b):B},L=Q.bits2int_modN||function(C){return G(U(C))},w=W8(Q.nBitLength);function A(C){if(typeof C!=="bigint")throw Error("bigint expected");if(!(Q0<=C&&C<w))throw Error(`bigint expected < 2^${Q.nBitLength}`);return I0(C,Q.nByteLength)}function F(C,B,b=f){if(["recovered","canonical"].some((L0)=>(L0 in b)))throw Error("sign() legacy options not supported");let{hash:g,randomBytes:c}=Q,{lowS:o,prehash:X$,extraEntropy:O$}=b;if(o==null)o=!0;if(C=P$("msgHash",C),X$)C=P$("prehashed msgHash",g(C));let l$=L(C),N0=V(B),v0=[A(N0),A(l$)];if(O$!=null){let L0=O$===!0?c(J.BYTES):O$;v0.push(P$("extraEntropy",L0))}let R0=o0(...v0),C8=l$;function EQ(L0){let y0=U(L0);if(!K(y0))return;let EJ=W(y0),g$=M.BASE.multiply(y0).toAffine(),g0=G(g$.x);if(g0===Q0)return;let E8=G(EJ*G(C8+g0*N0));if(E8===Q0)return;let jJ=(g$.x===g0?0:2)|Number(g$.y&B$),PJ=E8;if(o&&O(E8))PJ=I(E8),jJ^=1;return new N(g0,PJ,jJ)}return{seed:R0,k2sig:EQ}}let f={lowS:Q.lowS,prehash:!1},y={lowS:Q.lowS,prehash:!1};function r(C,B,b=f){let{seed:g,k2sig:c}=F(C,B,b),o=Q;return hQ(o.hash.outputLen,o.nByteLength,o.hmac)(g,c)}M.BASE._setWindowSize(8);function p(C,B,b,g=y){let c=C;if(B=P$("msgHash",B),b=P$("publicKey",b),"strict"in g)throw Error("options.strict was renamed to lowS");let{lowS:o,prehash:X$}=g,O$=void 0,l$;try{if(typeof c==="string"||c instanceof Uint8Array)try{O$=N.fromDER(c)}catch(g$){if(!(g$ instanceof A0.Err))throw g$;O$=N.fromCompact(c)}else if(typeof c==="object"&&typeof c.r==="bigint"&&typeof c.s==="bigint"){let{r:g$,s:g0}=c;O$=new N(g$,g0)}else throw Error("PARSE");l$=M.fromHex(b)}catch(g$){if(g$.message==="PARSE")throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(o&&O$.hasHighS())return!1;if(X$)B=Q.hash(B);let{r:N0,s:v0}=O$,R0=L(B),C8=W(v0),EQ=G(R0*C8),L0=G(N0*C8),y0=M.BASE.multiplyAndAddUnsafe(l$,EQ,L0)?.toAffine();if(!y0)return!1;return G(y0.x)===N0}return{CURVE:Q,getPublicKey:_,getSharedSecret:T,sign:r,verify:p,ProjectivePoint:M,Signature:N,utils:P}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function N9($){return{hash:$,hmac:(Q,...J)=>j0($,Q,gJ(...J)),randomBytes:hJ}}function iY($,Q){let J=(Y)=>oY({...$,...N9(Y)});return Object.freeze({...J(Q),create:J})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var sY=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),rY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),R9=BigInt(1),oQ=BigInt(2),aY=($,Q)=>($+Q/oQ)/Q;function L9($){let Q=sY,J=BigInt(3),Y=BigInt(6),X=BigInt(11),Z=BigInt(22),q=BigInt(23),G=BigInt(44),W=BigInt(88),M=$*$*$%Q,V=M*M*$%Q,D=S$(V,J,Q)*V%Q,K=S$(D,J,Q)*V%Q,S=S$(K,oQ,Q)*M%Q,O=S$(S,X,Q)*S%Q,I=S$(O,Z,Q)*O%Q,H=S$(I,G,Q)*I%Q,N=S$(H,W,Q)*H%Q,P=S$(N,G,Q)*I%Q,_=S$(P,J,Q)*V%Q,j=S$(_,q,Q)*O%Q,T=S$(j,Y,Q)*M%Q,U=S$(T,oQ,Q);if(!iQ.eql(iQ.sqr(U),$))throw Error("Cannot find square root");return U}var iQ=uY(sY,void 0,void 0,{sqrt:L9}),J0=iY({a:BigInt(0),b:BigInt(7),Fp:iQ,n:rY,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:($)=>{let Q=rY,J=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),Y=-R9*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),X=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),Z=J,q=BigInt("0x100000000000000000000000000000000"),G=aY(Z*$,Q),W=aY(-Y*$,Q),M=T$($-G*J-W*X,Q),V=T$(-G*Y-W*Z,Q),D=M>q,K=V>q;if(D)M=Q-M;if(K)V=Q-V;if(M>q||V>q)throw Error("splitScalar: Endomorphism failed, k="+$);return{k1neg:D,k1:M,k2neg:K,k2:V}}}},r$),h5=BigInt(0);var m5=J0.ProjectivePoint;var rQ="0x0000000000000000000000000000000000000000";var i8="0x0000000000000000000000000000000000000000000000000000000000000000";var aQ=`\x19Ethereum Signed Message:
1
+ var yX=Object.defineProperty;var gX=($)=>$;function hX($,Q){this[$]=gX.bind(null,Q)}var mX=($,Q)=>{for(var J in Q)yX($,J,{get:Q[J],enumerable:!0,configurable:!0,set:hX.bind(Q,J)})};var j8="6.15.0";function cX($,Q,J){let Y=Q.split("|").map((Z)=>Z.trim());for(let Z=0;Z<Y.length;Z++)switch(Q){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof $===Q)return}let X=Error(`invalid value for type ${Q}`);throw X.code="INVALID_ARGUMENT",X.argument=`value.${J}`,X.value=$,X}async function h$($){let Q=Object.keys($);return(await Promise.all(Q.map((Y)=>Promise.resolve($[Y])))).reduce((Y,X,Z)=>{return Y[Q[Z]]=X,Y},{})}function a($,Q,J){for(let Y in Q){let X=Q[Y],Z=J?J[Y]:null;if(Z)cX(X,Z,Y);Object.defineProperty($,Y,{enumerable:!0,value:X,writable:!1})}}function h0($,Q){if($==null)return"null";if(Q==null)Q=new Set;if(typeof $==="object"){if(Q.has($))return"[Circular]";Q.add($)}if(Array.isArray($))return"[ "+$.map((J)=>h0(J,Q)).join(", ")+" ]";if($ instanceof Uint8Array){let Y="0x";for(let X=0;X<$.length;X++)Y+="0123456789abcdef"[$[X]>>4],Y+="0123456789abcdef"[$[X]&15];return Y}if(typeof $==="object"&&typeof $.toJSON==="function")return h0($.toJSON(),Q);switch(typeof $){case"boolean":case"number":case"symbol":return $.toString();case"bigint":return BigInt($).toString();case"string":return JSON.stringify($);case"object":{let J=Object.keys($);return J.sort(),"{ "+J.map((Y)=>`${h0(Y,Q)}: ${h0($[Y],Q)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function P8($,Q){return $&&$.code===Q}function J8($,Q,J){let Y=$;{let Z=[];if(J){if("message"in J||"code"in J||"name"in J)throw Error(`value will overwrite populated values: ${h0(J)}`);for(let q in J){if(q==="shortMessage")continue;let G=J[q];Z.push(q+"="+h0(G))}}if(Z.push(`code=${Q}`),Z.push(`version=${j8}`),Z.length)$+=" ("+Z.join(", ")+")"}let X;switch(Q){case"INVALID_ARGUMENT":X=TypeError($);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":X=RangeError($);break;default:X=Error($)}if(a(X,{code:Q}),J)Object.assign(X,J);if(X.shortMessage==null)a(X,{shortMessage:Y});return X}function k($,Q,J,Y){if(!$)throw J8(Q,J,Y)}function z($,Q,J,Y){k($,Q,"INVALID_ARGUMENT",{argument:J,value:Y})}var uX=["NFD","NFC","NFKD","NFKC"].reduce(($,Q)=>{try{if("test".normalize(Q)!=="test")throw Error("bad");if(Q==="NFD"){let J=String.fromCharCode(233).normalize("NFD"),Y=String.fromCharCode(101,769);if(J!==Y)throw Error("broken")}$.push(Q)}catch(J){}return $},[]);function m0($){k(uX.indexOf($)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:$}})}function n$($,Q,J){if(J==null)J="";if($!==Q){let Y=J,X="new";if(J)Y+=".",X+=" "+J;k(!1,`private constructor; use ${Y}from* methods`,"UNSUPPORTED_OPERATION",{operation:X})}}function wJ($,Q,J){if($ instanceof Uint8Array){if(J)return new Uint8Array($);return $}if(typeof $==="string"&&$.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let Y=new Uint8Array(($.length-2)/2),X=2;for(let Z=0;Z<Y.length;Z++)Y[Z]=parseInt($.substring(X,X+2),16),X+=2;return Y}z(!1,"invalid BytesLike value",Q||"value",$)}function E($,Q){return wJ($,Q,!1)}function b$($,Q){return wJ($,Q,!0)}function K$($,Q){if(typeof $!=="string"||!$.match(/^0x[0-9A-Fa-f]*$/))return!1;if(typeof Q==="number"&&$.length!==2+2*Q)return!1;if(Q===!0&&$.length%2!==0)return!1;return!0}function m$($){return K$($,!0)||$ instanceof Uint8Array}var SJ="0123456789abcdef";function R($){let Q=E($),J="0x";for(let Y=0;Y<Q.length;Y++){let X=Q[Y];J+=SJ[(X&240)>>4]+SJ[X&15]}return J}function n($){return"0x"+$.map((Q)=>R(Q).substring(2)).join("")}function o$($){if(K$($,!0))return($.length-2)/2;return E($).length}function c0($,Q,J){let Y=E($);if(J!=null&&J>Y.length)k(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:Y,length:Y.length,offset:J});return R(Y.slice(Q==null?0:Q,J==null?Y.length:J))}function pX($,Q,J){let Y=E($);k(Q>=Y.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(Y),length:Q,offset:Q+1});let X=new Uint8Array(Q);if(X.fill(0),J)X.set(Y,Q-Y.length);else X.set(Y,0);return R(X)}function E$($,Q){return pX($,Q,!0)}var jQ=BigInt(0),C0=BigInt(1),u0=9007199254740991;function S8($,Q){let J=h($,"value"),Y=BigInt(G$(Q,"width")),X=C0<<Y-C0;if(J<jQ){J=-J,k(J<=X,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:$});let Z=(C0<<Y)-C0;return(~J&Z)+C0}else k(J<X,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:$});return J}function w8($,Q){let J=Y8($,"value"),Y=BigInt(G$(Q,"bits"));return J&(C0<<Y)-C0}function h($,Q){switch(typeof $){case"bigint":return $;case"number":return z(Number.isInteger($),"underflow",Q||"value",$),z($>=-u0&&$<=u0,"overflow",Q||"value",$),BigInt($);case"string":try{if($==="")throw Error("empty string");if($[0]==="-"&&$[1]!=="-")return-BigInt($.substring(1));return BigInt($)}catch(J){z(!1,`invalid BigNumberish string: ${J.message}`,Q||"value",$)}}z(!1,"invalid BigNumberish value",Q||"value",$)}function Y8($,Q){let J=h($,Q);return k(J>=jQ,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:$}),J}var BJ="0123456789abcdef";function p0($){if($ instanceof Uint8Array){let Q="0x0";for(let J of $)Q+=BJ[J>>4],Q+=BJ[J&15];return BigInt(Q)}return h($)}function G$($,Q){switch(typeof $){case"bigint":return z($>=-u0&&$<=u0,"overflow",Q||"value",$),Number($);case"number":return z(Number.isInteger($),"underflow",Q||"value",$),z($>=-u0&&$<=u0,"overflow",Q||"value",$),$;case"string":try{if($==="")throw Error("empty string");return G$(BigInt($),Q)}catch(J){z(!1,`invalid numeric string: ${J.message}`,Q||"value",$)}}z(!1,"invalid numeric value",Q||"value",$)}function x$($,Q){let Y=Y8($,"value").toString(16);if(Q==null){if(Y.length%2)Y="0"+Y}else{let X=G$(Q,"width");k(X*2>=Y.length,`value exceeds width (${X} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:$});while(Y.length<X*2)Y="0"+Y}return"0x"+Y}function s($){let Q=Y8($,"value");if(Q===jQ)return new Uint8Array([]);let J=Q.toString(16);if(J.length%2)J="0"+J;let Y=new Uint8Array(J.length/2);for(let X=0;X<Y.length;X++){let Z=X*2;Y[X]=parseInt(J.substring(Z,Z+2),16)}return Y}function B8($){let Q=R(m$($)?$:s($)).substring(2);while(Q.startsWith("0"))Q=Q.substring(1);if(Q==="")Q="0";return"0x"+Q}var F8="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",A8=null;function dX($){if(A8==null){A8={};for(let J=0;J<F8.length;J++)A8[F8[J]]=BigInt(J)}let Q=A8[$];return z(Q!=null,"invalid base58 value","letter",$),Q}var lX=BigInt(0),PQ=BigInt(58);function k8($){let Q=E($),J=p0(Q),Y="";while(J)Y=F8[Number(J%PQ)]+Y,J/=PQ;for(let X=0;X<Q.length;X++){if(Q[X])break;Y=F8[0]+Y}return Y}function _8($){let Q=lX;for(let J=0;J<$.length;J++)Q*=PQ,Q+=dX($[J]);return Q}function nX($,Q,J,Y,X){z(!1,`invalid codepoint at offset ${Q}; ${$}`,"bytes",J)}function AJ($,Q,J,Y,X){if($==="BAD_PREFIX"||$==="UNEXPECTED_CONTINUE"){let Z=0;for(let q=Q+1;q<J.length;q++){if(J[q]>>6!==2)break;Z++}return Z}if($==="OVERRUN")return J.length-Q-1;return 0}function oX($,Q,J,Y,X){if($==="OVERLONG")return z(typeof X==="number","invalid bad code point for replacement","badCodepoint",X),Y.push(X),0;return Y.push(65533),AJ($,Q,J,Y,X)}var FJ=Object.freeze({error:nX,ignore:AJ,replace:oX});function V$($,Q){if(z(typeof $==="string","invalid string value","str",$),Q!=null)m0(Q),$=$.normalize(Q);let J=[];for(let Y=0;Y<$.length;Y++){let X=$.charCodeAt(Y);if(X<128)J.push(X);else if(X<2048)J.push(X>>6|192),J.push(X&63|128);else if((X&64512)==55296){Y++;let Z=$.charCodeAt(Y);z(Y<$.length&&(Z&64512)===56320,"invalid surrogate pair","str",$);let q=65536+((X&1023)<<10)+(Z&1023);J.push(q>>18|240),J.push(q>>12&63|128),J.push(q>>6&63|128),J.push(q&63|128)}else J.push(X>>12|224),J.push(X>>6&63|128),J.push(X&63|128)}return new Uint8Array(J)}function iX($){let Q=$.toString(16);while(Q.length<2)Q="0"+Q;return"0x"+Q}function kJ($,Q,J){let Y=0;for(let X=0;X<J;X++)Y=Y*256+$[Q+X];return Y}function _J($,Q,J,Y){let X=[];while(J<Q+1+Y){let Z=fJ($,J);X.push(Z.result),J+=Z.consumed,k(J<=Q+1+Y,"child data too short","BUFFER_OVERRUN",{buffer:$,length:Y,offset:Q})}return{consumed:1+Y,result:X}}function fJ($,Q){k($.length!==0,"data too short","BUFFER_OVERRUN",{buffer:$,length:0,offset:1});let J=(Y)=>{k(Y<=$.length,"data short segment too short","BUFFER_OVERRUN",{buffer:$,length:$.length,offset:Y})};if($[Q]>=248){let Y=$[Q]-247;J(Q+1+Y);let X=kJ($,Q+1,Y);return J(Q+1+Y+X),_J($,Q,Q+1+Y,Y+X)}else if($[Q]>=192){let Y=$[Q]-192;return J(Q+1+Y),_J($,Q,Q+1,Y)}else if($[Q]>=184){let Y=$[Q]-183;J(Q+1+Y);let X=kJ($,Q+1,Y);J(Q+1+Y+X);let Z=R($.slice(Q+1+Y,Q+1+Y+X));return{consumed:1+Y+X,result:Z}}else if($[Q]>=128){let Y=$[Q]-128;J(Q+1+Y);let X=R($.slice(Q+1,Q+1+Y));return{consumed:1+Y,result:X}}return{consumed:1,result:iX($[Q])}}function M0($){let Q=E($,"data"),J=fJ(Q,0);return z(J.consumed===Q.length,"unexpected junk after rlp payload","data",$),J.result}function bJ($){let Q=[];while($)Q.unshift($&255),$>>=8;return Q}function vJ($){if(Array.isArray($)){let Y=[];if($.forEach(function(Z){Y=Y.concat(vJ(Z))}),Y.length<=55)return Y.unshift(192+Y.length),Y;let X=bJ(Y.length);return X.unshift(247+X.length),X.concat(Y)}let Q=Array.prototype.slice.call(E($,"object"));if(Q.length===1&&Q[0]<=127)return Q;else if(Q.length<=55)return Q.unshift(128+Q.length),Q;let J=bJ(Q.length);return J.unshift(183+J.length),J.concat(Q)}var xJ="0123456789abcdef";function w$($){let Q="0x";for(let J of vJ($))Q+=xJ[J>>4],Q+=xJ[J&15];return Q}function f8($){let Q=E($,"randomBytes");Q[6]=Q[6]&15|64,Q[8]=Q[8]&63|128;let J=R(Q);return[J.substring(2,10),J.substring(10,14),J.substring(14,18),J.substring(18,22),J.substring(22,34)].join("-")}function I$($){if(!Number.isSafeInteger($)||$<0)throw Error(`Wrong positive integer: ${$}`)}function X8($,...Q){if(!($ instanceof Uint8Array))throw Error("Expected Uint8Array");if(Q.length>0&&!Q.includes($.length))throw Error(`Expected Uint8Array of length ${Q}, not of length=${$.length}`)}function b8($){if(typeof $!=="function"||typeof $.create!=="function")throw Error("Hash should be wrapped by utils.wrapConstructor");I$($.outputLen),I$($.blockLen)}function i$($,Q=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(Q&&$.finished)throw Error("Hash#digest() has already been called")}function x8($,Q){X8($);let J=Q.outputLen;if($.length<J)throw Error(`digestInto() expects output buffer of length at least ${J}`)}var v8=typeof globalThis==="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */var yJ=($)=>$ instanceof Uint8Array;var d0=($)=>new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4)),l0=($)=>new DataView($.buffer,$.byteOffset,$.byteLength),v$=($,Q)=>$<<32-Q|$>>>Q,YZ=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!YZ)throw Error("Non little-endian hardware is not supported");var XZ=async()=>{};async function y8($,Q,J){let Y=Date.now();for(let X=0;X<$;X++){J(X);let Z=Date.now()-Y;if(Z>=0&&Z<Q)continue;await XZ(),Y+=Z}}function ZZ($){if(typeof $!=="string")throw Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function c$($){if(typeof $==="string")$=ZZ($);if(!yJ($))throw Error(`expected Uint8Array, got ${typeof $}`);return $}function gJ(...$){let Q=new Uint8Array($.reduce((Y,X)=>Y+X.length,0)),J=0;return $.forEach((Y)=>{if(!yJ(Y))throw Error("Uint8Array expected");Q.set(Y,J),J+=Y.length}),Q}class E0{clone(){return this._cloneInto()}}var qZ={}.toString;function g8($,Q){if(Q!==void 0&&qZ.call(Q)!=="[object Object]")throw Error("Options should be object or undefined");return Object.assign($,Q)}function V0($){let Q=(Y)=>$().update(c$(Y)).digest(),J=$();return Q.outputLen=J.outputLen,Q.blockLen=J.blockLen,Q.create=()=>$(),Q}function hJ($=32){if(v8&&typeof v8.getRandomValues==="function")return v8.getRandomValues(new Uint8Array($));throw Error("crypto.getRandomValues must be defined")}class SQ extends E0{constructor($,Q){super();this.finished=!1,this.destroyed=!1,b8($);let J=c$(Q);if(this.iHash=$.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let Y=this.blockLen,X=new Uint8Array(Y);X.set(J.length>Y?$.create().update(J).digest():J);for(let Z=0;Z<X.length;Z++)X[Z]^=54;this.iHash.update(X),this.oHash=$.create();for(let Z=0;Z<X.length;Z++)X[Z]^=106;this.oHash.update(X),X.fill(0)}update($){return i$(this),this.iHash.update($),this}digestInto($){i$(this),X8($,this.outputLen),this.finished=!0,this.iHash.digestInto($),this.oHash.update($),this.oHash.digestInto($),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||($=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Q,iHash:J,finished:Y,destroyed:X,blockLen:Z,outputLen:q}=this;return $=$,$.finished=Y,$.destroyed=X,$.blockLen=Z,$.outputLen=q,$.oHash=Q._cloneInto($.oHash),$.iHash=J._cloneInto($.iHash),$}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var j0=($,Q,J)=>new SQ($,Q).update(J).digest();j0.create=($,Q)=>new SQ($,Q);function GZ($,Q,J,Y){b8($);let X=g8({dkLen:32,asyncTick:10},Y),{c:Z,dkLen:q,asyncTick:G}=X;if(I$(Z),I$(q),I$(G),Z<1)throw Error("PBKDF2: iterations (c) should be >= 1");let W=c$(Q),M=c$(J),V=new Uint8Array(q),D=j0.create($,W),K=D._cloneInto().update(M);return{c:Z,dkLen:q,asyncTick:G,DK:V,PRF:D,PRFSalt:K}}function WZ($,Q,J,Y,X){if($.destroy(),Q.destroy(),Y)Y.destroy();return X.fill(0),J}function Z8($,Q,J,Y){let{c:X,dkLen:Z,DK:q,PRF:G,PRFSalt:W}=GZ($,Q,J,Y),M,V=new Uint8Array(4),D=l0(V),K=new Uint8Array(G.outputLen);for(let S=1,O=0;O<Z;S++,O+=G.outputLen){let I=q.subarray(O,O+G.outputLen);D.setInt32(0,S,!1),(M=W._cloneInto(M)).update(V).digestInto(K),I.set(K.subarray(0,I.length));for(let H=1;H<X;H++){G._cloneInto(M).update(K).digestInto(K);for(let N=0;N<I.length;N++)I[N]^=K[N]}}return WZ(G,W,q,M,K)}function MZ($,Q,J,Y){if(typeof $.setBigUint64==="function")return $.setBigUint64(Q,J,Y);let X=BigInt(32),Z=BigInt(4294967295),q=Number(J>>X&Z),G=Number(J&Z),W=Y?4:0,M=Y?0:4;$.setUint32(Q+W,q,Y),$.setUint32(Q+M,G,Y)}class P0 extends E0{constructor($,Q,J,Y){super();this.blockLen=$,this.outputLen=Q,this.padOffset=J,this.isLE=Y,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array($),this.view=l0(this.buffer)}update($){i$(this);let{view:Q,buffer:J,blockLen:Y}=this;$=c$($);let X=$.length;for(let Z=0;Z<X;){let q=Math.min(Y-this.pos,X-Z);if(q===Y){let G=l0($);for(;Y<=X-Z;Z+=Y)this.process(G,Z);continue}if(J.set($.subarray(Z,Z+q),this.pos),this.pos+=q,Z+=q,this.pos===Y)this.process(Q,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){i$(this),x8($,this),this.finished=!0;let{buffer:Q,view:J,blockLen:Y,isLE:X}=this,{pos:Z}=this;if(Q[Z++]=128,this.buffer.subarray(Z).fill(0),this.padOffset>Y-Z)this.process(J,0),Z=0;for(let V=Z;V<Y;V++)Q[V]=0;MZ(J,Y-8,BigInt(this.length*8),X),this.process(J,0);let q=l0($),G=this.outputLen;if(G%4)throw Error("_sha2: outputLen should be aligned to 32bit");let W=G/4,M=this.get();if(W>M.length)throw Error("_sha2: outputLen bigger than state");for(let V=0;V<W;V++)q.setUint32(4*V,M[V],X)}digest(){let{buffer:$,outputLen:Q}=this;this.digestInto($);let J=$.slice(0,Q);return this.destroy(),J}_cloneInto($){$||($=new this.constructor),$.set(...this.get());let{blockLen:Q,buffer:J,length:Y,finished:X,destroyed:Z,pos:q}=this;if($.length=Y,$.pos=q,$.finished=X,$.destroyed=Z,Y%Q)$.buffer.set(J);return $}}var VZ=($,Q,J)=>$&Q^~$&J,zZ=($,Q,J)=>$&Q^$&J^Q&J,DZ=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]),z0=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),D0=new Uint32Array(64);class mJ extends P0{constructor(){super(64,32,8,!1);this.A=z0[0]|0,this.B=z0[1]|0,this.C=z0[2]|0,this.D=z0[3]|0,this.E=z0[4]|0,this.F=z0[5]|0,this.G=z0[6]|0,this.H=z0[7]|0}get(){let{A:$,B:Q,C:J,D:Y,E:X,F:Z,G:q,H:G}=this;return[$,Q,J,Y,X,Z,q,G]}set($,Q,J,Y,X,Z,q,G){this.A=$|0,this.B=Q|0,this.C=J|0,this.D=Y|0,this.E=X|0,this.F=Z|0,this.G=q|0,this.H=G|0}process($,Q){for(let V=0;V<16;V++,Q+=4)D0[V]=$.getUint32(Q,!1);for(let V=16;V<64;V++){let D=D0[V-15],K=D0[V-2],S=v$(D,7)^v$(D,18)^D>>>3,O=v$(K,17)^v$(K,19)^K>>>10;D0[V]=O+D0[V-7]+S+D0[V-16]|0}let{A:J,B:Y,C:X,D:Z,E:q,F:G,G:W,H:M}=this;for(let V=0;V<64;V++){let D=v$(q,6)^v$(q,11)^v$(q,25),K=M+D+VZ(q,G,W)+DZ[V]+D0[V]|0,O=(v$(J,2)^v$(J,13)^v$(J,22))+zZ(J,Y,X)|0;M=W,W=G,G=q,q=Z+K|0,Z=X,X=Y,Y=J,J=K+O|0}J=J+this.A|0,Y=Y+this.B|0,X=X+this.C|0,Z=Z+this.D|0,q=q+this.E|0,G=G+this.F|0,W=W+this.G|0,M=M+this.H|0,this.set(J,Y,X,Z,q,G,W,M)}roundClean(){D0.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}var r$=V0(()=>new mJ);var h8=BigInt(4294967295),wQ=BigInt(32);function cJ($,Q=!1){if(Q)return{h:Number($&h8),l:Number($>>wQ&h8)};return{h:Number($>>wQ&h8)|0,l:Number($&h8)|0}}function BQ($,Q=!1){let J=new Uint32Array($.length),Y=new Uint32Array($.length);for(let X=0;X<$.length;X++){let{h:Z,l:q}=cJ($[X],Q);[J[X],Y[X]]=[Z,q]}return[J,Y]}var OZ=($,Q)=>BigInt($>>>0)<<wQ|BigInt(Q>>>0),KZ=($,Q,J)=>$>>>J,IZ=($,Q,J)=>$<<32-J|Q>>>J,TZ=($,Q,J)=>$>>>J|Q<<32-J,UZ=($,Q,J)=>$<<32-J|Q>>>J,HZ=($,Q,J)=>$<<64-J|Q>>>J-32,NZ=($,Q,J)=>$>>>J-32|Q<<64-J,RZ=($,Q)=>Q,LZ=($,Q)=>$,AQ=($,Q,J)=>$<<J|Q>>>32-J,FQ=($,Q,J)=>Q<<J|$>>>32-J,kQ=($,Q,J)=>Q<<J-32|$>>>64-J,_Q=($,Q,J)=>$<<J-32|Q>>>64-J;function CZ($,Q,J,Y){let X=(Q>>>0)+(Y>>>0);return{h:$+J+(X/4294967296|0)|0,l:X|0}}var EZ=($,Q,J)=>($>>>0)+(Q>>>0)+(J>>>0),jZ=($,Q,J,Y)=>Q+J+Y+($/4294967296|0)|0,PZ=($,Q,J,Y)=>($>>>0)+(Q>>>0)+(J>>>0)+(Y>>>0),SZ=($,Q,J,Y,X)=>Q+J+Y+X+($/4294967296|0)|0,wZ=($,Q,J,Y,X)=>($>>>0)+(Q>>>0)+(J>>>0)+(Y>>>0)+(X>>>0),BZ=($,Q,J,Y,X,Z)=>Q+J+Y+X+Z+($/4294967296|0)|0;var AZ={fromBig:cJ,split:BQ,toBig:OZ,shrSH:KZ,shrSL:IZ,rotrSH:TZ,rotrSL:UZ,rotrBH:HZ,rotrBL:NZ,rotr32H:RZ,rotr32L:LZ,rotlSH:AQ,rotlSL:FQ,rotlBH:kQ,rotlBL:_Q,add:CZ,add3L:EZ,add3H:jZ,add4L:PZ,add4H:SZ,add5H:BZ,add5L:wZ},x=AZ;var[FZ,kZ]=(()=>x.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(($)=>BigInt($))))(),O0=new Uint32Array(80),K0=new Uint32Array(80);class uJ extends P0{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:$,Al:Q,Bh:J,Bl:Y,Ch:X,Cl:Z,Dh:q,Dl:G,Eh:W,El:M,Fh:V,Fl:D,Gh:K,Gl:S,Hh:O,Hl:I}=this;return[$,Q,J,Y,X,Z,q,G,W,M,V,D,K,S,O,I]}set($,Q,J,Y,X,Z,q,G,W,M,V,D,K,S,O,I){this.Ah=$|0,this.Al=Q|0,this.Bh=J|0,this.Bl=Y|0,this.Ch=X|0,this.Cl=Z|0,this.Dh=q|0,this.Dl=G|0,this.Eh=W|0,this.El=M|0,this.Fh=V|0,this.Fl=D|0,this.Gh=K|0,this.Gl=S|0,this.Hh=O|0,this.Hl=I|0}process($,Q){for(let P=0;P<16;P++,Q+=4)O0[P]=$.getUint32(Q),K0[P]=$.getUint32(Q+=4);for(let P=16;P<80;P++){let _=O0[P-15]|0,j=K0[P-15]|0,T=x.rotrSH(_,j,1)^x.rotrSH(_,j,8)^x.shrSH(_,j,7),U=x.rotrSL(_,j,1)^x.rotrSL(_,j,8)^x.shrSL(_,j,7),L=O0[P-2]|0,w=K0[P-2]|0,B=x.rotrSH(L,w,19)^x.rotrBH(L,w,61)^x.shrSH(L,w,6),F=x.rotrSL(L,w,19)^x.rotrBL(L,w,61)^x.shrSL(L,w,6),f=x.add4L(U,F,K0[P-7],K0[P-16]),y=x.add4H(f,T,B,O0[P-7],O0[P-16]);O0[P]=y|0,K0[P]=f|0}let{Ah:J,Al:Y,Bh:X,Bl:Z,Ch:q,Cl:G,Dh:W,Dl:M,Eh:V,El:D,Fh:K,Fl:S,Gh:O,Gl:I,Hh:H,Hl:N}=this;for(let P=0;P<80;P++){let _=x.rotrSH(V,D,14)^x.rotrSH(V,D,18)^x.rotrBH(V,D,41),j=x.rotrSL(V,D,14)^x.rotrSL(V,D,18)^x.rotrBL(V,D,41),T=V&K^~V&O,U=D&S^~D&I,L=x.add5L(N,j,U,kZ[P],K0[P]),w=x.add5H(L,H,_,T,FZ[P],O0[P]),B=L|0,F=x.rotrSH(J,Y,28)^x.rotrBH(J,Y,34)^x.rotrBH(J,Y,39),f=x.rotrSL(J,Y,28)^x.rotrBL(J,Y,34)^x.rotrBL(J,Y,39),y=J&X^J&q^X&q,r=Y&Z^Y&G^Z&G;H=O|0,N=I|0,O=K|0,I=S|0,K=V|0,S=D|0,{h:V,l:D}=x.add(W|0,M|0,w|0,B|0),W=q|0,M=G|0,q=X|0,G=Z|0,X=J|0,Z=Y|0;let p=x.add3L(B,f,r);J=x.add3H(p,w,F,y),Y=p|0}({h:J,l:Y}=x.add(this.Ah|0,this.Al|0,J|0,Y|0)),{h:X,l:Z}=x.add(this.Bh|0,this.Bl|0,X|0,Z|0),{h:q,l:G}=x.add(this.Ch|0,this.Cl|0,q|0,G|0),{h:W,l:M}=x.add(this.Dh|0,this.Dl|0,W|0,M|0),{h:V,l:D}=x.add(this.Eh|0,this.El|0,V|0,D|0),{h:K,l:S}=x.add(this.Fh|0,this.Fl|0,K|0,S|0),{h:O,l:I}=x.add(this.Gh|0,this.Gl|0,O|0,I|0),{h:H,l:N}=x.add(this.Hh|0,this.Hl|0,H|0,N|0),this.set(J,Y,X,Z,q,G,W,M,V,D,K,S,O,I,H,N)}roundClean(){O0.fill(0),K0.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)}}var m8=V0(()=>new uJ);function _Z(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof window<"u")return window;throw Error("unable to locate global object")}var pJ=_Z(),dJ=pJ.crypto||pJ.msCrypto;function fQ($){switch($){case"sha256":return r$.create();case"sha512":return m8.create()}z(!1,"invalid hashing algorithm name","algorithm",$)}function lJ($,Q){let J={sha256:r$,sha512:m8}[$];return z(J!=null,"invalid hmac algorithm","algorithm",$),j0.create(J,Q)}function nJ($,Q,J,Y,X){let Z={sha256:r$,sha512:m8}[X];return z(Z!=null,"invalid pbkdf2 algorithm","algorithm",X),Z8(Z,$,Q,{c:J,dkLen:Y})}function oJ($){k(dJ!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),z(Number.isInteger($)&&$>0&&$<=1024,"invalid length","length",$);let Q=new Uint8Array($);return dJ.getRandomValues(Q),Q}var iJ=!1,rJ=function($,Q,J){return lJ($,Q).update(J).digest()},aJ=rJ;function a$($,Q,J){let Y=E(Q,"key"),X=E(J,"data");return R(aJ($,Y,X))}a$._=rJ;a$.lock=function(){iJ=!0};a$.register=function($){if(iJ)throw Error("computeHmac is locked");aJ=$};Object.freeze(a$);var[eJ,$Y,QY]=[[],[],[]],fZ=BigInt(0),q8=BigInt(1),bZ=BigInt(2),xZ=BigInt(7),vZ=BigInt(256),yZ=BigInt(113);for(let $=0,Q=q8,J=1,Y=0;$<24;$++){[J,Y]=[Y,(2*J+3*Y)%5],eJ.push(2*(5*Y+J)),$Y.push(($+1)*($+2)/2%64);let X=fZ;for(let Z=0;Z<7;Z++)if(Q=(Q<<q8^(Q>>xZ)*yZ)%vZ,Q&bZ)X^=q8<<(q8<<BigInt(Z))-q8;QY.push(X)}var[gZ,hZ]=BQ(QY,!0),sJ=($,Q,J)=>J>32?kQ($,Q,J):AQ($,Q,J),tJ=($,Q,J)=>J>32?_Q($,Q,J):FQ($,Q,J);function mZ($,Q=24){let J=new Uint32Array(10);for(let Y=24-Q;Y<24;Y++){for(let q=0;q<10;q++)J[q]=$[q]^$[q+10]^$[q+20]^$[q+30]^$[q+40];for(let q=0;q<10;q+=2){let G=(q+8)%10,W=(q+2)%10,M=J[W],V=J[W+1],D=sJ(M,V,1)^J[G],K=tJ(M,V,1)^J[G+1];for(let S=0;S<50;S+=10)$[q+S]^=D,$[q+S+1]^=K}let X=$[2],Z=$[3];for(let q=0;q<24;q++){let G=$Y[q],W=sJ(X,Z,G),M=tJ(X,Z,G),V=eJ[q];X=$[V],Z=$[V+1],$[V]=W,$[V+1]=M}for(let q=0;q<50;q+=10){for(let G=0;G<10;G++)J[G]=$[q+G];for(let G=0;G<10;G++)$[q+G]^=~J[(G+2)%10]&J[(G+4)%10]}$[0]^=gZ[Y],$[1]^=hZ[Y]}J.fill(0)}class bQ extends E0{constructor($,Q,J,Y=!1,X=24){super();if(this.blockLen=$,this.suffix=Q,this.outputLen=J,this.enableXOF=Y,this.rounds=X,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,I$(J),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=d0(this.state)}keccak(){mZ(this.state32,this.rounds),this.posOut=0,this.pos=0}update($){i$(this);let{blockLen:Q,state:J}=this;$=c$($);let Y=$.length;for(let X=0;X<Y;){let Z=Math.min(Q-this.pos,Y-X);for(let q=0;q<Z;q++)J[this.pos++]^=$[X++];if(this.pos===Q)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:$,suffix:Q,pos:J,blockLen:Y}=this;if($[J]^=Q,(Q&128)!==0&&J===Y-1)this.keccak();$[Y-1]^=128,this.keccak()}writeInto($){i$(this,!1),X8($),this.finish();let Q=this.state,{blockLen:J}=this;for(let Y=0,X=$.length;Y<X;){if(this.posOut>=J)this.keccak();let Z=Math.min(J-this.posOut,X-Y);$.set(Q.subarray(this.posOut,this.posOut+Z),Y),this.posOut+=Z,Y+=Z}return $}xofInto($){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto($)}xof($){return I$($),this.xofInto(new Uint8Array($))}digestInto($){if(x8($,this),this.finished)throw Error("digest() was already called");return this.writeInto($),this.destroy(),$}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto($){let{blockLen:Q,suffix:J,outputLen:Y,rounds:X,enableXOF:Z}=this;return $||($=new bQ(Q,J,Y,Z,X)),$.state32.set(this.state32),$.pos=this.pos,$.posOut=this.posOut,$.finished=this.finished,$.rounds=X,$.suffix=J,$.outputLen=Y,$.enableXOF=Z,$.destroyed=this.destroyed,$}}var cZ=($,Q,J)=>V0(()=>new bQ(Q,$,J));var JY=cZ(1,136,32);var YY=!1,XY=function($){return JY($)},ZY=XY;function l($){let Q=E($,"data");return R(ZY(Q))}l._=XY;l.lock=function(){YY=!0};l.register=function($){if(YY)throw TypeError("keccak256 is locked");ZY=$};Object.freeze(l);var uZ=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),GY=Uint8Array.from({length:16},($,Q)=>Q),pZ=GY.map(($)=>(9*$+5)%16),xQ=[GY],vQ=[pZ];for(let $=0;$<4;$++)for(let Q of[xQ,vQ])Q.push(Q[$].map((J)=>uZ[J]));var WY=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(($)=>new Uint8Array($)),dZ=xQ.map(($,Q)=>$.map((J)=>WY[Q][J])),lZ=vQ.map(($,Q)=>$.map((J)=>WY[Q][J])),nZ=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),oZ=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),c8=($,Q)=>$<<Q|$>>>32-Q;function qY($,Q,J,Y){if($===0)return Q^J^Y;else if($===1)return Q&J|~Q&Y;else if($===2)return(Q|~J)^Y;else if($===3)return Q&Y|J&~Y;else return Q^(J|~Y)}var u8=new Uint32Array(16);class MY extends P0{constructor(){super(64,20,8,!0);this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:$,h1:Q,h2:J,h3:Y,h4:X}=this;return[$,Q,J,Y,X]}set($,Q,J,Y,X){this.h0=$|0,this.h1=Q|0,this.h2=J|0,this.h3=Y|0,this.h4=X|0}process($,Q){for(let K=0;K<16;K++,Q+=4)u8[K]=$.getUint32(Q,!0);let J=this.h0|0,Y=J,X=this.h1|0,Z=X,q=this.h2|0,G=q,W=this.h3|0,M=W,V=this.h4|0,D=V;for(let K=0;K<5;K++){let S=4-K,O=nZ[K],I=oZ[K],H=xQ[K],N=vQ[K],P=dZ[K],_=lZ[K];for(let j=0;j<16;j++){let T=c8(J+qY(K,X,q,W)+u8[H[j]]+O,P[j])+V|0;J=V,V=W,W=c8(q,10)|0,q=X,X=T}for(let j=0;j<16;j++){let T=c8(Y+qY(S,Z,G,M)+u8[N[j]]+I,_[j])+D|0;Y=D,D=M,M=c8(G,10)|0,G=Z,Z=T}}this.set(this.h1+q+M|0,this.h2+W+D|0,this.h3+V+Y|0,this.h4+J+Z|0,this.h0+X+G|0)}roundClean(){u8.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}var VY=V0(()=>new MY);var zY=!1,DY=function($){return VY($)},OY=DY;function s$($){let Q=E($,"data");return R(OY(Q))}s$._=DY;s$.lock=function(){zY=!0};s$.register=function($){if(zY)throw TypeError("ripemd160 is locked");OY=$};Object.freeze(s$);var KY=!1,IY=function($,Q,J,Y,X){return nJ($,Q,J,Y,X)},TY=IY;function j$($,Q,J,Y,X){let Z=E($,"password"),q=E(Q,"salt");return R(TY(Z,q,J,Y,X))}j$._=IY;j$.lock=function(){KY=!0};j$.register=function($){if(KY)throw Error("pbkdf2 is locked");TY=$};Object.freeze(j$);var UY=!1,HY=function($){return new Uint8Array(oJ($))},NY=HY;function Z$($){return NY($)}Z$._=HY;Z$.lock=function(){UY=!0};Z$.register=function($){if(UY)throw Error("randomBytes is locked");NY=$};Object.freeze(Z$);var d=($,Q)=>$<<Q|$>>>32-Q;function RY($,Q,J,Y,X,Z){let q=$[Q++]^J[Y++],G=$[Q++]^J[Y++],W=$[Q++]^J[Y++],M=$[Q++]^J[Y++],V=$[Q++]^J[Y++],D=$[Q++]^J[Y++],K=$[Q++]^J[Y++],S=$[Q++]^J[Y++],O=$[Q++]^J[Y++],I=$[Q++]^J[Y++],H=$[Q++]^J[Y++],N=$[Q++]^J[Y++],P=$[Q++]^J[Y++],_=$[Q++]^J[Y++],j=$[Q++]^J[Y++],T=$[Q++]^J[Y++],U=q,L=G,w=W,B=M,F=V,f=D,y=K,r=S,p=O,C=I,A=H,b=N,g=P,c=_,o=j,X$=T;for(let O$=0;O$<8;O$+=2)F^=d(U+g|0,7),p^=d(F+U|0,9),g^=d(p+F|0,13),U^=d(g+p|0,18),C^=d(f+L|0,7),c^=d(C+f|0,9),L^=d(c+C|0,13),f^=d(L+c|0,18),o^=d(A+y|0,7),w^=d(o+A|0,9),y^=d(w+o|0,13),A^=d(y+w|0,18),B^=d(X$+b|0,7),r^=d(B+X$|0,9),b^=d(r+B|0,13),X$^=d(b+r|0,18),L^=d(U+B|0,7),w^=d(L+U|0,9),B^=d(w+L|0,13),U^=d(B+w|0,18),y^=d(f+F|0,7),r^=d(y+f|0,9),F^=d(r+y|0,13),f^=d(F+r|0,18),b^=d(A+C|0,7),p^=d(b+A|0,9),C^=d(p+b|0,13),A^=d(C+p|0,18),g^=d(X$+o|0,7),c^=d(g+X$|0,9),o^=d(c+g|0,13),X$^=d(o+c|0,18);X[Z++]=q+U|0,X[Z++]=G+L|0,X[Z++]=W+w|0,X[Z++]=M+B|0,X[Z++]=V+F|0,X[Z++]=D+f|0,X[Z++]=K+y|0,X[Z++]=S+r|0,X[Z++]=O+p|0,X[Z++]=I+C|0,X[Z++]=H+A|0,X[Z++]=N+b|0,X[Z++]=P+g|0,X[Z++]=_+c|0,X[Z++]=j+o|0,X[Z++]=T+X$|0}function n0($,Q,J,Y,X){let Z=Y+0,q=Y+16*X;for(let G=0;G<16;G++)J[q+G]=$[Q+(2*X-1)*16+G];for(let G=0;G<X;G++,Z+=16,Q+=16){if(RY(J,q,$,Q,J,Z),G>0)q+=16;RY(J,Z,$,Q+=16,J,q)}}function LY($,Q,J){let Y=g8({dkLen:32,asyncTick:10,maxmem:1073742848},J),{N:X,r:Z,p:q,dkLen:G,asyncTick:W,maxmem:M,onProgress:V}=Y;if(I$(X),I$(Z),I$(q),I$(G),I$(W),I$(M),V!==void 0&&typeof V!=="function")throw Error("progressCb should be function");let D=128*Z,K=D/4;if(X<=1||(X&X-1)!==0||X>=2**(D/8)||X>4294967296)throw Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(q<0||q>137438953440/D)throw Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(G<0||G>137438953440)throw Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let S=D*(X+q);if(S>M)throw Error(`Scrypt: parameters too large, ${S} (128 * r * (N + p)) > ${M} (maxmem)`);let O=Z8(r$,$,Q,{c:1,dkLen:D*q}),I=d0(O),H=d0(new Uint8Array(D*X)),N=d0(new Uint8Array(D)),P=()=>{};if(V){let _=2*X*q,j=Math.max(Math.floor(_/1e4),1),T=0;P=()=>{if(T++,V&&(!(T%j)||T===_))V(T/_)}}return{N:X,r:Z,p:q,dkLen:G,blockSize32:K,V:H,B32:I,B:O,tmp:N,blockMixCb:P,asyncTick:W}}function CY($,Q,J,Y,X){let Z=Z8(r$,$,J,{c:1,dkLen:Q});return J.fill(0),Y.fill(0),X.fill(0),Z}function EY($,Q,J){let{N:Y,r:X,p:Z,dkLen:q,blockSize32:G,V:W,B32:M,B:V,tmp:D,blockMixCb:K}=LY($,Q,J);for(let S=0;S<Z;S++){let O=G*S;for(let I=0;I<G;I++)W[I]=M[O+I];for(let I=0,H=0;I<Y-1;I++)n0(W,H,W,H+=G,X),K();n0(W,(Y-1)*G,M,O,X),K();for(let I=0;I<Y;I++){let H=M[O+G-16]%Y;for(let N=0;N<G;N++)D[N]=M[O+N]^W[H*G+N];n0(D,0,M,O,X),K()}}return CY($,q,V,W,D)}async function jY($,Q,J){let{N:Y,r:X,p:Z,dkLen:q,blockSize32:G,V:W,B32:M,B:V,tmp:D,blockMixCb:K,asyncTick:S}=LY($,Q,J);for(let O=0;O<Z;O++){let I=G*O;for(let N=0;N<G;N++)W[N]=M[I+N];let H=0;await y8(Y-1,S,()=>{n0(W,H,W,H+=G,X),K()}),n0(W,(Y-1)*G,M,I,X),K(),await y8(Y,S,()=>{let N=M[I+G-16]%Y;for(let P=0;P<G;P++)D[P]=M[I+P]^W[N*G+P];n0(D,0,M,I,X),K()})}return CY($,q,V,W,D)}var PY=!1,SY=!1,wY=async function($,Q,J,Y,X,Z,q){return await jY($,Q,{N:J,r:Y,p:X,dkLen:Z,onProgress:q})},BY=function($,Q,J,Y,X,Z){return EY($,Q,{N:J,r:Y,p:X,dkLen:Z})},AY=wY,FY=BY;async function t$($,Q,J,Y,X,Z,q){let G=E($,"passwd"),W=E(Q,"salt");return R(await AY(G,W,J,Y,X,Z,q))}t$._=wY;t$.lock=function(){SY=!0};t$.register=function($){if(SY)throw Error("scrypt is locked");AY=$};Object.freeze(t$);function e$($,Q,J,Y,X,Z){let q=E($,"passwd"),G=E(Q,"salt");return R(FY(q,G,J,Y,X,Z))}e$._=BY;e$.lock=function(){PY=!0};e$.register=function($){if(PY)throw Error("scryptSync is locked");FY=$};Object.freeze(e$);var kY=function($){return fQ("sha256").update($).digest()},_Y=function($){return fQ("sha512").update($).digest()},fY=kY,bY=_Y,xY=!1,vY=!1;function z$($){let Q=E($,"data");return R(fY(Q))}z$._=kY;z$.lock=function(){xY=!0};z$.register=function($){if(xY)throw Error("sha256 is locked");fY=$};Object.freeze(z$);function G8($){let Q=E($,"data");return R(bY(Q))}G8._=_Y;G8.lock=function(){vY=!0};G8.register=function($){if(vY)throw Error("sha512 is locked");bY=$};Object.freeze(z$);var mQ={};mX(mQ,{validateObject:()=>T0,utf8ToBytes:()=>tZ,numberToVarBytesBE:()=>aZ,numberToHexUnpadded:()=>hY,numberToBytesLE:()=>n8,numberToBytesBE:()=>I0,hexToNumber:()=>gQ,hexToBytes:()=>w0,equalBytes:()=>sZ,ensureBytes:()=>P$,createHmacDrbg:()=>hQ,concatBytes:()=>o0,bytesToNumberLE:()=>l8,bytesToNumberBE:()=>$0,bytesToHex:()=>S0,bitSet:()=>Q9,bitMask:()=>W8,bitLen:()=>eZ,bitGet:()=>$9});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gY=BigInt(0),p8=BigInt(1),iZ=BigInt(2),d8=($)=>$ instanceof Uint8Array,rZ=Array.from({length:256},($,Q)=>Q.toString(16).padStart(2,"0"));function S0($){if(!d8($))throw Error("Uint8Array expected");let Q="";for(let J=0;J<$.length;J++)Q+=rZ[$[J]];return Q}function hY($){let Q=$.toString(16);return Q.length&1?`0${Q}`:Q}function gQ($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);return BigInt($===""?"0":`0x${$}`)}function w0($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);let Q=$.length;if(Q%2)throw Error("padded hex string expected, got unpadded hex of length "+Q);let J=new Uint8Array(Q/2);for(let Y=0;Y<J.length;Y++){let X=Y*2,Z=$.slice(X,X+2),q=Number.parseInt(Z,16);if(Number.isNaN(q)||q<0)throw Error("Invalid byte sequence");J[Y]=q}return J}function $0($){return gQ(S0($))}function l8($){if(!d8($))throw Error("Uint8Array expected");return gQ(S0(Uint8Array.from($).reverse()))}function I0($,Q){return w0($.toString(16).padStart(Q*2,"0"))}function n8($,Q){return I0($,Q).reverse()}function aZ($){return w0(hY($))}function P$($,Q,J){let Y;if(typeof Q==="string")try{Y=w0(Q)}catch(Z){throw Error(`${$} must be valid hex string, got "${Q}". Cause: ${Z}`)}else if(d8(Q))Y=Uint8Array.from(Q);else throw Error(`${$} must be hex string or Uint8Array`);let X=Y.length;if(typeof J==="number"&&X!==J)throw Error(`${$} expected ${J} bytes, got ${X}`);return Y}function o0(...$){let Q=new Uint8Array($.reduce((Y,X)=>Y+X.length,0)),J=0;return $.forEach((Y)=>{if(!d8(Y))throw Error("Uint8Array expected");Q.set(Y,J),J+=Y.length}),Q}function sZ($,Q){if($.length!==Q.length)return!1;for(let J=0;J<$.length;J++)if($[J]!==Q[J])return!1;return!0}function tZ($){if(typeof $!=="string")throw Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function eZ($){let Q;for(Q=0;$>gY;$>>=p8,Q+=1);return Q}function $9($,Q){return $>>BigInt(Q)&p8}var Q9=($,Q,J)=>{return $|(J?p8:gY)<<BigInt(Q)},W8=($)=>(iZ<<BigInt($-1))-p8,yQ=($)=>new Uint8Array($),yY=($)=>Uint8Array.from($);function hQ($,Q,J){if(typeof $!=="number"||$<2)throw Error("hashLen must be a number");if(typeof Q!=="number"||Q<2)throw Error("qByteLen must be a number");if(typeof J!=="function")throw Error("hmacFn must be a function");let Y=yQ($),X=yQ($),Z=0,q=()=>{Y.fill(1),X.fill(0),Z=0},G=(...D)=>J(X,Y,...D),W=(D=yQ())=>{if(X=G(yY([0]),D),Y=G(),D.length===0)return;X=G(yY([1]),D),Y=G()},M=()=>{if(Z++>=1000)throw Error("drbg: tried 1000 values");let D=0,K=[];while(D<Q){Y=G();let S=Y.slice();K.push(S),D+=Y.length}return o0(...K)};return(D,K)=>{q(),W(D);let S=void 0;while(!(S=K(M())))W();return q(),S}}var J9={bigint:($)=>typeof $==="bigint",function:($)=>typeof $==="function",boolean:($)=>typeof $==="boolean",string:($)=>typeof $==="string",stringOrUint8Array:($)=>typeof $==="string"||$ instanceof Uint8Array,isSafeInteger:($)=>Number.isSafeInteger($),array:($)=>Array.isArray($),field:($,Q)=>Q.Fp.isValid($),hash:($)=>typeof $==="function"&&Number.isSafeInteger($.outputLen)};function T0($,Q,J={}){let Y=(X,Z,q)=>{let G=J9[Z];if(typeof G!=="function")throw Error(`Invalid validator "${Z}", expected function`);let W=$[X];if(q&&W===void 0)return;if(!G(W,$))throw Error(`Invalid param ${String(X)}=${W} (${typeof W}), expected ${Z}`)};for(let[X,Z]of Object.entries(Q))Y(X,Z,!1);for(let[X,Z]of Object.entries(J))Y(X,Z,!0);return $}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var q$=BigInt(0),J$=BigInt(1),B0=BigInt(2),Y9=BigInt(3),cQ=BigInt(4),mY=BigInt(5),cY=BigInt(8),X9=BigInt(9),Z9=BigInt(16);function T$($,Q){let J=$%Q;return J>=q$?J:Q+J}function q9($,Q,J){if(J<=q$||Q<q$)throw Error("Expected power/modulo > 0");if(J===J$)return q$;let Y=J$;while(Q>q$){if(Q&J$)Y=Y*$%J;$=$*$%J,Q>>=J$}return Y}function S$($,Q,J){let Y=$;while(Q-- >q$)Y*=Y,Y%=J;return Y}function o8($,Q){if($===q$||Q<=q$)throw Error(`invert: expected positive integers, got n=${$} mod=${Q}`);let J=T$($,Q),Y=Q,X=q$,Z=J$,q=J$,G=q$;while(J!==q$){let M=Y/J,V=Y%J,D=X-q*M,K=Z-G*M;Y=J,J=V,X=q,Z=G,q=D,G=K}if(Y!==J$)throw Error("invert: does not exist");return T$(X,Q)}function G9($){let Q=($-J$)/B0,J,Y,X;for(J=$-J$,Y=0;J%B0===q$;J/=B0,Y++);for(X=B0;X<$&&q9(X,Q,$)!==$-J$;X++);if(Y===1){let q=($+J$)/cQ;return function(W,M){let V=W.pow(M,q);if(!W.eql(W.sqr(V),M))throw Error("Cannot find square root");return V}}let Z=(J+J$)/B0;return function(G,W){if(G.pow(W,Q)===G.neg(G.ONE))throw Error("Cannot find square root");let M=Y,V=G.pow(G.mul(G.ONE,X),J),D=G.pow(W,Z),K=G.pow(W,J);while(!G.eql(K,G.ONE)){if(G.eql(K,G.ZERO))return G.ZERO;let S=1;for(let I=G.sqr(K);S<M;S++){if(G.eql(I,G.ONE))break;I=G.sqr(I)}let O=G.pow(V,J$<<BigInt(M-S-1));V=G.sqr(O),D=G.mul(D,O),K=G.mul(K,V),M=S}return D}}function W9($){if($%cQ===Y9){let Q=($+J$)/cQ;return function(Y,X){let Z=Y.pow(X,Q);if(!Y.eql(Y.sqr(Z),X))throw Error("Cannot find square root");return Z}}if($%cY===mY){let Q=($-mY)/cY;return function(Y,X){let Z=Y.mul(X,B0),q=Y.pow(Z,Q),G=Y.mul(X,q),W=Y.mul(Y.mul(G,B0),q),M=Y.mul(G,Y.sub(W,Y.ONE));if(!Y.eql(Y.sqr(M),X))throw Error("Cannot find square root");return M}}if($%Z9===X9);return G9($)}var M9=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function uQ($){let Q={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},J=M9.reduce((Y,X)=>{return Y[X]="function",Y},Q);return T0($,J)}function V9($,Q,J){if(J<q$)throw Error("Expected power > 0");if(J===q$)return $.ONE;if(J===J$)return Q;let Y=$.ONE,X=Q;while(J>q$){if(J&J$)Y=$.mul(Y,X);X=$.sqr(X),J>>=J$}return Y}function z9($,Q){let J=Array(Q.length),Y=Q.reduce((Z,q,G)=>{if($.is0(q))return Z;return J[G]=Z,$.mul(Z,q)},$.ONE),X=$.inv(Y);return Q.reduceRight((Z,q,G)=>{if($.is0(q))return Z;return J[G]=$.mul(Z,J[G]),$.mul(Z,q)},X),J}function pQ($,Q){let J=Q!==void 0?Q:$.toString(2).length,Y=Math.ceil(J/8);return{nBitLength:J,nByteLength:Y}}function uY($,Q,J=!1,Y={}){if($<=q$)throw Error(`Expected Field ORDER > 0, got ${$}`);let{nBitLength:X,nByteLength:Z}=pQ($,Q);if(Z>2048)throw Error("Field lengths over 2048 bytes are not supported");let q=W9($),G=Object.freeze({ORDER:$,BITS:X,BYTES:Z,MASK:W8(X),ZERO:q$,ONE:J$,create:(W)=>T$(W,$),isValid:(W)=>{if(typeof W!=="bigint")throw Error(`Invalid field element: expected bigint, got ${typeof W}`);return q$<=W&&W<$},is0:(W)=>W===q$,isOdd:(W)=>(W&J$)===J$,neg:(W)=>T$(-W,$),eql:(W,M)=>W===M,sqr:(W)=>T$(W*W,$),add:(W,M)=>T$(W+M,$),sub:(W,M)=>T$(W-M,$),mul:(W,M)=>T$(W*M,$),pow:(W,M)=>V9(G,W,M),div:(W,M)=>T$(W*o8(M,$),$),sqrN:(W)=>W*W,addN:(W,M)=>W+M,subN:(W,M)=>W-M,mulN:(W,M)=>W*M,inv:(W)=>o8(W,$),sqrt:Y.sqrt||((W)=>q(G,W)),invertBatch:(W)=>z9(G,W),cmov:(W,M,V)=>V?M:W,toBytes:(W)=>J?n8(W,Z):I0(W,Z),fromBytes:(W)=>{if(W.length!==Z)throw Error(`Fp.fromBytes: expected ${Z}, got ${W.length}`);return J?l8(W):$0(W)}});return Object.freeze(G)}function pY($){if(typeof $!=="bigint")throw Error("field order must be bigint");let Q=$.toString(2).length;return Math.ceil(Q/8)}function dQ($){let Q=pY($);return Q+Math.ceil(Q/2)}function dY($,Q,J=!1){let Y=$.length,X=pY(Q),Z=dQ(Q);if(Y<16||Y<Z||Y>1024)throw Error(`expected ${Z}-1024 bytes of input, got ${Y}`);let q=J?$0($):l8($),G=T$(q,Q-J$)+J$;return J?n8(G,X):I0(G,X)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var O9=BigInt(0),lQ=BigInt(1);function lY($,Q){let J=(X,Z)=>{let q=Z.negate();return X?q:Z},Y=(X)=>{let Z=Math.ceil(Q/X)+1,q=2**(X-1);return{windows:Z,windowSize:q}};return{constTimeNegate:J,unsafeLadder(X,Z){let q=$.ZERO,G=X;while(Z>O9){if(Z&lQ)q=q.add(G);G=G.double(),Z>>=lQ}return q},precomputeWindow(X,Z){let{windows:q,windowSize:G}=Y(Z),W=[],M=X,V=M;for(let D=0;D<q;D++){V=M,W.push(V);for(let K=1;K<G;K++)V=V.add(M),W.push(V);M=V.double()}return W},wNAF(X,Z,q){let{windows:G,windowSize:W}=Y(X),M=$.ZERO,V=$.BASE,D=BigInt(2**X-1),K=2**X,S=BigInt(X);for(let O=0;O<G;O++){let I=O*W,H=Number(q&D);if(q>>=S,H>W)H-=K,q+=lQ;let N=I,P=I+Math.abs(H)-1,_=O%2!==0,j=H<0;if(H===0)V=V.add(J(_,Z[N]));else M=M.add(J(j,Z[P]))}return{p:M,f:V}},wNAFCached(X,Z,q,G){let W=X._WINDOW_SIZE||1,M=Z.get(X);if(!M){if(M=this.precomputeWindow(X,W),W!==1)Z.set(X,G(M))}return this.wNAF(W,M,q)}}}function nQ($){return uQ($.Fp),T0($,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...pQ($.n,$.nBitLength),...$,...{p:$.Fp.ORDER}})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function K9($){let Q=nQ($);T0(Q,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:J,Fp:Y,a:X}=Q;if(J){if(!Y.eql(X,Y.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof J!=="object"||typeof J.beta!=="bigint"||typeof J.splitScalar!=="function")throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...Q})}var{bytesToNumberBE:I9,hexToBytes:T9}=mQ,A0={Err:class extends Error{constructor(Q=""){super(Q)}},_parseInt($){let{Err:Q}=A0;if($.length<2||$[0]!==2)throw new Q("Invalid signature integer tag");let J=$[1],Y=$.subarray(2,J+2);if(!J||Y.length!==J)throw new Q("Invalid signature integer: wrong length");if(Y[0]&128)throw new Q("Invalid signature integer: negative");if(Y[0]===0&&!(Y[1]&128))throw new Q("Invalid signature integer: unnecessary leading zero");return{d:I9(Y),l:$.subarray(J+2)}},toSig($){let{Err:Q}=A0,J=typeof $==="string"?T9($):$;if(!(J instanceof Uint8Array))throw Error("ui8a expected");let Y=J.length;if(Y<2||J[0]!=48)throw new Q("Invalid signature tag");if(J[1]!==Y-2)throw new Q("Invalid signature: incorrect length");let{d:X,l:Z}=A0._parseInt(J.subarray(2)),{d:q,l:G}=A0._parseInt(Z);if(G.length)throw new Q("Invalid signature: left bytes after parsing");return{r:X,s:q}},hexFromSig($){let Q=(M)=>Number.parseInt(M[0],16)&8?"00"+M:M,J=(M)=>{let V=M.toString(16);return V.length&1?`0${V}`:V},Y=Q(J($.s)),X=Q(J($.r)),Z=Y.length/2,q=X.length/2,G=J(Z),W=J(q);return`30${J(q+Z+4)}02${W}${X}02${G}${Y}`}},Q0=BigInt(0),B$=BigInt(1),A5=BigInt(2),nY=BigInt(3),F5=BigInt(4);function U9($){let Q=K9($),{Fp:J}=Q,Y=Q.toBytes||((O,I,H)=>{let N=I.toAffine();return o0(Uint8Array.from([4]),J.toBytes(N.x),J.toBytes(N.y))}),X=Q.fromBytes||((O)=>{let I=O.subarray(1),H=J.fromBytes(I.subarray(0,J.BYTES)),N=J.fromBytes(I.subarray(J.BYTES,2*J.BYTES));return{x:H,y:N}});function Z(O){let{a:I,b:H}=Q,N=J.sqr(O),P=J.mul(N,O);return J.add(J.add(P,J.mul(O,I)),H)}if(!J.eql(J.sqr(Q.Gy),Z(Q.Gx)))throw Error("bad generator point: equation left != right");function q(O){return typeof O==="bigint"&&Q0<O&&O<Q.n}function G(O){if(!q(O))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function W(O){let{allowedPrivateKeyLengths:I,nByteLength:H,wrapPrivateKey:N,n:P}=Q;if(I&&typeof O!=="bigint"){if(O instanceof Uint8Array)O=S0(O);if(typeof O!=="string"||!I.includes(O.length))throw Error("Invalid key");O=O.padStart(H*2,"0")}let _;try{_=typeof O==="bigint"?O:$0(P$("private key",O,H))}catch(j){throw Error(`private key must be ${H} bytes, hex or bigint, not ${typeof O}`)}if(N)_=T$(_,P);return G(_),_}let M=new Map;function V(O){if(!(O instanceof D))throw Error("ProjectivePoint expected")}class D{constructor(O,I,H){if(this.px=O,this.py=I,this.pz=H,O==null||!J.isValid(O))throw Error("x required");if(I==null||!J.isValid(I))throw Error("y required");if(H==null||!J.isValid(H))throw Error("z required")}static fromAffine(O){let{x:I,y:H}=O||{};if(!O||!J.isValid(I)||!J.isValid(H))throw Error("invalid affine point");if(O instanceof D)throw Error("projective point not allowed");let N=(P)=>J.eql(P,J.ZERO);if(N(I)&&N(H))return D.ZERO;return new D(I,H,J.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(O){let I=J.invertBatch(O.map((H)=>H.pz));return O.map((H,N)=>H.toAffine(I[N])).map(D.fromAffine)}static fromHex(O){let I=D.fromAffine(X(P$("pointHex",O)));return I.assertValidity(),I}static fromPrivateKey(O){return D.BASE.multiply(W(O))}_setWindowSize(O){this._WINDOW_SIZE=O,M.delete(this)}assertValidity(){if(this.is0()){if(Q.allowInfinityPoint&&!J.is0(this.py))return;throw Error("bad point: ZERO")}let{x:O,y:I}=this.toAffine();if(!J.isValid(O)||!J.isValid(I))throw Error("bad point: x or y not FE");let H=J.sqr(I),N=Z(O);if(!J.eql(H,N))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:O}=this.toAffine();if(J.isOdd)return!J.isOdd(O);throw Error("Field doesn't support isOdd")}equals(O){V(O);let{px:I,py:H,pz:N}=this,{px:P,py:_,pz:j}=O,T=J.eql(J.mul(I,j),J.mul(P,N)),U=J.eql(J.mul(H,j),J.mul(_,N));return T&&U}negate(){return new D(this.px,J.neg(this.py),this.pz)}double(){let{a:O,b:I}=Q,H=J.mul(I,nY),{px:N,py:P,pz:_}=this,j=J.ZERO,T=J.ZERO,U=J.ZERO,L=J.mul(N,N),w=J.mul(P,P),B=J.mul(_,_),F=J.mul(N,P);return F=J.add(F,F),U=J.mul(N,_),U=J.add(U,U),j=J.mul(O,U),T=J.mul(H,B),T=J.add(j,T),j=J.sub(w,T),T=J.add(w,T),T=J.mul(j,T),j=J.mul(F,j),U=J.mul(H,U),B=J.mul(O,B),F=J.sub(L,B),F=J.mul(O,F),F=J.add(F,U),U=J.add(L,L),L=J.add(U,L),L=J.add(L,B),L=J.mul(L,F),T=J.add(T,L),B=J.mul(P,_),B=J.add(B,B),L=J.mul(B,F),j=J.sub(j,L),U=J.mul(B,w),U=J.add(U,U),U=J.add(U,U),new D(j,T,U)}add(O){V(O);let{px:I,py:H,pz:N}=this,{px:P,py:_,pz:j}=O,T=J.ZERO,U=J.ZERO,L=J.ZERO,w=Q.a,B=J.mul(Q.b,nY),F=J.mul(I,P),f=J.mul(H,_),y=J.mul(N,j),r=J.add(I,H),p=J.add(P,_);r=J.mul(r,p),p=J.add(F,f),r=J.sub(r,p),p=J.add(I,N);let C=J.add(P,j);return p=J.mul(p,C),C=J.add(F,y),p=J.sub(p,C),C=J.add(H,N),T=J.add(_,j),C=J.mul(C,T),T=J.add(f,y),C=J.sub(C,T),L=J.mul(w,p),T=J.mul(B,y),L=J.add(T,L),T=J.sub(f,L),L=J.add(f,L),U=J.mul(T,L),f=J.add(F,F),f=J.add(f,F),y=J.mul(w,y),p=J.mul(B,p),f=J.add(f,y),y=J.sub(F,y),y=J.mul(w,y),p=J.add(p,y),F=J.mul(f,p),U=J.add(U,F),F=J.mul(C,p),T=J.mul(r,T),T=J.sub(T,F),F=J.mul(r,f),L=J.mul(C,L),L=J.add(L,F),new D(T,U,L)}subtract(O){return this.add(O.negate())}is0(){return this.equals(D.ZERO)}wNAF(O){return S.wNAFCached(this,M,O,(I)=>{let H=J.invertBatch(I.map((N)=>N.pz));return I.map((N,P)=>N.toAffine(H[P])).map(D.fromAffine)})}multiplyUnsafe(O){let I=D.ZERO;if(O===Q0)return I;if(G(O),O===B$)return this;let{endo:H}=Q;if(!H)return S.unsafeLadder(this,O);let{k1neg:N,k1:P,k2neg:_,k2:j}=H.splitScalar(O),T=I,U=I,L=this;while(P>Q0||j>Q0){if(P&B$)T=T.add(L);if(j&B$)U=U.add(L);L=L.double(),P>>=B$,j>>=B$}if(N)T=T.negate();if(_)U=U.negate();return U=new D(J.mul(U.px,H.beta),U.py,U.pz),T.add(U)}multiply(O){G(O);let I=O,H,N,{endo:P}=Q;if(P){let{k1neg:_,k1:j,k2neg:T,k2:U}=P.splitScalar(I),{p:L,f:w}=this.wNAF(j),{p:B,f:F}=this.wNAF(U);L=S.constTimeNegate(_,L),B=S.constTimeNegate(T,B),B=new D(J.mul(B.px,P.beta),B.py,B.pz),H=L.add(B),N=w.add(F)}else{let{p:_,f:j}=this.wNAF(I);H=_,N=j}return D.normalizeZ([H,N])[0]}multiplyAndAddUnsafe(O,I,H){let N=D.BASE,P=(j,T)=>T===Q0||T===B$||!j.equals(N)?j.multiplyUnsafe(T):j.multiply(T),_=P(this,I).add(P(O,H));return _.is0()?void 0:_}toAffine(O){let{px:I,py:H,pz:N}=this,P=this.is0();if(O==null)O=P?J.ONE:J.inv(N);let _=J.mul(I,O),j=J.mul(H,O),T=J.mul(N,O);if(P)return{x:J.ZERO,y:J.ZERO};if(!J.eql(T,J.ONE))throw Error("invZ was invalid");return{x:_,y:j}}isTorsionFree(){let{h:O,isTorsionFree:I}=Q;if(O===B$)return!0;if(I)return I(D,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:O,clearCofactor:I}=Q;if(O===B$)return this;if(I)return I(D,this);return this.multiplyUnsafe(Q.h)}toRawBytes(O=!0){return this.assertValidity(),Y(D,this,O)}toHex(O=!0){return S0(this.toRawBytes(O))}}D.BASE=new D(Q.Gx,Q.Gy,J.ONE),D.ZERO=new D(J.ZERO,J.ONE,J.ZERO);let K=Q.nBitLength,S=lY(D,Q.endo?Math.ceil(K/2):K);return{CURVE:Q,ProjectivePoint:D,normPrivateKeyToScalar:W,weierstrassEquation:Z,isWithinCurveOrder:q}}function H9($){let Q=nQ($);return T0(Q,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...Q})}function oY($){let Q=H9($),{Fp:J,n:Y}=Q,X=J.BYTES+1,Z=2*J.BYTES+1;function q(C){return Q0<C&&C<J.ORDER}function G(C){return T$(C,Y)}function W(C){return o8(C,Y)}let{ProjectivePoint:M,normPrivateKeyToScalar:V,weierstrassEquation:D,isWithinCurveOrder:K}=U9({...Q,toBytes(C,A,b){let g=A.toAffine(),c=J.toBytes(g.x),o=o0;if(b)return o(Uint8Array.from([A.hasEvenY()?2:3]),c);else return o(Uint8Array.from([4]),c,J.toBytes(g.y))},fromBytes(C){let A=C.length,b=C[0],g=C.subarray(1);if(A===X&&(b===2||b===3)){let c=$0(g);if(!q(c))throw Error("Point is not on curve");let o=D(c),X$=J.sqrt(o),O$=(X$&B$)===B$;if((b&1)===1!==O$)X$=J.neg(X$);return{x:c,y:X$}}else if(A===Z&&b===4){let c=J.fromBytes(g.subarray(0,J.BYTES)),o=J.fromBytes(g.subarray(J.BYTES,2*J.BYTES));return{x:c,y:o}}else throw Error(`Point of length ${A} was invalid. Expected ${X} compressed bytes or ${Z} uncompressed bytes`)}}),S=(C)=>S0(I0(C,Q.nByteLength));function O(C){let A=Y>>B$;return C>A}function I(C){return O(C)?G(-C):C}let H=(C,A,b)=>$0(C.slice(A,b));class N{constructor(C,A,b){this.r=C,this.s=A,this.recovery=b,this.assertValidity()}static fromCompact(C){let A=Q.nByteLength;return C=P$("compactSignature",C,A*2),new N(H(C,0,A),H(C,A,2*A))}static fromDER(C){let{r:A,s:b}=A0.toSig(P$("DER",C));return new N(A,b)}assertValidity(){if(!K(this.r))throw Error("r must be 0 < r < CURVE.n");if(!K(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(C){return new N(this.r,this.s,C)}recoverPublicKey(C){let{r:A,s:b,recovery:g}=this,c=L(P$("msgHash",C));if(g==null||![0,1,2,3].includes(g))throw Error("recovery id invalid");let o=g===2||g===3?A+Q.n:A;if(o>=J.ORDER)throw Error("recovery id 2 or 3 invalid");let X$=(g&1)===0?"02":"03",O$=M.fromHex(X$+S(o)),l$=W(o),N0=G(-c*l$),v0=G(b*l$),R0=M.BASE.multiplyAndAddUnsafe(O$,N0,v0);if(!R0)throw Error("point at infinify");return R0.assertValidity(),R0}hasHighS(){return O(this.s)}normalizeS(){return this.hasHighS()?new N(this.r,G(-this.s),this.recovery):this}toDERRawBytes(){return w0(this.toDERHex())}toDERHex(){return A0.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return w0(this.toCompactHex())}toCompactHex(){return S(this.r)+S(this.s)}}let P={isValidPrivateKey(C){try{return V(C),!0}catch(A){return!1}},normPrivateKeyToScalar:V,randomPrivateKey:()=>{let C=dQ(Q.n);return dY(Q.randomBytes(C),Q.n)},precompute(C=8,A=M.BASE){return A._setWindowSize(C),A.multiply(BigInt(3)),A}};function _(C,A=!0){return M.fromPrivateKey(C).toRawBytes(A)}function j(C){let A=C instanceof Uint8Array,b=typeof C==="string",g=(A||b)&&C.length;if(A)return g===X||g===Z;if(b)return g===2*X||g===2*Z;if(C instanceof M)return!0;return!1}function T(C,A,b=!0){if(j(C))throw Error("first arg must be private key");if(!j(A))throw Error("second arg must be public key");return M.fromHex(A).multiply(V(C)).toRawBytes(b)}let U=Q.bits2int||function(C){let A=$0(C),b=C.length*8-Q.nBitLength;return b>0?A>>BigInt(b):A},L=Q.bits2int_modN||function(C){return G(U(C))},w=W8(Q.nBitLength);function B(C){if(typeof C!=="bigint")throw Error("bigint expected");if(!(Q0<=C&&C<w))throw Error(`bigint expected < 2^${Q.nBitLength}`);return I0(C,Q.nByteLength)}function F(C,A,b=f){if(["recovered","canonical"].some((L0)=>(L0 in b)))throw Error("sign() legacy options not supported");let{hash:g,randomBytes:c}=Q,{lowS:o,prehash:X$,extraEntropy:O$}=b;if(o==null)o=!0;if(C=P$("msgHash",C),X$)C=P$("prehashed msgHash",g(C));let l$=L(C),N0=V(A),v0=[B(N0),B(l$)];if(O$!=null){let L0=O$===!0?c(J.BYTES):O$;v0.push(P$("extraEntropy",L0))}let R0=o0(...v0),C8=l$;function EQ(L0){let y0=U(L0);if(!K(y0))return;let EJ=W(y0),g$=M.BASE.multiply(y0).toAffine(),g0=G(g$.x);if(g0===Q0)return;let E8=G(EJ*G(C8+g0*N0));if(E8===Q0)return;let jJ=(g$.x===g0?0:2)|Number(g$.y&B$),PJ=E8;if(o&&O(E8))PJ=I(E8),jJ^=1;return new N(g0,PJ,jJ)}return{seed:R0,k2sig:EQ}}let f={lowS:Q.lowS,prehash:!1},y={lowS:Q.lowS,prehash:!1};function r(C,A,b=f){let{seed:g,k2sig:c}=F(C,A,b),o=Q;return hQ(o.hash.outputLen,o.nByteLength,o.hmac)(g,c)}M.BASE._setWindowSize(8);function p(C,A,b,g=y){let c=C;if(A=P$("msgHash",A),b=P$("publicKey",b),"strict"in g)throw Error("options.strict was renamed to lowS");let{lowS:o,prehash:X$}=g,O$=void 0,l$;try{if(typeof c==="string"||c instanceof Uint8Array)try{O$=N.fromDER(c)}catch(g$){if(!(g$ instanceof A0.Err))throw g$;O$=N.fromCompact(c)}else if(typeof c==="object"&&typeof c.r==="bigint"&&typeof c.s==="bigint"){let{r:g$,s:g0}=c;O$=new N(g$,g0)}else throw Error("PARSE");l$=M.fromHex(b)}catch(g$){if(g$.message==="PARSE")throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(o&&O$.hasHighS())return!1;if(X$)A=Q.hash(A);let{r:N0,s:v0}=O$,R0=L(A),C8=W(v0),EQ=G(R0*C8),L0=G(N0*C8),y0=M.BASE.multiplyAndAddUnsafe(l$,EQ,L0)?.toAffine();if(!y0)return!1;return G(y0.x)===N0}return{CURVE:Q,getPublicKey:_,getSharedSecret:T,sign:r,verify:p,ProjectivePoint:M,Signature:N,utils:P}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function N9($){return{hash:$,hmac:(Q,...J)=>j0($,Q,gJ(...J)),randomBytes:hJ}}function iY($,Q){let J=(Y)=>oY({...$,...N9(Y)});return Object.freeze({...J(Q),create:J})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var sY=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),rY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),R9=BigInt(1),oQ=BigInt(2),aY=($,Q)=>($+Q/oQ)/Q;function L9($){let Q=sY,J=BigInt(3),Y=BigInt(6),X=BigInt(11),Z=BigInt(22),q=BigInt(23),G=BigInt(44),W=BigInt(88),M=$*$*$%Q,V=M*M*$%Q,D=S$(V,J,Q)*V%Q,K=S$(D,J,Q)*V%Q,S=S$(K,oQ,Q)*M%Q,O=S$(S,X,Q)*S%Q,I=S$(O,Z,Q)*O%Q,H=S$(I,G,Q)*I%Q,N=S$(H,W,Q)*H%Q,P=S$(N,G,Q)*I%Q,_=S$(P,J,Q)*V%Q,j=S$(_,q,Q)*O%Q,T=S$(j,Y,Q)*M%Q,U=S$(T,oQ,Q);if(!iQ.eql(iQ.sqr(U),$))throw Error("Cannot find square root");return U}var iQ=uY(sY,void 0,void 0,{sqrt:L9}),J0=iY({a:BigInt(0),b:BigInt(7),Fp:iQ,n:rY,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:($)=>{let Q=rY,J=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),Y=-R9*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),X=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),Z=J,q=BigInt("0x100000000000000000000000000000000"),G=aY(Z*$,Q),W=aY(-Y*$,Q),M=T$($-G*J-W*X,Q),V=T$(-G*Y-W*Z,Q),D=M>q,K=V>q;if(D)M=Q-M;if(K)V=Q-V;if(M>q||V>q)throw Error("splitScalar: Endomorphism failed, k="+$);return{k1neg:D,k1:M,k2neg:K,k2:V}}}},r$),h5=BigInt(0);var m5=J0.ProjectivePoint;var rQ="0x0000000000000000000000000000000000000000";var i8="0x0000000000000000000000000000000000000000000000000000000000000000";var aQ=`\x19Ethereum Signed Message:
2
2
  `;var tY=BigInt(0),eY=BigInt(1),$X=BigInt(2),QX=BigInt(27),JX=BigInt(28),r8=BigInt(35),i0={};function YX($){return E$(s($),32)}class e{#$;#Q;#J;#Y;get r(){return this.#$}set r($){z(o$($)===32,"invalid r","value",$),this.#$=R($)}get s(){return z(parseInt(this.#Q.substring(0,3))<8,"non-canonical s; use ._s","s",this.#Q),this.#Q}set s($){z(o$($)===32,"invalid s","value",$),this.#Q=R($)}get _s(){return this.#Q}isValid(){return parseInt(this.#Q.substring(0,3))<8}get v(){return this.#J}set v($){let Q=G$($,"value");z(Q===27||Q===28,"invalid v","v",$),this.#J=Q}get networkV(){return this.#Y}get legacyChainId(){let $=this.networkV;if($==null)return null;return e.getChainId($)}get yParity(){return this.v===27?0:1}get yParityAndS(){let $=E(this.s);if(this.yParity)$[0]|=128;return R($)}get compactSerialized(){return n([this.r,this.yParityAndS])}get serialized(){return n([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor($,Q,J,Y){n$($,i0,"Signature"),this.#$=Q,this.#Q=J,this.#J=Y,this.#Y=null}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this._s}"${this.isValid()?"":', valid: "false"'}, yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let $=new e(i0,this.r,this._s,this.v);if(this.networkV)$.#Y=this.networkV;return $}toJSON(){let $=this.networkV;return{_type:"signature",networkV:$!=null?$.toString():null,r:this.r,s:this._s,v:this.v}}static getChainId($){let Q=h($,"v");if(Q==QX||Q==JX)return tY;return z(Q>=r8,"invalid EIP-155 v","v",$),(Q-r8)/$X}static getChainIdV($,Q){return h($)*$X+BigInt(35+Q-27)}static getNormalizedV($){let Q=h($);if(Q===tY||Q===QX)return 27;if(Q===eY||Q===JX)return 28;return z(Q>=r8,"invalid v","v",$),Q&eY?27:28}static from($){function Q(W,M){z(W,M,"signature",$)}if($==null)return new e(i0,i8,i8,27);if(typeof $==="string"){let W=E($,"signature");if(W.length===64){let M=R(W.slice(0,32)),V=W.slice(32,64),D=V[0]&128?28:27;return V[0]&=127,new e(i0,M,R(V),D)}if(W.length===65){let M=R(W.slice(0,32)),V=R(W.slice(32,64)),D=e.getNormalizedV(W[64]);return new e(i0,M,V,D)}Q(!1,"invalid raw signature length")}if($ instanceof e)return $.clone();let J=$.r;Q(J!=null,"missing r");let Y=YX(J),X=function(W,M){if(W!=null)return YX(W);if(M!=null){Q(K$(M,32),"invalid yParityAndS");let V=E(M);return V[0]&=127,R(V)}Q(!1,"missing s")}($.s,$.yParityAndS),{networkV:Z,v:q}=function(W,M,V){if(W!=null){let D=h(W);return{networkV:D>=r8?D:void 0,v:e.getNormalizedV(D)}}if(M!=null)return Q(K$(M,32),"invalid yParityAndS"),{v:E(M)[0]&128?28:27};if(V!=null){switch(G$(V,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}Q(!1,"invalid yParity")}Q(!1,"missing v")}($.v,$.yParityAndS,$.yParity),G=new e(i0,Y,X,q);if(Z)G.#Y=Z;return Q($.yParity==null||G$($.yParity,"sig.yParity")===G.yParity,"yParity mismatch"),Q($.yParityAndS==null||$.yParityAndS===G.yParityAndS,"yParityAndS mismatch"),G}}class Y${#$;constructor($){z(o$($)===32,"invalid private key","privateKey","[REDACTED]"),this.#$=R($)}get privateKey(){return this.#$}get publicKey(){return Y$.computePublicKey(this.#$)}get compressedPublicKey(){return Y$.computePublicKey(this.#$,!0)}sign($){z(o$($)===32,"invalid digest length","digest",$);let Q=J0.sign(b$($),b$(this.#$),{lowS:!0});return e.from({r:x$(Q.r,32),s:x$(Q.s,32),v:Q.recovery?28:27})}computeSharedSecret($){let Q=Y$.computePublicKey($);return R(J0.getSharedSecret(b$(this.#$),E(Q),!1))}static computePublicKey($,Q){let J=E($,"key");if(J.length===32){let X=J0.getPublicKey(J,!!Q);return R(X)}if(J.length===64){let X=new Uint8Array(65);X[0]=4,X.set(J,1),J=X}let Y=J0.ProjectivePoint.fromHex(J);return R(Y.toRawBytes(Q))}static recoverPublicKey($,Q){z(o$($)===32,"invalid digest length","digest",$);let J=e.from(Q),Y=J0.Signature.fromCompact(b$(n([J.r,J.s])));Y=Y.addRecoveryBit(J.yParity);let X=Y.recoverPublicKey(b$($));return z(X!=null,"invalid signature for digest","signature",Q),"0x"+X.toHex(!1)}static addPoints($,Q,J){let Y=J0.ProjectivePoint.fromHex(Y$.computePublicKey($).substring(2)),X=J0.ProjectivePoint.fromHex(Y$.computePublicKey(Q).substring(2));return"0x"+Y.add(X).toHex(!!J)}}var C9=BigInt(0),E9=BigInt(36);function XX($){$=$.toLowerCase();let Q=$.substring(2).split(""),J=new Uint8Array(40);for(let X=0;X<40;X++)J[X]=Q[X].charCodeAt(0);let Y=E(l(J));for(let X=0;X<40;X+=2){if(Y[X>>1]>>4>=8)Q[X]=Q[X].toUpperCase();if((Y[X>>1]&15)>=8)Q[X+1]=Q[X+1].toUpperCase()}return"0x"+Q.join("")}var sQ={};for(let $=0;$<10;$++)sQ[String($)]=String($);for(let $=0;$<26;$++)sQ[String.fromCharCode(65+$)]=String(10+$);var ZX=15;function j9($){$=$.toUpperCase(),$=$.substring(4)+$.substring(0,2)+"00";let Q=$.split("").map((Y)=>{return sQ[Y]}).join("");while(Q.length>=ZX){let Y=Q.substring(0,ZX);Q=parseInt(Y,10)%97+Q.substring(Y.length)}let J=String(98-parseInt(Q,10)%97);while(J.length<2)J="0"+J;return J}var P9=function(){let $={};for(let Q=0;Q<36;Q++){let J="0123456789abcdefghijklmnopqrstuvwxyz"[Q];$[J]=BigInt(Q)}return $}();function S9($){$=$.toLowerCase();let Q=C9;for(let J=0;J<$.length;J++)Q=Q*E9+P9[$[J]];return Q}function v($){if(z(typeof $==="string","invalid address","address",$),$.match(/^(0x)?[0-9a-fA-F]{40}$/)){if(!$.startsWith("0x"))$="0x"+$;let Q=XX($);return z(!$.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||Q===$,"bad address checksum","address",$),Q}if($.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){z($.substring(2,4)===j9($),"bad icap checksum","address",$);let Q=S9($.substring(4)).toString(16);while(Q.length<40)Q="0"+Q;return XX("0x"+Q)}z(!1,"invalid address","address",$)}function eQ($){return $&&typeof $.getAddress==="function"}async function tQ($,Q){let J=await Q;if(J==null||J==="0x0000000000000000000000000000000000000000")k(typeof $!=="string","unconfigured name","UNCONFIGURED_NAME",{value:$}),z(!1,"invalid AddressLike value; did not resolve to a value address","target",$);return v(J)}function Y0($,Q){if(typeof $==="string"){if($.match(/^0x[0-9a-f]{40}$/i))return v($);return k(Q!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),tQ($,Q.resolveName($))}else if(eQ($))return tQ($,$.getAddress());else if($&&typeof $.then==="function")return tQ($,$);z(!1,"unsupported addressable value","target",$)}function $J($,Q){return{address:v($),storageKeys:Q.map((J,Y)=>{return z(K$(J,32),"invalid slot",`storageKeys[${Y}]`,J),J.toLowerCase()})}}function F0($){if(Array.isArray($))return $.map((J,Y)=>{if(Array.isArray(J))return z(J.length===2,"invalid slot set",`value[${Y}]`,J),$J(J[0],J[1]);return z(J!=null&&typeof J==="object","invalid address-slot set","value",$),$J(J.address,J.storageKeys)});z($!=null&&typeof $==="object","invalid access list","value",$);let Q=Object.keys($).map((J)=>{let Y=$[J].reduce((X,Z)=>{return X[Z]=!0,X},{});return $J(J,Object.keys(Y).sort())});return Q.sort((J,Y)=>J.address.localeCompare(Y.address)),Q}function qX($){return{address:v($.address),nonce:h($.nonce!=null?$.nonce:0),chainId:h($.chainId!=null?$.chainId:0),signature:e.from($.signature)}}function X0($){let Q;if(typeof $==="string")Q=Y$.computePublicKey($,!1);else Q=$.publicKey;return v(l("0x"+Q.substring(4)).substring(26))}function M8($,Q){return X0(Y$.recoverPublicKey($,Q))}var W$=BigInt(0),A9=BigInt(2),F9=BigInt(27),k9=BigInt(28),_9=BigInt(35),f9=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),QJ=131072;function b9($){return{blobToKzgCommitment:(Y)=>{if("computeBlobProof"in $){if("blobToKzgCommitment"in $&&typeof $.blobToKzgCommitment==="function")return E($.blobToKzgCommitment(R(Y)))}else if("blobToKzgCommitment"in $&&typeof $.blobToKzgCommitment==="function")return E($.blobToKzgCommitment(Y));if("blobToKZGCommitment"in $&&typeof $.blobToKZGCommitment==="function")return E($.blobToKZGCommitment(R(Y)));z(!1,"unsupported KZG library","kzg",$)},computeBlobKzgProof:(Y,X)=>{if("computeBlobProof"in $&&typeof $.computeBlobProof==="function")return E($.computeBlobProof(R(Y),R(X)));if("computeBlobKzgProof"in $&&typeof $.computeBlobKzgProof==="function")return $.computeBlobKzgProof(Y,X);if("computeBlobKZGProof"in $&&typeof $.computeBlobKZGProof==="function")return E($.computeBlobKZGProof(R(Y),R(X)));z(!1,"unsupported KZG library","kzg",$)}}}function GX($,Q){let J=$.toString(16);while(J.length<2)J="0"+J;return J+=z$(Q).substring(4),"0x"+J}function r0($){if($==="0x")return null;return v($)}function a8($,Q){try{return F0($)}catch(J){z(!1,J.message,Q,$)}}function x9($,Q){try{if(!Array.isArray($))throw Error("authorizationList: invalid array");let J=[];for(let Y=0;Y<$.length;Y++){let X=$[Y];if(!Array.isArray(X))throw Error(`authorization[${Y}]: invalid array`);if(X.length!==6)throw Error(`authorization[${Y}]: wrong length`);if(!X[1])throw Error(`authorization[${Y}]: null address`);J.push({address:r0(X[1]),nonce:i(X[2],"nonce"),chainId:i(X[0],"chainId"),signature:e.from({yParity:k0(X[3],"yParity"),r:E$(X[4],32),s:E$(X[5],32)})})}return J}catch(J){z(!1,J.message,Q,$)}}function k0($,Q){if($==="0x")return 0;return G$($,Q)}function i($,Q){if($==="0x")return W$;let J=h($,Q);return z(J<=f9,"value exceeds uint size",Q,J),J}function m($,Q){let J=h($,"value"),Y=s(J);return z(Y.length<=32,"value too large",`tx.${Q}`,J),Y}function s8($){return F0($).map((Q)=>[Q.address,Q.storageKeys])}function v9($){return $.map((Q)=>{return[m(Q.chainId,"chainId"),Q.address,m(Q.nonce,"nonce"),m(Q.signature.yParity,"yParity"),s(Q.signature.r),s(Q.signature.s)]})}function y9($,Q){z(Array.isArray($),`invalid ${Q}`,"value",$);for(let J=0;J<$.length;J++)z(K$($[J],32),"invalid ${ param } hash",`value[${J}]`,$[J]);return $}function g9($){let Q=M0($);z(Array.isArray(Q)&&(Q.length===9||Q.length===6),"invalid field count for legacy transaction","data",$);let J={type:0,nonce:k0(Q[0],"nonce"),gasPrice:i(Q[1],"gasPrice"),gasLimit:i(Q[2],"gasLimit"),to:r0(Q[3]),value:i(Q[4],"value"),data:R(Q[5]),chainId:W$};if(Q.length===6)return J;let Y=i(Q[6],"v"),X=i(Q[7],"r"),Z=i(Q[8],"s");if(X===W$&&Z===W$)J.chainId=Y;else{let q=(Y-_9)/A9;if(q<W$)q=W$;J.chainId=q,z(q!==W$||(Y===F9||Y===k9),"non-canonical legacy v","v",Q[6]),J.signature=e.from({r:E$(Q[7],32),s:E$(Q[8],32),v:Y})}return J}function h9($,Q){let J=[m($.nonce,"nonce"),m($.gasPrice||0,"gasPrice"),m($.gasLimit,"gasLimit"),$.to||"0x",m($.value,"value"),$.data],Y=W$;if($.chainId!=W$)Y=h($.chainId,"tx.chainId"),z(!Q||Q.networkV==null||Q.legacyChainId===Y,"tx.chainId/sig.v mismatch","sig",Q);else if($.signature){let Z=$.signature.legacyChainId;if(Z!=null)Y=Z}if(!Q){if(Y!==W$)J.push(s(Y)),J.push("0x"),J.push("0x");return w$(J)}let X=BigInt(27+Q.yParity);if(Y!==W$)X=e.getChainIdV(Y,Q.v);else if(BigInt(Q.v)!==X)z(!1,"tx.chainId/sig.v mismatch","sig",Q);return J.push(s(X)),J.push(s(Q.r)),J.push(s(Q.s)),w$(J)}function t8($,Q){let J;try{if(J=k0(Q[0],"yParity"),J!==0&&J!==1)throw Error("bad yParity")}catch(q){z(!1,"invalid yParity","yParity",Q[0])}let Y=E$(Q[1],32),X=E$(Q[2],32),Z=e.from({r:Y,s:X,yParity:J});$.signature=Z}function m9($){let Q=M0(E($).slice(1));z(Array.isArray(Q)&&(Q.length===9||Q.length===12),"invalid field count for transaction type: 2","data",R($));let J={type:2,chainId:i(Q[0],"chainId"),nonce:k0(Q[1],"nonce"),maxPriorityFeePerGas:i(Q[2],"maxPriorityFeePerGas"),maxFeePerGas:i(Q[3],"maxFeePerGas"),gasPrice:null,gasLimit:i(Q[4],"gasLimit"),to:r0(Q[5]),value:i(Q[6],"value"),data:R(Q[7]),accessList:a8(Q[8],"accessList")};if(Q.length===9)return J;return t8(J,Q.slice(9)),J}function c9($,Q){let J=[m($.chainId,"chainId"),m($.nonce,"nonce"),m($.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),m($.maxFeePerGas||0,"maxFeePerGas"),m($.gasLimit,"gasLimit"),$.to||"0x",m($.value,"value"),$.data,s8($.accessList||[])];if(Q)J.push(m(Q.yParity,"yParity")),J.push(s(Q.r)),J.push(s(Q.s));return n(["0x02",w$(J)])}function u9($){let Q=M0(E($).slice(1));z(Array.isArray(Q)&&(Q.length===8||Q.length===11),"invalid field count for transaction type: 1","data",R($));let J={type:1,chainId:i(Q[0],"chainId"),nonce:k0(Q[1],"nonce"),gasPrice:i(Q[2],"gasPrice"),gasLimit:i(Q[3],"gasLimit"),to:r0(Q[4]),value:i(Q[5],"value"),data:R(Q[6]),accessList:a8(Q[7],"accessList")};if(Q.length===8)return J;return t8(J,Q.slice(8)),J}function p9($,Q){let J=[m($.chainId,"chainId"),m($.nonce,"nonce"),m($.gasPrice||0,"gasPrice"),m($.gasLimit,"gasLimit"),$.to||"0x",m($.value,"value"),$.data,s8($.accessList||[])];if(Q)J.push(m(Q.yParity,"recoveryParam")),J.push(s(Q.r)),J.push(s(Q.s));return n(["0x01",w$(J)])}function d9($){let Q=M0(E($).slice(1)),J="3",Y=null;if(Q.length===4&&Array.isArray(Q[0])){J="3 (network format)";let Z=Q[1],q=Q[2],G=Q[3];z(Array.isArray(Z),"invalid network format: blobs not an array","fields[1]",Z),z(Array.isArray(q),"invalid network format: commitments not an array","fields[2]",q),z(Array.isArray(G),"invalid network format: proofs not an array","fields[3]",G),z(Z.length===q.length,"invalid network format: blobs/commitments length mismatch","fields",Q),z(Z.length===G.length,"invalid network format: blobs/proofs length mismatch","fields",Q),Y=[];for(let W=0;W<Q[1].length;W++)Y.push({data:Z[W],commitment:q[W],proof:G[W]});Q=Q[0]}z(Array.isArray(Q)&&(Q.length===11||Q.length===14),`invalid field count for transaction type: ${J}`,"data",R($));let X={type:3,chainId:i(Q[0],"chainId"),nonce:k0(Q[1],"nonce"),maxPriorityFeePerGas:i(Q[2],"maxPriorityFeePerGas"),maxFeePerGas:i(Q[3],"maxFeePerGas"),gasPrice:null,gasLimit:i(Q[4],"gasLimit"),to:r0(Q[5]),value:i(Q[6],"value"),data:R(Q[7]),accessList:a8(Q[8],"accessList"),maxFeePerBlobGas:i(Q[9],"maxFeePerBlobGas"),blobVersionedHashes:Q[10]};if(Y)X.blobs=Y;z(X.to!=null,`invalid address for transaction type: ${J}`,"data",$),z(Array.isArray(X.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",$);for(let Z=0;Z<X.blobVersionedHashes.length;Z++)z(K$(X.blobVersionedHashes[Z],32),`invalid blobVersionedHash at index ${Z}: must be length 32`,"data",$);if(Q.length===11)return X;return t8(X,Q.slice(11)),X}function l9($,Q,J){let Y=[m($.chainId,"chainId"),m($.nonce,"nonce"),m($.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),m($.maxFeePerGas||0,"maxFeePerGas"),m($.gasLimit,"gasLimit"),$.to||rQ,m($.value,"value"),$.data,s8($.accessList||[]),m($.maxFeePerBlobGas||0,"maxFeePerBlobGas"),y9($.blobVersionedHashes||[],"blobVersionedHashes")];if(Q){if(Y.push(m(Q.yParity,"yParity")),Y.push(s(Q.r)),Y.push(s(Q.s)),J)return n(["0x03",w$([Y,J.map((X)=>X.data),J.map((X)=>X.commitment),J.map((X)=>X.proof)])])}return n(["0x03",w$(Y)])}function n9($){let Q=M0(E($).slice(1));z(Array.isArray(Q)&&(Q.length===10||Q.length===13),"invalid field count for transaction type: 4","data",R($));let J={type:4,chainId:i(Q[0],"chainId"),nonce:k0(Q[1],"nonce"),maxPriorityFeePerGas:i(Q[2],"maxPriorityFeePerGas"),maxFeePerGas:i(Q[3],"maxFeePerGas"),gasPrice:null,gasLimit:i(Q[4],"gasLimit"),to:r0(Q[5]),value:i(Q[6],"value"),data:R(Q[7]),accessList:a8(Q[8],"accessList"),authorizationList:x9(Q[9],"authorizationList")};if(Q.length===10)return J;return t8(J,Q.slice(10)),J}function o9($,Q){let J=[m($.chainId,"chainId"),m($.nonce,"nonce"),m($.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),m($.maxFeePerGas||0,"maxFeePerGas"),m($.gasLimit,"gasLimit"),$.to||"0x",m($.value,"value"),$.data,s8($.accessList||[]),v9($.authorizationList||[])];if(Q)J.push(m(Q.yParity,"yParity")),J.push(s(Q.r)),J.push(s(Q.s));return n(["0x04",w$(J)])}class N${#$;#Q;#J;#Y;#W;#M;#V;#z;#D;#O;#K;#I;#G;#Z;#X;#q;#T;get type(){return this.#$}set type($){switch($){case null:this.#$=null;break;case 0:case"legacy":this.#$=0;break;case 1:case"berlin":case"eip-2930":this.#$=1;break;case 2:case"london":case"eip-1559":this.#$=2;break;case 3:case"cancun":case"eip-4844":this.#$=3;break;case 4:case"pectra":case"eip-7702":this.#$=4;break;default:z(!1,"unsupported transaction type","type",$)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let $=this.#Q;if($==null&&this.type===3)return rQ;return $}set to($){this.#Q=$==null?null:v($)}get nonce(){return this.#Y}set nonce($){this.#Y=G$($,"value")}get gasLimit(){return this.#W}set gasLimit($){this.#W=h($)}get gasPrice(){let $=this.#M;if($==null&&(this.type===0||this.type===1))return W$;return $}set gasPrice($){this.#M=$==null?null:h($,"gasPrice")}get maxPriorityFeePerGas(){let $=this.#V;if($==null){if(this.type===2||this.type===3)return W$;return null}return $}set maxPriorityFeePerGas($){this.#V=$==null?null:h($,"maxPriorityFeePerGas")}get maxFeePerGas(){let $=this.#z;if($==null){if(this.type===2||this.type===3)return W$;return null}return $}set maxFeePerGas($){this.#z=$==null?null:h($,"maxFeePerGas")}get data(){return this.#J}set data($){this.#J=R($)}get value(){return this.#D}set value($){this.#D=h($,"value")}get chainId(){return this.#O}set chainId($){this.#O=h($)}get signature(){return this.#K||null}set signature($){this.#K=$==null?null:e.from($)}get accessList(){let $=this.#I||null;if($==null){if(this.type===1||this.type===2||this.type===3)return[];return null}return $}set accessList($){this.#I=$==null?null:F0($)}get authorizationList(){let $=this.#T||null;if($==null){if(this.type===4)return[]}return $}set authorizationList($){this.#T=$==null?null:$.map((Q)=>qX(Q))}get maxFeePerBlobGas(){let $=this.#G;if($==null&&this.type===3)return W$;return $}set maxFeePerBlobGas($){this.#G=$==null?null:h($,"maxFeePerBlobGas")}get blobVersionedHashes(){let $=this.#Z;if($==null&&this.type===3)return[];return $}set blobVersionedHashes($){if($!=null){z(Array.isArray($),"blobVersionedHashes must be an Array","value",$),$=$.slice();for(let Q=0;Q<$.length;Q++)z(K$($[Q],32),"invalid blobVersionedHash",`value[${Q}]`,$[Q])}this.#Z=$}get blobs(){if(this.#q==null)return null;return this.#q.map(($)=>Object.assign({},$))}set blobs($){if($==null){this.#q=null;return}let Q=[],J=[];for(let Y=0;Y<$.length;Y++){let X=$[Y];if(m$(X)){k(this.#X,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let Z=E(X);if(z(Z.length<=QJ,"blob is too large",`blobs[${Y}]`,X),Z.length!==QJ){let W=new Uint8Array(QJ);W.set(Z),Z=W}let q=this.#X.blobToKzgCommitment(Z),G=R(this.#X.computeBlobKzgProof(Z,q));Q.push({data:R(Z),commitment:R(q),proof:G}),J.push(GX(1,q))}else{let Z=R(X.commitment);Q.push({data:R(X.data),commitment:Z,proof:R(X.proof)}),J.push(GX(1,Z))}}this.#q=Q,this.#Z=J}get kzg(){return this.#X}set kzg($){if($==null)this.#X=null;else this.#X=b9($)}constructor(){this.#$=null,this.#Q=null,this.#Y=0,this.#W=W$,this.#M=null,this.#V=null,this.#z=null,this.#J="0x",this.#D=W$,this.#O=W$,this.#K=null,this.#I=null,this.#G=null,this.#Z=null,this.#X=null,this.#q=null,this.#T=null}get hash(){if(this.signature==null)return null;return l(this.#U(!0,!1))}get unsignedHash(){return l(this.unsignedSerialized)}get from(){if(this.signature==null)return null;return M8(this.unsignedHash,this.signature)}get fromPublicKey(){if(this.signature==null)return null;return Y$.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}#U($,Q){k(!$||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let J=$?this.signature:null;switch(this.inferType()){case 0:return h9(this,J);case 1:return p9(this,J);case 2:return c9(this,J);case 3:return l9(this,J,Q?this.blobs:null);case 4:return o9(this,J)}k(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#U(!0,!0)}get unsignedSerialized(){return this.#U(!1,!1)}inferType(){let $=this.inferTypes();if($.indexOf(2)>=0)return 2;return $.pop()}inferTypes(){let $=this.gasPrice!=null,Q=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,J=this.accessList!=null,Y=this.#G!=null||this.#Z;if(this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null)k(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this});k(!Q||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),k(this.type!==0||!J,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let X=[];if(this.type!=null)X.push(this.type);else if(this.authorizationList&&this.authorizationList.length)X.push(4);else if(Q)X.push(2);else if($){if(X.push(1),!J)X.push(0)}else if(J)X.push(1),X.push(2);else if(Y&&this.to)X.push(3);else X.push(0),X.push(1),X.push(2),X.push(3);return X.sort(),X}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return N$.from(this)}toJSON(){let $=(Q)=>{if(Q==null)return null;return Q.toString()};return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:$(this.gasLimit),gasPrice:$(this.gasPrice),maxPriorityFeePerGas:$(this.maxPriorityFeePerGas),maxFeePerGas:$(this.maxFeePerGas),value:$(this.value),chainId:$(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from($){if($==null)return new N$;if(typeof $==="string"){let J=E($);if(J[0]>=127)return N$.from(g9(J));switch(J[0]){case 1:return N$.from(u9(J));case 2:return N$.from(m9(J));case 3:return N$.from(d9(J));case 4:return N$.from(n9(J))}k(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let Q=new N$;if($.type!=null)Q.type=$.type;if($.to!=null)Q.to=$.to;if($.nonce!=null)Q.nonce=$.nonce;if($.gasLimit!=null)Q.gasLimit=$.gasLimit;if($.gasPrice!=null)Q.gasPrice=$.gasPrice;if($.maxPriorityFeePerGas!=null)Q.maxPriorityFeePerGas=$.maxPriorityFeePerGas;if($.maxFeePerGas!=null)Q.maxFeePerGas=$.maxFeePerGas;if($.maxFeePerBlobGas!=null)Q.maxFeePerBlobGas=$.maxFeePerBlobGas;if($.data!=null)Q.data=$.data;if($.value!=null)Q.value=$.value;if($.chainId!=null)Q.chainId=$.chainId;if($.signature!=null)Q.signature=e.from($.signature);if($.accessList!=null)Q.accessList=$.accessList;if($.authorizationList!=null)Q.authorizationList=$.authorizationList;if($.blobVersionedHashes!=null)Q.blobVersionedHashes=$.blobVersionedHashes;if($.kzg!=null)Q.kzg=$.kzg;if($.blobs!=null)Q.blobs=$.blobs;if($.hash!=null)z(Q.isSigned(),"unsigned transaction cannot define '.hash'","tx",$),z(Q.hash===$.hash,"hash mismatch","tx",$);if($.from!=null)z(Q.isSigned(),"unsigned transaction cannot define '.from'","tx",$),z(Q.from.toLowerCase()===($.from||"").toLowerCase(),"from mismatch","tx",$);return Q}}function e8($){return z(typeof $.address==="string","invalid address for hashAuthorization","auth.address",$),l(n(["0x05",w$([$.chainId!=null?s($.chainId):"0x",v($.address),$.nonce!=null?s($.nonce):"0x"])]))}function Z0($){return l(V$($))}function V8($){if(typeof $==="string")$=V$($);return l(n([V$(aQ),V$(String($.length)),$]))}function $Q($,Q){let J=V8($);return M8(J,Q)}var zX=new Uint8Array(32);zX.fill(0);var i9=BigInt(-1),DX=BigInt(0),OX=BigInt(1),r9=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function a9($){let Q=E($),J=Q.length%32;if(J)return n([Q,zX.slice(J)]);return R(Q)}var s9=x$(OX,32),t9=x$(DX,32),WX={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},JJ=["name","version","chainId","verifyingContract","salt"];function MX($){return function(Q){return z(typeof Q==="string",`invalid domain value for ${JSON.stringify($)}`,`domain.${$}`,Q),Q}}var e9={name:MX("name"),version:MX("version"),chainId:function($){let Q=h($,"domain.chainId");if(z(Q>=0,"invalid chain ID","domain.chainId",$),Number.isSafeInteger(Q))return Number(Q);return B8(Q)},verifyingContract:function($){try{return v($).toLowerCase()}catch(Q){}z(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",$)},salt:function($){let Q=E($,"domain.salt");return z(Q.length===32,'invalid domain value "salt"',"domain.salt",$),R(Q)}};function YJ($){{let Q=$.match(/^(u?)int(\d+)$/);if(Q){let J=Q[1]==="",Y=parseInt(Q[2]);z(Y%8===0&&Y!==0&&Y<=256&&Q[2]===String(Y),"invalid numeric width","type",$);let X=w8(r9,J?Y-1:Y),Z=J?(X+OX)*i9:DX;return function(q){let G=h(q,"value");return z(G>=Z&&G<=X,`value out-of-bounds for ${$}`,"value",G),x$(J?S8(G,256):G,32)}}}{let Q=$.match(/^bytes(\d+)$/);if(Q){let J=parseInt(Q[1]);return z(J!==0&&J<=32&&Q[1]===String(J),"invalid bytes width","type",$),function(Y){let X=E(Y);return z(X.length===J,`invalid length for ${$}`,"value",Y),a9(Y)}}}switch($){case"address":return function(Q){return E$(v(Q),32)};case"bool":return function(Q){return!Q?t9:s9};case"bytes":return function(Q){return l(Q)};case"string":return function(Q){return Z0(Q)}}return null}function VX($,Q){return`${$}(${Q.map(({name:J,type:Y})=>Y+" "+J).join(",")})`}function QQ($){let Q=$.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);if(Q)return{base:Q[1],index:Q[2]+Q[4],array:{base:Q[1],prefix:Q[1]+Q[2],count:Q[5]?parseInt(Q[5]):-1}};return{base:$}}class U${primaryType;#$;get types(){return JSON.parse(this.#$)}#Q;#J;constructor($){this.#Q=new Map,this.#J=new Map;let Q=new Map,J=new Map,Y=new Map,X={};Object.keys($).forEach((G)=>{X[G]=$[G].map(({name:W,type:M})=>{let{base:V,index:D}=QQ(M);if(V==="int"&&!$.int)V="int256";if(V==="uint"&&!$.uint)V="uint256";return{name:W,type:V+(D||"")}}),Q.set(G,new Set),J.set(G,[]),Y.set(G,new Set)}),this.#$=JSON.stringify(X);for(let G in X){let W=new Set;for(let M of X[G]){z(!W.has(M.name),`duplicate variable name ${JSON.stringify(M.name)} in ${JSON.stringify(G)}`,"types",$),W.add(M.name);let V=QQ(M.type).base;if(z(V!==G,`circular type reference to ${JSON.stringify(V)}`,"types",$),YJ(V))continue;z(J.has(V),`unknown type ${JSON.stringify(V)}`,"types",$),J.get(V).push(G),Q.get(G).add(V)}}let Z=Array.from(J.keys()).filter((G)=>J.get(G).length===0);z(Z.length!==0,"missing primary type","types",$),z(Z.length===1,`ambiguous primary types or unused types: ${Z.map((G)=>JSON.stringify(G)).join(", ")}`,"types",$),a(this,{primaryType:Z[0]});function q(G,W){z(!W.has(G),`circular type reference to ${JSON.stringify(G)}`,"types",$),W.add(G);for(let M of Q.get(G)){if(!J.has(M))continue;q(M,W);for(let V of W)Y.get(V).add(M)}W.delete(G)}q(this.primaryType,new Set);for(let[G,W]of Y){let M=Array.from(W);M.sort(),this.#Q.set(G,VX(G,X[G])+M.map((V)=>VX(V,X[V])).join(""))}}getEncoder($){let Q=this.#J.get($);if(!Q)Q=this.#Y($),this.#J.set($,Q);return Q}#Y($){{let Y=YJ($);if(Y)return Y}let Q=QQ($).array;if(Q){let Y=Q.prefix,X=this.getEncoder(Y);return(Z)=>{z(Q.count===-1||Q.count===Z.length,`array length mismatch; expected length ${Q.count}`,"value",Z);let q=Z.map(X);if(this.#Q.has(Y))q=q.map(l);return l(n(q))}}let J=this.types[$];if(J){let Y=Z0(this.#Q.get($));return(X)=>{let Z=J.map(({name:q,type:G})=>{let W=this.getEncoder(G)(X[q]);if(this.#Q.has(G))return l(W);return W});return Z.unshift(Y),n(Z)}}z(!1,`unknown type: ${$}`,"type",$)}encodeType($){let Q=this.#Q.get($);return z(Q,`unknown type: ${JSON.stringify($)}`,"name",$),Q}encodeData($,Q){return this.getEncoder($)(Q)}hashStruct($,Q){return l(this.encodeData($,Q))}encode($){return this.encodeData(this.primaryType,$)}hash($){return this.hashStruct(this.primaryType,$)}_visit($,Q,J){if(YJ($))return J($,Q);let Y=QQ($).array;if(Y)return z(Y.count===-1||Y.count===Q.length,`array length mismatch; expected length ${Y.count}`,"value",Q),Q.map((Z)=>this._visit(Y.prefix,Z,J));let X=this.types[$];if(X)return X.reduce((Z,{name:q,type:G})=>{return Z[q]=this._visit(G,Q[q],J),Z},{});z(!1,`unknown type: ${$}`,"type",$)}visit($,Q){return this._visit(this.primaryType,$,Q)}static from($){return new U$($)}static getPrimaryType($){return U$.from($).primaryType}static hashStruct($,Q,J){return U$.from(Q).hashStruct($,J)}static hashDomain($){let Q=[];for(let J in $){if($[J]==null)continue;let Y=WX[J];z(Y,`invalid typed-data domain key: ${JSON.stringify(J)}`,"domain",$),Q.push({name:J,type:Y})}return Q.sort((J,Y)=>{return JJ.indexOf(J.name)-JJ.indexOf(Y.name)}),U$.hashStruct("EIP712Domain",{EIP712Domain:Q},$)}static encode($,Q,J){return n(["0x1901",U$.hashDomain($),U$.from(Q).hash(J)])}static hash($,Q,J){return l(U$.encode($,Q,J))}static async resolveNames($,Q,J,Y){$=Object.assign({},$);for(let q in $)if($[q]==null)delete $[q];let X={};if($.verifyingContract&&!K$($.verifyingContract,20))X[$.verifyingContract]="0x";let Z=U$.from(Q);Z.visit(J,(q,G)=>{if(q==="address"&&!K$(G,20))X[G]="0x";return G});for(let q in X)X[q]=await Y(q);if($.verifyingContract&&X[$.verifyingContract])$.verifyingContract=X[$.verifyingContract];return J=Z.visit(J,(q,G)=>{if(q==="address"&&X[G])return X[G];return G}),{domain:$,value:J}}static getPayload($,Q,J){U$.hashDomain($);let Y={},X=[];JJ.forEach((G)=>{let W=$[G];if(W==null)return;Y[G]=e9[G](W),X.push({name:G,type:WX[G]})});let Z=U$.from(Q);Q=Z.types;let q=Object.assign({},Q);return z(q.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",Q),q.EIP712Domain=X,Z.encode(J),{types:q,domain:Y,primaryType:Z.primaryType,message:Z.visit(J,(G,W)=>{if(G.match(/^bytes(\d*)/))return R(E(W));if(G.match(/^u?int/))return h(W).toString();switch(G){case"address":return W.toLowerCase();case"bool":return!!W;case"string":return z(typeof W==="string","invalid string","value",W),W}z(!1,"unsupported type","type",G)})}}}var KX=BigInt(0);function XJ($){if($==null)return null;return $}function M$($){if($==null)return null;return $.toString()}function z8($){let Q={};if($.to)Q.to=$.to;if($.from)Q.from=$.from;if($.data)Q.data=R($.data);let J="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let X of J){if(!(X in $)||$[X]==null)continue;Q[X]=h($[X],`request.${X}`)}let Y="type,nonce".split(/,/);for(let X of Y){if(!(X in $)||$[X]==null)continue;Q[X]=G$($[X],`request.${X}`)}if($.accessList)Q.accessList=F0($.accessList);if($.authorizationList)Q.authorizationList=$.authorizationList.slice();if("blockTag"in $)Q.blockTag=$.blockTag;if("enableCcipRead"in $)Q.enableCcipRead=!!$.enableCcipRead;if("customData"in $)Q.customData=$.customData;if("blobVersionedHashes"in $&&$.blobVersionedHashes)Q.blobVersionedHashes=$.blobVersionedHashes.slice();if("kzg"in $)Q.kzg=$.kzg;if("blobs"in $&&$.blobs)Q.blobs=$.blobs.map((X)=>{if(m$(X))return R(X);return Object.assign({},X)});return Q}class IX{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#$;constructor($,Q){this.#$=$.transactions.map((J)=>{if(typeof J!=="string")return new JQ(J,Q);return J}),a(this,{provider:Q,hash:XJ($.hash),number:$.number,timestamp:$.timestamp,parentHash:$.parentHash,parentBeaconBlockRoot:$.parentBeaconBlockRoot,nonce:$.nonce,difficulty:$.difficulty,gasLimit:$.gasLimit,gasUsed:$.gasUsed,blobGasUsed:$.blobGasUsed,excessBlobGas:$.excessBlobGas,miner:$.miner,prevRandao:XJ($.prevRandao),extraData:$.extraData,baseFeePerGas:XJ($.baseFeePerGas),stateRoot:$.stateRoot,receiptsRoot:$.receiptsRoot})}get transactions(){return this.#$.map(($)=>{if(typeof $==="string")return $;return $.hash})}get prefetchedTransactions(){let $=this.#$.slice();if($.length===0)return[];return k(typeof $[0]==="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),$}toJSON(){let{baseFeePerGas:$,difficulty:Q,extraData:J,gasLimit:Y,gasUsed:X,hash:Z,miner:q,prevRandao:G,nonce:W,number:M,parentHash:V,parentBeaconBlockRoot:D,stateRoot:K,receiptsRoot:S,timestamp:O,transactions:I}=this;return{_type:"Block",baseFeePerGas:M$($),difficulty:M$(Q),extraData:J,gasLimit:M$(Y),gasUsed:M$(X),blobGasUsed:M$(this.blobGasUsed),excessBlobGas:M$(this.excessBlobGas),hash:Z,miner:q,prevRandao:G,nonce:W,number:M,parentHash:V,timestamp:O,parentBeaconBlockRoot:D,stateRoot:K,receiptsRoot:S,transactions:I}}[Symbol.iterator](){let $=0,Q=this.transactions;return{next:()=>{if($<this.length)return{value:Q[$++],done:!1};return{value:void 0,done:!0}}}}get length(){return this.#$.length}get date(){if(this.timestamp==null)return null;return new Date(this.timestamp*1000)}async getTransaction($){let Q=void 0;if(typeof $==="number")Q=this.#$[$];else{let J=$.toLowerCase();for(let Y of this.#$)if(typeof Y==="string"){if(Y!==J)continue;Q=Y;break}else{if(Y.hash!==J)continue;Q=Y;break}}if(Q==null)throw Error("no such tx");if(typeof Q==="string")return await this.provider.getTransaction(Q);else return Q}getPrefetchedTransaction($){let Q=this.prefetchedTransactions;if(typeof $==="number")return Q[$];$=$.toLowerCase();for(let J of Q)if(J.hash===$)return J;z(!1,"no matching transaction","indexOrHash",$)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw Error("");return Jq(this)}}class ZJ{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor($,Q){this.provider=Q;let J=Object.freeze($.topics.slice());a(this,{transactionHash:$.transactionHash,blockHash:$.blockHash,blockNumber:$.blockNumber,removed:$.removed,address:$.address,data:$.data,topics:J,index:$.index,transactionIndex:$.transactionIndex})}toJSON(){let{address:$,blockHash:Q,blockNumber:J,data:Y,index:X,removed:Z,topics:q,transactionHash:G,transactionIndex:W}=this;return{_type:"log",address:$,blockHash:Q,blockNumber:J,data:Y,index:X,removed:Z,topics:q,transactionHash:G,transactionIndex:W}}async getBlock(){let $=await this.provider.getBlock(this.blockHash);return k(!!$,"failed to find transaction","UNKNOWN_ERROR",{}),$}async getTransaction(){let $=await this.provider.getTransaction(this.transactionHash);return k(!!$,"failed to find transaction","UNKNOWN_ERROR",{}),$}async getTransactionReceipt(){let $=await this.provider.getTransactionReceipt(this.transactionHash);return k(!!$,"failed to find transaction receipt","UNKNOWN_ERROR",{}),$}removedEvent(){return Yq(this)}}class TX{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#$;constructor($,Q){this.#$=Object.freeze($.logs.map((Y)=>{return new ZJ(Y,Q)}));let J=KX;if($.effectiveGasPrice!=null)J=$.effectiveGasPrice;else if($.gasPrice!=null)J=$.gasPrice;a(this,{provider:Q,to:$.to,from:$.from,contractAddress:$.contractAddress,hash:$.hash,index:$.index,blockHash:$.blockHash,blockNumber:$.blockNumber,logsBloom:$.logsBloom,gasUsed:$.gasUsed,cumulativeGasUsed:$.cumulativeGasUsed,blobGasUsed:$.blobGasUsed,gasPrice:J,blobGasPrice:$.blobGasPrice,type:$.type,status:$.status,root:$.root})}get logs(){return this.#$}toJSON(){let{to:$,from:Q,contractAddress:J,hash:Y,index:X,blockHash:Z,blockNumber:q,logsBloom:G,logs:W,status:M,root:V}=this;return{_type:"TransactionReceipt",blockHash:Z,blockNumber:q,contractAddress:J,cumulativeGasUsed:M$(this.cumulativeGasUsed),from:Q,gasPrice:M$(this.gasPrice),blobGasUsed:M$(this.blobGasUsed),blobGasPrice:M$(this.blobGasPrice),gasUsed:M$(this.gasUsed),hash:Y,index:X,logs:W,logsBloom:G,root:V,status:M,to:$}}get length(){return this.logs.length}[Symbol.iterator](){let $=0;return{next:()=>{if($<this.length)return{value:this.logs[$++],done:!1};return{value:void 0,done:!0}}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let $=await this.provider.getBlock(this.blockHash);if($==null)throw Error("TODO");return $}async getTransaction(){let $=await this.provider.getTransaction(this.hash);if($==null)throw Error("TODO");return $}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return HX(this)}reorderedEvent($){return k(!$||$.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),UX(this,$)}}class JQ{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;authorizationList;#$;constructor($,Q){this.provider=Q,this.blockNumber=$.blockNumber!=null?$.blockNumber:null,this.blockHash=$.blockHash!=null?$.blockHash:null,this.hash=$.hash,this.index=$.index,this.type=$.type,this.from=$.from,this.to=$.to||null,this.gasLimit=$.gasLimit,this.nonce=$.nonce,this.data=$.data,this.value=$.value,this.gasPrice=$.gasPrice,this.maxPriorityFeePerGas=$.maxPriorityFeePerGas!=null?$.maxPriorityFeePerGas:null,this.maxFeePerGas=$.maxFeePerGas!=null?$.maxFeePerGas:null,this.maxFeePerBlobGas=$.maxFeePerBlobGas!=null?$.maxFeePerBlobGas:null,this.chainId=$.chainId,this.signature=$.signature,this.accessList=$.accessList!=null?$.accessList:null,this.blobVersionedHashes=$.blobVersionedHashes!=null?$.blobVersionedHashes:null,this.authorizationList=$.authorizationList!=null?$.authorizationList:null,this.#$=-1}toJSON(){let{blockNumber:$,blockHash:Q,index:J,hash:Y,type:X,to:Z,from:q,nonce:G,data:W,signature:M,accessList:V,blobVersionedHashes:D}=this;return{_type:"TransactionResponse",accessList:V,blockNumber:$,blockHash:Q,blobVersionedHashes:D,chainId:M$(this.chainId),data:W,from:q,gasLimit:M$(this.gasLimit),gasPrice:M$(this.gasPrice),hash:Y,maxFeePerGas:M$(this.maxFeePerGas),maxPriorityFeePerGas:M$(this.maxPriorityFeePerGas),maxFeePerBlobGas:M$(this.maxFeePerBlobGas),nonce:G,signature:M,to:Z,index:J,type:X,value:M$(this.value)}}async getBlock(){let $=this.blockNumber;if($==null){let J=await this.getTransaction();if(J)$=J.blockNumber}if($==null)return null;let Q=this.provider.getBlock($);if(Q==null)throw Error("TODO");return Q}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){let{tx:Q,blockNumber:J}=await h$({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});if(Q==null||Q.blockNumber==null)return 0;return J-Q.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait($,Q){let J=$==null?1:$,Y=Q==null?0:Q,X=this.#$,Z=-1,q=X===-1?!0:!1,G=async()=>{if(q)return null;let{blockNumber:D,nonce:K}=await h$({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(K<this.nonce){X=D;return}if(q)return null;let S=await this.getTransaction();if(S&&S.blockNumber!=null)return;if(Z===-1){if(Z=X-3,Z<this.#$)Z=this.#$}while(Z<=D){if(q)return null;let O=await this.provider.getBlock(Z,!0);if(O==null)return;for(let I of O)if(I===this.hash)return;for(let I=0;I<O.length;I++){let H=await O.getTransaction(I);if(H.from===this.from&&H.nonce===this.nonce){if(q)return null;let N=await this.provider.getTransactionReceipt(H.hash);if(N==null)return;if(D-N.blockNumber+1<J)return;let P="replaced";if(H.data===this.data&&H.to===this.to&&H.value===this.value)P="repriced";else if(H.data==="0x"&&H.from===H.to&&H.value===KX)P="cancelled";k(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:P==="replaced"||P==="cancelled",reason:P,replacement:H.replaceableTransaction(X),hash:H.hash,receipt:N})}}Z++}return},W=(D)=>{if(D==null||D.status!==0)return D;k(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:D.to,from:D.from,data:""},receipt:D})},M=await this.provider.getTransactionReceipt(this.hash);if(J===0)return W(M);if(M){if(J===1||await M.confirmations()>=J)return W(M)}else if(await G(),J===0)return null;return await new Promise((D,K)=>{let S=[],O=()=>{S.forEach((H)=>H())};if(S.push(()=>{q=!0}),Y>0){let H=setTimeout(()=>{O(),K(J8("wait for transaction timeout","TIMEOUT"))},Y);S.push(()=>{clearTimeout(H)})}let I=async(H)=>{if(await H.confirmations()>=J){O();try{D(W(H))}catch(N){K(N)}}};if(S.push(()=>{this.provider.off(this.hash,I)}),this.provider.on(this.hash,I),X>=0){let H=async()=>{try{await G()}catch(N){if(P8(N,"TRANSACTION_REPLACED")){O(),K(N);return}}if(!q)this.provider.once("block",H)};S.push(()=>{this.provider.off("block",H)}),this.provider.once("block",H)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return k(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),HX(this)}reorderedEvent($){return k(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),k(!$||$.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),UX(this,$)}replaceableTransaction($){z(Number.isInteger($)&&$>=0,"invalid startBlock","startBlock",$);let Q=new JQ(this,this.provider);return Q.#$=$,Q}}function Jq($){return{orphan:"drop-block",hash:$.hash,number:$.number}}function UX($,Q){return{orphan:"reorder-transaction",tx:$,other:Q}}function HX($){return{orphan:"drop-transaction",tx:$}}function Yq($){return{orphan:"drop-log",log:{transactionHash:$.transactionHash,blockHash:$.blockHash,blockNumber:$.blockNumber,address:$.address,data:$.data,topics:Object.freeze($.topics.slice()),index:$.index}}}function _0($,Q){if($.provider)return $.provider;k(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:Q})}async function NX($,Q){let J=z8(Q);if(J.to!=null)J.to=Y0(J.to,$);if(J.from!=null){let Y=J.from;J.from=Promise.all([$.getAddress(),Y0(Y,$)]).then(([X,Z])=>{return z(X.toLowerCase()===Z.toLowerCase(),"transaction from mismatch","tx.from",Z),X})}else J.from=$.getAddress();return await h$(J)}class D8{provider;constructor($){a(this,{provider:$||null})}async getNonce($){return _0(this,"getTransactionCount").getTransactionCount(await this.getAddress(),$)}async populateCall($){return await NX(this,$)}async populateTransaction($){let Q=_0(this,"populateTransaction"),J=await NX(this,$);if(J.nonce==null)J.nonce=await this.getNonce("pending");if(J.gasLimit==null)J.gasLimit=await this.estimateGas(J);let Y=await this.provider.getNetwork();if(J.chainId!=null){let Z=h(J.chainId);z(Z===Y.chainId,"transaction chainId mismatch","tx.chainId",$.chainId)}else J.chainId=Y.chainId;let X=J.maxFeePerGas!=null||J.maxPriorityFeePerGas!=null;if(J.gasPrice!=null&&(J.type===2||X))z(!1,"eip-1559 transaction do not support gasPrice","tx",$);else if((J.type===0||J.type===1)&&X)z(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",$);if((J.type===2||J.type==null)&&(J.maxFeePerGas!=null&&J.maxPriorityFeePerGas!=null))J.type=2;else if(J.type===0||J.type===1){let Z=await Q.getFeeData();if(k(Z.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),J.gasPrice==null)J.gasPrice=Z.gasPrice}else{let Z=await Q.getFeeData();if(J.type==null)if(Z.maxFeePerGas!=null&&Z.maxPriorityFeePerGas!=null){if(J.authorizationList&&J.authorizationList.length)J.type=4;else J.type=2;if(J.gasPrice!=null){let q=J.gasPrice;delete J.gasPrice,J.maxFeePerGas=q,J.maxPriorityFeePerGas=q}else{if(J.maxFeePerGas==null)J.maxFeePerGas=Z.maxFeePerGas;if(J.maxPriorityFeePerGas==null)J.maxPriorityFeePerGas=Z.maxPriorityFeePerGas}}else if(Z.gasPrice!=null){if(k(!X,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),J.gasPrice==null)J.gasPrice=Z.gasPrice;J.type=0}else k(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else if(J.type===2||J.type===3||J.type===4){if(J.maxFeePerGas==null)J.maxFeePerGas=Z.maxFeePerGas;if(J.maxPriorityFeePerGas==null)J.maxPriorityFeePerGas=Z.maxPriorityFeePerGas}}return await h$(J)}async populateAuthorization($){let Q=Object.assign({},$);if(Q.chainId==null)Q.chainId=(await _0(this,"getNetwork").getNetwork()).chainId;if(Q.nonce==null)Q.nonce=await this.getNonce();return Q}async estimateGas($){return _0(this,"estimateGas").estimateGas(await this.populateCall($))}async call($){return _0(this,"call").call(await this.populateCall($))}async resolveName($){return await _0(this,"resolveName").resolveName($)}async sendTransaction($){let Q=_0(this,"sendTransaction"),J=await this.populateTransaction($);delete J.from;let Y=N$.from(J);return await Q.broadcastTransaction(await this.signTransaction(Y))}authorize($){k(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}}class O8 extends D8{address;constructor($,Q){super(Q);a(this,{address:$})}async getAddress(){return this.address}connect($){return new O8(this.address,$)}#$($,Q){k(!1,`VoidSigner cannot sign ${$}`,"UNSUPPORTED_OPERATION",{operation:Q})}async signTransaction($){this.#$("transactions","signTransaction")}async signMessage($){this.#$("messages","signMessage")}async signTypedData($,Q,J){this.#$("typed-data","signTypedData")}}class f0 extends D8{address;#$;constructor($,Q){super(Q);z($&&typeof $.sign==="function","invalid private key","privateKey","[ REDACTED ]"),this.#$=$;let J=X0(this.signingKey.publicKey);a(this,{address:J})}get signingKey(){return this.#$}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect($){return new f0(this.#$,$)}async signTransaction($){$=z8($);let{to:Q,from:J}=await h$({to:$.to?Y0($.to,this):void 0,from:$.from?Y0($.from,this):void 0});if(Q!=null)$.to=Q;if(J!=null)$.from=J;if($.from!=null)z(v($.from)===this.address,"transaction from address mismatch","tx.from",$.from),delete $.from;let Y=N$.from($);return Y.signature=this.signingKey.sign(Y.unsignedHash),Y.serialized}async signMessage($){return this.signMessageSync($)}signMessageSync($){return this.signingKey.sign(V8($)).serialized}authorizeSync($){z(typeof $.address==="string","invalid address for authorizeSync","auth.address",$);let Q=this.signingKey.sign(e8($));return Object.assign({},{address:v($.address),nonce:h($.nonce||0),chainId:h($.chainId||0)},{signature:Q})}async authorize($){return $=Object.assign({},$,{address:await Y0($.address,this)}),this.authorizeSync(await this.populateAuthorization($))}async signTypedData($,Q,J){let Y=await U$.resolveNames($,Q,J,async(X)=>{k(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:X}});let Z=await this.provider.resolveName(X);return k(Z!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:X}),Z});return this.signingKey.sign(U$.hash(Y.domain,Q,Y.value)).serialized}}var YQ=" !#$%&'()*+,-./<=>?@[]^_`{|}~",Xq=/^[a-z]*$/i;function RX($,Q){let J=97;return $.reduce((Y,X)=>{if(X===Q)J++;else if(X.match(Xq))Y.push(String.fromCharCode(J)+X);else J=97,Y.push(X);return Y},[])}function Zq($,Q){for(let X=YQ.length-1;X>=0;X--)$=$.split(YQ[X]).join(Q.substring(2*X,2*X+2));let J=[],Y=$.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(X,Z,q,G)=>{if(q)for(let W=parseInt(q);W>=0;W--)J.push(";");else J.push(Z.toLowerCase());return""});if(Y)throw Error(`leftovers: ${JSON.stringify(Y)}`);return RX(RX(J,";"),":")}function LX($){return z($[0]==="0","unsupported auwl data","data",$),Zq($.substring(1+2*YQ.length),$.substring(1,1+2*YQ.length))}class qJ{locale;constructor($){a(this,{locale:$})}split($){return $.toLowerCase().split(/\s+/g)}join($){return $.join(" ")}}class GJ extends qJ{#$;#Q;constructor($,Q,J){super($);this.#$=Q,this.#Q=J,this.#J=null}get _data(){return this.#$}_decodeWords(){return LX(this.#$)}#J;#Y(){if(this.#J==null){let $=this._decodeWords();if(Z0($.join(`
3
3
  `)+`
4
- `)!==this.#Q)throw Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#J=$}return this.#J}getWord($){let Q=this.#Y();return z($>=0&&$<Q.length,`invalid word index: ${$}`,"index",$),Q[$]}getWordIndex($){return this.#Y().indexOf($)}}var qq="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",Gq="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",WJ=null;class q0 extends GJ{constructor(){super("en",qq,Gq)}static wordlist(){if(WJ==null)WJ=new q0;return WJ}}function CX($){return(1<<$)-1<<8-$&255}function Wq($){return(1<<$)-1&255}function MJ($,Q){if(m0("NFKD"),Q==null)Q=q0.wordlist();let J=Q.split($);z(J.length%3===0&&J.length>=12&&J.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let Y=new Uint8Array(Math.ceil(11*J.length/8)),X=0;for(let M=0;M<J.length;M++){let V=Q.getWordIndex(J[M].normalize("NFKD"));z(V>=0,`invalid mnemonic word at index ${M}`,"mnemonic","[ REDACTED ]");for(let D=0;D<11;D++){if(V&1<<10-D)Y[X>>3]|=1<<7-X%8;X++}}let Z=32*J.length/3,q=J.length/3,G=CX(q),W=E(z$(Y.slice(0,Z/8)))[0]&G;return z(W===(Y[Y.length-1]&G),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),R(Y.slice(0,Z/8))}function VJ($,Q){if(z($.length%4===0&&$.length>=16&&$.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),Q==null)Q=q0.wordlist();let J=[0],Y=11;for(let q=0;q<$.length;q++)if(Y>8)J[J.length-1]<<=8,J[J.length-1]|=$[q],Y-=8;else J[J.length-1]<<=Y,J[J.length-1]|=$[q]>>8-Y,J.push($[q]&Wq(8-Y)),Y+=3;let X=$.length/4,Z=parseInt(z$($).substring(2,4),16)&CX(X);return J[J.length-1]<<=X,J[J.length-1]|=Z>>8-X,Q.join(J.map((q)=>Q.getWord(q)))}var zJ={};class G0{phrase;password;wordlist;entropy;constructor($,Q,J,Y,X){if(Y==null)Y="";if(X==null)X=q0.wordlist();n$($,zJ,"Mnemonic"),a(this,{phrase:J,password:Y,wordlist:X,entropy:Q})}computeSeed(){let $=V$("mnemonic"+this.password,"NFKD");return j$(V$(this.phrase,"NFKD"),$,2048,64,"sha512")}static fromPhrase($,Q,J){let Y=MJ($,J);return $=VJ(E(Y),J),new G0(zJ,Y,$,Q,J)}static fromEntropy($,Q,J){let Y=E($,"entropy"),X=VJ(Y,J);return new G0(zJ,R(Y),X,Q,J)}static entropyToPhrase($,Q){let J=E($,"entropy");return VJ(J,Q)}static phraseToEntropy($,Q){return MJ($,Q)}static isValidMnemonic($,Q){try{return MJ($,Q),!0}catch(J){}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */var D$=function($,Q,J,Y){if(J==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!Y:!Q.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Y:J==="a"?Y.call($):Y?Y.value:Q.get($)},DJ=function($,Q,J,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,J):X?X.value=J:Q.set($,J),J},ZQ,F$,u$,Mq={16:10,24:12,32:14},Vq=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],A$=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],XQ=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],zq=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Dq=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Oq=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Kq=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Iq=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Tq=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Uq=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239000,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Hq=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998000,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Nq=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Rq=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Lq=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239000,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Cq=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998000,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function OJ($){let Q=[];for(let J=0;J<$.length;J+=4)Q.push($[J]<<24|$[J+1]<<16|$[J+2]<<8|$[J+3]);return Q}class qQ{get key(){return D$(this,ZQ,"f").slice()}constructor($){if(ZQ.set(this,void 0),F$.set(this,void 0),u$.set(this,void 0),!(this instanceof qQ))throw Error("AES must be instanitated with `new`");DJ(this,ZQ,new Uint8Array($),"f");let Q=Mq[this.key.length];if(Q==null)throw TypeError("invalid key size (must be 16, 24 or 32 bytes)");DJ(this,u$,[],"f"),DJ(this,F$,[],"f");for(let M=0;M<=Q;M++)D$(this,u$,"f").push([0,0,0,0]),D$(this,F$,"f").push([0,0,0,0]);let J=(Q+1)*4,Y=this.key.length/4,X=OJ(this.key),Z;for(let M=0;M<Y;M++)Z=M>>2,D$(this,u$,"f")[Z][M%4]=X[M],D$(this,F$,"f")[Q-Z][M%4]=X[M];let q=0,G=Y,W;while(G<J){if(W=X[Y-1],X[0]^=A$[W>>16&255]<<24^A$[W>>8&255]<<16^A$[W&255]<<8^A$[W>>24&255]^Vq[q]<<24,q+=1,Y!=8)for(let K=1;K<Y;K++)X[K]^=X[K-1];else{for(let K=1;K<Y/2;K++)X[K]^=X[K-1];W=X[Y/2-1],X[Y/2]^=A$[W&255]^A$[W>>8&255]<<8^A$[W>>16&255]<<16^A$[W>>24&255]<<24;for(let K=Y/2+1;K<Y;K++)X[K]^=X[K-1]}let M=0,V,D;while(M<Y&&G<J)V=G>>2,D=G%4,D$(this,u$,"f")[V][D]=X[M],D$(this,F$,"f")[Q-V][D]=X[M++],G++}for(let M=1;M<Q;M++)for(let V=0;V<4;V++)W=D$(this,F$,"f")[M][V],D$(this,F$,"f")[M][V]=Nq[W>>24&255]^Rq[W>>16&255]^Lq[W>>8&255]^Cq[W&255]}encrypt($){if($.length!=16)throw TypeError("invalid plaintext size (must be 16 bytes)");let Q=D$(this,u$,"f").length-1,J=[0,0,0,0],Y=OJ($);for(let q=0;q<4;q++)Y[q]^=D$(this,u$,"f")[0][q];for(let q=1;q<Q;q++){for(let G=0;G<4;G++)J[G]=zq[Y[G]>>24&255]^Dq[Y[(G+1)%4]>>16&255]^Oq[Y[(G+2)%4]>>8&255]^Kq[Y[(G+3)%4]&255]^D$(this,u$,"f")[q][G];Y=J.slice()}let X=new Uint8Array(16),Z=0;for(let q=0;q<4;q++)Z=D$(this,u$,"f")[Q][q],X[4*q]=(A$[Y[q]>>24&255]^Z>>24)&255,X[4*q+1]=(A$[Y[(q+1)%4]>>16&255]^Z>>16)&255,X[4*q+2]=(A$[Y[(q+2)%4]>>8&255]^Z>>8)&255,X[4*q+3]=(A$[Y[(q+3)%4]&255]^Z)&255;return X}decrypt($){if($.length!=16)throw TypeError("invalid ciphertext size (must be 16 bytes)");let Q=D$(this,F$,"f").length-1,J=[0,0,0,0],Y=OJ($);for(let q=0;q<4;q++)Y[q]^=D$(this,F$,"f")[0][q];for(let q=1;q<Q;q++){for(let G=0;G<4;G++)J[G]=Iq[Y[G]>>24&255]^Tq[Y[(G+3)%4]>>16&255]^Uq[Y[(G+2)%4]>>8&255]^Hq[Y[(G+1)%4]&255]^D$(this,F$,"f")[q][G];Y=J.slice()}let X=new Uint8Array(16),Z=0;for(let q=0;q<4;q++)Z=D$(this,F$,"f")[Q][q],X[4*q]=(XQ[Y[q]>>24&255]^Z>>24)&255,X[4*q+1]=(XQ[Y[(q+3)%4]>>16&255]^Z>>16)&255,X[4*q+2]=(XQ[Y[(q+2)%4]>>8&255]^Z>>8)&255,X[4*q+3]=(XQ[Y[(q+1)%4]&255]^Z)&255;return X}}ZQ=new WeakMap,F$=new WeakMap,u$=new WeakMap;class K8{constructor($,Q,J){if(J&&!(this instanceof J))throw Error(`${$} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new qQ(Q)},name:{enumerable:!0,value:$}})}}var GQ=function($,Q,J,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,J):X?X.value=J:Q.set($,J),J},a0=function($,Q,J,Y){if(J==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!Y:!Q.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Y:J==="a"?Y.call($):Y?Y.value:Q.get($)},I8,W0;class T8 extends K8{constructor($,Q){super("ECC",$,T8);if(I8.set(this,void 0),W0.set(this,void 0),Q){if(Q.length%16)throw TypeError("invalid iv size (must be 16 bytes)");GQ(this,I8,new Uint8Array(Q),"f")}else GQ(this,I8,new Uint8Array(16),"f");GQ(this,W0,this.iv,"f")}get iv(){return new Uint8Array(a0(this,I8,"f"))}encrypt($){if($.length%16)throw TypeError("invalid plaintext size (must be multiple of 16 bytes)");let Q=new Uint8Array($.length);for(let J=0;J<$.length;J+=16){for(let Y=0;Y<16;Y++)a0(this,W0,"f")[Y]^=$[J+Y];GQ(this,W0,this.aes.encrypt(a0(this,W0,"f")),"f"),Q.set(a0(this,W0,"f"),J)}return Q}decrypt($){if($.length%16)throw TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let Q=new Uint8Array($.length);for(let J=0;J<$.length;J+=16){let Y=this.aes.decrypt($.subarray(J,J+16));for(let X=0;X<16;X++)Q[J+X]=Y[X]^a0(this,W0,"f")[X],a0(this,W0,"f")[X]=$[J+X]}return Q}}I8=new WeakMap,W0=new WeakMap;var s0=function($,Q,J,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,J):X?X.value=J:Q.set($,J),J},k$=function($,Q,J,Y){if(J==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!Y:!Q.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Y:J==="a"?Y.call($):Y?Y.value:Q.get($)},U8,b0,_$;class U0 extends K8{constructor($,Q){super("CTR",$,U0);if(U8.set(this,void 0),b0.set(this,void 0),_$.set(this,void 0),s0(this,_$,new Uint8Array(16),"f"),k$(this,_$,"f").fill(0),s0(this,U8,k$(this,_$,"f"),"f"),s0(this,b0,16,"f"),Q==null)Q=1;if(typeof Q==="number")this.setCounterValue(Q);else this.setCounterBytes(Q)}get counter(){return new Uint8Array(k$(this,_$,"f"))}setCounterValue($){if(!Number.isInteger($)||$<0||$>Number.MAX_SAFE_INTEGER)throw TypeError("invalid counter initial integer value");for(let Q=15;Q>=0;--Q)k$(this,_$,"f")[Q]=$%256,$=Math.floor($/256)}setCounterBytes($){if($.length!==16)throw TypeError("invalid counter initial Uint8Array value length");k$(this,_$,"f").set($)}increment(){for(let $=15;$>=0;$--)if(k$(this,_$,"f")[$]===255)k$(this,_$,"f")[$]=0;else{k$(this,_$,"f")[$]++;break}}encrypt($){var Q,J;let Y=new Uint8Array($);for(let X=0;X<Y.length;X++){if(k$(this,b0,"f")===16)s0(this,U8,this.aes.encrypt(k$(this,_$,"f")),"f"),s0(this,b0,0,"f"),this.increment();Y[X]^=k$(this,U8,"f")[s0(this,b0,(J=k$(this,b0,"f"),Q=J++,J),"f"),Q]}return Y}decrypt($){return this.encrypt($)}}U8=new WeakMap,b0=new WeakMap,_$=new WeakMap;function KJ($){if($.length<16)throw TypeError("PKCS#7 invalid length");let Q=$[$.length-1];if(Q>16)throw TypeError("PKCS#7 padding byte out of range");let J=$.length-Q;for(let Y=0;Y<Q;Y++)if($[J+Y]!==Q)throw TypeError("PKCS#7 invalid padding byte");return new Uint8Array($.subarray(0,J))}function IJ($){if(typeof $==="string"&&!$.startsWith("0x"))$="0x"+$;return b$($)}function t0($,Q){$=String($);while($.length<Q)$="0"+$;return $}function x0($){if(typeof $==="string")return V$($,"NFKC");return b$($)}function Q$($,Q){let J=Q.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);z(J!=null,"invalid path","path",Q);let Y=J[1],X=J[3],Z=J[4]==="!",q=$;for(let G of Y.toLowerCase().split(".")){if(Array.isArray(q)){if(!G.match(/^[0-9]+$/))break;q=q[parseInt(G)]}else if(typeof q==="object"){let W=null;for(let M in q)if(M.toLowerCase()===G){W=q[M];break}q=W}else q=null;if(q==null)break}if(z(!Z||q!=null,"missing required value","path",Y),X&&q!=null){if(X==="int"){if(typeof q==="string"&&q.match(/^-?[0-9]+$/))return parseInt(q);else if(Number.isSafeInteger(q))return q}if(X==="number"){if(typeof q==="string"&&q.match(/^-?[0-9.]*$/))return parseFloat(q)}if(X==="data"){if(typeof q==="string")return IJ(q)}if(X==="array"&&Array.isArray(q))return q;if(X===typeof q)return q;z(!1,`wrong type found for ${X} `,"path",Y)}return q}var jX="m/44'/60'/0'/0/0";function MQ($){try{let Q=JSON.parse($);if((Q.version!=null?parseInt(Q.version):0)===3)return!0}catch(Q){}return!1}function Eq($,Q,J){if(Q$($,"crypto.cipher:string")==="aes-128-ctr"){let X=Q$($,"crypto.cipherparams.iv:data!"),Z=new U0(Q,X);return R(Z.decrypt(J))}k(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function WQ($,Q){let J=E(Q),Y=Q$($,"crypto.ciphertext:data!"),X=R(l(n([J.slice(16,32),Y]))).substring(2);z(X===Q$($,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let Z=Eq($,J.slice(0,16),Y),q=X0(Z);if($.address){let M=$.address.toLowerCase();if(!M.startsWith("0x"))M="0x"+M;z(v(M)===q,"keystore address/privateKey mismatch","address",$.address)}let G={address:q,privateKey:Z};if(Q$($,"x-ethers.version:string")==="0.1"){let M=J.slice(32,64),V=Q$($,"x-ethers.mnemonicCiphertext:data!"),D=Q$($,"x-ethers.mnemonicCounter:data!"),K=new U0(M,D);G.mnemonic={path:Q$($,"x-ethers.path:string")||jX,locale:Q$($,"x-ethers.locale:string")||"en",entropy:R(E(K.decrypt(V)))}}return G}function PX($){let Q=Q$($,"crypto.kdf:string");if(Q&&typeof Q==="string"){if(Q.toLowerCase()==="scrypt"){let J=Q$($,"crypto.kdfparams.salt:data!"),Y=Q$($,"crypto.kdfparams.n:int!"),X=Q$($,"crypto.kdfparams.r:int!"),Z=Q$($,"crypto.kdfparams.p:int!");z(Y>0&&(Y&Y-1)===0,"invalid kdf.N","kdf.N",Y),z(X>0&&Z>0,"invalid kdf","kdf",Q);let q=Q$($,"crypto.kdfparams.dklen:int!");return z(q===32,"invalid kdf.dklen","kdf.dflen",q),{name:"scrypt",salt:J,N:Y,r:X,p:Z,dkLen:64}}else if(Q.toLowerCase()==="pbkdf2"){let J=Q$($,"crypto.kdfparams.salt:data!"),Y=Q$($,"crypto.kdfparams.prf:string!"),X=Y.split("-").pop();z(X==="sha256"||X==="sha512","invalid kdf.pdf","kdf.pdf",Y);let Z=Q$($,"crypto.kdfparams.c:int!"),q=Q$($,"crypto.kdfparams.dklen:int!");return z(q===32,"invalid kdf.dklen","kdf.dklen",q),{name:"pbkdf2",salt:J,count:Z,dkLen:q,algorithm:X}}}z(!1,"unsupported key-derivation function","kdf",Q)}function TJ($,Q){let J=JSON.parse($),Y=x0(Q),X=PX(J);if(X.name==="pbkdf2"){let{salt:D,count:K,dkLen:S,algorithm:O}=X,I=j$(Y,D,K,S,O);return WQ(J,I)}k(X.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:X});let{salt:Z,N:q,r:G,p:W,dkLen:M}=X,V=e$(Y,Z,q,G,W,M);return WQ(J,V)}function EX($){return new Promise((Q)=>{setTimeout(()=>{Q()},$)})}async function UJ($,Q,J){let Y=JSON.parse($),X=x0(Q),Z=PX(Y);if(Z.name==="pbkdf2"){if(J)J(0),await EX(0);let{salt:K,count:S,dkLen:O,algorithm:I}=Z,H=j$(X,K,S,O,I);if(J)J(1),await EX(0);return WQ(Y,H)}k(Z.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:Z});let{salt:q,N:G,r:W,p:M,dkLen:V}=Z,D=await t$(X,q,G,W,M,V,J);return WQ(Y,D)}function SX($){let Q=$.salt!=null?E($.salt,"options.salt"):Z$(32),J=131072,Y=8,X=1;if($.scrypt){if($.scrypt.N)J=$.scrypt.N;if($.scrypt.r)Y=$.scrypt.r;if($.scrypt.p)X=$.scrypt.p}return z(typeof J==="number"&&J>0&&Number.isSafeInteger(J)&&(BigInt(J)&BigInt(J-1))===BigInt(0),"invalid scrypt N parameter","options.N",J),z(typeof Y==="number"&&Y>0&&Number.isSafeInteger(Y),"invalid scrypt r parameter","options.r",Y),z(typeof X==="number"&&X>0&&Number.isSafeInteger(X),"invalid scrypt p parameter","options.p",X),{name:"scrypt",dkLen:32,salt:Q,N:J,r:Y,p:X}}function wX($,Q,J,Y){let X=E(J.privateKey,"privateKey"),Z=Y.iv!=null?E(Y.iv,"options.iv"):Z$(16);z(Z.length===16,"invalid options.iv length","options.iv",Y.iv);let q=Y.uuid!=null?E(Y.uuid,"options.uuid"):Z$(16);z(q.length===16,"invalid options.uuid length","options.uuid",Y.iv);let G=$.slice(0,16),W=$.slice(16,32),M=new U0(G,Z),V=E(M.encrypt(X)),D=l(n([W,V])),K={address:J.address.substring(2).toLowerCase(),id:f8(q),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:R(Z).substring(2)},ciphertext:R(V).substring(2),kdf:"scrypt",kdfparams:{salt:R(Q.salt).substring(2),n:Q.N,dklen:32,p:Q.p,r:Q.r},mac:D.substring(2)}};if(J.mnemonic){let S=Y.client!=null?Y.client:`ethers/${j8}`,O=J.mnemonic.path||jX,I=J.mnemonic.locale||"en",H=$.slice(32,64),N=E(J.mnemonic.entropy,"account.mnemonic.entropy"),P=Z$(16),_=new U0(H,P),j=E(_.encrypt(N)),T=new Date,L="UTC--"+(T.getUTCFullYear()+"-"+t0(T.getUTCMonth()+1,2)+"-"+t0(T.getUTCDate(),2)+"T"+t0(T.getUTCHours(),2)+"-"+t0(T.getUTCMinutes(),2)+"-"+t0(T.getUTCSeconds(),2)+".0Z")+"--"+K.address;K["x-ethers"]={client:S,gethFilename:L,path:O,locale:I,mnemonicCounter:R(P).substring(2),mnemonicCiphertext:R(j).substring(2),version:"0.1"}}return JSON.stringify(K)}function H8($,Q,J){if(J==null)J={};let Y=x0(Q),X=SX(J),Z=e$(Y,X.salt,X.N,X.r,X.p,64);return wX(E(Z),X,$,J)}async function N8($,Q,J){if(J==null)J={};let Y=x0(Q),X=SX(J),Z=await t$(Y,X.salt,X.N,X.r,X.p,64,J.progressCallback);return wX(E(Z),X,$,J)}var VQ="m/44'/60'/0'/0/0",jq=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),H0=2147483648,Pq=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Sq="0123456789abcdef";function zQ($,Q){let J="";while($)J=Sq[$%16]+J,$=Math.trunc($/16);while(J.length<Q*2)J="0"+J;return"0x"+J}function HJ($){let Q=E($),J=c0(z$(z$(Q)),0,4),Y=n([Q,J]);return k8(Y)}var p$={};function BX($,Q,J,Y){let X=new Uint8Array(37);if($&H0)k(Y!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),X.set(E(Y),1);else X.set(E(J));for(let q=24;q>=0;q-=8)X[33+(q>>3)]=$>>24-q&255;let Z=E(a$("sha512",Q,X));return{IL:Z.slice(0,32),IR:Z.slice(32)}}function AX($,Q){let J=Q.split("/");if(z(J.length>0,"invalid path","path",Q),J[0]==="m")z($.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${$.depth}`,"path",Q),J.shift();let Y=$;for(let X=0;X<J.length;X++){let Z=J[X];if(Z.match(/^[0-9]+'$/)){let q=parseInt(Z.substring(0,Z.length-1));z(q<H0,"invalid path index",`path[${X}]`,Z),Y=Y.deriveChild(H0+q)}else if(Z.match(/^[0-9]+$/)){let q=parseInt(Z);z(q<H0,"invalid path index",`path[${X}]`,Z),Y=Y.deriveChild(q)}else z(!1,"invalid path component",`path[${X}]`,Z)}return Y}class R$ extends f0{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor($,Q,J,Y,X,Z,q,G,W){super(Q,W);n$($,p$,"HDNodeWallet"),a(this,{publicKey:Q.compressedPublicKey});let M=c0(s$(z$(this.publicKey)),0,4);a(this,{parentFingerprint:J,fingerprint:M,chainCode:Y,path:X,index:Z,depth:q}),a(this,{mnemonic:G})}connect($){return new R$(p$,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,$)}#$(){let $={address:this.address,privateKey:this.privateKey},Q=this.mnemonic;if(this.path&&Q&&Q.wordlist.locale==="en"&&Q.password==="")$.mnemonic={path:this.path,locale:"en",entropy:Q.entropy};return $}async encrypt($,Q){return await N8(this.#$(),$,{progressCallback:Q})}encryptSync($){return H8(this.#$(),$)}get extendedKey(){return k(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),HJ(n(["0x0488ADE4",zQ(this.depth,1),this.parentFingerprint,zQ(this.index,4),this.chainCode,n(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new e0(p$,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild($){let Q=G$($,"index");z(Q<=4294967295,"invalid index","index",Q);let J=this.path;if(J){if(J+="/"+(Q&~H0),Q&H0)J+="'"}let{IR:Y,IL:X}=BX(Q,this.chainCode,this.publicKey,this.privateKey),Z=new Y$(x$((p0(X)+BigInt(this.privateKey))%Pq,32));return new R$(p$,Z,this.fingerprint,R(Y),J,Q,this.depth+1,this.mnemonic,this.provider)}derivePath($){return AX(this,$)}static#Q($,Q){z(m$($),"invalid seed","seed","[REDACTED]");let J=E($,"seed");z(J.length>=16&&J.length<=64,"invalid seed","seed","[REDACTED]");let Y=E(a$("sha512",jq,J)),X=new Y$(R(Y.slice(0,32)));return new R$(p$,X,"0x00000000",R(Y.slice(32)),"m",0,0,Q,null)}static fromExtendedKey($){let Q=s(_8($));z(Q.length===82||HJ(Q.slice(0,78))===$,"invalid extended key","extendedKey","[ REDACTED ]");let J=Q[4],Y=R(Q.slice(5,9)),X=parseInt(R(Q.slice(9,13)).substring(2),16),Z=R(Q.slice(13,45)),q=Q.slice(45,78);switch(R(Q.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let G=R(q);return new e0(p$,X0(G),G,Y,Z,null,X,J,null)}case"0x0488ade4":case"0x04358394 ":if(q[0]!==0)break;return new R$(p$,new Y$(q.slice(1)),Y,Z,null,X,J,null,null)}z(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom($,Q,J){if($==null)$="";if(Q==null)Q=VQ;if(J==null)J=q0.wordlist();let Y=G0.fromEntropy(Z$(16),$,J);return R$.#Q(Y.computeSeed(),Y).derivePath(Q)}static fromMnemonic($,Q){if(!Q)Q=VQ;return R$.#Q($.computeSeed(),$).derivePath(Q)}static fromPhrase($,Q,J,Y){if(Q==null)Q="";if(J==null)J=VQ;if(Y==null)Y=q0.wordlist();let X=G0.fromPhrase($,Q,Y);return R$.#Q(X.computeSeed(),X).derivePath(J)}static fromSeed($){return R$.#Q($,null)}}class e0 extends O8{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor($,Q,J,Y,X,Z,q,G,W){super(Q,W);n$($,p$,"HDNodeVoidWallet"),a(this,{publicKey:J});let M=c0(s$(z$(J)),0,4);a(this,{publicKey:J,fingerprint:M,parentFingerprint:Y,chainCode:X,path:Z,index:q,depth:G})}connect($){return new e0(p$,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,$)}get extendedKey(){return k(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),HJ(n(["0x0488B21E",zQ(this.depth,1),this.parentFingerprint,zQ(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild($){let Q=G$($,"index");z(Q<=4294967295,"invalid index","index",Q);let J=this.path;if(J){if(J+="/"+(Q&~H0),Q&H0)J+="'"}let{IR:Y,IL:X}=BX(Q,this.chainCode,this.publicKey,null),Z=Y$.addPoints(X,this.publicKey,!0),q=X0(Z);return new e0(p$,q,Z,this.fingerprint,R(Y),J,Q,this.depth+1,this.provider)}derivePath($){return AX(this,$)}}function DQ($){try{if(JSON.parse($).encseed)return!0}catch(Q){}return!1}function OQ($,Q){let J=JSON.parse($),Y=x0(Q),X=v(Q$(J,"ethaddr:string!")),Z=IJ(Q$(J,"encseed:string!"));z(Z&&Z.length%16===0,"invalid encseed","json",$);let q=E(j$(Y,Y,2000,32,"sha256")).slice(0,16),G=Z.slice(0,16),W=Z.slice(16),M=new T8(q,G),V=KJ(E(M.decrypt(W))),D="";for(let K=0;K<V.length;K++)D+=String.fromCharCode(V[K]);return{address:X,privateKey:Z0(D)}}function FX($){return new Promise((Q)=>{setTimeout(()=>{Q()},$)})}class f$ extends f0{constructor($,Q){if(typeof $==="string"&&!$.startsWith("0x"))$="0x"+$;let J=typeof $==="string"?new Y$($):$;super(J,Q)}connect($){return new f$(this.signingKey,$)}async encrypt($,Q){let J={address:this.address,privateKey:this.privateKey};return await N8(J,$,{progressCallback:Q})}encryptSync($){let Q={address:this.address,privateKey:this.privateKey};return H8(Q,$)}static#$($){if(z($,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in $&&$.mnemonic&&$.mnemonic.locale==="en"){let J=G0.fromEntropy($.mnemonic.entropy),Y=R$.fromMnemonic(J,$.mnemonic.path);if(Y.address===$.address&&Y.privateKey===$.privateKey)return Y}let Q=new f$($.privateKey);return z(Q.address===$.address,"address/privateKey mismatch","json","[ REDACTED ]"),Q}static async fromEncryptedJson($,Q,J){let Y=null;if(MQ($))Y=await UJ($,Q,J);else if(DQ($)){if(J)J(0),await FX(0);if(Y=OQ($,Q),J)J(1),await FX(0)}return f$.#$(Y)}static fromEncryptedJsonSync($,Q){let J=null;if(MQ($))J=TJ($,Q);else if(DQ($))J=OQ($,Q);else z(!1,"invalid JSON wallet","json","[ REDACTED ]");return f$.#$(J)}static createRandom($){let Q=R$.createRandom();if($)return Q.connect($);return Q}static fromPhrase($,Q){let J=R$.fromPhrase($);if(Q)return J.connect(Q);return J}}function kX($,Q,J,Y=[]){let X=$,Z=Q,q=J,G=(Y||[]).map((T)=>{try{return v(T)}catch(U){return null}}).filter(Boolean),W=null,M=X&&typeof X.getAddress==="function"?V():Promise.resolve();async function V(){if(X)W=v(await X.getAddress())}async function D(T){X=T,W=null,M=T&&typeof T.getAddress==="function"?V():Promise.resolve(),await M}async function K(){return M}function S(T){let U=(L)=>L&&typeof L==="object"&&!Array.isArray(L)?Object.keys(L).sort().reduce((w,A)=>(w[A]=U(L[A]),w),{}):Array.isArray(L)?L.map(U):L;return JSON.stringify(U(T))}function O(T){if(!T?.signature||!T?.originEthAddress||!T?.originUser)return{ok:!1,reason:"missing-fields"};let U;try{if(U=v(T.originEthAddress),v(T.originUser)!==U)return{ok:!1,reason:"address-mismatch"}}catch{return{ok:!1,reason:"invalid-address"}}let{signature:L,originEthAddress:w,...A}=T,F=S(A);try{let f=$Q(V$(F),L);if(v(f)!==U)return{ok:!1,reason:"invalid-signature"};let{originUser:y,...r}=A;return{ok:!0,normalizedOriginEthAddress:U,payload:r}}catch(f){return{ok:!1,reason:"verify-error",error:f}}}async function I(T){if(await K(),!X||!W)return[];let U=W,L=[];for(let w of T){if(w?.signature&&w?.originEthAddress&&w?.originUser){L.push(w);continue}let A={...w,originUser:U},F=S(A);try{let f=await X.signMessage(V$(F));L.push({...w,originUser:U,originEthAddress:U,signature:f})}catch(f){}}return L}async function H(T){let U=[],L="guest";for(let w of T){let A,F;if(w.type==="sync"){U.push(w);continue}if(w.type==="fullStateSync"){if(w.signature&&w.originEthAddress&&w.originUser){let B=O(w);if(!B.ok)continue;U.push(B.payload)}else U.push(w);continue}if(w.type==="deltaSync"){if(w.signature&&w.originEthAddress&&w.originUser){let B=O(w);if(!B.ok)continue;U.push(B.payload)}else U.push(w);continue}{let B=O(w);if(!B.ok)continue;A=B.normalizedOriginEthAddress,F=B.payload}let f;if(G.includes(A))f="superadmin";else f=(await Z.get(`user:${A}`)).result?.value?.role||"guest";let y=F.type,r=q.mapChangeTypeToAction(y,F);if(y==="upsert"&&F.id===`user:${A}`){if(!(await Z.get(F.id)).result){let b=W&&W===A,c={...F,value:{ethAddress:A,role:"guest"},timestamp:F.timestamp||Z.hybridClock.now()};U.push(c);continue}else if(f!=="superadmin"&&F.value?.role&&F.value.role!==f)F.value.role=f}let{role:p,ethAddress:C}=F.value??{};if(p==="superadmin"&&!G.includes(v(C??"")))continue;if(q.can(f,r))U.push(F)}return{validatedOperations:U}}async function N(T){if(await K(),!X)throw Error("\uD83D\uDEE1️ SM Encrypt: User session (signer) required for encryption.");try{let U=await _("ssm-encrypt-for-current-user-v1"),L=Z.encode(T),w=Z.pako.deflate(L),A=Z$(12),F=await crypto.subtle.encrypt({name:"AES-GCM",iv:A},U,w);return JSON.stringify({iv:R(A),encrypted:R(new Uint8Array(F)),type:"aes-gcm-self-ssm-v2"})}catch(U){throw Error("\uD83D\uDEE1️ SM: Failed to encrypt personal data.")}}async function P(T){if(await K(),!X)throw Error("\uD83D\uDEE1️ SM Decrypt: User session (signer) required for decryption.");let U;try{U=JSON.parse(T)}catch{throw Error("\uD83D\uDEE1️ SM Decrypt: encryptedString is not valid JSON.")}if(U.type!=="aes-gcm-self-ssm-v2")throw Error("\uD83D\uDEE1️ SM Decrypt: Unsupported encryption type or incorrect version.");if(!U.iv||!U.encrypted)throw Error("\uD83D\uDEE1️ SM Decrypt: Invalid encrypted data format.");try{let L=E(U.iv),w=E(U.encrypted),A=await _("ssm-encrypt-for-current-user-v1"),F=await crypto.subtle.decrypt({name:"AES-GCM",iv:L},A,w),f=Z.pako.inflate(new Uint8Array(F));return Z.decode(f)}catch(L){throw Error("\uD83D\uDEE1️ SM: Failed to decrypt personal data.")}}async function _(T="ssm-default-aes-salt"){let U=E(X.privateKey),L=V$(T),w=await crypto.subtle.importKey("raw",U,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:L,iterations:1e5,hash:"SHA-256"},w,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}return{get localUserEthAddress(){return W},updateSigner:D,signOutgoingOperations:I,verifyIncomingOperations:H,encryptDataForCurrentUser:N,decryptDataForCurrentUser:P}}var KQ="gdb_ethereum_material_encrypted_webauthn_v2",R8="gdb_webauthn_registration_details_v2";function $8($){if(!($ instanceof ArrayBuffer))if($.buffer&&$.buffer instanceof ArrayBuffer)$=$.buffer.slice($.byteOffset,$.byteOffset+$.byteLength);else throw Error("arrayBufferToBase64Url: ArrayBuffer or TypedArray required.");return btoa(String.fromCharCode(...new Uint8Array($))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Q8($){let Q=$.replace(/-/g,"+").replace(/_/g,"/"),J=atob(Q),Y=new ArrayBuffer(J.length),X=new Uint8Array(Y);for(let Z=0;Z<J.length;Z++)X[Z]=J.charCodeAt(Z);return Y}function _X(){let $=null,Q=null,J=null,Y=null,X=null;async function Z(){let j=f$.createRandom();return J=j.mnemonic.phrase,{address:await j.getAddress(),mnemonic:J,privateKey:j.privateKey}}async function q(j,T){let U=Z$(12),L=E(j),w=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:U},T,L);return JSON.stringify({iv:$8(U.buffer.slice(U.byteOffset,U.byteOffset+U.byteLength)),ciphertext:$8(w)})}async function G(j,T){let{iv:U,ciphertext:L}=JSON.parse(j),w=Q8(U),A=Q8(L),F=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(w)},T,A);return R(new Uint8Array(F))}async function W(j,T){let U=await window.crypto.subtle.importKey("raw",T,{name:"PBKDF2"},!1,["deriveKey"]);return window.crypto.subtle.deriveKey({name:"PBKDF2",salt:j,iterations:200000,hash:"SHA-256"},U,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}async function M(j,T){let U=localStorage.getItem(KQ);if(!U)return I(),null;try{let L=await W(j,T),w=await G(U,L),A=new f$(w);return $=A,Q=await A.getAddress(),J=null,Y=j,X=T,Q}catch(L){return I(),null}}async function V(j){if(!window.navigator.credentials||!window.navigator.credentials.create)return alert("WebAuthn is not supported by this browser."),!1;let T=Z$(32),U=T.buffer.slice(T.byteOffset,T.byteOffset+T.byteLength);try{let L=Y$.computePublicKey(j,!1),w=E(L),A=E(l(w)),F=64,f=A.buffer.slice(A.byteOffset,A.byteOffset+Math.min(A.length,64)),r=new f$(j).address.slice(0,10),p={challenge:U,rp:{name:"GDB WebAuthn App",id:window.location.hostname},user:{id:f,name:`user-${r}`,displayName:"GDB User"},pubKeyCredParams:[{type:"public-key",alg:-7},{type:"public-key",alg:-257}],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"preferred",requireResidentKey:!1},timeout:60000,attestation:"none"},C=await window.navigator.credentials.create({publicKey:p});if(!C||!C.rawId||!C.id)throw Error("❌ WebAuthn registration failed or was canceled (no credential).");let B=C.rawId,b=await W(B,U),g=await q(j,b);return localStorage.setItem(KQ,g),localStorage.setItem(R8,JSON.stringify({credentialIdBase64Url:$8(B),originalChallengeBase64Url:$8(U)})),await M(B,U)}catch(L){return I(),localStorage.removeItem(KQ),localStorage.removeItem(R8),alert(`❌ WebAuthn registration error: ${L.message||"Unknown. Check console."}`),!1}}async function D(){if(!window.navigator.credentials||!window.navigator.credentials.get)return alert("WebAuthn is not supported by this browser."),null;let j=localStorage.getItem(R8);if(!j)return null;let T;try{T=JSON.parse(j)}catch(F){return null}if(!T.credentialIdBase64Url||!T.originalChallengeBase64Url)return null;let U=Q8(T.credentialIdBase64Url),L=Q8(T.originalChallengeBase64Url),w=Z$(32),A=w.buffer.slice(w.byteOffset,w.byteOffset+w.byteLength);try{let F={challenge:A,allowCredentials:[{type:"public-key",id:U}],userVerification:"preferred",timeout:60000},f=await window.navigator.credentials.get({publicKey:F});if(!f||!f.rawId||!f.response||!f.response.authenticatorData||!f.response.signature||!f.response.clientDataJSON)throw Error("❌ WebAuthn authentication failed or was canceled (incomplete assertion).");if($8(f.rawId)!==T.credentialIdBase64Url)throw Error("❌ WebAuthn credential ID in assertion does not match stored ID.");let y=JSON.parse(new TextDecoder().decode(f.response.clientDataJSON));if(y.challenge!==$8(A))throw Error("❌ WebAuthn assertion challenge mismatch.");if(y.origin!==`https://${window.location.hostname}`&&y.origin!==`http://${window.location.hostname}`){let r=window.location.protocol+"//";if(y.origin.startsWith(r+window.location.hostname));else if(window.location.hostname==="localhost"&&y.origin.startsWith(r+"localhost"));}return await M(f.rawId,L)}catch(F){return I(),null}}async function K(){let j=localStorage.getItem(R8);if(!j)return null;let T;try{T=JSON.parse(j)}catch(U){return null}if(!T.credentialIdBase64Url||!T.originalChallengeBase64Url)return null;try{let U=Q8(T.credentialIdBase64Url),L=Q8(T.originalChallengeBase64Url),w=await M(U,L);if(w)return w;else return null}catch(U){return I(),null}}async function S(j){try{let T=f$.fromPhrase(j);return $=T,Q=await T.getAddress(),J=j,Y=null,X=null,{address:Q,privateKey:T.privateKey,mnemonic:J}}catch(T){return I(),null}}function O(){return localStorage.getItem(R8)!==null&&localStorage.getItem(KQ)!==null}function I(){$=null,Q=null,J=null,Y=null,X=null}function H(){return $}function N(){return Q}function P(){if(J&&(!Y||!X))return J;return null}function _(){return!!($&&Y&&X)}return{createNewEthereumIdentity:Z,registerAndProtectWithWebAuthn:V,loginWithWebAuthn:D,trySilentWebAuthnLogin:K,loadWalletFromMnemonic:S,hasWebAuthnRegistration:O,logout:I,getSigner:H,getAddress:N,getMnemonicForDisplay:P,isSessionWebAuthnProtected:_}}var L8={$eq:($,Q)=>$===Q,$ne:($,Q)=>$!==Q,$gt:($,Q)=>$>Q,$gte:($,Q)=>$>=Q,$lt:($,Q)=>$<Q,$lte:($,Q)=>$<=Q,$in:($,Q)=>Array.isArray(Q)&&(Array.isArray($)?$.some((J)=>Q.includes(J)):Q.includes($)),$between:($,[Q,J])=>$>=Q&&$<=J,$exists:($,Q)=>Q?$!==void 0:$===void 0,$startsWith:($,Q)=>typeof $==="string"&&$.startsWith(Q),$endsWith:($,Q)=>typeof $==="string"&&$.endsWith(Q),$contains:($,Q)=>typeof $==="string"&&$.includes(Q),$text:{global:($,Q)=>{let J=(X)=>String(X).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),Y=J(Q);return Object.values($).some((X)=>typeof X==="object"?null.fieldSearch(X,Y):J(X).includes(Y))},field:($,Q)=>{let J=(X)=>String(X).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),Y=J(Q);return Array.isArray($)?$.some((X)=>J(X).includes(Y)):J($).includes(Y)}},$like:($,Q)=>typeof $==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test($),$regex:($,Q)=>typeof $==="string"&&new RegExp(Q.$regex||Q,"i").test($),$and:($,Q,J)=>Q.every((Y)=>J.createFilter(Y,J.allNodes)($)),$or:($,Q,J)=>Q.some((Y)=>J.createFilter(Y,J.allNodes)($)),$not:($,Q,J)=>!J.createFilter(Q,J.allNodes)($),$edge:($,Q,J)=>{if(!$.edges?.length||typeof Q!=="object"||Q===null)return!1;let Y=J.createFilter(Q,J.allNodes),X=[...$.edges],Z=new Set(X).add($.id),q=[];while(X.length){let G=X.shift(),W=J.allNodes[G];if(!W)continue;if(Y(W))q.push(W);W.edges?.forEach((M)=>!Z.has(M)&&Z.add(M)&&X.push(M))}if(q.length)$._edgeResult=q;return q.length>0}},IQ=($,Q)=>Q.split(".").reduce((J,Y)=>J&&typeof J==="object"&&(Y in J)?J[Y]:void 0,$),TQ=($,Q)=>{if(Object.keys($).length===0)return()=>!0;return(J)=>Object.entries($).every(([Y,X])=>{if(Y.startsWith("$"))return L8[Y](J,X,{createFilter:TQ,allNodes:Q});let Z=IQ(J.value,Y);if(Z===void 0)Z=IQ(J,Y);if(typeof X!=="object"||X===null)return L8.$eq(Z,X);return Object.entries(X).every(([q,G])=>{if(q==="$text")return L8.$text.field(Z,G);if(q==="$between"&&G.every((W)=>W instanceof Date))return L8.$between(new Date(Z),G);return L8[q]?.(Z,G,{createFilter:TQ,allNodes:Q})??!1})})},fX=($,Q)=>{let{$edge:J,...Y}=Q.query||{},X=TQ(Y,$),Z=Object.values($).filter(X),G=[...J?(()=>{let W=TQ({$edge:J},$);Z.forEach((V)=>W(V));let M=new Map;return Z.forEach((V)=>{if(V._edgeResult)V._edgeResult.forEach((D)=>M.set(D.id,D)),delete V._edgeResult}),Array.from(M.values())})():Z];if(Q.field){let W=Q.order==="asc"?1:-1;G.sort((M,V)=>{let D=IQ(M.value,Q.field),K=IQ(V.value,Q.field);if(typeof D==="string"&&typeof K==="string")return D.localeCompare(K)*W;return((D??0)-(K??0))*W})}if(Q.$after){let W=G.findIndex((M)=>M.id===Q.$after);G=W>=0?G.slice(W+1):[]}if(Q.$before){let W=G.findIndex((M)=>M.id===Q.$before);G=W>=0?G.slice(0,W):[]}if(Q.$limit)G=G.slice(0,Q.$limit);return G};var NJ=($)=>`${$.slice(0,6)}...${$.slice(-4)}`,RJ={superadmin:{can:["assignRole","deleteAny"],inherits:["admin"]},admin:{can:["delete"],inherits:["manager"]},manager:{can:["publish"],inherits:["user"]},user:{can:["write","link","sync"],inherits:["guest"]},guest:{can:["read","sync"]}},d$="gdb_sm_last_session_was_webauthn";function Bq($){if(typeof $!=="object"||$===null||Array.isArray($))throw Error("\uD83D\uDEE1️ SM: Custom roles must be a valid object.");RJ=$}function LJ($,Q,J=new Set){let Y=RJ;if(!$||!Y[$])return!1;if(J.has($))return!1;if(J.add($),Y[$].can&&Y[$].can.includes(Q))return J.delete($),!0;if(Y[$].inherits&&Array.isArray(Y[$].inherits)){if(Y[$].inherits.some((X)=>LJ(X,Q,new Set(J))))return J.delete($),!0}return J.delete($),!1}function Aq($,Q={}){if($==="upsert")return"write";if($==="remove")return"delete";if($==="link")return"link";if($==="sync"||$==="syncReceive"||$==="deltaSync")return"sync";return"unknown"}var u=null,$$=null,t=_X(),HQ=[],H$=!1,bX=!1,L$=null,y$=!1,NQ=null,RQ=null;function _z($){if(typeof $==="function")NQ=$,C$();else if($===null)NQ=null}function fz($){if(typeof $==="function")RQ=$,C$();else if($===null)RQ=null}function C$(){if(NQ)NQ({isActive:H$,activeAddress:$$?.localUserEthAddress||t.getAddress(),abbrAddr:NJ($$?.localUserEthAddress||t.getAddress()||"N/A"),isWebAuthnProtected:y$,hasVolatileIdentity:!!L$,hasWebAuthnHardwareRegistration:t.hasWebAuthnRegistration()});if(RQ)RQ({isActive:H$,activeAddress:$$?.localUserEthAddress||t.getAddress()})}async function bz(){if(H$)await CQ();t.logout(),L$=null,y$=!1,localStorage.removeItem(d$);try{let $=await t.createNewEthereumIdentity();if($)L$=$;return C$(),$}catch($){throw L$=null,C$(),$}}async function xz($){let Q=$||L$?.privateKey;if(!Q)return alert("\uD83D\uDEE1️ SM Error: No volatile ETH identity to protect."),null;if(H$&&y$&&$$?.signer)return $$.localUserEthAddress;if(H$)await CQ();t.logout();let J=await t.registerAndProtectWithWebAuthn(Q);if(J&&t.getSigner()){if(L$=null,y$=!0,localStorage.setItem(d$,"true"),u)await LQ(t.getSigner(),{method:"WebAuthn"});return J}else return y$=!1,localStorage.removeItem(d$),C$(),null}async function vz(){if(H$)await CQ();t.logout(),L$=null;let $=await t.loginWithWebAuthn();if($&&t.getSigner()){if(y$=!0,localStorage.setItem(d$,"true"),u)await LQ(t.getSigner(),{method:"silent WebAuthn"});return $}else return y$=!1,localStorage.removeItem(d$),C$(),null}async function yz($){if(H$)await CQ();t.logout(),L$=null;let Q=await t.loadWalletFromMnemonic($);if(Q&&Q.address&&t.getSigner()){if(L$=Q,y$=!1,localStorage.removeItem(d$),u)await LQ(t.getSigner(),{method:"mnemonic"});return L$}else return C$(),null}async function Fq($,Q={}){if(!$)return;if(u=$,HQ=((Q.superAdmins??[])||[]).map((Y)=>{try{return v(Y)}catch(X){return null}}).filter(Boolean),$$=kX(null,u,{can:LJ,mapChangeTypeToAction:Aq},HQ),!bX)u.use(async function(X){let{validatedOperations:Z}=await $$.verifyIncomingOperations(X);return Z||[]}),bX=!0;if(localStorage.getItem(d$)==="true"&&t.hasWebAuthnRegistration())try{if(await t.trySilentWebAuthnLogin()&&t.getSigner())y$=!0,await LQ(t.getSigner());else localStorage.removeItem(d$),C$()}catch(Y){localStorage.removeItem(d$),C$()}else C$();if(Q.customRoles)Bq(Q.customRoles);if(Q.acls)try{(await import(new URL("./sm-acls.min.js",import.meta.url).href)).start(u,Q)}catch(Y){}if(Q.governanceRules)try{(await import(new URL("./sm-gov.min.js",import.meta.url).href)).start(u,Q)}catch(Y){}}var LQ=async($,Q={})=>{if(!u||!$$||!$)return H$=!1,C$(),!1;try{await $$.updateSigner($)}catch(G){return H$=!1,C$(),!1}let{localUserEthAddress:J}=$$,{syncChannel:Y}=u??{};if(Y?.send&&!Y._originalSendBySM)Y._originalSendBySM=Y.send.bind(Y),Y.send=async(G)=>Y._originalSendBySM(await $$.signOutgoingOperations(G));let X=`user:${J}`,Z={role:"unknown",status:"Existing user."};try{let{result:G}=await u.get(X);if(!G)Z.role=HQ.includes(J)?"superadmin":"guest",Z.status="New user.",await u.put({ethAddress:J,role:Z.role},X);else Z.role=G.value.role||"unknown";Y?.send?.([{type:"sync",timestamp:null}])}catch(G){}H$=!0,C$();let q=Q.method?` via ${Q.method}`:"";return!0};async function CQ(){if(u&&u.syncChannel&&u.syncChannel._originalSendBySM)u.syncChannel.send=u.syncChannel._originalSendBySM,delete u.syncChannel._originalSendBySM;if(t.logout(),$$)try{await $$.updateSigner(null)}catch($){}L$=null,y$=!1,localStorage.removeItem(d$),H$=!1,C$()}var xX="_gdbSecurePayloadV1",UQ=async($,Q)=>{if(!$)return null;let J=$$,Y=$.value,X=!1;if(Y&&Y._gdbWrapperType===xX){let Z=Y,q=Z._payload,G=Z._meta;if(Y=typeof q==="string"?q:Z,G&&G.owner&&J&&J.localUserEthAddress&&G.owner===J.localUserEthAddress)try{let W=JSON.stringify({iv:G.iv,encrypted:q,type:G.encType});Y=await J.decryptDataForCurrentUser(W),X=!0}catch(W){}else if(G&&G.owner);}return{id:Q??$.id,value:Y,edges:$.edges||[],timestamp:$.timestamp,decrypted:X}};async function gz($,Q){let J=Q??(typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`),Y=`SM_ID_PREFIX_${J}`;if(!u)throw Error("❌ SM.put: Not initialized");if(!CJ())throw Error("❌ SM.put: Session not active");let{result:X}=await kq(J);if(X&&X.decrypted===!1)throw Error(`❌ SM.put: Cannot overwrite encrypted data on node ID '${Q}' owned by another user. DENIED.`);let Z=$$,q,G;try{let M=await Z.encryptDataForCurrentUser($),V=JSON.parse(M);q=V.encrypted,G={owner:Z.localUserEthAddress,encType:V.type,iv:V.iv}}catch(M){throw M}let W={_gdbWrapperType:xX,_payload:q,_meta:G};return await u.put(W,Y),J}async function kq($,Q=null){if(!$)throw Error("❌ SM.get: id is required");let J=`SM_ID_PREFIX_${$}`;if(!u)throw Error("❌ SM.get: Not initialized");if(!Q){let q=await u.get(J,null);return{result:await UQ(q?q.result:null,$)}}let Y=null,X=await u.get(J,null);if(Y=await UQ(X?X.result:null,$),typeof Q==="function")Q(Y);let{unsubscribe:Z}=await u.get(J,async(q)=>{let G=await UQ(q,$),W=G&&Y&&u.hybridClock?.compare(G.timestamp,Y.timestamp)>0,M=JSON.stringify(G?G.value:null)!==JSON.stringify(Y?Y.value:null);if(!G&&Y){if(Y=null,typeof Q==="function")Q(null)}else if(G&&(!Y||W||M)){if(Y=G,typeof Q==="function")Q(G)}});return{result:Y,unsubscribe:()=>{if(Z)Z()}}}async function hz($){if(!$)throw Error("❌ SM.remove: id is required");if(!u)throw Error("❌ SM.remove: Not initialized");return u.remove(`SM_ID_PREFIX_${$}`)}async function mz($={}){if(!u)throw Error("❌ SM.map: Not initialized");let{query:Q,field:J,order:Y="asc",$limit:X,...Z}=$,{results:q}=await u.map({...Z,query:{id:/^SM_ID_PREFIX_/},realtime:!1}),G=(await Promise.all(q.map((V)=>UQ(V,V.id.replace("SM_ID_PREFIX_",""))))).filter(Boolean),W=Object.fromEntries(G.map((V)=>[V.id,V]));return{results:fX(W,{query:Q,field:J,order:Y,$limit:X})}}function vX(){if(!H$||!$$?.localUserEthAddress)throw Error("❌ SM Operation: Security not active or no local user ETH identified in SecurityManager.");return $$.localUserEthAddress}async function cz($,Q,J=null){if(!$||!Q)throw Error("❌ SM assignRole: targetUserEthAddress, and role are required.");let Y;try{Y=v($)}catch(M){throw Error(`❌ SM assignRole: targetUserEthAddress '${NJ($)}' is invalid.`)}if(!RJ[Q])throw Error(`❌ SM assignRole: Role '${Q}' is not a defined role.`);let X=vX(),Z=`user:${Y}`,W={...(await u.get(Z)).result?.value||{},ethAddress:Y,role:Q,assignedByEthAddress:X,expiresAt:J?new Date(J).toISOString():null,priority:!0};await u.put(W,Z)}async function _q(){if(!H$||!$$?.localUserEthAddress)return!1;return HQ.includes($$.localUserEthAddress)}async function fq($,Q="unknown"){let J;try{J=v($)}catch(Z){throw Error(`❌ SM: Invalid ETH address '${NJ($)}' when verifying role for op '${Q}'.`)}let Y=await u.get(`user:${J}`);if(!Y.result?.value?.role)throw Error(`❌ SM: Role not found for ETH ${J} (operation: ${Q}).`);let X=Y.result.value;if(X.expiresAt&&new Date(X.expiresAt)<new Date)throw Error(`❌ SM: Role for ETH ${J} has expired.`);return X.role}async function bq($,Q){let J=await fq($,Q);if(!LJ(J,Q))throw Error(`❌ SM: ETH User ${$} (role ${J}) does not have permission for '${Q}'.`)}async function uz($){if(!$)throw Error("❌ SM executeWithPermission: operationName is required.");let Q=vX();if(!($==="assignRole"&&await _q()))await bq(Q,$);return Q}function pz(){return H$?$$?.localUserEthAddress:null}function CJ(){return H$}function dz(){return H$&&y$}function lz(){return t.hasWebAuthnRegistration()}function nz(){if(L$&&L$.mnemonic&&!t.isSessionWebAuthnProtected())return L$.mnemonic;return t.getMnemonicForDisplay()}async function oz($){if(!CJ()||!$$)throw Error("❌ SM Encryption: Local signing security not active or SecurityManager not available.");return await $$.encryptDataForCurrentUser($)}async function iz($){if(!CJ()||!$$)throw Error("❌ SM Decryption: Local signing security not active or SecurityManager not available.");return await $$.decryptDataForCurrentUser($)}async function rz($,Q,J={}){u=$;let Y={...Q};return $.sm=Y,Object.hasOwn(J,"superAdmins")&&await Fq($,J),Object.freeze(Y),{sm:Y}}export{bz as startNewUserRegistration,_z as setSecurityStateChangeCallback,fz as setGovernanceStateChangeCallback,hz as remove,gz as put,xz as protectCurrentIdentityWithWebAuthn,mz as map,yz as loginOrRecoverUserWithMnemonic,vz as loginCurrentUserWithWebAuthn,CJ as isSecurityActive,dz as isCurrentSessionProtectedByWebAuthn,rz as init,lz as hasExistingWebAuthnRegistration,nz as getMnemonicForDisplayAfterRegistrationOrRecovery,pz as getActiveEthAddress,kq as get,uz as executeWithPermission,oz as encryptDataForCurrentUser,iz as decryptDataForCurrentUser,CQ as clearSecurity,cz as assignRole,NJ as abbrAddr};
4
+ `)!==this.#Q)throw Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#J=$}return this.#J}getWord($){let Q=this.#Y();return z($>=0&&$<Q.length,`invalid word index: ${$}`,"index",$),Q[$]}getWordIndex($){return this.#Y().indexOf($)}}var qq="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",Gq="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",WJ=null;class q0 extends GJ{constructor(){super("en",qq,Gq)}static wordlist(){if(WJ==null)WJ=new q0;return WJ}}function CX($){return(1<<$)-1<<8-$&255}function Wq($){return(1<<$)-1&255}function MJ($,Q){if(m0("NFKD"),Q==null)Q=q0.wordlist();let J=Q.split($);z(J.length%3===0&&J.length>=12&&J.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let Y=new Uint8Array(Math.ceil(11*J.length/8)),X=0;for(let M=0;M<J.length;M++){let V=Q.getWordIndex(J[M].normalize("NFKD"));z(V>=0,`invalid mnemonic word at index ${M}`,"mnemonic","[ REDACTED ]");for(let D=0;D<11;D++){if(V&1<<10-D)Y[X>>3]|=1<<7-X%8;X++}}let Z=32*J.length/3,q=J.length/3,G=CX(q),W=E(z$(Y.slice(0,Z/8)))[0]&G;return z(W===(Y[Y.length-1]&G),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),R(Y.slice(0,Z/8))}function VJ($,Q){if(z($.length%4===0&&$.length>=16&&$.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),Q==null)Q=q0.wordlist();let J=[0],Y=11;for(let q=0;q<$.length;q++)if(Y>8)J[J.length-1]<<=8,J[J.length-1]|=$[q],Y-=8;else J[J.length-1]<<=Y,J[J.length-1]|=$[q]>>8-Y,J.push($[q]&Wq(8-Y)),Y+=3;let X=$.length/4,Z=parseInt(z$($).substring(2,4),16)&CX(X);return J[J.length-1]<<=X,J[J.length-1]|=Z>>8-X,Q.join(J.map((q)=>Q.getWord(q)))}var zJ={};class G0{phrase;password;wordlist;entropy;constructor($,Q,J,Y,X){if(Y==null)Y="";if(X==null)X=q0.wordlist();n$($,zJ,"Mnemonic"),a(this,{phrase:J,password:Y,wordlist:X,entropy:Q})}computeSeed(){let $=V$("mnemonic"+this.password,"NFKD");return j$(V$(this.phrase,"NFKD"),$,2048,64,"sha512")}static fromPhrase($,Q,J){let Y=MJ($,J);return $=VJ(E(Y),J),new G0(zJ,Y,$,Q,J)}static fromEntropy($,Q,J){let Y=E($,"entropy"),X=VJ(Y,J);return new G0(zJ,R(Y),X,Q,J)}static entropyToPhrase($,Q){let J=E($,"entropy");return VJ(J,Q)}static phraseToEntropy($,Q){return MJ($,Q)}static isValidMnemonic($,Q){try{return MJ($,Q),!0}catch(J){}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */var D$=function($,Q,J,Y){if(J==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!Y:!Q.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Y:J==="a"?Y.call($):Y?Y.value:Q.get($)},DJ=function($,Q,J,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,J):X?X.value=J:Q.set($,J),J},ZQ,F$,u$,Mq={16:10,24:12,32:14},Vq=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],A$=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],XQ=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],zq=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Dq=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Oq=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Kq=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Iq=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Tq=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Uq=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239000,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Hq=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998000,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Nq=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Rq=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Lq=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239000,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Cq=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998000,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function OJ($){let Q=[];for(let J=0;J<$.length;J+=4)Q.push($[J]<<24|$[J+1]<<16|$[J+2]<<8|$[J+3]);return Q}class qQ{get key(){return D$(this,ZQ,"f").slice()}constructor($){if(ZQ.set(this,void 0),F$.set(this,void 0),u$.set(this,void 0),!(this instanceof qQ))throw Error("AES must be instanitated with `new`");DJ(this,ZQ,new Uint8Array($),"f");let Q=Mq[this.key.length];if(Q==null)throw TypeError("invalid key size (must be 16, 24 or 32 bytes)");DJ(this,u$,[],"f"),DJ(this,F$,[],"f");for(let M=0;M<=Q;M++)D$(this,u$,"f").push([0,0,0,0]),D$(this,F$,"f").push([0,0,0,0]);let J=(Q+1)*4,Y=this.key.length/4,X=OJ(this.key),Z;for(let M=0;M<Y;M++)Z=M>>2,D$(this,u$,"f")[Z][M%4]=X[M],D$(this,F$,"f")[Q-Z][M%4]=X[M];let q=0,G=Y,W;while(G<J){if(W=X[Y-1],X[0]^=A$[W>>16&255]<<24^A$[W>>8&255]<<16^A$[W&255]<<8^A$[W>>24&255]^Vq[q]<<24,q+=1,Y!=8)for(let K=1;K<Y;K++)X[K]^=X[K-1];else{for(let K=1;K<Y/2;K++)X[K]^=X[K-1];W=X[Y/2-1],X[Y/2]^=A$[W&255]^A$[W>>8&255]<<8^A$[W>>16&255]<<16^A$[W>>24&255]<<24;for(let K=Y/2+1;K<Y;K++)X[K]^=X[K-1]}let M=0,V,D;while(M<Y&&G<J)V=G>>2,D=G%4,D$(this,u$,"f")[V][D]=X[M],D$(this,F$,"f")[Q-V][D]=X[M++],G++}for(let M=1;M<Q;M++)for(let V=0;V<4;V++)W=D$(this,F$,"f")[M][V],D$(this,F$,"f")[M][V]=Nq[W>>24&255]^Rq[W>>16&255]^Lq[W>>8&255]^Cq[W&255]}encrypt($){if($.length!=16)throw TypeError("invalid plaintext size (must be 16 bytes)");let Q=D$(this,u$,"f").length-1,J=[0,0,0,0],Y=OJ($);for(let q=0;q<4;q++)Y[q]^=D$(this,u$,"f")[0][q];for(let q=1;q<Q;q++){for(let G=0;G<4;G++)J[G]=zq[Y[G]>>24&255]^Dq[Y[(G+1)%4]>>16&255]^Oq[Y[(G+2)%4]>>8&255]^Kq[Y[(G+3)%4]&255]^D$(this,u$,"f")[q][G];Y=J.slice()}let X=new Uint8Array(16),Z=0;for(let q=0;q<4;q++)Z=D$(this,u$,"f")[Q][q],X[4*q]=(A$[Y[q]>>24&255]^Z>>24)&255,X[4*q+1]=(A$[Y[(q+1)%4]>>16&255]^Z>>16)&255,X[4*q+2]=(A$[Y[(q+2)%4]>>8&255]^Z>>8)&255,X[4*q+3]=(A$[Y[(q+3)%4]&255]^Z)&255;return X}decrypt($){if($.length!=16)throw TypeError("invalid ciphertext size (must be 16 bytes)");let Q=D$(this,F$,"f").length-1,J=[0,0,0,0],Y=OJ($);for(let q=0;q<4;q++)Y[q]^=D$(this,F$,"f")[0][q];for(let q=1;q<Q;q++){for(let G=0;G<4;G++)J[G]=Iq[Y[G]>>24&255]^Tq[Y[(G+3)%4]>>16&255]^Uq[Y[(G+2)%4]>>8&255]^Hq[Y[(G+1)%4]&255]^D$(this,F$,"f")[q][G];Y=J.slice()}let X=new Uint8Array(16),Z=0;for(let q=0;q<4;q++)Z=D$(this,F$,"f")[Q][q],X[4*q]=(XQ[Y[q]>>24&255]^Z>>24)&255,X[4*q+1]=(XQ[Y[(q+3)%4]>>16&255]^Z>>16)&255,X[4*q+2]=(XQ[Y[(q+2)%4]>>8&255]^Z>>8)&255,X[4*q+3]=(XQ[Y[(q+1)%4]&255]^Z)&255;return X}}ZQ=new WeakMap,F$=new WeakMap,u$=new WeakMap;class K8{constructor($,Q,J){if(J&&!(this instanceof J))throw Error(`${$} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new qQ(Q)},name:{enumerable:!0,value:$}})}}var GQ=function($,Q,J,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,J):X?X.value=J:Q.set($,J),J},a0=function($,Q,J,Y){if(J==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!Y:!Q.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Y:J==="a"?Y.call($):Y?Y.value:Q.get($)},I8,W0;class T8 extends K8{constructor($,Q){super("ECC",$,T8);if(I8.set(this,void 0),W0.set(this,void 0),Q){if(Q.length%16)throw TypeError("invalid iv size (must be 16 bytes)");GQ(this,I8,new Uint8Array(Q),"f")}else GQ(this,I8,new Uint8Array(16),"f");GQ(this,W0,this.iv,"f")}get iv(){return new Uint8Array(a0(this,I8,"f"))}encrypt($){if($.length%16)throw TypeError("invalid plaintext size (must be multiple of 16 bytes)");let Q=new Uint8Array($.length);for(let J=0;J<$.length;J+=16){for(let Y=0;Y<16;Y++)a0(this,W0,"f")[Y]^=$[J+Y];GQ(this,W0,this.aes.encrypt(a0(this,W0,"f")),"f"),Q.set(a0(this,W0,"f"),J)}return Q}decrypt($){if($.length%16)throw TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let Q=new Uint8Array($.length);for(let J=0;J<$.length;J+=16){let Y=this.aes.decrypt($.subarray(J,J+16));for(let X=0;X<16;X++)Q[J+X]=Y[X]^a0(this,W0,"f")[X],a0(this,W0,"f")[X]=$[J+X]}return Q}}I8=new WeakMap,W0=new WeakMap;var s0=function($,Q,J,Y,X){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?X.call($,J):X?X.value=J:Q.set($,J),J},k$=function($,Q,J,Y){if(J==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!Y:!Q.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Y:J==="a"?Y.call($):Y?Y.value:Q.get($)},U8,b0,_$;class U0 extends K8{constructor($,Q){super("CTR",$,U0);if(U8.set(this,void 0),b0.set(this,void 0),_$.set(this,void 0),s0(this,_$,new Uint8Array(16),"f"),k$(this,_$,"f").fill(0),s0(this,U8,k$(this,_$,"f"),"f"),s0(this,b0,16,"f"),Q==null)Q=1;if(typeof Q==="number")this.setCounterValue(Q);else this.setCounterBytes(Q)}get counter(){return new Uint8Array(k$(this,_$,"f"))}setCounterValue($){if(!Number.isInteger($)||$<0||$>Number.MAX_SAFE_INTEGER)throw TypeError("invalid counter initial integer value");for(let Q=15;Q>=0;--Q)k$(this,_$,"f")[Q]=$%256,$=Math.floor($/256)}setCounterBytes($){if($.length!==16)throw TypeError("invalid counter initial Uint8Array value length");k$(this,_$,"f").set($)}increment(){for(let $=15;$>=0;$--)if(k$(this,_$,"f")[$]===255)k$(this,_$,"f")[$]=0;else{k$(this,_$,"f")[$]++;break}}encrypt($){var Q,J;let Y=new Uint8Array($);for(let X=0;X<Y.length;X++){if(k$(this,b0,"f")===16)s0(this,U8,this.aes.encrypt(k$(this,_$,"f")),"f"),s0(this,b0,0,"f"),this.increment();Y[X]^=k$(this,U8,"f")[s0(this,b0,(J=k$(this,b0,"f"),Q=J++,J),"f"),Q]}return Y}decrypt($){return this.encrypt($)}}U8=new WeakMap,b0=new WeakMap,_$=new WeakMap;function KJ($){if($.length<16)throw TypeError("PKCS#7 invalid length");let Q=$[$.length-1];if(Q>16)throw TypeError("PKCS#7 padding byte out of range");let J=$.length-Q;for(let Y=0;Y<Q;Y++)if($[J+Y]!==Q)throw TypeError("PKCS#7 invalid padding byte");return new Uint8Array($.subarray(0,J))}function IJ($){if(typeof $==="string"&&!$.startsWith("0x"))$="0x"+$;return b$($)}function t0($,Q){$=String($);while($.length<Q)$="0"+$;return $}function x0($){if(typeof $==="string")return V$($,"NFKC");return b$($)}function Q$($,Q){let J=Q.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);z(J!=null,"invalid path","path",Q);let Y=J[1],X=J[3],Z=J[4]==="!",q=$;for(let G of Y.toLowerCase().split(".")){if(Array.isArray(q)){if(!G.match(/^[0-9]+$/))break;q=q[parseInt(G)]}else if(typeof q==="object"){let W=null;for(let M in q)if(M.toLowerCase()===G){W=q[M];break}q=W}else q=null;if(q==null)break}if(z(!Z||q!=null,"missing required value","path",Y),X&&q!=null){if(X==="int"){if(typeof q==="string"&&q.match(/^-?[0-9]+$/))return parseInt(q);else if(Number.isSafeInteger(q))return q}if(X==="number"){if(typeof q==="string"&&q.match(/^-?[0-9.]*$/))return parseFloat(q)}if(X==="data"){if(typeof q==="string")return IJ(q)}if(X==="array"&&Array.isArray(q))return q;if(X===typeof q)return q;z(!1,`wrong type found for ${X} `,"path",Y)}return q}var jX="m/44'/60'/0'/0/0";function MQ($){try{let Q=JSON.parse($);if((Q.version!=null?parseInt(Q.version):0)===3)return!0}catch(Q){}return!1}function Eq($,Q,J){if(Q$($,"crypto.cipher:string")==="aes-128-ctr"){let X=Q$($,"crypto.cipherparams.iv:data!"),Z=new U0(Q,X);return R(Z.decrypt(J))}k(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function WQ($,Q){let J=E(Q),Y=Q$($,"crypto.ciphertext:data!"),X=R(l(n([J.slice(16,32),Y]))).substring(2);z(X===Q$($,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let Z=Eq($,J.slice(0,16),Y),q=X0(Z);if($.address){let M=$.address.toLowerCase();if(!M.startsWith("0x"))M="0x"+M;z(v(M)===q,"keystore address/privateKey mismatch","address",$.address)}let G={address:q,privateKey:Z};if(Q$($,"x-ethers.version:string")==="0.1"){let M=J.slice(32,64),V=Q$($,"x-ethers.mnemonicCiphertext:data!"),D=Q$($,"x-ethers.mnemonicCounter:data!"),K=new U0(M,D);G.mnemonic={path:Q$($,"x-ethers.path:string")||jX,locale:Q$($,"x-ethers.locale:string")||"en",entropy:R(E(K.decrypt(V)))}}return G}function PX($){let Q=Q$($,"crypto.kdf:string");if(Q&&typeof Q==="string"){if(Q.toLowerCase()==="scrypt"){let J=Q$($,"crypto.kdfparams.salt:data!"),Y=Q$($,"crypto.kdfparams.n:int!"),X=Q$($,"crypto.kdfparams.r:int!"),Z=Q$($,"crypto.kdfparams.p:int!");z(Y>0&&(Y&Y-1)===0,"invalid kdf.N","kdf.N",Y),z(X>0&&Z>0,"invalid kdf","kdf",Q);let q=Q$($,"crypto.kdfparams.dklen:int!");return z(q===32,"invalid kdf.dklen","kdf.dflen",q),{name:"scrypt",salt:J,N:Y,r:X,p:Z,dkLen:64}}else if(Q.toLowerCase()==="pbkdf2"){let J=Q$($,"crypto.kdfparams.salt:data!"),Y=Q$($,"crypto.kdfparams.prf:string!"),X=Y.split("-").pop();z(X==="sha256"||X==="sha512","invalid kdf.pdf","kdf.pdf",Y);let Z=Q$($,"crypto.kdfparams.c:int!"),q=Q$($,"crypto.kdfparams.dklen:int!");return z(q===32,"invalid kdf.dklen","kdf.dklen",q),{name:"pbkdf2",salt:J,count:Z,dkLen:q,algorithm:X}}}z(!1,"unsupported key-derivation function","kdf",Q)}function TJ($,Q){let J=JSON.parse($),Y=x0(Q),X=PX(J);if(X.name==="pbkdf2"){let{salt:D,count:K,dkLen:S,algorithm:O}=X,I=j$(Y,D,K,S,O);return WQ(J,I)}k(X.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:X});let{salt:Z,N:q,r:G,p:W,dkLen:M}=X,V=e$(Y,Z,q,G,W,M);return WQ(J,V)}function EX($){return new Promise((Q)=>{setTimeout(()=>{Q()},$)})}async function UJ($,Q,J){let Y=JSON.parse($),X=x0(Q),Z=PX(Y);if(Z.name==="pbkdf2"){if(J)J(0),await EX(0);let{salt:K,count:S,dkLen:O,algorithm:I}=Z,H=j$(X,K,S,O,I);if(J)J(1),await EX(0);return WQ(Y,H)}k(Z.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:Z});let{salt:q,N:G,r:W,p:M,dkLen:V}=Z,D=await t$(X,q,G,W,M,V,J);return WQ(Y,D)}function SX($){let Q=$.salt!=null?E($.salt,"options.salt"):Z$(32),J=131072,Y=8,X=1;if($.scrypt){if($.scrypt.N)J=$.scrypt.N;if($.scrypt.r)Y=$.scrypt.r;if($.scrypt.p)X=$.scrypt.p}return z(typeof J==="number"&&J>0&&Number.isSafeInteger(J)&&(BigInt(J)&BigInt(J-1))===BigInt(0),"invalid scrypt N parameter","options.N",J),z(typeof Y==="number"&&Y>0&&Number.isSafeInteger(Y),"invalid scrypt r parameter","options.r",Y),z(typeof X==="number"&&X>0&&Number.isSafeInteger(X),"invalid scrypt p parameter","options.p",X),{name:"scrypt",dkLen:32,salt:Q,N:J,r:Y,p:X}}function wX($,Q,J,Y){let X=E(J.privateKey,"privateKey"),Z=Y.iv!=null?E(Y.iv,"options.iv"):Z$(16);z(Z.length===16,"invalid options.iv length","options.iv",Y.iv);let q=Y.uuid!=null?E(Y.uuid,"options.uuid"):Z$(16);z(q.length===16,"invalid options.uuid length","options.uuid",Y.iv);let G=$.slice(0,16),W=$.slice(16,32),M=new U0(G,Z),V=E(M.encrypt(X)),D=l(n([W,V])),K={address:J.address.substring(2).toLowerCase(),id:f8(q),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:R(Z).substring(2)},ciphertext:R(V).substring(2),kdf:"scrypt",kdfparams:{salt:R(Q.salt).substring(2),n:Q.N,dklen:32,p:Q.p,r:Q.r},mac:D.substring(2)}};if(J.mnemonic){let S=Y.client!=null?Y.client:`ethers/${j8}`,O=J.mnemonic.path||jX,I=J.mnemonic.locale||"en",H=$.slice(32,64),N=E(J.mnemonic.entropy,"account.mnemonic.entropy"),P=Z$(16),_=new U0(H,P),j=E(_.encrypt(N)),T=new Date,L="UTC--"+(T.getUTCFullYear()+"-"+t0(T.getUTCMonth()+1,2)+"-"+t0(T.getUTCDate(),2)+"T"+t0(T.getUTCHours(),2)+"-"+t0(T.getUTCMinutes(),2)+"-"+t0(T.getUTCSeconds(),2)+".0Z")+"--"+K.address;K["x-ethers"]={client:S,gethFilename:L,path:O,locale:I,mnemonicCounter:R(P).substring(2),mnemonicCiphertext:R(j).substring(2),version:"0.1"}}return JSON.stringify(K)}function H8($,Q,J){if(J==null)J={};let Y=x0(Q),X=SX(J),Z=e$(Y,X.salt,X.N,X.r,X.p,64);return wX(E(Z),X,$,J)}async function N8($,Q,J){if(J==null)J={};let Y=x0(Q),X=SX(J),Z=await t$(Y,X.salt,X.N,X.r,X.p,64,J.progressCallback);return wX(E(Z),X,$,J)}var VQ="m/44'/60'/0'/0/0",jq=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),H0=2147483648,Pq=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Sq="0123456789abcdef";function zQ($,Q){let J="";while($)J=Sq[$%16]+J,$=Math.trunc($/16);while(J.length<Q*2)J="0"+J;return"0x"+J}function HJ($){let Q=E($),J=c0(z$(z$(Q)),0,4),Y=n([Q,J]);return k8(Y)}var p$={};function BX($,Q,J,Y){let X=new Uint8Array(37);if($&H0)k(Y!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),X.set(E(Y),1);else X.set(E(J));for(let q=24;q>=0;q-=8)X[33+(q>>3)]=$>>24-q&255;let Z=E(a$("sha512",Q,X));return{IL:Z.slice(0,32),IR:Z.slice(32)}}function AX($,Q){let J=Q.split("/");if(z(J.length>0,"invalid path","path",Q),J[0]==="m")z($.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${$.depth}`,"path",Q),J.shift();let Y=$;for(let X=0;X<J.length;X++){let Z=J[X];if(Z.match(/^[0-9]+'$/)){let q=parseInt(Z.substring(0,Z.length-1));z(q<H0,"invalid path index",`path[${X}]`,Z),Y=Y.deriveChild(H0+q)}else if(Z.match(/^[0-9]+$/)){let q=parseInt(Z);z(q<H0,"invalid path index",`path[${X}]`,Z),Y=Y.deriveChild(q)}else z(!1,"invalid path component",`path[${X}]`,Z)}return Y}class R$ extends f0{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor($,Q,J,Y,X,Z,q,G,W){super(Q,W);n$($,p$,"HDNodeWallet"),a(this,{publicKey:Q.compressedPublicKey});let M=c0(s$(z$(this.publicKey)),0,4);a(this,{parentFingerprint:J,fingerprint:M,chainCode:Y,path:X,index:Z,depth:q}),a(this,{mnemonic:G})}connect($){return new R$(p$,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,$)}#$(){let $={address:this.address,privateKey:this.privateKey},Q=this.mnemonic;if(this.path&&Q&&Q.wordlist.locale==="en"&&Q.password==="")$.mnemonic={path:this.path,locale:"en",entropy:Q.entropy};return $}async encrypt($,Q){return await N8(this.#$(),$,{progressCallback:Q})}encryptSync($){return H8(this.#$(),$)}get extendedKey(){return k(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),HJ(n(["0x0488ADE4",zQ(this.depth,1),this.parentFingerprint,zQ(this.index,4),this.chainCode,n(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new e0(p$,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild($){let Q=G$($,"index");z(Q<=4294967295,"invalid index","index",Q);let J=this.path;if(J){if(J+="/"+(Q&~H0),Q&H0)J+="'"}let{IR:Y,IL:X}=BX(Q,this.chainCode,this.publicKey,this.privateKey),Z=new Y$(x$((p0(X)+BigInt(this.privateKey))%Pq,32));return new R$(p$,Z,this.fingerprint,R(Y),J,Q,this.depth+1,this.mnemonic,this.provider)}derivePath($){return AX(this,$)}static#Q($,Q){z(m$($),"invalid seed","seed","[REDACTED]");let J=E($,"seed");z(J.length>=16&&J.length<=64,"invalid seed","seed","[REDACTED]");let Y=E(a$("sha512",jq,J)),X=new Y$(R(Y.slice(0,32)));return new R$(p$,X,"0x00000000",R(Y.slice(32)),"m",0,0,Q,null)}static fromExtendedKey($){let Q=s(_8($));z(Q.length===82||HJ(Q.slice(0,78))===$,"invalid extended key","extendedKey","[ REDACTED ]");let J=Q[4],Y=R(Q.slice(5,9)),X=parseInt(R(Q.slice(9,13)).substring(2),16),Z=R(Q.slice(13,45)),q=Q.slice(45,78);switch(R(Q.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let G=R(q);return new e0(p$,X0(G),G,Y,Z,null,X,J,null)}case"0x0488ade4":case"0x04358394 ":if(q[0]!==0)break;return new R$(p$,new Y$(q.slice(1)),Y,Z,null,X,J,null,null)}z(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom($,Q,J){if($==null)$="";if(Q==null)Q=VQ;if(J==null)J=q0.wordlist();let Y=G0.fromEntropy(Z$(16),$,J);return R$.#Q(Y.computeSeed(),Y).derivePath(Q)}static fromMnemonic($,Q){if(!Q)Q=VQ;return R$.#Q($.computeSeed(),$).derivePath(Q)}static fromPhrase($,Q,J,Y){if(Q==null)Q="";if(J==null)J=VQ;if(Y==null)Y=q0.wordlist();let X=G0.fromPhrase($,Q,Y);return R$.#Q(X.computeSeed(),X).derivePath(J)}static fromSeed($){return R$.#Q($,null)}}class e0 extends O8{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor($,Q,J,Y,X,Z,q,G,W){super(Q,W);n$($,p$,"HDNodeVoidWallet"),a(this,{publicKey:J});let M=c0(s$(z$(J)),0,4);a(this,{publicKey:J,fingerprint:M,parentFingerprint:Y,chainCode:X,path:Z,index:q,depth:G})}connect($){return new e0(p$,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,$)}get extendedKey(){return k(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),HJ(n(["0x0488B21E",zQ(this.depth,1),this.parentFingerprint,zQ(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild($){let Q=G$($,"index");z(Q<=4294967295,"invalid index","index",Q);let J=this.path;if(J){if(J+="/"+(Q&~H0),Q&H0)J+="'"}let{IR:Y,IL:X}=BX(Q,this.chainCode,this.publicKey,null),Z=Y$.addPoints(X,this.publicKey,!0),q=X0(Z);return new e0(p$,q,Z,this.fingerprint,R(Y),J,Q,this.depth+1,this.provider)}derivePath($){return AX(this,$)}}function DQ($){try{if(JSON.parse($).encseed)return!0}catch(Q){}return!1}function OQ($,Q){let J=JSON.parse($),Y=x0(Q),X=v(Q$(J,"ethaddr:string!")),Z=IJ(Q$(J,"encseed:string!"));z(Z&&Z.length%16===0,"invalid encseed","json",$);let q=E(j$(Y,Y,2000,32,"sha256")).slice(0,16),G=Z.slice(0,16),W=Z.slice(16),M=new T8(q,G),V=KJ(E(M.decrypt(W))),D="";for(let K=0;K<V.length;K++)D+=String.fromCharCode(V[K]);return{address:X,privateKey:Z0(D)}}function FX($){return new Promise((Q)=>{setTimeout(()=>{Q()},$)})}class f$ extends f0{constructor($,Q){if(typeof $==="string"&&!$.startsWith("0x"))$="0x"+$;let J=typeof $==="string"?new Y$($):$;super(J,Q)}connect($){return new f$(this.signingKey,$)}async encrypt($,Q){let J={address:this.address,privateKey:this.privateKey};return await N8(J,$,{progressCallback:Q})}encryptSync($){let Q={address:this.address,privateKey:this.privateKey};return H8(Q,$)}static#$($){if(z($,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in $&&$.mnemonic&&$.mnemonic.locale==="en"){let J=G0.fromEntropy($.mnemonic.entropy),Y=R$.fromMnemonic(J,$.mnemonic.path);if(Y.address===$.address&&Y.privateKey===$.privateKey)return Y}let Q=new f$($.privateKey);return z(Q.address===$.address,"address/privateKey mismatch","json","[ REDACTED ]"),Q}static async fromEncryptedJson($,Q,J){let Y=null;if(MQ($))Y=await UJ($,Q,J);else if(DQ($)){if(J)J(0),await FX(0);if(Y=OQ($,Q),J)J(1),await FX(0)}return f$.#$(Y)}static fromEncryptedJsonSync($,Q){let J=null;if(MQ($))J=TJ($,Q);else if(DQ($))J=OQ($,Q);else z(!1,"invalid JSON wallet","json","[ REDACTED ]");return f$.#$(J)}static createRandom($){let Q=R$.createRandom();if($)return Q.connect($);return Q}static fromPhrase($,Q){let J=R$.fromPhrase($);if(Q)return J.connect(Q);return J}}function kX($,Q,J,Y=[]){let X=$,Z=Q,q=J,G=(Y||[]).map((T)=>{try{return v(T)}catch(U){return null}}).filter(Boolean),W=null,M=X&&typeof X.getAddress==="function"?V():Promise.resolve();async function V(){if(X)W=v(await X.getAddress())}async function D(T){X=T,W=null,M=T&&typeof T.getAddress==="function"?V():Promise.resolve(),await M}async function K(){return M}function S(T){let U=(L)=>L&&typeof L==="object"&&!Array.isArray(L)?Object.keys(L).sort().reduce((w,B)=>(w[B]=U(L[B]),w),{}):Array.isArray(L)?L.map(U):L;return JSON.stringify(U(T))}function O(T){if(!T?.signature||!T?.originEthAddress||!T?.originUser)return{ok:!1,reason:"missing-fields"};let U;try{if(U=v(T.originEthAddress),v(T.originUser)!==U)return{ok:!1,reason:"address-mismatch"}}catch{return{ok:!1,reason:"invalid-address"}}let{signature:L,originEthAddress:w,...B}=T,F=S(B);try{let f=$Q(V$(F),L);if(v(f)!==U)return{ok:!1,reason:"invalid-signature"};let{originUser:y,...r}=B;return{ok:!0,normalizedOriginEthAddress:U,payload:r}}catch(f){return{ok:!1,reason:"verify-error",error:f}}}async function I(T){if(await K(),!X||!W)return[];let U=W,L=[];for(let w of T){if(w?.signature&&w?.originEthAddress&&w?.originUser){L.push(w);continue}let B={...w,originUser:U},F=S(B);try{let f=await X.signMessage(V$(F));L.push({...w,originUser:U,originEthAddress:U,signature:f})}catch(f){}}return L}async function H(T){let U=[],L="guest";for(let w of T){let B,F;if(w.type==="sync"){U.push(w);continue}if(w.type==="fullStateSync"){if(w.signature&&w.originEthAddress&&w.originUser){let A=O(w);if(!A.ok)continue;U.push(A.payload)}else U.push(w);continue}if(w.type==="deltaSync"){if(w.signature&&w.originEthAddress&&w.originUser){let A=O(w);if(!A.ok)continue;U.push(A.payload)}else U.push(w);continue}{let A=O(w);if(!A.ok)continue;B=A.normalizedOriginEthAddress,F=A.payload}let f;if(G.includes(B))f="superadmin";else{let b=(await Z.get(`user:${B}`)).result?.value;if(f=b?.role||"guest",b?.expiresAt&&new Date(b.expiresAt).getTime()<Date.now())f="guest"}let y=F.type,r=q.mapChangeTypeToAction(y,F);if(y==="upsert"&&F.id===`user:${B}`){if(!(await Z.get(F.id)).result){let b=W&&W===B,c={...F,value:{ethAddress:B,role:"guest"},timestamp:F.timestamp||Z.hybridClock.now()};U.push(c);continue}else if(f!=="superadmin"&&F.value?.role&&F.value.role!==f)F.value.role=f}let{role:p,ethAddress:C}=F.value??{};if(p==="superadmin"&&!G.includes(v(C??"")))continue;if(q.can(f,r))U.push({...F,signer:B})}return{validatedOperations:U}}async function N(T){if(await K(),!X)throw Error("\uD83D\uDEE1️ SM Encrypt: User session (signer) required for encryption.");try{let U=await _("ssm-encrypt-for-current-user-v1"),L=Z.encode(T),w=Z.pako.deflate(L),B=Z$(12),F=await crypto.subtle.encrypt({name:"AES-GCM",iv:B},U,w);return JSON.stringify({iv:R(B),encrypted:R(new Uint8Array(F)),type:"aes-gcm-self-ssm-v2"})}catch(U){throw Error("\uD83D\uDEE1️ SM: Failed to encrypt personal data.")}}async function P(T){if(await K(),!X)throw Error("\uD83D\uDEE1️ SM Decrypt: User session (signer) required for decryption.");let U;try{U=JSON.parse(T)}catch{throw Error("\uD83D\uDEE1️ SM Decrypt: encryptedString is not valid JSON.")}if(U.type!=="aes-gcm-self-ssm-v2")throw Error("\uD83D\uDEE1️ SM Decrypt: Unsupported encryption type or incorrect version.");if(!U.iv||!U.encrypted)throw Error("\uD83D\uDEE1️ SM Decrypt: Invalid encrypted data format.");try{let L=E(U.iv),w=E(U.encrypted),B=await _("ssm-encrypt-for-current-user-v1"),F=await crypto.subtle.decrypt({name:"AES-GCM",iv:L},B,w),f=Z.pako.inflate(new Uint8Array(F));return Z.decode(f)}catch(L){throw Error("\uD83D\uDEE1️ SM: Failed to decrypt personal data.")}}async function _(T="ssm-default-aes-salt"){let U=E(X.privateKey),L=V$(T),w=await crypto.subtle.importKey("raw",U,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:L,iterations:1e5,hash:"SHA-256"},w,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}return{get localUserEthAddress(){return W},updateSigner:D,signOutgoingOperations:I,verifyIncomingOperations:H,encryptDataForCurrentUser:N,decryptDataForCurrentUser:P}}var KQ="gdb_ethereum_material_encrypted_webauthn_v2",R8="gdb_webauthn_registration_details_v2";function $8($){if(!($ instanceof ArrayBuffer))if($.buffer&&$.buffer instanceof ArrayBuffer)$=$.buffer.slice($.byteOffset,$.byteOffset+$.byteLength);else throw Error("arrayBufferToBase64Url: ArrayBuffer or TypedArray required.");return btoa(String.fromCharCode(...new Uint8Array($))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Q8($){let Q=$.replace(/-/g,"+").replace(/_/g,"/"),J=atob(Q),Y=new ArrayBuffer(J.length),X=new Uint8Array(Y);for(let Z=0;Z<J.length;Z++)X[Z]=J.charCodeAt(Z);return Y}function _X(){let $=null,Q=null,J=null,Y=null,X=null;async function Z(){let j=f$.createRandom();return J=j.mnemonic.phrase,{address:await j.getAddress(),mnemonic:J,privateKey:j.privateKey}}async function q(j,T){let U=Z$(12),L=E(j),w=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:U},T,L);return JSON.stringify({iv:$8(U.buffer.slice(U.byteOffset,U.byteOffset+U.byteLength)),ciphertext:$8(w)})}async function G(j,T){let{iv:U,ciphertext:L}=JSON.parse(j),w=Q8(U),B=Q8(L),F=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(w)},T,B);return R(new Uint8Array(F))}async function W(j,T){let U=await window.crypto.subtle.importKey("raw",T,{name:"PBKDF2"},!1,["deriveKey"]);return window.crypto.subtle.deriveKey({name:"PBKDF2",salt:j,iterations:200000,hash:"SHA-256"},U,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}async function M(j,T){let U=localStorage.getItem(KQ);if(!U)return I(),null;try{let L=await W(j,T),w=await G(U,L),B=new f$(w);return $=B,Q=await B.getAddress(),J=null,Y=j,X=T,Q}catch(L){return I(),null}}async function V(j){if(!window.navigator.credentials||!window.navigator.credentials.create)return alert("WebAuthn is not supported by this browser."),!1;let T=Z$(32),U=T.buffer.slice(T.byteOffset,T.byteOffset+T.byteLength);try{let L=Y$.computePublicKey(j,!1),w=E(L),B=E(l(w)),F=64,f=B.buffer.slice(B.byteOffset,B.byteOffset+Math.min(B.length,64)),r=new f$(j).address.slice(0,10),p={challenge:U,rp:{name:"GDB WebAuthn App",id:window.location.hostname},user:{id:f,name:`user-${r}`,displayName:"GDB User"},pubKeyCredParams:[{type:"public-key",alg:-7},{type:"public-key",alg:-257}],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"preferred",requireResidentKey:!1},timeout:60000,attestation:"none"},C=await window.navigator.credentials.create({publicKey:p});if(!C||!C.rawId||!C.id)throw Error("❌ WebAuthn registration failed or was canceled (no credential).");let A=C.rawId,b=await W(A,U),g=await q(j,b);return localStorage.setItem(KQ,g),localStorage.setItem(R8,JSON.stringify({credentialIdBase64Url:$8(A),originalChallengeBase64Url:$8(U)})),await M(A,U)}catch(L){return I(),localStorage.removeItem(KQ),localStorage.removeItem(R8),alert(`❌ WebAuthn registration error: ${L.message||"Unknown. Check console."}`),!1}}async function D(){if(!window.navigator.credentials||!window.navigator.credentials.get)return alert("WebAuthn is not supported by this browser."),null;let j=localStorage.getItem(R8);if(!j)return null;let T;try{T=JSON.parse(j)}catch(F){return null}if(!T.credentialIdBase64Url||!T.originalChallengeBase64Url)return null;let U=Q8(T.credentialIdBase64Url),L=Q8(T.originalChallengeBase64Url),w=Z$(32),B=w.buffer.slice(w.byteOffset,w.byteOffset+w.byteLength);try{let F={challenge:B,allowCredentials:[{type:"public-key",id:U}],userVerification:"preferred",timeout:60000},f=await window.navigator.credentials.get({publicKey:F});if(!f||!f.rawId||!f.response||!f.response.authenticatorData||!f.response.signature||!f.response.clientDataJSON)throw Error("❌ WebAuthn authentication failed or was canceled (incomplete assertion).");if($8(f.rawId)!==T.credentialIdBase64Url)throw Error("❌ WebAuthn credential ID in assertion does not match stored ID.");let y=JSON.parse(new TextDecoder().decode(f.response.clientDataJSON));if(y.challenge!==$8(B))throw Error("❌ WebAuthn assertion challenge mismatch.");if(y.origin!==`https://${window.location.hostname}`&&y.origin!==`http://${window.location.hostname}`){let r=window.location.protocol+"//";if(y.origin.startsWith(r+window.location.hostname));else if(window.location.hostname==="localhost"&&y.origin.startsWith(r+"localhost"));}return await M(f.rawId,L)}catch(F){return I(),null}}async function K(){let j=localStorage.getItem(R8);if(!j)return null;let T;try{T=JSON.parse(j)}catch(U){return null}if(!T.credentialIdBase64Url||!T.originalChallengeBase64Url)return null;try{let U=Q8(T.credentialIdBase64Url),L=Q8(T.originalChallengeBase64Url),w=await M(U,L);if(w)return w;else return null}catch(U){return I(),null}}async function S(j){try{let T=f$.fromPhrase(j);return $=T,Q=await T.getAddress(),J=j,Y=null,X=null,{address:Q,privateKey:T.privateKey,mnemonic:J}}catch(T){return I(),null}}function O(){return localStorage.getItem(R8)!==null&&localStorage.getItem(KQ)!==null}function I(){$=null,Q=null,J=null,Y=null,X=null}function H(){return $}function N(){return Q}function P(){if(J&&(!Y||!X))return J;return null}function _(){return!!($&&Y&&X)}return{createNewEthereumIdentity:Z,registerAndProtectWithWebAuthn:V,loginWithWebAuthn:D,trySilentWebAuthnLogin:K,loadWalletFromMnemonic:S,hasWebAuthnRegistration:O,logout:I,getSigner:H,getAddress:N,getMnemonicForDisplay:P,isSessionWebAuthnProtected:_}}var L8={$eq:($,Q)=>$===Q,$ne:($,Q)=>$!==Q,$gt:($,Q)=>$>Q,$gte:($,Q)=>$>=Q,$lt:($,Q)=>$<Q,$lte:($,Q)=>$<=Q,$in:($,Q)=>Array.isArray(Q)&&(Array.isArray($)?$.some((J)=>Q.includes(J)):Q.includes($)),$between:($,[Q,J])=>$>=Q&&$<=J,$exists:($,Q)=>Q?$!==void 0:$===void 0,$startsWith:($,Q)=>typeof $==="string"&&$.startsWith(Q),$endsWith:($,Q)=>typeof $==="string"&&$.endsWith(Q),$contains:($,Q)=>typeof $==="string"&&$.includes(Q),$text:{global:($,Q)=>{let J=(X)=>String(X).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),Y=J(Q);return Object.values($).some((X)=>typeof X==="object"?null.fieldSearch(X,Y):J(X).includes(Y))},field:($,Q)=>{let J=(X)=>String(X).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),Y=J(Q);return Array.isArray($)?$.some((X)=>J(X).includes(Y)):J($).includes(Y)}},$like:($,Q)=>typeof $==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test($),$regex:($,Q)=>typeof $==="string"&&new RegExp(Q.$regex||Q,"i").test($),$and:($,Q,J)=>Q.every((Y)=>J.createFilter(Y,J.allNodes)($)),$or:($,Q,J)=>Q.some((Y)=>J.createFilter(Y,J.allNodes)($)),$not:($,Q,J)=>!J.createFilter(Q,J.allNodes)($),$edge:($,Q,J)=>{if(!$.edges?.length||typeof Q!=="object"||Q===null)return!1;let Y=J.createFilter(Q,J.allNodes),X=[...$.edges],Z=new Set(X).add($.id),q=[];while(X.length){let G=X.shift(),W=J.allNodes[G];if(!W)continue;if(Y(W))q.push(W);W.edges?.forEach((M)=>!Z.has(M)&&Z.add(M)&&X.push(M))}if(q.length)$._edgeResult=q;return q.length>0}},IQ=($,Q)=>Q.split(".").reduce((J,Y)=>J&&typeof J==="object"&&(Y in J)?J[Y]:void 0,$),TQ=($,Q)=>{if(Object.keys($).length===0)return()=>!0;return(J)=>Object.entries($).every(([Y,X])=>{if(Y.startsWith("$"))return L8[Y](J,X,{createFilter:TQ,allNodes:Q});let Z=IQ(J.value,Y);if(Z===void 0)Z=IQ(J,Y);if(typeof X!=="object"||X===null)return L8.$eq(Z,X);return Object.entries(X).every(([q,G])=>{if(q==="$text")return L8.$text.field(Z,G);if(q==="$between"&&G.every((W)=>W instanceof Date))return L8.$between(new Date(Z),G);return L8[q]?.(Z,G,{createFilter:TQ,allNodes:Q})??!1})})},fX=($,Q)=>{let{$edge:J,...Y}=Q.query||{},X=TQ(Y,$),Z=Object.values($).filter(X),G=[...J?(()=>{let W=TQ({$edge:J},$);Z.forEach((V)=>W(V));let M=new Map;return Z.forEach((V)=>{if(V._edgeResult)V._edgeResult.forEach((D)=>M.set(D.id,D)),delete V._edgeResult}),Array.from(M.values())})():Z];if(Q.field){let W=Q.order==="asc"?1:-1;G.sort((M,V)=>{let D=IQ(M.value,Q.field),K=IQ(V.value,Q.field);if(typeof D==="string"&&typeof K==="string")return D.localeCompare(K)*W;return((D??0)-(K??0))*W})}if(Q.$after){let W=G.findIndex((M)=>M.id===Q.$after);G=W>=0?G.slice(W+1):[]}if(Q.$before){let W=G.findIndex((M)=>M.id===Q.$before);G=W>=0?G.slice(0,W):[]}if(Q.$limit)G=G.slice(0,Q.$limit);return G};var NJ=($)=>`${$.slice(0,6)}...${$.slice(-4)}`,RJ={superadmin:{can:["assignRole","deleteAny"],inherits:["admin"]},admin:{can:["delete"],inherits:["manager"]},manager:{can:["publish"],inherits:["user"]},user:{can:["write","link","sync"],inherits:["guest"]},guest:{can:["read","sync"]}},d$="gdb_sm_last_session_was_webauthn";function Bq($){if(typeof $!=="object"||$===null||Array.isArray($))throw Error("\uD83D\uDEE1️ SM: Custom roles must be a valid object.");RJ=$}function LJ($,Q,J=new Set){let Y=RJ;if(!$||!Y[$])return!1;if(J.has($))return!1;if(J.add($),Y[$].can&&Y[$].can.includes(Q))return J.delete($),!0;if(Y[$].inherits&&Array.isArray(Y[$].inherits)){if(Y[$].inherits.some((X)=>LJ(X,Q,new Set(J))))return J.delete($),!0}return J.delete($),!1}function Aq($,Q={}){if($==="upsert")return"write";if($==="remove")return"delete";if($==="link")return"link";if($==="sync"||$==="syncReceive"||$==="deltaSync")return"sync";return"unknown"}var u=null,$$=null,t=_X(),HQ=[],H$=!1,bX=!1,L$=null,y$=!1,NQ=null,RQ=null;function _7($){if(typeof $==="function")NQ=$,C$();else if($===null)NQ=null}function f7($){if(typeof $==="function")RQ=$,C$();else if($===null)RQ=null}function C$(){if(NQ)NQ({isActive:H$,activeAddress:$$?.localUserEthAddress||t.getAddress(),abbrAddr:NJ($$?.localUserEthAddress||t.getAddress()||"N/A"),isWebAuthnProtected:y$,hasVolatileIdentity:!!L$,hasWebAuthnHardwareRegistration:t.hasWebAuthnRegistration()});if(RQ)RQ({isActive:H$,activeAddress:$$?.localUserEthAddress||t.getAddress()})}async function b7(){if(H$)await CQ();t.logout(),L$=null,y$=!1,localStorage.removeItem(d$);try{let $=await t.createNewEthereumIdentity();if($)L$=$;return C$(),$}catch($){throw L$=null,C$(),$}}async function x7($){let Q=$||L$?.privateKey;if(!Q)return alert("\uD83D\uDEE1️ SM Error: No volatile ETH identity to protect."),null;if(H$&&y$&&$$?.signer)return $$.localUserEthAddress;if(H$)await CQ();t.logout();let J=await t.registerAndProtectWithWebAuthn(Q);if(J&&t.getSigner()){if(L$=null,y$=!0,localStorage.setItem(d$,"true"),u)await LQ(t.getSigner(),{method:"WebAuthn"});return J}else return y$=!1,localStorage.removeItem(d$),C$(),null}async function v7(){if(H$)await CQ();t.logout(),L$=null;let $=await t.loginWithWebAuthn();if($&&t.getSigner()){if(y$=!0,localStorage.setItem(d$,"true"),u)await LQ(t.getSigner(),{method:"silent WebAuthn"});return $}else return y$=!1,localStorage.removeItem(d$),C$(),null}async function y7($){if(H$)await CQ();t.logout(),L$=null;let Q=await t.loadWalletFromMnemonic($);if(Q&&Q.address&&t.getSigner()){if(L$=Q,y$=!1,localStorage.removeItem(d$),u)await LQ(t.getSigner(),{method:"mnemonic"});return L$}else return C$(),null}async function Fq($,Q={}){if(!$)return;if(u=$,HQ=((Q.superAdmins??[])||[]).map((Y)=>{try{return v(Y)}catch(X){return null}}).filter(Boolean),$$=kX(null,u,{can:LJ,mapChangeTypeToAction:Aq},HQ),!bX)u.use(async function(X){let{validatedOperations:Z}=await $$.verifyIncomingOperations(X);return Z||[]}),bX=!0;if(localStorage.getItem(d$)==="true"&&t.hasWebAuthnRegistration())try{if(await t.trySilentWebAuthnLogin()&&t.getSigner())y$=!0,await LQ(t.getSigner());else localStorage.removeItem(d$),C$()}catch(Y){localStorage.removeItem(d$),C$()}else C$();if(Q.customRoles)Bq(Q.customRoles);if(Q.acls)try{(await import(new URL("./sm-acls.min.js",import.meta.url).href)).start(u,Q)}catch(Y){}if(Q.governanceRules)try{(await import(new URL("./sm-gov.min.js",import.meta.url).href)).start(u,Q)}catch(Y){}}var LQ=async($,Q={})=>{if(!u||!$$||!$)return H$=!1,C$(),!1;try{await $$.updateSigner($)}catch(G){return H$=!1,C$(),!1}let{localUserEthAddress:J}=$$,{syncChannel:Y}=u??{};if(Y?.send&&!Y._originalSendBySM)Y._originalSendBySM=Y.send.bind(Y),Y.send=async(G)=>Y._originalSendBySM(await $$.signOutgoingOperations(G));let X=`user:${J}`,Z={role:"unknown",status:"Existing user."};try{let{result:G}=await u.get(X);if(!G)Z.role=HQ.includes(J)?"superadmin":"guest",Z.status="New user.",await u.put({ethAddress:J,role:Z.role},X);else Z.role=G.value.role||"unknown";Y?.send?.([{type:"sync",timestamp:null}])}catch(G){}H$=!0,C$();let q=Q.method?` via ${Q.method}`:"";return!0};async function CQ(){if(u&&u.syncChannel&&u.syncChannel._originalSendBySM)u.syncChannel.send=u.syncChannel._originalSendBySM,delete u.syncChannel._originalSendBySM;if(t.logout(),$$)try{await $$.updateSigner(null)}catch($){}L$=null,y$=!1,localStorage.removeItem(d$),H$=!1,C$()}var xX="_gdbSecurePayloadV1",UQ=async($,Q)=>{if(!$)return null;let J=$$,Y=$.value,X=!1;if(Y&&Y._gdbWrapperType===xX){let Z=Y,q=Z._payload,G=Z._meta;if(Y=typeof q==="string"?q:Z,G&&G.owner&&J&&J.localUserEthAddress&&G.owner===J.localUserEthAddress)try{let W=JSON.stringify({iv:G.iv,encrypted:q,type:G.encType});Y=await J.decryptDataForCurrentUser(W),X=!0}catch(W){}else if(G&&G.owner);}return{id:Q??$.id,value:Y,edges:$.edges||[],timestamp:$.timestamp,decrypted:X}};async function g7($,Q){let J=Q??(typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`),Y=`SM_ID_PREFIX_${J}`;if(!u)throw Error("❌ SM.put: Not initialized");if(!CJ())throw Error("❌ SM.put: Session not active");let{result:X}=await kq(J);if(X&&X.decrypted===!1)throw Error(`❌ SM.put: Cannot overwrite encrypted data on node ID '${Q}' owned by another user. DENIED.`);let Z=$$,q,G;try{let M=await Z.encryptDataForCurrentUser($),V=JSON.parse(M);q=V.encrypted,G={owner:Z.localUserEthAddress,encType:V.type,iv:V.iv}}catch(M){throw M}let W={_gdbWrapperType:xX,_payload:q,_meta:G};return await u.put(W,Y),J}async function kq($,Q=null){if(!$)throw Error("❌ SM.get: id is required");let J=`SM_ID_PREFIX_${$}`;if(!u)throw Error("❌ SM.get: Not initialized");if(!Q){let q=await u.get(J,null);return{result:await UQ(q?q.result:null,$)}}let Y=null,X=await u.get(J,null);if(Y=await UQ(X?X.result:null,$),typeof Q==="function")Q(Y);let{unsubscribe:Z}=await u.get(J,async(q)=>{let G=await UQ(q,$),W=G&&Y&&u.hybridClock?.compare(G.timestamp,Y.timestamp)>0,M=JSON.stringify(G?G.value:null)!==JSON.stringify(Y?Y.value:null);if(!G&&Y){if(Y=null,typeof Q==="function")Q(null)}else if(G&&(!Y||W||M)){if(Y=G,typeof Q==="function")Q(G)}});return{result:Y,unsubscribe:()=>{if(Z)Z()}}}async function h7($){if(!$)throw Error("❌ SM.remove: id is required");if(!u)throw Error("❌ SM.remove: Not initialized");return u.remove(`SM_ID_PREFIX_${$}`)}async function m7($={}){if(!u)throw Error("❌ SM.map: Not initialized");let{query:Q,field:J,order:Y="asc",$limit:X,...Z}=$,{results:q}=await u.map({...Z,query:{id:/^SM_ID_PREFIX_/},realtime:!1}),G=(await Promise.all(q.map((V)=>UQ(V,V.id.replace("SM_ID_PREFIX_",""))))).filter(Boolean),W=Object.fromEntries(G.map((V)=>[V.id,V]));return{results:fX(W,{query:Q,field:J,order:Y,$limit:X})}}function vX(){if(!H$||!$$?.localUserEthAddress)throw Error("❌ SM Operation: Security not active or no local user ETH identified in SecurityManager.");return $$.localUserEthAddress}async function c7($,Q,J=null){if(!$||!Q)throw Error("❌ SM assignRole: targetUserEthAddress, and role are required.");let Y;try{Y=v($)}catch(M){throw Error(`❌ SM assignRole: targetUserEthAddress '${NJ($)}' is invalid.`)}if(!RJ[Q])throw Error(`❌ SM assignRole: Role '${Q}' is not a defined role.`);let X=vX(),Z=`user:${Y}`,W={...(await u.get(Z)).result?.value||{},ethAddress:Y,role:Q,assignedByEthAddress:X,expiresAt:J?new Date(J).toISOString():null,priority:!0};await u.put(W,Z)}async function _q(){if(!H$||!$$?.localUserEthAddress)return!1;return HQ.includes($$.localUserEthAddress)}async function fq($,Q="unknown"){let J;try{J=v($)}catch(Z){throw Error(`❌ SM: Invalid ETH address '${NJ($)}' when verifying role for op '${Q}'.`)}let Y=await u.get(`user:${J}`);if(!Y.result?.value?.role)throw Error(`❌ SM: Role not found for ETH ${J} (operation: ${Q}).`);let X=Y.result.value;if(X.expiresAt&&new Date(X.expiresAt)<new Date)throw Error(`❌ SM: Role for ETH ${J} has expired.`);return X.role}async function bq($,Q){let J=await fq($,Q);if(!LJ(J,Q))throw Error(`❌ SM: ETH User ${$} (role ${J}) does not have permission for '${Q}'.`)}async function u7($){if(!$)throw Error("❌ SM executeWithPermission: operationName is required.");let Q=vX();if(!($==="assignRole"&&await _q()))await bq(Q,$);return Q}function p7(){return H$?$$?.localUserEthAddress:null}function CJ(){return H$}function d7(){return H$&&y$}function l7(){return t.hasWebAuthnRegistration()}function n7(){if(L$&&L$.mnemonic&&!t.isSessionWebAuthnProtected())return L$.mnemonic;return t.getMnemonicForDisplay()}async function o7($){if(!CJ()||!$$)throw Error("❌ SM Encryption: Local signing security not active or SecurityManager not available.");return await $$.encryptDataForCurrentUser($)}async function i7($){if(!CJ()||!$$)throw Error("❌ SM Decryption: Local signing security not active or SecurityManager not available.");return await $$.decryptDataForCurrentUser($)}async function r7($,Q,J={}){u=$;let Y={...Q};return $.sm=Y,Object.hasOwn(J,"superAdmins")&&await Fq($,J),Object.freeze(Y),{sm:Y}}export{b7 as startNewUserRegistration,_7 as setSecurityStateChangeCallback,f7 as setGovernanceStateChangeCallback,h7 as remove,g7 as put,x7 as protectCurrentIdentityWithWebAuthn,m7 as map,y7 as loginOrRecoverUserWithMnemonic,v7 as loginCurrentUserWithWebAuthn,CJ as isSecurityActive,d7 as isCurrentSessionProtectedByWebAuthn,r7 as init,l7 as hasExistingWebAuthnRegistration,n7 as getMnemonicForDisplayAfterRegistrationOrRecovery,p7 as getActiveEthAddress,kq as get,u7 as executeWithPermission,o7 as encryptDataForCurrentUser,i7 as decryptDataForCurrentUser,CQ as clearSecurity,c7 as assignRole,NJ as abbrAddr};
package/dist/sm.min.js.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genosdb",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "GenosDB (GDB): distributed graph database in real-time, peer-to-peer, scalable storage - efficient querying of complex relationships.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",