@rizom/ops 0.2.0-alpha.209 → 0.2.0-alpha.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var Oj=Object.defineProperty;var Dj=($)=>$;function Qj($,v){this[$]=Dj.bind(null,v)}var dv=($,v)=>{for(var g in v)Oj($,g,{get:v[g],enumerable:!0,configurable:!0,set:Qj.bind(v,g)})};import{access as oR,chmod as mX,mkdir as z9,readFile as D9,writeFile as O9}from"fs/promises";import{dirname as yR,join as iX}from"path";import{fileURLToPath as lR}from"url";var KJ={name:"@rizom/ops",version:"0.2.0-alpha.209",description:"Operator CLI for managing private brain fleet registry repos",keywords:["brains","ops","cli","deploy","fleet","operator"],license:"Apache-2.0",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{"brains-ops":"./dist/brains-ops.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"age-encryption":"^0.3.0"},devDependencies:{"@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"^1.3.14",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js",bun:"./dist/deploy.js"}},files:["dist","templates"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",main:"./dist/index.js",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},scripts:{build:"bun scripts/build.ts",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun run build && bun test --timeout 20000","test:smoke":"bun run build && RUN_SMOKE_TESTS=1 bun test --timeout 60000",typecheck:"tsc --noEmit"},type:"module",types:"./dist/index.d.ts"};var sw=`ARG BUN_VERSION=1.3.10
2
+ var Oj=Object.defineProperty;var Dj=($)=>$;function Qj($,v){this[$]=Dj.bind(null,v)}var dv=($,v)=>{for(var g in v)Oj($,g,{get:v[g],enumerable:!0,configurable:!0,set:Qj.bind(v,g)})};import{access as oR,chmod as mX,mkdir as z9,readFile as D9,writeFile as O9}from"fs/promises";import{dirname as yR,join as iX}from"path";import{fileURLToPath as lR}from"url";var KJ={name:"@rizom/ops",version:"0.2.0-alpha.210",description:"Operator CLI for managing private brain fleet registry repos",keywords:["brains","ops","cli","deploy","fleet","operator"],license:"Apache-2.0",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{"brains-ops":"./dist/brains-ops.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"age-encryption":"^0.3.0"},devDependencies:{"@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"^1.3.14",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js",bun:"./dist/deploy.js"}},files:["dist","templates"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",main:"./dist/index.js",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},scripts:{build:"bun scripts/build.ts",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun run build && bun test --timeout 20000","test:smoke":"bun run build && RUN_SMOKE_TESTS=1 bun test --timeout 60000",typecheck:"tsc --noEmit"},type:"module",types:"./dist/index.d.ts"};var sw=`ARG BUN_VERSION=1.3.10
3
3
  FROM oven/bun:\${BUN_VERSION}-slim AS runtime
4
4
 
5
5
  WORKDIR /app
@@ -262,26 +262,26 @@ ${g}
262
262
  `)}async function VI($,v,g,I,U={}){let J=new Set,G=Z9(v.pilot.githubOrg);for(let O of g){let D={};if(I){let W=await I(O);if(W!==void 0)D=W}let X=await G(O),N=D.brainYaml??X.brainYaml,q=D.envFile??X.envFile,w=D.contentRepoFiles??X.contentRepoFiles??[];if(q)await lX($,O.handle,".env",q);if(N)await lX($,O.handle,"brain.yaml",N),J.add(O.handle);await r9($,v.pilot.githubOrg,O,w,{contentRepoAdminTokenSelector:v.pilot.contentRepoAdminToken,...U});for(let W of w)await lX($,O.handle,M9("content",W.path),W.content)}let z=J.size===0?v:{...v,users:v.users.map((O)=>J.has(O.handle)?{...O,snapshotStatus:"present"}:O)};await rg($,{registry:z})}async function lX($,v,g,I){let U=M9($,"users",v,g);await P5(B5(U),{recursive:!0}),await E5(U,I)}async function zz($,v){let g=await Hv($),I=g.users.find((U)=>U.handle===v);if(!I)throw Error(`Unknown user handle: ${v}`);return{registry:g,user:I}}async function R9($,v){let g=await Hv($),I=g.cohorts.find((U)=>U.id===v);if(!I)throw Error(`Unknown cohort: ${v}`);return{registry:g,users:g.users.filter((U)=>U.cohort===I.id)}}async function K9($){let v=await Hv($);return{registry:v,users:v.users}}async function dX($,v,g,I={}){let{registry:U,user:J}=await zz($,v);await VI($,U,[J],g,I)}import{access as C5,mkdir as u9,readFile as L5,writeFile as H9}from"fs/promises";import{basename as f5,join as ZI}from"path";async function hX($,v,g){let I=E0.parse(v),U=E0.parse(g.cohort),J=ZI($,"users"),G=ZI($,"cohorts"),z=ZI(J,`${I}.yaml`),O=ZI(J,`${I}.secrets.yaml`),D=ZI(J,`${I}.secrets.yaml.age`),X=ZI(G,`${U}.yaml`);await Promise.all([u9(J,{recursive:!0}),u9(G,{recursive:!0})]);let N=await T9(z,b5(I,g.anchorId)),w=await i5(D)?!1:await T9(O,m5(I)),{addedToCohort:W}=await _5(X,I);return{handle:I,cohort:U,userPath:z,secretsTemplatePath:O,cohortPath:X,createdUser:N,createdSecretsTemplate:w,addedToCohort:W}}async function _5($,v){let g=await n5($);if(g.members.includes(v))return{addedToCohort:!1};let I={...g,members:[...g.members,v].sort()};return await H9($,F5(I)),{addedToCohort:!0}}async function n5($){try{let v=await L5($,"utf8"),g=AJ(v,Gz);if(!g.ok)throw Error(`${f5($)}: ${g.error}`);return g.data}catch(v){if(c5(v))return{members:[]};throw v}}function b5($,v){return[`handle: ${$}`,"anchorProfile:",` name: ${o5($)}`,"discord:"," enabled: true",...v?[` anchorUserId: ${JSON.stringify(v)}`]:[],""].join(`
263
263
  `)}function m5($){return["# local per-user secret staging file",`# fill values, run \`bunx brains-ops secrets:encrypt . ${$}\`, then the plaintext file will be removed`,"discordBotToken: ","atprotoAppPassword: ","# For custom-domain sites, paste PEMs with literal \\n escapes.","certificatePem: ","privateKeyPem: ",""].join(`
264
264
  `)}function F5($){return["members:",...$.members.map((v)=>` - ${v}`),...$.brainVersionOverride?[`brainVersionOverride: ${$.brainVersionOverride}`]:[],...$.presetOverride?[`presetOverride: ${$.presetOverride}`]:[],...$.aiApiKeyOverride?[`aiApiKeyOverride: ${$.aiApiKeyOverride}`]:[],...$.gitSyncTokenOverride?[`gitSyncTokenOverride: ${$.gitSyncTokenOverride}`]:[],""].join(`
265
- `)}async function T9($,v){try{return await H9($,v,{flag:"wx"}),!0}catch(g){if(x5(g))return!1;throw g}}async function i5($){try{return await C5($),!0}catch{return!1}}function x5($){return A9($,"EEXIST")}function c5($){return A9($,"ENOENT")}function A9($,v){return typeof $==="object"&&$!==null&&"code"in $&&$.code===v}function o5($){return $.split("-").filter((v)=>v.length>0).map((v)=>`${v[0]?.toUpperCase()??""}${v.slice(1)}`).join(" ")}async function pX($,v,g,I={}){let{registry:U,users:J}=await R9($,v);await VI($,U,J,g,I)}async function tX($,v,g={}){let{registry:I,users:U}=await K9($);await VI($,I,U,v,g)}import{parseArgs as y5}from"util";var l5={help:{type:"boolean",short:"h"},version:{type:"boolean",short:"v"},"dry-run":{type:"boolean"},"push-to":{type:"string"},cohort:{type:"string"},"anchor-id":{type:"string"},handle:{type:"string"}};function aX($,v){let g=$[v];return typeof g==="boolean"?g:void 0}function Oz($,v){let g=$[v];return typeof g==="string"?g:void 0}function d5($){let{values:v,positionals:g}=y5({args:$,options:l5,allowPositionals:!0});if(v.help)return{command:"help",args:[],flags:{help:!0}};if(v.version)return{command:"version",args:[],flags:{version:!0}};return{command:g[0]??"help",args:g.slice(1),flags:{help:aX(v,"help"),version:aX(v,"version"),dryRun:aX(v,"dry-run"),pushTo:Oz(v,"push-to"),cohort:Oz(v,"cohort"),anchorId:Oz(v,"anchor-id"),handle:Oz(v,"handle")}}}import{existsSync as S1,mkdirSync as k1,readFileSync as mw,writeFileSync as Fw}from"fs";import{dirname as P1,join as EZ}from"path";function eX($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in $&&$.BYTES_PER_ELEMENT===1}function f$($,v=""){if(typeof $!=="number"){let g=v&&`"${v}" `;throw TypeError(`${g}expected number, got ${typeof $}`)}if(!Number.isSafeInteger($)||$<0){let g=v&&`"${v}" `;throw RangeError(`${g}expected integer >= 0, got ${$}`)}}function c$($,v,g=""){let I=eX($),U=$?.length,J=v!==void 0;if(!I||J&&U!==v){let G=g&&`"${g}" `,z=J?` of length ${v}`:"",O=I?`length=${U}`:`type=${typeof $}`,D=G+"expected Uint8Array"+z+", got "+O;if(!I)throw TypeError(D);throw RangeError(D)}return $}function qU($){if(typeof $!=="function"||typeof $.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(f$($.outputLen),f$($.blockLen),$.outputLen<1)throw Error('"outputLen" must be >= 1');if($.blockLen<1)throw Error('"blockLen" must be >= 1')}function jI($,v=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(v&&$.finished)throw Error("Hash#digest() has already been called")}function Dz($,v){c$($,void 0,"digestInto() output");let g=v.outputLen;if($.length<g)throw RangeError('"digestInto() output" expected to be of length >='+g)}function Qz($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function qv(...$){for(let v=0;v<$.length;v++)$[v].fill(0)}function MI($){return new DataView($.buffer,$.byteOffset,$.byteLength)}function Fv($,v){return $<<32-v|$>>>v}function R$($,v){return $<<v|$>>>32-v>>>0}var h5=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function p5($){return $<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255}function t5($){for(let v=0;v<$.length;v++)$[v]=p5($[v]);return $}var sX=h5?($)=>$:t5,k9=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),a5=Array.from({length:256},($,v)=>v.toString(16).padStart(2,"0"));function Xz($){if(c$($),k9)return $.toHex();let v="";for(let g=0;g<$.length;g++)v+=a5[$[g]];return v}var wU={_0:48,_9:57,A:65,F:70,a:97,f:102};function S9($){if($>=wU._0&&$<=wU._9)return $-wU._0;if($>=wU.A&&$<=wU.F)return $-(wU.A-10);if($>=wU.a&&$<=wU.f)return $-(wU.a-10);return}function C0($){if(typeof $!=="string")throw TypeError("hex string expected, got "+typeof $);if(k9)try{return Uint8Array.fromHex($)}catch(U){if(U instanceof SyntaxError)throw RangeError(U.message);throw U}let v=$.length,g=v/2;if(v%2)throw RangeError("hex string expected, got unpadded hex of length "+v);let I=new Uint8Array(g);for(let U=0,J=0;U<g;U++,J+=2){let G=S9($.charCodeAt(J)),z=S9($.charCodeAt(J+1));if(G===void 0||z===void 0){let O=$[J]+$[J+1];throw RangeError('hex string expected, got non-hex character "'+O+'" at index '+J)}I[U]=G*16+z}return I}function e5($){if(typeof $!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode($))}function $N($,v=""){if(typeof $==="string")return e5($);return c$($,void 0,v)}function vN(...$){let v=0;for(let I=0;I<$.length;I++){let U=$[I];c$(U),v+=U.length}let g=new Uint8Array(v);for(let I=0,U=0;I<$.length;I++){let J=$[I];g.set(J,U),U+=J.length}return g}function Nz($,v){if(v!==void 0&&{}.toString.call(v)!=="[object Object]")throw TypeError("options must be object or undefined");return Object.assign($,v)}function UN($,v={}){let g=(U,J)=>$(J).update(U).digest(),I=$(void 0);return g.outputLen=I.outputLen,g.blockLen=I.blockLen,g.canXOF=I.canXOF,g.create=(U)=>$(U),Object.assign(g,v),Object.freeze(g)}function YU($=32){f$($,"bytesLength");let v=typeof globalThis==="object"?globalThis.crypto:null;if(typeof v?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");if($>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${$}`);return v.getRandomValues(new Uint8Array($))}var gN=($)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,$])});class IN{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor($,v){if(qU($),c$(v,void 0,"key"),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 g=this.blockLen,I=new Uint8Array(g);I.set(v.length>g?$.create().update(v).digest():v);for(let U=0;U<I.length;U++)I[U]^=54;this.iHash.update(I),this.oHash=$.create();for(let U=0;U<I.length;U++)I[U]^=106;this.oHash.update(I),qv(I)}update($){return jI(this),this.iHash.update($),this}digestInto($){jI(this),Dz($,this),this.finished=!0;let v=$.subarray(0,this.outputLen);this.iHash.digestInto(v),this.oHash.update(v),this.oHash.digestInto(v),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||=Object.create(Object.getPrototypeOf(this),{});let{oHash:v,iHash:g,finished:I,destroyed:U,blockLen:J,outputLen:G}=this;return $=$,$.finished=I,$.destroyed=U,$.blockLen=J,$.outputLen=G,$.oHash=v._cloneInto($.oHash),$.iHash=g._cloneInto($.iHash),$}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var sv=(()=>{let $=(v,g,I)=>new IN(v,g).update(I).digest();return $.create=(v,g)=>new IN(v,g),$})();function L0($,v,g){if(qU($),g===void 0)g=new Uint8Array($.outputLen);return sv($,g,v)}var JN=Uint8Array.of(0),P9=Uint8Array.of();function GN($,v,g,I=32){qU($),f$(I,"length"),c$(v,void 0,"prk");let U=$.outputLen;if(v.length<U)throw Error('"prk" must be at least HashLen octets');if(I>255*U)throw Error("Length must be <= 255*HashLen");let J=Math.ceil(I/U);if(g===void 0)g=P9;else c$(g,void 0,"info");let G=new Uint8Array(J*U),z=sv.create($,v),O=z._cloneInto(),D=new Uint8Array(z.outputLen);for(let X=0;X<J;X++)JN[0]=X+1,O.update(X===0?P9:D).update(g).update(JN).digestInto(D),G.set(D,U*X),z._cloneInto(O);return z.destroy(),O.destroy(),qv(D,JN),G.slice(0,I)}var iU=($,v,g,I,U)=>GN($,L0($,v,g),I,U);function E9($,v,g){return $&v^~$&g}function B9($,v,g){return $&v^$&g^v&g}class wz{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor($,v,g,I){this.blockLen=$,this.outputLen=v,this.padOffset=g,this.isLE=I,this.buffer=new Uint8Array($),this.view=MI(this.buffer)}update($){jI(this),c$($);let{view:v,buffer:g,blockLen:I}=this,U=$.length;for(let J=0;J<U;){let G=Math.min(I-this.pos,U-J);if(G===I){let z=MI($);for(;I<=U-J;J+=I)this.process(z,J);continue}if(g.set($.subarray(J,J+G),this.pos),this.pos+=G,J+=G,this.pos===I)this.process(v,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){jI(this),Dz($,this),this.finished=!0;let{buffer:v,view:g,blockLen:I,isLE:U}=this,{pos:J}=this;if(v[J++]=128,qv(this.buffer.subarray(J)),this.padOffset>I-J)this.process(g,0),J=0;for(let X=J;X<I;X++)v[X]=0;g.setBigUint64(I-8,BigInt(this.length*8),U),this.process(g,0);let G=MI($),z=this.outputLen;if(z%4)throw Error("_sha2: outputLen must be aligned to 32bit");let O=z/4,D=this.get();if(O>D.length)throw Error("_sha2: outputLen bigger than state");for(let X=0;X<O;X++)G.setUint32(4*X,D[X],U)}digest(){let{buffer:$,outputLen:v}=this;this.digestInto($);let g=$.slice(0,v);return this.destroy(),g}_cloneInto($){$||=new this.constructor,$.set(...this.get());let{blockLen:v,buffer:g,length:I,finished:U,destroyed:J,pos:G}=this;if($.destroyed=J,$.finished=U,$.length=I,$.pos=G,I%v)$.buffer.set(g);return $}clone(){return this._cloneInto()}}var WU=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rU=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),o$=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),y$=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var qz=BigInt(4294967295),C9=BigInt(32);function s5($,v=!1){if(v)return{h:Number($&qz),l:Number($>>C9&qz)};return{h:Number($>>C9&qz)|0,l:Number($&qz)|0}}function L9($,v=!1){let g=$.length,I=new Uint32Array(g),U=new Uint32Array(g);for(let J=0;J<g;J++){let{h:G,l:z}=s5($[J],v);[I[J],U[J]]=[G,z]}return[I,U]}var zN=($,v,g)=>$>>>g,ON=($,v,g)=>$<<32-g|v>>>g,Vg=($,v,g)=>$>>>g|v<<32-g,Zg=($,v,g)=>$<<32-g|v>>>g,f0=($,v,g)=>$<<64-g|v>>>g-32,_0=($,v,g)=>$>>>g-32|v<<64-g;function $U($,v,g,I){let U=(v>>>0)+(I>>>0);return{h:$+g+(U/4294967296|0)|0,l:U|0}}var f9=($,v,g)=>($>>>0)+(v>>>0)+(g>>>0),_9=($,v,g,I)=>v+g+I+($/4294967296|0)|0,n9=($,v,g,I)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0),b9=($,v,g,I,U)=>v+g+I+U+($/4294967296|0)|0,m9=($,v,g,I,U)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0)+(U>>>0),F9=($,v,g,I,U,J)=>v+g+I+U+J+($/4294967296|0)|0;var vK=Uint32Array.from([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]),xU=new Uint32Array(64);class DN extends wz{constructor($){super(64,$,8,!1)}get(){let{A:$,B:v,C:g,D:I,E:U,F:J,G,H:z}=this;return[$,v,g,I,U,J,G,z]}set($,v,g,I,U,J,G,z){this.A=$|0,this.B=v|0,this.C=g|0,this.D=I|0,this.E=U|0,this.F=J|0,this.G=G|0,this.H=z|0}process($,v){for(let X=0;X<16;X++,v+=4)xU[X]=$.getUint32(v,!1);for(let X=16;X<64;X++){let N=xU[X-15],q=xU[X-2],w=Fv(N,7)^Fv(N,18)^N>>>3,W=Fv(q,17)^Fv(q,19)^q>>>10;xU[X]=W+xU[X-7]+w+xU[X-16]|0}let{A:g,B:I,C:U,D:J,E:G,F:z,G:O,H:D}=this;for(let X=0;X<64;X++){let N=Fv(G,6)^Fv(G,11)^Fv(G,25),q=D+N+E9(G,z,O)+vK[X]+xU[X]|0,W=(Fv(g,2)^Fv(g,13)^Fv(g,22))+B9(g,I,U)|0;D=O,O=z,z=G,G=J+q|0,J=U,U=I,I=g,g=q+W|0}g=g+this.A|0,I=I+this.B|0,U=U+this.C|0,J=J+this.D|0,G=G+this.E|0,z=z+this.F|0,O=O+this.G|0,D=D+this.H|0,this.set(g,I,U,J,G,z,O,D)}roundClean(){qv(xU)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),qv(this.buffer)}}class i9 extends DN{A=WU[0]|0;B=WU[1]|0;C=WU[2]|0;D=WU[3]|0;E=WU[4]|0;F=WU[5]|0;G=WU[6]|0;H=WU[7]|0;constructor(){super(32)}}class UK extends DN{A=rU[0]|0;B=rU[1]|0;C=rU[2]|0;D=rU[3]|0;E=rU[4]|0;F=rU[5]|0;G=rU[6]|0;H=rU[7]|0;constructor(){super(28)}}var x9=(()=>L9(["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($))))(),gK=(()=>x9[0])(),IK=(()=>x9[1])(),cU=new Uint32Array(80),oU=new Uint32Array(80);class n0 extends wz{constructor($){super(128,$,16,!1)}get(){let{Ah:$,Al:v,Bh:g,Bl:I,Ch:U,Cl:J,Dh:G,Dl:z,Eh:O,El:D,Fh:X,Fl:N,Gh:q,Gl:w,Hh:W,Hl:Z}=this;return[$,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z]}set($,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z){this.Ah=$|0,this.Al=v|0,this.Bh=g|0,this.Bl=I|0,this.Ch=U|0,this.Cl=J|0,this.Dh=G|0,this.Dl=z|0,this.Eh=O|0,this.El=D|0,this.Fh=X|0,this.Fl=N|0,this.Gh=q|0,this.Gl=w|0,this.Hh=W|0,this.Hl=Z|0}process($,v){for(let K=0;K<16;K++,v+=4)cU[K]=$.getUint32(v),oU[K]=$.getUint32(v+=4);for(let K=16;K<80;K++){let _=cU[K-15]|0,L=oU[K-15]|0,i=Vg(_,L,1)^Vg(_,L,8)^zN(_,L,7),y=Zg(_,L,1)^Zg(_,L,8)^ON(_,L,7),d=cU[K-2]|0,n=oU[K-2]|0,b=Vg(d,n,19)^f0(d,n,61)^zN(d,n,6),v$=Zg(d,n,19)^_0(d,n,61)^ON(d,n,6),S=n9(y,v$,oU[K-7],oU[K-16]),u=b9(S,i,b,cU[K-7],cU[K-16]);cU[K]=u|0,oU[K]=S|0}let{Ah:g,Al:I,Bh:U,Bl:J,Ch:G,Cl:z,Dh:O,Dl:D,Eh:X,El:N,Fh:q,Fl:w,Gh:W,Gl:Z,Hh:r,Hl:T}=this;for(let K=0;K<80;K++){let _=Vg(X,N,14)^Vg(X,N,18)^f0(X,N,41),L=Zg(X,N,14)^Zg(X,N,18)^_0(X,N,41),i=X&q^~X&W,y=N&w^~N&Z,d=m9(T,L,y,IK[K],oU[K]),n=F9(d,r,_,i,gK[K],cU[K]),b=d|0,v$=Vg(g,I,28)^f0(g,I,34)^f0(g,I,39),S=Zg(g,I,28)^_0(g,I,34)^_0(g,I,39),u=g&U^g&G^U&G,k=I&J^I&z^J&z;r=W|0,T=Z|0,W=q|0,Z=w|0,q=X|0,w=N|0,{h:X,l:N}=$U(O|0,D|0,n|0,b|0),O=G|0,D=z|0,G=U|0,z=J|0,U=g|0,J=I|0;let V=f9(b,S,k);g=_9(V,n,v$,u),I=V|0}({h:g,l:I}=$U(this.Ah|0,this.Al|0,g|0,I|0)),{h:U,l:J}=$U(this.Bh|0,this.Bl|0,U|0,J|0),{h:G,l:z}=$U(this.Ch|0,this.Cl|0,G|0,z|0),{h:O,l:D}=$U(this.Dh|0,this.Dl|0,O|0,D|0),{h:X,l:N}=$U(this.Eh|0,this.El|0,X|0,N|0),{h:q,l:w}=$U(this.Fh|0,this.Fl|0,q|0,w|0),{h:W,l:Z}=$U(this.Gh|0,this.Gl|0,W|0,Z|0),{h:r,l:T}=$U(this.Hh|0,this.Hl|0,r|0,T|0),this.set(g,I,U,J,G,z,O,D,X,N,q,w,W,Z,r,T)}roundClean(){qv(cU,oU)}destroy(){this.destroyed=!0,qv(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class c9 extends n0{Ah=y$[0]|0;Al=y$[1]|0;Bh=y$[2]|0;Bl=y$[3]|0;Ch=y$[4]|0;Cl=y$[5]|0;Dh=y$[6]|0;Dl=y$[7]|0;Eh=y$[8]|0;El=y$[9]|0;Fh=y$[10]|0;Fl=y$[11]|0;Gh=y$[12]|0;Gl=y$[13]|0;Hh=y$[14]|0;Hl=y$[15]|0;constructor(){super(64)}}class JK extends n0{Ah=o$[0]|0;Al=o$[1]|0;Bh=o$[2]|0;Bl=o$[3]|0;Ch=o$[4]|0;Cl=o$[5]|0;Dh=o$[6]|0;Dl=o$[7]|0;Eh=o$[8]|0;El=o$[9]|0;Fh=o$[10]|0;Fl=o$[11]|0;Gh=o$[12]|0;Gl=o$[13]|0;Hh=o$[14]|0;Hl=o$[15]|0;constructor(){super(48)}}var vv=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),Uv=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class GK extends n0{Ah=vv[0]|0;Al=vv[1]|0;Bh=vv[2]|0;Bl=vv[3]|0;Ch=vv[4]|0;Cl=vv[5]|0;Dh=vv[6]|0;Dl=vv[7]|0;Eh=vv[8]|0;El=vv[9]|0;Fh=vv[10]|0;Fl=vv[11]|0;Gh=vv[12]|0;Gl=vv[13]|0;Hh=vv[14]|0;Hl=vv[15]|0;constructor(){super(28)}}class zK extends n0{Ah=Uv[0]|0;Al=Uv[1]|0;Bh=Uv[2]|0;Bl=Uv[3]|0;Ch=Uv[4]|0;Cl=Uv[5]|0;Dh=Uv[6]|0;Dl=Uv[7]|0;Eh=Uv[8]|0;El=Uv[9]|0;Fh=Uv[10]|0;Fl=Uv[11]|0;Gh=Uv[12]|0;Gl=Uv[13]|0;Hh=Uv[14]|0;Hl=Uv[15]|0;constructor(){super(32)}}var _$=UN(()=>new i9,gN(1));var Yz=UN(()=>new c9,gN(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function jz($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in $&&$.BYTES_PER_ELEMENT===1}function NN($){if(!jz($))throw TypeError("Uint8Array expected")}function h9($,v){if(!Array.isArray(v))return!1;if(v.length===0)return!0;if($)return v.every((g)=>typeof g==="string");else return v.every((g)=>Number.isSafeInteger(g))}function p9($){if(typeof $!=="function")throw TypeError("function expected");return!0}function yU($,v){if(typeof v!=="string")throw TypeError(`${$}: string expected`);return!0}function m0($){if(typeof $!=="number")throw TypeError(`number expected, got ${typeof $}`);if(!Number.isSafeInteger($))throw RangeError(`invalid integer: ${$}`)}function rz($){if(!Array.isArray($))throw TypeError("array expected")}function Vz($,v){if(!h9(!0,v))throw TypeError(`${$}: array of strings expected`)}function wN($,v){if(!h9(!1,v))throw TypeError(`${$}: array of numbers expected`)}function Av(...$){let v=(J)=>J,g=(J,G)=>(z)=>J(G(z)),I=$.map((J)=>J.encode).reduceRight(g,v),U=$.map((J)=>J.decode).reduce(g,v);return{encode:I,decode:U}}function Sv($){let v=typeof $==="string"?$.split(""):$,g=v.length;Vz("alphabet",v);let I=new Map(v.map((U,J)=>[U,J]));return{encode:(U)=>{return rz(U),U.map((J)=>{if(!Number.isSafeInteger(J)||J<0||J>=g)throw Error(`alphabet.encode: digit index outside alphabet "${J}". Allowed: ${$}`);return v[J]})},decode:(U)=>{return rz(U),U.map((J)=>{yU("alphabet.decode",J);let G=I.get(J);if(G===void 0)throw Error(`Unknown letter: "${J}". Allowed: ${$}`);return G})}}}function kv($=""){return yU("join",$),{encode:(v)=>{return Vz("join.decode",v),v.join($)},decode:(v)=>{return yU("join.decode",v),v.split($)}}}function Mz($,v="="){return m0($),yU("padding",v),{encode(g){Vz("padding.encode",g);while(g.length*$%8)g.push(v);return g},decode(g){Vz("padding.decode",g);let I=g.length;if(I*$%8)throw Error("padding: invalid, string should have whole number of bytes");for(;I>0&&g[I-1]===v;I--)if((I-1)*$%8===0)throw Error("padding: invalid, string has too much padding");return g.slice(0,I)}}}function t9($){return p9($),{encode:(v)=>v,decode:(v)=>$(v)}}function o9($,v,g){if(v<2)throw RangeError(`convertRadix: invalid from=${v}, base cannot be less than 2`);if(g<2)throw RangeError(`convertRadix: invalid to=${g}, base cannot be less than 2`);if(rz($),!$.length)return[];let I=0,U=[],J=Array.from($,(z)=>{if(m0(z),z<0||z>=v)throw Error(`invalid integer: ${z}`);return z}),G=J.length;while(!0){let z=0,O=!0;for(let D=I;D<G;D++){let X=J[D],N=v*z,q=N+X;if(!Number.isSafeInteger(q)||N/v!==z||q-X!==N)throw Error("convertRadix: carry overflow");let w=q/g;z=q%g;let W=Math.floor(w);if(J[D]=W,!Number.isSafeInteger(W)||W*g+z!==q)throw Error("convertRadix: carry overflow");if(!O)continue;else if(!W)I=D;else O=!1}if(U.push(z),O)break}for(let z=0;z<$.length-1&&$[z]===0;z++)U.push(0);return U.reverse()}var a9=($,v)=>v===0?$:a9(v,$%v),Zz=($,v)=>$+(v-a9($,v)),Wz=(()=>{let $=[];for(let v=0;v<40;v++)$.push(2**v);return $})();function QN($,v,g,I){if(rz($),v<=0||v>32)throw RangeError(`convertRadix2: wrong from=${v}`);if(g<=0||g>32)throw RangeError(`convertRadix2: wrong to=${g}`);if(Zz(v,g)>32)throw Error(`convertRadix2: carry overflow from=${v} to=${g} carryBits=${Zz(v,g)}`);let U=0,J=0,G=Wz[v],z=Wz[g]-1,O=[];for(let D of $){if(m0(D),D>=G)throw Error(`convertRadix2: invalid data word=${D} from=${v}`);if(U=U<<v|D,J+v>32)throw Error(`convertRadix2: carry overflow pos=${J} from=${v}`);J+=v;for(;J>=g;J-=g)O.push((U>>J-g&z)>>>0);let X=Wz[J];if(X===void 0)throw Error("invalid carry");U&=X-1}if(U=U<<g-J&z,!I&&J>=v)throw Error("Excess padding");if(!I&&U>0)throw Error(`Non-zero padding: ${U}`);if(I&&J>0)O.push(U>>>0);return O}function OK($){m0($);let v=256;return{encode:(g)=>{if(!jz(g))throw TypeError("radix.encode input should be Uint8Array");return o9(Array.from(g),v,$)},decode:(g)=>{return wN("radix.decode",g),Uint8Array.from(o9(g,$,v))}}}function Bv($,v=!1){if(m0($),$<=0||$>32)throw RangeError("radix2: bits should be in (0..32]");if(Zz(8,$)>32||Zz($,8)>32)throw RangeError("radix2: carry overflow");return{encode:(g)=>{if(!jz(g))throw TypeError("radix2.encode input should be Uint8Array");return QN(Array.from(g),8,$,!v)},decode:(g)=>{return wN("radix2.decode",g),Uint8Array.from(QN(g,$,8,v))}}}function y9($){return p9($),function(...v){try{return $.apply(null,v)}catch(g){}}}var CP=Object.freeze(Av(Bv(4),Sv("0123456789ABCDEF"),kv(""))),LP=Object.freeze(Av(Bv(5),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Mz(5),kv(""))),fP=Object.freeze(Av(Bv(5),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),kv(""))),_P=Object.freeze(Av(Bv(5),Sv("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Mz(5),kv(""))),nP=Object.freeze(Av(Bv(5),Sv("0123456789ABCDEFGHIJKLMNOPQRSTUV"),kv(""))),bP=Object.freeze(Av(Bv(5),Sv("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),kv(""),t9(($)=>$.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),e9=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),DK=/[\t\n\f\r ]/,s9=($,v)=>{yU("base64",$);let g=v?"base64url":"base64";if($.length>0&&DK.test($))throw Error("invalid base64");return Uint8Array.fromBase64($,{alphabet:g,lastChunkHandling:"strict"})},qN=Object.freeze(e9?{encode($){return NN($),$.toBase64()},decode($){return s9($,!1)}}:Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Mz(6),kv(""))),gv=Object.freeze(Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),kv(""))),mP=Object.freeze(e9?{encode($){return NN($),$.toBase64({alphabet:"base64url"})},decode($){return s9($,!0)}}:Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Mz(6),kv(""))),FP=Object.freeze(Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),kv(""))),YN=($)=>Av(OK(58),Sv($),kv("")),iP=Object.freeze(YN("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),xP=Object.freeze(YN("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),cP=Object.freeze(YN("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var XN=Av(Sv("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),kv("")),l9=[996825010,642813549,513874426,1027748829,705979059];function b0($){let v=$>>25,g=($&33554431)<<5;for(let I=0;I<l9.length;I++)if((v>>I&1)===1)g^=l9[I];return g}function d9($,v,g=1){let I=$.length,U=1;for(let J=0;J<I;J++){let G=$.charCodeAt(J);if(G<33||G>126)throw Error(`Invalid prefix (${$})`);U=b0(U)^G>>5}U=b0(U);for(let J=0;J<I;J++)U=b0(U)^$.charCodeAt(J)&31;for(let J of v)U=b0(U)^J;for(let J=0;J<6;J++)U=b0(U);return U^=g,XN.encode(QN([U%Wz[30]],30,5,!1))}function $r($){let v=$==="bech32"?1:734539939,g=Bv(5),I=g.decode,U=g.encode,J=y9(I);function G(N,q,w=90){if(yU("bech32.encode prefix",N),jz(q))q=Array.from(q);wN("bech32.encode",q);let W=N.length;if(W===0)throw TypeError(`Invalid prefix length ${W}`);let Z=W+7+q.length;if(w!==!1&&Z>w)throw TypeError(`Length ${Z} exceeds limit ${w}`);let r=N.toLowerCase(),T=d9(r,q,v);return`${r}1${XN.encode(q)}${T}`}function z(N,q=90){yU("bech32.decode input",N);let w=N.length;if(w<8||q!==!1&&w>q)throw TypeError(`invalid string length: ${w} (${N}). Expected (8..${q})`);let W=N.toLowerCase();if(N!==W&&N!==N.toUpperCase())throw Error("String must be lowercase or uppercase");let Z=W.lastIndexOf("1");if(Z===0||Z===-1)throw Error('Letter "1" must be present between prefix and data only');let r=W.slice(0,Z),T=W.slice(Z+1);if(T.length<6)throw Error("Data must be at least 6 characters long");let K=XN.decode(T).slice(0,-6),_=d9(r,K,v);if(!T.endsWith(_))throw Error(`Invalid checksum in ${N}: expected "${_}"`);return{prefix:r,words:K}}let O=y9(z);function D(N){let{prefix:q,words:w}=z(N,!1);return{prefix:q,words:w,bytes:I(w)}}function X(N,q){return G(N,U(q))}return{encode:G,decode:z,encodeFromBytes:X,decodeToBytes:D,decodeUnsafe:O,fromWords:I,fromWordsUnsafe:J,toWords:U}}var Pv=Object.freeze($r("bech32")),oP=Object.freeze($r("bech32m"));var QK=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),XK={encode($){return NN($),$.toHex()},decode($){return yU("hex",$),Uint8Array.fromHex($)}},yP=Object.freeze(QK?XK:Av(Bv(4),Sv("0123456789abcdef"),kv(""),t9(($)=>{if(typeof $!=="string"||$.length%2!==0)throw TypeError(`hex.decode: expected string, got ${typeof $} with length ${$.length}`);return $.toLowerCase()})));function wK($,v,g,I){qU($);let U=Nz({dkLen:32,asyncTick:10},I),{c:J,dkLen:G,asyncTick:z}=U;if(f$(J,"c"),f$(G,"dkLen"),f$(z,"asyncTick"),J<1)throw Error("iterations (c) must be >= 1");if(G<1)throw Error('"dkLen" must be >= 1');if(G>4294967295*$.outputLen)throw Error("derived key too long");let O=$N(v,"password"),D=$N(g,"salt"),X=new Uint8Array(G),N=sv.create($,O),q=N._cloneInto().update(D);return{c:J,dkLen:G,asyncTick:z,DK:X,PRF:N,PRFSalt:q}}function qK($,v,g,I,U){if($.destroy(),v.destroy(),I)I.destroy();return qv(U),g}function WN($,v,g,I){let{c:U,dkLen:J,DK:G,PRF:z,PRFSalt:O}=wK($,v,g,I),D,X=new Uint8Array(4),N=MI(X),q=new Uint8Array(z.outputLen);for(let w=1,W=0;W<J;w++,W+=z.outputLen){let Z=G.subarray(W,W+z.outputLen);N.setInt32(0,w,!1),(D=O._cloneInto(D)).update(X).digestInto(q),Z.set(q.subarray(0,Z.length));for(let r=1;r<U;r++){z._cloneInto(D).update(q).digestInto(q);for(let T=0;T<Z.length;T++)Z[T]^=q[T]}}return qK(z,O,G,D,q)}function vr($,v,g,I,U,J){let G=$[v++]^g[I++],z=$[v++]^g[I++],O=$[v++]^g[I++],D=$[v++]^g[I++],X=$[v++]^g[I++],N=$[v++]^g[I++],q=$[v++]^g[I++],w=$[v++]^g[I++],W=$[v++]^g[I++],Z=$[v++]^g[I++],r=$[v++]^g[I++],T=$[v++]^g[I++],K=$[v++]^g[I++],_=$[v++]^g[I++],L=$[v++]^g[I++],i=$[v++]^g[I++],y=G,d=z,n=O,b=D,v$=X,S=N,u=q,k=w,V=W,M=Z,j=r,A=T,R=K,E=_,C=L,x=i;for(let e=0;e<8;e+=2)v$^=R$(y+R|0,7),V^=R$(v$+y|0,9),R^=R$(V+v$|0,13),y^=R$(R+V|0,18),M^=R$(S+d|0,7),E^=R$(M+S|0,9),d^=R$(E+M|0,13),S^=R$(d+E|0,18),C^=R$(j+u|0,7),n^=R$(C+j|0,9),u^=R$(n+C|0,13),j^=R$(u+n|0,18),b^=R$(x+A|0,7),k^=R$(b+x|0,9),A^=R$(k+b|0,13),x^=R$(A+k|0,18),d^=R$(y+b|0,7),n^=R$(d+y|0,9),b^=R$(n+d|0,13),y^=R$(b+n|0,18),u^=R$(S+v$|0,7),k^=R$(u+S|0,9),v$^=R$(k+u|0,13),S^=R$(v$+k|0,18),A^=R$(j+M|0,7),V^=R$(A+j|0,9),M^=R$(V+A|0,13),j^=R$(M+V|0,18),R^=R$(x+C|0,7),E^=R$(R+x|0,9),C^=R$(E+R|0,13),x^=R$(C+E|0,18);U[J++]=G+y|0,U[J++]=z+d|0,U[J++]=O+n|0,U[J++]=D+b|0,U[J++]=X+v$|0,U[J++]=N+S|0,U[J++]=q+u|0,U[J++]=w+k|0,U[J++]=W+V|0,U[J++]=Z+M|0,U[J++]=r+j|0,U[J++]=T+A|0,U[J++]=K+R|0,U[J++]=_+E|0,U[J++]=L+C|0,U[J++]=i+x|0}function rN($,v,g,I,U){let J=I+0,G=I+16*U;for(let z=0;z<16;z++)g[G+z]=$[v+(2*U-1)*16+z];for(let z=0;z<U;z++,J+=16,v+=16){if(vr(g,G,$,v,g,J),z>0)G+=16;vr(g,J,$,v+=16,g,G)}}function YK($,v,g){let I=Nz({dkLen:32,asyncTick:10,maxmem:1073742848},g),{N:U,r:J,p:G,dkLen:z,asyncTick:O,maxmem:D,onProgress:X}=I;if(f$(U,"N"),f$(J,"r"),f$(G,"p"),f$(z,"dkLen"),f$(O,"asyncTick"),f$(D,"maxmem"),X!==void 0&&typeof X!=="function")throw Error("progressCb must be a function");let N=128*J,q=N/4,w=Math.pow(2,32);if(U<=1||(U&U-1)!==0||U>w)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(G<1||G>(w-1)*32/N)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(z<1||z>(w-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let W=N*(U+G+1);if(W>D)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+W+", maxmem="+D);let Z=WN(_$,$,v,{c:1,dkLen:N*G}),r=Qz(Z),T=Qz(new Uint8Array(N*U)),K=Qz(new Uint8Array(N)),_=()=>{};if(X){let L=2*U*G,i=Math.max(Math.floor(L/1e4),1),y=0;_=()=>{if(y++,X&&(!(y%i)||y===L))X(y/L)}}return{N:U,r:J,p:G,dkLen:z,blockSize32:q,V:T,B32:r,B:Z,tmp:K,blockMixCb:_,asyncTick:O}}function WK($,v,g,I,U){let J=WN(_$,$,g,{c:1,dkLen:v});return qv(g,I,U),J}function VN($,v,g){let{N:I,r:U,p:J,dkLen:G,blockSize32:z,V:O,B32:D,B:X,tmp:N,blockMixCb:q}=YK($,v,g);sX(D);for(let w=0;w<J;w++){let W=z*w;for(let Z=0;Z<z;Z++)O[Z]=D[W+Z];for(let Z=0,r=0;Z<I-1;Z++)rN(O,r,O,r+=z,U),q();rN(O,(I-1)*z,D,W,U),q();for(let Z=0;Z<I;Z++){let r=(D[W+z-16]&I-1)>>>0;for(let T=0;T<z;T++)N[T]=D[W+T]^O[r*z+T];rN(N,0,D,W,U),q()}}return sX(D),WK($,G,X,O,N)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function rK($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in $&&$.BYTES_PER_ELEMENT===1}function Rz($){if(typeof $!=="boolean")throw TypeError(`boolean expected, not ${$}`)}function RI($){if(typeof $!=="number")throw TypeError("number expected, got "+typeof $);if(!Number.isSafeInteger($)||$<0)throw RangeError("positive integer expected, got "+$)}function b$($,v,g=""){let I=rK($),U=$?.length,J=v!==void 0;if(!I||J&&U!==v){let G=g&&`"${g}" `,z=J?` of length ${v}`:"",O=I?`length=${U}`:`type=${typeof $}`,D=G+"expected Uint8Array"+z+", got "+O;if(!I)throw TypeError(D);throw RangeError(D)}return $}function ZN($,v=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(v&&$.finished)throw Error("Hash#digest() has already been called")}function Ur($,v,g=!1){b$($,void 0,"output");let I=v.outputLen;if($.length<I)throw RangeError("digestInto() expects output buffer of length at least "+I);if(g&&!KI($))throw Error("invalid output, must be aligned")}function vU($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function iv(...$){for(let v=0;v<$.length;v++)$[v].fill(0)}function VK($){return new DataView($.buffer,$.byteOffset,$.byteLength)}var jg=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),ZK=($)=>$<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255;var jK=($)=>{for(let v=0;v<$.length;v++)$[v]=ZK($[v]);return $},VU=jg?($)=>$:jK;function gr($,v){if(v==null||typeof v!=="object")throw Error("options must be defined");return Object.assign($,v)}function Ir($,v){if($.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function Jr($,v,g){let I=v,U=g||(()=>[]),J=(z,O)=>I(O,...U(z)).update(z).digest(),G=I(new Uint8Array($),...U(new Uint8Array(0)));return J.outputLen=G.outputLen,J.blockLen=G.blockLen,J.create=(z,...O)=>I(z,...O),J}var Gr=($,v)=>{function g(I,...U){if(b$(I,void 0,"key"),$.nonceLength!==void 0){let X=U[0];b$(X,$.varSizeNonce?void 0:$.nonceLength,"nonce")}let J=$.tagLength;if(J&&U[1]!==void 0)b$(U[1],void 0,"AAD");let G=v(I,...U),z=(X,N)=>{if(N!==void 0){if(X!==2)throw Error("cipher output not supported");b$(N,void 0,"output")}},O=!1;return{encrypt(X,N){if(O)throw Error("cannot encrypt() twice with same key + nonce");return O=!0,b$(X),z(G.encrypt.length,N),G.encrypt(X,N)},decrypt(X,N){if(b$(X),J&&X.length<J)throw Error('"ciphertext" expected length bigger than tagLength='+J);return z(G.decrypt.length,N),G.decrypt(X,N)}}}return Object.assign(g,$),g};function F0($,v,g=!0){if(v===void 0)return new Uint8Array($);if(b$(v,void 0,"output"),v.length!==$)throw Error('"output" expected Uint8Array of length '+$+", got: "+v.length);if(g&&!KI(v))throw Error("invalid output, must be aligned");return v}function zr($,v,g){RI($),RI(v),Rz(g);let I=new Uint8Array(16),U=VK(I);return U.setBigUint64(0,BigInt(v),g),U.setBigUint64(8,BigInt($),g),I}function KI($){return $.byteOffset%4===0}function uI($){return Uint8Array.from(b$($))}var Dr=($)=>Uint8Array.from($.split(""),(v)=>v.charCodeAt(0)),MK=(()=>VU(vU(Dr("expand 16-byte k"))))(),RK=(()=>VU(vU(Dr("expand 32-byte k"))))();function K$($,v){return $<<v|$>>>32-v}var i0=64,KK=16,jN=(()=>4294967295)(),Or=Uint32Array.of();function uK($,v,g,I,U,J,G,z){let O=U.length,D=new Uint8Array(i0),X=vU(D),N=jg&&KI(U)&&KI(J),q=N?vU(U):Or,w=N?vU(J):Or;if(!jg){for(let W=0;W<O;G++){if($(v,g,I,X,G,z),VU(X),G>=jN)throw Error("arx: counter overflow");let Z=Math.min(i0,O-W);for(let r=0,T;r<Z;r++)T=W+r,J[T]=U[T]^D[r];W+=Z}return}for(let W=0;W<O;G++){if($(v,g,I,X,G,z),G>=jN)throw Error("arx: counter overflow");let Z=Math.min(i0,O-W);if(N&&Z===i0){let r=W/4;if(W%4!==0)throw Error("arx: invalid block position");for(let T=0,K;T<KK;T++)K=r+T,w[K]=q[K]^X[T];W+=i0;continue}for(let r=0,T;r<Z;r++)T=W+r,J[T]=U[T]^D[r];W+=Z}}function Qr($,v){let{allowShortKeys:g,extendNonceFn:I,counterLength:U,counterRight:J,rounds:G}=gr({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},v);if(typeof $!=="function")throw Error("core must be a function");return RI(U),RI(G),Rz(J),Rz(g),(z,O,D,X,N=0)=>{b$(z,void 0,"key"),b$(O,void 0,"nonce"),b$(D,void 0,"data");let q=D.length;if(X=F0(q,X,!1),RI(N),N<0||N>=jN)throw Error("arx: counter overflow");let w=[],W=z.length,Z,r;if(W===32)w.push(Z=uI(z)),r=RK;else if(W===16&&g)Z=new Uint8Array(32),Z.set(z),Z.set(z,16),r=MK,w.push(Z);else throw b$(z,32,"arx key"),Error("invalid key size");if(!jg||!KI(O))w.push(O=uI(O));let T=vU(Z);if(I){if(O.length!==24)throw Error("arx: extended nonce must be 24 bytes");let L=O.subarray(0,16);if(jg)I(r,T,vU(L),T);else{let i=VU(Uint32Array.from(r));I(i,T,vU(L),T),iv(i),VU(T)}O=O.subarray(16)}else if(!jg)VU(T);let K=16-U;if(K!==O.length)throw Error(`arx: nonce must be ${K} or 16 bytes`);if(K!==12){let L=new Uint8Array(12);L.set(O,J?0:12-O.length),O=L,w.push(O)}let _=VU(vU(O));try{return uK($,r,T,_,D,X,N,G),X}finally{iv(...w)}}}function l$($,v){return $[v++]&255|($[v++]&255)<<8}class Xr{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor($){$=uI(b$($,32,"key"));let v=l$($,0),g=l$($,2),I=l$($,4),U=l$($,6),J=l$($,8),G=l$($,10),z=l$($,12),O=l$($,14);this.r[0]=v&8191,this.r[1]=(v>>>13|g<<3)&8191,this.r[2]=(g>>>10|I<<6)&7939,this.r[3]=(I>>>7|U<<9)&8191,this.r[4]=(U>>>4|J<<12)&255,this.r[5]=J>>>1&8190,this.r[6]=(J>>>14|G<<2)&8191,this.r[7]=(G>>>11|z<<5)&8065,this.r[8]=(z>>>8|O<<8)&8191,this.r[9]=O>>>5&127;for(let D=0;D<8;D++)this.pad[D]=l$($,16+2*D)}process($,v,g=!1){let I=g?0:2048,{h:U,r:J}=this,G=J[0],z=J[1],O=J[2],D=J[3],X=J[4],N=J[5],q=J[6],w=J[7],W=J[8],Z=J[9],r=l$($,v+0),T=l$($,v+2),K=l$($,v+4),_=l$($,v+6),L=l$($,v+8),i=l$($,v+10),y=l$($,v+12),d=l$($,v+14),n=U[0]+(r&8191),b=U[1]+((r>>>13|T<<3)&8191),v$=U[2]+((T>>>10|K<<6)&8191),S=U[3]+((K>>>7|_<<9)&8191),u=U[4]+((_>>>4|L<<12)&8191),k=U[5]+(L>>>1&8191),V=U[6]+((L>>>14|i<<2)&8191),M=U[7]+((i>>>11|y<<5)&8191),j=U[8]+((y>>>8|d<<8)&8191),A=U[9]+(d>>>5|I),R=0,E=R+n*G+b*(5*Z)+v$*(5*W)+S*(5*w)+u*(5*q);R=E>>>13,E&=8191,E+=k*(5*N)+V*(5*X)+M*(5*D)+j*(5*O)+A*(5*z),R+=E>>>13,E&=8191;let C=R+n*z+b*G+v$*(5*Z)+S*(5*W)+u*(5*w);R=C>>>13,C&=8191,C+=k*(5*q)+V*(5*N)+M*(5*X)+j*(5*D)+A*(5*O),R+=C>>>13,C&=8191;let x=R+n*O+b*z+v$*G+S*(5*Z)+u*(5*W);R=x>>>13,x&=8191,x+=k*(5*w)+V*(5*q)+M*(5*N)+j*(5*X)+A*(5*D),R+=x>>>13,x&=8191;let e=R+n*D+b*O+v$*z+S*G+u*(5*Z);R=e>>>13,e&=8191,e+=k*(5*W)+V*(5*w)+M*(5*q)+j*(5*N)+A*(5*X),R+=e>>>13,e&=8191;let J$=R+n*X+b*D+v$*O+S*z+u*G;R=J$>>>13,J$&=8191,J$+=k*(5*Z)+V*(5*W)+M*(5*w)+j*(5*q)+A*(5*N),R+=J$>>>13,J$&=8191;let z$=R+n*N+b*X+v$*D+S*O+u*z;R=z$>>>13,z$&=8191,z$+=k*G+V*(5*Z)+M*(5*W)+j*(5*w)+A*(5*q),R+=z$>>>13,z$&=8191;let Q$=R+n*q+b*N+v$*X+S*D+u*O;R=Q$>>>13,Q$&=8191,Q$+=k*z+V*G+M*(5*Z)+j*(5*W)+A*(5*w),R+=Q$>>>13,Q$&=8191;let w$=R+n*w+b*q+v$*N+S*X+u*D;R=w$>>>13,w$&=8191,w$+=k*O+V*z+M*G+j*(5*Z)+A*(5*W),R+=w$>>>13,w$&=8191;let X$=R+n*W+b*w+v$*q+S*N+u*X;R=X$>>>13,X$&=8191,X$+=k*D+V*O+M*z+j*G+A*(5*Z),R+=X$>>>13,X$&=8191;let N$=R+n*Z+b*W+v$*w+S*q+u*N;R=N$>>>13,N$&=8191,N$+=k*X+V*D+M*O+j*z+A*G,R+=N$>>>13,N$&=8191,R=(R<<2)+R|0,R=R+E|0,E=R&8191,R=R>>>13,C+=R,U[0]=E,U[1]=C,U[2]=x,U[3]=e,U[4]=J$,U[5]=z$,U[6]=Q$,U[7]=w$,U[8]=X$,U[9]=N$}finalize(){let{h:$,pad:v}=this,g=new Uint16Array(10),I=$[1]>>>13;$[1]&=8191;for(let G=2;G<10;G++)$[G]+=I,I=$[G]>>>13,$[G]&=8191;$[0]+=I*5,I=$[0]>>>13,$[0]&=8191,$[1]+=I,I=$[1]>>>13,$[1]&=8191,$[2]+=I,g[0]=$[0]+5,I=g[0]>>>13,g[0]&=8191;for(let G=1;G<10;G++)g[G]=$[G]+I,I=g[G]>>>13,g[G]&=8191;g[9]-=8192;let U=(I^1)-1;for(let G=0;G<10;G++)g[G]&=U;U=~U;for(let G=0;G<10;G++)$[G]=$[G]&U|g[G];$[0]=($[0]|$[1]<<13)&65535,$[1]=($[1]>>>3|$[2]<<10)&65535,$[2]=($[2]>>>6|$[3]<<7)&65535,$[3]=($[3]>>>9|$[4]<<4)&65535,$[4]=($[4]>>>12|$[5]<<1|$[6]<<14)&65535,$[5]=($[6]>>>2|$[7]<<11)&65535,$[6]=($[7]>>>5|$[8]<<8)&65535,$[7]=($[8]>>>8|$[9]<<5)&65535;let J=$[0]+v[0];$[0]=J&65535;for(let G=1;G<8;G++)J=($[G]+v[G]|0)+(J>>>16)|0,$[G]=J&65535;iv(g)}update($){ZN(this),b$($),$=uI($);let{buffer:v,blockLen:g}=this,I=$.length;for(let U=0;U<I;){let J=Math.min(g-this.pos,I-U);if(J===g){for(;g<=I-U;U+=g)this.process($,U);continue}if(v.set($.subarray(U,U+J),this.pos),this.pos+=J,U+=J,this.pos===g)this.process(v,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,iv(this.h,this.r,this.buffer,this.pad)}digestInto($){ZN(this),Ur($,this),this.finished=!0;let{buffer:v,h:g}=this,{pos:I}=this;if(I){v[I++]=1;for(;I<16;I++)v[I]=0;this.process(v,0,!0)}this.finalize();let U=0;for(let J=0;J<8;J++)$[U++]=g[J]>>>0,$[U++]=g[J]>>>8}digest(){let{buffer:$,outputLen:v}=this;this.digestInto($);let g=$.slice(0,v);return this.destroy(),g}}var Nr=Jr(32,($)=>new Xr($));function TK($,v,g,I,U,J=20){let G=$[0],z=$[1],O=$[2],D=$[3],X=v[0],N=v[1],q=v[2],w=v[3],W=v[4],Z=v[5],r=v[6],T=v[7],K=U,_=g[0],L=g[1],i=g[2],y=G,d=z,n=O,b=D,v$=X,S=N,u=q,k=w,V=W,M=Z,j=r,A=T,R=K,E=_,C=L,x=i;for(let J$=0;J$<J;J$+=2)y=y+v$|0,R=K$(R^y,16),V=V+R|0,v$=K$(v$^V,12),y=y+v$|0,R=K$(R^y,8),V=V+R|0,v$=K$(v$^V,7),d=d+S|0,E=K$(E^d,16),M=M+E|0,S=K$(S^M,12),d=d+S|0,E=K$(E^d,8),M=M+E|0,S=K$(S^M,7),n=n+u|0,C=K$(C^n,16),j=j+C|0,u=K$(u^j,12),n=n+u|0,C=K$(C^n,8),j=j+C|0,u=K$(u^j,7),b=b+k|0,x=K$(x^b,16),A=A+x|0,k=K$(k^A,12),b=b+k|0,x=K$(x^b,8),A=A+x|0,k=K$(k^A,7),y=y+S|0,x=K$(x^y,16),j=j+x|0,S=K$(S^j,12),y=y+S|0,x=K$(x^y,8),j=j+x|0,S=K$(S^j,7),d=d+u|0,R=K$(R^d,16),A=A+R|0,u=K$(u^A,12),d=d+u|0,R=K$(R^d,8),A=A+R|0,u=K$(u^A,7),n=n+k|0,E=K$(E^n,16),V=V+E|0,k=K$(k^V,12),n=n+k|0,E=K$(E^n,8),V=V+E|0,k=K$(k^V,7),b=b+v$|0,C=K$(C^b,16),M=M+C|0,v$=K$(v$^M,12),b=b+v$|0,C=K$(C^b,8),M=M+C|0,v$=K$(v$^M,7);let e=0;I[e++]=G+y|0,I[e++]=z+d|0,I[e++]=O+n|0,I[e++]=D+b|0,I[e++]=X+v$|0,I[e++]=N+S|0,I[e++]=q+u|0,I[e++]=w+k|0,I[e++]=W+V|0,I[e++]=Z+M|0,I[e++]=r+j|0,I[e++]=T+A|0,I[e++]=K+R|0,I[e++]=_+E|0,I[e++]=L+C|0,I[e++]=i+x|0}var HK=Qr(TK,{counterRight:!1,counterLength:4,allowShortKeys:!1});var AK=new Uint8Array(16),wr=($,v)=>{$.update(v);let g=v.length%16;if(g)$.update(AK.subarray(g))},SK=new Uint8Array(32);function qr($,v,g,I,U){if(U!==void 0)b$(U,void 0,"AAD");let J=$(v,g,SK),G=zr(I.length,U?U.length:0,!0),z=Nr.create(J);if(U)wr(z,U);wr(z,I),z.update(G);let O=z.digest();return iv(J,G),O}var kK=($)=>(v,g,I)=>{return{encrypt(J,G){let z=J.length;G=F0(z+16,G,!1),G.set(J);let O=G.subarray(0,-16);$(v,g,O,O,1);let D=qr($,v,g,O,I);return G.set(D,z),iv(D),G},decrypt(J,G){G=F0(J.length-16,G,!1);let z=J.subarray(0,-16),O=J.subarray(-16),D=qr($,v,g,z,I);if(!Ir(O,D))throw iv(D),Error("invalid tag");return G.set(J.subarray(0,-16)),$(v,g,G,G,1),iv(D),G}}},Cv=Gr({blockSize:64,nonceLength:12,tagLength:16},kK(HK));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function TI($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"}function i$($,v=""){if(!Number.isSafeInteger($)||$<0){let g=v&&`"${v}" `;throw Error(`${g}expected integer >= 0, got ${$}`)}}function Y$($,v,g=""){let I=TI($),U=$?.length,J=v!==void 0;if(!I||J&&U!==v){let G=g&&`"${g}" `,z=J?` of length ${v}`:"",O=I?`length=${U}`:`type=${typeof $}`;throw Error(G+"expected Uint8Array"+z+", got "+O)}return $}function Lv($){if(typeof $!=="function"||typeof $.create!=="function")throw Error("Hash must wrapped by utils.createHasher");i$($.outputLen),i$($.blockLen)}function jU($,v=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(v&&$.finished)throw Error("Hash#digest() has already been called")}function Kz($,v){Y$($,void 0,"digestInto() output");let g=v.outputLen;if($.length<g)throw Error('"digestInto() output" expected to be of length >='+g)}function uz($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function Rv(...$){for(let v=0;v<$.length;v++)$[v].fill(0)}function Tz($){return new DataView($.buffer,$.byteOffset,$.byteLength)}function xv($,v){return $<<32-v|$>>>v}var PK=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function EK($){return $<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255}function BK($){for(let v=0;v<$.length;v++)$[v]=EK($[v]);return $}var MN=PK?($)=>$:BK,Wr=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),CK=Array.from({length:256},($,v)=>v.toString(16).padStart(2,"0"));function Mg($){if(Y$($),Wr)return $.toHex();let v="";for(let g=0;g<$.length;g++)v+=CK[$[g]];return v}var ZU={_0:48,_9:57,A:65,F:70,a:97,f:102};function Yr($){if($>=ZU._0&&$<=ZU._9)return $-ZU._0;if($>=ZU.A&&$<=ZU.F)return $-(ZU.A-10);if($>=ZU.a&&$<=ZU.f)return $-(ZU.a-10);return}function Rg($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);if(Wr)return Uint8Array.fromHex($);let v=$.length,g=v/2;if(v%2)throw Error("hex string expected, got unpadded hex of length "+v);let I=new Uint8Array(g);for(let U=0,J=0;U<g;U++,J+=2){let G=Yr($.charCodeAt(J)),z=Yr($.charCodeAt(J+1));if(G===void 0||z===void 0){let O=$[J]+$[J+1];throw Error('hex string expected, got non-hex character "'+O+'" at index '+J)}I[U]=G*16+z}return I}function n$(...$){let v=0;for(let I=0;I<$.length;I++){let U=$[I];Y$(U),v+=U.length}let g=new Uint8Array(v);for(let I=0,U=0;I<$.length;I++){let J=$[I];g.set(J,U),U+=J.length}return g}function HI($,v={}){let g=(U,J)=>$(J).update(U).digest(),I=$(void 0);return g.outputLen=I.outputLen,g.blockLen=I.blockLen,g.create=(U)=>$(U),Object.assign(g,v),Object.freeze(g)}function lU($=32){let v=typeof globalThis==="object"?globalThis.crypto:null;if(typeof v?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");return v.getRandomValues(new Uint8Array($))}var dU=($)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,$])});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var KN=BigInt(0),RN=BigInt(1);function x0($,v=""){if(typeof $!=="boolean"){let g=v&&`"${v}" `;throw Error(g+"expected boolean, got type="+typeof $)}return $}function rr($){if(typeof $==="bigint"){if(!Hz($))throw Error("positive bigint expected, got "+$)}else i$($);return $}function c0($){let v=rr($).toString(16);return v.length&1?"0"+v:v}function Vr($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);return $===""?KN:BigInt("0x"+$)}function hU($){return Vr(Mg($))}function pU($){return Vr(Mg(Az(Y$($)).reverse()))}function AI($,v){i$(v),$=rr($);let g=Rg($.toString(16).padStart(v*2,"0"));if(g.length!==v)throw Error("number too large");return g}function o0($,v){return AI($,v).reverse()}function Az($){return Uint8Array.from($)}function tU($){return Uint8Array.from($,(v,g)=>{let I=v.charCodeAt(0);if(v.length!==1||I>127)throw Error(`string contains non-ASCII character "${$[g]}" with code ${I} at position ${g}`);return I})}var Hz=($)=>typeof $==="bigint"&&KN<=$;function LK($,v,g){return Hz($)&&Hz(v)&&Hz(g)&&v<=$&&$<g}function y0($,v,g,I){if(!LK(v,g,I))throw Error("expected valid "+$+": "+g+" <= n < "+I+", got "+v)}function uN($){let v;for(v=0;$>KN;$>>=RN,v+=1);return v}var l0=($)=>(RN<<BigInt($))-RN;function Zr($,v,g){if(i$($,"hashLen"),i$(v,"qByteLen"),typeof g!=="function")throw Error("hmacFn must be a function");let I=(r)=>new Uint8Array(r),U=Uint8Array.of(),J=Uint8Array.of(0),G=Uint8Array.of(1),z=1000,O=I($),D=I($),X=0,N=()=>{O.fill(1),D.fill(0),X=0},q=(...r)=>g(D,n$(O,...r)),w=(r=U)=>{if(D=q(J,r),O=q(),r.length===0)return;D=q(G,r),O=q()},W=()=>{if(X++>=z)throw Error("drbg: tried max amount of iterations");let r=0,T=[];while(r<v){O=q();let K=O.slice();T.push(K),r+=O.length}return n$(...T)};return(r,T)=>{N(),w(r);let K=void 0;while(!(K=T(W())))w();return N(),K}}function Kg($,v={},g={}){if(!$||typeof $!=="object")throw Error("expected valid options object");function I(J,G,z){let O=$[J];if(z&&O===void 0)return;let D=typeof O;if(D!==G||O===null)throw Error(`param "${J}" is invalid: expected ${G}, got ${D}`)}let U=(J,G)=>Object.entries(J).forEach(([z,O])=>I(z,O,G));U(v,!1),U(g,!0)}function TN($){let v=new WeakMap;return(g,...I)=>{let U=v.get(g);if(U!==void 0)return U;let J=$(g,...I);return v.set(g,J),J}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Wv=BigInt(0),Iv=BigInt(1),ug=BigInt(2),Rr=BigInt(3),Kr=BigInt(4),ur=BigInt(5),fK=BigInt(7),Tr=BigInt(8),_K=BigInt(9),Hr=BigInt(16);function Yv($,v){let g=$%v;return g>=Wv?g:v+g}function fv($,v,g){let I=$;while(v-- >Wv)I*=I,I%=g;return I}function jr($,v){if($===Wv)throw Error("invert: expected non-zero number");if(v<=Wv)throw Error("invert: expected positive modulus, got "+v);let g=Yv($,v),I=v,U=Wv,J=Iv,G=Iv,z=Wv;while(g!==Wv){let D=I/g,X=I%g,N=U-G*D,q=J-z*D;I=g,g=X,U=G,J=z,G=N,z=q}if(I!==Iv)throw Error("invert: does not exist");return Yv(U,v)}function HN($,v,g){if(!$.eql($.sqr(v),g))throw Error("Cannot find square root")}function Ar($,v){let g=($.ORDER+Iv)/Kr,I=$.pow(v,g);return HN($,I,v),I}function nK($,v){let g=($.ORDER-ur)/Tr,I=$.mul(v,ug),U=$.pow(I,g),J=$.mul(v,U),G=$.mul($.mul(J,ug),U),z=$.mul(J,$.sub(G,$.ONE));return HN($,z,v),z}function bK($){let v=Sz($),g=Sr($),I=g(v,v.neg(v.ONE)),U=g(v,I),J=g(v,v.neg(I)),G=($+fK)/Hr;return(z,O)=>{let D=z.pow(O,G),X=z.mul(D,I),N=z.mul(D,U),q=z.mul(D,J),w=z.eql(z.sqr(X),O),W=z.eql(z.sqr(N),O);D=z.cmov(D,X,w),X=z.cmov(q,N,W);let Z=z.eql(z.sqr(X),O),r=z.cmov(D,X,Z);return HN(z,r,O),r}}function Sr($){if($<Rr)throw Error("sqrt is not defined for small field");let v=$-Iv,g=0;while(v%ug===Wv)v/=ug,g++;let I=ug,U=Sz($);while(Mr(U,I)===1)if(I++>1000)throw Error("Cannot find square root: probably non-prime P");if(g===1)return Ar;let J=U.pow(I,v),G=(v+Iv)/ug;return function(O,D){if(O.is0(D))return D;if(Mr(O,D)!==1)throw Error("Cannot find square root");let X=g,N=O.mul(O.ONE,J),q=O.pow(D,v),w=O.pow(D,G);while(!O.eql(q,O.ONE)){if(O.is0(q))return O.ZERO;let W=1,Z=O.sqr(q);while(!O.eql(Z,O.ONE))if(W++,Z=O.sqr(Z),W===X)throw Error("Cannot find square root");let r=Iv<<BigInt(X-W-1),T=O.pow(N,r);X=W,N=O.sqr(T),q=O.mul(q,N),w=O.mul(w,T)}return w}}function mK($){if($%Kr===Rr)return Ar;if($%Tr===ur)return nK;if($%Hr===_K)return bK($);return Sr($)}var FK=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function AN($){let v={ORDER:"bigint",BYTES:"number",BITS:"number"},g=FK.reduce((I,U)=>{return I[U]="function",I},v);return Kg($,g),$}function iK($,v,g){if(g<Wv)throw Error("invalid exponent, negatives unsupported");if(g===Wv)return $.ONE;if(g===Iv)return v;let I=$.ONE,U=v;while(g>Wv){if(g&Iv)I=$.mul(I,U);U=$.sqr(U),g>>=Iv}return I}function d0($,v,g=!1){let I=Array(v.length).fill(g?$.ZERO:void 0),U=v.reduce((G,z,O)=>{if($.is0(z))return G;return I[O]=G,$.mul(G,z)},$.ONE),J=$.inv(U);return v.reduceRight((G,z,O)=>{if($.is0(z))return G;return I[O]=$.mul(G,I[O]),$.mul(G,z)},J),I}function Mr($,v){let g=($.ORDER-Iv)/ug,I=$.pow(v,g),U=$.eql(I,$.ONE),J=$.eql(I,$.ZERO),G=$.eql(I,$.neg($.ONE));if(!U&&!J&&!G)throw Error("invalid Legendre symbol result");return U?1:J?0:-1}function xK($,v){if(v!==void 0)i$(v);let g=v!==void 0?v:$.toString(2).length,I=Math.ceil(g/8);return{nBitLength:g,nByteLength:I}}class kr{ORDER;BITS;BYTES;isLE;ZERO=Wv;ONE=Iv;_lengths;_sqrt;_mod;constructor($,v={}){if($<=Wv)throw Error("invalid field: expected ORDER > 0, got "+$);let g=void 0;if(this.isLE=!1,v!=null&&typeof v==="object"){if(typeof v.BITS==="number")g=v.BITS;if(typeof v.sqrt==="function")this.sqrt=v.sqrt;if(typeof v.isLE==="boolean")this.isLE=v.isLE;if(v.allowedLengths)this._lengths=v.allowedLengths?.slice();if(typeof v.modFromBytes==="boolean")this._mod=v.modFromBytes}let{nBitLength:I,nByteLength:U}=xK($,g);if(U>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=$,this.BITS=I,this.BYTES=U,this._sqrt=void 0,Object.preventExtensions(this)}create($){return Yv($,this.ORDER)}isValid($){if(typeof $!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof $);return Wv<=$&&$<this.ORDER}is0($){return $===Wv}isValidNot0($){return!this.is0($)&&this.isValid($)}isOdd($){return($&Iv)===Iv}neg($){return Yv(-$,this.ORDER)}eql($,v){return $===v}sqr($){return Yv($*$,this.ORDER)}add($,v){return Yv($+v,this.ORDER)}sub($,v){return Yv($-v,this.ORDER)}mul($,v){return Yv($*v,this.ORDER)}pow($,v){return iK(this,$,v)}div($,v){return Yv($*jr(v,this.ORDER),this.ORDER)}sqrN($){return $*$}addN($,v){return $+v}subN($,v){return $-v}mulN($,v){return $*v}inv($){return jr($,this.ORDER)}sqrt($){if(!this._sqrt)this._sqrt=mK(this.ORDER);return this._sqrt(this,$)}toBytes($){return this.isLE?o0($,this.BYTES):AI($,this.BYTES)}fromBytes($,v=!1){Y$($);let{_lengths:g,BYTES:I,isLE:U,ORDER:J,_mod:G}=this;if(g){if(!g.includes($.length)||$.length>I)throw Error("Field.fromBytes: expected "+g+" bytes, got "+$.length);let O=new Uint8Array(I);O.set($,U?0:O.length-$.length),$=O}if($.length!==I)throw Error("Field.fromBytes: expected "+I+" bytes, got "+$.length);let z=U?pU($):hU($);if(G)z=Yv(z,J);if(!v){if(!this.isValid(z))throw Error("invalid field element: outside of range 0..ORDER")}return z}invertBatch($){return d0(this,$)}cmov($,v,g){return g?v:$}}function Sz($,v={}){return new kr($,v)}function Pr($){if(typeof $!=="bigint")throw Error("field order must be bigint");let v=$.toString(2).length;return Math.ceil(v/8)}function SN($){let v=Pr($);return v+Math.ceil(v/2)}function Er($,v,g=!1){Y$($);let I=$.length,U=Pr(v),J=SN(v);if(I<16||I<J||I>1024)throw Error("expected "+J+"-1024 bytes of input, got "+I);let G=g?pU($):hU($),z=Yv(G,v-Iv)+Iv;return g?o0(z,U):AI(z,U)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var SI=BigInt(0),Tg=BigInt(1);function h0($,v){let g=v.negate();return $?g:v}function BN($,v){let g=d0($.Fp,v.map((I)=>I.Z));return v.map((I,U)=>$.fromAffine(I.toAffine(g[U])))}function fr($,v){if(!Number.isSafeInteger($)||$<=0||$>v)throw Error("invalid window size, expected [1.."+v+"], got W="+$)}function kN($,v){fr($,v);let g=Math.ceil(v/$)+1,I=2**($-1),U=2**$,J=l0($),G=BigInt($);return{windows:g,windowSize:I,mask:J,maxNumber:U,shiftBy:G}}function Br($,v,g){let{windowSize:I,mask:U,maxNumber:J,shiftBy:G}=g,z=Number($&U),O=$>>G;if(z>I)z-=J,O+=Tg;let D=v*I,X=D+Math.abs(z)-1,N=z===0,q=z<0,w=v%2!==0;return{nextN:O,offset:X,isZero:N,isNeg:q,isNegF:w,offsetF:D}}var PN=new WeakMap,_r=new WeakMap;function EN($){return _r.get($)||1}function Cr($){if($!==SI)throw Error("invalid wNAF")}class CN{BASE;ZERO;Fn;bits;constructor($,v){this.BASE=$.BASE,this.ZERO=$.ZERO,this.Fn=$.Fn,this.bits=v}_unsafeLadder($,v,g=this.ZERO){let I=$;while(v>SI){if(v&Tg)g=g.add(I);I=I.double(),v>>=Tg}return g}precomputeWindow($,v){let{windows:g,windowSize:I}=kN(v,this.bits),U=[],J=$,G=J;for(let z=0;z<g;z++){G=J,U.push(G);for(let O=1;O<I;O++)G=G.add(J),U.push(G);J=G.double()}return U}wNAF($,v,g){if(!this.Fn.isValid(g))throw Error("invalid scalar");let I=this.ZERO,U=this.BASE,J=kN($,this.bits);for(let G=0;G<J.windows;G++){let{nextN:z,offset:O,isZero:D,isNeg:X,isNegF:N,offsetF:q}=Br(g,G,J);if(g=z,D)U=U.add(h0(N,v[q]));else I=I.add(h0(X,v[O]))}return Cr(g),{p:I,f:U}}wNAFUnsafe($,v,g,I=this.ZERO){let U=kN($,this.bits);for(let J=0;J<U.windows;J++){if(g===SI)break;let{nextN:G,offset:z,isZero:O,isNeg:D}=Br(g,J,U);if(g=G,O)continue;else{let X=v[z];I=I.add(D?X.negate():X)}}return Cr(g),I}getPrecomputes($,v,g){let I=PN.get(v);if(!I){if(I=this.precomputeWindow(v,$),$!==1){if(typeof g==="function")I=g(I);PN.set(v,I)}}return I}cached($,v,g){let I=EN($);return this.wNAF(I,this.getPrecomputes(I,$,g),v)}unsafe($,v,g,I){let U=EN($);if(U===1)return this._unsafeLadder($,v,I);return this.wNAFUnsafe(U,this.getPrecomputes(U,$,g),v,I)}createCache($,v){fr(v,this.bits),_r.set($,v),PN.delete($)}hasCache($){return EN($)!==1}}function nr($,v,g,I){let U=v,J=$.ZERO,G=$.ZERO;while(g>SI||I>SI){if(g&Tg)J=J.add(U);if(I&Tg)G=G.add(U);U=U.double(),g>>=Tg,I>>=Tg}return{p1:J,p2:G}}function Lr($,v,g){if(v){if(v.ORDER!==$)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return AN(v),v}else return Sz($,{isLE:g})}function br($,v,g={},I){if(I===void 0)I=$==="edwards";if(!v||typeof v!=="object")throw Error(`expected valid ${$} CURVE object`);for(let O of["p","n","h"]){let D=v[O];if(!(typeof D==="bigint"&&D>SI))throw Error(`CURVE.${O} must be positive bigint`)}let U=Lr(v.p,g.Fp,I),J=Lr(v.n,g.Fn,I),z=["Gx","Gy","a",$==="weierstrass"?"b":"d"];for(let O of z)if(!U.isValid(v[O]))throw Error(`CURVE.${O} must be valid field element of CURVE.Fp`);return v=Object.freeze(Object.assign({},v)),{CURVE:v,Fp:U,Fn:J}}function kz($,v){return function(I){let U=$(I);return{secretKey:U,publicKey:v(U)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var p0=BigInt(0),kI=BigInt(1),Pz=BigInt(2);function cK($){return Kg($,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...$})}function mr($){let v=cK($),{P:g,type:I,adjustScalarBytes:U,powPminus2:J,randomBytes:G}=v,z=I==="x25519";if(!z&&I!=="x448")throw Error("invalid type");let O=G||lU,D=z?255:448,X=z?32:56,N=z?BigInt(9):BigInt(5),q=z?BigInt(121665):BigInt(39081),w=z?Pz**BigInt(254):Pz**BigInt(447),W=z?BigInt(8)*Pz**BigInt(251)-kI:BigInt(4)*Pz**BigInt(445)-kI,Z=w+W+kI,r=(V)=>Yv(V,g),T=K(N);function K(V){return o0(r(V),X)}function _(V){let M=Az(Y$(V,X,"uCoordinate"));if(z)M[31]&=127;return r(pU(M))}function L(V){return pU(U(Az(Y$(V,X,"scalar"))))}function i(V,M){let j=v$(_(M),L(V));if(j===p0)throw Error("invalid private or public key received");return K(j)}function y(V){return i(V,T)}let d=y,n=i;function b(V,M,j){let A=r(V*(M-j));return M=r(M-A),j=r(j+A),{x_2:M,x_3:j}}function v$(V,M){y0("u",V,p0,g),y0("scalar",M,w,Z);let j=M,A=V,R=kI,E=p0,C=V,x=kI,e=p0;for(let z$=BigInt(D-1);z$>=p0;z$--){let Q$=j>>z$&kI;e^=Q$,{x_2:R,x_3:C}=b(e,R,C),{x_2:E,x_3:x}=b(e,E,x),e=Q$;let w$=R+E,X$=r(w$*w$),N$=R-E,r$=r(N$*N$),k$=X$-r$,E$=C+x,a$=C-x,e$=r(a$*w$),Vv=r(E$*N$),yv=e$+Vv,lv=e$-Vv;C=r(yv*yv),x=r(A*r(lv*lv)),R=r(X$*r$),E=r(k$*(X$+r(q*k$)))}({x_2:R,x_3:C}=b(e,R,C)),{x_2:E,x_3:x}=b(e,E,x);let J$=J(E);return r(R*J$)}let S={secretKey:X,publicKey:X,seed:X},u=(V=O(X))=>{return Y$(V,S.seed,"seed"),V},k={randomSecretKey:u};return Object.freeze({keygen:kz(u,d),getSharedSecret:n,getPublicKey:d,scalarMult:i,scalarMultBase:y,utils:k,GuBytes:T.slice(),lengths:S})}class LN{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor($,v){if(Lv($),Y$(v,void 0,"key"),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 g=this.blockLen,I=new Uint8Array(g);I.set(v.length>g?$.create().update(v).digest():v);for(let U=0;U<I.length;U++)I[U]^=54;this.iHash.update(I),this.oHash=$.create();for(let U=0;U<I.length;U++)I[U]^=106;this.oHash.update(I),Rv(I)}update($){return jU(this),this.iHash.update($),this}digestInto($){jU(this),Y$($,this.outputLen,"output"),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:v,iHash:g,finished:I,destroyed:U,blockLen:J,outputLen:G}=this;return $=$,$.finished=I,$.destroyed=U,$.blockLen=J,$.outputLen=G,$.oHash=v._cloneInto($.oHash),$.iHash=g._cloneInto($.iHash),$}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var PI=($,v,g)=>new LN($,v).update(g).digest();PI.create=($,v)=>new LN($,v);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Fr=($,v)=>($+($>=0?v:-v)/xr)/v;function oK($,v,g){let[[I,U],[J,G]]=v,z=Fr(G*$,g),O=Fr(-U*$,g),D=$-z*I-O*J,X=-z*U-O*G,N=D<MU,q=X<MU;if(N)D=-D;if(q)X=-X;let w=l0(Math.ceil(uN(g)/2))+EI;if(D<MU||D>=w||X<MU||X>=w)throw Error("splitScalar (endomorphism): failed, k="+$);return{k1neg:N,k1:D,k2neg:q,k2:X}}function _N($){if(!["compact","recovered","der"].includes($))throw Error('Signature format must be "compact", "recovered", or "der"');return $}function fN($,v){let g={};for(let I of Object.keys(v))g[I]=$[I]===void 0?v[I]:$[I];if(x0(g.lowS,"lowS"),x0(g.prehash,"prehash"),g.format!==void 0)_N(g.format);return g}class ir extends Error{constructor($=""){super($)}}var aU={Err:ir,_tlv:{encode:($,v)=>{let{Err:g}=aU;if($<0||$>256)throw new g("tlv.encode: wrong tag");if(v.length&1)throw new g("tlv.encode: unpadded data");let I=v.length/2,U=c0(I);if(U.length/2&128)throw new g("tlv.encode: long form length too big");let J=I>127?c0(U.length/2|128):"";return c0($)+J+U+v},decode($,v){let{Err:g}=aU,I=0;if($<0||$>256)throw new g("tlv.encode: wrong tag");if(v.length<2||v[I++]!==$)throw new g("tlv.decode: wrong tlv");let U=v[I++],J=!!(U&128),G=0;if(!J)G=U;else{let O=U&127;if(!O)throw new g("tlv.decode(long): indefinite length not supported");if(O>4)throw new g("tlv.decode(long): byte length is too big");let D=v.subarray(I,I+O);if(D.length!==O)throw new g("tlv.decode: length bytes not complete");if(D[0]===0)throw new g("tlv.decode(long): zero leftmost byte");for(let X of D)G=G<<8|X;if(I+=O,G<128)throw new g("tlv.decode(long): not minimal encoding")}let z=v.subarray(I,I+G);if(z.length!==G)throw new g("tlv.decode: wrong value length");return{v:z,l:v.subarray(I+G)}}},_int:{encode($){let{Err:v}=aU;if($<MU)throw new v("integer: negative integers are not allowed");let g=c0($);if(Number.parseInt(g[0],16)&8)g="00"+g;if(g.length&1)throw new v("unexpected DER parsing assertion: unpadded hex");return g},decode($){let{Err:v}=aU;if($[0]&128)throw new v("invalid signature integer: negative");if($[0]===0&&!($[1]&128))throw new v("invalid signature integer: unnecessary leading zero");return hU($)}},toSig($){let{Err:v,_int:g,_tlv:I}=aU,U=Y$($,void 0,"signature"),{v:J,l:G}=I.decode(48,U);if(G.length)throw new v("invalid signature: left bytes after parsing");let{v:z,l:O}=I.decode(2,J),{v:D,l:X}=I.decode(2,O);if(X.length)throw new v("invalid signature: left bytes after parsing");return{r:g.decode(z),s:g.decode(D)}},hexFromSig($){let{_tlv:v,_int:g}=aU,I=v.encode(2,g.encode($.r)),U=v.encode(2,g.encode($.s)),J=I+U;return v.encode(48,J)}},MU=BigInt(0),EI=BigInt(1),xr=BigInt(2),Ez=BigInt(3),yK=BigInt(4);function nN($,v={}){let g=br("weierstrass",$,v),{Fp:I,Fn:U}=g,J=g.CURVE,{h:G,n:z}=J;Kg(v,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:O}=v;if(O){if(!I.is0(J.a)||typeof O.beta!=="bigint"||!Array.isArray(O.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let D=or(I,U);function X(){if(!I.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function N(u,k,V){let{x:M,y:j}=k.toAffine(),A=I.toBytes(M);if(x0(V,"isCompressed"),V){X();let R=!I.isOdd(j);return n$(cr(R),A)}else return n$(Uint8Array.of(4),A,I.toBytes(j))}function q(u){Y$(u,void 0,"Point");let{publicKey:k,publicKeyUncompressed:V}=D,M=u.length,j=u[0],A=u.subarray(1);if(M===k&&(j===2||j===3)){let R=I.fromBytes(A);if(!I.isValid(R))throw Error("bad point: is not on curve, wrong x");let E=Z(R),C;try{C=I.sqrt(E)}catch(J$){let z$=J$ instanceof Error?": "+J$.message:"";throw Error("bad point: is not on curve, sqrt error"+z$)}X();let x=I.isOdd(C);if((j&1)===1!==x)C=I.neg(C);return{x:R,y:C}}else if(M===V&&j===4){let R=I.BYTES,E=I.fromBytes(A.subarray(0,R)),C=I.fromBytes(A.subarray(R,R*2));if(!r(E,C))throw Error("bad point: is not on curve");return{x:E,y:C}}else throw Error(`bad point: got length ${M}, expected compressed=${k} or uncompressed=${V}`)}let w=v.toBytes||N,W=v.fromBytes||q;function Z(u){let k=I.sqr(u),V=I.mul(k,u);return I.add(I.add(V,I.mul(u,J.a)),J.b)}function r(u,k){let V=I.sqr(k),M=Z(u);return I.eql(V,M)}if(!r(J.Gx,J.Gy))throw Error("bad curve params: generator point");let T=I.mul(I.pow(J.a,Ez),yK),K=I.mul(I.sqr(J.b),BigInt(27));if(I.is0(I.add(T,K)))throw Error("bad curve params: a or b");function _(u,k,V=!1){if(!I.isValid(k)||V&&I.is0(k))throw Error(`bad point coordinate ${u}`);return k}function L(u){if(!(u instanceof b))throw Error("Weierstrass Point expected")}function i(u){if(!O||!O.basises)throw Error("no endo");return oK(u,O.basises,U.ORDER)}let y=TN((u,k)=>{let{X:V,Y:M,Z:j}=u;if(I.eql(j,I.ONE))return{x:V,y:M};let A=u.is0();if(k==null)k=A?I.ONE:I.inv(j);let R=I.mul(V,k),E=I.mul(M,k),C=I.mul(j,k);if(A)return{x:I.ZERO,y:I.ZERO};if(!I.eql(C,I.ONE))throw Error("invZ was invalid");return{x:R,y:E}}),d=TN((u)=>{if(u.is0()){if(v.allowInfinityPoint&&!I.is0(u.Y))return;throw Error("bad point: ZERO")}let{x:k,y:V}=u.toAffine();if(!I.isValid(k)||!I.isValid(V))throw Error("bad point: x or y not field elements");if(!r(k,V))throw Error("bad point: equation left != right");if(!u.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function n(u,k,V,M,j){return V=new b(I.mul(V.X,u),V.Y,V.Z),k=h0(M,k),V=h0(j,V),k.add(V)}class b{static BASE=new b(J.Gx,J.Gy,I.ONE);static ZERO=new b(I.ZERO,I.ONE,I.ZERO);static Fp=I;static Fn=U;X;Y;Z;constructor(u,k,V){this.X=_("x",u),this.Y=_("y",k,!0),this.Z=_("z",V),Object.freeze(this)}static CURVE(){return J}static fromAffine(u){let{x:k,y:V}=u||{};if(!u||!I.isValid(k)||!I.isValid(V))throw Error("invalid affine point");if(u instanceof b)throw Error("projective point not allowed");if(I.is0(k)&&I.is0(V))return b.ZERO;return new b(k,V,I.ONE)}static fromBytes(u){let k=b.fromAffine(W(Y$(u,void 0,"point")));return k.assertValidity(),k}static fromHex(u){return b.fromBytes(Rg(u))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(u=8,k=!0){if(S.createCache(this,u),!k)this.multiply(Ez);return this}assertValidity(){d(this)}hasEvenY(){let{y:u}=this.toAffine();if(!I.isOdd)throw Error("Field doesn't support isOdd");return!I.isOdd(u)}equals(u){L(u);let{X:k,Y:V,Z:M}=this,{X:j,Y:A,Z:R}=u,E=I.eql(I.mul(k,R),I.mul(j,M)),C=I.eql(I.mul(V,R),I.mul(A,M));return E&&C}negate(){return new b(this.X,I.neg(this.Y),this.Z)}double(){let{a:u,b:k}=J,V=I.mul(k,Ez),{X:M,Y:j,Z:A}=this,R=I.ZERO,E=I.ZERO,C=I.ZERO,x=I.mul(M,M),e=I.mul(j,j),J$=I.mul(A,A),z$=I.mul(M,j);return z$=I.add(z$,z$),C=I.mul(M,A),C=I.add(C,C),R=I.mul(u,C),E=I.mul(V,J$),E=I.add(R,E),R=I.sub(e,E),E=I.add(e,E),E=I.mul(R,E),R=I.mul(z$,R),C=I.mul(V,C),J$=I.mul(u,J$),z$=I.sub(x,J$),z$=I.mul(u,z$),z$=I.add(z$,C),C=I.add(x,x),x=I.add(C,x),x=I.add(x,J$),x=I.mul(x,z$),E=I.add(E,x),J$=I.mul(j,A),J$=I.add(J$,J$),x=I.mul(J$,z$),R=I.sub(R,x),C=I.mul(J$,e),C=I.add(C,C),C=I.add(C,C),new b(R,E,C)}add(u){L(u);let{X:k,Y:V,Z:M}=this,{X:j,Y:A,Z:R}=u,E=I.ZERO,C=I.ZERO,x=I.ZERO,e=J.a,J$=I.mul(J.b,Ez),z$=I.mul(k,j),Q$=I.mul(V,A),w$=I.mul(M,R),X$=I.add(k,V),N$=I.add(j,A);X$=I.mul(X$,N$),N$=I.add(z$,Q$),X$=I.sub(X$,N$),N$=I.add(k,M);let r$=I.add(j,R);return N$=I.mul(N$,r$),r$=I.add(z$,w$),N$=I.sub(N$,r$),r$=I.add(V,M),E=I.add(A,R),r$=I.mul(r$,E),E=I.add(Q$,w$),r$=I.sub(r$,E),x=I.mul(e,N$),E=I.mul(J$,w$),x=I.add(E,x),E=I.sub(Q$,x),x=I.add(Q$,x),C=I.mul(E,x),Q$=I.add(z$,z$),Q$=I.add(Q$,z$),w$=I.mul(e,w$),N$=I.mul(J$,N$),Q$=I.add(Q$,w$),w$=I.sub(z$,w$),w$=I.mul(e,w$),N$=I.add(N$,w$),z$=I.mul(Q$,N$),C=I.add(C,z$),z$=I.mul(r$,N$),E=I.mul(X$,E),E=I.sub(E,z$),z$=I.mul(X$,Q$),x=I.mul(r$,x),x=I.add(x,z$),new b(E,C,x)}subtract(u){return this.add(u.negate())}is0(){return this.equals(b.ZERO)}multiply(u){let{endo:k}=v;if(!U.isValidNot0(u))throw Error("invalid scalar: out of range");let V,M,j=(A)=>S.cached(this,A,(R)=>BN(b,R));if(k){let{k1neg:A,k1:R,k2neg:E,k2:C}=i(u),{p:x,f:e}=j(R),{p:J$,f:z$}=j(C);M=e.add(z$),V=n(k.beta,x,J$,A,E)}else{let{p:A,f:R}=j(u);V=A,M=R}return BN(b,[V,M])[0]}multiplyUnsafe(u){let{endo:k}=v,V=this;if(!U.isValid(u))throw Error("invalid scalar: out of range");if(u===MU||V.is0())return b.ZERO;if(u===EI)return V;if(S.hasCache(this))return this.multiply(u);if(k){let{k1neg:M,k1:j,k2neg:A,k2:R}=i(u),{p1:E,p2:C}=nr(b,V,j,R);return n(k.beta,E,C,M,A)}else return S.unsafe(V,u)}toAffine(u){return y(this,u)}isTorsionFree(){let{isTorsionFree:u}=v;if(G===EI)return!0;if(u)return u(b,this);return S.unsafe(this,z).is0()}clearCofactor(){let{clearCofactor:u}=v;if(G===EI)return this;if(u)return u(b,this);return this.multiplyUnsafe(G)}isSmallOrder(){return this.multiplyUnsafe(G).is0()}toBytes(u=!0){return x0(u,"isCompressed"),this.assertValidity(),w(b,this,u)}toHex(u=!0){return Mg(this.toBytes(u))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let v$=U.BITS,S=new CN(b,v.endo?Math.ceil(v$/2):v$);return b.BASE.precompute(8),b}function cr($){return Uint8Array.of($?2:3)}function or($,v){return{secretKey:v.BYTES,publicKey:1+$.BYTES,publicKeyUncompressed:1+2*$.BYTES,publicKeyHasPrefix:!0,signature:2*v.BYTES}}function lK($,v={}){let{Fn:g}=$,I=v.randomBytes||lU,U=Object.assign(or($.Fp,g),{seed:SN(g.ORDER)});function J(w){try{let W=g.fromBytes(w);return g.isValidNot0(W)}catch(W){return!1}}function G(w,W){let{publicKey:Z,publicKeyUncompressed:r}=U;try{let T=w.length;if(W===!0&&T!==Z)return!1;if(W===!1&&T!==r)return!1;return!!$.fromBytes(w)}catch(T){return!1}}function z(w=I(U.seed)){return Er(Y$(w,U.seed,"seed"),g.ORDER)}function O(w,W=!0){return $.BASE.multiply(g.fromBytes(w)).toBytes(W)}function D(w){let{secretKey:W,publicKey:Z,publicKeyUncompressed:r}=U;if(!TI(w))return;if("_lengths"in g&&g._lengths||W===Z)return;let T=Y$(w,void 0,"key").length;return T===Z||T===r}function X(w,W,Z=!0){if(D(w)===!0)throw Error("first arg must be private key");if(D(W)===!1)throw Error("second arg must be public key");let r=g.fromBytes(w);return $.fromBytes(W).multiply(r).toBytes(Z)}let N={isValidSecretKey:J,isValidPublicKey:G,randomSecretKey:z},q=kz(z,O);return Object.freeze({getPublicKey:O,getSharedSecret:X,keygen:q,Point:$,utils:N,lengths:U})}function bN($,v,g={}){Lv(v),Kg(g,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),g=Object.assign({},g);let I=g.randomBytes||lU,U=g.hmac||((V,M)=>PI(v,V,M)),{Fp:J,Fn:G}=$,{ORDER:z,BITS:O}=G,{keygen:D,getPublicKey:X,getSharedSecret:N,utils:q,lengths:w}=lK($,g),W={prehash:!0,lowS:typeof g.lowS==="boolean"?g.lowS:!0,format:"compact",extraEntropy:!1},Z=z*xr<J.ORDER;function r(V){let M=z>>EI;return V>M}function T(V,M){if(!G.isValidNot0(M))throw Error(`invalid signature ${V}: out of range 1..Point.Fn.ORDER`);return M}function K(){if(Z)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function _(V,M){_N(M);let j=w.signature,A=M==="compact"?j:M==="recovered"?j+1:void 0;return Y$(V,A)}class L{r;s;recovery;constructor(V,M,j){if(this.r=T("r",V),this.s=T("s",M),j!=null){if(K(),![0,1,2,3].includes(j))throw Error("invalid recovery id");this.recovery=j}Object.freeze(this)}static fromBytes(V,M=W.format){_(V,M);let j;if(M==="der"){let{r:C,s:x}=aU.toSig(Y$(V));return new L(C,x)}if(M==="recovered")j=V[0],M="compact",V=V.subarray(1);let A=w.signature/2,R=V.subarray(0,A),E=V.subarray(A,A*2);return new L(G.fromBytes(R),G.fromBytes(E),j)}static fromHex(V,M){return this.fromBytes(Rg(V),M)}assertRecovery(){let{recovery:V}=this;if(V==null)throw Error("invalid recovery id: must be present");return V}addRecoveryBit(V){return new L(this.r,this.s,V)}recoverPublicKey(V){let{r:M,s:j}=this,A=this.assertRecovery(),R=A===2||A===3?M+z:M;if(!J.isValid(R))throw Error("invalid recovery id: sig.r+curve.n != R.x");let E=J.toBytes(R),C=$.fromBytes(n$(cr((A&1)===0),E)),x=G.inv(R),e=y(Y$(V,void 0,"msgHash")),J$=G.create(-e*x),z$=G.create(j*x),Q$=$.BASE.multiplyUnsafe(J$).add(C.multiplyUnsafe(z$));if(Q$.is0())throw Error("invalid recovery: point at infinify");return Q$.assertValidity(),Q$}hasHighS(){return r(this.s)}toBytes(V=W.format){if(_N(V),V==="der")return Rg(aU.hexFromSig(this));let{r:M,s:j}=this,A=G.toBytes(M),R=G.toBytes(j);if(V==="recovered")return K(),n$(Uint8Array.of(this.assertRecovery()),A,R);return n$(A,R)}toHex(V){return Mg(this.toBytes(V))}}let i=g.bits2int||function(M){if(M.length>8192)throw Error("input is too large");let j=hU(M),A=M.length*8-O;return A>0?j>>BigInt(A):j},y=g.bits2int_modN||function(M){return G.create(i(M))},d=l0(O);function n(V){return y0("num < 2^"+O,V,MU,d),G.toBytes(V)}function b(V,M){return Y$(V,void 0,"message"),M?Y$(v(V),void 0,"prehashed message"):V}function v$(V,M,j){let{lowS:A,prehash:R,extraEntropy:E}=fN(j,W);V=b(V,R);let C=y(V),x=G.fromBytes(M);if(!G.isValidNot0(x))throw Error("invalid private key");let e=[n(x),n(C)];if(E!=null&&E!==!1){let w$=E===!0?I(w.secretKey):E;e.push(Y$(w$,void 0,"extraEntropy"))}let J$=n$(...e),z$=C;function Q$(w$){let X$=i(w$);if(!G.isValidNot0(X$))return;let N$=G.inv(X$),r$=$.BASE.multiply(X$).toAffine(),k$=G.create(r$.x);if(k$===MU)return;let E$=G.create(N$*G.create(z$+k$*x));if(E$===MU)return;let a$=(r$.x===k$?0:2)|Number(r$.y&EI),e$=E$;if(A&&r(E$))e$=G.neg(E$),a$^=1;return new L(k$,e$,Z?void 0:a$)}return{seed:J$,k2sig:Q$}}function S(V,M,j={}){let{seed:A,k2sig:R}=v$(V,M,j);return Zr(v.outputLen,G.BYTES,U)(A,R).toBytes(j.format)}function u(V,M,j,A={}){let{lowS:R,prehash:E,format:C}=fN(A,W);if(j=Y$(j,void 0,"publicKey"),M=b(M,E),!TI(V)){let x=V instanceof L?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+x)}_(V,C);try{let x=L.fromBytes(V,C),e=$.fromBytes(j);if(R&&x.hasHighS())return!1;let{r:J$,s:z$}=x,Q$=y(M),w$=G.inv(z$),X$=G.create(Q$*w$),N$=G.create(J$*w$),r$=$.BASE.multiplyUnsafe(X$).add(e.multiplyUnsafe(N$));if(r$.is0())return!1;return G.create(r$.x)===J$}catch(x){return!1}}function k(V,M,j={}){let{prehash:A}=fN(j,W);return M=b(M,A),L.fromBytes(V,"recovered").recoverPublicKey(M).toBytes()}return Object.freeze({keygen:D,getPublicKey:X,getSharedSecret:N,utils:q,lengths:w,Point:$,sign:S,verify:u,recoverPublicKey:k,Signature:L,hash:v})}function yr($,v,g){return $&v^~$&g}function lr($,v,g){return $&v^$&g^v&g}class Bz{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor($,v,g,I){this.blockLen=$,this.outputLen=v,this.padOffset=g,this.isLE=I,this.buffer=new Uint8Array($),this.view=Tz(this.buffer)}update($){jU(this),Y$($);let{view:v,buffer:g,blockLen:I}=this,U=$.length;for(let J=0;J<U;){let G=Math.min(I-this.pos,U-J);if(G===I){let z=Tz($);for(;I<=U-J;J+=I)this.process(z,J);continue}if(g.set($.subarray(J,J+G),this.pos),this.pos+=G,J+=G,this.pos===I)this.process(v,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){jU(this),Kz($,this),this.finished=!0;let{buffer:v,view:g,blockLen:I,isLE:U}=this,{pos:J}=this;if(v[J++]=128,Rv(this.buffer.subarray(J)),this.padOffset>I-J)this.process(g,0),J=0;for(let X=J;X<I;X++)v[X]=0;g.setBigUint64(I-8,BigInt(this.length*8),U),this.process(g,0);let G=Tz($),z=this.outputLen;if(z%4)throw Error("_sha2: outputLen must be aligned to 32bit");let O=z/4,D=this.get();if(O>D.length)throw Error("_sha2: outputLen bigger than state");for(let X=0;X<O;X++)G.setUint32(4*X,D[X],U)}digest(){let{buffer:$,outputLen:v}=this;this.digestInto($);let g=$.slice(0,v);return this.destroy(),g}_cloneInto($){$||=new this.constructor,$.set(...this.get());let{blockLen:v,buffer:g,length:I,finished:U,destroyed:J,pos:G}=this;if($.destroyed=J,$.finished=U,$.length=I,$.pos=G,I%v)$.buffer.set(g);return $}clone(){return this._cloneInto()}}var RU=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),KU=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),d$=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),h$=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Cz=BigInt(4294967295),dr=BigInt(32);function dK($,v=!1){if(v)return{h:Number($&Cz),l:Number($>>dr&Cz)};return{h:Number($>>dr&Cz)|0,l:Number($&Cz)|0}}function Lz($,v=!1){let g=$.length,I=new Uint32Array(g),U=new Uint32Array(g);for(let J=0;J<g;J++){let{h:G,l:z}=dK($[J],v);[I[J],U[J]]=[G,z]}return[I,U]}var mN=($,v,g)=>$>>>g,FN=($,v,g)=>$<<32-g|v>>>g,Hg=($,v,g)=>$>>>g|v<<32-g,Ag=($,v,g)=>$<<32-g|v>>>g,t0=($,v,g)=>$<<64-g|v>>>g-32,a0=($,v,g)=>$>>>g-32|v<<64-g;var hr=($,v,g)=>$<<g|v>>>32-g,pr=($,v,g)=>v<<g|$>>>32-g,tr=($,v,g)=>v<<g-32|$>>>64-g,ar=($,v,g)=>$<<g-32|v>>>64-g;function UU($,v,g,I){let U=(v>>>0)+(I>>>0);return{h:$+g+(U/4294967296|0)|0,l:U|0}}var er=($,v,g)=>($>>>0)+(v>>>0)+(g>>>0),sr=($,v,g,I)=>v+g+I+($/4294967296|0)|0,$V=($,v,g,I)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0),vV=($,v,g,I,U)=>v+g+I+U+($/4294967296|0)|0,UV=($,v,g,I,U)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0)+(U>>>0),gV=($,v,g,I,U,J)=>v+g+I+U+J+($/4294967296|0)|0;var pK=Uint32Array.from([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]),eU=new Uint32Array(64);class iN extends Bz{constructor($){super(64,$,8,!1)}get(){let{A:$,B:v,C:g,D:I,E:U,F:J,G,H:z}=this;return[$,v,g,I,U,J,G,z]}set($,v,g,I,U,J,G,z){this.A=$|0,this.B=v|0,this.C=g|0,this.D=I|0,this.E=U|0,this.F=J|0,this.G=G|0,this.H=z|0}process($,v){for(let X=0;X<16;X++,v+=4)eU[X]=$.getUint32(v,!1);for(let X=16;X<64;X++){let N=eU[X-15],q=eU[X-2],w=xv(N,7)^xv(N,18)^N>>>3,W=xv(q,17)^xv(q,19)^q>>>10;eU[X]=W+eU[X-7]+w+eU[X-16]|0}let{A:g,B:I,C:U,D:J,E:G,F:z,G:O,H:D}=this;for(let X=0;X<64;X++){let N=xv(G,6)^xv(G,11)^xv(G,25),q=D+N+yr(G,z,O)+pK[X]+eU[X]|0,W=(xv(g,2)^xv(g,13)^xv(g,22))+lr(g,I,U)|0;D=O,O=z,z=G,G=J+q|0,J=U,U=I,I=g,g=q+W|0}g=g+this.A|0,I=I+this.B|0,U=U+this.C|0,J=J+this.D|0,G=G+this.E|0,z=z+this.F|0,O=O+this.G|0,D=D+this.H|0,this.set(g,I,U,J,G,z,O,D)}roundClean(){Rv(eU)}destroy(){this.set(0,0,0,0,0,0,0,0),Rv(this.buffer)}}class IV extends iN{A=RU[0]|0;B=RU[1]|0;C=RU[2]|0;D=RU[3]|0;E=RU[4]|0;F=RU[5]|0;G=RU[6]|0;H=RU[7]|0;constructor(){super(32)}}class tK extends iN{A=KU[0]|0;B=KU[1]|0;C=KU[2]|0;D=KU[3]|0;E=KU[4]|0;F=KU[5]|0;G=KU[6]|0;H=KU[7]|0;constructor(){super(28)}}var JV=(()=>Lz(["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($))))(),aK=(()=>JV[0])(),eK=(()=>JV[1])(),sU=new Uint32Array(80),$g=new Uint32Array(80);class e0 extends Bz{constructor($){super(128,$,16,!1)}get(){let{Ah:$,Al:v,Bh:g,Bl:I,Ch:U,Cl:J,Dh:G,Dl:z,Eh:O,El:D,Fh:X,Fl:N,Gh:q,Gl:w,Hh:W,Hl:Z}=this;return[$,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z]}set($,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z){this.Ah=$|0,this.Al=v|0,this.Bh=g|0,this.Bl=I|0,this.Ch=U|0,this.Cl=J|0,this.Dh=G|0,this.Dl=z|0,this.Eh=O|0,this.El=D|0,this.Fh=X|0,this.Fl=N|0,this.Gh=q|0,this.Gl=w|0,this.Hh=W|0,this.Hl=Z|0}process($,v){for(let K=0;K<16;K++,v+=4)sU[K]=$.getUint32(v),$g[K]=$.getUint32(v+=4);for(let K=16;K<80;K++){let _=sU[K-15]|0,L=$g[K-15]|0,i=Hg(_,L,1)^Hg(_,L,8)^mN(_,L,7),y=Ag(_,L,1)^Ag(_,L,8)^FN(_,L,7),d=sU[K-2]|0,n=$g[K-2]|0,b=Hg(d,n,19)^t0(d,n,61)^mN(d,n,6),v$=Ag(d,n,19)^a0(d,n,61)^FN(d,n,6),S=$V(y,v$,$g[K-7],$g[K-16]),u=vV(S,i,b,sU[K-7],sU[K-16]);sU[K]=u|0,$g[K]=S|0}let{Ah:g,Al:I,Bh:U,Bl:J,Ch:G,Cl:z,Dh:O,Dl:D,Eh:X,El:N,Fh:q,Fl:w,Gh:W,Gl:Z,Hh:r,Hl:T}=this;for(let K=0;K<80;K++){let _=Hg(X,N,14)^Hg(X,N,18)^t0(X,N,41),L=Ag(X,N,14)^Ag(X,N,18)^a0(X,N,41),i=X&q^~X&W,y=N&w^~N&Z,d=UV(T,L,y,eK[K],$g[K]),n=gV(d,r,_,i,aK[K],sU[K]),b=d|0,v$=Hg(g,I,28)^t0(g,I,34)^t0(g,I,39),S=Ag(g,I,28)^a0(g,I,34)^a0(g,I,39),u=g&U^g&G^U&G,k=I&J^I&z^J&z;r=W|0,T=Z|0,W=q|0,Z=w|0,q=X|0,w=N|0,{h:X,l:N}=UU(O|0,D|0,n|0,b|0),O=G|0,D=z|0,G=U|0,z=J|0,U=g|0,J=I|0;let V=er(b,S,k);g=sr(V,n,v$,u),I=V|0}({h:g,l:I}=UU(this.Ah|0,this.Al|0,g|0,I|0)),{h:U,l:J}=UU(this.Bh|0,this.Bl|0,U|0,J|0),{h:G,l:z}=UU(this.Ch|0,this.Cl|0,G|0,z|0),{h:O,l:D}=UU(this.Dh|0,this.Dl|0,O|0,D|0),{h:X,l:N}=UU(this.Eh|0,this.El|0,X|0,N|0),{h:q,l:w}=UU(this.Fh|0,this.Fl|0,q|0,w|0),{h:W,l:Z}=UU(this.Gh|0,this.Gl|0,W|0,Z|0),{h:r,l:T}=UU(this.Hh|0,this.Hl|0,r|0,T|0),this.set(g,I,U,J,G,z,O,D,X,N,q,w,W,Z,r,T)}roundClean(){Rv(sU,$g)}destroy(){Rv(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class sK extends e0{Ah=h$[0]|0;Al=h$[1]|0;Bh=h$[2]|0;Bl=h$[3]|0;Ch=h$[4]|0;Cl=h$[5]|0;Dh=h$[6]|0;Dl=h$[7]|0;Eh=h$[8]|0;El=h$[9]|0;Fh=h$[10]|0;Fl=h$[11]|0;Gh=h$[12]|0;Gl=h$[13]|0;Hh=h$[14]|0;Hl=h$[15]|0;constructor(){super(64)}}class GV extends e0{Ah=d$[0]|0;Al=d$[1]|0;Bh=d$[2]|0;Bl=d$[3]|0;Ch=d$[4]|0;Cl=d$[5]|0;Dh=d$[6]|0;Dl=d$[7]|0;Eh=d$[8]|0;El=d$[9]|0;Fh=d$[10]|0;Fl=d$[11]|0;Gh=d$[12]|0;Gl=d$[13]|0;Hh=d$[14]|0;Hl=d$[15]|0;constructor(){super(48)}}var Jv=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),Gv=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class $u extends e0{Ah=Jv[0]|0;Al=Jv[1]|0;Bh=Jv[2]|0;Bl=Jv[3]|0;Ch=Jv[4]|0;Cl=Jv[5]|0;Dh=Jv[6]|0;Dl=Jv[7]|0;Eh=Jv[8]|0;El=Jv[9]|0;Fh=Jv[10]|0;Fl=Jv[11]|0;Gh=Jv[12]|0;Gl=Jv[13]|0;Hh=Jv[14]|0;Hl=Jv[15]|0;constructor(){super(28)}}class vu extends e0{Ah=Gv[0]|0;Al=Gv[1]|0;Bh=Gv[2]|0;Bl=Gv[3]|0;Ch=Gv[4]|0;Cl=Gv[5]|0;Dh=Gv[6]|0;Dl=Gv[7]|0;Eh=Gv[8]|0;El=Gv[9]|0;Fh=Gv[10]|0;Fl=Gv[11]|0;Gh=Gv[12]|0;Gl=Gv[13]|0;Hh=Gv[14]|0;Hl=Gv[15]|0;constructor(){super(32)}}var fz=HI(()=>new IV,dU(1));var zV=HI(()=>new GV,dU(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Uu=BigInt(1),OV=BigInt(2),gu=BigInt(3),Iu=BigInt(5),lE=BigInt(8),DV=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function Ju($){let v=BigInt(10),g=BigInt(20),I=BigInt(40),U=BigInt(80),J=DV,z=$*$%J*$%J,O=fv(z,OV,J)*z%J,D=fv(O,Uu,J)*$%J,X=fv(D,Iu,J)*D%J,N=fv(X,v,J)*X%J,q=fv(N,g,J)*N%J,w=fv(q,I,J)*q%J,W=fv(w,U,J)*w%J,Z=fv(W,U,J)*w%J,r=fv(Z,v,J)*X%J;return{pow_p_5_8:fv(r,OV,J)*$%J,b2:z}}function Gu($){return $[0]&=248,$[31]&=127,$[31]|=64,$}var QV=(()=>{let $=DV;return mr({P:$,type:"x25519",powPminus2:(v)=>{let{pow_p_5_8:g,b2:I}=Ju(v);return Yv(fv(g,gu,$)*I,$)},adjustScalarBytes:Gu})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var zu=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),Ou=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var Du=nN(zu),xN=bN(Du,fz);var Qu=nN(Ou),XV=bN(Qu,zV);function wV($,v,g){if(Lv($),g===void 0)g=new Uint8Array($.outputLen);return PI($,g,v)}var cN=Uint8Array.of(0),NV=Uint8Array.of();function qV($,v,g,I=32){Lv($),i$(I,"length");let U=$.outputLen;if(I>255*U)throw Error("Length must be <= 255*HashLen");let J=Math.ceil(I/U);if(g===void 0)g=NV;else Y$(g,void 0,"info");let G=new Uint8Array(J*U),z=PI.create($,v),O=z._cloneInto(),D=new Uint8Array(z.outputLen);for(let X=0;X<J;X++)cN[0]=X+1,O.update(X===0?NV:D).update(g).update(cN).digestInto(D),G.set(D,U*X),z._cloneInto(O);return z.destroy(),O.destroy(),Rv(D,cN),G.slice(0,I)}var Xu=BigInt(0),s0=BigInt(1),Nu=BigInt(2),wu=BigInt(7),qu=BigInt(256),Yu=BigInt(113),rV=[],VV=[],ZV=[];for(let $=0,v=s0,g=1,I=0;$<24;$++){[g,I]=[I,(2*g+3*I)%5],rV.push(2*(5*I+g)),VV.push(($+1)*($+2)/2%64);let U=Xu;for(let J=0;J<7;J++)if(v=(v<<s0^(v>>wu)*Yu)%qu,v&Nu)U^=s0<<(s0<<BigInt(J))-s0;ZV.push(U)}var jV=Lz(ZV,!0),Wu=jV[0],ru=jV[1],YV=($,v,g)=>g>32?tr($,v,g):hr($,v,g),WV=($,v,g)=>g>32?ar($,v,g):pr($,v,g);function Vu($,v=24){let g=new Uint32Array(10);for(let I=24-v;I<24;I++){for(let G=0;G<10;G++)g[G]=$[G]^$[G+10]^$[G+20]^$[G+30]^$[G+40];for(let G=0;G<10;G+=2){let z=(G+8)%10,O=(G+2)%10,D=g[O],X=g[O+1],N=YV(D,X,1)^g[z],q=WV(D,X,1)^g[z+1];for(let w=0;w<50;w+=10)$[G+w]^=N,$[G+w+1]^=q}let U=$[2],J=$[3];for(let G=0;G<24;G++){let z=VV[G],O=YV(U,J,z),D=WV(U,J,z),X=rV[G];U=$[X],J=$[X+1],$[X]=O,$[X+1]=D}for(let G=0;G<50;G+=10){for(let z=0;z<10;z++)g[z]=$[G+z];for(let z=0;z<10;z++)$[G+z]^=~g[(z+2)%10]&g[(z+4)%10]}$[0]^=Wu[I],$[1]^=ru[I]}Rv(g)}class _z{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor($,v,g,I=!1,U=24){if(this.blockLen=$,this.suffix=v,this.outputLen=g,this.enableXOF=I,this.rounds=U,i$(g,"outputLen"),!(0<$&&$<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=uz(this.state)}clone(){return this._cloneInto()}keccak(){MN(this.state32),Vu(this.state32,this.rounds),MN(this.state32),this.posOut=0,this.pos=0}update($){jU(this),Y$($);let{blockLen:v,state:g}=this,I=$.length;for(let U=0;U<I;){let J=Math.min(v-this.pos,I-U);for(let G=0;G<J;G++)g[this.pos++]^=$[U++];if(this.pos===v)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:$,suffix:v,pos:g,blockLen:I}=this;if($[g]^=v,(v&128)!==0&&g===I-1)this.keccak();$[I-1]^=128,this.keccak()}writeInto($){jU(this,!1),Y$($),this.finish();let v=this.state,{blockLen:g}=this;for(let I=0,U=$.length;I<U;){if(this.posOut>=g)this.keccak();let J=Math.min(g-this.posOut,U-I);$.set(v.subarray(this.posOut,this.posOut+J),I),this.posOut+=J,I+=J}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(Kz($,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,Rv(this.state)}_cloneInto($){let{blockLen:v,suffix:g,outputLen:I,rounds:U,enableXOF:J}=this;return $||=new _z(v,g,I,J,U),$.state32.set(this.state32),$.pos=this.pos,$.posOut=this.posOut,$.finished=this.finished,$.rounds=U,$.suffix=g,$.outputLen=I,$.enableXOF=J,$.destroyed=this.destroyed,$}}var MV=($,v,g,I={})=>HI(()=>new _z(v,$,g),I);var Sg=MV(6,136,32,dU(8));var RV=MV(6,72,64,dU(10));var KV=($,v,g,I={})=>HI((U={})=>new _z(v,$,U.dkLen===void 0?g:U.dkLen,!0),I),uV=KV(31,168,16,dU(11)),gU=KV(31,136,32,dU(12));function oN($){if(!Number.isSafeInteger($)||$<0||$>4294967295)throw Error("wrong u32 integer:"+$);return $}function HV($){return oN($),($&$-1)===0&&$!==0}function yN($,v){oN($);let g=0;for(let I=0;I<v;I++,$>>>=1)g=g<<1|$&1;return g}function AV($){return oN($),31-Math.clz32($)}function TV($){let v=$.length;if(v<2||!HV(v))throw Error("n must be a power of 2 and greater than 1. Got "+v);let g=AV(v);for(let I=0;I<v;I++){let U=yN(I,g);if(I<U){let J=$[I];$[I]=$[U],$[U]=J}}return $}var lN=($,v)=>{let{N:g,roots:I,dit:U,invertButterflies:J=!1,skipStages:G=0,brp:z=!0}=v,O=AV(g);if(!HV(g))throw Error("FFT: Polynomial size should be power of two");let D=U!==J;return(X)=>{if(X.length!==g)throw Error("FFT: wrong Polynomial length");if(U&&z)TV(X);for(let N=0,q=1;N<O-G;N++){let w=U?N+1+G:O-N,W=1<<w,Z=W>>1,r=g>>w;for(let T=0;T<g;T+=W)for(let K=0,_=q++;K<Z;K++){let L=J?U?g-_:_:K*r,i=T+K,y=T+K+Z,d=I[L],n=X[y],b=X[i];if(D){let v$=$.mul(n,d);X[i]=$.add(b,v$),X[y]=$.sub(b,v$)}else if(J)X[i]=$.add(n,b),X[y]=$.mul($.sub(n,b),d);else X[i]=$.add(b,n),X[y]=$.mul($.sub(b,n),d)}}if(!U&&z)TV(X);return X}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var IU=lU;function nz($,v){if($.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function SV($){return Uint8Array.from($)}function kg($,...v){let g=(U)=>typeof U==="number"?U:U.bytesLen,I=v.reduce((U,J)=>U+g(J),0);return{bytesLen:I,encode:(U)=>{let J=new Uint8Array(I);for(let G=0,z=0;G<v.length;G++){let O=v[G],D=g(O),X=typeof O==="number"?U[G]:O.encode(U[G]);if(Y$(X,D,$),J.set(X,z),typeof O!=="number")X.fill(0);z+=D}return J},decode:(U)=>{Y$(U,I,$);let J=[];for(let G of v){let z=g(G),O=U.subarray(0,z);J.push(typeof G==="number"?O:G.decode(O)),U=U.subarray(z)}return J}}}function bz($,v){let g=v*$.bytesLen;return{bytesLen:g,encode:(I)=>{if(I.length!==v)throw Error(`vecCoder.encode: wrong length=${I.length}. Expected: ${v}`);let U=new Uint8Array(g);for(let J=0,G=0;J<I.length;J++){let z=$.encode(I[J]);U.set(z,G),z.fill(0),G+=z.length}return U},decode:(I)=>{Y$(I,g);let U=[];for(let J=0;J<I.length;J+=$.bytesLen)U.push($.decode(I.subarray(J,J+$.bytesLen)));return U}}}function m$(...$){for(let v of $)if(Array.isArray(v))for(let g of v)g.fill(0);else v.fill(0)}function dN($){return(1<<$)-1}var zB=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var kV=($)=>{let{newPoly:v,N:g,Q:I,F:U,ROOT_OF_UNITY:J,brvBits:G,isKyber:z}=$,O=(K,_=I)=>{let L=K%_|0;return(L>=0?L|0:_+L|0)|0},D=(K,_=I)=>{let L=O(K,_)|0;return(L>_>>1?L-_|0:L)|0};function X(){let K=v(g);for(let _=0;_<g;_++){let L=yN(_,G),i=BigInt(J)**BigInt(L)%BigInt(I);K[_]=Number(i)|0}return K}let N=X(),q={add:(K,_)=>O((K|0)+(_|0))|0,sub:(K,_)=>O((K|0)-(_|0))|0,mul:(K,_)=>O((K|0)*(_|0))|0,inv:(K)=>{throw Error("not implemented")}},w={N:g,roots:N,invertButterflies:!0,skipStages:z?1:0,brp:!1},W=lN(q,{dit:!1,...w}),Z=lN(q,{dit:!0,...w});return{mod:O,smod:D,nttZetas:N,NTT:{encode:(K)=>{return W(K)},decode:(K)=>{Z(K);for(let _=0;_<K.length;_++)K[_]=O(U*K[_]);return K}},bitsCoder:(K,_)=>{let L=dN(K),i=K*(g/8);return{bytesLen:i,encode:(y)=>{let d=new Uint8Array(i);for(let n=0,b=0,v$=0,S=0;n<y.length;n++){b|=(_.encode(y[n])&L)<<v$,v$+=K;for(;v$>=8;v$-=8,b>>=8)d[S++]=b&dN(v$)}return d},decode:(y)=>{let d=v(g);for(let n=0,b=0,v$=0,S=0;n<y.length;n++){b|=y[n]<<v$,v$+=8;for(;v$>=K;v$-=K,b>>=K)d[S++]=_.decode(b&L)}return d}}}}},Zu=($)=>(v,g)=>{if(!g)g=$.blockLen;let I=new Uint8Array(v.length+2);I.set(v);let U=v.length,J=new Uint8Array(g),G=$.create({}),z=0,O=0;return{stats:()=>({calls:z,xofs:O}),get:(D,X)=>{return I[U+0]=D,I[U+1]=X,G.destroy(),G=$.create({}).update(I),z++,()=>{return O++,G.xofInto(J)}},clean:()=>{G.destroy(),m$(J,I)}}},PV=Zu(uV);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var zv=256,uU=3329,ju=3303,Mu=17,{mod:UJ,nttZetas:Ru,NTT:Pg,bitsCoder:Ku}=kV({N:zv,Q:uU,F:ju,ROOT_OF_UNITY:Mu,newPoly:($)=>new Uint16Array($),brvBits:7,isKyber:!0}),hN={512:{N:zv,Q:uU,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:zv,Q:uU,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:zv,Q:uU,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},uu=($)=>{if($>=12)return{encode:(g)=>g,decode:(g)=>g};let v=2**($-1);return{encode:(g)=>((g<<$)+uU/2)/uU,decode:(g)=>g*uU+v>>>$}},$J=($)=>Ku($,uu($));function Eg($,v){for(let g=0;g<zv;g++)$[g]=UJ($[g]+v[g])}function Tu($,v){for(let g=0;g<zv;g++)$[g]=UJ($[g]-v[g])}function Hu($,v,g,I,U){let J=UJ(v*I*U+$*g),G=UJ($*I+v*g);return{c0:J,c1:G}}function mz($,v){for(let g=0;g<zv/2;g++){let I=Ru[64+(g>>1)];if(g&1)I=-I;let{c0:U,c1:J}=Hu($[2*g+0],$[2*g+1],v[2*g+0],v[2*g+1],I);$[2*g+0]=U,$[2*g+1]=J}return $}function EV($){let v=new Uint16Array(zv);for(let g=0;g<zv;){let I=$();if(I.length%3)throw Error("SampleNTT: unaligned block");for(let U=0;g<zv&&U+3<=I.length;U+=3){let J=(I[U+0]>>0|I[U+1]<<8)&4095,G=(I[U+1]>>4|I[U+2]<<4)&4095;if(J<uU)v[g++]=J;if(g<zv&&G<uU)v[g++]=G}}return v}function vJ($,v,g,I){let U=$(I*zv/4,v,g),J=new Uint16Array(zv),G=uz(U),z=0;for(let O=0,D=0,X=0,N=0;O<G.length;O++){let q=G[O];for(let w=0;w<32;w++)if(X+=q&1,q>>=1,z+=1,z===I)N=X,X=0;else if(z===2*I)J[D++]=UJ(N-X),X=0,z=0}if(z)throw Error(`sampleCBD: leftover bits: ${z}`);return J}var Au=($)=>{let{K:v,PRF:g,XOF:I,HASH512:U,ETA1:J,ETA2:G,du:z,dv:O}=$,D=$J(1),X=$J(O),N=$J(z),q=kg("publicKey",bz($J(12),v),32),w=bz($J(12),v),W=kg("ciphertext",bz(N,v),X),Z=kg("seed",32,32);return{secretCoder:w,lengths:{secretKey:w.bytesLen,publicKey:q.bytesLen,cipherText:W.bytesLen},keygen:(r)=>{Y$(r,32,"seed");let T=new Uint8Array(33);T.set(r),T[32]=v;let K=U(T),[_,L]=Z.decode(K),i=[],y=[];for(let b=0;b<v;b++)i.push(Pg.encode(vJ(g,L,b,J)));let d=I(_);for(let b=0;b<v;b++){let v$=Pg.encode(vJ(g,L,v+b,J));for(let S=0;S<v;S++){let u=EV(d.get(S,b));Eg(v$,mz(u,i[S]))}y.push(v$)}d.clean();let n={publicKey:q.encode([y,_]),secretKey:w.encode(i)};return m$(_,L,i,y,T,K),n},encrypt:(r,T,K)=>{let[_,L]=q.decode(r),i=[];for(let S=0;S<v;S++)i.push(Pg.encode(vJ(g,K,S,J)));let y=I(L),d=new Uint16Array(zv),n=[];for(let S=0;S<v;S++){let u=vJ(g,K,v+S,G),k=new Uint16Array(zv);for(let V=0;V<v;V++){let M=EV(y.get(S,V));Eg(k,mz(M,i[V]))}Eg(u,Pg.decode(k)),n.push(u),Eg(d,mz(_[S],i[S])),m$(k)}y.clean();let b=vJ(g,K,2*v,G);Eg(b,Pg.decode(d));let v$=D.decode(T);return Eg(v$,b),m$(_,i,d,b),W.encode([n,v$])},decrypt:(r,T)=>{let[K,_]=W.decode(r),L=w.decode(T),i=new Uint16Array(zv);for(let y=0;y<v;y++)Eg(i,mz(L[y],Pg.encode(K[y])));return Tu(_,Pg.decode(i)),m$(i,L,K),D.encode(_)}}};function pN($){let v=Au($),{HASH256:g,HASH512:I,KDF:U}=$,{secretCoder:J,lengths:G}=v,z=kg("secretKey",G.secretKey,G.publicKey,32,32),O=32,D=64;return{info:{type:"ml-kem"},lengths:{...G,seed:64,msg:32,msgRand:32,secretKey:z.bytesLen},keygen:(X=IU(64))=>{Y$(X,64,"seed");let{publicKey:N,secretKey:q}=v.keygen(X.subarray(0,32)),w=g(N),W=z.encode([q,N,w,X.subarray(32)]);return m$(q,w),{publicKey:N,secretKey:W}},getPublicKey:(X)=>{let[N,q,w,W]=z.decode(X);return Uint8Array.from(q)},encapsulate:(X,N=IU(32))=>{Y$(X,G.publicKey,"publicKey"),Y$(N,32,"message");let q=X.subarray(0,384*$.K),w=J.encode(J.decode(SV(q)));if(!nz(w,q))throw m$(w),Error("ML-KEM.encapsulate: wrong publicKey modulus");m$(w);let W=I.create().update(N).update(g(X)).digest(),Z=v.encrypt(X,N,W.subarray(32,64));return m$(W.subarray(32)),{cipherText:Z,sharedSecret:W.subarray(0,32)}},decapsulate:(X,N)=>{Y$(N,z.bytesLen,"secretKey"),Y$(X,G.cipherText,"cipherText");let q=z.bytesLen-96,w=q+32,W=g(N.subarray(q/2,w));if(!nz(W,N.subarray(w,w+32)))throw Error("invalid secretKey: hash check failed");let[Z,r,T,K]=z.decode(N),_=v.decrypt(X,Z),L=I.create().update(_).update(T).digest(),i=L.subarray(0,32),y=v.encrypt(r,_,L.subarray(32,64)),d=nz(X,y),n=U.create({dkLen:32}).update(K).update(X).digest();return m$(_,y,!d?i:n),d?i:n}}}function Su($,v,g){return gU.create({dkLen:$}).update(v).update(new Uint8Array([g])).digest()}var tN={HASH256:Sg,HASH512:RV,KDF:gU,XOF:PV,PRF:Su},VB=pN({...tN,...hN[512]}),gJ=pN({...tN,...hN[768]}),BV=pN({...tN,...hN[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function ku($,v=!1){let{lengths:g,keygen:I}=$;if(v){let J=$.Point.Fn;if(!J)throw Error("No Point.Fn");I=(G=IU(g.seed))=>{Y$(G,g.seed,"seed");let z=J.isLE?pU(G):hU(G),O=J.toBytes(J.create(z));return{secretKey:O,publicKey:$.getPublicKey(O)}}}return{lengths:{secretKey:g.secretKey,publicKey:g.publicKey,seed:g.seed},keygen:I,getPublicKey:(U)=>$.getPublicKey(U)}}function aN($,v=!1){let g=ku($,v);if(!$.getSharedSecret)throw Error("wrong curve");return{lengths:{...g.lengths,msg:g.lengths.seed,cipherText:g.lengths.publicKey},keygen:g.keygen,getPublicKey:g.getPublicKey,encapsulate(I,U=IU($.lengths.seed)){let J=this.keygen(U).secretKey,G=this.decapsulate(I,J),z=$.getPublicKey(J);return m$(J),{sharedSecret:G,cipherText:z}},decapsulate(I,U){let J=$.getSharedSecret(U,I);return $.lengths.publicKeyHasPrefix?J.subarray(1):J}}}function IJ($,v){return kg(v,...$.map((g)=>{if(typeof g.lengths[v]!=="number")throw Error("wrong length: "+v);return g.lengths[v]}))}function eN($){return(v,g)=>$(v,{dkLen:g})}function Pu($,v,...g){let I=IJ(g,"seed"),U=IJ(g,"publicKey");if($===void 0)$=I.bytesLen;i$($);function J(G){Y$(G,$);let z=I.decode(v(G,I.bytesLen)),O=g.map((N,q)=>N.keygen(z[q])),D=O.map((N)=>N.secretKey),X=O.map((N)=>N.publicKey);return{secretKey:D,publicKey:X}}return{info:{lengths:{seed:$,publicKey:U.bytesLen,secretKey:$}},getPublicKey(G){return this.keygen(G).publicKey},keygen(G=IU($)){let{publicKey:z,secretKey:O}=J(G),D=U.encode(z);return m$(z),m$(O),{secretKey:G,publicKey:D}},expandDecapsulationKey:J,realSeedLen:$}}function Fz($,v,g,I,...U){let J=Pu($,g,...U),G=IJ(U,"cipherText"),z=IJ(U,"publicKey"),O=IJ(U,"msg");if(v===void 0)v=O.bytesLen;return i$(v),{lengths:{...J.info.lengths,msg:v,msgRand:O.bytesLen,cipherText:G.bytesLen},getPublicKey:J.getPublicKey,keygen:J.keygen,encapsulate(D,X=IU(O.bytesLen)){let N=z.decode(D),q=O.decode(X),w=U.map((T,K)=>T.encapsulate(N[K],q[K])),W=w.map((T)=>T.sharedSecret),Z=w.map((T)=>T.cipherText),r={sharedSecret:I(N,Z,W),cipherText:G.encode(Z)};return m$(W,Z),r},decapsulate(D,X){let N=G.decode(D),{publicKey:q,secretKey:w}=J.expandDecapsulationKey(X),W=U.map((Z,r)=>Z.decapsulate(N[r],w[r]));return I(q,N,W)}}}function CV($,v,g,I,U){return Lv(I),Lv(U),Fz(32,32,eN(I),(J,G,z)=>U(n$(z[0],z[1],G[1],J[1],tU($))),v,g)}var kB=CV("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",gJ,aN(xN,!0),gU,Sg),PB=CV("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",BV,aN(XV,!0),gU,Sg);function Eu($,v,g,I,U){return Lv(I),Lv(U),Fz(32,32,eN(I),(J,G,z)=>{let O=n$(z[0],z[1],G[0],J[0],G[1],J[1],tU($)),D=32,X=n$(tU("hybrid_prk"),O),N=wV(U,X),q=n$(AI(32,2),tU("shared_secret"),tU("")),w=qV(U,N,q,32);return m$(N,q,X,O),w},v,g)}var LV=aN(QV),EB=Eu("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",gJ,LV,gU,fz),Bu=(()=>Fz(32,32,eN(gU),($,v,g)=>Sg(n$(g[0],g[1],v[1],$[1],tU("\\.//^\\"))),gJ,LV))();function Cu($,v,g,I){let U=$.Point.Fn;if(!U)throw Error("no Point.Fn");function J(G){let z;for(let X=0,N=v;;X=N,N+=v){if(N>G.length)throw Error("rejection sampling failed");if(z=U.fromBytes(G.subarray(X,N),!0),U.isValidNot0(z))break}let O=U.toBytes(U.create(z)),D=$.getPublicKey(O,!1);return{secretKey:O,publicKey:D}}return{lengths:{secretKey:v,publicKey:g,seed:I,msg:I,cipherText:g},keygen(G=IU(I)){return Y$(G,I,"seed"),J(G)},getPublicKey(G){return $.getPublicKey(G,!1)},encapsulate(G,z=IU(I)){Y$(z,I,"rand");let{secretKey:O}=J(z),D=this.decapsulate(G,O),X=$.getPublicKey(O,!1);return m$(O),{sharedSecret:D,cipherText:X}},decapsulate(G,z){return $.getSharedSecret(z,G).subarray(1)}}}function Lu($,v,g,I){let{secretKey:U,publicKeyUncompressed:J}=g.lengths;if(!U||!J)throw Error("wrong curve");let G=Cu(g,U,J,I),z=64,O=z+I;return Fz(32,32,(D)=>{Y$(D,32);let X=gU(D,{dkLen:O}),N=X.subarray(0,z),q=X.subarray(z,O);return n$(N,q)},(D,X,N)=>Sg(n$(N[0],N[1],X[1],D[1],tU($))),v,G)}var fu=(()=>Lu("MLKEM768-P256",gJ,xN,128))();var iz=Bu,fV=fu;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var A$=($,v,g)=>c$($,v,g),$w=f$,BI=Xz,p$=(...$)=>vN(...$),CI=($)=>C0($),LI=eX,fI=($)=>YU($),cz=BigInt(0),sN=BigInt(1);function TU($,v=""){if(typeof $!=="boolean"){let g=v&&`"${v}" `;throw TypeError(g+"expected boolean, got type="+typeof $)}return $}function oz($){if(typeof $==="bigint"){if(!xz($))throw RangeError("positive bigint expected, got "+$)}else $w($);return $}function JU($,v=""){if(typeof $!=="number"){let g=v&&`"${v}" `;throw TypeError(g+"expected number, got type="+typeof $)}if(!Number.isSafeInteger($)){let g=v&&`"${v}" `;throw RangeError(g+"expected safe integer, got "+$)}}function JJ($){let v=oz($).toString(16);return v.length&1?"0"+v:v}function _V($){if(typeof $!=="string")throw TypeError("hex string expected, got "+typeof $);return $===""?cz:BigInt("0x"+$)}function Bg($){return _V(Xz($))}function cv($){return _V(Xz(vg(c$($)).reverse()))}function yz($,v){if(f$(v),v===0)throw RangeError("zero length");$=oz($);let g=$.toString(16);if(g.length>v*2)throw RangeError("number too large");return C0(g.padStart(v*2,"0"))}function GJ($,v){return yz($,v).reverse()}function nV($,v){if($=A$($),v=A$(v),$.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function vg($){return Uint8Array.from(A$($))}function lz($){if(typeof $!=="string")throw TypeError("ascii string expected, got "+typeof $);return Uint8Array.from($,(v,g)=>{let I=v.charCodeAt(0);if(v.length!==1||I>127)throw RangeError(`string contains non-ASCII character "${$[g]}" with code ${I} at position ${g}`);return I})}var xz=($)=>typeof $==="bigint"&&cz<=$;function _u($,v,g){return xz($)&&xz(v)&&xz(g)&&v<=$&&$<g}function HU($,v,g,I){if(!_u(v,g,I))throw RangeError("expected valid "+$+": "+g+" <= n < "+I+", got "+v)}function _I($){if($<cz)throw Error("expected non-negative bigint, got "+$);let v;for(v=0;$>cz;$>>=sN,v+=1);return v}var zJ=($)=>(sN<<BigInt($))-sN;function bV($,v,g){if(f$($,"hashLen"),f$(v,"qByteLen"),typeof g!=="function")throw TypeError("hmacFn must be a function");let I=(r)=>new Uint8Array(r),U=Uint8Array.of(),J=Uint8Array.of(0),G=Uint8Array.of(1),z=1000,O=I($),D=I($),X=0,N=()=>{O.fill(1),D.fill(0),X=0},q=(...r)=>g(D,p$(O,...r)),w=(r=U)=>{if(D=q(J,r),O=q(),r.length===0)return;D=q(G,r),O=q()},W=()=>{if(X++>=z)throw Error("drbg: tried max amount of iterations");let r=0,T=[];while(r<v){O=q();let K=O.slice();T.push(K),r+=O.length}return p$(...T)};return(r,T)=>{N(),w(r);let K=void 0;while((K=T(W()))===void 0)w();return N(),K}}function _v($,v={},g={}){if(Object.prototype.toString.call($)!=="[object Object]")throw TypeError("expected valid options object");function I(J,G,z){if(!z&&G!=="function"&&!Object.hasOwn($,J))throw TypeError(`param "${J}" is invalid: expected own property`);let O=$[J];if(z&&O===void 0)return;let D=typeof O;if(D!==G||O===null)throw TypeError(`param "${J}" is invalid: expected ${G}, got ${D}`)}let U=(J,G)=>Object.entries(J).forEach(([z,O])=>I(z,O,G));U(v,!1),U(g,!0)}var vw=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var t$=BigInt(0),L$=BigInt(1),Cg=BigInt(2),xV=BigInt(3),cV=BigInt(4),oV=BigInt(5),nu=BigInt(7),yV=BigInt(8),bu=BigInt(9),lV=BigInt(16);function B$($,v){if(v<=t$)throw Error("mod: expected positive modulus, got "+v);let g=$%v;return g>=t$?g:v+g}function nv($,v,g){if(v<t$)throw Error("pow2: expected non-negative exponent, got "+v);let I=$;while(v-- >t$)I*=I,I%=g;return I}function mV($,v){if($===t$)throw Error("invert: expected non-zero number");if(v<=t$)throw Error("invert: expected positive modulus, got "+v);let g=B$($,v),I=v,U=t$,J=L$,G=L$,z=t$;while(g!==t$){let D=I/g,X=I-g*D,N=U-G*D,q=J-z*D;I=g,g=X,U=G,J=z,G=N,z=q}if(I!==L$)throw Error("invert: does not exist");return B$(U,v)}function Uw($,v,g){let I=$;if(!I.eql(I.sqr(v),g))throw Error("Cannot find square root")}function dV($,v){let g=$,I=(g.ORDER+L$)/cV,U=g.pow(v,I);return Uw(g,U,v),U}function mu($,v){let g=$,I=(g.ORDER-oV)/yV,U=g.mul(v,Cg),J=g.pow(U,I),G=g.mul(v,J),z=g.mul(g.mul(G,Cg),J),O=g.mul(G,g.sub(z,g.ONE));return Uw(g,O,v),O}function Fu($){let v=dz($),g=hV($),I=g(v,v.neg(v.ONE)),U=g(v,I),J=g(v,v.neg(I)),G=($+nu)/lV;return(z,O)=>{let D=z,X=D.pow(O,G),N=D.mul(X,I),q=D.mul(X,U),w=D.mul(X,J),W=D.eql(D.sqr(N),O),Z=D.eql(D.sqr(q),O);X=D.cmov(X,N,W),N=D.cmov(w,q,Z);let r=D.eql(D.sqr(N),O),T=D.cmov(X,N,r);return Uw(D,T,O),T}}function hV($){if($<xV)throw Error("sqrt is not defined for small field");let v=$-L$,g=0;while(v%Cg===t$)v/=Cg,g++;let I=Cg,U=dz($);while(FV(U,I)===1)if(I++>1000)throw Error("Cannot find square root: probably non-prime P");if(g===1)return dV;let J=U.pow(I,v),G=(v+L$)/Cg;return function(O,D){let X=O;if(X.is0(D))return D;if(FV(X,D)!==1)throw Error("Cannot find square root");let N=g,q=X.mul(X.ONE,J),w=X.pow(D,v),W=X.pow(D,G);while(!X.eql(w,X.ONE)){if(X.is0(w))return X.ZERO;let Z=1,r=X.sqr(w);while(!X.eql(r,X.ONE))if(Z++,r=X.sqr(r),Z===N)throw Error("Cannot find square root");let T=L$<<BigInt(N-Z-1),K=X.pow(q,T);N=Z,q=X.sqr(K),w=X.mul(w,q),W=X.mul(W,K)}return W}}function iu($){if($%cV===xV)return dV;if($%yV===oV)return mu;if($%lV===bu)return Fu($);return hV($)}var AU=($,v)=>(B$($,v)&L$)===L$,xu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function gw($){let v={ORDER:"bigint",BYTES:"number",BITS:"number"},g=xu.reduce((I,U)=>{return I[U]="function",I},v);if(_v($,g),JU($.BYTES,"BYTES"),JU($.BITS,"BITS"),$.BYTES<1||$.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if($.ORDER<=L$)throw Error("invalid field: expected ORDER > 1, got "+$.ORDER);return $}function cu($,v,g){let I=$;if(g<t$)throw Error("invalid exponent, negatives unsupported");if(g===t$)return I.ONE;if(g===L$)return v;let U=I.ONE,J=v;while(g>t$){if(g&L$)U=I.mul(U,J);J=I.sqr(J),g>>=L$}return U}function OJ($,v,g=!1){let I=$,U=Array(v.length).fill(g?I.ZERO:void 0),J=v.reduce((z,O,D)=>{if(I.is0(O))return z;return U[D]=z,I.mul(z,O)},I.ONE),G=I.inv(J);return v.reduceRight((z,O,D)=>{if(I.is0(O))return z;return U[D]=I.mul(z,U[D]),I.mul(z,O)},G),U}function FV($,v){let g=$,I=(g.ORDER-L$)/Cg,U=g.pow(v,I),J=g.eql(U,g.ONE),G=g.eql(U,g.ZERO),z=g.eql(U,g.neg(g.ONE));if(!J&&!G&&!z)throw Error("invalid Legendre symbol result");return J?1:G?0:-1}function ou($,v){if(v!==void 0)$w(v);if($<=t$)throw Error("invalid n length: expected positive n, got "+$);if(v!==void 0&&v<1)throw Error("invalid n length: expected positive bit length, got "+v);let g=_I($);if(v!==void 0&&v<g)throw Error(`invalid n length: expected bit length (${g}) >= n.length (${v})`);let I=v!==void 0?v:g,U=Math.ceil(I/8);return{nBitLength:I,nByteLength:U}}var iV=new WeakMap;class Iw{ORDER;BITS;BYTES;isLE;ZERO=t$;ONE=L$;_lengths;_mod;constructor($,v={}){if($<=L$)throw Error("invalid field: expected ORDER > 1, got "+$);let g=void 0;if(this.isLE=!1,v!=null&&typeof v==="object"){if(typeof v.BITS==="number")g=v.BITS;if(typeof v.sqrt==="function")Object.defineProperty(this,"sqrt",{value:v.sqrt,enumerable:!0});if(typeof v.isLE==="boolean")this.isLE=v.isLE;if(v.allowedLengths)this._lengths=Object.freeze(v.allowedLengths.slice());if(typeof v.modFromBytes==="boolean")this._mod=v.modFromBytes}let{nBitLength:I,nByteLength:U}=ou($,g);if(U>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=$,this.BITS=I,this.BYTES=U,Object.freeze(this)}create($){return B$($,this.ORDER)}isValid($){if(typeof $!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof $);return t$<=$&&$<this.ORDER}is0($){return $===t$}isValidNot0($){return!this.is0($)&&this.isValid($)}isOdd($){return($&L$)===L$}neg($){return B$(-$,this.ORDER)}eql($,v){return $===v}sqr($){return B$($*$,this.ORDER)}add($,v){return B$($+v,this.ORDER)}sub($,v){return B$($-v,this.ORDER)}mul($,v){return B$($*v,this.ORDER)}pow($,v){return cu(this,$,v)}div($,v){return B$($*mV(v,this.ORDER),this.ORDER)}sqrN($){return $*$}addN($,v){return $+v}subN($,v){return $-v}mulN($,v){return $*v}inv($){return mV($,this.ORDER)}sqrt($){let v=iV.get(this);if(!v)iV.set(this,v=iu(this.ORDER));return v(this,$)}toBytes($){return this.isLE?GJ($,this.BYTES):yz($,this.BYTES)}fromBytes($,v=!1){A$($);let{_lengths:g,BYTES:I,isLE:U,ORDER:J,_mod:G}=this;if(g){if($.length<1||!g.includes($.length)||$.length>I)throw Error("Field.fromBytes: expected "+g+" bytes, got "+$.length);let O=new Uint8Array(I);O.set($,U?0:O.length-$.length),$=O}if($.length!==I)throw Error("Field.fromBytes: expected "+I+" bytes, got "+$.length);let z=U?cv($):Bg($);if(G)z=B$(z,J);if(!v){if(!this.isValid(z))throw Error("invalid field element: outside of range 0..ORDER")}return z}invertBatch($){return OJ(this,$)}cmov($,v,g){return TU(g,"condition"),g?v:$}}Object.freeze(Iw.prototype);function dz($,v={}){return new Iw($,v)}function pV($){if(typeof $!=="bigint")throw Error("field order must be bigint");if($<=L$)throw Error("field order must be greater than 1");let v=_I($-L$);return Math.ceil(v/8)}function Jw($){let v=pV($);return v+Math.ceil(v/2)}function tV($,v,g=!1){A$($);let I=$.length,U=pV(v),J=Math.max(Jw(v),16);if(I<J||I>1024)throw Error("expected "+J+"-1024 bytes of input, got "+I);let G=g?cv($):Bg($),z=B$(G,v-L$)+L$;return g?GJ(z,U):yz(z,U)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var nI=BigInt(0),Lg=BigInt(1);function DJ($,v){let g=v.negate();return $?g:v}function fg($,v){let g=OJ($.Fp,v.map((I)=>I.Z));return v.map((I,U)=>$.fromAffine(I.toAffine(g[U])))}function $Z($,v){if(!Number.isSafeInteger($)||$<=0||$>v)throw Error("invalid window size, expected [1.."+v+"], got W="+$)}function Gw($,v){$Z($,v);let g=Math.ceil(v/$)+1,I=2**($-1),U=2**$,J=zJ($),G=BigInt($);return{windows:g,windowSize:I,mask:J,maxNumber:U,shiftBy:G}}function aV($,v,g){let{windowSize:I,mask:U,maxNumber:J,shiftBy:G}=g,z=Number($&U),O=$>>G;if(z>I)z-=J,O+=Lg;let D=v*I,X=D+Math.abs(z)-1,N=z===0,q=z<0,w=v%2!==0;return{nextN:O,offset:X,isZero:N,isNeg:q,isNegF:w,offsetF:D}}var zw=new WeakMap,vZ=new WeakMap;function Ow($){return vZ.get($)||1}function eV($){if($!==nI)throw Error("invalid wNAF")}class QJ{BASE;ZERO;Fn;bits;constructor($,v){this.BASE=$.BASE,this.ZERO=$.ZERO,this.Fn=$.Fn,this.bits=v}_unsafeLadder($,v,g=this.ZERO){let I=$;while(v>nI){if(v&Lg)g=g.add(I);I=I.double(),v>>=Lg}return g}precomputeWindow($,v){let{windows:g,windowSize:I}=Gw(v,this.bits),U=[],J=$,G=J;for(let z=0;z<g;z++){G=J,U.push(G);for(let O=1;O<I;O++)G=G.add(J),U.push(G);J=G.double()}return U}wNAF($,v,g){if(!this.Fn.isValid(g))throw Error("invalid scalar");let I=this.ZERO,U=this.BASE,J=Gw($,this.bits);for(let G=0;G<J.windows;G++){let{nextN:z,offset:O,isZero:D,isNeg:X,isNegF:N,offsetF:q}=aV(g,G,J);if(g=z,D)U=U.add(DJ(N,v[q]));else I=I.add(DJ(X,v[O]))}return eV(g),{p:I,f:U}}wNAFUnsafe($,v,g,I=this.ZERO){let U=Gw($,this.bits);for(let J=0;J<U.windows;J++){if(g===nI)break;let{nextN:G,offset:z,isZero:O,isNeg:D}=aV(g,J,U);if(g=G,O)continue;else{let X=v[z];I=I.add(D?X.negate():X)}}return eV(g),I}getPrecomputes($,v,g){let I=zw.get(v);if(!I){if(I=this.precomputeWindow(v,$),$!==1){if(typeof g==="function")I=g(I);zw.set(v,I)}}return I}cached($,v,g){let I=Ow($);return this.wNAF(I,this.getPrecomputes(I,$,g),v)}unsafe($,v,g,I){let U=Ow($);if(U===1)return this._unsafeLadder($,v,I);return this.wNAFUnsafe(U,this.getPrecomputes(U,$,g),v,I)}createCache($,v){$Z(v,this.bits),vZ.set($,v),zw.delete($)}hasCache($){return Ow($)!==1}}function UZ($,v,g,I){let U=v,J=$.ZERO,G=$.ZERO;while(g>nI||I>nI){if(g&Lg)J=J.add(U);if(I&Lg)G=G.add(U);U=U.double(),g>>=Lg,I>>=Lg}return{p1:J,p2:G}}function sV($,v,g){if(v){if(v.ORDER!==$)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return gw(v),v}else return dz($,{isLE:g})}function hz($,v,g={},I){if(I===void 0)I=$==="edwards";if(!v||typeof v!=="object")throw Error(`expected valid ${$} CURVE object`);for(let O of["p","n","h"]){let D=v[O];if(!(typeof D==="bigint"&&D>nI))throw Error(`CURVE.${O} must be positive bigint`)}let U=sV(v.p,g.Fp,I),J=sV(v.n,g.Fn,I),z=["Gx","Gy","a",$==="weierstrass"?"b":"d"];for(let O of z)if(!U.isValid(v[O]))throw Error(`CURVE.${O} must be valid field element of CURVE.Fp`);return v=Object.freeze(Object.assign({},v)),{CURVE:v,Fp:U,Fn:J}}function XJ($,v){return function(I){let U=$(I);return{secretKey:U,publicKey:v(U)}}}function NJ($,v){if(JU($),JU(v),v<0||v>4)throw Error("invalid I2OSP length: "+v);if($<0||$>2**(8*v)-1)throw Error("invalid I2OSP input: "+$);let g=Array.from({length:v}).fill(0);for(let I=v-1;I>=0;I--)g[I]=$&255,$>>>=8;return new Uint8Array(g)}function yu($,v){let g=new Uint8Array($.length);for(let I=0;I<$.length;I++)g[I]=$[I]^v[I];return g}function lu($){if(!LI($)&&typeof $!=="string")throw Error("DST must be Uint8Array or ascii string");let v=typeof $==="string"?lz($):$;if(v.length===0)throw Error("DST must be non-empty");return v}function Dw($,v,g,I){if(A$($),JU(g),v=lu(v),v.length>255)v=I(p$(lz("H2C-OVERSIZE-DST-"),v));let{outputLen:U,blockLen:J}=I,G=Math.ceil(g/U);if(g>65535||G>255)throw Error("expand_message_xmd: invalid lenInBytes");let z=p$(v,NJ(v.length,1)),O=new Uint8Array(J),D=NJ(g,2),X=Array(G),N=I(p$(O,$,D,NJ(0,1),z));X[0]=I(p$(N,NJ(1,1),z));for(let w=1;w<G;w++){let W=[yu(N,X[w-1]),NJ(w+1,1),z];X[w]=I(p$(...W))}return p$(...X).slice(0,g)}var gZ="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var IZ=($,v)=>($+($>=0?v:-v)/GZ)/v;function du($,v,g){HU("scalar",$,GU,g);let[[I,U],[J,G]]=v,z=IZ(G*$,g),O=IZ(-U*$,g),D=$-z*I-O*J,X=-z*U-O*G,N=D<GU,q=X<GU;if(N)D=-D;if(q)X=-X;let w=zJ(Math.ceil(_I(g)/2))+Ug;if(D<GU||D>=w||X<GU||X>=w)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:N,k1:D,k2neg:q,k2:X}}function Xw($){if(!["compact","recovered","der"].includes($))throw Error('Signature format must be "compact", "recovered", or "der"');return $}function Qw($,v){_v($);let g={};for(let I of Object.keys(v))g[I]=$[I]===void 0?v[I]:$[I];if(TU(g.lowS,"lowS"),TU(g.prehash,"prehash"),g.format!==void 0)Xw(g.format);return g}class JZ extends Error{constructor($=""){super($)}}var ov={Err:JZ,_tlv:{encode:($,v)=>{let{Err:g}=ov;if(JU($,"tag"),$<0||$>255)throw new g("tlv.encode: wrong tag");if(typeof v!=="string")throw TypeError('"data" expected string, got type='+typeof v);if(v.length&1)throw new g("tlv.encode: unpadded data");let I=v.length/2,U=JJ(I);if(U.length/2&128)throw new g("tlv.encode: long form length too big");let J=I>127?JJ(U.length/2|128):"";return JJ($)+J+U+v},decode($,v){let{Err:g}=ov;v=A$(v,void 0,"DER data");let I=0;if($<0||$>255)throw new g("tlv.encode: wrong tag");if(v.length<2||v[I++]!==$)throw new g("tlv.decode: wrong tlv");let U=v[I++],J=!!(U&128),G=0;if(!J)G=U;else{let O=U&127;if(!O)throw new g("tlv.decode(long): indefinite length not supported");if(O>4)throw new g("tlv.decode(long): byte length is too big");let D=v.subarray(I,I+O);if(D.length!==O)throw new g("tlv.decode: length bytes not complete");if(D[0]===0)throw new g("tlv.decode(long): zero leftmost byte");for(let X of D)G=G<<8|X;if(I+=O,G<128)throw new g("tlv.decode(long): not minimal encoding")}let z=v.subarray(I,I+G);if(z.length!==G)throw new g("tlv.decode: wrong value length");return{v:z,l:v.subarray(I+G)}}},_int:{encode($){let{Err:v}=ov;if(oz($),$<GU)throw new v("integer: negative integers are not allowed");let g=JJ($);if(Number.parseInt(g[0],16)&8)g="00"+g;if(g.length&1)throw new v("unexpected DER parsing assertion: unpadded hex");return g},decode($){let{Err:v}=ov;if($.length<1)throw new v("invalid signature integer: empty");if($[0]&128)throw new v("invalid signature integer: negative");if($.length>1&&$[0]===0&&!($[1]&128))throw new v("invalid signature integer: unnecessary leading zero");return Bg($)}},toSig($){let{Err:v,_int:g,_tlv:I}=ov,U=A$($,void 0,"signature"),{v:J,l:G}=I.decode(48,U);if(G.length)throw new v("invalid signature: left bytes after parsing");let{v:z,l:O}=I.decode(2,J),{v:D,l:X}=I.decode(2,O);if(X.length)throw new v("invalid signature: left bytes after parsing");return{r:g.decode(z),s:g.decode(D)}},hexFromSig($){let{_tlv:v,_int:g}=ov,I=v.encode(2,g.encode($.r)),U=v.encode(2,g.encode($.s)),J=I+U;return v.encode(48,J)}};Object.freeze(ov._tlv);Object.freeze(ov._int);Object.freeze(ov);var GU=BigInt(0),Ug=BigInt(1),GZ=BigInt(2),pz=BigInt(3),hu=BigInt(4);function zZ($,v={}){let g=hz("weierstrass",$,v),I=g.Fp,U=g.Fn,J=g.CURVE,{h:G,n:z}=J;_v(v,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:O,allowInfinityPoint:D}=v;if(O){if(!I.is0(J.a)||typeof O.beta!=="bigint"||!Array.isArray(O.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let X=DZ(I,U);function N(){if(!I.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function q(S,u,k){if(D&&u.is0())return Uint8Array.of(0);let{x:V,y:M}=u.toAffine(),j=I.toBytes(V);if(TU(k,"isCompressed"),k){N();let A=!I.isOdd(M);return p$(OZ(A),j)}else return p$(Uint8Array.of(4),j,I.toBytes(M))}function w(S){A$(S,void 0,"Point");let{publicKey:u,publicKeyUncompressed:k}=X,V=S.length,M=S[0],j=S.subarray(1);if(D&&V===1&&M===0)return{x:I.ZERO,y:I.ZERO};if(V===u&&(M===2||M===3)){let A=I.fromBytes(j);if(!I.isValid(A))throw Error("bad point: is not on curve, wrong x");let R=r(A),E;try{E=I.sqrt(R)}catch(e){let J$=e instanceof Error?": "+e.message:"";throw Error("bad point: is not on curve, sqrt error"+J$)}N();let C=I.isOdd(E);if((M&1)===1!==C)E=I.neg(E);return{x:A,y:E}}else if(V===k&&M===4){let A=I.BYTES,R=I.fromBytes(j.subarray(0,A)),E=I.fromBytes(j.subarray(A,A*2));if(!T(R,E))throw Error("bad point: is not on curve");return{x:R,y:E}}else throw Error(`bad point: got length ${V}, expected compressed=${u} or uncompressed=${k}`)}let W=v.toBytes===void 0?q:v.toBytes,Z=v.fromBytes===void 0?w:v.fromBytes;function r(S){let u=I.sqr(S),k=I.mul(u,S);return I.add(I.add(k,I.mul(S,J.a)),J.b)}function T(S,u){let k=I.sqr(u),V=r(S);return I.eql(k,V)}if(!T(J.Gx,J.Gy))throw Error("bad curve params: generator point");let K=I.mul(I.pow(J.a,pz),hu),_=I.mul(I.sqr(J.b),BigInt(27));if(I.is0(I.add(K,_)))throw Error("bad curve params: a or b");function L(S,u,k=!1){if(!I.isValid(u)||k&&I.is0(u))throw Error(`bad point coordinate ${S}`);return u}function i(S){if(!(S instanceof n))throw Error("Weierstrass Point expected")}function y(S){if(!O||!O.basises)throw Error("no endo");return du(S,O.basises,U.ORDER)}function d(S,u,k,V,M){return k=new n(I.mul(k.X,S),k.Y,k.Z),u=DJ(V,u),k=DJ(M,k),u.add(k)}class n{static BASE=new n(J.Gx,J.Gy,I.ONE);static ZERO=new n(I.ZERO,I.ONE,I.ZERO);static Fp=I;static Fn=U;X;Y;Z;constructor(S,u,k){this.X=L("x",S),this.Y=L("y",u,!0),this.Z=L("z",k),Object.freeze(this)}static CURVE(){return J}static fromAffine(S){let{x:u,y:k}=S||{};if(!S||!I.isValid(u)||!I.isValid(k))throw Error("invalid affine point");if(S instanceof n)throw Error("projective point not allowed");if(I.is0(u)&&I.is0(k))return n.ZERO;return new n(u,k,I.ONE)}static fromBytes(S){let u=n.fromAffine(Z(A$(S,void 0,"point")));return u.assertValidity(),u}static fromHex(S){return n.fromBytes(CI(S))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(S=8,u=!0){if(v$.createCache(this,S),!u)this.multiply(pz);return this}assertValidity(){let S=this;if(S.is0()){if(v.allowInfinityPoint&&I.is0(S.X)&&I.eql(S.Y,I.ONE)&&I.is0(S.Z))return;throw Error("bad point: ZERO")}let{x:u,y:k}=S.toAffine();if(!I.isValid(u)||!I.isValid(k))throw Error("bad point: x or y not field elements");if(!T(u,k))throw Error("bad point: equation left != right");if(!S.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:S}=this.toAffine();if(!I.isOdd)throw Error("Field doesn't support isOdd");return!I.isOdd(S)}equals(S){i(S);let{X:u,Y:k,Z:V}=this,{X:M,Y:j,Z:A}=S,R=I.eql(I.mul(u,A),I.mul(M,V)),E=I.eql(I.mul(k,A),I.mul(j,V));return R&&E}negate(){return new n(this.X,I.neg(this.Y),this.Z)}double(){let{a:S,b:u}=J,k=I.mul(u,pz),{X:V,Y:M,Z:j}=this,A=I.ZERO,R=I.ZERO,E=I.ZERO,C=I.mul(V,V),x=I.mul(M,M),e=I.mul(j,j),J$=I.mul(V,M);return J$=I.add(J$,J$),E=I.mul(V,j),E=I.add(E,E),A=I.mul(S,E),R=I.mul(k,e),R=I.add(A,R),A=I.sub(x,R),R=I.add(x,R),R=I.mul(A,R),A=I.mul(J$,A),E=I.mul(k,E),e=I.mul(S,e),J$=I.sub(C,e),J$=I.mul(S,J$),J$=I.add(J$,E),E=I.add(C,C),C=I.add(E,C),C=I.add(C,e),C=I.mul(C,J$),R=I.add(R,C),e=I.mul(M,j),e=I.add(e,e),C=I.mul(e,J$),A=I.sub(A,C),E=I.mul(e,x),E=I.add(E,E),E=I.add(E,E),new n(A,R,E)}add(S){i(S);let{X:u,Y:k,Z:V}=this,{X:M,Y:j,Z:A}=S,R=I.ZERO,E=I.ZERO,C=I.ZERO,x=J.a,e=I.mul(J.b,pz),J$=I.mul(u,M),z$=I.mul(k,j),Q$=I.mul(V,A),w$=I.add(u,k),X$=I.add(M,j);w$=I.mul(w$,X$),X$=I.add(J$,z$),w$=I.sub(w$,X$),X$=I.add(u,V);let N$=I.add(M,A);return X$=I.mul(X$,N$),N$=I.add(J$,Q$),X$=I.sub(X$,N$),N$=I.add(k,V),R=I.add(j,A),N$=I.mul(N$,R),R=I.add(z$,Q$),N$=I.sub(N$,R),C=I.mul(x,X$),R=I.mul(e,Q$),C=I.add(R,C),R=I.sub(z$,C),C=I.add(z$,C),E=I.mul(R,C),z$=I.add(J$,J$),z$=I.add(z$,J$),Q$=I.mul(x,Q$),X$=I.mul(e,X$),z$=I.add(z$,Q$),Q$=I.sub(J$,Q$),Q$=I.mul(x,Q$),X$=I.add(X$,Q$),J$=I.mul(z$,X$),E=I.add(E,J$),J$=I.mul(N$,X$),R=I.mul(w$,R),R=I.sub(R,J$),J$=I.mul(w$,z$),C=I.mul(N$,C),C=I.add(C,J$),new n(R,E,C)}subtract(S){return i(S),this.add(S.negate())}is0(){return this.equals(n.ZERO)}multiply(S){let{endo:u}=v;if(!U.isValidNot0(S))throw RangeError("invalid scalar: out of range");let k,V,M=(j)=>v$.cached(this,j,(A)=>fg(n,A));if(u){let{k1neg:j,k1:A,k2neg:R,k2:E}=y(S),{p:C,f:x}=M(A),{p:e,f:J$}=M(E);V=x.add(J$),k=d(u.beta,C,e,j,R)}else{let{p:j,f:A}=M(S);k=j,V=A}return fg(n,[k,V])[0]}multiplyUnsafe(S){let{endo:u}=v,k=this,V=S;if(!U.isValid(V))throw RangeError("invalid scalar: out of range");if(V===GU||k.is0())return n.ZERO;if(V===Ug)return k;if(v$.hasCache(this))return this.multiply(V);if(u){let{k1neg:M,k1:j,k2neg:A,k2:R}=y(V),{p1:E,p2:C}=UZ(n,k,j,R);return d(u.beta,E,C,M,A)}else return v$.unsafe(k,V)}toAffine(S){let u=this,k=S,{X:V,Y:M,Z:j}=u;if(I.eql(j,I.ONE))return{x:V,y:M};let A=u.is0();if(k==null)k=A?I.ONE:I.inv(j);let R=I.mul(V,k),E=I.mul(M,k),C=I.mul(j,k);if(A)return{x:I.ZERO,y:I.ZERO};if(!I.eql(C,I.ONE))throw Error("invZ was invalid");return{x:R,y:E}}isTorsionFree(){let{isTorsionFree:S}=v;if(G===Ug)return!0;if(S)return S(n,this);return v$.unsafe(this,z).is0()}clearCofactor(){let{clearCofactor:S}=v;if(G===Ug)return this;if(S)return S(n,this);return this.multiplyUnsafe(G)}isSmallOrder(){if(G===Ug)return this.is0();return this.clearCofactor().is0()}toBytes(S=!0){return TU(S,"isCompressed"),this.assertValidity(),W(n,this,S)}toHex(S=!0){return BI(this.toBytes(S))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=U.BITS,v$=new QJ(n,v.endo?Math.ceil(b/2):b);if(b>=8)n.BASE.precompute(8);return Object.freeze(n.prototype),Object.freeze(n),n}function OZ($){return Uint8Array.of($?2:3)}function DZ($,v){return{secretKey:v.BYTES,publicKey:1+$.BYTES,publicKeyUncompressed:1+2*$.BYTES,publicKeyHasPrefix:!0,signature:2*v.BYTES}}function pu($,v={}){let{Fn:g}=$,I=v.randomBytes===void 0?fI:v.randomBytes,U=Object.assign(DZ($.Fp,g),{seed:Math.max(Jw(g.ORDER),16)});function J(w){try{let W=g.fromBytes(w);return g.isValidNot0(W)}catch(W){return!1}}function G(w,W){let{publicKey:Z,publicKeyUncompressed:r}=U;try{let T=w.length;if(W===!0&&T!==Z)return!1;if(W===!1&&T!==r)return!1;return!!$.fromBytes(w)}catch(T){return!1}}function z(w){return w=w===void 0?I(U.seed):w,tV(A$(w,U.seed,"seed"),g.ORDER)}function O(w,W=!0){return $.BASE.multiply(g.fromBytes(w)).toBytes(W)}function D(w){let{secretKey:W,publicKey:Z,publicKeyUncompressed:r}=U,T=g._lengths;if(!LI(w))return;let K=A$(w,void 0,"key").length,_=K===Z||K===r,L=K===W||!!T?.includes(K);if(_&&L)return;return _}function X(w,W,Z=!0){if(D(w)===!0)throw Error("first arg must be private key");if(D(W)===!1)throw Error("second arg must be public key");let r=g.fromBytes(w);return $.fromBytes(W).multiply(r).toBytes(Z)}let N={isValidSecretKey:J,isValidPublicKey:G,randomSecretKey:z},q=XJ(z,O);return Object.freeze(N),Object.freeze(U),Object.freeze({getPublicKey:O,getSharedSecret:X,keygen:q,Point:$,utils:N,lengths:U})}function QZ($,v,g={}){let I=v;qU(I),_v(g,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),g=Object.assign({},g);let U=g.randomBytes===void 0?fI:g.randomBytes,J=g.hmac===void 0?(M,j)=>sv(I,M,j):g.hmac,{Fp:G,Fn:z}=$,{ORDER:O,BITS:D}=z,{keygen:X,getPublicKey:N,getSharedSecret:q,utils:w,lengths:W}=pu($,g),Z={prehash:!0,lowS:typeof g.lowS==="boolean"?g.lowS:!0,format:"compact",extraEntropy:!1},r=O*GZ+Ug<G.ORDER;function T(M){let j=O>>Ug;return M>j}function K(M,j){if(!z.isValidNot0(j))throw Error(`invalid signature ${M}: out of range 1..Point.Fn.ORDER`);return j}function _(){if(r)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function L(M,j){Xw(j);let A=W.signature,R=j==="compact"?A:j==="recovered"?A+1:void 0;return A$(M,R)}class i{r;s;recovery;constructor(M,j,A){if(this.r=K("r",M),this.s=K("s",j),A!=null){if(_(),![0,1,2,3].includes(A))throw Error("invalid recovery id");this.recovery=A}Object.freeze(this)}static fromBytes(M,j=Z.format){L(M,j);let A;if(j==="der"){let{r:x,s:e}=ov.toSig(A$(M));return new i(x,e)}if(j==="recovered")A=M[0],j="compact",M=M.subarray(1);let R=W.signature/2,E=M.subarray(0,R),C=M.subarray(R,R*2);return new i(z.fromBytes(E),z.fromBytes(C),A)}static fromHex(M,j){return this.fromBytes(CI(M),j)}assertRecovery(){let{recovery:M}=this;if(M==null)throw Error("invalid recovery id: must be present");return M}addRecoveryBit(M){return new i(this.r,this.s,M)}recoverPublicKey(M){let{r:j,s:A}=this,R=this.assertRecovery(),E=R===2||R===3?j+O:j;if(!G.isValid(E))throw Error("invalid recovery id: sig.r+curve.n != R.x");let C=G.toBytes(E),x=$.fromBytes(p$(OZ((R&1)===0),C)),e=z.inv(E),J$=d(A$(M,void 0,"msgHash")),z$=z.create(-J$*e),Q$=z.create(A*e),w$=$.BASE.multiplyUnsafe(z$).add(x.multiplyUnsafe(Q$));if(w$.is0())throw Error("invalid recovery: point at infinify");return w$.assertValidity(),w$}hasHighS(){return T(this.s)}toBytes(M=Z.format){if(Xw(M),M==="der")return CI(ov.hexFromSig(this));let{r:j,s:A}=this,R=z.toBytes(j),E=z.toBytes(A);if(M==="recovered")return _(),p$(Uint8Array.of(this.assertRecovery()),R,E);return p$(R,E)}toHex(M){return BI(this.toBytes(M))}}Object.freeze(i.prototype),Object.freeze(i);let y=g.bits2int===void 0?function(j){if(j.length>8192)throw Error("input is too large");let A=Bg(j),R=j.length*8-D;return R>0?A>>BigInt(R):A}:g.bits2int,d=g.bits2int_modN===void 0?function(j){return z.create(y(j))}:g.bits2int_modN,n=zJ(D);function b(M){return HU("num < 2^"+D,M,GU,n),z.toBytes(M)}function v$(M,j){return A$(M,void 0,"message"),j?A$(I(M),void 0,"prehashed message"):M}function S(M,j,A){let{lowS:R,prehash:E,extraEntropy:C}=Qw(A,Z);M=v$(M,E);let x=d(M),e=z.fromBytes(j);if(!z.isValidNot0(e))throw Error("invalid private key");let J$=[b(e),b(x)];if(C!=null&&C!==!1){let X$=C===!0?U(W.secretKey):C;J$.push(A$(X$,void 0,"extraEntropy"))}let z$=p$(...J$),Q$=x;function w$(X$){let N$=y(X$);if(!z.isValidNot0(N$))return;let r$=z.inv(N$),k$=$.BASE.multiply(N$).toAffine(),E$=z.create(k$.x);if(E$===GU)return;let a$=z.create(r$*z.create(Q$+E$*e));if(a$===GU)return;let e$=(k$.x===E$?0:2)|Number(k$.y&Ug),Vv=a$;if(R&&T(a$))Vv=z.neg(a$),e$^=1;return new i(E$,Vv,r?void 0:e$)}return{seed:z$,k2sig:w$}}function u(M,j,A={}){let{seed:R,k2sig:E}=S(M,j,A);return bV(I.outputLen,z.BYTES,J)(R,E).toBytes(A.format)}function k(M,j,A,R={}){let{lowS:E,prehash:C,format:x}=Qw(R,Z);if(A=A$(A,void 0,"publicKey"),j=v$(j,C),!LI(M)){let e=M instanceof i?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+e)}L(M,x);try{let e=i.fromBytes(M,x),J$=$.fromBytes(A);if(E&&e.hasHighS())return!1;let{r:z$,s:Q$}=e,w$=d(j),X$=z.inv(Q$),N$=z.create(w$*X$),r$=z.create(z$*X$),k$=$.BASE.multiplyUnsafe(N$).add(J$.multiplyUnsafe(r$));if(k$.is0())return!1;return z.create(k$.x)===z$}catch(e){return!1}}function V(M,j,A={}){let{prehash:R}=Qw(A,Z);return j=v$(j,R),i.fromBytes(M,"recovered").recoverPublicKey(j).toBytes()}return Object.freeze({keygen:X,getPublicKey:N,getSharedSecret:q,utils:w,lengths:W,Point:$,sign:u,verify:k,recoverPublicKey:V,Signature:i,hash:I})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var tu=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var au=zZ(tu),bI=QZ(au,_$);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gg=BigInt(0),Kv=BigInt(1),Nw=BigInt(2),eu=BigInt(8);function su($,v,g,I){let U=$.sqr(g),J=$.sqr(I),G=$.add($.mul(v.a,U),J),z=$.add($.ONE,$.mul(v.d,$.mul(U,J)));return $.eql(G,z)}function XZ($,v={}){let g=v,I=hz("edwards",$,g,g.FpFnLE),{Fp:U,Fn:J}=I,G=I.CURVE,{h:z}=G;_v(g,{},{uvRatio:"function"});let O=Nw<<BigInt(J.BYTES*8)-Kv,D=(Z)=>U.create(Z),X=g.uvRatio===void 0?(Z,r)=>{try{return{isValid:!0,value:U.sqrt(U.div(Z,r))}}catch(T){return{isValid:!1,value:gg}}}:g.uvRatio;if(!su(U,G,G.Gx,G.Gy))throw Error("bad curve params: generator point");function N(Z,r,T=!1){let K=T?Kv:gg;return HU("coordinate "+Z,r,K,O),r}function q(Z){if(!(Z instanceof w))throw Error("EdwardsPoint expected")}class w{static BASE=new w(G.Gx,G.Gy,Kv,D(G.Gx*G.Gy));static ZERO=new w(gg,Kv,Kv,gg);static Fp=U;static Fn=J;X;Y;Z;T;constructor(Z,r,T,K){this.X=N("x",Z),this.Y=N("y",r),this.Z=N("z",T,!0),this.T=N("t",K),Object.freeze(this)}static CURVE(){return G}static fromAffine(Z){if(Z instanceof w)throw Error("extended point not allowed");let{x:r,y:T}=Z||{};return N("x",r),N("y",T),new w(r,T,Kv,D(r*T))}static fromBytes(Z,r=!1){let T=U.BYTES,{a:K,d:_}=G;Z=vg(A$(Z,T,"point")),TU(r,"zip215");let L=vg(Z),i=Z[T-1];L[T-1]=i&-129;let y=cv(L),d=r?O:U.ORDER;HU("point.y",y,gg,d);let n=D(y*y),b=D(n-Kv),v$=D(_*n-K),{isValid:S,value:u}=X(b,v$);if(!S)throw Error("bad point: invalid y coordinate");let k=(u&Kv)===Kv,V=(i&128)!==0;if(!r&&u===gg&&V)throw Error("bad point: x=0 and x_0=1");if(V!==k)u=D(-u);return w.fromAffine({x:u,y})}static fromHex(Z,r=!1){return w.fromBytes(CI(Z),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Z=8,r=!0){if(W.createCache(this,Z),!r)this.multiply(Nw);return this}assertValidity(){let Z=this,{a:r,d:T}=G;if(Z.is0())throw Error("bad point: ZERO");let{X:K,Y:_,Z:L,T:i}=Z,y=D(K*K),d=D(_*_),n=D(L*L),b=D(n*n),v$=D(y*r),S=D(n*D(v$+d)),u=D(b+D(T*D(y*d)));if(S!==u)throw Error("bad point: equation left != right (1)");let k=D(K*_),V=D(L*i);if(k!==V)throw Error("bad point: equation left != right (2)")}equals(Z){q(Z);let{X:r,Y:T,Z:K}=this,{X:_,Y:L,Z:i}=Z,y=D(r*i),d=D(_*K),n=D(T*i),b=D(L*K);return y===d&&n===b}is0(){return this.equals(w.ZERO)}negate(){return new w(D(-this.X),this.Y,this.Z,D(-this.T))}double(){let{a:Z}=G,{X:r,Y:T,Z:K}=this,_=D(r*r),L=D(T*T),i=D(Nw*D(K*K)),y=D(Z*_),d=r+T,n=D(D(d*d)-_-L),b=y+L,v$=b-i,S=y-L,u=D(n*v$),k=D(b*S),V=D(n*S),M=D(v$*b);return new w(u,k,M,V)}add(Z){q(Z);let{a:r,d:T}=G,{X:K,Y:_,Z:L,T:i}=this,{X:y,Y:d,Z:n,T:b}=Z,v$=D(K*y),S=D(_*d),u=D(i*T*b),k=D(L*n),V=D((K+_)*(y+d)-v$-S),M=k-u,j=k+u,A=D(S-r*v$),R=D(V*M),E=D(j*A),C=D(V*A),x=D(M*j);return new w(R,E,x,C)}subtract(Z){return q(Z),this.add(Z.negate())}multiply(Z){if(!J.isValidNot0(Z))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:r,f:T}=W.cached(this,Z,(K)=>fg(w,K));return fg(w,[r,T])[0]}multiplyUnsafe(Z){if(!J.isValid(Z))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(Z===gg)return w.ZERO;if(this.is0()||Z===Kv)return this;return W.unsafe(this,Z,(r)=>fg(w,r))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return W.unsafe(this,G.n).is0()}toAffine(Z){let r=this,T=Z,{X:K,Y:_,Z:L}=r,i=r.is0();if(T==null)T=i?eu:U.inv(L);let y=D(K*T),d=D(_*T),n=U.mul(L,T);if(i)return{x:gg,y:Kv};if(n!==Kv)throw Error("invZ was invalid");return{x:y,y:d}}clearCofactor(){if(z===Kv)return this;return this.multiplyUnsafe(z)}toBytes(){let{x:Z,y:r}=this.toAffine(),T=U.toBytes(r);return T[T.length-1]|=Z&Kv?128:0,T}toHex(){return BI(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let W=new QJ(w,J.BITS);if(J.BITS>=8)w.BASE.precompute(8);return Object.freeze(w.prototype),Object.freeze(w),w}class ww{static BASE;static ZERO;static Fp;static Fn;ep;constructor($){this.ep=$}static fromBytes($){vw()}static fromHex($){vw()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine($){return this.ep.toAffine($)}toHex(){return BI(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add($){return this.assertSame($),this.init(this.ep.add($.ep))}subtract($){return this.assertSame($),this.init(this.ep.subtract($.ep))}multiply($){return this.init(this.ep.multiply($))}multiplyUnsafe($){return this.init(this.ep.multiplyUnsafe($))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute($,v){return this.ep.precompute($,v),this}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var wJ=BigInt(0),mI=BigInt(1),tz=BigInt(2);function $1($){return _v($,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...$})}function NZ($){let v=$1($),{P:g,type:I,adjustScalarBytes:U,powPminus2:J,randomBytes:G}=v,z=I==="x25519";if(!z&&I!=="x448")throw Error("invalid type");let O=G===void 0?fI:G,D=z?255:448,X=z?32:56,N=z?BigInt(9):BigInt(5),q=z?BigInt(121665):BigInt(39081),w=z?tz**BigInt(254):tz**BigInt(447),W=z?BigInt(8)*tz**BigInt(251)-mI:BigInt(4)*tz**BigInt(445)-mI,Z=w+W+mI,r=(V)=>B$(V,g),T=K(N);function K(V){return GJ(r(V),X)}function _(V){let M=vg(A$(V,X,"uCoordinate"));if(z)M[31]&=127;return r(cv(M))}function L(V){return cv(U(vg(A$(V,X,"scalar"))))}function i(V,M){let j=v$(_(M),L(V));if(j===wJ)throw Error("invalid private or public key received");return K(j)}function y(V){return i(V,T)}let d=y,n=i;function b(V,M,j){let A=r(V*(M-j));return M=r(M-A),j=r(j+A),{x_2:M,x_3:j}}function v$(V,M){HU("u",V,wJ,g),HU("scalar",M,w,Z);let j=M,A=V,R=mI,E=wJ,C=V,x=mI,e=wJ;for(let z$=BigInt(D-1);z$>=wJ;z$--){let Q$=j>>z$&mI;e^=Q$,{x_2:R,x_3:C}=b(e,R,C),{x_2:E,x_3:x}=b(e,E,x),e=Q$;let w$=R+E,X$=r(w$*w$),N$=R-E,r$=r(N$*N$),k$=X$-r$,E$=C+x,a$=C-x,e$=r(a$*w$),Vv=r(E$*N$),yv=e$+Vv,lv=e$-Vv;C=r(yv*yv),x=r(A*r(lv*lv)),R=r(X$*r$),E=r(k$*(X$+r(q*k$)))}({x_2:R,x_3:C}=b(e,R,C)),{x_2:E,x_3:x}=b(e,E,x);let J$=J(E);return r(R*J$)}let S={secretKey:X,publicKey:X,seed:X},u=(V)=>{return V=V===void 0?O(X):V,A$(V,S.seed,"seed"),V},k={randomSecretKey:u};return Object.freeze(S),Object.freeze(k),Object.freeze({keygen:XJ(u,d),getSharedSecret:n,getPublicKey:d,scalarMult:i,scalarMultBase:y,utils:k,GuBytes:T.slice(),lengths:S})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var v1=BigInt(0),SU=BigInt(1),wZ=BigInt(2),U1=BigInt(3),g1=BigInt(5),I1=BigInt(8),ng=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),rw=(()=>({p:ng,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:I1,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function WZ($){let v=BigInt(10),g=BigInt(20),I=BigInt(40),U=BigInt(80),J=ng,z=$*$%J*$%J,O=nv(z,wZ,J)*z%J,D=nv(O,SU,J)*$%J,X=nv(D,g1,J)*D%J,N=nv(X,v,J)*X%J,q=nv(N,g,J)*N%J,w=nv(q,I,J)*q%J,W=nv(w,U,J)*w%J,Z=nv(W,U,J)*w%J,r=nv(Z,v,J)*X%J;return{pow_p_5_8:nv(r,wZ,J)*$%J,b2:z}}function J1($){return $[0]&=248,$[31]&=127,$[31]|=64,$}var qw=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Vw($,v){let g=ng,I=B$(v*v*v,g),U=B$(I*I*v,g),J=WZ($*U).pow_p_5_8,G=B$($*I*J,g),z=B$(v*G*G,g),O=G,D=B$(G*qw,g),X=z===$,N=z===B$(-$,g),q=z===B$(-$*qw,g);if(X)G=O;if(N||q)G=D;if(AU(G,g))G=B$(-G,g);return{isValid:X||N,value:G}}var _g=XZ(rw,{uvRatio:Vw}),Ig=(()=>_g.Fp)(),rZ=(()=>_g.Fn)();var az=(()=>{let $=ng;return NZ({P:$,type:"x25519",powPminus2:(v)=>{let{pow_p_5_8:g,b2:I}=WZ(v);return B$(nv(g,U1,$)*I,$)},adjustScalarBytes:J1})})();var Yw=qw,G1=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),z1=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),O1=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),D1=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),qZ=($)=>Vw(SU,$),Q1=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ww=($)=>Ig.create(cv($)&Q1);function YZ($){let{d:v}=rw,g=ng,I=(T)=>Ig.create(T),U=I(Yw*$*$),J=I((U+SU)*O1),G=BigInt(-1),z=I((G-v*U)*I(U+v)),{isValid:O,value:D}=Vw(J,z),X=I(D*$);if(!AU(X,g))X=I(-X);if(!O)D=X;if(!O)G=U;let N=I(G*(U-SU)*D1-z),q=D*D,w=I((D+D)*z),W=I(N*G1),Z=I(SU-q),r=I(SU+q);return new _g(I(w*r),I(Z*W),I(W*r),I(w*Z))}class rv extends ww{static BASE=(()=>new rv(_g.BASE))();static ZERO=(()=>new rv(_g.ZERO))();static Fp=(()=>Ig)();static Fn=(()=>rZ)();constructor($){super($)}static fromAffine($){return new rv(_g.fromAffine($))}assertSame($){if(!($ instanceof rv))throw Error("RistrettoPoint expected")}init($){return new rv($)}static fromBytes($){c$($,32);let{a:v,d:g}=rw,I=ng,U=(_)=>Ig.create(_),J=Ww($);if(!nV(Ig.toBytes(J),$)||AU(J,I))throw Error("invalid ristretto255 encoding 1");let G=U(J*J),z=U(SU+v*G),O=U(SU-v*G),D=U(z*z),X=U(O*O),N=U(v*g*D-X),{isValid:q,value:w}=qZ(U(N*X)),W=U(w*O),Z=U(w*W*N),r=U((J+J)*W);if(AU(r,I))r=U(-r);let T=U(z*Z),K=U(r*T);if(!q||AU(K,I)||T===v1)throw Error("invalid ristretto255 encoding 2");return new rv(new _g(r,T,SU,K))}static fromHex($){return rv.fromBytes(C0($))}toBytes(){let{X:$,Y:v,Z:g,T:I}=this.ep,U=ng,J=(Z)=>Ig.create(Z),G=J(J(g+v)*J(g-v)),z=J($*v),O=J(z*z),{value:D}=qZ(J(G*O)),X=J(D*G),N=J(D*z),q=J(X*N*I),w;if(AU(I*q,U)){let Z=J(v*Yw),r=J($*Yw);$=Z,v=r,w=J(X*z1)}else w=N;if(AU($*q,U))v=J(-v);let W=J((g-v)*w);if(AU(W,U))W=J(-W);return Ig.toBytes(W)}equals($){this.assertSame($);let{X:v,Y:g}=this.ep,{X:I,Y:U}=$.ep,J=(O)=>Ig.create(O),G=J(v*U)===J(g*I),z=J(g*U)===J(v*I);return G||z}is0(){return this.equals(rv.ZERO)}}Object.freeze(rv.BASE);Object.freeze(rv.ZERO);Object.freeze(rv.prototype);Object.freeze(rv);var X1=Object.freeze({Point:rv,hashToCurve($,v){let g=v?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":v.DST,I=Dw($,g,64,Yz);return X1.deriveToCurve(I)},hashToScalar($,v={DST:gZ}){let g=Dw($,v.DST,64,Yz);return rZ.create(cv(g))},deriveToCurve($){c$($,64);let v=Ww($.subarray(0,32)),g=YZ(v),I=Ww($.subarray(32,64)),U=YZ(I);return new rv(g.add(U))}});var VZ=!1,N1=!1;async function ZZ($,v){if(N1)return await v();try{return await $()}catch(g){if(g instanceof ReferenceError||g instanceof DOMException&&g.name==="NotSupportedError")return await v();else throw g}}async function ez($,v){return await ZZ(async()=>{let g=Zw($)?$:await q1($),I=await crypto.subtle.importKey("raw",Y1(v),{name:"X25519"},VZ,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:I},g,256))},()=>{if(Zw($))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return az.scalarMult($,v)})}async function qJ($){return await ZZ(async()=>{return ez($,az.GuBytes)},()=>{if(Zw($))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return az.scalarMultBase($)})}var w1=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function q1($){if($.length!==32)throw Error("X25519 private key must be 32 bytes");let v=new Uint8Array([...w1,...$]);return crypto.subtle.importKey("pkcs8",v,{name:"X25519"},VZ,["deriveBits"])}function Zw($){return typeof CryptoKey<"u"&&$ instanceof CryptoKey}function Y1($){return $}class jw{s;transcript=[];buf=new Uint8Array(0);constructor($){this.s=$.getReader()}async readLine(){let $=[];while(!0){let v=this.buf.indexOf(10);if(v>=0)return $.push(this.buf.subarray(0,v)),this.transcript.push(this.buf.subarray(0,v+1)),this.buf=this.buf.subarray(v+1),r1(bg($));if(this.buf.length>0)$.push(this.buf),this.transcript.push(this.buf);let g=await this.s.read();if(g.done)return this.buf=bg($),null;this.buf=g.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:bg(this.transcript)}}}function r1($){return $.forEach((v)=>{if(v<32||v>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode($)}function bg($){let v=$.reduce((U,J)=>U+J.length,0),g=new Uint8Array(v),I=0;for(let U of $)g.set(U,I),I+=U.length;return g}function FI($,...v){return $.pipeThrough(new TransformStream({start(g){for(let I of v)g.enqueue(I)}}))}function sz($){return new ReadableStream({start(v){v.enqueue($),v.close()}})}async function Mw($){if(!($ instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response($).arrayBuffer())}async function jZ($){if(!($ instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response($).text()}async function MZ($,v){let g=$.getReader(),I=[],U=0;while(U<v){let{done:O,value:D}=await g.read();if(O)throw Error("stream ended before reading "+v.toString()+" bytes");I.push(D),U+=D.length}g.releaseLock();let J=bg(I),G=J.subarray(0,v),z=FI($,J.subarray(v));return{data:G,rest:z}}class zU{args;body;constructor($,v){this.args=$,this.body=v}}async function V1($){let v=await $.readLine();if(v===null)throw Error("invalid stanza");let g=v.split(" ");if(g.length<2||g.shift()!=="->")return{next:v};for(let J of g)if(J.length===0)throw Error("invalid stanza");let I=[];for(;;){let J=await $.readLine();if(J===null)throw Error("invalid stanza");let G=gv.decode(J);if(G.length>48)throw Error("invalid stanza");if(I.push(G),G.length<48)break}let U=bg(I);return{s:new zU(g,U)}}async function RZ($){let v=new jw($),g=await v.readLine();if(g!=="age-encryption.org/v1")throw Error("invalid version "+(g??"line"));let I=[];for(;;){let{s:U,next:J}=await V1(v);if(U!==void 0){I.push(U);continue}if(!J.startsWith("--- "))throw Error("invalid header");let G=gv.decode(J.slice(4)),{rest:z,transcript:O}=v.close(),D=O.slice(0,O.length-1-J.length+3);return{stanzas:I,headerNoMAC:D,MAC:G,headerSize:O.length,rest:FI($,z)}}}function Rw($){let v=[];v.push(`age-encryption.org/v1
265
+ `)}async function T9($,v){try{return await H9($,v,{flag:"wx"}),!0}catch(g){if(x5(g))return!1;throw g}}async function i5($){try{return await C5($),!0}catch{return!1}}function x5($){return A9($,"EEXIST")}function c5($){return A9($,"ENOENT")}function A9($,v){return typeof $==="object"&&$!==null&&"code"in $&&$.code===v}function o5($){return $.split("-").filter((v)=>v.length>0).map((v)=>`${v[0]?.toUpperCase()??""}${v.slice(1)}`).join(" ")}async function pX($,v,g,I={}){let{registry:U,users:J}=await R9($,v);await VI($,U,J,g,I)}async function tX($,v,g={}){let{registry:I,users:U}=await K9($);await VI($,I,U,v,g)}import{parseArgs as y5}from"util";var l5={help:{type:"boolean",short:"h"},version:{type:"boolean",short:"v"},"dry-run":{type:"boolean"},"push-to":{type:"string"},cohort:{type:"string"},"anchor-id":{type:"string"},handle:{type:"string"}};function aX($,v){let g=$[v];return typeof g==="boolean"?g:void 0}function Oz($,v){let g=$[v];return typeof g==="string"?g:void 0}function d5($){let{values:v,positionals:g}=y5({args:$,options:l5,allowPositionals:!0});if(v.help)return{command:"help",args:[],flags:{help:!0}};if(v.version)return{command:"version",args:[],flags:{version:!0}};return{command:g[0]??"help",args:g.slice(1),flags:{help:aX(v,"help"),version:aX(v,"version"),dryRun:aX(v,"dry-run"),pushTo:Oz(v,"push-to"),cohort:Oz(v,"cohort"),anchorId:Oz(v,"anchor-id"),handle:Oz(v,"handle")}}}import{existsSync as Su,mkdirSync as ku,readFileSync as mw,writeFileSync as Fw}from"fs";import{dirname as Pu,join as EZ}from"path";function eX($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in $&&$.BYTES_PER_ELEMENT===1}function f$($,v=""){if(typeof $!=="number"){let g=v&&`"${v}" `;throw TypeError(`${g}expected number, got ${typeof $}`)}if(!Number.isSafeInteger($)||$<0){let g=v&&`"${v}" `;throw RangeError(`${g}expected integer >= 0, got ${$}`)}}function c$($,v,g=""){let I=eX($),U=$?.length,J=v!==void 0;if(!I||J&&U!==v){let G=g&&`"${g}" `,z=J?` of length ${v}`:"",O=I?`length=${U}`:`type=${typeof $}`,D=G+"expected Uint8Array"+z+", got "+O;if(!I)throw TypeError(D);throw RangeError(D)}return $}function qU($){if(typeof $!=="function"||typeof $.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(f$($.outputLen),f$($.blockLen),$.outputLen<1)throw Error('"outputLen" must be >= 1');if($.blockLen<1)throw Error('"blockLen" must be >= 1')}function jI($,v=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(v&&$.finished)throw Error("Hash#digest() has already been called")}function Dz($,v){c$($,void 0,"digestInto() output");let g=v.outputLen;if($.length<g)throw RangeError('"digestInto() output" expected to be of length >='+g)}function Qz($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function qv(...$){for(let v=0;v<$.length;v++)$[v].fill(0)}function MI($){return new DataView($.buffer,$.byteOffset,$.byteLength)}function Fv($,v){return $<<32-v|$>>>v}function R$($,v){return $<<v|$>>>32-v>>>0}var h5=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function p5($){return $<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255}function t5($){for(let v=0;v<$.length;v++)$[v]=p5($[v]);return $}var sX=h5?($)=>$:t5,k9=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),a5=Array.from({length:256},($,v)=>v.toString(16).padStart(2,"0"));function Xz($){if(c$($),k9)return $.toHex();let v="";for(let g=0;g<$.length;g++)v+=a5[$[g]];return v}var wU={_0:48,_9:57,A:65,F:70,a:97,f:102};function S9($){if($>=wU._0&&$<=wU._9)return $-wU._0;if($>=wU.A&&$<=wU.F)return $-(wU.A-10);if($>=wU.a&&$<=wU.f)return $-(wU.a-10);return}function C0($){if(typeof $!=="string")throw TypeError("hex string expected, got "+typeof $);if(k9)try{return Uint8Array.fromHex($)}catch(U){if(U instanceof SyntaxError)throw RangeError(U.message);throw U}let v=$.length,g=v/2;if(v%2)throw RangeError("hex string expected, got unpadded hex of length "+v);let I=new Uint8Array(g);for(let U=0,J=0;U<g;U++,J+=2){let G=S9($.charCodeAt(J)),z=S9($.charCodeAt(J+1));if(G===void 0||z===void 0){let O=$[J]+$[J+1];throw RangeError('hex string expected, got non-hex character "'+O+'" at index '+J)}I[U]=G*16+z}return I}function e5($){if(typeof $!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode($))}function $N($,v=""){if(typeof $==="string")return e5($);return c$($,void 0,v)}function vN(...$){let v=0;for(let I=0;I<$.length;I++){let U=$[I];c$(U),v+=U.length}let g=new Uint8Array(v);for(let I=0,U=0;I<$.length;I++){let J=$[I];g.set(J,U),U+=J.length}return g}function Nz($,v){if(v!==void 0&&{}.toString.call(v)!=="[object Object]")throw TypeError("options must be object or undefined");return Object.assign($,v)}function UN($,v={}){let g=(U,J)=>$(J).update(U).digest(),I=$(void 0);return g.outputLen=I.outputLen,g.blockLen=I.blockLen,g.canXOF=I.canXOF,g.create=(U)=>$(U),Object.assign(g,v),Object.freeze(g)}function YU($=32){f$($,"bytesLength");let v=typeof globalThis==="object"?globalThis.crypto:null;if(typeof v?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");if($>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${$}`);return v.getRandomValues(new Uint8Array($))}var gN=($)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,$])});class IN{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor($,v){if(qU($),c$(v,void 0,"key"),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 g=this.blockLen,I=new Uint8Array(g);I.set(v.length>g?$.create().update(v).digest():v);for(let U=0;U<I.length;U++)I[U]^=54;this.iHash.update(I),this.oHash=$.create();for(let U=0;U<I.length;U++)I[U]^=106;this.oHash.update(I),qv(I)}update($){return jI(this),this.iHash.update($),this}digestInto($){jI(this),Dz($,this),this.finished=!0;let v=$.subarray(0,this.outputLen);this.iHash.digestInto(v),this.oHash.update(v),this.oHash.digestInto(v),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||=Object.create(Object.getPrototypeOf(this),{});let{oHash:v,iHash:g,finished:I,destroyed:U,blockLen:J,outputLen:G}=this;return $=$,$.finished=I,$.destroyed=U,$.blockLen=J,$.outputLen=G,$.oHash=v._cloneInto($.oHash),$.iHash=g._cloneInto($.iHash),$}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var sv=(()=>{let $=(v,g,I)=>new IN(v,g).update(I).digest();return $.create=(v,g)=>new IN(v,g),$})();function L0($,v,g){if(qU($),g===void 0)g=new Uint8Array($.outputLen);return sv($,g,v)}var JN=Uint8Array.of(0),P9=Uint8Array.of();function GN($,v,g,I=32){qU($),f$(I,"length"),c$(v,void 0,"prk");let U=$.outputLen;if(v.length<U)throw Error('"prk" must be at least HashLen octets');if(I>255*U)throw Error("Length must be <= 255*HashLen");let J=Math.ceil(I/U);if(g===void 0)g=P9;else c$(g,void 0,"info");let G=new Uint8Array(J*U),z=sv.create($,v),O=z._cloneInto(),D=new Uint8Array(z.outputLen);for(let X=0;X<J;X++)JN[0]=X+1,O.update(X===0?P9:D).update(g).update(JN).digestInto(D),G.set(D,U*X),z._cloneInto(O);return z.destroy(),O.destroy(),qv(D,JN),G.slice(0,I)}var iU=($,v,g,I,U)=>GN($,L0($,v,g),I,U);function E9($,v,g){return $&v^~$&g}function B9($,v,g){return $&v^$&g^v&g}class wz{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor($,v,g,I){this.blockLen=$,this.outputLen=v,this.padOffset=g,this.isLE=I,this.buffer=new Uint8Array($),this.view=MI(this.buffer)}update($){jI(this),c$($);let{view:v,buffer:g,blockLen:I}=this,U=$.length;for(let J=0;J<U;){let G=Math.min(I-this.pos,U-J);if(G===I){let z=MI($);for(;I<=U-J;J+=I)this.process(z,J);continue}if(g.set($.subarray(J,J+G),this.pos),this.pos+=G,J+=G,this.pos===I)this.process(v,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){jI(this),Dz($,this),this.finished=!0;let{buffer:v,view:g,blockLen:I,isLE:U}=this,{pos:J}=this;if(v[J++]=128,qv(this.buffer.subarray(J)),this.padOffset>I-J)this.process(g,0),J=0;for(let X=J;X<I;X++)v[X]=0;g.setBigUint64(I-8,BigInt(this.length*8),U),this.process(g,0);let G=MI($),z=this.outputLen;if(z%4)throw Error("_sha2: outputLen must be aligned to 32bit");let O=z/4,D=this.get();if(O>D.length)throw Error("_sha2: outputLen bigger than state");for(let X=0;X<O;X++)G.setUint32(4*X,D[X],U)}digest(){let{buffer:$,outputLen:v}=this;this.digestInto($);let g=$.slice(0,v);return this.destroy(),g}_cloneInto($){$||=new this.constructor,$.set(...this.get());let{blockLen:v,buffer:g,length:I,finished:U,destroyed:J,pos:G}=this;if($.destroyed=J,$.finished=U,$.length=I,$.pos=G,I%v)$.buffer.set(g);return $}clone(){return this._cloneInto()}}var WU=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rU=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),o$=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),y$=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var qz=BigInt(4294967295),C9=BigInt(32);function s5($,v=!1){if(v)return{h:Number($&qz),l:Number($>>C9&qz)};return{h:Number($>>C9&qz)|0,l:Number($&qz)|0}}function L9($,v=!1){let g=$.length,I=new Uint32Array(g),U=new Uint32Array(g);for(let J=0;J<g;J++){let{h:G,l:z}=s5($[J],v);[I[J],U[J]]=[G,z]}return[I,U]}var zN=($,v,g)=>$>>>g,ON=($,v,g)=>$<<32-g|v>>>g,Vg=($,v,g)=>$>>>g|v<<32-g,Zg=($,v,g)=>$<<32-g|v>>>g,f0=($,v,g)=>$<<64-g|v>>>g-32,_0=($,v,g)=>$>>>g-32|v<<64-g;function $U($,v,g,I){let U=(v>>>0)+(I>>>0);return{h:$+g+(U/4294967296|0)|0,l:U|0}}var f9=($,v,g)=>($>>>0)+(v>>>0)+(g>>>0),_9=($,v,g,I)=>v+g+I+($/4294967296|0)|0,n9=($,v,g,I)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0),b9=($,v,g,I,U)=>v+g+I+U+($/4294967296|0)|0,m9=($,v,g,I,U)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0)+(U>>>0),F9=($,v,g,I,U,J)=>v+g+I+U+J+($/4294967296|0)|0;var vK=Uint32Array.from([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]),xU=new Uint32Array(64);class DN extends wz{constructor($){super(64,$,8,!1)}get(){let{A:$,B:v,C:g,D:I,E:U,F:J,G,H:z}=this;return[$,v,g,I,U,J,G,z]}set($,v,g,I,U,J,G,z){this.A=$|0,this.B=v|0,this.C=g|0,this.D=I|0,this.E=U|0,this.F=J|0,this.G=G|0,this.H=z|0}process($,v){for(let X=0;X<16;X++,v+=4)xU[X]=$.getUint32(v,!1);for(let X=16;X<64;X++){let N=xU[X-15],q=xU[X-2],w=Fv(N,7)^Fv(N,18)^N>>>3,W=Fv(q,17)^Fv(q,19)^q>>>10;xU[X]=W+xU[X-7]+w+xU[X-16]|0}let{A:g,B:I,C:U,D:J,E:G,F:z,G:O,H:D}=this;for(let X=0;X<64;X++){let N=Fv(G,6)^Fv(G,11)^Fv(G,25),q=D+N+E9(G,z,O)+vK[X]+xU[X]|0,W=(Fv(g,2)^Fv(g,13)^Fv(g,22))+B9(g,I,U)|0;D=O,O=z,z=G,G=J+q|0,J=U,U=I,I=g,g=q+W|0}g=g+this.A|0,I=I+this.B|0,U=U+this.C|0,J=J+this.D|0,G=G+this.E|0,z=z+this.F|0,O=O+this.G|0,D=D+this.H|0,this.set(g,I,U,J,G,z,O,D)}roundClean(){qv(xU)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),qv(this.buffer)}}class i9 extends DN{A=WU[0]|0;B=WU[1]|0;C=WU[2]|0;D=WU[3]|0;E=WU[4]|0;F=WU[5]|0;G=WU[6]|0;H=WU[7]|0;constructor(){super(32)}}class UK extends DN{A=rU[0]|0;B=rU[1]|0;C=rU[2]|0;D=rU[3]|0;E=rU[4]|0;F=rU[5]|0;G=rU[6]|0;H=rU[7]|0;constructor(){super(28)}}var x9=(()=>L9(["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($))))(),gK=(()=>x9[0])(),IK=(()=>x9[1])(),cU=new Uint32Array(80),oU=new Uint32Array(80);class n0 extends wz{constructor($){super(128,$,16,!1)}get(){let{Ah:$,Al:v,Bh:g,Bl:I,Ch:U,Cl:J,Dh:G,Dl:z,Eh:O,El:D,Fh:X,Fl:N,Gh:q,Gl:w,Hh:W,Hl:Z}=this;return[$,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z]}set($,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z){this.Ah=$|0,this.Al=v|0,this.Bh=g|0,this.Bl=I|0,this.Ch=U|0,this.Cl=J|0,this.Dh=G|0,this.Dl=z|0,this.Eh=O|0,this.El=D|0,this.Fh=X|0,this.Fl=N|0,this.Gh=q|0,this.Gl=w|0,this.Hh=W|0,this.Hl=Z|0}process($,v){for(let K=0;K<16;K++,v+=4)cU[K]=$.getUint32(v),oU[K]=$.getUint32(v+=4);for(let K=16;K<80;K++){let _=cU[K-15]|0,L=oU[K-15]|0,i=Vg(_,L,1)^Vg(_,L,8)^zN(_,L,7),y=Zg(_,L,1)^Zg(_,L,8)^ON(_,L,7),d=cU[K-2]|0,n=oU[K-2]|0,b=Vg(d,n,19)^f0(d,n,61)^zN(d,n,6),v$=Zg(d,n,19)^_0(d,n,61)^ON(d,n,6),S=n9(y,v$,oU[K-7],oU[K-16]),u=b9(S,i,b,cU[K-7],cU[K-16]);cU[K]=u|0,oU[K]=S|0}let{Ah:g,Al:I,Bh:U,Bl:J,Ch:G,Cl:z,Dh:O,Dl:D,Eh:X,El:N,Fh:q,Fl:w,Gh:W,Gl:Z,Hh:r,Hl:T}=this;for(let K=0;K<80;K++){let _=Vg(X,N,14)^Vg(X,N,18)^f0(X,N,41),L=Zg(X,N,14)^Zg(X,N,18)^_0(X,N,41),i=X&q^~X&W,y=N&w^~N&Z,d=m9(T,L,y,IK[K],oU[K]),n=F9(d,r,_,i,gK[K],cU[K]),b=d|0,v$=Vg(g,I,28)^f0(g,I,34)^f0(g,I,39),S=Zg(g,I,28)^_0(g,I,34)^_0(g,I,39),u=g&U^g&G^U&G,k=I&J^I&z^J&z;r=W|0,T=Z|0,W=q|0,Z=w|0,q=X|0,w=N|0,{h:X,l:N}=$U(O|0,D|0,n|0,b|0),O=G|0,D=z|0,G=U|0,z=J|0,U=g|0,J=I|0;let V=f9(b,S,k);g=_9(V,n,v$,u),I=V|0}({h:g,l:I}=$U(this.Ah|0,this.Al|0,g|0,I|0)),{h:U,l:J}=$U(this.Bh|0,this.Bl|0,U|0,J|0),{h:G,l:z}=$U(this.Ch|0,this.Cl|0,G|0,z|0),{h:O,l:D}=$U(this.Dh|0,this.Dl|0,O|0,D|0),{h:X,l:N}=$U(this.Eh|0,this.El|0,X|0,N|0),{h:q,l:w}=$U(this.Fh|0,this.Fl|0,q|0,w|0),{h:W,l:Z}=$U(this.Gh|0,this.Gl|0,W|0,Z|0),{h:r,l:T}=$U(this.Hh|0,this.Hl|0,r|0,T|0),this.set(g,I,U,J,G,z,O,D,X,N,q,w,W,Z,r,T)}roundClean(){qv(cU,oU)}destroy(){this.destroyed=!0,qv(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class c9 extends n0{Ah=y$[0]|0;Al=y$[1]|0;Bh=y$[2]|0;Bl=y$[3]|0;Ch=y$[4]|0;Cl=y$[5]|0;Dh=y$[6]|0;Dl=y$[7]|0;Eh=y$[8]|0;El=y$[9]|0;Fh=y$[10]|0;Fl=y$[11]|0;Gh=y$[12]|0;Gl=y$[13]|0;Hh=y$[14]|0;Hl=y$[15]|0;constructor(){super(64)}}class JK extends n0{Ah=o$[0]|0;Al=o$[1]|0;Bh=o$[2]|0;Bl=o$[3]|0;Ch=o$[4]|0;Cl=o$[5]|0;Dh=o$[6]|0;Dl=o$[7]|0;Eh=o$[8]|0;El=o$[9]|0;Fh=o$[10]|0;Fl=o$[11]|0;Gh=o$[12]|0;Gl=o$[13]|0;Hh=o$[14]|0;Hl=o$[15]|0;constructor(){super(48)}}var vv=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),Uv=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class GK extends n0{Ah=vv[0]|0;Al=vv[1]|0;Bh=vv[2]|0;Bl=vv[3]|0;Ch=vv[4]|0;Cl=vv[5]|0;Dh=vv[6]|0;Dl=vv[7]|0;Eh=vv[8]|0;El=vv[9]|0;Fh=vv[10]|0;Fl=vv[11]|0;Gh=vv[12]|0;Gl=vv[13]|0;Hh=vv[14]|0;Hl=vv[15]|0;constructor(){super(28)}}class zK extends n0{Ah=Uv[0]|0;Al=Uv[1]|0;Bh=Uv[2]|0;Bl=Uv[3]|0;Ch=Uv[4]|0;Cl=Uv[5]|0;Dh=Uv[6]|0;Dl=Uv[7]|0;Eh=Uv[8]|0;El=Uv[9]|0;Fh=Uv[10]|0;Fl=Uv[11]|0;Gh=Uv[12]|0;Gl=Uv[13]|0;Hh=Uv[14]|0;Hl=Uv[15]|0;constructor(){super(32)}}var _$=UN(()=>new i9,gN(1));var Yz=UN(()=>new c9,gN(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function jz($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in $&&$.BYTES_PER_ELEMENT===1}function NN($){if(!jz($))throw TypeError("Uint8Array expected")}function h9($,v){if(!Array.isArray(v))return!1;if(v.length===0)return!0;if($)return v.every((g)=>typeof g==="string");else return v.every((g)=>Number.isSafeInteger(g))}function p9($){if(typeof $!=="function")throw TypeError("function expected");return!0}function yU($,v){if(typeof v!=="string")throw TypeError(`${$}: string expected`);return!0}function m0($){if(typeof $!=="number")throw TypeError(`number expected, got ${typeof $}`);if(!Number.isSafeInteger($))throw RangeError(`invalid integer: ${$}`)}function rz($){if(!Array.isArray($))throw TypeError("array expected")}function Vz($,v){if(!h9(!0,v))throw TypeError(`${$}: array of strings expected`)}function wN($,v){if(!h9(!1,v))throw TypeError(`${$}: array of numbers expected`)}function Av(...$){let v=(J)=>J,g=(J,G)=>(z)=>J(G(z)),I=$.map((J)=>J.encode).reduceRight(g,v),U=$.map((J)=>J.decode).reduce(g,v);return{encode:I,decode:U}}function Sv($){let v=typeof $==="string"?$.split(""):$,g=v.length;Vz("alphabet",v);let I=new Map(v.map((U,J)=>[U,J]));return{encode:(U)=>{return rz(U),U.map((J)=>{if(!Number.isSafeInteger(J)||J<0||J>=g)throw Error(`alphabet.encode: digit index outside alphabet "${J}". Allowed: ${$}`);return v[J]})},decode:(U)=>{return rz(U),U.map((J)=>{yU("alphabet.decode",J);let G=I.get(J);if(G===void 0)throw Error(`Unknown letter: "${J}". Allowed: ${$}`);return G})}}}function kv($=""){return yU("join",$),{encode:(v)=>{return Vz("join.decode",v),v.join($)},decode:(v)=>{return yU("join.decode",v),v.split($)}}}function Mz($,v="="){return m0($),yU("padding",v),{encode(g){Vz("padding.encode",g);while(g.length*$%8)g.push(v);return g},decode(g){Vz("padding.decode",g);let I=g.length;if(I*$%8)throw Error("padding: invalid, string should have whole number of bytes");for(;I>0&&g[I-1]===v;I--)if((I-1)*$%8===0)throw Error("padding: invalid, string has too much padding");return g.slice(0,I)}}}function t9($){return p9($),{encode:(v)=>v,decode:(v)=>$(v)}}function o9($,v,g){if(v<2)throw RangeError(`convertRadix: invalid from=${v}, base cannot be less than 2`);if(g<2)throw RangeError(`convertRadix: invalid to=${g}, base cannot be less than 2`);if(rz($),!$.length)return[];let I=0,U=[],J=Array.from($,(z)=>{if(m0(z),z<0||z>=v)throw Error(`invalid integer: ${z}`);return z}),G=J.length;while(!0){let z=0,O=!0;for(let D=I;D<G;D++){let X=J[D],N=v*z,q=N+X;if(!Number.isSafeInteger(q)||N/v!==z||q-X!==N)throw Error("convertRadix: carry overflow");let w=q/g;z=q%g;let W=Math.floor(w);if(J[D]=W,!Number.isSafeInteger(W)||W*g+z!==q)throw Error("convertRadix: carry overflow");if(!O)continue;else if(!W)I=D;else O=!1}if(U.push(z),O)break}for(let z=0;z<$.length-1&&$[z]===0;z++)U.push(0);return U.reverse()}var a9=($,v)=>v===0?$:a9(v,$%v),Zz=($,v)=>$+(v-a9($,v)),Wz=(()=>{let $=[];for(let v=0;v<40;v++)$.push(2**v);return $})();function QN($,v,g,I){if(rz($),v<=0||v>32)throw RangeError(`convertRadix2: wrong from=${v}`);if(g<=0||g>32)throw RangeError(`convertRadix2: wrong to=${g}`);if(Zz(v,g)>32)throw Error(`convertRadix2: carry overflow from=${v} to=${g} carryBits=${Zz(v,g)}`);let U=0,J=0,G=Wz[v],z=Wz[g]-1,O=[];for(let D of $){if(m0(D),D>=G)throw Error(`convertRadix2: invalid data word=${D} from=${v}`);if(U=U<<v|D,J+v>32)throw Error(`convertRadix2: carry overflow pos=${J} from=${v}`);J+=v;for(;J>=g;J-=g)O.push((U>>J-g&z)>>>0);let X=Wz[J];if(X===void 0)throw Error("invalid carry");U&=X-1}if(U=U<<g-J&z,!I&&J>=v)throw Error("Excess padding");if(!I&&U>0)throw Error(`Non-zero padding: ${U}`);if(I&&J>0)O.push(U>>>0);return O}function OK($){m0($);let v=256;return{encode:(g)=>{if(!jz(g))throw TypeError("radix.encode input should be Uint8Array");return o9(Array.from(g),v,$)},decode:(g)=>{return wN("radix.decode",g),Uint8Array.from(o9(g,$,v))}}}function Bv($,v=!1){if(m0($),$<=0||$>32)throw RangeError("radix2: bits should be in (0..32]");if(Zz(8,$)>32||Zz($,8)>32)throw RangeError("radix2: carry overflow");return{encode:(g)=>{if(!jz(g))throw TypeError("radix2.encode input should be Uint8Array");return QN(Array.from(g),8,$,!v)},decode:(g)=>{return wN("radix2.decode",g),Uint8Array.from(QN(g,$,8,v))}}}function y9($){return p9($),function(...v){try{return $.apply(null,v)}catch(g){}}}var CP=Object.freeze(Av(Bv(4),Sv("0123456789ABCDEF"),kv(""))),LP=Object.freeze(Av(Bv(5),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Mz(5),kv(""))),fP=Object.freeze(Av(Bv(5),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),kv(""))),_P=Object.freeze(Av(Bv(5),Sv("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Mz(5),kv(""))),nP=Object.freeze(Av(Bv(5),Sv("0123456789ABCDEFGHIJKLMNOPQRSTUV"),kv(""))),bP=Object.freeze(Av(Bv(5),Sv("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),kv(""),t9(($)=>$.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),e9=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),DK=/[\t\n\f\r ]/,s9=($,v)=>{yU("base64",$);let g=v?"base64url":"base64";if($.length>0&&DK.test($))throw Error("invalid base64");return Uint8Array.fromBase64($,{alphabet:g,lastChunkHandling:"strict"})},qN=Object.freeze(e9?{encode($){return NN($),$.toBase64()},decode($){return s9($,!1)}}:Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Mz(6),kv(""))),gv=Object.freeze(Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),kv(""))),mP=Object.freeze(e9?{encode($){return NN($),$.toBase64({alphabet:"base64url"})},decode($){return s9($,!0)}}:Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Mz(6),kv(""))),FP=Object.freeze(Av(Bv(6),Sv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),kv(""))),YN=($)=>Av(OK(58),Sv($),kv("")),iP=Object.freeze(YN("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),xP=Object.freeze(YN("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),cP=Object.freeze(YN("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var XN=Av(Sv("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),kv("")),l9=[996825010,642813549,513874426,1027748829,705979059];function b0($){let v=$>>25,g=($&33554431)<<5;for(let I=0;I<l9.length;I++)if((v>>I&1)===1)g^=l9[I];return g}function d9($,v,g=1){let I=$.length,U=1;for(let J=0;J<I;J++){let G=$.charCodeAt(J);if(G<33||G>126)throw Error(`Invalid prefix (${$})`);U=b0(U)^G>>5}U=b0(U);for(let J=0;J<I;J++)U=b0(U)^$.charCodeAt(J)&31;for(let J of v)U=b0(U)^J;for(let J=0;J<6;J++)U=b0(U);return U^=g,XN.encode(QN([U%Wz[30]],30,5,!1))}function $r($){let v=$==="bech32"?1:734539939,g=Bv(5),I=g.decode,U=g.encode,J=y9(I);function G(N,q,w=90){if(yU("bech32.encode prefix",N),jz(q))q=Array.from(q);wN("bech32.encode",q);let W=N.length;if(W===0)throw TypeError(`Invalid prefix length ${W}`);let Z=W+7+q.length;if(w!==!1&&Z>w)throw TypeError(`Length ${Z} exceeds limit ${w}`);let r=N.toLowerCase(),T=d9(r,q,v);return`${r}1${XN.encode(q)}${T}`}function z(N,q=90){yU("bech32.decode input",N);let w=N.length;if(w<8||q!==!1&&w>q)throw TypeError(`invalid string length: ${w} (${N}). Expected (8..${q})`);let W=N.toLowerCase();if(N!==W&&N!==N.toUpperCase())throw Error("String must be lowercase or uppercase");let Z=W.lastIndexOf("1");if(Z===0||Z===-1)throw Error('Letter "1" must be present between prefix and data only');let r=W.slice(0,Z),T=W.slice(Z+1);if(T.length<6)throw Error("Data must be at least 6 characters long");let K=XN.decode(T).slice(0,-6),_=d9(r,K,v);if(!T.endsWith(_))throw Error(`Invalid checksum in ${N}: expected "${_}"`);return{prefix:r,words:K}}let O=y9(z);function D(N){let{prefix:q,words:w}=z(N,!1);return{prefix:q,words:w,bytes:I(w)}}function X(N,q){return G(N,U(q))}return{encode:G,decode:z,encodeFromBytes:X,decodeToBytes:D,decodeUnsafe:O,fromWords:I,fromWordsUnsafe:J,toWords:U}}var Pv=Object.freeze($r("bech32")),oP=Object.freeze($r("bech32m"));var QK=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),XK={encode($){return NN($),$.toHex()},decode($){return yU("hex",$),Uint8Array.fromHex($)}},yP=Object.freeze(QK?XK:Av(Bv(4),Sv("0123456789abcdef"),kv(""),t9(($)=>{if(typeof $!=="string"||$.length%2!==0)throw TypeError(`hex.decode: expected string, got ${typeof $} with length ${$.length}`);return $.toLowerCase()})));function wK($,v,g,I){qU($);let U=Nz({dkLen:32,asyncTick:10},I),{c:J,dkLen:G,asyncTick:z}=U;if(f$(J,"c"),f$(G,"dkLen"),f$(z,"asyncTick"),J<1)throw Error("iterations (c) must be >= 1");if(G<1)throw Error('"dkLen" must be >= 1');if(G>4294967295*$.outputLen)throw Error("derived key too long");let O=$N(v,"password"),D=$N(g,"salt"),X=new Uint8Array(G),N=sv.create($,O),q=N._cloneInto().update(D);return{c:J,dkLen:G,asyncTick:z,DK:X,PRF:N,PRFSalt:q}}function qK($,v,g,I,U){if($.destroy(),v.destroy(),I)I.destroy();return qv(U),g}function WN($,v,g,I){let{c:U,dkLen:J,DK:G,PRF:z,PRFSalt:O}=wK($,v,g,I),D,X=new Uint8Array(4),N=MI(X),q=new Uint8Array(z.outputLen);for(let w=1,W=0;W<J;w++,W+=z.outputLen){let Z=G.subarray(W,W+z.outputLen);N.setInt32(0,w,!1),(D=O._cloneInto(D)).update(X).digestInto(q),Z.set(q.subarray(0,Z.length));for(let r=1;r<U;r++){z._cloneInto(D).update(q).digestInto(q);for(let T=0;T<Z.length;T++)Z[T]^=q[T]}}return qK(z,O,G,D,q)}function vr($,v,g,I,U,J){let G=$[v++]^g[I++],z=$[v++]^g[I++],O=$[v++]^g[I++],D=$[v++]^g[I++],X=$[v++]^g[I++],N=$[v++]^g[I++],q=$[v++]^g[I++],w=$[v++]^g[I++],W=$[v++]^g[I++],Z=$[v++]^g[I++],r=$[v++]^g[I++],T=$[v++]^g[I++],K=$[v++]^g[I++],_=$[v++]^g[I++],L=$[v++]^g[I++],i=$[v++]^g[I++],y=G,d=z,n=O,b=D,v$=X,S=N,u=q,k=w,V=W,M=Z,j=r,A=T,R=K,E=_,C=L,x=i;for(let e=0;e<8;e+=2)v$^=R$(y+R|0,7),V^=R$(v$+y|0,9),R^=R$(V+v$|0,13),y^=R$(R+V|0,18),M^=R$(S+d|0,7),E^=R$(M+S|0,9),d^=R$(E+M|0,13),S^=R$(d+E|0,18),C^=R$(j+u|0,7),n^=R$(C+j|0,9),u^=R$(n+C|0,13),j^=R$(u+n|0,18),b^=R$(x+A|0,7),k^=R$(b+x|0,9),A^=R$(k+b|0,13),x^=R$(A+k|0,18),d^=R$(y+b|0,7),n^=R$(d+y|0,9),b^=R$(n+d|0,13),y^=R$(b+n|0,18),u^=R$(S+v$|0,7),k^=R$(u+S|0,9),v$^=R$(k+u|0,13),S^=R$(v$+k|0,18),A^=R$(j+M|0,7),V^=R$(A+j|0,9),M^=R$(V+A|0,13),j^=R$(M+V|0,18),R^=R$(x+C|0,7),E^=R$(R+x|0,9),C^=R$(E+R|0,13),x^=R$(C+E|0,18);U[J++]=G+y|0,U[J++]=z+d|0,U[J++]=O+n|0,U[J++]=D+b|0,U[J++]=X+v$|0,U[J++]=N+S|0,U[J++]=q+u|0,U[J++]=w+k|0,U[J++]=W+V|0,U[J++]=Z+M|0,U[J++]=r+j|0,U[J++]=T+A|0,U[J++]=K+R|0,U[J++]=_+E|0,U[J++]=L+C|0,U[J++]=i+x|0}function rN($,v,g,I,U){let J=I+0,G=I+16*U;for(let z=0;z<16;z++)g[G+z]=$[v+(2*U-1)*16+z];for(let z=0;z<U;z++,J+=16,v+=16){if(vr(g,G,$,v,g,J),z>0)G+=16;vr(g,J,$,v+=16,g,G)}}function YK($,v,g){let I=Nz({dkLen:32,asyncTick:10,maxmem:1073742848},g),{N:U,r:J,p:G,dkLen:z,asyncTick:O,maxmem:D,onProgress:X}=I;if(f$(U,"N"),f$(J,"r"),f$(G,"p"),f$(z,"dkLen"),f$(O,"asyncTick"),f$(D,"maxmem"),X!==void 0&&typeof X!=="function")throw Error("progressCb must be a function");let N=128*J,q=N/4,w=Math.pow(2,32);if(U<=1||(U&U-1)!==0||U>w)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(G<1||G>(w-1)*32/N)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(z<1||z>(w-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let W=N*(U+G+1);if(W>D)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+W+", maxmem="+D);let Z=WN(_$,$,v,{c:1,dkLen:N*G}),r=Qz(Z),T=Qz(new Uint8Array(N*U)),K=Qz(new Uint8Array(N)),_=()=>{};if(X){let L=2*U*G,i=Math.max(Math.floor(L/1e4),1),y=0;_=()=>{if(y++,X&&(!(y%i)||y===L))X(y/L)}}return{N:U,r:J,p:G,dkLen:z,blockSize32:q,V:T,B32:r,B:Z,tmp:K,blockMixCb:_,asyncTick:O}}function WK($,v,g,I,U){let J=WN(_$,$,g,{c:1,dkLen:v});return qv(g,I,U),J}function VN($,v,g){let{N:I,r:U,p:J,dkLen:G,blockSize32:z,V:O,B32:D,B:X,tmp:N,blockMixCb:q}=YK($,v,g);sX(D);for(let w=0;w<J;w++){let W=z*w;for(let Z=0;Z<z;Z++)O[Z]=D[W+Z];for(let Z=0,r=0;Z<I-1;Z++)rN(O,r,O,r+=z,U),q();rN(O,(I-1)*z,D,W,U),q();for(let Z=0;Z<I;Z++){let r=(D[W+z-16]&I-1)>>>0;for(let T=0;T<z;T++)N[T]=D[W+T]^O[r*z+T];rN(N,0,D,W,U),q()}}return sX(D),WK($,G,X,O,N)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function rK($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in $&&$.BYTES_PER_ELEMENT===1}function Rz($){if(typeof $!=="boolean")throw TypeError(`boolean expected, not ${$}`)}function RI($){if(typeof $!=="number")throw TypeError("number expected, got "+typeof $);if(!Number.isSafeInteger($)||$<0)throw RangeError("positive integer expected, got "+$)}function b$($,v,g=""){let I=rK($),U=$?.length,J=v!==void 0;if(!I||J&&U!==v){let G=g&&`"${g}" `,z=J?` of length ${v}`:"",O=I?`length=${U}`:`type=${typeof $}`,D=G+"expected Uint8Array"+z+", got "+O;if(!I)throw TypeError(D);throw RangeError(D)}return $}function ZN($,v=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(v&&$.finished)throw Error("Hash#digest() has already been called")}function Ur($,v,g=!1){b$($,void 0,"output");let I=v.outputLen;if($.length<I)throw RangeError("digestInto() expects output buffer of length at least "+I);if(g&&!KI($))throw Error("invalid output, must be aligned")}function vU($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function iv(...$){for(let v=0;v<$.length;v++)$[v].fill(0)}function VK($){return new DataView($.buffer,$.byteOffset,$.byteLength)}var jg=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),ZK=($)=>$<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255;var jK=($)=>{for(let v=0;v<$.length;v++)$[v]=ZK($[v]);return $},VU=jg?($)=>$:jK;function gr($,v){if(v==null||typeof v!=="object")throw Error("options must be defined");return Object.assign($,v)}function Ir($,v){if($.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function Jr($,v,g){let I=v,U=g||(()=>[]),J=(z,O)=>I(O,...U(z)).update(z).digest(),G=I(new Uint8Array($),...U(new Uint8Array(0)));return J.outputLen=G.outputLen,J.blockLen=G.blockLen,J.create=(z,...O)=>I(z,...O),J}var Gr=($,v)=>{function g(I,...U){if(b$(I,void 0,"key"),$.nonceLength!==void 0){let X=U[0];b$(X,$.varSizeNonce?void 0:$.nonceLength,"nonce")}let J=$.tagLength;if(J&&U[1]!==void 0)b$(U[1],void 0,"AAD");let G=v(I,...U),z=(X,N)=>{if(N!==void 0){if(X!==2)throw Error("cipher output not supported");b$(N,void 0,"output")}},O=!1;return{encrypt(X,N){if(O)throw Error("cannot encrypt() twice with same key + nonce");return O=!0,b$(X),z(G.encrypt.length,N),G.encrypt(X,N)},decrypt(X,N){if(b$(X),J&&X.length<J)throw Error('"ciphertext" expected length bigger than tagLength='+J);return z(G.decrypt.length,N),G.decrypt(X,N)}}}return Object.assign(g,$),g};function F0($,v,g=!0){if(v===void 0)return new Uint8Array($);if(b$(v,void 0,"output"),v.length!==$)throw Error('"output" expected Uint8Array of length '+$+", got: "+v.length);if(g&&!KI(v))throw Error("invalid output, must be aligned");return v}function zr($,v,g){RI($),RI(v),Rz(g);let I=new Uint8Array(16),U=VK(I);return U.setBigUint64(0,BigInt(v),g),U.setBigUint64(8,BigInt($),g),I}function KI($){return $.byteOffset%4===0}function uI($){return Uint8Array.from(b$($))}var Dr=($)=>Uint8Array.from($.split(""),(v)=>v.charCodeAt(0)),MK=(()=>VU(vU(Dr("expand 16-byte k"))))(),RK=(()=>VU(vU(Dr("expand 32-byte k"))))();function K$($,v){return $<<v|$>>>32-v}var i0=64,KK=16,jN=(()=>4294967295)(),Or=Uint32Array.of();function uK($,v,g,I,U,J,G,z){let O=U.length,D=new Uint8Array(i0),X=vU(D),N=jg&&KI(U)&&KI(J),q=N?vU(U):Or,w=N?vU(J):Or;if(!jg){for(let W=0;W<O;G++){if($(v,g,I,X,G,z),VU(X),G>=jN)throw Error("arx: counter overflow");let Z=Math.min(i0,O-W);for(let r=0,T;r<Z;r++)T=W+r,J[T]=U[T]^D[r];W+=Z}return}for(let W=0;W<O;G++){if($(v,g,I,X,G,z),G>=jN)throw Error("arx: counter overflow");let Z=Math.min(i0,O-W);if(N&&Z===i0){let r=W/4;if(W%4!==0)throw Error("arx: invalid block position");for(let T=0,K;T<KK;T++)K=r+T,w[K]=q[K]^X[T];W+=i0;continue}for(let r=0,T;r<Z;r++)T=W+r,J[T]=U[T]^D[r];W+=Z}}function Qr($,v){let{allowShortKeys:g,extendNonceFn:I,counterLength:U,counterRight:J,rounds:G}=gr({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},v);if(typeof $!=="function")throw Error("core must be a function");return RI(U),RI(G),Rz(J),Rz(g),(z,O,D,X,N=0)=>{b$(z,void 0,"key"),b$(O,void 0,"nonce"),b$(D,void 0,"data");let q=D.length;if(X=F0(q,X,!1),RI(N),N<0||N>=jN)throw Error("arx: counter overflow");let w=[],W=z.length,Z,r;if(W===32)w.push(Z=uI(z)),r=RK;else if(W===16&&g)Z=new Uint8Array(32),Z.set(z),Z.set(z,16),r=MK,w.push(Z);else throw b$(z,32,"arx key"),Error("invalid key size");if(!jg||!KI(O))w.push(O=uI(O));let T=vU(Z);if(I){if(O.length!==24)throw Error("arx: extended nonce must be 24 bytes");let L=O.subarray(0,16);if(jg)I(r,T,vU(L),T);else{let i=VU(Uint32Array.from(r));I(i,T,vU(L),T),iv(i),VU(T)}O=O.subarray(16)}else if(!jg)VU(T);let K=16-U;if(K!==O.length)throw Error(`arx: nonce must be ${K} or 16 bytes`);if(K!==12){let L=new Uint8Array(12);L.set(O,J?0:12-O.length),O=L,w.push(O)}let _=VU(vU(O));try{return uK($,r,T,_,D,X,N,G),X}finally{iv(...w)}}}function l$($,v){return $[v++]&255|($[v++]&255)<<8}class Xr{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor($){$=uI(b$($,32,"key"));let v=l$($,0),g=l$($,2),I=l$($,4),U=l$($,6),J=l$($,8),G=l$($,10),z=l$($,12),O=l$($,14);this.r[0]=v&8191,this.r[1]=(v>>>13|g<<3)&8191,this.r[2]=(g>>>10|I<<6)&7939,this.r[3]=(I>>>7|U<<9)&8191,this.r[4]=(U>>>4|J<<12)&255,this.r[5]=J>>>1&8190,this.r[6]=(J>>>14|G<<2)&8191,this.r[7]=(G>>>11|z<<5)&8065,this.r[8]=(z>>>8|O<<8)&8191,this.r[9]=O>>>5&127;for(let D=0;D<8;D++)this.pad[D]=l$($,16+2*D)}process($,v,g=!1){let I=g?0:2048,{h:U,r:J}=this,G=J[0],z=J[1],O=J[2],D=J[3],X=J[4],N=J[5],q=J[6],w=J[7],W=J[8],Z=J[9],r=l$($,v+0),T=l$($,v+2),K=l$($,v+4),_=l$($,v+6),L=l$($,v+8),i=l$($,v+10),y=l$($,v+12),d=l$($,v+14),n=U[0]+(r&8191),b=U[1]+((r>>>13|T<<3)&8191),v$=U[2]+((T>>>10|K<<6)&8191),S=U[3]+((K>>>7|_<<9)&8191),u=U[4]+((_>>>4|L<<12)&8191),k=U[5]+(L>>>1&8191),V=U[6]+((L>>>14|i<<2)&8191),M=U[7]+((i>>>11|y<<5)&8191),j=U[8]+((y>>>8|d<<8)&8191),A=U[9]+(d>>>5|I),R=0,E=R+n*G+b*(5*Z)+v$*(5*W)+S*(5*w)+u*(5*q);R=E>>>13,E&=8191,E+=k*(5*N)+V*(5*X)+M*(5*D)+j*(5*O)+A*(5*z),R+=E>>>13,E&=8191;let C=R+n*z+b*G+v$*(5*Z)+S*(5*W)+u*(5*w);R=C>>>13,C&=8191,C+=k*(5*q)+V*(5*N)+M*(5*X)+j*(5*D)+A*(5*O),R+=C>>>13,C&=8191;let x=R+n*O+b*z+v$*G+S*(5*Z)+u*(5*W);R=x>>>13,x&=8191,x+=k*(5*w)+V*(5*q)+M*(5*N)+j*(5*X)+A*(5*D),R+=x>>>13,x&=8191;let e=R+n*D+b*O+v$*z+S*G+u*(5*Z);R=e>>>13,e&=8191,e+=k*(5*W)+V*(5*w)+M*(5*q)+j*(5*N)+A*(5*X),R+=e>>>13,e&=8191;let J$=R+n*X+b*D+v$*O+S*z+u*G;R=J$>>>13,J$&=8191,J$+=k*(5*Z)+V*(5*W)+M*(5*w)+j*(5*q)+A*(5*N),R+=J$>>>13,J$&=8191;let z$=R+n*N+b*X+v$*D+S*O+u*z;R=z$>>>13,z$&=8191,z$+=k*G+V*(5*Z)+M*(5*W)+j*(5*w)+A*(5*q),R+=z$>>>13,z$&=8191;let Q$=R+n*q+b*N+v$*X+S*D+u*O;R=Q$>>>13,Q$&=8191,Q$+=k*z+V*G+M*(5*Z)+j*(5*W)+A*(5*w),R+=Q$>>>13,Q$&=8191;let w$=R+n*w+b*q+v$*N+S*X+u*D;R=w$>>>13,w$&=8191,w$+=k*O+V*z+M*G+j*(5*Z)+A*(5*W),R+=w$>>>13,w$&=8191;let X$=R+n*W+b*w+v$*q+S*N+u*X;R=X$>>>13,X$&=8191,X$+=k*D+V*O+M*z+j*G+A*(5*Z),R+=X$>>>13,X$&=8191;let N$=R+n*Z+b*W+v$*w+S*q+u*N;R=N$>>>13,N$&=8191,N$+=k*X+V*D+M*O+j*z+A*G,R+=N$>>>13,N$&=8191,R=(R<<2)+R|0,R=R+E|0,E=R&8191,R=R>>>13,C+=R,U[0]=E,U[1]=C,U[2]=x,U[3]=e,U[4]=J$,U[5]=z$,U[6]=Q$,U[7]=w$,U[8]=X$,U[9]=N$}finalize(){let{h:$,pad:v}=this,g=new Uint16Array(10),I=$[1]>>>13;$[1]&=8191;for(let G=2;G<10;G++)$[G]+=I,I=$[G]>>>13,$[G]&=8191;$[0]+=I*5,I=$[0]>>>13,$[0]&=8191,$[1]+=I,I=$[1]>>>13,$[1]&=8191,$[2]+=I,g[0]=$[0]+5,I=g[0]>>>13,g[0]&=8191;for(let G=1;G<10;G++)g[G]=$[G]+I,I=g[G]>>>13,g[G]&=8191;g[9]-=8192;let U=(I^1)-1;for(let G=0;G<10;G++)g[G]&=U;U=~U;for(let G=0;G<10;G++)$[G]=$[G]&U|g[G];$[0]=($[0]|$[1]<<13)&65535,$[1]=($[1]>>>3|$[2]<<10)&65535,$[2]=($[2]>>>6|$[3]<<7)&65535,$[3]=($[3]>>>9|$[4]<<4)&65535,$[4]=($[4]>>>12|$[5]<<1|$[6]<<14)&65535,$[5]=($[6]>>>2|$[7]<<11)&65535,$[6]=($[7]>>>5|$[8]<<8)&65535,$[7]=($[8]>>>8|$[9]<<5)&65535;let J=$[0]+v[0];$[0]=J&65535;for(let G=1;G<8;G++)J=($[G]+v[G]|0)+(J>>>16)|0,$[G]=J&65535;iv(g)}update($){ZN(this),b$($),$=uI($);let{buffer:v,blockLen:g}=this,I=$.length;for(let U=0;U<I;){let J=Math.min(g-this.pos,I-U);if(J===g){for(;g<=I-U;U+=g)this.process($,U);continue}if(v.set($.subarray(U,U+J),this.pos),this.pos+=J,U+=J,this.pos===g)this.process(v,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,iv(this.h,this.r,this.buffer,this.pad)}digestInto($){ZN(this),Ur($,this),this.finished=!0;let{buffer:v,h:g}=this,{pos:I}=this;if(I){v[I++]=1;for(;I<16;I++)v[I]=0;this.process(v,0,!0)}this.finalize();let U=0;for(let J=0;J<8;J++)$[U++]=g[J]>>>0,$[U++]=g[J]>>>8}digest(){let{buffer:$,outputLen:v}=this;this.digestInto($);let g=$.slice(0,v);return this.destroy(),g}}var Nr=Jr(32,($)=>new Xr($));function TK($,v,g,I,U,J=20){let G=$[0],z=$[1],O=$[2],D=$[3],X=v[0],N=v[1],q=v[2],w=v[3],W=v[4],Z=v[5],r=v[6],T=v[7],K=U,_=g[0],L=g[1],i=g[2],y=G,d=z,n=O,b=D,v$=X,S=N,u=q,k=w,V=W,M=Z,j=r,A=T,R=K,E=_,C=L,x=i;for(let J$=0;J$<J;J$+=2)y=y+v$|0,R=K$(R^y,16),V=V+R|0,v$=K$(v$^V,12),y=y+v$|0,R=K$(R^y,8),V=V+R|0,v$=K$(v$^V,7),d=d+S|0,E=K$(E^d,16),M=M+E|0,S=K$(S^M,12),d=d+S|0,E=K$(E^d,8),M=M+E|0,S=K$(S^M,7),n=n+u|0,C=K$(C^n,16),j=j+C|0,u=K$(u^j,12),n=n+u|0,C=K$(C^n,8),j=j+C|0,u=K$(u^j,7),b=b+k|0,x=K$(x^b,16),A=A+x|0,k=K$(k^A,12),b=b+k|0,x=K$(x^b,8),A=A+x|0,k=K$(k^A,7),y=y+S|0,x=K$(x^y,16),j=j+x|0,S=K$(S^j,12),y=y+S|0,x=K$(x^y,8),j=j+x|0,S=K$(S^j,7),d=d+u|0,R=K$(R^d,16),A=A+R|0,u=K$(u^A,12),d=d+u|0,R=K$(R^d,8),A=A+R|0,u=K$(u^A,7),n=n+k|0,E=K$(E^n,16),V=V+E|0,k=K$(k^V,12),n=n+k|0,E=K$(E^n,8),V=V+E|0,k=K$(k^V,7),b=b+v$|0,C=K$(C^b,16),M=M+C|0,v$=K$(v$^M,12),b=b+v$|0,C=K$(C^b,8),M=M+C|0,v$=K$(v$^M,7);let e=0;I[e++]=G+y|0,I[e++]=z+d|0,I[e++]=O+n|0,I[e++]=D+b|0,I[e++]=X+v$|0,I[e++]=N+S|0,I[e++]=q+u|0,I[e++]=w+k|0,I[e++]=W+V|0,I[e++]=Z+M|0,I[e++]=r+j|0,I[e++]=T+A|0,I[e++]=K+R|0,I[e++]=_+E|0,I[e++]=L+C|0,I[e++]=i+x|0}var HK=Qr(TK,{counterRight:!1,counterLength:4,allowShortKeys:!1});var AK=new Uint8Array(16),wr=($,v)=>{$.update(v);let g=v.length%16;if(g)$.update(AK.subarray(g))},SK=new Uint8Array(32);function qr($,v,g,I,U){if(U!==void 0)b$(U,void 0,"AAD");let J=$(v,g,SK),G=zr(I.length,U?U.length:0,!0),z=Nr.create(J);if(U)wr(z,U);wr(z,I),z.update(G);let O=z.digest();return iv(J,G),O}var kK=($)=>(v,g,I)=>{return{encrypt(J,G){let z=J.length;G=F0(z+16,G,!1),G.set(J);let O=G.subarray(0,-16);$(v,g,O,O,1);let D=qr($,v,g,O,I);return G.set(D,z),iv(D),G},decrypt(J,G){G=F0(J.length-16,G,!1);let z=J.subarray(0,-16),O=J.subarray(-16),D=qr($,v,g,z,I);if(!Ir(O,D))throw iv(D),Error("invalid tag");return G.set(J.subarray(0,-16)),$(v,g,G,G,1),iv(D),G}}},Cv=Gr({blockSize:64,nonceLength:12,tagLength:16},kK(HK));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function TI($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"}function i$($,v=""){if(!Number.isSafeInteger($)||$<0){let g=v&&`"${v}" `;throw Error(`${g}expected integer >= 0, got ${$}`)}}function Y$($,v,g=""){let I=TI($),U=$?.length,J=v!==void 0;if(!I||J&&U!==v){let G=g&&`"${g}" `,z=J?` of length ${v}`:"",O=I?`length=${U}`:`type=${typeof $}`;throw Error(G+"expected Uint8Array"+z+", got "+O)}return $}function Lv($){if(typeof $!=="function"||typeof $.create!=="function")throw Error("Hash must wrapped by utils.createHasher");i$($.outputLen),i$($.blockLen)}function jU($,v=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(v&&$.finished)throw Error("Hash#digest() has already been called")}function Kz($,v){Y$($,void 0,"digestInto() output");let g=v.outputLen;if($.length<g)throw Error('"digestInto() output" expected to be of length >='+g)}function uz($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function Rv(...$){for(let v=0;v<$.length;v++)$[v].fill(0)}function Tz($){return new DataView($.buffer,$.byteOffset,$.byteLength)}function xv($,v){return $<<32-v|$>>>v}var PK=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function EK($){return $<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255}function BK($){for(let v=0;v<$.length;v++)$[v]=EK($[v]);return $}var MN=PK?($)=>$:BK,Wr=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),CK=Array.from({length:256},($,v)=>v.toString(16).padStart(2,"0"));function Mg($){if(Y$($),Wr)return $.toHex();let v="";for(let g=0;g<$.length;g++)v+=CK[$[g]];return v}var ZU={_0:48,_9:57,A:65,F:70,a:97,f:102};function Yr($){if($>=ZU._0&&$<=ZU._9)return $-ZU._0;if($>=ZU.A&&$<=ZU.F)return $-(ZU.A-10);if($>=ZU.a&&$<=ZU.f)return $-(ZU.a-10);return}function Rg($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);if(Wr)return Uint8Array.fromHex($);let v=$.length,g=v/2;if(v%2)throw Error("hex string expected, got unpadded hex of length "+v);let I=new Uint8Array(g);for(let U=0,J=0;U<g;U++,J+=2){let G=Yr($.charCodeAt(J)),z=Yr($.charCodeAt(J+1));if(G===void 0||z===void 0){let O=$[J]+$[J+1];throw Error('hex string expected, got non-hex character "'+O+'" at index '+J)}I[U]=G*16+z}return I}function n$(...$){let v=0;for(let I=0;I<$.length;I++){let U=$[I];Y$(U),v+=U.length}let g=new Uint8Array(v);for(let I=0,U=0;I<$.length;I++){let J=$[I];g.set(J,U),U+=J.length}return g}function HI($,v={}){let g=(U,J)=>$(J).update(U).digest(),I=$(void 0);return g.outputLen=I.outputLen,g.blockLen=I.blockLen,g.create=(U)=>$(U),Object.assign(g,v),Object.freeze(g)}function lU($=32){let v=typeof globalThis==="object"?globalThis.crypto:null;if(typeof v?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");return v.getRandomValues(new Uint8Array($))}var dU=($)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,$])});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var KN=BigInt(0),RN=BigInt(1);function x0($,v=""){if(typeof $!=="boolean"){let g=v&&`"${v}" `;throw Error(g+"expected boolean, got type="+typeof $)}return $}function rr($){if(typeof $==="bigint"){if(!Hz($))throw Error("positive bigint expected, got "+$)}else i$($);return $}function c0($){let v=rr($).toString(16);return v.length&1?"0"+v:v}function Vr($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);return $===""?KN:BigInt("0x"+$)}function hU($){return Vr(Mg($))}function pU($){return Vr(Mg(Az(Y$($)).reverse()))}function AI($,v){i$(v),$=rr($);let g=Rg($.toString(16).padStart(v*2,"0"));if(g.length!==v)throw Error("number too large");return g}function o0($,v){return AI($,v).reverse()}function Az($){return Uint8Array.from($)}function tU($){return Uint8Array.from($,(v,g)=>{let I=v.charCodeAt(0);if(v.length!==1||I>127)throw Error(`string contains non-ASCII character "${$[g]}" with code ${I} at position ${g}`);return I})}var Hz=($)=>typeof $==="bigint"&&KN<=$;function LK($,v,g){return Hz($)&&Hz(v)&&Hz(g)&&v<=$&&$<g}function y0($,v,g,I){if(!LK(v,g,I))throw Error("expected valid "+$+": "+g+" <= n < "+I+", got "+v)}function uN($){let v;for(v=0;$>KN;$>>=RN,v+=1);return v}var l0=($)=>(RN<<BigInt($))-RN;function Zr($,v,g){if(i$($,"hashLen"),i$(v,"qByteLen"),typeof g!=="function")throw Error("hmacFn must be a function");let I=(r)=>new Uint8Array(r),U=Uint8Array.of(),J=Uint8Array.of(0),G=Uint8Array.of(1),z=1000,O=I($),D=I($),X=0,N=()=>{O.fill(1),D.fill(0),X=0},q=(...r)=>g(D,n$(O,...r)),w=(r=U)=>{if(D=q(J,r),O=q(),r.length===0)return;D=q(G,r),O=q()},W=()=>{if(X++>=z)throw Error("drbg: tried max amount of iterations");let r=0,T=[];while(r<v){O=q();let K=O.slice();T.push(K),r+=O.length}return n$(...T)};return(r,T)=>{N(),w(r);let K=void 0;while(!(K=T(W())))w();return N(),K}}function Kg($,v={},g={}){if(!$||typeof $!=="object")throw Error("expected valid options object");function I(J,G,z){let O=$[J];if(z&&O===void 0)return;let D=typeof O;if(D!==G||O===null)throw Error(`param "${J}" is invalid: expected ${G}, got ${D}`)}let U=(J,G)=>Object.entries(J).forEach(([z,O])=>I(z,O,G));U(v,!1),U(g,!0)}function TN($){let v=new WeakMap;return(g,...I)=>{let U=v.get(g);if(U!==void 0)return U;let J=$(g,...I);return v.set(g,J),J}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Wv=BigInt(0),Iv=BigInt(1),ug=BigInt(2),Rr=BigInt(3),Kr=BigInt(4),ur=BigInt(5),fK=BigInt(7),Tr=BigInt(8),_K=BigInt(9),Hr=BigInt(16);function Yv($,v){let g=$%v;return g>=Wv?g:v+g}function fv($,v,g){let I=$;while(v-- >Wv)I*=I,I%=g;return I}function jr($,v){if($===Wv)throw Error("invert: expected non-zero number");if(v<=Wv)throw Error("invert: expected positive modulus, got "+v);let g=Yv($,v),I=v,U=Wv,J=Iv,G=Iv,z=Wv;while(g!==Wv){let D=I/g,X=I%g,N=U-G*D,q=J-z*D;I=g,g=X,U=G,J=z,G=N,z=q}if(I!==Iv)throw Error("invert: does not exist");return Yv(U,v)}function HN($,v,g){if(!$.eql($.sqr(v),g))throw Error("Cannot find square root")}function Ar($,v){let g=($.ORDER+Iv)/Kr,I=$.pow(v,g);return HN($,I,v),I}function nK($,v){let g=($.ORDER-ur)/Tr,I=$.mul(v,ug),U=$.pow(I,g),J=$.mul(v,U),G=$.mul($.mul(J,ug),U),z=$.mul(J,$.sub(G,$.ONE));return HN($,z,v),z}function bK($){let v=Sz($),g=Sr($),I=g(v,v.neg(v.ONE)),U=g(v,I),J=g(v,v.neg(I)),G=($+fK)/Hr;return(z,O)=>{let D=z.pow(O,G),X=z.mul(D,I),N=z.mul(D,U),q=z.mul(D,J),w=z.eql(z.sqr(X),O),W=z.eql(z.sqr(N),O);D=z.cmov(D,X,w),X=z.cmov(q,N,W);let Z=z.eql(z.sqr(X),O),r=z.cmov(D,X,Z);return HN(z,r,O),r}}function Sr($){if($<Rr)throw Error("sqrt is not defined for small field");let v=$-Iv,g=0;while(v%ug===Wv)v/=ug,g++;let I=ug,U=Sz($);while(Mr(U,I)===1)if(I++>1000)throw Error("Cannot find square root: probably non-prime P");if(g===1)return Ar;let J=U.pow(I,v),G=(v+Iv)/ug;return function(O,D){if(O.is0(D))return D;if(Mr(O,D)!==1)throw Error("Cannot find square root");let X=g,N=O.mul(O.ONE,J),q=O.pow(D,v),w=O.pow(D,G);while(!O.eql(q,O.ONE)){if(O.is0(q))return O.ZERO;let W=1,Z=O.sqr(q);while(!O.eql(Z,O.ONE))if(W++,Z=O.sqr(Z),W===X)throw Error("Cannot find square root");let r=Iv<<BigInt(X-W-1),T=O.pow(N,r);X=W,N=O.sqr(T),q=O.mul(q,N),w=O.mul(w,T)}return w}}function mK($){if($%Kr===Rr)return Ar;if($%Tr===ur)return nK;if($%Hr===_K)return bK($);return Sr($)}var FK=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function AN($){let v={ORDER:"bigint",BYTES:"number",BITS:"number"},g=FK.reduce((I,U)=>{return I[U]="function",I},v);return Kg($,g),$}function iK($,v,g){if(g<Wv)throw Error("invalid exponent, negatives unsupported");if(g===Wv)return $.ONE;if(g===Iv)return v;let I=$.ONE,U=v;while(g>Wv){if(g&Iv)I=$.mul(I,U);U=$.sqr(U),g>>=Iv}return I}function d0($,v,g=!1){let I=Array(v.length).fill(g?$.ZERO:void 0),U=v.reduce((G,z,O)=>{if($.is0(z))return G;return I[O]=G,$.mul(G,z)},$.ONE),J=$.inv(U);return v.reduceRight((G,z,O)=>{if($.is0(z))return G;return I[O]=$.mul(G,I[O]),$.mul(G,z)},J),I}function Mr($,v){let g=($.ORDER-Iv)/ug,I=$.pow(v,g),U=$.eql(I,$.ONE),J=$.eql(I,$.ZERO),G=$.eql(I,$.neg($.ONE));if(!U&&!J&&!G)throw Error("invalid Legendre symbol result");return U?1:J?0:-1}function xK($,v){if(v!==void 0)i$(v);let g=v!==void 0?v:$.toString(2).length,I=Math.ceil(g/8);return{nBitLength:g,nByteLength:I}}class kr{ORDER;BITS;BYTES;isLE;ZERO=Wv;ONE=Iv;_lengths;_sqrt;_mod;constructor($,v={}){if($<=Wv)throw Error("invalid field: expected ORDER > 0, got "+$);let g=void 0;if(this.isLE=!1,v!=null&&typeof v==="object"){if(typeof v.BITS==="number")g=v.BITS;if(typeof v.sqrt==="function")this.sqrt=v.sqrt;if(typeof v.isLE==="boolean")this.isLE=v.isLE;if(v.allowedLengths)this._lengths=v.allowedLengths?.slice();if(typeof v.modFromBytes==="boolean")this._mod=v.modFromBytes}let{nBitLength:I,nByteLength:U}=xK($,g);if(U>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=$,this.BITS=I,this.BYTES=U,this._sqrt=void 0,Object.preventExtensions(this)}create($){return Yv($,this.ORDER)}isValid($){if(typeof $!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof $);return Wv<=$&&$<this.ORDER}is0($){return $===Wv}isValidNot0($){return!this.is0($)&&this.isValid($)}isOdd($){return($&Iv)===Iv}neg($){return Yv(-$,this.ORDER)}eql($,v){return $===v}sqr($){return Yv($*$,this.ORDER)}add($,v){return Yv($+v,this.ORDER)}sub($,v){return Yv($-v,this.ORDER)}mul($,v){return Yv($*v,this.ORDER)}pow($,v){return iK(this,$,v)}div($,v){return Yv($*jr(v,this.ORDER),this.ORDER)}sqrN($){return $*$}addN($,v){return $+v}subN($,v){return $-v}mulN($,v){return $*v}inv($){return jr($,this.ORDER)}sqrt($){if(!this._sqrt)this._sqrt=mK(this.ORDER);return this._sqrt(this,$)}toBytes($){return this.isLE?o0($,this.BYTES):AI($,this.BYTES)}fromBytes($,v=!1){Y$($);let{_lengths:g,BYTES:I,isLE:U,ORDER:J,_mod:G}=this;if(g){if(!g.includes($.length)||$.length>I)throw Error("Field.fromBytes: expected "+g+" bytes, got "+$.length);let O=new Uint8Array(I);O.set($,U?0:O.length-$.length),$=O}if($.length!==I)throw Error("Field.fromBytes: expected "+I+" bytes, got "+$.length);let z=U?pU($):hU($);if(G)z=Yv(z,J);if(!v){if(!this.isValid(z))throw Error("invalid field element: outside of range 0..ORDER")}return z}invertBatch($){return d0(this,$)}cmov($,v,g){return g?v:$}}function Sz($,v={}){return new kr($,v)}function Pr($){if(typeof $!=="bigint")throw Error("field order must be bigint");let v=$.toString(2).length;return Math.ceil(v/8)}function SN($){let v=Pr($);return v+Math.ceil(v/2)}function Er($,v,g=!1){Y$($);let I=$.length,U=Pr(v),J=SN(v);if(I<16||I<J||I>1024)throw Error("expected "+J+"-1024 bytes of input, got "+I);let G=g?pU($):hU($),z=Yv(G,v-Iv)+Iv;return g?o0(z,U):AI(z,U)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var SI=BigInt(0),Tg=BigInt(1);function h0($,v){let g=v.negate();return $?g:v}function BN($,v){let g=d0($.Fp,v.map((I)=>I.Z));return v.map((I,U)=>$.fromAffine(I.toAffine(g[U])))}function fr($,v){if(!Number.isSafeInteger($)||$<=0||$>v)throw Error("invalid window size, expected [1.."+v+"], got W="+$)}function kN($,v){fr($,v);let g=Math.ceil(v/$)+1,I=2**($-1),U=2**$,J=l0($),G=BigInt($);return{windows:g,windowSize:I,mask:J,maxNumber:U,shiftBy:G}}function Br($,v,g){let{windowSize:I,mask:U,maxNumber:J,shiftBy:G}=g,z=Number($&U),O=$>>G;if(z>I)z-=J,O+=Tg;let D=v*I,X=D+Math.abs(z)-1,N=z===0,q=z<0,w=v%2!==0;return{nextN:O,offset:X,isZero:N,isNeg:q,isNegF:w,offsetF:D}}var PN=new WeakMap,_r=new WeakMap;function EN($){return _r.get($)||1}function Cr($){if($!==SI)throw Error("invalid wNAF")}class CN{BASE;ZERO;Fn;bits;constructor($,v){this.BASE=$.BASE,this.ZERO=$.ZERO,this.Fn=$.Fn,this.bits=v}_unsafeLadder($,v,g=this.ZERO){let I=$;while(v>SI){if(v&Tg)g=g.add(I);I=I.double(),v>>=Tg}return g}precomputeWindow($,v){let{windows:g,windowSize:I}=kN(v,this.bits),U=[],J=$,G=J;for(let z=0;z<g;z++){G=J,U.push(G);for(let O=1;O<I;O++)G=G.add(J),U.push(G);J=G.double()}return U}wNAF($,v,g){if(!this.Fn.isValid(g))throw Error("invalid scalar");let I=this.ZERO,U=this.BASE,J=kN($,this.bits);for(let G=0;G<J.windows;G++){let{nextN:z,offset:O,isZero:D,isNeg:X,isNegF:N,offsetF:q}=Br(g,G,J);if(g=z,D)U=U.add(h0(N,v[q]));else I=I.add(h0(X,v[O]))}return Cr(g),{p:I,f:U}}wNAFUnsafe($,v,g,I=this.ZERO){let U=kN($,this.bits);for(let J=0;J<U.windows;J++){if(g===SI)break;let{nextN:G,offset:z,isZero:O,isNeg:D}=Br(g,J,U);if(g=G,O)continue;else{let X=v[z];I=I.add(D?X.negate():X)}}return Cr(g),I}getPrecomputes($,v,g){let I=PN.get(v);if(!I){if(I=this.precomputeWindow(v,$),$!==1){if(typeof g==="function")I=g(I);PN.set(v,I)}}return I}cached($,v,g){let I=EN($);return this.wNAF(I,this.getPrecomputes(I,$,g),v)}unsafe($,v,g,I){let U=EN($);if(U===1)return this._unsafeLadder($,v,I);return this.wNAFUnsafe(U,this.getPrecomputes(U,$,g),v,I)}createCache($,v){fr(v,this.bits),_r.set($,v),PN.delete($)}hasCache($){return EN($)!==1}}function nr($,v,g,I){let U=v,J=$.ZERO,G=$.ZERO;while(g>SI||I>SI){if(g&Tg)J=J.add(U);if(I&Tg)G=G.add(U);U=U.double(),g>>=Tg,I>>=Tg}return{p1:J,p2:G}}function Lr($,v,g){if(v){if(v.ORDER!==$)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return AN(v),v}else return Sz($,{isLE:g})}function br($,v,g={},I){if(I===void 0)I=$==="edwards";if(!v||typeof v!=="object")throw Error(`expected valid ${$} CURVE object`);for(let O of["p","n","h"]){let D=v[O];if(!(typeof D==="bigint"&&D>SI))throw Error(`CURVE.${O} must be positive bigint`)}let U=Lr(v.p,g.Fp,I),J=Lr(v.n,g.Fn,I),z=["Gx","Gy","a",$==="weierstrass"?"b":"d"];for(let O of z)if(!U.isValid(v[O]))throw Error(`CURVE.${O} must be valid field element of CURVE.Fp`);return v=Object.freeze(Object.assign({},v)),{CURVE:v,Fp:U,Fn:J}}function kz($,v){return function(I){let U=$(I);return{secretKey:U,publicKey:v(U)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var p0=BigInt(0),kI=BigInt(1),Pz=BigInt(2);function cK($){return Kg($,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...$})}function mr($){let v=cK($),{P:g,type:I,adjustScalarBytes:U,powPminus2:J,randomBytes:G}=v,z=I==="x25519";if(!z&&I!=="x448")throw Error("invalid type");let O=G||lU,D=z?255:448,X=z?32:56,N=z?BigInt(9):BigInt(5),q=z?BigInt(121665):BigInt(39081),w=z?Pz**BigInt(254):Pz**BigInt(447),W=z?BigInt(8)*Pz**BigInt(251)-kI:BigInt(4)*Pz**BigInt(445)-kI,Z=w+W+kI,r=(V)=>Yv(V,g),T=K(N);function K(V){return o0(r(V),X)}function _(V){let M=Az(Y$(V,X,"uCoordinate"));if(z)M[31]&=127;return r(pU(M))}function L(V){return pU(U(Az(Y$(V,X,"scalar"))))}function i(V,M){let j=v$(_(M),L(V));if(j===p0)throw Error("invalid private or public key received");return K(j)}function y(V){return i(V,T)}let d=y,n=i;function b(V,M,j){let A=r(V*(M-j));return M=r(M-A),j=r(j+A),{x_2:M,x_3:j}}function v$(V,M){y0("u",V,p0,g),y0("scalar",M,w,Z);let j=M,A=V,R=kI,E=p0,C=V,x=kI,e=p0;for(let z$=BigInt(D-1);z$>=p0;z$--){let Q$=j>>z$&kI;e^=Q$,{x_2:R,x_3:C}=b(e,R,C),{x_2:E,x_3:x}=b(e,E,x),e=Q$;let w$=R+E,X$=r(w$*w$),N$=R-E,r$=r(N$*N$),k$=X$-r$,E$=C+x,a$=C-x,e$=r(a$*w$),Vv=r(E$*N$),yv=e$+Vv,lv=e$-Vv;C=r(yv*yv),x=r(A*r(lv*lv)),R=r(X$*r$),E=r(k$*(X$+r(q*k$)))}({x_2:R,x_3:C}=b(e,R,C)),{x_2:E,x_3:x}=b(e,E,x);let J$=J(E);return r(R*J$)}let S={secretKey:X,publicKey:X,seed:X},u=(V=O(X))=>{return Y$(V,S.seed,"seed"),V},k={randomSecretKey:u};return Object.freeze({keygen:kz(u,d),getSharedSecret:n,getPublicKey:d,scalarMult:i,scalarMultBase:y,utils:k,GuBytes:T.slice(),lengths:S})}class LN{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor($,v){if(Lv($),Y$(v,void 0,"key"),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 g=this.blockLen,I=new Uint8Array(g);I.set(v.length>g?$.create().update(v).digest():v);for(let U=0;U<I.length;U++)I[U]^=54;this.iHash.update(I),this.oHash=$.create();for(let U=0;U<I.length;U++)I[U]^=106;this.oHash.update(I),Rv(I)}update($){return jU(this),this.iHash.update($),this}digestInto($){jU(this),Y$($,this.outputLen,"output"),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:v,iHash:g,finished:I,destroyed:U,blockLen:J,outputLen:G}=this;return $=$,$.finished=I,$.destroyed=U,$.blockLen=J,$.outputLen=G,$.oHash=v._cloneInto($.oHash),$.iHash=g._cloneInto($.iHash),$}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var PI=($,v,g)=>new LN($,v).update(g).digest();PI.create=($,v)=>new LN($,v);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Fr=($,v)=>($+($>=0?v:-v)/xr)/v;function oK($,v,g){let[[I,U],[J,G]]=v,z=Fr(G*$,g),O=Fr(-U*$,g),D=$-z*I-O*J,X=-z*U-O*G,N=D<MU,q=X<MU;if(N)D=-D;if(q)X=-X;let w=l0(Math.ceil(uN(g)/2))+EI;if(D<MU||D>=w||X<MU||X>=w)throw Error("splitScalar (endomorphism): failed, k="+$);return{k1neg:N,k1:D,k2neg:q,k2:X}}function _N($){if(!["compact","recovered","der"].includes($))throw Error('Signature format must be "compact", "recovered", or "der"');return $}function fN($,v){let g={};for(let I of Object.keys(v))g[I]=$[I]===void 0?v[I]:$[I];if(x0(g.lowS,"lowS"),x0(g.prehash,"prehash"),g.format!==void 0)_N(g.format);return g}class ir extends Error{constructor($=""){super($)}}var aU={Err:ir,_tlv:{encode:($,v)=>{let{Err:g}=aU;if($<0||$>256)throw new g("tlv.encode: wrong tag");if(v.length&1)throw new g("tlv.encode: unpadded data");let I=v.length/2,U=c0(I);if(U.length/2&128)throw new g("tlv.encode: long form length too big");let J=I>127?c0(U.length/2|128):"";return c0($)+J+U+v},decode($,v){let{Err:g}=aU,I=0;if($<0||$>256)throw new g("tlv.encode: wrong tag");if(v.length<2||v[I++]!==$)throw new g("tlv.decode: wrong tlv");let U=v[I++],J=!!(U&128),G=0;if(!J)G=U;else{let O=U&127;if(!O)throw new g("tlv.decode(long): indefinite length not supported");if(O>4)throw new g("tlv.decode(long): byte length is too big");let D=v.subarray(I,I+O);if(D.length!==O)throw new g("tlv.decode: length bytes not complete");if(D[0]===0)throw new g("tlv.decode(long): zero leftmost byte");for(let X of D)G=G<<8|X;if(I+=O,G<128)throw new g("tlv.decode(long): not minimal encoding")}let z=v.subarray(I,I+G);if(z.length!==G)throw new g("tlv.decode: wrong value length");return{v:z,l:v.subarray(I+G)}}},_int:{encode($){let{Err:v}=aU;if($<MU)throw new v("integer: negative integers are not allowed");let g=c0($);if(Number.parseInt(g[0],16)&8)g="00"+g;if(g.length&1)throw new v("unexpected DER parsing assertion: unpadded hex");return g},decode($){let{Err:v}=aU;if($[0]&128)throw new v("invalid signature integer: negative");if($[0]===0&&!($[1]&128))throw new v("invalid signature integer: unnecessary leading zero");return hU($)}},toSig($){let{Err:v,_int:g,_tlv:I}=aU,U=Y$($,void 0,"signature"),{v:J,l:G}=I.decode(48,U);if(G.length)throw new v("invalid signature: left bytes after parsing");let{v:z,l:O}=I.decode(2,J),{v:D,l:X}=I.decode(2,O);if(X.length)throw new v("invalid signature: left bytes after parsing");return{r:g.decode(z),s:g.decode(D)}},hexFromSig($){let{_tlv:v,_int:g}=aU,I=v.encode(2,g.encode($.r)),U=v.encode(2,g.encode($.s)),J=I+U;return v.encode(48,J)}},MU=BigInt(0),EI=BigInt(1),xr=BigInt(2),Ez=BigInt(3),yK=BigInt(4);function nN($,v={}){let g=br("weierstrass",$,v),{Fp:I,Fn:U}=g,J=g.CURVE,{h:G,n:z}=J;Kg(v,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:O}=v;if(O){if(!I.is0(J.a)||typeof O.beta!=="bigint"||!Array.isArray(O.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let D=or(I,U);function X(){if(!I.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function N(u,k,V){let{x:M,y:j}=k.toAffine(),A=I.toBytes(M);if(x0(V,"isCompressed"),V){X();let R=!I.isOdd(j);return n$(cr(R),A)}else return n$(Uint8Array.of(4),A,I.toBytes(j))}function q(u){Y$(u,void 0,"Point");let{publicKey:k,publicKeyUncompressed:V}=D,M=u.length,j=u[0],A=u.subarray(1);if(M===k&&(j===2||j===3)){let R=I.fromBytes(A);if(!I.isValid(R))throw Error("bad point: is not on curve, wrong x");let E=Z(R),C;try{C=I.sqrt(E)}catch(J$){let z$=J$ instanceof Error?": "+J$.message:"";throw Error("bad point: is not on curve, sqrt error"+z$)}X();let x=I.isOdd(C);if((j&1)===1!==x)C=I.neg(C);return{x:R,y:C}}else if(M===V&&j===4){let R=I.BYTES,E=I.fromBytes(A.subarray(0,R)),C=I.fromBytes(A.subarray(R,R*2));if(!r(E,C))throw Error("bad point: is not on curve");return{x:E,y:C}}else throw Error(`bad point: got length ${M}, expected compressed=${k} or uncompressed=${V}`)}let w=v.toBytes||N,W=v.fromBytes||q;function Z(u){let k=I.sqr(u),V=I.mul(k,u);return I.add(I.add(V,I.mul(u,J.a)),J.b)}function r(u,k){let V=I.sqr(k),M=Z(u);return I.eql(V,M)}if(!r(J.Gx,J.Gy))throw Error("bad curve params: generator point");let T=I.mul(I.pow(J.a,Ez),yK),K=I.mul(I.sqr(J.b),BigInt(27));if(I.is0(I.add(T,K)))throw Error("bad curve params: a or b");function _(u,k,V=!1){if(!I.isValid(k)||V&&I.is0(k))throw Error(`bad point coordinate ${u}`);return k}function L(u){if(!(u instanceof b))throw Error("Weierstrass Point expected")}function i(u){if(!O||!O.basises)throw Error("no endo");return oK(u,O.basises,U.ORDER)}let y=TN((u,k)=>{let{X:V,Y:M,Z:j}=u;if(I.eql(j,I.ONE))return{x:V,y:M};let A=u.is0();if(k==null)k=A?I.ONE:I.inv(j);let R=I.mul(V,k),E=I.mul(M,k),C=I.mul(j,k);if(A)return{x:I.ZERO,y:I.ZERO};if(!I.eql(C,I.ONE))throw Error("invZ was invalid");return{x:R,y:E}}),d=TN((u)=>{if(u.is0()){if(v.allowInfinityPoint&&!I.is0(u.Y))return;throw Error("bad point: ZERO")}let{x:k,y:V}=u.toAffine();if(!I.isValid(k)||!I.isValid(V))throw Error("bad point: x or y not field elements");if(!r(k,V))throw Error("bad point: equation left != right");if(!u.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function n(u,k,V,M,j){return V=new b(I.mul(V.X,u),V.Y,V.Z),k=h0(M,k),V=h0(j,V),k.add(V)}class b{static BASE=new b(J.Gx,J.Gy,I.ONE);static ZERO=new b(I.ZERO,I.ONE,I.ZERO);static Fp=I;static Fn=U;X;Y;Z;constructor(u,k,V){this.X=_("x",u),this.Y=_("y",k,!0),this.Z=_("z",V),Object.freeze(this)}static CURVE(){return J}static fromAffine(u){let{x:k,y:V}=u||{};if(!u||!I.isValid(k)||!I.isValid(V))throw Error("invalid affine point");if(u instanceof b)throw Error("projective point not allowed");if(I.is0(k)&&I.is0(V))return b.ZERO;return new b(k,V,I.ONE)}static fromBytes(u){let k=b.fromAffine(W(Y$(u,void 0,"point")));return k.assertValidity(),k}static fromHex(u){return b.fromBytes(Rg(u))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(u=8,k=!0){if(S.createCache(this,u),!k)this.multiply(Ez);return this}assertValidity(){d(this)}hasEvenY(){let{y:u}=this.toAffine();if(!I.isOdd)throw Error("Field doesn't support isOdd");return!I.isOdd(u)}equals(u){L(u);let{X:k,Y:V,Z:M}=this,{X:j,Y:A,Z:R}=u,E=I.eql(I.mul(k,R),I.mul(j,M)),C=I.eql(I.mul(V,R),I.mul(A,M));return E&&C}negate(){return new b(this.X,I.neg(this.Y),this.Z)}double(){let{a:u,b:k}=J,V=I.mul(k,Ez),{X:M,Y:j,Z:A}=this,R=I.ZERO,E=I.ZERO,C=I.ZERO,x=I.mul(M,M),e=I.mul(j,j),J$=I.mul(A,A),z$=I.mul(M,j);return z$=I.add(z$,z$),C=I.mul(M,A),C=I.add(C,C),R=I.mul(u,C),E=I.mul(V,J$),E=I.add(R,E),R=I.sub(e,E),E=I.add(e,E),E=I.mul(R,E),R=I.mul(z$,R),C=I.mul(V,C),J$=I.mul(u,J$),z$=I.sub(x,J$),z$=I.mul(u,z$),z$=I.add(z$,C),C=I.add(x,x),x=I.add(C,x),x=I.add(x,J$),x=I.mul(x,z$),E=I.add(E,x),J$=I.mul(j,A),J$=I.add(J$,J$),x=I.mul(J$,z$),R=I.sub(R,x),C=I.mul(J$,e),C=I.add(C,C),C=I.add(C,C),new b(R,E,C)}add(u){L(u);let{X:k,Y:V,Z:M}=this,{X:j,Y:A,Z:R}=u,E=I.ZERO,C=I.ZERO,x=I.ZERO,e=J.a,J$=I.mul(J.b,Ez),z$=I.mul(k,j),Q$=I.mul(V,A),w$=I.mul(M,R),X$=I.add(k,V),N$=I.add(j,A);X$=I.mul(X$,N$),N$=I.add(z$,Q$),X$=I.sub(X$,N$),N$=I.add(k,M);let r$=I.add(j,R);return N$=I.mul(N$,r$),r$=I.add(z$,w$),N$=I.sub(N$,r$),r$=I.add(V,M),E=I.add(A,R),r$=I.mul(r$,E),E=I.add(Q$,w$),r$=I.sub(r$,E),x=I.mul(e,N$),E=I.mul(J$,w$),x=I.add(E,x),E=I.sub(Q$,x),x=I.add(Q$,x),C=I.mul(E,x),Q$=I.add(z$,z$),Q$=I.add(Q$,z$),w$=I.mul(e,w$),N$=I.mul(J$,N$),Q$=I.add(Q$,w$),w$=I.sub(z$,w$),w$=I.mul(e,w$),N$=I.add(N$,w$),z$=I.mul(Q$,N$),C=I.add(C,z$),z$=I.mul(r$,N$),E=I.mul(X$,E),E=I.sub(E,z$),z$=I.mul(X$,Q$),x=I.mul(r$,x),x=I.add(x,z$),new b(E,C,x)}subtract(u){return this.add(u.negate())}is0(){return this.equals(b.ZERO)}multiply(u){let{endo:k}=v;if(!U.isValidNot0(u))throw Error("invalid scalar: out of range");let V,M,j=(A)=>S.cached(this,A,(R)=>BN(b,R));if(k){let{k1neg:A,k1:R,k2neg:E,k2:C}=i(u),{p:x,f:e}=j(R),{p:J$,f:z$}=j(C);M=e.add(z$),V=n(k.beta,x,J$,A,E)}else{let{p:A,f:R}=j(u);V=A,M=R}return BN(b,[V,M])[0]}multiplyUnsafe(u){let{endo:k}=v,V=this;if(!U.isValid(u))throw Error("invalid scalar: out of range");if(u===MU||V.is0())return b.ZERO;if(u===EI)return V;if(S.hasCache(this))return this.multiply(u);if(k){let{k1neg:M,k1:j,k2neg:A,k2:R}=i(u),{p1:E,p2:C}=nr(b,V,j,R);return n(k.beta,E,C,M,A)}else return S.unsafe(V,u)}toAffine(u){return y(this,u)}isTorsionFree(){let{isTorsionFree:u}=v;if(G===EI)return!0;if(u)return u(b,this);return S.unsafe(this,z).is0()}clearCofactor(){let{clearCofactor:u}=v;if(G===EI)return this;if(u)return u(b,this);return this.multiplyUnsafe(G)}isSmallOrder(){return this.multiplyUnsafe(G).is0()}toBytes(u=!0){return x0(u,"isCompressed"),this.assertValidity(),w(b,this,u)}toHex(u=!0){return Mg(this.toBytes(u))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let v$=U.BITS,S=new CN(b,v.endo?Math.ceil(v$/2):v$);return b.BASE.precompute(8),b}function cr($){return Uint8Array.of($?2:3)}function or($,v){return{secretKey:v.BYTES,publicKey:1+$.BYTES,publicKeyUncompressed:1+2*$.BYTES,publicKeyHasPrefix:!0,signature:2*v.BYTES}}function lK($,v={}){let{Fn:g}=$,I=v.randomBytes||lU,U=Object.assign(or($.Fp,g),{seed:SN(g.ORDER)});function J(w){try{let W=g.fromBytes(w);return g.isValidNot0(W)}catch(W){return!1}}function G(w,W){let{publicKey:Z,publicKeyUncompressed:r}=U;try{let T=w.length;if(W===!0&&T!==Z)return!1;if(W===!1&&T!==r)return!1;return!!$.fromBytes(w)}catch(T){return!1}}function z(w=I(U.seed)){return Er(Y$(w,U.seed,"seed"),g.ORDER)}function O(w,W=!0){return $.BASE.multiply(g.fromBytes(w)).toBytes(W)}function D(w){let{secretKey:W,publicKey:Z,publicKeyUncompressed:r}=U;if(!TI(w))return;if("_lengths"in g&&g._lengths||W===Z)return;let T=Y$(w,void 0,"key").length;return T===Z||T===r}function X(w,W,Z=!0){if(D(w)===!0)throw Error("first arg must be private key");if(D(W)===!1)throw Error("second arg must be public key");let r=g.fromBytes(w);return $.fromBytes(W).multiply(r).toBytes(Z)}let N={isValidSecretKey:J,isValidPublicKey:G,randomSecretKey:z},q=kz(z,O);return Object.freeze({getPublicKey:O,getSharedSecret:X,keygen:q,Point:$,utils:N,lengths:U})}function bN($,v,g={}){Lv(v),Kg(g,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),g=Object.assign({},g);let I=g.randomBytes||lU,U=g.hmac||((V,M)=>PI(v,V,M)),{Fp:J,Fn:G}=$,{ORDER:z,BITS:O}=G,{keygen:D,getPublicKey:X,getSharedSecret:N,utils:q,lengths:w}=lK($,g),W={prehash:!0,lowS:typeof g.lowS==="boolean"?g.lowS:!0,format:"compact",extraEntropy:!1},Z=z*xr<J.ORDER;function r(V){let M=z>>EI;return V>M}function T(V,M){if(!G.isValidNot0(M))throw Error(`invalid signature ${V}: out of range 1..Point.Fn.ORDER`);return M}function K(){if(Z)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function _(V,M){_N(M);let j=w.signature,A=M==="compact"?j:M==="recovered"?j+1:void 0;return Y$(V,A)}class L{r;s;recovery;constructor(V,M,j){if(this.r=T("r",V),this.s=T("s",M),j!=null){if(K(),![0,1,2,3].includes(j))throw Error("invalid recovery id");this.recovery=j}Object.freeze(this)}static fromBytes(V,M=W.format){_(V,M);let j;if(M==="der"){let{r:C,s:x}=aU.toSig(Y$(V));return new L(C,x)}if(M==="recovered")j=V[0],M="compact",V=V.subarray(1);let A=w.signature/2,R=V.subarray(0,A),E=V.subarray(A,A*2);return new L(G.fromBytes(R),G.fromBytes(E),j)}static fromHex(V,M){return this.fromBytes(Rg(V),M)}assertRecovery(){let{recovery:V}=this;if(V==null)throw Error("invalid recovery id: must be present");return V}addRecoveryBit(V){return new L(this.r,this.s,V)}recoverPublicKey(V){let{r:M,s:j}=this,A=this.assertRecovery(),R=A===2||A===3?M+z:M;if(!J.isValid(R))throw Error("invalid recovery id: sig.r+curve.n != R.x");let E=J.toBytes(R),C=$.fromBytes(n$(cr((A&1)===0),E)),x=G.inv(R),e=y(Y$(V,void 0,"msgHash")),J$=G.create(-e*x),z$=G.create(j*x),Q$=$.BASE.multiplyUnsafe(J$).add(C.multiplyUnsafe(z$));if(Q$.is0())throw Error("invalid recovery: point at infinify");return Q$.assertValidity(),Q$}hasHighS(){return r(this.s)}toBytes(V=W.format){if(_N(V),V==="der")return Rg(aU.hexFromSig(this));let{r:M,s:j}=this,A=G.toBytes(M),R=G.toBytes(j);if(V==="recovered")return K(),n$(Uint8Array.of(this.assertRecovery()),A,R);return n$(A,R)}toHex(V){return Mg(this.toBytes(V))}}let i=g.bits2int||function(M){if(M.length>8192)throw Error("input is too large");let j=hU(M),A=M.length*8-O;return A>0?j>>BigInt(A):j},y=g.bits2int_modN||function(M){return G.create(i(M))},d=l0(O);function n(V){return y0("num < 2^"+O,V,MU,d),G.toBytes(V)}function b(V,M){return Y$(V,void 0,"message"),M?Y$(v(V),void 0,"prehashed message"):V}function v$(V,M,j){let{lowS:A,prehash:R,extraEntropy:E}=fN(j,W);V=b(V,R);let C=y(V),x=G.fromBytes(M);if(!G.isValidNot0(x))throw Error("invalid private key");let e=[n(x),n(C)];if(E!=null&&E!==!1){let w$=E===!0?I(w.secretKey):E;e.push(Y$(w$,void 0,"extraEntropy"))}let J$=n$(...e),z$=C;function Q$(w$){let X$=i(w$);if(!G.isValidNot0(X$))return;let N$=G.inv(X$),r$=$.BASE.multiply(X$).toAffine(),k$=G.create(r$.x);if(k$===MU)return;let E$=G.create(N$*G.create(z$+k$*x));if(E$===MU)return;let a$=(r$.x===k$?0:2)|Number(r$.y&EI),e$=E$;if(A&&r(E$))e$=G.neg(E$),a$^=1;return new L(k$,e$,Z?void 0:a$)}return{seed:J$,k2sig:Q$}}function S(V,M,j={}){let{seed:A,k2sig:R}=v$(V,M,j);return Zr(v.outputLen,G.BYTES,U)(A,R).toBytes(j.format)}function u(V,M,j,A={}){let{lowS:R,prehash:E,format:C}=fN(A,W);if(j=Y$(j,void 0,"publicKey"),M=b(M,E),!TI(V)){let x=V instanceof L?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+x)}_(V,C);try{let x=L.fromBytes(V,C),e=$.fromBytes(j);if(R&&x.hasHighS())return!1;let{r:J$,s:z$}=x,Q$=y(M),w$=G.inv(z$),X$=G.create(Q$*w$),N$=G.create(J$*w$),r$=$.BASE.multiplyUnsafe(X$).add(e.multiplyUnsafe(N$));if(r$.is0())return!1;return G.create(r$.x)===J$}catch(x){return!1}}function k(V,M,j={}){let{prehash:A}=fN(j,W);return M=b(M,A),L.fromBytes(V,"recovered").recoverPublicKey(M).toBytes()}return Object.freeze({keygen:D,getPublicKey:X,getSharedSecret:N,utils:q,lengths:w,Point:$,sign:S,verify:u,recoverPublicKey:k,Signature:L,hash:v})}function yr($,v,g){return $&v^~$&g}function lr($,v,g){return $&v^$&g^v&g}class Bz{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor($,v,g,I){this.blockLen=$,this.outputLen=v,this.padOffset=g,this.isLE=I,this.buffer=new Uint8Array($),this.view=Tz(this.buffer)}update($){jU(this),Y$($);let{view:v,buffer:g,blockLen:I}=this,U=$.length;for(let J=0;J<U;){let G=Math.min(I-this.pos,U-J);if(G===I){let z=Tz($);for(;I<=U-J;J+=I)this.process(z,J);continue}if(g.set($.subarray(J,J+G),this.pos),this.pos+=G,J+=G,this.pos===I)this.process(v,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){jU(this),Kz($,this),this.finished=!0;let{buffer:v,view:g,blockLen:I,isLE:U}=this,{pos:J}=this;if(v[J++]=128,Rv(this.buffer.subarray(J)),this.padOffset>I-J)this.process(g,0),J=0;for(let X=J;X<I;X++)v[X]=0;g.setBigUint64(I-8,BigInt(this.length*8),U),this.process(g,0);let G=Tz($),z=this.outputLen;if(z%4)throw Error("_sha2: outputLen must be aligned to 32bit");let O=z/4,D=this.get();if(O>D.length)throw Error("_sha2: outputLen bigger than state");for(let X=0;X<O;X++)G.setUint32(4*X,D[X],U)}digest(){let{buffer:$,outputLen:v}=this;this.digestInto($);let g=$.slice(0,v);return this.destroy(),g}_cloneInto($){$||=new this.constructor,$.set(...this.get());let{blockLen:v,buffer:g,length:I,finished:U,destroyed:J,pos:G}=this;if($.destroyed=J,$.finished=U,$.length=I,$.pos=G,I%v)$.buffer.set(g);return $}clone(){return this._cloneInto()}}var RU=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),KU=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),d$=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),h$=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Cz=BigInt(4294967295),dr=BigInt(32);function dK($,v=!1){if(v)return{h:Number($&Cz),l:Number($>>dr&Cz)};return{h:Number($>>dr&Cz)|0,l:Number($&Cz)|0}}function Lz($,v=!1){let g=$.length,I=new Uint32Array(g),U=new Uint32Array(g);for(let J=0;J<g;J++){let{h:G,l:z}=dK($[J],v);[I[J],U[J]]=[G,z]}return[I,U]}var mN=($,v,g)=>$>>>g,FN=($,v,g)=>$<<32-g|v>>>g,Hg=($,v,g)=>$>>>g|v<<32-g,Ag=($,v,g)=>$<<32-g|v>>>g,t0=($,v,g)=>$<<64-g|v>>>g-32,a0=($,v,g)=>$>>>g-32|v<<64-g;var hr=($,v,g)=>$<<g|v>>>32-g,pr=($,v,g)=>v<<g|$>>>32-g,tr=($,v,g)=>v<<g-32|$>>>64-g,ar=($,v,g)=>$<<g-32|v>>>64-g;function UU($,v,g,I){let U=(v>>>0)+(I>>>0);return{h:$+g+(U/4294967296|0)|0,l:U|0}}var er=($,v,g)=>($>>>0)+(v>>>0)+(g>>>0),sr=($,v,g,I)=>v+g+I+($/4294967296|0)|0,$V=($,v,g,I)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0),vV=($,v,g,I,U)=>v+g+I+U+($/4294967296|0)|0,UV=($,v,g,I,U)=>($>>>0)+(v>>>0)+(g>>>0)+(I>>>0)+(U>>>0),gV=($,v,g,I,U,J)=>v+g+I+U+J+($/4294967296|0)|0;var pK=Uint32Array.from([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]),eU=new Uint32Array(64);class iN extends Bz{constructor($){super(64,$,8,!1)}get(){let{A:$,B:v,C:g,D:I,E:U,F:J,G,H:z}=this;return[$,v,g,I,U,J,G,z]}set($,v,g,I,U,J,G,z){this.A=$|0,this.B=v|0,this.C=g|0,this.D=I|0,this.E=U|0,this.F=J|0,this.G=G|0,this.H=z|0}process($,v){for(let X=0;X<16;X++,v+=4)eU[X]=$.getUint32(v,!1);for(let X=16;X<64;X++){let N=eU[X-15],q=eU[X-2],w=xv(N,7)^xv(N,18)^N>>>3,W=xv(q,17)^xv(q,19)^q>>>10;eU[X]=W+eU[X-7]+w+eU[X-16]|0}let{A:g,B:I,C:U,D:J,E:G,F:z,G:O,H:D}=this;for(let X=0;X<64;X++){let N=xv(G,6)^xv(G,11)^xv(G,25),q=D+N+yr(G,z,O)+pK[X]+eU[X]|0,W=(xv(g,2)^xv(g,13)^xv(g,22))+lr(g,I,U)|0;D=O,O=z,z=G,G=J+q|0,J=U,U=I,I=g,g=q+W|0}g=g+this.A|0,I=I+this.B|0,U=U+this.C|0,J=J+this.D|0,G=G+this.E|0,z=z+this.F|0,O=O+this.G|0,D=D+this.H|0,this.set(g,I,U,J,G,z,O,D)}roundClean(){Rv(eU)}destroy(){this.set(0,0,0,0,0,0,0,0),Rv(this.buffer)}}class IV extends iN{A=RU[0]|0;B=RU[1]|0;C=RU[2]|0;D=RU[3]|0;E=RU[4]|0;F=RU[5]|0;G=RU[6]|0;H=RU[7]|0;constructor(){super(32)}}class tK extends iN{A=KU[0]|0;B=KU[1]|0;C=KU[2]|0;D=KU[3]|0;E=KU[4]|0;F=KU[5]|0;G=KU[6]|0;H=KU[7]|0;constructor(){super(28)}}var JV=(()=>Lz(["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($))))(),aK=(()=>JV[0])(),eK=(()=>JV[1])(),sU=new Uint32Array(80),$g=new Uint32Array(80);class e0 extends Bz{constructor($){super(128,$,16,!1)}get(){let{Ah:$,Al:v,Bh:g,Bl:I,Ch:U,Cl:J,Dh:G,Dl:z,Eh:O,El:D,Fh:X,Fl:N,Gh:q,Gl:w,Hh:W,Hl:Z}=this;return[$,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z]}set($,v,g,I,U,J,G,z,O,D,X,N,q,w,W,Z){this.Ah=$|0,this.Al=v|0,this.Bh=g|0,this.Bl=I|0,this.Ch=U|0,this.Cl=J|0,this.Dh=G|0,this.Dl=z|0,this.Eh=O|0,this.El=D|0,this.Fh=X|0,this.Fl=N|0,this.Gh=q|0,this.Gl=w|0,this.Hh=W|0,this.Hl=Z|0}process($,v){for(let K=0;K<16;K++,v+=4)sU[K]=$.getUint32(v),$g[K]=$.getUint32(v+=4);for(let K=16;K<80;K++){let _=sU[K-15]|0,L=$g[K-15]|0,i=Hg(_,L,1)^Hg(_,L,8)^mN(_,L,7),y=Ag(_,L,1)^Ag(_,L,8)^FN(_,L,7),d=sU[K-2]|0,n=$g[K-2]|0,b=Hg(d,n,19)^t0(d,n,61)^mN(d,n,6),v$=Ag(d,n,19)^a0(d,n,61)^FN(d,n,6),S=$V(y,v$,$g[K-7],$g[K-16]),u=vV(S,i,b,sU[K-7],sU[K-16]);sU[K]=u|0,$g[K]=S|0}let{Ah:g,Al:I,Bh:U,Bl:J,Ch:G,Cl:z,Dh:O,Dl:D,Eh:X,El:N,Fh:q,Fl:w,Gh:W,Gl:Z,Hh:r,Hl:T}=this;for(let K=0;K<80;K++){let _=Hg(X,N,14)^Hg(X,N,18)^t0(X,N,41),L=Ag(X,N,14)^Ag(X,N,18)^a0(X,N,41),i=X&q^~X&W,y=N&w^~N&Z,d=UV(T,L,y,eK[K],$g[K]),n=gV(d,r,_,i,aK[K],sU[K]),b=d|0,v$=Hg(g,I,28)^t0(g,I,34)^t0(g,I,39),S=Ag(g,I,28)^a0(g,I,34)^a0(g,I,39),u=g&U^g&G^U&G,k=I&J^I&z^J&z;r=W|0,T=Z|0,W=q|0,Z=w|0,q=X|0,w=N|0,{h:X,l:N}=UU(O|0,D|0,n|0,b|0),O=G|0,D=z|0,G=U|0,z=J|0,U=g|0,J=I|0;let V=er(b,S,k);g=sr(V,n,v$,u),I=V|0}({h:g,l:I}=UU(this.Ah|0,this.Al|0,g|0,I|0)),{h:U,l:J}=UU(this.Bh|0,this.Bl|0,U|0,J|0),{h:G,l:z}=UU(this.Ch|0,this.Cl|0,G|0,z|0),{h:O,l:D}=UU(this.Dh|0,this.Dl|0,O|0,D|0),{h:X,l:N}=UU(this.Eh|0,this.El|0,X|0,N|0),{h:q,l:w}=UU(this.Fh|0,this.Fl|0,q|0,w|0),{h:W,l:Z}=UU(this.Gh|0,this.Gl|0,W|0,Z|0),{h:r,l:T}=UU(this.Hh|0,this.Hl|0,r|0,T|0),this.set(g,I,U,J,G,z,O,D,X,N,q,w,W,Z,r,T)}roundClean(){Rv(sU,$g)}destroy(){Rv(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class sK extends e0{Ah=h$[0]|0;Al=h$[1]|0;Bh=h$[2]|0;Bl=h$[3]|0;Ch=h$[4]|0;Cl=h$[5]|0;Dh=h$[6]|0;Dl=h$[7]|0;Eh=h$[8]|0;El=h$[9]|0;Fh=h$[10]|0;Fl=h$[11]|0;Gh=h$[12]|0;Gl=h$[13]|0;Hh=h$[14]|0;Hl=h$[15]|0;constructor(){super(64)}}class GV extends e0{Ah=d$[0]|0;Al=d$[1]|0;Bh=d$[2]|0;Bl=d$[3]|0;Ch=d$[4]|0;Cl=d$[5]|0;Dh=d$[6]|0;Dl=d$[7]|0;Eh=d$[8]|0;El=d$[9]|0;Fh=d$[10]|0;Fl=d$[11]|0;Gh=d$[12]|0;Gl=d$[13]|0;Hh=d$[14]|0;Hl=d$[15]|0;constructor(){super(48)}}var Jv=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),Gv=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class $1 extends e0{Ah=Jv[0]|0;Al=Jv[1]|0;Bh=Jv[2]|0;Bl=Jv[3]|0;Ch=Jv[4]|0;Cl=Jv[5]|0;Dh=Jv[6]|0;Dl=Jv[7]|0;Eh=Jv[8]|0;El=Jv[9]|0;Fh=Jv[10]|0;Fl=Jv[11]|0;Gh=Jv[12]|0;Gl=Jv[13]|0;Hh=Jv[14]|0;Hl=Jv[15]|0;constructor(){super(28)}}class v1 extends e0{Ah=Gv[0]|0;Al=Gv[1]|0;Bh=Gv[2]|0;Bl=Gv[3]|0;Ch=Gv[4]|0;Cl=Gv[5]|0;Dh=Gv[6]|0;Dl=Gv[7]|0;Eh=Gv[8]|0;El=Gv[9]|0;Fh=Gv[10]|0;Fl=Gv[11]|0;Gh=Gv[12]|0;Gl=Gv[13]|0;Hh=Gv[14]|0;Hl=Gv[15]|0;constructor(){super(32)}}var fz=HI(()=>new IV,dU(1));var zV=HI(()=>new GV,dU(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var U1=BigInt(1),OV=BigInt(2),g1=BigInt(3),I1=BigInt(5),lE=BigInt(8),DV=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function J1($){let v=BigInt(10),g=BigInt(20),I=BigInt(40),U=BigInt(80),J=DV,z=$*$%J*$%J,O=fv(z,OV,J)*z%J,D=fv(O,U1,J)*$%J,X=fv(D,I1,J)*D%J,N=fv(X,v,J)*X%J,q=fv(N,g,J)*N%J,w=fv(q,I,J)*q%J,W=fv(w,U,J)*w%J,Z=fv(W,U,J)*w%J,r=fv(Z,v,J)*X%J;return{pow_p_5_8:fv(r,OV,J)*$%J,b2:z}}function G1($){return $[0]&=248,$[31]&=127,$[31]|=64,$}var QV=(()=>{let $=DV;return mr({P:$,type:"x25519",powPminus2:(v)=>{let{pow_p_5_8:g,b2:I}=J1(v);return Yv(fv(g,g1,$)*I,$)},adjustScalarBytes:G1})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var z1=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),O1=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var D1=nN(z1),xN=bN(D1,fz);var Q1=nN(O1),XV=bN(Q1,zV);function wV($,v,g){if(Lv($),g===void 0)g=new Uint8Array($.outputLen);return PI($,g,v)}var cN=Uint8Array.of(0),NV=Uint8Array.of();function qV($,v,g,I=32){Lv($),i$(I,"length");let U=$.outputLen;if(I>255*U)throw Error("Length must be <= 255*HashLen");let J=Math.ceil(I/U);if(g===void 0)g=NV;else Y$(g,void 0,"info");let G=new Uint8Array(J*U),z=PI.create($,v),O=z._cloneInto(),D=new Uint8Array(z.outputLen);for(let X=0;X<J;X++)cN[0]=X+1,O.update(X===0?NV:D).update(g).update(cN).digestInto(D),G.set(D,U*X),z._cloneInto(O);return z.destroy(),O.destroy(),Rv(D,cN),G.slice(0,I)}var X1=BigInt(0),s0=BigInt(1),N1=BigInt(2),w1=BigInt(7),q1=BigInt(256),Y1=BigInt(113),rV=[],VV=[],ZV=[];for(let $=0,v=s0,g=1,I=0;$<24;$++){[g,I]=[I,(2*g+3*I)%5],rV.push(2*(5*I+g)),VV.push(($+1)*($+2)/2%64);let U=X1;for(let J=0;J<7;J++)if(v=(v<<s0^(v>>w1)*Y1)%q1,v&N1)U^=s0<<(s0<<BigInt(J))-s0;ZV.push(U)}var jV=Lz(ZV,!0),W1=jV[0],r1=jV[1],YV=($,v,g)=>g>32?tr($,v,g):hr($,v,g),WV=($,v,g)=>g>32?ar($,v,g):pr($,v,g);function V1($,v=24){let g=new Uint32Array(10);for(let I=24-v;I<24;I++){for(let G=0;G<10;G++)g[G]=$[G]^$[G+10]^$[G+20]^$[G+30]^$[G+40];for(let G=0;G<10;G+=2){let z=(G+8)%10,O=(G+2)%10,D=g[O],X=g[O+1],N=YV(D,X,1)^g[z],q=WV(D,X,1)^g[z+1];for(let w=0;w<50;w+=10)$[G+w]^=N,$[G+w+1]^=q}let U=$[2],J=$[3];for(let G=0;G<24;G++){let z=VV[G],O=YV(U,J,z),D=WV(U,J,z),X=rV[G];U=$[X],J=$[X+1],$[X]=O,$[X+1]=D}for(let G=0;G<50;G+=10){for(let z=0;z<10;z++)g[z]=$[G+z];for(let z=0;z<10;z++)$[G+z]^=~g[(z+2)%10]&g[(z+4)%10]}$[0]^=W1[I],$[1]^=r1[I]}Rv(g)}class _z{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor($,v,g,I=!1,U=24){if(this.blockLen=$,this.suffix=v,this.outputLen=g,this.enableXOF=I,this.rounds=U,i$(g,"outputLen"),!(0<$&&$<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=uz(this.state)}clone(){return this._cloneInto()}keccak(){MN(this.state32),V1(this.state32,this.rounds),MN(this.state32),this.posOut=0,this.pos=0}update($){jU(this),Y$($);let{blockLen:v,state:g}=this,I=$.length;for(let U=0;U<I;){let J=Math.min(v-this.pos,I-U);for(let G=0;G<J;G++)g[this.pos++]^=$[U++];if(this.pos===v)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:$,suffix:v,pos:g,blockLen:I}=this;if($[g]^=v,(v&128)!==0&&g===I-1)this.keccak();$[I-1]^=128,this.keccak()}writeInto($){jU(this,!1),Y$($),this.finish();let v=this.state,{blockLen:g}=this;for(let I=0,U=$.length;I<U;){if(this.posOut>=g)this.keccak();let J=Math.min(g-this.posOut,U-I);$.set(v.subarray(this.posOut,this.posOut+J),I),this.posOut+=J,I+=J}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(Kz($,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,Rv(this.state)}_cloneInto($){let{blockLen:v,suffix:g,outputLen:I,rounds:U,enableXOF:J}=this;return $||=new _z(v,g,I,J,U),$.state32.set(this.state32),$.pos=this.pos,$.posOut=this.posOut,$.finished=this.finished,$.rounds=U,$.suffix=g,$.outputLen=I,$.enableXOF=J,$.destroyed=this.destroyed,$}}var MV=($,v,g,I={})=>HI(()=>new _z(v,$,g),I);var Sg=MV(6,136,32,dU(8));var RV=MV(6,72,64,dU(10));var KV=($,v,g,I={})=>HI((U={})=>new _z(v,$,U.dkLen===void 0?g:U.dkLen,!0),I),uV=KV(31,168,16,dU(11)),gU=KV(31,136,32,dU(12));function oN($){if(!Number.isSafeInteger($)||$<0||$>4294967295)throw Error("wrong u32 integer:"+$);return $}function HV($){return oN($),($&$-1)===0&&$!==0}function yN($,v){oN($);let g=0;for(let I=0;I<v;I++,$>>>=1)g=g<<1|$&1;return g}function AV($){return oN($),31-Math.clz32($)}function TV($){let v=$.length;if(v<2||!HV(v))throw Error("n must be a power of 2 and greater than 1. Got "+v);let g=AV(v);for(let I=0;I<v;I++){let U=yN(I,g);if(I<U){let J=$[I];$[I]=$[U],$[U]=J}}return $}var lN=($,v)=>{let{N:g,roots:I,dit:U,invertButterflies:J=!1,skipStages:G=0,brp:z=!0}=v,O=AV(g);if(!HV(g))throw Error("FFT: Polynomial size should be power of two");let D=U!==J;return(X)=>{if(X.length!==g)throw Error("FFT: wrong Polynomial length");if(U&&z)TV(X);for(let N=0,q=1;N<O-G;N++){let w=U?N+1+G:O-N,W=1<<w,Z=W>>1,r=g>>w;for(let T=0;T<g;T+=W)for(let K=0,_=q++;K<Z;K++){let L=J?U?g-_:_:K*r,i=T+K,y=T+K+Z,d=I[L],n=X[y],b=X[i];if(D){let v$=$.mul(n,d);X[i]=$.add(b,v$),X[y]=$.sub(b,v$)}else if(J)X[i]=$.add(n,b),X[y]=$.mul($.sub(n,b),d);else X[i]=$.add(b,n),X[y]=$.mul($.sub(b,n),d)}}if(!U&&z)TV(X);return X}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var IU=lU;function nz($,v){if($.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function SV($){return Uint8Array.from($)}function kg($,...v){let g=(U)=>typeof U==="number"?U:U.bytesLen,I=v.reduce((U,J)=>U+g(J),0);return{bytesLen:I,encode:(U)=>{let J=new Uint8Array(I);for(let G=0,z=0;G<v.length;G++){let O=v[G],D=g(O),X=typeof O==="number"?U[G]:O.encode(U[G]);if(Y$(X,D,$),J.set(X,z),typeof O!=="number")X.fill(0);z+=D}return J},decode:(U)=>{Y$(U,I,$);let J=[];for(let G of v){let z=g(G),O=U.subarray(0,z);J.push(typeof G==="number"?O:G.decode(O)),U=U.subarray(z)}return J}}}function bz($,v){let g=v*$.bytesLen;return{bytesLen:g,encode:(I)=>{if(I.length!==v)throw Error(`vecCoder.encode: wrong length=${I.length}. Expected: ${v}`);let U=new Uint8Array(g);for(let J=0,G=0;J<I.length;J++){let z=$.encode(I[J]);U.set(z,G),z.fill(0),G+=z.length}return U},decode:(I)=>{Y$(I,g);let U=[];for(let J=0;J<I.length;J+=$.bytesLen)U.push($.decode(I.subarray(J,J+$.bytesLen)));return U}}}function m$(...$){for(let v of $)if(Array.isArray(v))for(let g of v)g.fill(0);else v.fill(0)}function dN($){return(1<<$)-1}var zB=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var kV=($)=>{let{newPoly:v,N:g,Q:I,F:U,ROOT_OF_UNITY:J,brvBits:G,isKyber:z}=$,O=(K,_=I)=>{let L=K%_|0;return(L>=0?L|0:_+L|0)|0},D=(K,_=I)=>{let L=O(K,_)|0;return(L>_>>1?L-_|0:L)|0};function X(){let K=v(g);for(let _=0;_<g;_++){let L=yN(_,G),i=BigInt(J)**BigInt(L)%BigInt(I);K[_]=Number(i)|0}return K}let N=X(),q={add:(K,_)=>O((K|0)+(_|0))|0,sub:(K,_)=>O((K|0)-(_|0))|0,mul:(K,_)=>O((K|0)*(_|0))|0,inv:(K)=>{throw Error("not implemented")}},w={N:g,roots:N,invertButterflies:!0,skipStages:z?1:0,brp:!1},W=lN(q,{dit:!1,...w}),Z=lN(q,{dit:!0,...w});return{mod:O,smod:D,nttZetas:N,NTT:{encode:(K)=>{return W(K)},decode:(K)=>{Z(K);for(let _=0;_<K.length;_++)K[_]=O(U*K[_]);return K}},bitsCoder:(K,_)=>{let L=dN(K),i=K*(g/8);return{bytesLen:i,encode:(y)=>{let d=new Uint8Array(i);for(let n=0,b=0,v$=0,S=0;n<y.length;n++){b|=(_.encode(y[n])&L)<<v$,v$+=K;for(;v$>=8;v$-=8,b>>=8)d[S++]=b&dN(v$)}return d},decode:(y)=>{let d=v(g);for(let n=0,b=0,v$=0,S=0;n<y.length;n++){b|=y[n]<<v$,v$+=8;for(;v$>=K;v$-=K,b>>=K)d[S++]=_.decode(b&L)}return d}}}}},Z1=($)=>(v,g)=>{if(!g)g=$.blockLen;let I=new Uint8Array(v.length+2);I.set(v);let U=v.length,J=new Uint8Array(g),G=$.create({}),z=0,O=0;return{stats:()=>({calls:z,xofs:O}),get:(D,X)=>{return I[U+0]=D,I[U+1]=X,G.destroy(),G=$.create({}).update(I),z++,()=>{return O++,G.xofInto(J)}},clean:()=>{G.destroy(),m$(J,I)}}},PV=Z1(uV);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var zv=256,uU=3329,j1=3303,M1=17,{mod:UJ,nttZetas:R1,NTT:Pg,bitsCoder:K1}=kV({N:zv,Q:uU,F:j1,ROOT_OF_UNITY:M1,newPoly:($)=>new Uint16Array($),brvBits:7,isKyber:!0}),hN={512:{N:zv,Q:uU,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:zv,Q:uU,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:zv,Q:uU,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},u1=($)=>{if($>=12)return{encode:(g)=>g,decode:(g)=>g};let v=2**($-1);return{encode:(g)=>((g<<$)+uU/2)/uU,decode:(g)=>g*uU+v>>>$}},$J=($)=>K1($,u1($));function Eg($,v){for(let g=0;g<zv;g++)$[g]=UJ($[g]+v[g])}function T1($,v){for(let g=0;g<zv;g++)$[g]=UJ($[g]-v[g])}function H1($,v,g,I,U){let J=UJ(v*I*U+$*g),G=UJ($*I+v*g);return{c0:J,c1:G}}function mz($,v){for(let g=0;g<zv/2;g++){let I=R1[64+(g>>1)];if(g&1)I=-I;let{c0:U,c1:J}=H1($[2*g+0],$[2*g+1],v[2*g+0],v[2*g+1],I);$[2*g+0]=U,$[2*g+1]=J}return $}function EV($){let v=new Uint16Array(zv);for(let g=0;g<zv;){let I=$();if(I.length%3)throw Error("SampleNTT: unaligned block");for(let U=0;g<zv&&U+3<=I.length;U+=3){let J=(I[U+0]>>0|I[U+1]<<8)&4095,G=(I[U+1]>>4|I[U+2]<<4)&4095;if(J<uU)v[g++]=J;if(g<zv&&G<uU)v[g++]=G}}return v}function vJ($,v,g,I){let U=$(I*zv/4,v,g),J=new Uint16Array(zv),G=uz(U),z=0;for(let O=0,D=0,X=0,N=0;O<G.length;O++){let q=G[O];for(let w=0;w<32;w++)if(X+=q&1,q>>=1,z+=1,z===I)N=X,X=0;else if(z===2*I)J[D++]=UJ(N-X),X=0,z=0}if(z)throw Error(`sampleCBD: leftover bits: ${z}`);return J}var A1=($)=>{let{K:v,PRF:g,XOF:I,HASH512:U,ETA1:J,ETA2:G,du:z,dv:O}=$,D=$J(1),X=$J(O),N=$J(z),q=kg("publicKey",bz($J(12),v),32),w=bz($J(12),v),W=kg("ciphertext",bz(N,v),X),Z=kg("seed",32,32);return{secretCoder:w,lengths:{secretKey:w.bytesLen,publicKey:q.bytesLen,cipherText:W.bytesLen},keygen:(r)=>{Y$(r,32,"seed");let T=new Uint8Array(33);T.set(r),T[32]=v;let K=U(T),[_,L]=Z.decode(K),i=[],y=[];for(let b=0;b<v;b++)i.push(Pg.encode(vJ(g,L,b,J)));let d=I(_);for(let b=0;b<v;b++){let v$=Pg.encode(vJ(g,L,v+b,J));for(let S=0;S<v;S++){let u=EV(d.get(S,b));Eg(v$,mz(u,i[S]))}y.push(v$)}d.clean();let n={publicKey:q.encode([y,_]),secretKey:w.encode(i)};return m$(_,L,i,y,T,K),n},encrypt:(r,T,K)=>{let[_,L]=q.decode(r),i=[];for(let S=0;S<v;S++)i.push(Pg.encode(vJ(g,K,S,J)));let y=I(L),d=new Uint16Array(zv),n=[];for(let S=0;S<v;S++){let u=vJ(g,K,v+S,G),k=new Uint16Array(zv);for(let V=0;V<v;V++){let M=EV(y.get(S,V));Eg(k,mz(M,i[V]))}Eg(u,Pg.decode(k)),n.push(u),Eg(d,mz(_[S],i[S])),m$(k)}y.clean();let b=vJ(g,K,2*v,G);Eg(b,Pg.decode(d));let v$=D.decode(T);return Eg(v$,b),m$(_,i,d,b),W.encode([n,v$])},decrypt:(r,T)=>{let[K,_]=W.decode(r),L=w.decode(T),i=new Uint16Array(zv);for(let y=0;y<v;y++)Eg(i,mz(L[y],Pg.encode(K[y])));return T1(_,Pg.decode(i)),m$(i,L,K),D.encode(_)}}};function pN($){let v=A1($),{HASH256:g,HASH512:I,KDF:U}=$,{secretCoder:J,lengths:G}=v,z=kg("secretKey",G.secretKey,G.publicKey,32,32),O=32,D=64;return{info:{type:"ml-kem"},lengths:{...G,seed:64,msg:32,msgRand:32,secretKey:z.bytesLen},keygen:(X=IU(64))=>{Y$(X,64,"seed");let{publicKey:N,secretKey:q}=v.keygen(X.subarray(0,32)),w=g(N),W=z.encode([q,N,w,X.subarray(32)]);return m$(q,w),{publicKey:N,secretKey:W}},getPublicKey:(X)=>{let[N,q,w,W]=z.decode(X);return Uint8Array.from(q)},encapsulate:(X,N=IU(32))=>{Y$(X,G.publicKey,"publicKey"),Y$(N,32,"message");let q=X.subarray(0,384*$.K),w=J.encode(J.decode(SV(q)));if(!nz(w,q))throw m$(w),Error("ML-KEM.encapsulate: wrong publicKey modulus");m$(w);let W=I.create().update(N).update(g(X)).digest(),Z=v.encrypt(X,N,W.subarray(32,64));return m$(W.subarray(32)),{cipherText:Z,sharedSecret:W.subarray(0,32)}},decapsulate:(X,N)=>{Y$(N,z.bytesLen,"secretKey"),Y$(X,G.cipherText,"cipherText");let q=z.bytesLen-96,w=q+32,W=g(N.subarray(q/2,w));if(!nz(W,N.subarray(w,w+32)))throw Error("invalid secretKey: hash check failed");let[Z,r,T,K]=z.decode(N),_=v.decrypt(X,Z),L=I.create().update(_).update(T).digest(),i=L.subarray(0,32),y=v.encrypt(r,_,L.subarray(32,64)),d=nz(X,y),n=U.create({dkLen:32}).update(K).update(X).digest();return m$(_,y,!d?i:n),d?i:n}}}function S1($,v,g){return gU.create({dkLen:$}).update(v).update(new Uint8Array([g])).digest()}var tN={HASH256:Sg,HASH512:RV,KDF:gU,XOF:PV,PRF:S1},VB=pN({...tN,...hN[512]}),gJ=pN({...tN,...hN[768]}),BV=pN({...tN,...hN[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function k1($,v=!1){let{lengths:g,keygen:I}=$;if(v){let J=$.Point.Fn;if(!J)throw Error("No Point.Fn");I=(G=IU(g.seed))=>{Y$(G,g.seed,"seed");let z=J.isLE?pU(G):hU(G),O=J.toBytes(J.create(z));return{secretKey:O,publicKey:$.getPublicKey(O)}}}return{lengths:{secretKey:g.secretKey,publicKey:g.publicKey,seed:g.seed},keygen:I,getPublicKey:(U)=>$.getPublicKey(U)}}function aN($,v=!1){let g=k1($,v);if(!$.getSharedSecret)throw Error("wrong curve");return{lengths:{...g.lengths,msg:g.lengths.seed,cipherText:g.lengths.publicKey},keygen:g.keygen,getPublicKey:g.getPublicKey,encapsulate(I,U=IU($.lengths.seed)){let J=this.keygen(U).secretKey,G=this.decapsulate(I,J),z=$.getPublicKey(J);return m$(J),{sharedSecret:G,cipherText:z}},decapsulate(I,U){let J=$.getSharedSecret(U,I);return $.lengths.publicKeyHasPrefix?J.subarray(1):J}}}function IJ($,v){return kg(v,...$.map((g)=>{if(typeof g.lengths[v]!=="number")throw Error("wrong length: "+v);return g.lengths[v]}))}function eN($){return(v,g)=>$(v,{dkLen:g})}function P1($,v,...g){let I=IJ(g,"seed"),U=IJ(g,"publicKey");if($===void 0)$=I.bytesLen;i$($);function J(G){Y$(G,$);let z=I.decode(v(G,I.bytesLen)),O=g.map((N,q)=>N.keygen(z[q])),D=O.map((N)=>N.secretKey),X=O.map((N)=>N.publicKey);return{secretKey:D,publicKey:X}}return{info:{lengths:{seed:$,publicKey:U.bytesLen,secretKey:$}},getPublicKey(G){return this.keygen(G).publicKey},keygen(G=IU($)){let{publicKey:z,secretKey:O}=J(G),D=U.encode(z);return m$(z),m$(O),{secretKey:G,publicKey:D}},expandDecapsulationKey:J,realSeedLen:$}}function Fz($,v,g,I,...U){let J=P1($,g,...U),G=IJ(U,"cipherText"),z=IJ(U,"publicKey"),O=IJ(U,"msg");if(v===void 0)v=O.bytesLen;return i$(v),{lengths:{...J.info.lengths,msg:v,msgRand:O.bytesLen,cipherText:G.bytesLen},getPublicKey:J.getPublicKey,keygen:J.keygen,encapsulate(D,X=IU(O.bytesLen)){let N=z.decode(D),q=O.decode(X),w=U.map((T,K)=>T.encapsulate(N[K],q[K])),W=w.map((T)=>T.sharedSecret),Z=w.map((T)=>T.cipherText),r={sharedSecret:I(N,Z,W),cipherText:G.encode(Z)};return m$(W,Z),r},decapsulate(D,X){let N=G.decode(D),{publicKey:q,secretKey:w}=J.expandDecapsulationKey(X),W=U.map((Z,r)=>Z.decapsulate(N[r],w[r]));return I(q,N,W)}}}function CV($,v,g,I,U){return Lv(I),Lv(U),Fz(32,32,eN(I),(J,G,z)=>U(n$(z[0],z[1],G[1],J[1],tU($))),v,g)}var kB=CV("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",gJ,aN(xN,!0),gU,Sg),PB=CV("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",BV,aN(XV,!0),gU,Sg);function E1($,v,g,I,U){return Lv(I),Lv(U),Fz(32,32,eN(I),(J,G,z)=>{let O=n$(z[0],z[1],G[0],J[0],G[1],J[1],tU($)),D=32,X=n$(tU("hybrid_prk"),O),N=wV(U,X),q=n$(AI(32,2),tU("shared_secret"),tU("")),w=qV(U,N,q,32);return m$(N,q,X,O),w},v,g)}var LV=aN(QV),EB=E1("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",gJ,LV,gU,fz),B1=(()=>Fz(32,32,eN(gU),($,v,g)=>Sg(n$(g[0],g[1],v[1],$[1],tU("\\.//^\\"))),gJ,LV))();function C1($,v,g,I){let U=$.Point.Fn;if(!U)throw Error("no Point.Fn");function J(G){let z;for(let X=0,N=v;;X=N,N+=v){if(N>G.length)throw Error("rejection sampling failed");if(z=U.fromBytes(G.subarray(X,N),!0),U.isValidNot0(z))break}let O=U.toBytes(U.create(z)),D=$.getPublicKey(O,!1);return{secretKey:O,publicKey:D}}return{lengths:{secretKey:v,publicKey:g,seed:I,msg:I,cipherText:g},keygen(G=IU(I)){return Y$(G,I,"seed"),J(G)},getPublicKey(G){return $.getPublicKey(G,!1)},encapsulate(G,z=IU(I)){Y$(z,I,"rand");let{secretKey:O}=J(z),D=this.decapsulate(G,O),X=$.getPublicKey(O,!1);return m$(O),{sharedSecret:D,cipherText:X}},decapsulate(G,z){return $.getSharedSecret(z,G).subarray(1)}}}function L1($,v,g,I){let{secretKey:U,publicKeyUncompressed:J}=g.lengths;if(!U||!J)throw Error("wrong curve");let G=C1(g,U,J,I),z=64,O=z+I;return Fz(32,32,(D)=>{Y$(D,32);let X=gU(D,{dkLen:O}),N=X.subarray(0,z),q=X.subarray(z,O);return n$(N,q)},(D,X,N)=>Sg(n$(N[0],N[1],X[1],D[1],tU($))),v,G)}var f1=(()=>L1("MLKEM768-P256",gJ,xN,128))();var iz=B1,fV=f1;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var A$=($,v,g)=>c$($,v,g),$w=f$,BI=Xz,p$=(...$)=>vN(...$),CI=($)=>C0($),LI=eX,fI=($)=>YU($),cz=BigInt(0),sN=BigInt(1);function TU($,v=""){if(typeof $!=="boolean"){let g=v&&`"${v}" `;throw TypeError(g+"expected boolean, got type="+typeof $)}return $}function oz($){if(typeof $==="bigint"){if(!xz($))throw RangeError("positive bigint expected, got "+$)}else $w($);return $}function JU($,v=""){if(typeof $!=="number"){let g=v&&`"${v}" `;throw TypeError(g+"expected number, got type="+typeof $)}if(!Number.isSafeInteger($)){let g=v&&`"${v}" `;throw RangeError(g+"expected safe integer, got "+$)}}function JJ($){let v=oz($).toString(16);return v.length&1?"0"+v:v}function _V($){if(typeof $!=="string")throw TypeError("hex string expected, got "+typeof $);return $===""?cz:BigInt("0x"+$)}function Bg($){return _V(Xz($))}function cv($){return _V(Xz(vg(c$($)).reverse()))}function yz($,v){if(f$(v),v===0)throw RangeError("zero length");$=oz($);let g=$.toString(16);if(g.length>v*2)throw RangeError("number too large");return C0(g.padStart(v*2,"0"))}function GJ($,v){return yz($,v).reverse()}function nV($,v){if($=A$($),v=A$(v),$.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function vg($){return Uint8Array.from(A$($))}function lz($){if(typeof $!=="string")throw TypeError("ascii string expected, got "+typeof $);return Uint8Array.from($,(v,g)=>{let I=v.charCodeAt(0);if(v.length!==1||I>127)throw RangeError(`string contains non-ASCII character "${$[g]}" with code ${I} at position ${g}`);return I})}var xz=($)=>typeof $==="bigint"&&cz<=$;function _1($,v,g){return xz($)&&xz(v)&&xz(g)&&v<=$&&$<g}function HU($,v,g,I){if(!_1(v,g,I))throw RangeError("expected valid "+$+": "+g+" <= n < "+I+", got "+v)}function _I($){if($<cz)throw Error("expected non-negative bigint, got "+$);let v;for(v=0;$>cz;$>>=sN,v+=1);return v}var zJ=($)=>(sN<<BigInt($))-sN;function bV($,v,g){if(f$($,"hashLen"),f$(v,"qByteLen"),typeof g!=="function")throw TypeError("hmacFn must be a function");let I=(r)=>new Uint8Array(r),U=Uint8Array.of(),J=Uint8Array.of(0),G=Uint8Array.of(1),z=1000,O=I($),D=I($),X=0,N=()=>{O.fill(1),D.fill(0),X=0},q=(...r)=>g(D,p$(O,...r)),w=(r=U)=>{if(D=q(J,r),O=q(),r.length===0)return;D=q(G,r),O=q()},W=()=>{if(X++>=z)throw Error("drbg: tried max amount of iterations");let r=0,T=[];while(r<v){O=q();let K=O.slice();T.push(K),r+=O.length}return p$(...T)};return(r,T)=>{N(),w(r);let K=void 0;while((K=T(W()))===void 0)w();return N(),K}}function _v($,v={},g={}){if(Object.prototype.toString.call($)!=="[object Object]")throw TypeError("expected valid options object");function I(J,G,z){if(!z&&G!=="function"&&!Object.hasOwn($,J))throw TypeError(`param "${J}" is invalid: expected own property`);let O=$[J];if(z&&O===void 0)return;let D=typeof O;if(D!==G||O===null)throw TypeError(`param "${J}" is invalid: expected ${G}, got ${D}`)}let U=(J,G)=>Object.entries(J).forEach(([z,O])=>I(z,O,G));U(v,!1),U(g,!0)}var vw=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var t$=BigInt(0),L$=BigInt(1),Cg=BigInt(2),xV=BigInt(3),cV=BigInt(4),oV=BigInt(5),n1=BigInt(7),yV=BigInt(8),b1=BigInt(9),lV=BigInt(16);function B$($,v){if(v<=t$)throw Error("mod: expected positive modulus, got "+v);let g=$%v;return g>=t$?g:v+g}function nv($,v,g){if(v<t$)throw Error("pow2: expected non-negative exponent, got "+v);let I=$;while(v-- >t$)I*=I,I%=g;return I}function mV($,v){if($===t$)throw Error("invert: expected non-zero number");if(v<=t$)throw Error("invert: expected positive modulus, got "+v);let g=B$($,v),I=v,U=t$,J=L$,G=L$,z=t$;while(g!==t$){let D=I/g,X=I-g*D,N=U-G*D,q=J-z*D;I=g,g=X,U=G,J=z,G=N,z=q}if(I!==L$)throw Error("invert: does not exist");return B$(U,v)}function Uw($,v,g){let I=$;if(!I.eql(I.sqr(v),g))throw Error("Cannot find square root")}function dV($,v){let g=$,I=(g.ORDER+L$)/cV,U=g.pow(v,I);return Uw(g,U,v),U}function m1($,v){let g=$,I=(g.ORDER-oV)/yV,U=g.mul(v,Cg),J=g.pow(U,I),G=g.mul(v,J),z=g.mul(g.mul(G,Cg),J),O=g.mul(G,g.sub(z,g.ONE));return Uw(g,O,v),O}function F1($){let v=dz($),g=hV($),I=g(v,v.neg(v.ONE)),U=g(v,I),J=g(v,v.neg(I)),G=($+n1)/lV;return(z,O)=>{let D=z,X=D.pow(O,G),N=D.mul(X,I),q=D.mul(X,U),w=D.mul(X,J),W=D.eql(D.sqr(N),O),Z=D.eql(D.sqr(q),O);X=D.cmov(X,N,W),N=D.cmov(w,q,Z);let r=D.eql(D.sqr(N),O),T=D.cmov(X,N,r);return Uw(D,T,O),T}}function hV($){if($<xV)throw Error("sqrt is not defined for small field");let v=$-L$,g=0;while(v%Cg===t$)v/=Cg,g++;let I=Cg,U=dz($);while(FV(U,I)===1)if(I++>1000)throw Error("Cannot find square root: probably non-prime P");if(g===1)return dV;let J=U.pow(I,v),G=(v+L$)/Cg;return function(O,D){let X=O;if(X.is0(D))return D;if(FV(X,D)!==1)throw Error("Cannot find square root");let N=g,q=X.mul(X.ONE,J),w=X.pow(D,v),W=X.pow(D,G);while(!X.eql(w,X.ONE)){if(X.is0(w))return X.ZERO;let Z=1,r=X.sqr(w);while(!X.eql(r,X.ONE))if(Z++,r=X.sqr(r),Z===N)throw Error("Cannot find square root");let T=L$<<BigInt(N-Z-1),K=X.pow(q,T);N=Z,q=X.sqr(K),w=X.mul(w,q),W=X.mul(W,K)}return W}}function i1($){if($%cV===xV)return dV;if($%yV===oV)return m1;if($%lV===b1)return F1($);return hV($)}var AU=($,v)=>(B$($,v)&L$)===L$,x1=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function gw($){let v={ORDER:"bigint",BYTES:"number",BITS:"number"},g=x1.reduce((I,U)=>{return I[U]="function",I},v);if(_v($,g),JU($.BYTES,"BYTES"),JU($.BITS,"BITS"),$.BYTES<1||$.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if($.ORDER<=L$)throw Error("invalid field: expected ORDER > 1, got "+$.ORDER);return $}function c1($,v,g){let I=$;if(g<t$)throw Error("invalid exponent, negatives unsupported");if(g===t$)return I.ONE;if(g===L$)return v;let U=I.ONE,J=v;while(g>t$){if(g&L$)U=I.mul(U,J);J=I.sqr(J),g>>=L$}return U}function OJ($,v,g=!1){let I=$,U=Array(v.length).fill(g?I.ZERO:void 0),J=v.reduce((z,O,D)=>{if(I.is0(O))return z;return U[D]=z,I.mul(z,O)},I.ONE),G=I.inv(J);return v.reduceRight((z,O,D)=>{if(I.is0(O))return z;return U[D]=I.mul(z,U[D]),I.mul(z,O)},G),U}function FV($,v){let g=$,I=(g.ORDER-L$)/Cg,U=g.pow(v,I),J=g.eql(U,g.ONE),G=g.eql(U,g.ZERO),z=g.eql(U,g.neg(g.ONE));if(!J&&!G&&!z)throw Error("invalid Legendre symbol result");return J?1:G?0:-1}function o1($,v){if(v!==void 0)$w(v);if($<=t$)throw Error("invalid n length: expected positive n, got "+$);if(v!==void 0&&v<1)throw Error("invalid n length: expected positive bit length, got "+v);let g=_I($);if(v!==void 0&&v<g)throw Error(`invalid n length: expected bit length (${g}) >= n.length (${v})`);let I=v!==void 0?v:g,U=Math.ceil(I/8);return{nBitLength:I,nByteLength:U}}var iV=new WeakMap;class Iw{ORDER;BITS;BYTES;isLE;ZERO=t$;ONE=L$;_lengths;_mod;constructor($,v={}){if($<=L$)throw Error("invalid field: expected ORDER > 1, got "+$);let g=void 0;if(this.isLE=!1,v!=null&&typeof v==="object"){if(typeof v.BITS==="number")g=v.BITS;if(typeof v.sqrt==="function")Object.defineProperty(this,"sqrt",{value:v.sqrt,enumerable:!0});if(typeof v.isLE==="boolean")this.isLE=v.isLE;if(v.allowedLengths)this._lengths=Object.freeze(v.allowedLengths.slice());if(typeof v.modFromBytes==="boolean")this._mod=v.modFromBytes}let{nBitLength:I,nByteLength:U}=o1($,g);if(U>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=$,this.BITS=I,this.BYTES=U,Object.freeze(this)}create($){return B$($,this.ORDER)}isValid($){if(typeof $!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof $);return t$<=$&&$<this.ORDER}is0($){return $===t$}isValidNot0($){return!this.is0($)&&this.isValid($)}isOdd($){return($&L$)===L$}neg($){return B$(-$,this.ORDER)}eql($,v){return $===v}sqr($){return B$($*$,this.ORDER)}add($,v){return B$($+v,this.ORDER)}sub($,v){return B$($-v,this.ORDER)}mul($,v){return B$($*v,this.ORDER)}pow($,v){return c1(this,$,v)}div($,v){return B$($*mV(v,this.ORDER),this.ORDER)}sqrN($){return $*$}addN($,v){return $+v}subN($,v){return $-v}mulN($,v){return $*v}inv($){return mV($,this.ORDER)}sqrt($){let v=iV.get(this);if(!v)iV.set(this,v=i1(this.ORDER));return v(this,$)}toBytes($){return this.isLE?GJ($,this.BYTES):yz($,this.BYTES)}fromBytes($,v=!1){A$($);let{_lengths:g,BYTES:I,isLE:U,ORDER:J,_mod:G}=this;if(g){if($.length<1||!g.includes($.length)||$.length>I)throw Error("Field.fromBytes: expected "+g+" bytes, got "+$.length);let O=new Uint8Array(I);O.set($,U?0:O.length-$.length),$=O}if($.length!==I)throw Error("Field.fromBytes: expected "+I+" bytes, got "+$.length);let z=U?cv($):Bg($);if(G)z=B$(z,J);if(!v){if(!this.isValid(z))throw Error("invalid field element: outside of range 0..ORDER")}return z}invertBatch($){return OJ(this,$)}cmov($,v,g){return TU(g,"condition"),g?v:$}}Object.freeze(Iw.prototype);function dz($,v={}){return new Iw($,v)}function pV($){if(typeof $!=="bigint")throw Error("field order must be bigint");if($<=L$)throw Error("field order must be greater than 1");let v=_I($-L$);return Math.ceil(v/8)}function Jw($){let v=pV($);return v+Math.ceil(v/2)}function tV($,v,g=!1){A$($);let I=$.length,U=pV(v),J=Math.max(Jw(v),16);if(I<J||I>1024)throw Error("expected "+J+"-1024 bytes of input, got "+I);let G=g?cv($):Bg($),z=B$(G,v-L$)+L$;return g?GJ(z,U):yz(z,U)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var nI=BigInt(0),Lg=BigInt(1);function DJ($,v){let g=v.negate();return $?g:v}function fg($,v){let g=OJ($.Fp,v.map((I)=>I.Z));return v.map((I,U)=>$.fromAffine(I.toAffine(g[U])))}function $Z($,v){if(!Number.isSafeInteger($)||$<=0||$>v)throw Error("invalid window size, expected [1.."+v+"], got W="+$)}function Gw($,v){$Z($,v);let g=Math.ceil(v/$)+1,I=2**($-1),U=2**$,J=zJ($),G=BigInt($);return{windows:g,windowSize:I,mask:J,maxNumber:U,shiftBy:G}}function aV($,v,g){let{windowSize:I,mask:U,maxNumber:J,shiftBy:G}=g,z=Number($&U),O=$>>G;if(z>I)z-=J,O+=Lg;let D=v*I,X=D+Math.abs(z)-1,N=z===0,q=z<0,w=v%2!==0;return{nextN:O,offset:X,isZero:N,isNeg:q,isNegF:w,offsetF:D}}var zw=new WeakMap,vZ=new WeakMap;function Ow($){return vZ.get($)||1}function eV($){if($!==nI)throw Error("invalid wNAF")}class QJ{BASE;ZERO;Fn;bits;constructor($,v){this.BASE=$.BASE,this.ZERO=$.ZERO,this.Fn=$.Fn,this.bits=v}_unsafeLadder($,v,g=this.ZERO){let I=$;while(v>nI){if(v&Lg)g=g.add(I);I=I.double(),v>>=Lg}return g}precomputeWindow($,v){let{windows:g,windowSize:I}=Gw(v,this.bits),U=[],J=$,G=J;for(let z=0;z<g;z++){G=J,U.push(G);for(let O=1;O<I;O++)G=G.add(J),U.push(G);J=G.double()}return U}wNAF($,v,g){if(!this.Fn.isValid(g))throw Error("invalid scalar");let I=this.ZERO,U=this.BASE,J=Gw($,this.bits);for(let G=0;G<J.windows;G++){let{nextN:z,offset:O,isZero:D,isNeg:X,isNegF:N,offsetF:q}=aV(g,G,J);if(g=z,D)U=U.add(DJ(N,v[q]));else I=I.add(DJ(X,v[O]))}return eV(g),{p:I,f:U}}wNAFUnsafe($,v,g,I=this.ZERO){let U=Gw($,this.bits);for(let J=0;J<U.windows;J++){if(g===nI)break;let{nextN:G,offset:z,isZero:O,isNeg:D}=aV(g,J,U);if(g=G,O)continue;else{let X=v[z];I=I.add(D?X.negate():X)}}return eV(g),I}getPrecomputes($,v,g){let I=zw.get(v);if(!I){if(I=this.precomputeWindow(v,$),$!==1){if(typeof g==="function")I=g(I);zw.set(v,I)}}return I}cached($,v,g){let I=Ow($);return this.wNAF(I,this.getPrecomputes(I,$,g),v)}unsafe($,v,g,I){let U=Ow($);if(U===1)return this._unsafeLadder($,v,I);return this.wNAFUnsafe(U,this.getPrecomputes(U,$,g),v,I)}createCache($,v){$Z(v,this.bits),vZ.set($,v),zw.delete($)}hasCache($){return Ow($)!==1}}function UZ($,v,g,I){let U=v,J=$.ZERO,G=$.ZERO;while(g>nI||I>nI){if(g&Lg)J=J.add(U);if(I&Lg)G=G.add(U);U=U.double(),g>>=Lg,I>>=Lg}return{p1:J,p2:G}}function sV($,v,g){if(v){if(v.ORDER!==$)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return gw(v),v}else return dz($,{isLE:g})}function hz($,v,g={},I){if(I===void 0)I=$==="edwards";if(!v||typeof v!=="object")throw Error(`expected valid ${$} CURVE object`);for(let O of["p","n","h"]){let D=v[O];if(!(typeof D==="bigint"&&D>nI))throw Error(`CURVE.${O} must be positive bigint`)}let U=sV(v.p,g.Fp,I),J=sV(v.n,g.Fn,I),z=["Gx","Gy","a",$==="weierstrass"?"b":"d"];for(let O of z)if(!U.isValid(v[O]))throw Error(`CURVE.${O} must be valid field element of CURVE.Fp`);return v=Object.freeze(Object.assign({},v)),{CURVE:v,Fp:U,Fn:J}}function XJ($,v){return function(I){let U=$(I);return{secretKey:U,publicKey:v(U)}}}function NJ($,v){if(JU($),JU(v),v<0||v>4)throw Error("invalid I2OSP length: "+v);if($<0||$>2**(8*v)-1)throw Error("invalid I2OSP input: "+$);let g=Array.from({length:v}).fill(0);for(let I=v-1;I>=0;I--)g[I]=$&255,$>>>=8;return new Uint8Array(g)}function y1($,v){let g=new Uint8Array($.length);for(let I=0;I<$.length;I++)g[I]=$[I]^v[I];return g}function l1($){if(!LI($)&&typeof $!=="string")throw Error("DST must be Uint8Array or ascii string");let v=typeof $==="string"?lz($):$;if(v.length===0)throw Error("DST must be non-empty");return v}function Dw($,v,g,I){if(A$($),JU(g),v=l1(v),v.length>255)v=I(p$(lz("H2C-OVERSIZE-DST-"),v));let{outputLen:U,blockLen:J}=I,G=Math.ceil(g/U);if(g>65535||G>255)throw Error("expand_message_xmd: invalid lenInBytes");let z=p$(v,NJ(v.length,1)),O=new Uint8Array(J),D=NJ(g,2),X=Array(G),N=I(p$(O,$,D,NJ(0,1),z));X[0]=I(p$(N,NJ(1,1),z));for(let w=1;w<G;w++){let W=[y1(N,X[w-1]),NJ(w+1,1),z];X[w]=I(p$(...W))}return p$(...X).slice(0,g)}var gZ="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var IZ=($,v)=>($+($>=0?v:-v)/GZ)/v;function d1($,v,g){HU("scalar",$,GU,g);let[[I,U],[J,G]]=v,z=IZ(G*$,g),O=IZ(-U*$,g),D=$-z*I-O*J,X=-z*U-O*G,N=D<GU,q=X<GU;if(N)D=-D;if(q)X=-X;let w=zJ(Math.ceil(_I(g)/2))+Ug;if(D<GU||D>=w||X<GU||X>=w)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:N,k1:D,k2neg:q,k2:X}}function Xw($){if(!["compact","recovered","der"].includes($))throw Error('Signature format must be "compact", "recovered", or "der"');return $}function Qw($,v){_v($);let g={};for(let I of Object.keys(v))g[I]=$[I]===void 0?v[I]:$[I];if(TU(g.lowS,"lowS"),TU(g.prehash,"prehash"),g.format!==void 0)Xw(g.format);return g}class JZ extends Error{constructor($=""){super($)}}var ov={Err:JZ,_tlv:{encode:($,v)=>{let{Err:g}=ov;if(JU($,"tag"),$<0||$>255)throw new g("tlv.encode: wrong tag");if(typeof v!=="string")throw TypeError('"data" expected string, got type='+typeof v);if(v.length&1)throw new g("tlv.encode: unpadded data");let I=v.length/2,U=JJ(I);if(U.length/2&128)throw new g("tlv.encode: long form length too big");let J=I>127?JJ(U.length/2|128):"";return JJ($)+J+U+v},decode($,v){let{Err:g}=ov;v=A$(v,void 0,"DER data");let I=0;if($<0||$>255)throw new g("tlv.encode: wrong tag");if(v.length<2||v[I++]!==$)throw new g("tlv.decode: wrong tlv");let U=v[I++],J=!!(U&128),G=0;if(!J)G=U;else{let O=U&127;if(!O)throw new g("tlv.decode(long): indefinite length not supported");if(O>4)throw new g("tlv.decode(long): byte length is too big");let D=v.subarray(I,I+O);if(D.length!==O)throw new g("tlv.decode: length bytes not complete");if(D[0]===0)throw new g("tlv.decode(long): zero leftmost byte");for(let X of D)G=G<<8|X;if(I+=O,G<128)throw new g("tlv.decode(long): not minimal encoding")}let z=v.subarray(I,I+G);if(z.length!==G)throw new g("tlv.decode: wrong value length");return{v:z,l:v.subarray(I+G)}}},_int:{encode($){let{Err:v}=ov;if(oz($),$<GU)throw new v("integer: negative integers are not allowed");let g=JJ($);if(Number.parseInt(g[0],16)&8)g="00"+g;if(g.length&1)throw new v("unexpected DER parsing assertion: unpadded hex");return g},decode($){let{Err:v}=ov;if($.length<1)throw new v("invalid signature integer: empty");if($[0]&128)throw new v("invalid signature integer: negative");if($.length>1&&$[0]===0&&!($[1]&128))throw new v("invalid signature integer: unnecessary leading zero");return Bg($)}},toSig($){let{Err:v,_int:g,_tlv:I}=ov,U=A$($,void 0,"signature"),{v:J,l:G}=I.decode(48,U);if(G.length)throw new v("invalid signature: left bytes after parsing");let{v:z,l:O}=I.decode(2,J),{v:D,l:X}=I.decode(2,O);if(X.length)throw new v("invalid signature: left bytes after parsing");return{r:g.decode(z),s:g.decode(D)}},hexFromSig($){let{_tlv:v,_int:g}=ov,I=v.encode(2,g.encode($.r)),U=v.encode(2,g.encode($.s)),J=I+U;return v.encode(48,J)}};Object.freeze(ov._tlv);Object.freeze(ov._int);Object.freeze(ov);var GU=BigInt(0),Ug=BigInt(1),GZ=BigInt(2),pz=BigInt(3),h1=BigInt(4);function zZ($,v={}){let g=hz("weierstrass",$,v),I=g.Fp,U=g.Fn,J=g.CURVE,{h:G,n:z}=J;_v(v,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:O,allowInfinityPoint:D}=v;if(O){if(!I.is0(J.a)||typeof O.beta!=="bigint"||!Array.isArray(O.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let X=DZ(I,U);function N(){if(!I.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function q(S,u,k){if(D&&u.is0())return Uint8Array.of(0);let{x:V,y:M}=u.toAffine(),j=I.toBytes(V);if(TU(k,"isCompressed"),k){N();let A=!I.isOdd(M);return p$(OZ(A),j)}else return p$(Uint8Array.of(4),j,I.toBytes(M))}function w(S){A$(S,void 0,"Point");let{publicKey:u,publicKeyUncompressed:k}=X,V=S.length,M=S[0],j=S.subarray(1);if(D&&V===1&&M===0)return{x:I.ZERO,y:I.ZERO};if(V===u&&(M===2||M===3)){let A=I.fromBytes(j);if(!I.isValid(A))throw Error("bad point: is not on curve, wrong x");let R=r(A),E;try{E=I.sqrt(R)}catch(e){let J$=e instanceof Error?": "+e.message:"";throw Error("bad point: is not on curve, sqrt error"+J$)}N();let C=I.isOdd(E);if((M&1)===1!==C)E=I.neg(E);return{x:A,y:E}}else if(V===k&&M===4){let A=I.BYTES,R=I.fromBytes(j.subarray(0,A)),E=I.fromBytes(j.subarray(A,A*2));if(!T(R,E))throw Error("bad point: is not on curve");return{x:R,y:E}}else throw Error(`bad point: got length ${V}, expected compressed=${u} or uncompressed=${k}`)}let W=v.toBytes===void 0?q:v.toBytes,Z=v.fromBytes===void 0?w:v.fromBytes;function r(S){let u=I.sqr(S),k=I.mul(u,S);return I.add(I.add(k,I.mul(S,J.a)),J.b)}function T(S,u){let k=I.sqr(u),V=r(S);return I.eql(k,V)}if(!T(J.Gx,J.Gy))throw Error("bad curve params: generator point");let K=I.mul(I.pow(J.a,pz),h1),_=I.mul(I.sqr(J.b),BigInt(27));if(I.is0(I.add(K,_)))throw Error("bad curve params: a or b");function L(S,u,k=!1){if(!I.isValid(u)||k&&I.is0(u))throw Error(`bad point coordinate ${S}`);return u}function i(S){if(!(S instanceof n))throw Error("Weierstrass Point expected")}function y(S){if(!O||!O.basises)throw Error("no endo");return d1(S,O.basises,U.ORDER)}function d(S,u,k,V,M){return k=new n(I.mul(k.X,S),k.Y,k.Z),u=DJ(V,u),k=DJ(M,k),u.add(k)}class n{static BASE=new n(J.Gx,J.Gy,I.ONE);static ZERO=new n(I.ZERO,I.ONE,I.ZERO);static Fp=I;static Fn=U;X;Y;Z;constructor(S,u,k){this.X=L("x",S),this.Y=L("y",u,!0),this.Z=L("z",k),Object.freeze(this)}static CURVE(){return J}static fromAffine(S){let{x:u,y:k}=S||{};if(!S||!I.isValid(u)||!I.isValid(k))throw Error("invalid affine point");if(S instanceof n)throw Error("projective point not allowed");if(I.is0(u)&&I.is0(k))return n.ZERO;return new n(u,k,I.ONE)}static fromBytes(S){let u=n.fromAffine(Z(A$(S,void 0,"point")));return u.assertValidity(),u}static fromHex(S){return n.fromBytes(CI(S))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(S=8,u=!0){if(v$.createCache(this,S),!u)this.multiply(pz);return this}assertValidity(){let S=this;if(S.is0()){if(v.allowInfinityPoint&&I.is0(S.X)&&I.eql(S.Y,I.ONE)&&I.is0(S.Z))return;throw Error("bad point: ZERO")}let{x:u,y:k}=S.toAffine();if(!I.isValid(u)||!I.isValid(k))throw Error("bad point: x or y not field elements");if(!T(u,k))throw Error("bad point: equation left != right");if(!S.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:S}=this.toAffine();if(!I.isOdd)throw Error("Field doesn't support isOdd");return!I.isOdd(S)}equals(S){i(S);let{X:u,Y:k,Z:V}=this,{X:M,Y:j,Z:A}=S,R=I.eql(I.mul(u,A),I.mul(M,V)),E=I.eql(I.mul(k,A),I.mul(j,V));return R&&E}negate(){return new n(this.X,I.neg(this.Y),this.Z)}double(){let{a:S,b:u}=J,k=I.mul(u,pz),{X:V,Y:M,Z:j}=this,A=I.ZERO,R=I.ZERO,E=I.ZERO,C=I.mul(V,V),x=I.mul(M,M),e=I.mul(j,j),J$=I.mul(V,M);return J$=I.add(J$,J$),E=I.mul(V,j),E=I.add(E,E),A=I.mul(S,E),R=I.mul(k,e),R=I.add(A,R),A=I.sub(x,R),R=I.add(x,R),R=I.mul(A,R),A=I.mul(J$,A),E=I.mul(k,E),e=I.mul(S,e),J$=I.sub(C,e),J$=I.mul(S,J$),J$=I.add(J$,E),E=I.add(C,C),C=I.add(E,C),C=I.add(C,e),C=I.mul(C,J$),R=I.add(R,C),e=I.mul(M,j),e=I.add(e,e),C=I.mul(e,J$),A=I.sub(A,C),E=I.mul(e,x),E=I.add(E,E),E=I.add(E,E),new n(A,R,E)}add(S){i(S);let{X:u,Y:k,Z:V}=this,{X:M,Y:j,Z:A}=S,R=I.ZERO,E=I.ZERO,C=I.ZERO,x=J.a,e=I.mul(J.b,pz),J$=I.mul(u,M),z$=I.mul(k,j),Q$=I.mul(V,A),w$=I.add(u,k),X$=I.add(M,j);w$=I.mul(w$,X$),X$=I.add(J$,z$),w$=I.sub(w$,X$),X$=I.add(u,V);let N$=I.add(M,A);return X$=I.mul(X$,N$),N$=I.add(J$,Q$),X$=I.sub(X$,N$),N$=I.add(k,V),R=I.add(j,A),N$=I.mul(N$,R),R=I.add(z$,Q$),N$=I.sub(N$,R),C=I.mul(x,X$),R=I.mul(e,Q$),C=I.add(R,C),R=I.sub(z$,C),C=I.add(z$,C),E=I.mul(R,C),z$=I.add(J$,J$),z$=I.add(z$,J$),Q$=I.mul(x,Q$),X$=I.mul(e,X$),z$=I.add(z$,Q$),Q$=I.sub(J$,Q$),Q$=I.mul(x,Q$),X$=I.add(X$,Q$),J$=I.mul(z$,X$),E=I.add(E,J$),J$=I.mul(N$,X$),R=I.mul(w$,R),R=I.sub(R,J$),J$=I.mul(w$,z$),C=I.mul(N$,C),C=I.add(C,J$),new n(R,E,C)}subtract(S){return i(S),this.add(S.negate())}is0(){return this.equals(n.ZERO)}multiply(S){let{endo:u}=v;if(!U.isValidNot0(S))throw RangeError("invalid scalar: out of range");let k,V,M=(j)=>v$.cached(this,j,(A)=>fg(n,A));if(u){let{k1neg:j,k1:A,k2neg:R,k2:E}=y(S),{p:C,f:x}=M(A),{p:e,f:J$}=M(E);V=x.add(J$),k=d(u.beta,C,e,j,R)}else{let{p:j,f:A}=M(S);k=j,V=A}return fg(n,[k,V])[0]}multiplyUnsafe(S){let{endo:u}=v,k=this,V=S;if(!U.isValid(V))throw RangeError("invalid scalar: out of range");if(V===GU||k.is0())return n.ZERO;if(V===Ug)return k;if(v$.hasCache(this))return this.multiply(V);if(u){let{k1neg:M,k1:j,k2neg:A,k2:R}=y(V),{p1:E,p2:C}=UZ(n,k,j,R);return d(u.beta,E,C,M,A)}else return v$.unsafe(k,V)}toAffine(S){let u=this,k=S,{X:V,Y:M,Z:j}=u;if(I.eql(j,I.ONE))return{x:V,y:M};let A=u.is0();if(k==null)k=A?I.ONE:I.inv(j);let R=I.mul(V,k),E=I.mul(M,k),C=I.mul(j,k);if(A)return{x:I.ZERO,y:I.ZERO};if(!I.eql(C,I.ONE))throw Error("invZ was invalid");return{x:R,y:E}}isTorsionFree(){let{isTorsionFree:S}=v;if(G===Ug)return!0;if(S)return S(n,this);return v$.unsafe(this,z).is0()}clearCofactor(){let{clearCofactor:S}=v;if(G===Ug)return this;if(S)return S(n,this);return this.multiplyUnsafe(G)}isSmallOrder(){if(G===Ug)return this.is0();return this.clearCofactor().is0()}toBytes(S=!0){return TU(S,"isCompressed"),this.assertValidity(),W(n,this,S)}toHex(S=!0){return BI(this.toBytes(S))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=U.BITS,v$=new QJ(n,v.endo?Math.ceil(b/2):b);if(b>=8)n.BASE.precompute(8);return Object.freeze(n.prototype),Object.freeze(n),n}function OZ($){return Uint8Array.of($?2:3)}function DZ($,v){return{secretKey:v.BYTES,publicKey:1+$.BYTES,publicKeyUncompressed:1+2*$.BYTES,publicKeyHasPrefix:!0,signature:2*v.BYTES}}function p1($,v={}){let{Fn:g}=$,I=v.randomBytes===void 0?fI:v.randomBytes,U=Object.assign(DZ($.Fp,g),{seed:Math.max(Jw(g.ORDER),16)});function J(w){try{let W=g.fromBytes(w);return g.isValidNot0(W)}catch(W){return!1}}function G(w,W){let{publicKey:Z,publicKeyUncompressed:r}=U;try{let T=w.length;if(W===!0&&T!==Z)return!1;if(W===!1&&T!==r)return!1;return!!$.fromBytes(w)}catch(T){return!1}}function z(w){return w=w===void 0?I(U.seed):w,tV(A$(w,U.seed,"seed"),g.ORDER)}function O(w,W=!0){return $.BASE.multiply(g.fromBytes(w)).toBytes(W)}function D(w){let{secretKey:W,publicKey:Z,publicKeyUncompressed:r}=U,T=g._lengths;if(!LI(w))return;let K=A$(w,void 0,"key").length,_=K===Z||K===r,L=K===W||!!T?.includes(K);if(_&&L)return;return _}function X(w,W,Z=!0){if(D(w)===!0)throw Error("first arg must be private key");if(D(W)===!1)throw Error("second arg must be public key");let r=g.fromBytes(w);return $.fromBytes(W).multiply(r).toBytes(Z)}let N={isValidSecretKey:J,isValidPublicKey:G,randomSecretKey:z},q=XJ(z,O);return Object.freeze(N),Object.freeze(U),Object.freeze({getPublicKey:O,getSharedSecret:X,keygen:q,Point:$,utils:N,lengths:U})}function QZ($,v,g={}){let I=v;qU(I),_v(g,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),g=Object.assign({},g);let U=g.randomBytes===void 0?fI:g.randomBytes,J=g.hmac===void 0?(M,j)=>sv(I,M,j):g.hmac,{Fp:G,Fn:z}=$,{ORDER:O,BITS:D}=z,{keygen:X,getPublicKey:N,getSharedSecret:q,utils:w,lengths:W}=p1($,g),Z={prehash:!0,lowS:typeof g.lowS==="boolean"?g.lowS:!0,format:"compact",extraEntropy:!1},r=O*GZ+Ug<G.ORDER;function T(M){let j=O>>Ug;return M>j}function K(M,j){if(!z.isValidNot0(j))throw Error(`invalid signature ${M}: out of range 1..Point.Fn.ORDER`);return j}function _(){if(r)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function L(M,j){Xw(j);let A=W.signature,R=j==="compact"?A:j==="recovered"?A+1:void 0;return A$(M,R)}class i{r;s;recovery;constructor(M,j,A){if(this.r=K("r",M),this.s=K("s",j),A!=null){if(_(),![0,1,2,3].includes(A))throw Error("invalid recovery id");this.recovery=A}Object.freeze(this)}static fromBytes(M,j=Z.format){L(M,j);let A;if(j==="der"){let{r:x,s:e}=ov.toSig(A$(M));return new i(x,e)}if(j==="recovered")A=M[0],j="compact",M=M.subarray(1);let R=W.signature/2,E=M.subarray(0,R),C=M.subarray(R,R*2);return new i(z.fromBytes(E),z.fromBytes(C),A)}static fromHex(M,j){return this.fromBytes(CI(M),j)}assertRecovery(){let{recovery:M}=this;if(M==null)throw Error("invalid recovery id: must be present");return M}addRecoveryBit(M){return new i(this.r,this.s,M)}recoverPublicKey(M){let{r:j,s:A}=this,R=this.assertRecovery(),E=R===2||R===3?j+O:j;if(!G.isValid(E))throw Error("invalid recovery id: sig.r+curve.n != R.x");let C=G.toBytes(E),x=$.fromBytes(p$(OZ((R&1)===0),C)),e=z.inv(E),J$=d(A$(M,void 0,"msgHash")),z$=z.create(-J$*e),Q$=z.create(A*e),w$=$.BASE.multiplyUnsafe(z$).add(x.multiplyUnsafe(Q$));if(w$.is0())throw Error("invalid recovery: point at infinify");return w$.assertValidity(),w$}hasHighS(){return T(this.s)}toBytes(M=Z.format){if(Xw(M),M==="der")return CI(ov.hexFromSig(this));let{r:j,s:A}=this,R=z.toBytes(j),E=z.toBytes(A);if(M==="recovered")return _(),p$(Uint8Array.of(this.assertRecovery()),R,E);return p$(R,E)}toHex(M){return BI(this.toBytes(M))}}Object.freeze(i.prototype),Object.freeze(i);let y=g.bits2int===void 0?function(j){if(j.length>8192)throw Error("input is too large");let A=Bg(j),R=j.length*8-D;return R>0?A>>BigInt(R):A}:g.bits2int,d=g.bits2int_modN===void 0?function(j){return z.create(y(j))}:g.bits2int_modN,n=zJ(D);function b(M){return HU("num < 2^"+D,M,GU,n),z.toBytes(M)}function v$(M,j){return A$(M,void 0,"message"),j?A$(I(M),void 0,"prehashed message"):M}function S(M,j,A){let{lowS:R,prehash:E,extraEntropy:C}=Qw(A,Z);M=v$(M,E);let x=d(M),e=z.fromBytes(j);if(!z.isValidNot0(e))throw Error("invalid private key");let J$=[b(e),b(x)];if(C!=null&&C!==!1){let X$=C===!0?U(W.secretKey):C;J$.push(A$(X$,void 0,"extraEntropy"))}let z$=p$(...J$),Q$=x;function w$(X$){let N$=y(X$);if(!z.isValidNot0(N$))return;let r$=z.inv(N$),k$=$.BASE.multiply(N$).toAffine(),E$=z.create(k$.x);if(E$===GU)return;let a$=z.create(r$*z.create(Q$+E$*e));if(a$===GU)return;let e$=(k$.x===E$?0:2)|Number(k$.y&Ug),Vv=a$;if(R&&T(a$))Vv=z.neg(a$),e$^=1;return new i(E$,Vv,r?void 0:e$)}return{seed:z$,k2sig:w$}}function u(M,j,A={}){let{seed:R,k2sig:E}=S(M,j,A);return bV(I.outputLen,z.BYTES,J)(R,E).toBytes(A.format)}function k(M,j,A,R={}){let{lowS:E,prehash:C,format:x}=Qw(R,Z);if(A=A$(A,void 0,"publicKey"),j=v$(j,C),!LI(M)){let e=M instanceof i?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+e)}L(M,x);try{let e=i.fromBytes(M,x),J$=$.fromBytes(A);if(E&&e.hasHighS())return!1;let{r:z$,s:Q$}=e,w$=d(j),X$=z.inv(Q$),N$=z.create(w$*X$),r$=z.create(z$*X$),k$=$.BASE.multiplyUnsafe(N$).add(J$.multiplyUnsafe(r$));if(k$.is0())return!1;return z.create(k$.x)===z$}catch(e){return!1}}function V(M,j,A={}){let{prehash:R}=Qw(A,Z);return j=v$(j,R),i.fromBytes(M,"recovered").recoverPublicKey(j).toBytes()}return Object.freeze({keygen:X,getPublicKey:N,getSharedSecret:q,utils:w,lengths:W,Point:$,sign:u,verify:k,recoverPublicKey:V,Signature:i,hash:I})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var t1=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var a1=zZ(t1),bI=QZ(a1,_$);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gg=BigInt(0),Kv=BigInt(1),Nw=BigInt(2),e1=BigInt(8);function s1($,v,g,I){let U=$.sqr(g),J=$.sqr(I),G=$.add($.mul(v.a,U),J),z=$.add($.ONE,$.mul(v.d,$.mul(U,J)));return $.eql(G,z)}function XZ($,v={}){let g=v,I=hz("edwards",$,g,g.FpFnLE),{Fp:U,Fn:J}=I,G=I.CURVE,{h:z}=G;_v(g,{},{uvRatio:"function"});let O=Nw<<BigInt(J.BYTES*8)-Kv,D=(Z)=>U.create(Z),X=g.uvRatio===void 0?(Z,r)=>{try{return{isValid:!0,value:U.sqrt(U.div(Z,r))}}catch(T){return{isValid:!1,value:gg}}}:g.uvRatio;if(!s1(U,G,G.Gx,G.Gy))throw Error("bad curve params: generator point");function N(Z,r,T=!1){let K=T?Kv:gg;return HU("coordinate "+Z,r,K,O),r}function q(Z){if(!(Z instanceof w))throw Error("EdwardsPoint expected")}class w{static BASE=new w(G.Gx,G.Gy,Kv,D(G.Gx*G.Gy));static ZERO=new w(gg,Kv,Kv,gg);static Fp=U;static Fn=J;X;Y;Z;T;constructor(Z,r,T,K){this.X=N("x",Z),this.Y=N("y",r),this.Z=N("z",T,!0),this.T=N("t",K),Object.freeze(this)}static CURVE(){return G}static fromAffine(Z){if(Z instanceof w)throw Error("extended point not allowed");let{x:r,y:T}=Z||{};return N("x",r),N("y",T),new w(r,T,Kv,D(r*T))}static fromBytes(Z,r=!1){let T=U.BYTES,{a:K,d:_}=G;Z=vg(A$(Z,T,"point")),TU(r,"zip215");let L=vg(Z),i=Z[T-1];L[T-1]=i&-129;let y=cv(L),d=r?O:U.ORDER;HU("point.y",y,gg,d);let n=D(y*y),b=D(n-Kv),v$=D(_*n-K),{isValid:S,value:u}=X(b,v$);if(!S)throw Error("bad point: invalid y coordinate");let k=(u&Kv)===Kv,V=(i&128)!==0;if(!r&&u===gg&&V)throw Error("bad point: x=0 and x_0=1");if(V!==k)u=D(-u);return w.fromAffine({x:u,y})}static fromHex(Z,r=!1){return w.fromBytes(CI(Z),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Z=8,r=!0){if(W.createCache(this,Z),!r)this.multiply(Nw);return this}assertValidity(){let Z=this,{a:r,d:T}=G;if(Z.is0())throw Error("bad point: ZERO");let{X:K,Y:_,Z:L,T:i}=Z,y=D(K*K),d=D(_*_),n=D(L*L),b=D(n*n),v$=D(y*r),S=D(n*D(v$+d)),u=D(b+D(T*D(y*d)));if(S!==u)throw Error("bad point: equation left != right (1)");let k=D(K*_),V=D(L*i);if(k!==V)throw Error("bad point: equation left != right (2)")}equals(Z){q(Z);let{X:r,Y:T,Z:K}=this,{X:_,Y:L,Z:i}=Z,y=D(r*i),d=D(_*K),n=D(T*i),b=D(L*K);return y===d&&n===b}is0(){return this.equals(w.ZERO)}negate(){return new w(D(-this.X),this.Y,this.Z,D(-this.T))}double(){let{a:Z}=G,{X:r,Y:T,Z:K}=this,_=D(r*r),L=D(T*T),i=D(Nw*D(K*K)),y=D(Z*_),d=r+T,n=D(D(d*d)-_-L),b=y+L,v$=b-i,S=y-L,u=D(n*v$),k=D(b*S),V=D(n*S),M=D(v$*b);return new w(u,k,M,V)}add(Z){q(Z);let{a:r,d:T}=G,{X:K,Y:_,Z:L,T:i}=this,{X:y,Y:d,Z:n,T:b}=Z,v$=D(K*y),S=D(_*d),u=D(i*T*b),k=D(L*n),V=D((K+_)*(y+d)-v$-S),M=k-u,j=k+u,A=D(S-r*v$),R=D(V*M),E=D(j*A),C=D(V*A),x=D(M*j);return new w(R,E,x,C)}subtract(Z){return q(Z),this.add(Z.negate())}multiply(Z){if(!J.isValidNot0(Z))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:r,f:T}=W.cached(this,Z,(K)=>fg(w,K));return fg(w,[r,T])[0]}multiplyUnsafe(Z){if(!J.isValid(Z))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(Z===gg)return w.ZERO;if(this.is0()||Z===Kv)return this;return W.unsafe(this,Z,(r)=>fg(w,r))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return W.unsafe(this,G.n).is0()}toAffine(Z){let r=this,T=Z,{X:K,Y:_,Z:L}=r,i=r.is0();if(T==null)T=i?e1:U.inv(L);let y=D(K*T),d=D(_*T),n=U.mul(L,T);if(i)return{x:gg,y:Kv};if(n!==Kv)throw Error("invZ was invalid");return{x:y,y:d}}clearCofactor(){if(z===Kv)return this;return this.multiplyUnsafe(z)}toBytes(){let{x:Z,y:r}=this.toAffine(),T=U.toBytes(r);return T[T.length-1]|=Z&Kv?128:0,T}toHex(){return BI(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let W=new QJ(w,J.BITS);if(J.BITS>=8)w.BASE.precompute(8);return Object.freeze(w.prototype),Object.freeze(w),w}class ww{static BASE;static ZERO;static Fp;static Fn;ep;constructor($){this.ep=$}static fromBytes($){vw()}static fromHex($){vw()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine($){return this.ep.toAffine($)}toHex(){return BI(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add($){return this.assertSame($),this.init(this.ep.add($.ep))}subtract($){return this.assertSame($),this.init(this.ep.subtract($.ep))}multiply($){return this.init(this.ep.multiply($))}multiplyUnsafe($){return this.init(this.ep.multiplyUnsafe($))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute($,v){return this.ep.precompute($,v),this}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var wJ=BigInt(0),mI=BigInt(1),tz=BigInt(2);function $u($){return _v($,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...$})}function NZ($){let v=$u($),{P:g,type:I,adjustScalarBytes:U,powPminus2:J,randomBytes:G}=v,z=I==="x25519";if(!z&&I!=="x448")throw Error("invalid type");let O=G===void 0?fI:G,D=z?255:448,X=z?32:56,N=z?BigInt(9):BigInt(5),q=z?BigInt(121665):BigInt(39081),w=z?tz**BigInt(254):tz**BigInt(447),W=z?BigInt(8)*tz**BigInt(251)-mI:BigInt(4)*tz**BigInt(445)-mI,Z=w+W+mI,r=(V)=>B$(V,g),T=K(N);function K(V){return GJ(r(V),X)}function _(V){let M=vg(A$(V,X,"uCoordinate"));if(z)M[31]&=127;return r(cv(M))}function L(V){return cv(U(vg(A$(V,X,"scalar"))))}function i(V,M){let j=v$(_(M),L(V));if(j===wJ)throw Error("invalid private or public key received");return K(j)}function y(V){return i(V,T)}let d=y,n=i;function b(V,M,j){let A=r(V*(M-j));return M=r(M-A),j=r(j+A),{x_2:M,x_3:j}}function v$(V,M){HU("u",V,wJ,g),HU("scalar",M,w,Z);let j=M,A=V,R=mI,E=wJ,C=V,x=mI,e=wJ;for(let z$=BigInt(D-1);z$>=wJ;z$--){let Q$=j>>z$&mI;e^=Q$,{x_2:R,x_3:C}=b(e,R,C),{x_2:E,x_3:x}=b(e,E,x),e=Q$;let w$=R+E,X$=r(w$*w$),N$=R-E,r$=r(N$*N$),k$=X$-r$,E$=C+x,a$=C-x,e$=r(a$*w$),Vv=r(E$*N$),yv=e$+Vv,lv=e$-Vv;C=r(yv*yv),x=r(A*r(lv*lv)),R=r(X$*r$),E=r(k$*(X$+r(q*k$)))}({x_2:R,x_3:C}=b(e,R,C)),{x_2:E,x_3:x}=b(e,E,x);let J$=J(E);return r(R*J$)}let S={secretKey:X,publicKey:X,seed:X},u=(V)=>{return V=V===void 0?O(X):V,A$(V,S.seed,"seed"),V},k={randomSecretKey:u};return Object.freeze(S),Object.freeze(k),Object.freeze({keygen:XJ(u,d),getSharedSecret:n,getPublicKey:d,scalarMult:i,scalarMultBase:y,utils:k,GuBytes:T.slice(),lengths:S})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var vu=BigInt(0),SU=BigInt(1),wZ=BigInt(2),Uu=BigInt(3),gu=BigInt(5),Iu=BigInt(8),ng=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),rw=(()=>({p:ng,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Iu,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function WZ($){let v=BigInt(10),g=BigInt(20),I=BigInt(40),U=BigInt(80),J=ng,z=$*$%J*$%J,O=nv(z,wZ,J)*z%J,D=nv(O,SU,J)*$%J,X=nv(D,gu,J)*D%J,N=nv(X,v,J)*X%J,q=nv(N,g,J)*N%J,w=nv(q,I,J)*q%J,W=nv(w,U,J)*w%J,Z=nv(W,U,J)*w%J,r=nv(Z,v,J)*X%J;return{pow_p_5_8:nv(r,wZ,J)*$%J,b2:z}}function Ju($){return $[0]&=248,$[31]&=127,$[31]|=64,$}var qw=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Vw($,v){let g=ng,I=B$(v*v*v,g),U=B$(I*I*v,g),J=WZ($*U).pow_p_5_8,G=B$($*I*J,g),z=B$(v*G*G,g),O=G,D=B$(G*qw,g),X=z===$,N=z===B$(-$,g),q=z===B$(-$*qw,g);if(X)G=O;if(N||q)G=D;if(AU(G,g))G=B$(-G,g);return{isValid:X||N,value:G}}var _g=XZ(rw,{uvRatio:Vw}),Ig=(()=>_g.Fp)(),rZ=(()=>_g.Fn)();var az=(()=>{let $=ng;return NZ({P:$,type:"x25519",powPminus2:(v)=>{let{pow_p_5_8:g,b2:I}=WZ(v);return B$(nv(g,Uu,$)*I,$)},adjustScalarBytes:Ju})})();var Yw=qw,Gu=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),zu=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ou=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Du=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),qZ=($)=>Vw(SU,$),Qu=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ww=($)=>Ig.create(cv($)&Qu);function YZ($){let{d:v}=rw,g=ng,I=(T)=>Ig.create(T),U=I(Yw*$*$),J=I((U+SU)*Ou),G=BigInt(-1),z=I((G-v*U)*I(U+v)),{isValid:O,value:D}=Vw(J,z),X=I(D*$);if(!AU(X,g))X=I(-X);if(!O)D=X;if(!O)G=U;let N=I(G*(U-SU)*Du-z),q=D*D,w=I((D+D)*z),W=I(N*Gu),Z=I(SU-q),r=I(SU+q);return new _g(I(w*r),I(Z*W),I(W*r),I(w*Z))}class rv extends ww{static BASE=(()=>new rv(_g.BASE))();static ZERO=(()=>new rv(_g.ZERO))();static Fp=(()=>Ig)();static Fn=(()=>rZ)();constructor($){super($)}static fromAffine($){return new rv(_g.fromAffine($))}assertSame($){if(!($ instanceof rv))throw Error("RistrettoPoint expected")}init($){return new rv($)}static fromBytes($){c$($,32);let{a:v,d:g}=rw,I=ng,U=(_)=>Ig.create(_),J=Ww($);if(!nV(Ig.toBytes(J),$)||AU(J,I))throw Error("invalid ristretto255 encoding 1");let G=U(J*J),z=U(SU+v*G),O=U(SU-v*G),D=U(z*z),X=U(O*O),N=U(v*g*D-X),{isValid:q,value:w}=qZ(U(N*X)),W=U(w*O),Z=U(w*W*N),r=U((J+J)*W);if(AU(r,I))r=U(-r);let T=U(z*Z),K=U(r*T);if(!q||AU(K,I)||T===vu)throw Error("invalid ristretto255 encoding 2");return new rv(new _g(r,T,SU,K))}static fromHex($){return rv.fromBytes(C0($))}toBytes(){let{X:$,Y:v,Z:g,T:I}=this.ep,U=ng,J=(Z)=>Ig.create(Z),G=J(J(g+v)*J(g-v)),z=J($*v),O=J(z*z),{value:D}=qZ(J(G*O)),X=J(D*G),N=J(D*z),q=J(X*N*I),w;if(AU(I*q,U)){let Z=J(v*Yw),r=J($*Yw);$=Z,v=r,w=J(X*zu)}else w=N;if(AU($*q,U))v=J(-v);let W=J((g-v)*w);if(AU(W,U))W=J(-W);return Ig.toBytes(W)}equals($){this.assertSame($);let{X:v,Y:g}=this.ep,{X:I,Y:U}=$.ep,J=(O)=>Ig.create(O),G=J(v*U)===J(g*I),z=J(g*U)===J(v*I);return G||z}is0(){return this.equals(rv.ZERO)}}Object.freeze(rv.BASE);Object.freeze(rv.ZERO);Object.freeze(rv.prototype);Object.freeze(rv);var Xu=Object.freeze({Point:rv,hashToCurve($,v){let g=v?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":v.DST,I=Dw($,g,64,Yz);return Xu.deriveToCurve(I)},hashToScalar($,v={DST:gZ}){let g=Dw($,v.DST,64,Yz);return rZ.create(cv(g))},deriveToCurve($){c$($,64);let v=Ww($.subarray(0,32)),g=YZ(v),I=Ww($.subarray(32,64)),U=YZ(I);return new rv(g.add(U))}});var VZ=!1,Nu=!1;async function ZZ($,v){if(Nu)return await v();try{return await $()}catch(g){if(g instanceof ReferenceError||g instanceof DOMException&&g.name==="NotSupportedError")return await v();else throw g}}async function ez($,v){return await ZZ(async()=>{let g=Zw($)?$:await qu($),I=await crypto.subtle.importKey("raw",Yu(v),{name:"X25519"},VZ,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:I},g,256))},()=>{if(Zw($))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return az.scalarMult($,v)})}async function qJ($){return await ZZ(async()=>{return ez($,az.GuBytes)},()=>{if(Zw($))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return az.scalarMultBase($)})}var wu=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function qu($){if($.length!==32)throw Error("X25519 private key must be 32 bytes");let v=new Uint8Array([...wu,...$]);return crypto.subtle.importKey("pkcs8",v,{name:"X25519"},VZ,["deriveBits"])}function Zw($){return typeof CryptoKey<"u"&&$ instanceof CryptoKey}function Yu($){return $}class jw{s;transcript=[];buf=new Uint8Array(0);constructor($){this.s=$.getReader()}async readLine(){let $=[];while(!0){let v=this.buf.indexOf(10);if(v>=0)return $.push(this.buf.subarray(0,v)),this.transcript.push(this.buf.subarray(0,v+1)),this.buf=this.buf.subarray(v+1),ru(bg($));if(this.buf.length>0)$.push(this.buf),this.transcript.push(this.buf);let g=await this.s.read();if(g.done)return this.buf=bg($),null;this.buf=g.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:bg(this.transcript)}}}function ru($){return $.forEach((v)=>{if(v<32||v>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode($)}function bg($){let v=$.reduce((U,J)=>U+J.length,0),g=new Uint8Array(v),I=0;for(let U of $)g.set(U,I),I+=U.length;return g}function FI($,...v){return $.pipeThrough(new TransformStream({start(g){for(let I of v)g.enqueue(I)}}))}function sz($){return new ReadableStream({start(v){v.enqueue($),v.close()}})}async function Mw($){if(!($ instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response($).arrayBuffer())}async function jZ($){if(!($ instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response($).text()}async function MZ($,v){let g=$.getReader(),I=[],U=0;while(U<v){let{done:O,value:D}=await g.read();if(O)throw Error("stream ended before reading "+v.toString()+" bytes");I.push(D),U+=D.length}g.releaseLock();let J=bg(I),G=J.subarray(0,v),z=FI($,J.subarray(v));return{data:G,rest:z}}class zU{args;body;constructor($,v){this.args=$,this.body=v}}async function Vu($){let v=await $.readLine();if(v===null)throw Error("invalid stanza");let g=v.split(" ");if(g.length<2||g.shift()!=="->")return{next:v};for(let J of g)if(J.length===0)throw Error("invalid stanza");let I=[];for(;;){let J=await $.readLine();if(J===null)throw Error("invalid stanza");let G=gv.decode(J);if(G.length>48)throw Error("invalid stanza");if(I.push(G),G.length<48)break}let U=bg(I);return{s:new zU(g,U)}}async function RZ($){let v=new jw($),g=await v.readLine();if(g!=="age-encryption.org/v1")throw Error("invalid version "+(g??"line"));let I=[];for(;;){let{s:U,next:J}=await Vu(v);if(U!==void 0){I.push(U);continue}if(!J.startsWith("--- "))throw Error("invalid header");let G=gv.decode(J.slice(4)),{rest:z,transcript:O}=v.close(),D=O.slice(0,O.length-1-J.length+3);return{stanzas:I,headerNoMAC:D,MAC:G,headerSize:O.length,rest:FI($,z)}}}function Rw($){let v=[];v.push(`age-encryption.org/v1
266
266
  `);for(let g of $){v.push("-> "+g.args.join(" ")+`
267
267
  `);for(let I=0;I<g.body.length;I+=48){let U=I+48;if(U>g.body.length)U=g.body.length;v.push(gv.encode(g.body.subarray(I,U))+`
268
268
  `)}if(g.body.length%48===0)v.push(`
269
269
  `)}return v.push("---"),new TextEncoder().encode(v.join(""))}function KZ($,v){return bg([Rw($),new TextEncoder().encode(" "+gv.encode(v)+`
270
- `)])}function Tw(){return uZ()}function uZ(){let $=YU(32),v=Pv.encodeFromBytes("AGE-SECRET-KEY-",$).toUpperCase();return Promise.resolve(v)}async function v8($){let v;if(HZ($))v=$;else if($.startsWith("AGE-SECRET-KEY-PQ-1")){let I=Pv.decodeToBytes($);if(I.prefix.toUpperCase()!=="AGE-SECRET-KEY-PQ-"||I.bytes.length!==32)throw Error("invalid identity");let U=iz.getPublicKey(I.bytes);return Pv.encode("age1pq",Pv.toWords(U),!1)}else{let I=Pv.decodeToBytes($);if(!$.startsWith("AGE-SECRET-KEY-1")||I.prefix.toUpperCase()!=="AGE-SECRET-KEY-"||I.bytes.length!==32)throw Error("invalid identity");v=I.bytes}let g=await qJ(v);return Pv.encodeFromBytes("age",g)}class Hw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1pq1")||v.prefix.toLowerCase()!=="age1pq"||v.bytes.length!==1216)throw Error("invalid recipient");this.recipient=v.bytes}wrapFileKey($){let{cipherText:v,sharedSecret:g}=iz.encapsulate(this.recipient),I=new TextEncoder().encode("age-encryption.org/mlkem768x25519"),{key:U,nonce:J}=U8(TZ,g,I),G=Cv(U,J).encrypt($);return[new zU(["mlkem768x25519",gv.encode(v)],G)]}}class Aw{identity;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("AGE-SECRET-KEY-PQ-1")||v.prefix.toUpperCase()!=="AGE-SECRET-KEY-PQ-"||v.bytes.length!==32)throw Error("invalid identity");this.identity=v.bytes}unwrapFileKey($){for(let v of $){if(v.args.length<1||v.args[0]!=="mlkem768x25519")continue;if(v.args.length!==2)throw Error("invalid mlkem768x25519 stanza");let g=gv.decode(v.args[1]);if(g.length!==1120)throw Error("invalid mlkem768x25519 stanza");if(v.body.length!==32)throw Error("invalid mlkem768x25519 stanza");let I=iz.decapsulate(g,this.identity),U=new TextEncoder().encode("age-encryption.org/mlkem768x25519"),{key:J,nonce:G}=U8(TZ,I,U);try{return Cv(J,G).decrypt(v.body)}catch{continue}}return null}}var TZ=25722,Z1=80,Kw=16;function U8($,v,g){let I=j1($),U=$8(I,void 0,"psk_id_hash",new Uint8Array(0)),J=$8(I,void 0,"info_hash",g),G=new Uint8Array(1+U.length+J.length);G[0]=0,G.set(U,1),G.set(J,1+U.length);let z=$8(I,v,"secret",new Uint8Array(0)),O=uw(I,z,"key",G,32),D=uw(I,z,"base_nonce",G,12);return{key:O,nonce:D}}function j1($){let v=new Uint8Array(10);return v.set(new TextEncoder().encode("HPKE"),0),v[4]=$>>8&255,v[5]=$&255,v[6]=0,v[7]=1,v[8]=0,v[9]=3,v}function $8($,v,g,I){let U=new Uint8Array(7+$.length+g.length+I.length),J=0;return U.set(new TextEncoder().encode("HPKE-v1"),J),J+=7,U.set($,J),J+=$.length,U.set(new TextEncoder().encode(g),J),J+=g.length,U.set(I,J),L0(_$,U,v)}function uw($,v,g,I,U){let J=new Uint8Array(9+$.length+g.length+I.length),G=0;return J[G]=U>>8&255,J[G+1]=U&255,G+=2,J.set(new TextEncoder().encode("HPKE-v1"),G),G+=7,J.set($,G),G+=$.length,J.set(new TextEncoder().encode(g),G),G+=g.length,J.set(I,G),GN(_$,v,J,U)}function M1($){if($.length!==bI.lengths.publicKeyUncompressed)$=bI.Point.fromBytes($).toBytes(!1);let v=bI.utils.randomSecretKey(),g=bI.getPublicKey(v,!1),I=bI.getSharedSecret(v,$,!0).subarray(1),U=new Uint8Array(g.length+$.length);U.set(g,0),U.set($,g.length);let J=new Uint8Array(5);J.set(new TextEncoder().encode("KEM"),0),J[3]=Kw>>8,J[4]=Kw&255;let G=$8(J,void 0,"eae_prk",I),z=uw(J,G,"shared_secret",U,32);return{encapsulatedKey:g,sharedSecret:z}}class Sw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1tag1")||v.prefix.toLowerCase()!=="age1tag"||v.bytes.length!==33)throw Error("invalid recipient");this.recipient=v.bytes}wrapFileKey($){let{encapsulatedKey:v,sharedSecret:g}=M1(this.recipient),I=new TextEncoder().encode("age-encryption.org/p256tag"),U=(()=>{let O=_$(this.recipient).subarray(0,4),D=new Uint8Array(v.length+O.length);return D.set(v,0),D.set(O,v.length),L0(_$,D,I).subarray(0,4)})(),{key:J,nonce:G}=U8(Kw,g,I),z=Cv(J,G).encrypt($);return[new zU(["p256tag",gv.encode(U),gv.encode(v)],z)]}}class kw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1tagpq1")||v.prefix.toLowerCase()!=="age1tagpq"||v.bytes.length!==1249)throw Error("invalid recipient");this.recipient=v.bytes}wrapFileKey($){let{cipherText:v,sharedSecret:g}=fV.encapsulate(this.recipient),I=new TextEncoder().encode("age-encryption.org/mlkem768p256tag"),U=(()=>{let O=_$(this.recipient.subarray(1184)).subarray(0,4),D=new Uint8Array(v.length+O.length);return D.set(v,0),D.set(O,v.length),L0(_$,D,I).subarray(0,4)})(),{key:J,nonce:G}=U8(Z1,g,I),z=Cv(J,G).encrypt($);return[new zU(["mlkem768p256tag",gv.encode(U),gv.encode(v)],z)]}}class Pw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1")||v.prefix.toLowerCase()!=="age"||v.bytes.length!==32)throw Error("invalid recipient");this.recipient=v.bytes}async wrapFileKey($){let v=YU(32),g=await qJ(v),I=await ez(v,this.recipient),U=new Uint8Array(g.length+this.recipient.length);U.set(g),U.set(this.recipient,g.length);let J=new TextEncoder().encode("age-encryption.org/v1/X25519"),G=iU(_$,I,U,J,32);return[new zU(["X25519",gv.encode(g)],Cw($,G))]}}class g8{identity;recipient;constructor($){if(HZ($)){this.identity=$,this.recipient=qJ($);return}let v=Pv.decodeToBytes($);if(!$.startsWith("AGE-SECRET-KEY-1")||v.prefix.toUpperCase()!=="AGE-SECRET-KEY-"||v.bytes.length!==32)throw Error("invalid identity");this.identity=v.bytes,this.recipient=qJ(v.bytes)}async unwrapFileKey($){for(let v of $){if(v.args.length<1||v.args[0]!=="X25519")continue;if(v.args.length!==2)throw Error("invalid X25519 stanza");let g=gv.decode(v.args[1]);if(g.length!==32)throw Error("invalid X25519 stanza");let I=await ez(this.identity,g),U=await this.recipient,J=new Uint8Array(g.length+U.length);J.set(g),J.set(U,g.length);let G=new TextEncoder().encode("age-encryption.org/v1/X25519"),z=iU(_$,I,J,G,32),O=Lw(v.body,z);if(O!==null)return O}return null}}class Ew{passphrase;logN;constructor($,v){this.passphrase=$,this.logN=v}wrapFileKey($){let v=YU(16),g="age-encryption.org/v1/scrypt",I=new Uint8Array(44);I.set(new TextEncoder().encode("age-encryption.org/v1/scrypt")),I.set(v,28);let U=VN(this.passphrase,I,{N:2**this.logN,r:8,p:1,dkLen:32});return[new zU(["scrypt",gv.encode(v),this.logN.toString()],Cw($,U))]}}class Bw{passphrase;constructor($){this.passphrase=$}unwrapFileKey($){for(let v of $){if(v.args.length<1||v.args[0]!=="scrypt")continue;if($.length!==1)throw Error("scrypt recipient is not the only one in the header");if(v.args.length!==3)throw Error("invalid scrypt stanza");if(!/^[1-9][0-9]*$/.test(v.args[2]))throw Error("invalid scrypt stanza");let g=gv.decode(v.args[1]);if(g.length!==16)throw Error("invalid scrypt stanza");let I=Number(v.args[2]);if(I>20)throw Error("scrypt work factor is too high");let U="age-encryption.org/v1/scrypt",J=new Uint8Array(U.length+16);J.set(new TextEncoder().encode(U)),J.set(g,U.length);let G=VN(this.passphrase,J,{N:2**I,r:8,p:1,dkLen:32}),z=Lw(v.body,G);if(z!==null)return z}return null}}function Cw($,v){let g=new Uint8Array(12);return Cv(v,g).encrypt($)}function Lw($,v){if($.length!==32)throw Error("invalid stanza");let g=new Uint8Array(12);try{return Cv(v,g).decrypt($)}catch{return null}}function HZ($){return typeof CryptoKey<"u"&&$ instanceof CryptoKey}var mg=16,_w=(()=>65536)(),fw=(()=>_w+mg)();function AZ($){let v=new Uint8Array(12),g=()=>{for(let G=v.length-2;G>=0;G--)if(v[G]++,v[G]!==0)break},I=!0,U=new Uint8Array(fw),J=0;return new TransformStream({transform(G,z){while(G.length>0){if(J===U.length){let D=Cv($,v).decrypt(U);z.enqueue(D),g(),J=0,I=!1}let O=Math.min(U.length-J,G.length);U.set(G.subarray(0,O),J),J+=O,G=G.subarray(O)}},flush(G){v[11]=1;let z=Cv($,v).decrypt(U.subarray(0,J));if(!I&&z.length===0)throw Error("final chunk is empty");G.enqueue(z)}})}function SZ($){if($<mg)throw Error("ciphertext is too small");if($===mg)return 0;let v=Math.floor($/fw),g=$%fw;if(0<g&&g<=mg)throw Error("ciphertext size is invalid");let I=$;return I-=v*mg,I-=g>0?mg:0,I}function kZ($){let v=new Uint8Array(12),g=()=>{for(let J=v.length-2;J>=0;J--)if(v[J]++,v[J]!==0)break},I=new Uint8Array(_w),U=0;return new TransformStream({transform(J,G){while(J.length>0){if(U===I.length){let O=Cv($,v).encrypt(I);G.enqueue(O),g(),U=0}let z=Math.min(I.length-U,J.length);I.set(J.subarray(0,z),U),U+=z,J=J.subarray(z)}},flush(J){v[11]=1;let G=Cv($,v).encrypt(I.subarray(0,U));J.enqueue(G)}})}function PZ($){let v=Math.max(1,Math.ceil($/_w));return $+mg*v}var YJ={};dv(YJ,{encode:()=>R1,decode:()=>K1});function R1($){let v=[];v.push(`-----BEGIN AGE ENCRYPTED FILE-----
270
+ `)])}function Tw(){return uZ()}function uZ(){let $=YU(32),v=Pv.encodeFromBytes("AGE-SECRET-KEY-",$).toUpperCase();return Promise.resolve(v)}async function v8($){let v;if(HZ($))v=$;else if($.startsWith("AGE-SECRET-KEY-PQ-1")){let I=Pv.decodeToBytes($);if(I.prefix.toUpperCase()!=="AGE-SECRET-KEY-PQ-"||I.bytes.length!==32)throw Error("invalid identity");let U=iz.getPublicKey(I.bytes);return Pv.encode("age1pq",Pv.toWords(U),!1)}else{let I=Pv.decodeToBytes($);if(!$.startsWith("AGE-SECRET-KEY-1")||I.prefix.toUpperCase()!=="AGE-SECRET-KEY-"||I.bytes.length!==32)throw Error("invalid identity");v=I.bytes}let g=await qJ(v);return Pv.encodeFromBytes("age",g)}class Hw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1pq1")||v.prefix.toLowerCase()!=="age1pq"||v.bytes.length!==1216)throw Error("invalid recipient");this.recipient=v.bytes}wrapFileKey($){let{cipherText:v,sharedSecret:g}=iz.encapsulate(this.recipient),I=new TextEncoder().encode("age-encryption.org/mlkem768x25519"),{key:U,nonce:J}=U8(TZ,g,I),G=Cv(U,J).encrypt($);return[new zU(["mlkem768x25519",gv.encode(v)],G)]}}class Aw{identity;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("AGE-SECRET-KEY-PQ-1")||v.prefix.toUpperCase()!=="AGE-SECRET-KEY-PQ-"||v.bytes.length!==32)throw Error("invalid identity");this.identity=v.bytes}unwrapFileKey($){for(let v of $){if(v.args.length<1||v.args[0]!=="mlkem768x25519")continue;if(v.args.length!==2)throw Error("invalid mlkem768x25519 stanza");let g=gv.decode(v.args[1]);if(g.length!==1120)throw Error("invalid mlkem768x25519 stanza");if(v.body.length!==32)throw Error("invalid mlkem768x25519 stanza");let I=iz.decapsulate(g,this.identity),U=new TextEncoder().encode("age-encryption.org/mlkem768x25519"),{key:J,nonce:G}=U8(TZ,I,U);try{return Cv(J,G).decrypt(v.body)}catch{continue}}return null}}var TZ=25722,Zu=80,Kw=16;function U8($,v,g){let I=ju($),U=$8(I,void 0,"psk_id_hash",new Uint8Array(0)),J=$8(I,void 0,"info_hash",g),G=new Uint8Array(1+U.length+J.length);G[0]=0,G.set(U,1),G.set(J,1+U.length);let z=$8(I,v,"secret",new Uint8Array(0)),O=uw(I,z,"key",G,32),D=uw(I,z,"base_nonce",G,12);return{key:O,nonce:D}}function ju($){let v=new Uint8Array(10);return v.set(new TextEncoder().encode("HPKE"),0),v[4]=$>>8&255,v[5]=$&255,v[6]=0,v[7]=1,v[8]=0,v[9]=3,v}function $8($,v,g,I){let U=new Uint8Array(7+$.length+g.length+I.length),J=0;return U.set(new TextEncoder().encode("HPKE-v1"),J),J+=7,U.set($,J),J+=$.length,U.set(new TextEncoder().encode(g),J),J+=g.length,U.set(I,J),L0(_$,U,v)}function uw($,v,g,I,U){let J=new Uint8Array(9+$.length+g.length+I.length),G=0;return J[G]=U>>8&255,J[G+1]=U&255,G+=2,J.set(new TextEncoder().encode("HPKE-v1"),G),G+=7,J.set($,G),G+=$.length,J.set(new TextEncoder().encode(g),G),G+=g.length,J.set(I,G),GN(_$,v,J,U)}function Mu($){if($.length!==bI.lengths.publicKeyUncompressed)$=bI.Point.fromBytes($).toBytes(!1);let v=bI.utils.randomSecretKey(),g=bI.getPublicKey(v,!1),I=bI.getSharedSecret(v,$,!0).subarray(1),U=new Uint8Array(g.length+$.length);U.set(g,0),U.set($,g.length);let J=new Uint8Array(5);J.set(new TextEncoder().encode("KEM"),0),J[3]=Kw>>8,J[4]=Kw&255;let G=$8(J,void 0,"eae_prk",I),z=uw(J,G,"shared_secret",U,32);return{encapsulatedKey:g,sharedSecret:z}}class Sw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1tag1")||v.prefix.toLowerCase()!=="age1tag"||v.bytes.length!==33)throw Error("invalid recipient");this.recipient=v.bytes}wrapFileKey($){let{encapsulatedKey:v,sharedSecret:g}=Mu(this.recipient),I=new TextEncoder().encode("age-encryption.org/p256tag"),U=(()=>{let O=_$(this.recipient).subarray(0,4),D=new Uint8Array(v.length+O.length);return D.set(v,0),D.set(O,v.length),L0(_$,D,I).subarray(0,4)})(),{key:J,nonce:G}=U8(Kw,g,I),z=Cv(J,G).encrypt($);return[new zU(["p256tag",gv.encode(U),gv.encode(v)],z)]}}class kw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1tagpq1")||v.prefix.toLowerCase()!=="age1tagpq"||v.bytes.length!==1249)throw Error("invalid recipient");this.recipient=v.bytes}wrapFileKey($){let{cipherText:v,sharedSecret:g}=fV.encapsulate(this.recipient),I=new TextEncoder().encode("age-encryption.org/mlkem768p256tag"),U=(()=>{let O=_$(this.recipient.subarray(1184)).subarray(0,4),D=new Uint8Array(v.length+O.length);return D.set(v,0),D.set(O,v.length),L0(_$,D,I).subarray(0,4)})(),{key:J,nonce:G}=U8(Zu,g,I),z=Cv(J,G).encrypt($);return[new zU(["mlkem768p256tag",gv.encode(U),gv.encode(v)],z)]}}class Pw{recipient;constructor($){let v=Pv.decodeToBytes($);if(!$.startsWith("age1")||v.prefix.toLowerCase()!=="age"||v.bytes.length!==32)throw Error("invalid recipient");this.recipient=v.bytes}async wrapFileKey($){let v=YU(32),g=await qJ(v),I=await ez(v,this.recipient),U=new Uint8Array(g.length+this.recipient.length);U.set(g),U.set(this.recipient,g.length);let J=new TextEncoder().encode("age-encryption.org/v1/X25519"),G=iU(_$,I,U,J,32);return[new zU(["X25519",gv.encode(g)],Cw($,G))]}}class g8{identity;recipient;constructor($){if(HZ($)){this.identity=$,this.recipient=qJ($);return}let v=Pv.decodeToBytes($);if(!$.startsWith("AGE-SECRET-KEY-1")||v.prefix.toUpperCase()!=="AGE-SECRET-KEY-"||v.bytes.length!==32)throw Error("invalid identity");this.identity=v.bytes,this.recipient=qJ(v.bytes)}async unwrapFileKey($){for(let v of $){if(v.args.length<1||v.args[0]!=="X25519")continue;if(v.args.length!==2)throw Error("invalid X25519 stanza");let g=gv.decode(v.args[1]);if(g.length!==32)throw Error("invalid X25519 stanza");let I=await ez(this.identity,g),U=await this.recipient,J=new Uint8Array(g.length+U.length);J.set(g),J.set(U,g.length);let G=new TextEncoder().encode("age-encryption.org/v1/X25519"),z=iU(_$,I,J,G,32),O=Lw(v.body,z);if(O!==null)return O}return null}}class Ew{passphrase;logN;constructor($,v){this.passphrase=$,this.logN=v}wrapFileKey($){let v=YU(16),g="age-encryption.org/v1/scrypt",I=new Uint8Array(44);I.set(new TextEncoder().encode("age-encryption.org/v1/scrypt")),I.set(v,28);let U=VN(this.passphrase,I,{N:2**this.logN,r:8,p:1,dkLen:32});return[new zU(["scrypt",gv.encode(v),this.logN.toString()],Cw($,U))]}}class Bw{passphrase;constructor($){this.passphrase=$}unwrapFileKey($){for(let v of $){if(v.args.length<1||v.args[0]!=="scrypt")continue;if($.length!==1)throw Error("scrypt recipient is not the only one in the header");if(v.args.length!==3)throw Error("invalid scrypt stanza");if(!/^[1-9][0-9]*$/.test(v.args[2]))throw Error("invalid scrypt stanza");let g=gv.decode(v.args[1]);if(g.length!==16)throw Error("invalid scrypt stanza");let I=Number(v.args[2]);if(I>20)throw Error("scrypt work factor is too high");let U="age-encryption.org/v1/scrypt",J=new Uint8Array(U.length+16);J.set(new TextEncoder().encode(U)),J.set(g,U.length);let G=VN(this.passphrase,J,{N:2**I,r:8,p:1,dkLen:32}),z=Lw(v.body,G);if(z!==null)return z}return null}}function Cw($,v){let g=new Uint8Array(12);return Cv(v,g).encrypt($)}function Lw($,v){if($.length!==32)throw Error("invalid stanza");let g=new Uint8Array(12);try{return Cv(v,g).decrypt($)}catch{return null}}function HZ($){return typeof CryptoKey<"u"&&$ instanceof CryptoKey}var mg=16,_w=(()=>65536)(),fw=(()=>_w+mg)();function AZ($){let v=new Uint8Array(12),g=()=>{for(let G=v.length-2;G>=0;G--)if(v[G]++,v[G]!==0)break},I=!0,U=new Uint8Array(fw),J=0;return new TransformStream({transform(G,z){while(G.length>0){if(J===U.length){let D=Cv($,v).decrypt(U);z.enqueue(D),g(),J=0,I=!1}let O=Math.min(U.length-J,G.length);U.set(G.subarray(0,O),J),J+=O,G=G.subarray(O)}},flush(G){v[11]=1;let z=Cv($,v).decrypt(U.subarray(0,J));if(!I&&z.length===0)throw Error("final chunk is empty");G.enqueue(z)}})}function SZ($){if($<mg)throw Error("ciphertext is too small");if($===mg)return 0;let v=Math.floor($/fw),g=$%fw;if(0<g&&g<=mg)throw Error("ciphertext size is invalid");let I=$;return I-=v*mg,I-=g>0?mg:0,I}function kZ($){let v=new Uint8Array(12),g=()=>{for(let J=v.length-2;J>=0;J--)if(v[J]++,v[J]!==0)break},I=new Uint8Array(_w),U=0;return new TransformStream({transform(J,G){while(J.length>0){if(U===I.length){let O=Cv($,v).encrypt(I);G.enqueue(O),g(),U=0}let z=Math.min(I.length-U,J.length);I.set(J.subarray(0,z),U),U+=z,J=J.subarray(z)}},flush(J){v[11]=1;let G=Cv($,v).encrypt(I.subarray(0,U));J.enqueue(G)}})}function PZ($){let v=Math.max(1,Math.ceil($/_w));return $+mg*v}var YJ={};dv(YJ,{encode:()=>Ru,decode:()=>Ku});function Ru($){let v=[];v.push(`-----BEGIN AGE ENCRYPTED FILE-----
271
271
  `);for(let g=0;g<$.length;g+=48){let I=g+48;if(I>$.length)I=$.length;v.push(qN.encode($.subarray(g,I))+`
272
272
  `)}return v.push(`-----END AGE ENCRYPTED FILE-----
273
- `),v.join("")}function K1($){let v=$.trim().replaceAll(`\r
273
+ `),v.join("")}function Ku($){let v=$.trim().replaceAll(`\r
274
274
  `,`
275
275
  `).split(`
276
- `);if(v.shift()!=="-----BEGIN AGE ENCRYPTED FILE-----")throw Error("invalid header");if(v.pop()!=="-----END AGE ENCRYPTED FILE-----")throw Error("invalid footer");function g(I,U){if(I===v.length-1)return U.length>0&&U.length<=64&&U.length%4===0;return U.length===64}if(!v.every((I,U)=>g(U,I)))throw Error("invalid line length");if(!v.every((I)=>/^[A-Za-z0-9+/=]+$/.test(I)))throw Error("invalid base64");return qN.decode(v.join(""))}class nw{passphrase=null;scryptWorkFactor=18;recipients=[];setPassphrase($){if(this.passphrase!==null)throw Error("can encrypt to at most one passphrase");if(this.recipients.length!==0)throw Error("can't encrypt to both recipients and passphrases");this.passphrase=$}setScryptWorkFactor($){this.scryptWorkFactor=$}addRecipient($){if(this.passphrase!==null)throw Error("can't encrypt to both recipients and passphrases");if(typeof $==="string")if($.startsWith("age1pq1"))this.recipients.push(new Hw($));else if($.startsWith("age1tag1"))this.recipients.push(new Sw($));else if($.startsWith("age1tagpq1"))this.recipients.push(new kw($));else if($.startsWith("age1"))this.recipients.push(new Pw($));else throw Error("unrecognized recipient type");else this.recipients.push($)}async encrypt($){let v=YU(16),g=[],I=this.recipients;if(this.passphrase!==null)I=[new Ew(this.passphrase,this.scryptWorkFactor)];for(let q of I)g.push(...await q.wrapFileKey(v));let U=new TextEncoder().encode("header"),J=iU(_$,v,void 0,U,32),G=sv(_$,J,Rw(g)),z=KZ(g,G),O=YU(16),D=new TextEncoder().encode("payload"),X=iU(_$,v,O,D,32),N=kZ(X);if(!($ instanceof ReadableStream)){if(typeof $==="string")$=new TextEncoder().encode($);return await Mw(FI(sz($).pipeThrough(N),z,O))}return Object.assign(FI($.pipeThrough(N),z,O),{size:(q)=>PZ(q)+z.length+O.length})}}class bw{identities=[];addPassphrase($){this.identities.push(new Bw($))}addIdentity($){if(A1($))this.identities.push(new g8($));else if(typeof $==="string")if($.startsWith("AGE-SECRET-KEY-1"))this.identities.push(new g8($));else if($.startsWith("AGE-SECRET-KEY-PQ-1"))this.identities.push(new Aw($));else throw Error("unrecognized identity type");else this.identities.push($)}async decrypt($,v){let g=$ instanceof ReadableStream?$:sz($),{fileKey:I,headerSize:U,rest:J}=await this.decryptHeaderInternal(g),{data:G,rest:z}=await MZ(J,16),O=new TextEncoder().encode("payload"),D=iU(_$,I,G,O,32),X=AZ(D),N=z.pipeThrough(X),q=Object.assign(N,{size:(w)=>SZ(w-U-G.length)});if($ instanceof ReadableStream)return q;if(v==="text")return await jZ(N);return await Mw(N)}async decryptHeader($){return(await this.decryptHeaderInternal(sz($))).fileKey}async decryptHeaderInternal($){let v=await RZ($),g=await this.unwrapFileKey(v.stanzas);if(g===null)throw Error("no identity matched any of the file's recipients");let I=new TextEncoder().encode("header"),U=iU(_$,g,void 0,I,32),J=sv(_$,U,v.headerNoMAC);if(!H1(v.MAC,J))throw Error("invalid header HMAC");return{fileKey:g,headerSize:v.headerSize,rest:v.rest}}async unwrapFileKey($){for(let v of this.identities){let g=await v.unwrapFileKey($);if(g!==null)return g}return null}}function H1($,v){if($.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function A1($){return typeof CryptoKey<"u"&&$ instanceof CryptoKey}async function kU($,v,g={}){let I=g.runCommand??wv;(g.logger??console.log)(`Pushing ${v.length} env-backed secrets to GitHub Secrets...`),await Promise.all(v.map(([J,G])=>I("gh",["secret","set",J],{stdin:G})))}function Fg($){let v=$?.trim().toLowerCase();if(!v)return;if(v==="gh"||v==="github")return"gh";if(v==="bw"||v==="bitwarden")return"bitwarden";throw Error(`Unsupported --push-to value: ${$}`)}async function iw($,v={}){try{let g=await BZ($,v);return{success:!0,message:g.createdLocalKey?`Age key ready at ${g.identityPath}`:`Age key already ready at ${g.identityPath}`}}catch(g){return{success:!1,message:g instanceof Error?g.message:"Age key bootstrap failed"}}}async function BZ($,v={}){let g=v.logger??console.log,I=EZ($,".brains-ops","age","identity.txt"),U=!1,J,G;if(S1(I))J=iI(mw(I,"utf8")),G=await v8(J);else k1(P1(I),{recursive:!0,mode:448}),J=await Tw(),G=await v8(J),Fw(I,B1(J,G),{encoding:"utf8",mode:384}),U=!0;E1(EZ($,"pilot.yaml"),G);let z=Fg(v.pushTo);if(z)await kU(z,[["AGE_SECRET_KEY",mw(I,"utf8")]],{logger:g,runCommand:v.runCommand??wv});if(g(U?`Created ${I}`:`Reusing ${I}`),g(`Configured pilot.yaml agePublicKey ${G}`),z)g(`Pushed AGE_SECRET_KEY to ${z}`);return{createdLocalKey:U,identityPath:I,agePublicKey:G}}function E1($,v){let g=mw($,"utf8"),I=g.match(/^agePublicKey:\s*(.+)$/m),U=I?.[1]?.trim().replace(/^['"]|['"]$/g,"");if(U===v)return;if(U&&U!=="age1replace-with-your-public-key")throw Error(`pilot.yaml agePublicKey does not match local age identity (${U} !== ${v})`);if(I){Fw($,g.replace(/^agePublicKey:\s*.+$/m,`agePublicKey: ${v}`),"utf8");return}let J=g.endsWith(`
276
+ `);if(v.shift()!=="-----BEGIN AGE ENCRYPTED FILE-----")throw Error("invalid header");if(v.pop()!=="-----END AGE ENCRYPTED FILE-----")throw Error("invalid footer");function g(I,U){if(I===v.length-1)return U.length>0&&U.length<=64&&U.length%4===0;return U.length===64}if(!v.every((I,U)=>g(U,I)))throw Error("invalid line length");if(!v.every((I)=>/^[A-Za-z0-9+/=]+$/.test(I)))throw Error("invalid base64");return qN.decode(v.join(""))}class nw{passphrase=null;scryptWorkFactor=18;recipients=[];setPassphrase($){if(this.passphrase!==null)throw Error("can encrypt to at most one passphrase");if(this.recipients.length!==0)throw Error("can't encrypt to both recipients and passphrases");this.passphrase=$}setScryptWorkFactor($){this.scryptWorkFactor=$}addRecipient($){if(this.passphrase!==null)throw Error("can't encrypt to both recipients and passphrases");if(typeof $==="string")if($.startsWith("age1pq1"))this.recipients.push(new Hw($));else if($.startsWith("age1tag1"))this.recipients.push(new Sw($));else if($.startsWith("age1tagpq1"))this.recipients.push(new kw($));else if($.startsWith("age1"))this.recipients.push(new Pw($));else throw Error("unrecognized recipient type");else this.recipients.push($)}async encrypt($){let v=YU(16),g=[],I=this.recipients;if(this.passphrase!==null)I=[new Ew(this.passphrase,this.scryptWorkFactor)];for(let q of I)g.push(...await q.wrapFileKey(v));let U=new TextEncoder().encode("header"),J=iU(_$,v,void 0,U,32),G=sv(_$,J,Rw(g)),z=KZ(g,G),O=YU(16),D=new TextEncoder().encode("payload"),X=iU(_$,v,O,D,32),N=kZ(X);if(!($ instanceof ReadableStream)){if(typeof $==="string")$=new TextEncoder().encode($);return await Mw(FI(sz($).pipeThrough(N),z,O))}return Object.assign(FI($.pipeThrough(N),z,O),{size:(q)=>PZ(q)+z.length+O.length})}}class bw{identities=[];addPassphrase($){this.identities.push(new Bw($))}addIdentity($){if(Au($))this.identities.push(new g8($));else if(typeof $==="string")if($.startsWith("AGE-SECRET-KEY-1"))this.identities.push(new g8($));else if($.startsWith("AGE-SECRET-KEY-PQ-1"))this.identities.push(new Aw($));else throw Error("unrecognized identity type");else this.identities.push($)}async decrypt($,v){let g=$ instanceof ReadableStream?$:sz($),{fileKey:I,headerSize:U,rest:J}=await this.decryptHeaderInternal(g),{data:G,rest:z}=await MZ(J,16),O=new TextEncoder().encode("payload"),D=iU(_$,I,G,O,32),X=AZ(D),N=z.pipeThrough(X),q=Object.assign(N,{size:(w)=>SZ(w-U-G.length)});if($ instanceof ReadableStream)return q;if(v==="text")return await jZ(N);return await Mw(N)}async decryptHeader($){return(await this.decryptHeaderInternal(sz($))).fileKey}async decryptHeaderInternal($){let v=await RZ($),g=await this.unwrapFileKey(v.stanzas);if(g===null)throw Error("no identity matched any of the file's recipients");let I=new TextEncoder().encode("header"),U=iU(_$,g,void 0,I,32),J=sv(_$,U,v.headerNoMAC);if(!Hu(v.MAC,J))throw Error("invalid header HMAC");return{fileKey:g,headerSize:v.headerSize,rest:v.rest}}async unwrapFileKey($){for(let v of this.identities){let g=await v.unwrapFileKey($);if(g!==null)return g}return null}}function Hu($,v){if($.length!==v.length)return!1;let g=0;for(let I=0;I<$.length;I++)g|=$[I]^v[I];return g===0}function Au($){return typeof CryptoKey<"u"&&$ instanceof CryptoKey}async function kU($,v,g={}){let I=g.runCommand??wv;(g.logger??console.log)(`Pushing ${v.length} env-backed secrets to GitHub Secrets...`),await Promise.all(v.map(([J,G])=>I("gh",["secret","set",J],{stdin:G})))}function Fg($){let v=$?.trim().toLowerCase();if(!v)return;if(v==="gh"||v==="github")return"gh";if(v==="bw"||v==="bitwarden")return"bitwarden";throw Error(`Unsupported --push-to value: ${$}`)}async function iw($,v={}){try{let g=await BZ($,v);return{success:!0,message:g.createdLocalKey?`Age key ready at ${g.identityPath}`:`Age key already ready at ${g.identityPath}`}}catch(g){return{success:!1,message:g instanceof Error?g.message:"Age key bootstrap failed"}}}async function BZ($,v={}){let g=v.logger??console.log,I=EZ($,".brains-ops","age","identity.txt"),U=!1,J,G;if(Su(I))J=iI(mw(I,"utf8")),G=await v8(J);else ku(Pu(I),{recursive:!0,mode:448}),J=await Tw(),G=await v8(J),Fw(I,Bu(J,G),{encoding:"utf8",mode:384}),U=!0;Eu(EZ($,"pilot.yaml"),G);let z=Fg(v.pushTo);if(z)await kU(z,[["AGE_SECRET_KEY",mw(I,"utf8")]],{logger:g,runCommand:v.runCommand??wv});if(g(U?`Created ${I}`:`Reusing ${I}`),g(`Configured pilot.yaml agePublicKey ${G}`),z)g(`Pushed AGE_SECRET_KEY to ${z}`);return{createdLocalKey:U,identityPath:I,agePublicKey:G}}function Eu($,v){let g=mw($,"utf8"),I=g.match(/^agePublicKey:\s*(.+)$/m),U=I?.[1]?.trim().replace(/^['"]|['"]$/g,"");if(U===v)return;if(U&&U!=="age1replace-with-your-public-key")throw Error(`pilot.yaml agePublicKey does not match local age identity (${U} !== ${v})`);if(I){Fw($,g.replace(/^agePublicKey:\s*.+$/m,`agePublicKey: ${v}`),"utf8");return}let J=g.endsWith(`
277
277
  `)?`${g}agePublicKey: ${v}
278
278
  `:`${g}
279
279
  agePublicKey: ${v}
280
- `;Fw($,J,"utf8")}function iI($){let v=$.split(/\r?\n/).map((g)=>g.trim()).find((g)=>g.startsWith("AGE-SECRET-KEY-"));if(!v)throw Error("Missing AGE-SECRET-KEY in age identity file");return v}function B1($,v){return["# generated by brains-ops age-key:bootstrap",`# public key: ${v}`,$,""].join(`
281
- `)}import{execFileSync as CZ}from"child_process";import{chmodSync as f1,existsSync as _1,mkdirSync as n1,readFileSync as LZ,writeFileSync as b1}from"fs";import{dirname as m1,join as F1}from"path";import{homedir as i1}from"os";async function C1($){let v=await $.text();if(!v.trim())return;try{return JSON.parse(v)}catch{return v}}async function xI($,v,g){let I=await C1($),U=v.safeParse(I);if(!$.ok||!U.success){let J=g.formatError??L1;throw Error(`${g.label}${J($,I)}`)}return U.data}function L1($,v){let g=v===void 0?"":`: ${typeof v==="string"?v:JSON.stringify(v)}`;return` (${$.status} ${$.statusText}${g})`}var fZ=I$.object({id:I$.number(),name:I$.string(),public_key:I$.string()}),x1=I$.object({ssh_keys:I$.array(fZ)}),c1={createEd25519KeyPair($,v){CZ("ssh-keygen",["-t","ed25519","-f",$,"-C",v,"-N",""],{stdio:"ignore"})},derivePublicKey($){return CZ("ssh-keygen",["-y","-f",$],{encoding:"utf-8",stdio:["ignore","pipe","inherit"]}).trim()}};async function I8($,v={}){try{let g=await xw($,v);return{success:!0,message:g.createdLocalKey?`SSH deploy key ready at ${g.privateKeyPath}`:`SSH deploy key already ready at ${g.privateKeyPath}`}}catch(g){return{success:!1,message:g instanceof Error?g.message:"SSH key bootstrap failed"}}}async function xw($,v={}){let g=v.env??process.env,I=bv($),U=v.logger??console.log,J=v.fetchImpl??fetch,G=v.sshKeygen??c1,z=F$("HCLOUD_TOKEN",g,I);if(!z)throw Error("Missing HCLOUD_TOKEN");let O=F$("HCLOUD_SSH_KEY_NAME",g,I);if(!O)throw Error("Missing HCLOUD_SSH_KEY_NAME");let D=F$("KAMAL_SSH_PRIVATE_KEY_FILE",g,I),X=D?PU(D,$):F1(i1(),".ssh",`${y1(O)}_ed25519`),N=`${X}.pub`,q=!1;if(!_1(X))n1(m1(X),{recursive:!0,mode:448}),G.createEd25519KeyPair(X,O),q=!0;f1(X,384);let w;if(q)w=LZ(N,"utf-8").trim();else w=G.derivePublicKey(X),b1(N,`${w}
282
- `,"utf-8");if(w.length===0)throw Error(`Unable to derive a public key from ${X}`);let W=await o1({fetchImpl:J,hcloudToken:z,publicKey:w,sshKeyName:O}),Z=Fg(v.pushTo);if(Z)await kU(Z,[["KAMAL_SSH_PRIVATE_KEY",LZ(X,"utf-8")]],{logger:U,runCommand:v.runCommand??wv});if(U(q?`Created ${X}`:`Reusing ${X}`),U(W?`Registered Hetzner SSH key ${O}`:`Hetzner SSH key ${O} already exists`),Z)U(`Pushed KAMAL_SSH_PRIVATE_KEY to ${Z}`);return{createdHetznerKey:W,createdLocalKey:q,privateKeyPath:X,publicKeyPath:N,sshKeyName:O}}async function o1($){let v=new URL("https://api.hetzner.cloud/v1/ssh_keys");v.searchParams.set("name",$.sshKeyName);let g=await $.fetchImpl(v.toString(),{headers:{Authorization:`Bearer ${$.hcloudToken}`,"Content-Type":"application/json"}}),{ssh_keys:I}=await xI(g,x1,{label:"Hetzner SSH key lookup failed"}),[U]=I;if(U){if(U.public_key.trim()!==$.publicKey)throw Error(`Existing Hetzner SSH key ${$.sshKeyName} does not match the local public key`);return!1}let J=await $.fetchImpl("https://api.hetzner.cloud/v1/ssh_keys",{method:"POST",headers:{Authorization:`Bearer ${$.hcloudToken}`,"Content-Type":"application/json"},body:JSON.stringify({name:$.sshKeyName,public_key:$.publicKey})});return await xI(J,I$.object({ssh_key:fZ}),{label:"Hetzner SSH key create failed"}),!0}function y1($){return $.replace(/[^A-Za-z0-9._-]+/g,"_")}import{mkdir as NT,writeFile as cw}from"fs/promises";import{dirname as lZ,join as ow}from"path";import{createSign as l1,generateKeyPairSync as d1}from"crypto";var h1="2.5.4.3",p1="1.2.840.113549.1.1.11",bZ="https://api.cloudflare.com/client/v4",t1="origin-rsa",a1=5475,mZ=15000;function FZ($){return{Authorization:`Bearer ${$}`,"Content-Type":"application/json"}}var _Z=I$.looseObject({message:I$.string().optional()}),e1=I$.looseObject({errors:I$.array(_Z).optional(),messages:I$.array(_Z).optional()}),s1=I$.looseObject({certificate:I$.string().min(1),expires_on:I$.string().optional()}),$T=I$.looseObject({success:I$.literal(!0),result:s1}),vT=I$.looseObject({success:I$.literal(!0)});function iZ(){let{privateKey:$,publicKey:v}=d1("rsa",{modulusLength:2048,privateKeyEncoding:{type:"pkcs8",format:"pem"},publicKeyEncoding:{type:"spki",format:"der"}});return{privateKeyPem:$,publicKeyDer:Buffer.from(v)}}function xZ($,v){let g=WJ(zT(WJ(nZ(h1),IT($)))),I=WJ(gT(0),g,Buffer.from(v.publicKeyDer),OT(0,Buffer.alloc(0))),U=l1("sha256").update(I).sign(v.privateKeyPem),J=WJ(I,WJ(nZ(p1),GT()),JT(U));return{csrPem:UT("CERTIFICATE REQUEST",J),certificationRequestInfoDer:I,signature:U}}async function cZ($,v,g,I){let U=await $(`${bZ}/certificates`,{method:"POST",headers:FZ(v),body:JSON.stringify({hostnames:[I,`*.${I}`],requested_validity:a1,request_type:t1,csr:g}),signal:AbortSignal.timeout(mZ)}),J=await xI(U,$T,{label:"Cloudflare Origin CA request failed",formatError:yZ}),z={certificatePem:`${J.result.certificate.trim()}
280
+ `;Fw($,J,"utf8")}function iI($){let v=$.split(/\r?\n/).map((g)=>g.trim()).find((g)=>g.startsWith("AGE-SECRET-KEY-"));if(!v)throw Error("Missing AGE-SECRET-KEY in age identity file");return v}function Bu($,v){return["# generated by brains-ops age-key:bootstrap",`# public key: ${v}`,$,""].join(`
281
+ `)}import{execFileSync as CZ}from"child_process";import{chmodSync as fu,existsSync as _u,mkdirSync as nu,readFileSync as LZ,writeFileSync as bu}from"fs";import{dirname as mu,join as Fu}from"path";import{homedir as iu}from"os";async function Cu($){let v=await $.text();if(!v.trim())return;try{return JSON.parse(v)}catch{return v}}async function xI($,v,g){let I=await Cu($),U=v.safeParse(I);if(!$.ok||!U.success){let J=g.formatError??Lu;throw Error(`${g.label}${J($,I)}`)}return U.data}function Lu($,v){let g=v===void 0?"":`: ${typeof v==="string"?v:JSON.stringify(v)}`;return` (${$.status} ${$.statusText}${g})`}var fZ=I$.object({id:I$.number(),name:I$.string(),public_key:I$.string()}),xu=I$.object({ssh_keys:I$.array(fZ)}),cu={createEd25519KeyPair($,v){CZ("ssh-keygen",["-t","ed25519","-f",$,"-C",v,"-N",""],{stdio:"ignore"})},derivePublicKey($){return CZ("ssh-keygen",["-y","-f",$],{encoding:"utf-8",stdio:["ignore","pipe","inherit"]}).trim()}};async function I8($,v={}){try{let g=await xw($,v);return{success:!0,message:g.createdLocalKey?`SSH deploy key ready at ${g.privateKeyPath}`:`SSH deploy key already ready at ${g.privateKeyPath}`}}catch(g){return{success:!1,message:g instanceof Error?g.message:"SSH key bootstrap failed"}}}async function xw($,v={}){let g=v.env??process.env,I=bv($),U=v.logger??console.log,J=v.fetchImpl??fetch,G=v.sshKeygen??cu,z=F$("HCLOUD_TOKEN",g,I);if(!z)throw Error("Missing HCLOUD_TOKEN");let O=F$("HCLOUD_SSH_KEY_NAME",g,I);if(!O)throw Error("Missing HCLOUD_SSH_KEY_NAME");let D=F$("KAMAL_SSH_PRIVATE_KEY_FILE",g,I),X=D?PU(D,$):Fu(iu(),".ssh",`${yu(O)}_ed25519`),N=`${X}.pub`,q=!1;if(!_u(X))nu(mu(X),{recursive:!0,mode:448}),G.createEd25519KeyPair(X,O),q=!0;fu(X,384);let w;if(q)w=LZ(N,"utf-8").trim();else w=G.derivePublicKey(X),bu(N,`${w}
282
+ `,"utf-8");if(w.length===0)throw Error(`Unable to derive a public key from ${X}`);let W=await ou({fetchImpl:J,hcloudToken:z,publicKey:w,sshKeyName:O}),Z=Fg(v.pushTo);if(Z)await kU(Z,[["KAMAL_SSH_PRIVATE_KEY",LZ(X,"utf-8")]],{logger:U,runCommand:v.runCommand??wv});if(U(q?`Created ${X}`:`Reusing ${X}`),U(W?`Registered Hetzner SSH key ${O}`:`Hetzner SSH key ${O} already exists`),Z)U(`Pushed KAMAL_SSH_PRIVATE_KEY to ${Z}`);return{createdHetznerKey:W,createdLocalKey:q,privateKeyPath:X,publicKeyPath:N,sshKeyName:O}}async function ou($){let v=new URL("https://api.hetzner.cloud/v1/ssh_keys");v.searchParams.set("name",$.sshKeyName);let g=await $.fetchImpl(v.toString(),{headers:{Authorization:`Bearer ${$.hcloudToken}`,"Content-Type":"application/json"}}),{ssh_keys:I}=await xI(g,xu,{label:"Hetzner SSH key lookup failed"}),[U]=I;if(U){if(U.public_key.trim()!==$.publicKey)throw Error(`Existing Hetzner SSH key ${$.sshKeyName} does not match the local public key`);return!1}let J=await $.fetchImpl("https://api.hetzner.cloud/v1/ssh_keys",{method:"POST",headers:{Authorization:`Bearer ${$.hcloudToken}`,"Content-Type":"application/json"},body:JSON.stringify({name:$.sshKeyName,public_key:$.publicKey})});return await xI(J,I$.object({ssh_key:fZ}),{label:"Hetzner SSH key create failed"}),!0}function yu($){return $.replace(/[^A-Za-z0-9._-]+/g,"_")}import{mkdir as NT,writeFile as cw}from"fs/promises";import{dirname as lZ,join as ow}from"path";import{createSign as lu,generateKeyPairSync as du}from"crypto";var hu="2.5.4.3",pu="1.2.840.113549.1.1.11",bZ="https://api.cloudflare.com/client/v4",tu="origin-rsa",au=5475,mZ=15000;function FZ($){return{Authorization:`Bearer ${$}`,"Content-Type":"application/json"}}var _Z=I$.looseObject({message:I$.string().optional()}),eu=I$.looseObject({errors:I$.array(_Z).optional(),messages:I$.array(_Z).optional()}),su=I$.looseObject({certificate:I$.string().min(1),expires_on:I$.string().optional()}),$T=I$.looseObject({success:I$.literal(!0),result:su}),vT=I$.looseObject({success:I$.literal(!0)});function iZ(){let{privateKey:$,publicKey:v}=du("rsa",{modulusLength:2048,privateKeyEncoding:{type:"pkcs8",format:"pem"},publicKeyEncoding:{type:"spki",format:"der"}});return{privateKeyPem:$,publicKeyDer:Buffer.from(v)}}function xZ($,v){let g=WJ(zT(WJ(nZ(hu),IT($)))),I=WJ(gT(0),g,Buffer.from(v.publicKeyDer),OT(0,Buffer.alloc(0))),U=lu("sha256").update(I).sign(v.privateKeyPem),J=WJ(I,WJ(nZ(pu),GT()),JT(U));return{csrPem:UT("CERTIFICATE REQUEST",J),certificationRequestInfoDer:I,signature:U}}async function cZ($,v,g,I){let U=await $(`${bZ}/certificates`,{method:"POST",headers:FZ(v),body:JSON.stringify({hostnames:[I,`*.${I}`],requested_validity:au,request_type:tu,csr:g}),signal:AbortSignal.timeout(mZ)}),J=await xI(U,$T,{label:"Cloudflare Origin CA request failed",formatError:yZ}),z={certificatePem:`${J.result.certificate.trim()}
283
283
  `};if(J.result.expires_on)z.expiresOn=J.result.expires_on;return z}async function oZ($,v,g){let I=await $(`${bZ}/zones/${g}/settings/ssl`,{method:"PATCH",headers:FZ(v),body:JSON.stringify({value:"strict"}),signal:AbortSignal.timeout(mZ)});await xI(I,vT,{label:"Cloudflare zone SSL update failed",formatError:yZ})}function UT($,v){let I=v.toString("base64").match(/.{1,64}/g)??[];return[`-----BEGIN ${$}-----`,...I,`-----END ${$}-----`,""].join(`
284
- `)}function gT($){if($!==0)throw Error("Only zero-valued INTEGER encoding is currently supported");return Buffer.from([2,1,0])}function nZ($){let v=$.split(".").map((G)=>Number(G));if(v.length<2||v.some((G)=>Number.isNaN(G)))throw Error(`Invalid OID: ${$}`);let g=v[0],I=v[1];if(g===void 0||I===void 0)throw Error(`Invalid OID: ${$}`);let J=[g*40+I];for(let G of v.slice(2)){let z=QT(G);J.push(...z)}return cI(6,Buffer.from(J))}function IT($){return cI(12,Buffer.from($,"utf8"))}function JT($){return cI(3,Buffer.concat([Buffer.from([0]),$]))}function GT(){return Buffer.from([5,0])}function WJ(...$){return cI(48,Buffer.concat($))}function zT(...$){return cI(49,Buffer.concat($))}function OT($,v){return cI(160+$,v)}function cI($,v){return Buffer.concat([Buffer.from([$]),DT(v.length),v])}function DT($){if($<128)return Buffer.from([$]);let v=[],g=$;while(g>0)v.unshift(g&255),g>>=8;return Buffer.from([128|v.length,...v])}function QT($){if(!Number.isInteger($)||$<0)throw Error(`Invalid OID component: ${$}`);if($===0)return[0];let v=[],g=$;while(g>0)v.unshift(g&127),g>>=7;for(let I=0;I<v.length-1;I+=1)v[I]=(v[I]??0)|128;return v}function yZ($,v){let g=XT(v),I=g.length>0?`: ${g.join("; ")}`:"";return` (${$.status} ${$.statusText}${I})`}function XT($){let v=e1.safeParse($);if(!v.success)return[];return[...v.data.errors??[],...v.data.messages??[]].map((g)=>g.message).filter((g)=>typeof g==="string"&&g.length>0)}async function yw($,v={}){try{return await hZ($,v),{success:!0}}catch(g){return{success:!1,message:g instanceof Error?g.message:"Certificate bootstrap failed"}}}async function hZ($,v={}){let g=await Hv($),I=qT(g,v.handle),U=I.domain,J=v.env??process.env,G=bv($),z=v.cfApiToken??F$("CF_API_TOKEN",J,G),O=v.cfZoneId??I.cloudflareZoneId??F$("CF_ZONE_ID",J,G);if(!z)throw Error("Missing CF_API_TOKEN");if(!O)throw Error("Missing CF_ZONE_ID");let D=v.fetchImpl??fetch,X=v.logger??console.log,N=iZ(),{csrPem:q}=xZ(U,N),w=await cZ(D,z,q,U),W=ow($,".brains-ops","certs",I.id,"origin.pem"),Z=ow($,".brains-ops","certs",I.id,"origin.key"),r=ow(lZ(W),"secrets.yaml");await NT(lZ(W),{recursive:!0}),await Promise.all([cw(W,w.certificatePem,"utf-8"),cw(Z,N.privateKeyPem,{encoding:"utf-8",mode:384}),cw(r,wT(w.certificatePem,N.privateKeyPem),"utf-8")]),await oZ(D,z,O);let T=Fg(v.pushTo);if(T)await kU(T,[["CERTIFICATE_PEM",w.certificatePem],["PRIVATE_KEY_PEM",N.privateKeyPem]],{logger:X,runCommand:v.runCommand??wv});if(X(`Issued ${I.id} Origin CA cert for ${U} and *.${U}`),X(`Wrote ${W}`),X(`Wrote ${Z}`),X(`Wrote ${r}`),w.expiresOn)X(`Expires on ${w.expiresOn}`);if(X("Cloudflare zone SSL mode set to Full (strict)"),T)X(`Pushed CERTIFICATE_PEM and PRIVATE_KEY_PEM to ${T}`);return{domain:U,certificatePath:W,privateKeyPath:Z,certificatePem:w.certificatePem,secretsSnippetPath:r}}function wT($,v){return[`certificatePem: ${dZ($)}`,`privateKeyPem: ${dZ(v)}`,""].join(`
284
+ `)}function gT($){if($!==0)throw Error("Only zero-valued INTEGER encoding is currently supported");return Buffer.from([2,1,0])}function nZ($){let v=$.split(".").map((G)=>Number(G));if(v.length<2||v.some((G)=>Number.isNaN(G)))throw Error(`Invalid OID: ${$}`);let g=v[0],I=v[1];if(g===void 0||I===void 0)throw Error(`Invalid OID: ${$}`);let J=[g*40+I];for(let G of v.slice(2)){let z=QT(G);J.push(...z)}return cI(6,Buffer.from(J))}function IT($){return cI(12,Buffer.from($,"utf8"))}function JT($){return cI(3,Buffer.concat([Buffer.from([0]),$]))}function GT(){return Buffer.from([5,0])}function WJ(...$){return cI(48,Buffer.concat($))}function zT(...$){return cI(49,Buffer.concat($))}function OT($,v){return cI(160+$,v)}function cI($,v){return Buffer.concat([Buffer.from([$]),DT(v.length),v])}function DT($){if($<128)return Buffer.from([$]);let v=[],g=$;while(g>0)v.unshift(g&255),g>>=8;return Buffer.from([128|v.length,...v])}function QT($){if(!Number.isInteger($)||$<0)throw Error(`Invalid OID component: ${$}`);if($===0)return[0];let v=[],g=$;while(g>0)v.unshift(g&127),g>>=7;for(let I=0;I<v.length-1;I+=1)v[I]=(v[I]??0)|128;return v}function yZ($,v){let g=XT(v),I=g.length>0?`: ${g.join("; ")}`:"";return` (${$.status} ${$.statusText}${I})`}function XT($){let v=eu.safeParse($);if(!v.success)return[];return[...v.data.errors??[],...v.data.messages??[]].map((g)=>g.message).filter((g)=>typeof g==="string"&&g.length>0)}async function yw($,v={}){try{return await hZ($,v),{success:!0}}catch(g){return{success:!1,message:g instanceof Error?g.message:"Certificate bootstrap failed"}}}async function hZ($,v={}){let g=await Hv($),I=qT(g,v.handle),U=I.domain,J=v.env??process.env,G=bv($),z=v.cfApiToken??F$("CF_API_TOKEN",J,G),O=v.cfZoneId??I.cloudflareZoneId??F$("CF_ZONE_ID",J,G);if(!z)throw Error("Missing CF_API_TOKEN");if(!O)throw Error("Missing CF_ZONE_ID");let D=v.fetchImpl??fetch,X=v.logger??console.log,N=iZ(),{csrPem:q}=xZ(U,N),w=await cZ(D,z,q,U),W=ow($,".brains-ops","certs",I.id,"origin.pem"),Z=ow($,".brains-ops","certs",I.id,"origin.key"),r=ow(lZ(W),"secrets.yaml");await NT(lZ(W),{recursive:!0}),await Promise.all([cw(W,w.certificatePem,"utf-8"),cw(Z,N.privateKeyPem,{encoding:"utf-8",mode:384}),cw(r,wT(w.certificatePem,N.privateKeyPem),"utf-8")]),await oZ(D,z,O);let T=Fg(v.pushTo);if(T)await kU(T,[["CERTIFICATE_PEM",w.certificatePem],["PRIVATE_KEY_PEM",N.privateKeyPem]],{logger:X,runCommand:v.runCommand??wv});if(X(`Issued ${I.id} Origin CA cert for ${U} and *.${U}`),X(`Wrote ${W}`),X(`Wrote ${Z}`),X(`Wrote ${r}`),w.expiresOn)X(`Expires on ${w.expiresOn}`);if(X("Cloudflare zone SSL mode set to Full (strict)"),T)X(`Pushed CERTIFICATE_PEM and PRIVATE_KEY_PEM to ${T}`);return{domain:U,certificatePath:W,privateKeyPath:Z,certificatePem:w.certificatePem,secretsSnippetPath:r}}function wT($,v){return[`certificatePem: ${dZ($)}`,`privateKeyPem: ${dZ(v)}`,""].join(`
285
285
  `)}function dZ($){return`"${$.replace(/"/g,"\\\"").replace(/\n/g,"\\n")}"`}function qT($,v){if(!v)return{id:"shared",domain:YT($.pilot.domainSuffix)};let g=$.users.find((I)=>I.handle===v);if(!g)throw Error(`Unknown user handle: ${v}`);return{id:v,domain:g.domain,...g.cloudflareZoneId?{cloudflareZoneId:g.cloudflareZoneId}:{}}}function YT($){let v=$.trim().replace(/^\./,"").replace(/\.$/,"");if(!v||v.includes("*"))throw Error(`Invalid pilot domainSuffix: ${$}`);return v}import{readFileSync as rJ}from"fs";import{access as WT,rm as rT,writeFile as sZ}from"fs/promises";import{join as lw,relative as pZ}from"path";var $j=I$.strictObject({gitSyncToken:I$.string().min(1).optional(),discordBotToken:I$.string().min(1).optional(),aiApiKey:I$.string().min(1).optional(),atprotoAppPassword:I$.string().min(1).optional(),certificatePem:I$.string().min(1).optional(),privateKeyPem:I$.string().min(1).optional()});async function dw($,v,g={}){let{registry:I,user:U}=await zz($,v),J=g.env??process.env,G=g.logger??console.log,z=bv($),O=lw($,"users",`${v}.secrets.yaml.age`),D=lw($,"users",`${v}.secrets.yaml`),X=eZ(pZ($,O)),N=eZ(pZ($,D)),q=jT(D),w=await MT(O,$,J,z),W=await Uj(D),Z={sharedAiApiKeySelector:I.pilot.aiApiKey,sharedGitSyncTokenSelector:I.pilot.gitSyncToken,effectiveAiApiKeySelector:U.effectiveAiApiKey,effectiveGitSyncTokenSelector:U.effectiveGitSyncToken,discordEnabled:U.discordEnabled},r;try{r=VT($,J,z,q,w,Z)}catch(y){if(!g.dryRun&&q===void 0&&y instanceof Error){let d=uT(Z);if(d.length>0)throw await TT(D,d),Error(`Missing required secrets for ${v}. Created ${N}; fill it in and rerun secrets:encrypt. ${y.message}`,{cause:y})}throw y}let T=`${HJ(r).trimEnd()}
286
286
  `;KT(T,r);let K=Object.keys(r);if(g.dryRun){if(G(`Dry run: would encrypt ${K.length} secrets to ${X}.`),G(K.length>0?`Keys: ${K.join(", ")}`:"Keys: (none \u2014 shared defaults only)"),W)G(`Would remove plaintext file ${N}.`);return{encryptedPath:X,plaintextPath:N,deletedPlaintext:W,encryptedKeys:K,dryRun:!0}}let _=new nw;_.addRecipient(I.pilot.agePublicKey);let L=await _.encrypt(T),i=YJ.encode(L);if(await sZ(O,i),await rT(D,{force:!0}),G(`Encrypted ${K.length} secrets to ${X}.`),W)G(`Removed plaintext file ${N}.`);return{encryptedPath:X,plaintextPath:N,deletedPlaintext:W,encryptedKeys:K}}function VT($,v,g,I,U,J){let G=tZ($,v,g,I,U,"aiApiKey",J.effectiveAiApiKeySelector,J.sharedAiApiKeySelector),z=tZ($,v,g,I,U,"gitSyncToken",J.effectiveGitSyncTokenSelector,J.sharedGitSyncTokenSelector),O=J.discordEnabled?vj($,v,g,I,U,"discordBotToken","DISCORD_BOT_TOKEN"):void 0,D=J8($,v,g,I,U,"atprotoAppPassword","ATPROTO_APP_PASSWORD"),X=aZ(J8($,v,g,I,U,"certificatePem","CERTIFICATE_PEM")),N=aZ(J8($,v,g,I,U,"privateKeyPem","PRIVATE_KEY_PEM"));return $j.parse({...G?{aiApiKey:G}:{},...z?{gitSyncToken:z}:{},...O?{discordBotToken:O}:{},...D?{atprotoAppPassword:D}:{},...X?{certificatePem:X}:{},...N?{privateKeyPem:N}:{}})}function tZ($,v,g,I,U,J,G,z){if(G===z)return;return vj($,v,g,I,U,J,G)}function vj($,v,g,I,U,J,G){let z=J8($,v,g,I,U,J,G);if(z===void 0||z.trim().length===0)throw Error(`Missing required secret value for ${String(J)}. Set it in users/<handle>.secrets.yaml or fall back to ${G}/${G}_FILE before running secrets:encrypt.`);return z}function aZ($){return $?.replace(/\r\n?|\n/g,"\\n")}function J8($,v,g,I,U,J,G){return ZT(I,U,J,G,v,g,$)}function ZT($,v,g,I,U,J,G){let z=$?.[g];if(z!==void 0&&z.trim().length>0)return z;let O=F$(`${I}_FILE`,U,J);if(O&&O.trim().length>0)return rJ(PU(O,G),"utf8");let D=F$(I,U,J);if(D!==void 0&&D.trim().length>0)return D;let X=v?.[g];if(X!==void 0&&X.trim().length>0)return X;return}function jT($){let v;try{v=rJ($,"utf8")}catch{return}try{return hw(v)}catch(g){throw Error(`Unable to parse plaintext secrets file ${$}: ${g instanceof Error?g.message:String(g)}`,{cause:g})}}async function MT($,v,g,I){if(!await Uj($))return;let U=RT(v,g,I);if(!U)return;let J;try{let G=rJ($,"utf8"),z=YJ.decode(G),O=new bw;O.addIdentity(U),J=await O.decrypt(z,"text")}catch{return}try{return hw(J)}catch(G){throw Error(`Unable to parse decrypted secrets from ${$}: ${G instanceof Error?G.message:String(G)}`,{cause:G})}}function RT($,v,g){let I=F$("AGE_SECRET_KEY_FILE",v,g);if(I&&I.trim().length>0)return iI(rJ(PU(I,$),"utf8"));let U=F$("AGE_SECRET_KEY",v,g);if(U&&U.trim().length>0)return iI(U);try{return iI(rJ(lw($,".brains-ops","age","identity.txt"),"utf8"))}catch{return}}function hw($){let v=hq($),g={};if(v!==null&&typeof v==="object"&&!Array.isArray(v)){for(let[I,U]of Object.entries(v))if(typeof U==="string")g[I]=U}return $j.partial().parse(g)}function KT($,v){let g={...v},I={...hw($)},U=new Set([...Object.keys(g),...Object.keys(I)]);for(let J of U)if(g[J]!==I[J])throw Error(`secrets:encrypt round-trip verification failed for ${J}; refusing to write a corrupted encrypted payload`)}function uT($){return[...$.effectiveAiApiKeySelector!==$.sharedAiApiKeySelector?["aiApiKey"]:[],...$.effectiveGitSyncTokenSelector!==$.sharedGitSyncTokenSelector?["gitSyncToken"]:[],...$.discordEnabled?["discordBotToken"]:[]]}async function TT($,v){let g=["# local per-user secret staging file","# fill values, run `bunx brains-ops secrets:encrypt . <handle>`, then the plaintext file will be removed",...v.map((I)=>`${I}: `),""].join(`
287
287
  `);await sZ($,g,{flag:"wx"})}async function Uj($){try{return await WT($),!0}catch{return!1}}function eZ($){return $.replaceAll("\\","/")}import{readFileSync as HT}from"fs";async function pw($,v={}){let g=v.env??process.env,I=v.logger??console.log,U=bv($),J=N8(`${$}/.env.schema`),G=AT(J),z=[],O=[],D=new Map;for(let X of G){D.set(X.key,X.required);let N=ST(X.key,g,U,$);if(N===void 0||N.trim().length===0){O.push(X.key);continue}z.push([X.key,N])}if(z.length===0)throw Error("No pushable local secrets found for this pilot repo");if(v.dryRun)return I(`Dry run: would push ${z.length} secrets to GitHub Secrets.`),I(`Secrets: ${z.map(([X])=>X).join(", ")}`),gj(I,O,D),{pushedKeys:z.map(([X])=>X),skippedKeys:O,dryRun:!0};return await kU("gh",z,{logger:I,runCommand:v.runCommand??wv}),gj(I,O,D),{pushedKeys:z.map(([X])=>X),skippedKeys:O}}function AT($){return $.filter((v)=>v.key!=="DISCORD_BOT_TOKEN").map((v)=>({key:v.key,required:v.required}))}function ST($,v,g,I){let U=F$(`${$}_FILE`,v,g);if(U&&U.trim().length>0)return HT(PU(U,I),"utf8");let J=F$($,v,g);if(J===void 0||J.trim().length===0)return;return J}function gj($,v,g){let I=v.filter((J)=>g.get(J)),U=v.filter((J)=>!g.get(J));Ij($,"Required before first deploy",I),Ij($,"Safe to ignore for now",U)}function Ij($,v,g){if(g.length===0)return;$(`${v} (${g.length}):`);for(let I of g)$(` - ${I}`)}var kT=I$.looseObject({status:I$.string().optional(),daemons:I$.array(I$.looseObject({name:I$.string().optional(),status:I$.string().optional(),health:I$.looseObject({status:I$.string().optional(),message:I$.string().optional()}).optional()})).optional()});async function tw($,v,g={}){let I=g.fetchImpl??fetch,J=(await Hv($)).users.find((D)=>D.handle===v);if(!J)throw Error(`Unknown pilot user: ${v}`);let G=`https://${J.domain}`,z=[],O=[];if(await G8("health",()=>PT(I,G),z,O),await G8("mcp-auth-gate",()=>ET(I,G),z,O),J.preset==="default")await G8("site",()=>Jj(I,`${G}/`,"site"),z,O),await G8("cms",()=>Jj(I,`${G}/cms`,"cms"),z,O),g.logger?.("WARN Manual check still required: passkey setup/handoff completed from the setup email.");return{handle:J.handle,preset:J.preset,domain:J.domain,contentRepo:J.contentRepo,checks:z,failedChecks:O}}async function G8($,v,g,I){try{await v(),g.push($)}catch(U){I.push({name:$,message:U instanceof Error?U.message:String(U)})}}async function PT($,v){let g=await aw($,`${v}/health`,{method:"GET"});if(!g.ok)throw Error(`/health returned ${g.status}, expected 200`);let I=kT.safeParse(await g.json());if(!I.success)throw Error(`/health response did not match expected shape: ${I.error.message}`);let U=I.data;if(U.status&&U.status!=="healthy")throw Error(`/health status is ${U.status}, expected healthy`);for(let J of U.daemons??[]){let G=J.status??"unknown",z=J.health?.status;if(G==="error"||z==="unhealthy")throw Error(`daemon ${J.name??"unknown"} is unhealthy (${G}/${z??"unknown"})`)}}async function ET($,v){let g=await aw($,`${v}/mcp`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"initialize"})});if(g.status<400||g.status>=500)throw Error(`unauthenticated POST /mcp returned ${g.status}, expected a 4xx auth failure`)}async function Jj($,v,g){let I=await aw($,v,{method:"GET"});if(I.status>=400)throw Error(`${g} ${v} returned ${I.status}, expected < 400`)}async function aw($,v,g){let I=new AbortController,U=setTimeout(()=>I.abort(),20000);try{return await $(v,{...g,redirect:"follow",signal:I.signal})}finally{clearTimeout(U)}}import{lookup as BT}from"dns/promises";function Gj($={}){let v=$.fetchImpl??fetch,g=$.lookupHost??BT;return async function(U){let J=await CT(U.domain,g),G=await LT(U.domain,v),z=await fT(U.domain,v);return{dnsStatus:J,serverStatus:G,deployStatus:G,mcpStatus:z}}}async function CT($,v){try{return(await v($)).address?"ready":"failed"}catch{return"failed"}}async function LT($,v){try{return(await zj(v,`https://${$}/health`,{method:"GET"})).ok?"ready":"failed"}catch{return"failed"}}async function fT($,v){try{let g=await zj(v,`https://${$}/mcp`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"initialize",params:{}})});return g.status===401||g.ok?"ready":"failed"}catch{return"failed"}}async function zj($,v,g){let I=new AbortController,U=setTimeout(()=>I.abort(),5000);try{return await $(v,{...g,signal:I.signal})}finally{clearTimeout(U)}}async function _T($,v={}){switch($.command){case"init":{let g=$.args[0];if(!g)return{success:!1,message:"Usage: brains-ops init <repo>"};return await cX(g),{success:!0,message:`Initialized ${g}`}}case"render":{let g=$.args[0];if(!g)return{success:!1,message:"Usage: brains-ops render <repo>"};let I=v.resolveStatus??Gj({...v.fetchImpl?{fetchImpl:v.fetchImpl}:{},...v.lookupHost?{lookupHost:v.lookupHost}:{}});return await rg(g,{resolveStatus:I}),{success:!0,message:`Rendered ${g}/views/users.md`}}case"user:add":{let g=$.args[0],I=$.args[1],U=$.flags.cohort;if(!g||!I||!U)return{success:!1,message:"Usage: brains-ops user:add <repo> <handle> --cohort <cohort>"};return await hX(g,I,{cohort:U,...$.flags.anchorId?{anchorId:$.flags.anchorId}:{}}),{success:!0,message:`Added ${I} to ${U}`}}case"onboard":{let g=$.args[0],I=$.args[1];if(!g||!I)return{success:!1,message:"Usage: brains-ops onboard <repo> <handle>"};return await dX(g,I,v.runner,{...v.env?{env:v.env}:{}}),{success:!0,message:`Onboarded ${I}`}}case"age-key:bootstrap":{let g=$.args[0];if(!g)return{success:!1,message:"Usage: brains-ops age-key:bootstrap <repo>"};return iw(g,{...v.logger?{logger:v.logger}:{},...$.flags.pushTo?{pushTo:$.flags.pushTo}:{},...v.bootstrapRunCommand?{runCommand:v.bootstrapRunCommand}:{}})}case"ssh-key:bootstrap":{let g=$.args[0];if(!g)return{success:!1,message:"Usage: brains-ops ssh-key:bootstrap <repo>"};return I8(g,{...v.env?{env:v.env}:{},...v.fetchImpl?{fetchImpl:v.fetchImpl}:{},...v.logger?{logger:v.logger}:{},...$.flags.pushTo?{pushTo:$.flags.pushTo}:{},...v.bootstrapRunCommand?{runCommand:v.bootstrapRunCommand}:{},...v.sshKeygen?{sshKeygen:v.sshKeygen}:{}})}case"cert:bootstrap":{let g=$.args[0];if(!g)return{success:!1,message:"Usage: brains-ops cert:bootstrap <repo>"};return yw(g,{...v.env?{env:v.env}:{},...v.fetchImpl?{fetchImpl:v.fetchImpl}:{},...v.logger?{logger:v.logger}:{},...$.flags.handle?{handle:$.flags.handle}:{},...$.flags.pushTo?{pushTo:$.flags.pushTo}:{},...v.bootstrapRunCommand?{runCommand:v.bootstrapRunCommand}:{}})}case"secrets:push":{let g=$.args[0];if(!g)return{success:!1,message:"Usage: brains-ops secrets:push <repo>"};let I=await pw(g,{env:v.env,logger:v.logger,dryRun:$.flags.dryRun});return{success:!0,message:I.dryRun?`Dry run: would push ${I.pushedKeys.length} secrets`:`Pushed ${I.pushedKeys.length} secrets`}}case"secrets:encrypt":{let g=$.args[0],I=$.args[1];if(!g||!I)return{success:!1,message:"Usage: brains-ops secrets:encrypt <repo> <handle>"};let U=await dw(g,I,{env:v.env,logger:v.logger,dryRun:$.flags.dryRun});return{success:!0,message:U.dryRun?`Dry run: would encrypt ${U.encryptedKeys.length} secrets for ${I}`:`Encrypted ${U.encryptedKeys.length} secrets for ${I}`}}case"verify-user":{let g=$.args[0],I=$.args[1];if(!g||!I)return{success:!1,message:"Usage: brains-ops verify-user <repo> <handle>"};let U=await tw(g,I,{...v.fetchImpl?{fetchImpl:v.fetchImpl}:{},...v.logger?{logger:v.logger}:{}}),J=U.checks.length>0?U.checks.join(", "):"none";if(U.failedChecks.length>0){let G=U.failedChecks.map((z)=>` ${z.name}: ${z.message}`).join(`