var sd=Object.create;var No=Object.defineProperty;var ad=Object.getOwnPropertyDescriptor;var cd=Object.getOwnPropertyNames;var dd=Object.getPrototypeOf,fd=Object.prototype.hasOwnProperty;var qo=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ie=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}};var ud=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of cd(t))!fd.call(e,n)&&n!==r&&No(e,n,{get:()=>t[n],enumerable:!(i=ad(t,n))||i.enumerable});return e};var It=(e,t,r)=>(r=e!=null?sd(dd(e)):{},ud(t||!e||!e.__esModule?No(r,"default",{value:e,enumerable:!0}):r,e));var Lo=ie((vA,Po)=>{function ld(e){return e.length}function Ad(e){let t=e.byteLength,r="";for(let i=0;i<t;i++)r+=String.fromCharCode(e[i]&127);return r}function Id(e,t){let r=e.byteLength;for(let i=0;i<r;i++)e[i]=t.charCodeAt(i);return r}Po.exports={byteLength:ld,toString:Ad,write:Id}});var Ko=ie((eI,Ho)=>{var xr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sr=new Uint8Array(256);for(let e=0;e<xr.length;e++)sr[xr.charCodeAt(e)]=e;sr[45]=62;sr[95]=63;function pd(e){let t=e.length;return e.charCodeAt(t-1)===61&&t--,t>1&&e.charCodeAt(t-1)===61&&t--,t*3>>>2}function hd(e){let t=e.byteLength,r="";for(let i=0;i<t;i+=3)r+=xr[e[i]>>2]+xr[(e[i]&3)<<4|e[i+1]>>4]+xr[(e[i+1]&15)<<2|e[i+2]>>6]+xr[e[i+2]&63];return t%3===2?r=r.substring(0,r.length-1)+"=":t%3===1&&(r=r.substring(0,r.length-2)+"=="),r}function gd(e,t){let r=e.byteLength;for(let i=0,n=0;n<r;i+=4){let o=sr[t.charCodeAt(i)],s=sr[t.charCodeAt(i+1)],a=sr[t.charCodeAt(i+2)],I=sr[t.charCodeAt(i+3)];e[n++]=o<<2|s>>4,e[n++]=(s&15)<<4|a>>2,e[n++]=(a&3)<<6|I&63}return r}Ho.exports={byteLength:pd,toString:hd,write:gd}});var Mo=ie((tI,Fo)=>{function yd(e){return e.length>>>1}function bd(e){let t=e.byteLength;e=new DataView(e.buffer,e.byteOffset,t);let r="",i=0;for(let n=t-t%4;i<n;i+=4)r+=e.getUint32(i).toString(16).padStart(8,"0");for(;i<t;i++)r+=e.getUint8(i).toString(16).padStart(2,"0");return r}function Ed(e,t){let r=e.byteLength;for(let i=0;i<r;i++){let n=Qo(t.charCodeAt(i*2)),o=Qo(t.charCodeAt(i*2+1));if(n===void 0||o===void 0)return i;e[i]=n<<4|o}return r}Fo.exports={byteLength:yd,toString:bd,write:Ed};function Qo(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}});var Vo=ie((rI,Uo)=>{function md(e){return e.length}function Cd(e){let t=e.byteLength,r="";for(let i=0;i<t;i++)r+=String.fromCharCode(e[i]);return r}function xd(e,t){let r=e.byteLength;for(let i=0;i<r;i++)e[i]=t.charCodeAt(i);return r}Uo.exports={byteLength:md,toString:Cd,write:xd}});var Go=ie((iI,Yo)=>{function Sd(e){let t=0;for(let r=0,i=e.length;r<i;r++){let n=e.charCodeAt(r);if(n>=55296&&n<=56319&&r+1<i){let o=e.charCodeAt(r+1);if(o>=56320&&o<=57343){t+=4,r++;continue}}n<=127?t+=1:n<=2047?t+=2:t+=3}return t}var En;if(typeof TextDecoder<"u"){let e=new TextDecoder;En=function(r){return e.decode(r)}}else En=function(t){let r=t.byteLength,i="",n=0;for(;n<r;){let o=t[n];if(o<=127){i+=String.fromCharCode(o),n++;continue}let s=0,a=0;if(o<=223?(s=1,a=o&31):o<=239?(s=2,a=o&15):o<=244&&(s=3,a=o&7),r-n-s>0){let I=0;for(;I<s;)o=t[n+I+1],a=a<<6|o&63,I+=1}else a=65533,s=r-n;i+=String.fromCodePoint(a),n+=s+1}return i};var mn;if(typeof TextEncoder<"u"){let e=new TextEncoder;mn=function(r,i){return e.encodeInto(i,r).written}}else mn=function(t,r){let i=t.byteLength,n=0,o=0;for(;n<r.length;){let s=r.codePointAt(n);if(s<=127){if(o+1>i)break;t[o++]=s,n++;continue}let a=0,I=0;if(s<=2047?(a=6,I=192):s<=65535?(a=12,I=224):s<=2097151&&(a=18,I=240),o+a/6+1>i)break;for(t[o++]=I|s>>a,a-=6;a>=0;)t[o++]=128|s>>a&63,a-=6;n+=s>=65536?2:1}return o};Yo.exports={byteLength:Sd,toString:En,write:mn}});var zo=ie((nI,Wo)=>{function Rd(e){return e.length*2}function Bd(e){let t=e.byteLength,r="";for(let i=0;i<t-1;i+=2)r+=String.fromCharCode(e[i]+e[i+1]*256);return r}function Td(e,t){let r=e.byteLength,i=r;for(let n=0;n<t.length&&!((i-=2)<0);++n){let o=t.charCodeAt(n),s=o>>8,a=o%256;e[n*2]=a,e[n*2+1]=s}return r}Wo.exports={byteLength:Rd,toString:Bd,write:Td}});var Ze=ie((kr,Zo)=>{var _d=Lo(),Od=Ko(),Dd=Mo(),wd=Vo(),Cn=Go(),Nd=zo(),ko=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function Sr(e){switch(e){case"ascii":return _d;case"base64":return Od;case"hex":return Dd;case"binary":case"latin1":return wd;case"utf8":case"utf-8":case void 0:case null:return Cn;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Nd;default:throw new Error(`Unknown encoding '${e}'`)}}function qd(e){return e instanceof Uint8Array}function Pd(e){try{return Sr(e),!0}catch{return!1}}function Ld(e,t,r){let i=new Uint8Array(e);return t!==void 0&&kr.fill(i,t,0,i.byteLength,r),i}function Hd(e){return new Uint8Array(e)}function Kd(e){return new Uint8Array(e)}function Qd(e,t){return Sr(t).byteLength(e)}function jo(e,t){if(e===t)return 0;let r=Math.min(e.byteLength,t.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),t=new DataView(t.buffer,t.byteOffset,t.byteLength);let i=0;for(let n=r-r%4;i<n;i+=4){let o=e.getUint32(i,ko),s=t.getUint32(i,ko);if(o!==s)break}for(;i<r;i++){let n=e.getUint8(i),o=t.getUint8(i);if(n<o)return-1;if(n>o)return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}function Fd(e,t){t===void 0&&(t=e.reduce((n,o)=>n+o.byteLength,0));let r=new Uint8Array(t),i=0;for(let n of e){if(i+n.byteLength>r.byteLength)return r.set(n.subarray(0,r.byteLength-i),i),r;r.set(n,i),i+=n.byteLength}return r}function Md(e,t,r=0,i=0,n=e.byteLength){if(r<0&&(r=0),r>=t.byteLength)return 0;let o=t.byteLength-r;if(i<0&&(i=0),i>=e.byteLength||n<=i)return 0;n>e.byteLength&&(n=e.byteLength),n-i>o&&(n=i+o);let s=n-i;return e===t?t.copyWithin(r,i,n):((i!==0||n!==e.byteLength)&&(e=e.subarray(i,n)),t.set(e,r)),s}function Ud(e,t){return e===t?!0:e.byteLength!==t.byteLength?!1:jo(e,t)===0}function Vd(e,t,r=0,i=e.byteLength,n="utf8"){if(typeof t=="string"?typeof r=="string"?(n=r,r=0,i=e.byteLength):typeof i=="string"&&(n=i,i=e.byteLength):typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=+t),r<0&&(r=0),r>=e.byteLength||i<=r)return e;if(i>e.byteLength&&(i=e.byteLength),typeof t=="number")return e.fill(t,r,i);typeof t=="string"&&(t=kr.from(t,n));let o=t.byteLength;for(let s=0,a=i-r;s<a;++s)e[s+r]=t[s%o];return e}function Xo(e,t,r){return typeof e=="string"?Yd(e,t):Array.isArray(e)?Gd(e):ArrayBuffer.isView(e)?Wd(e):zd(e,t,r)}function Yd(e,t){let r=Sr(t),i=new Uint8Array(r.byteLength(e));return r.write(i,e),i}function Gd(e){let t=new Uint8Array(e.length);return t.set(e),t}function Wd(e){let t=new Uint8Array(e.byteLength);return t.set(e),t}function zd(e,t,r){return new Uint8Array(e,t,r)}function kd(e,t,r,i){return Jo(e,t,r,i)!==-1}function Jo(e,t,r,i){return $o(e,t,r,i,!0)}function jd(e,t,r,i){return $o(e,t,r,i,!1)}function $o(e,t,r,i,n){if(e.byteLength===0)return-1;if(typeof r=="string"?(i=r,r=0):r===void 0?r=n?0:e.length-1:r<0&&(r+=e.byteLength),r>=e.byteLength){if(n)return-1;r=e.byteLength-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string")t=Xo(t,i);else if(typeof t=="number")return t=t&255,n?e.indexOf(t,r):e.lastIndexOf(t,r);if(t.byteLength===0)return-1;if(n){let o=-1;for(let s=r;s<e.byteLength;s++)if(e[s]===t[o===-1?0:s-o]){if(o===-1&&(o=s),s-o+1===t.byteLength)return o}else o!==-1&&(s-=s-o),o=-1}else{r+t.byteLength>e.byteLength&&(r=e.byteLength-t.byteLength);for(let o=r;o>=0;o--){let s=!0;for(let a=0;a<t.byteLength;a++)if(e[o+a]!==t[a]){s=!1;break}if(s)return o}}return-1}function ar(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function Xd(e){let t=e.byteLength;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<t;r+=2)ar(e,r,r+1);return e}function Jd(e){let t=e.byteLength;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<t;r+=4)ar(e,r,r+3),ar(e,r+1,r+2);return e}function $d(e){let t=e.byteLength;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<t;r+=8)ar(e,r,r+7),ar(e,r+1,r+6),ar(e,r+2,r+5),ar(e,r+3,r+4);return e}function Zd(e){return e}function vd(e,t="utf8",r=0,i=e.byteLength){return arguments.length===1?Cn.toString(e):arguments.length===2?Sr(t).toString(e):(r<0&&(r=0),r>=e.byteLength||i<=r?"":(i>e.byteLength&&(i=e.byteLength),(r!==0||i!==e.byteLength)&&(e=e.subarray(r,i)),Sr(t).toString(e)))}function ef(e,t,r=0,i=e.byteLength,n){if(arguments.length===2)return Cn.write(e,t);typeof r=="string"?(n=r,r=0,i=e.byteLength):typeof i=="string"&&(n=i,i=e.byteLength-r),i=Math.min(i,kr.byteLength(t,n));let o=r;if(o<0&&(o=0),o>=e.byteLength)return 0;let s=r+i;return s<=o?0:(s>e.byteLength&&(s=e.byteLength),(o!==0||s!==e.byteLength)&&(e=e.subarray(o,s)),Sr(n).write(e,t))}function tf(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!1)}function rf(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!0)}function nf(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!1)}function of(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!0)}function sf(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt32(t,!1)}function af(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt32(t,!0)}function cf(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(t,!1)}function df(e,t=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(t,!0)}function ff(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat64(r,t,!1),r+8}function uf(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat64(r,t,!0),r+8}function lf(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat32(r,t,!1),r+4}function Af(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat32(r,t,!0),r+4}function If(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setInt32(r,t,!1),r+4}function pf(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setInt32(r,t,!0),r+4}function hf(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(r,t,!1),r+4}function gf(e,t,r=0){return new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(r,t,!0),r+4}Zo.exports=kr={isBuffer:qd,isEncoding:Pd,alloc:Ld,allocUnsafe:Hd,allocUnsafeSlow:Kd,byteLength:Qd,compare:jo,concat:Fd,copy:Md,equals:Ud,fill:Vd,from:Xo,includes:kd,indexOf:Jo,lastIndexOf:jd,swap16:Xd,swap32:Jd,swap64:$d,toBuffer:Zd,toString:vd,write:ef,readDoubleBE:tf,readDoubleLE:rf,readFloatBE:nf,readFloatLE:of,readInt32BE:sf,readInt32LE:af,readUInt32BE:cf,readUInt32LE:df,writeDoubleBE:ff,writeDoubleLE:uf,writeFloatBE:lf,writeFloatLE:Af,writeInt32BE:If,writeInt32LE:pf,writeUInt32BE:hf,writeUInt32LE:gf}});var Xt=ie((cI,os)=>{os.exports=ns;var wi=class extends Error{};wi.prototype.name="AssertionError";function ns(e,t){if(!e){var r=new wi(t);throw Error.captureStackTrace&&Error.captureStackTrace(r,ns),r}}});var as=ie((dI,ss)=>{var xf=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},Sf=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return r=>{for(var i=r.length,n=new Uint8Array((i-(r[i-1]=="=")-(r[i-2]=="="))*3/4|0),o=0,s=0;o<i;){var a=e[r.charCodeAt(o++)],I=e[r.charCodeAt(o++)],E=e[r.charCodeAt(o++)],m=e[r.charCodeAt(o++)];n[s++]=a<<2|I>>4,n[s++]=I<<4|E>>2,n[s++]=E<<6|m}return n}})(),Rf=xf({"wasm-binary:./blake2b.wat"(e,t){t.exports=Sf("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")}}),Bf=Rf(),Tf=WebAssembly.compile(Bf);ss.exports=async e=>(await WebAssembly.instantiate(await Tf,e)).exports});var ps=ie((lI,_t)=>{var ot=Xt(),_f=Ze(),Ft=null,cs=typeof WebAssembly<"u"&&as()().then(e=>{Ft=e}),Qt=64,Ni=[];_t.exports=ke;var ds=_t.exports.BYTES_MIN=16,fs=_t.exports.BYTES_MAX=64,fI=_t.exports.BYTES=32,us=_t.exports.KEYBYTES_MIN=16,ls=_t.exports.KEYBYTES_MAX=64,uI=_t.exports.KEYBYTES=32,As=_t.exports.SALTBYTES=16,Is=_t.exports.PERSONALBYTES=16;function ke(e,t,r,i,n){if(!(this instanceof ke))return new ke(e,t,r,i,n);if(!Ft)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),n!==!0&&(ot(e>=ds,"digestLength must be at least "+ds+", was given "+e),ot(e<=fs,"digestLength must be at most "+fs+", was given "+e),t!=null&&(ot(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),ot(t.length>=us,"key must be at least "+us+", was given "+t.length),ot(t.length<=ls,"key must be at least "+ls+", was given "+t.length)),r!=null&&(ot(r instanceof Uint8Array,"salt must be Uint8Array or Buffer"),ot(r.length===As,"salt must be exactly "+As+", was given "+r.length)),i!=null&&(ot(i instanceof Uint8Array,"personal must be Uint8Array or Buffer"),ot(i.length===Is,"personal must be exactly "+Is+", was given "+i.length))),Ni.length||(Ni.push(Qt),Qt+=216),this.digestLength=e,this.finalized=!1,this.pointer=Ni.pop(),this._memory=new Uint8Array(Ft.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=t?t.length:0,this._memory[2]=1,this._memory[3]=1,r&&this._memory.set(r,32),i&&this._memory.set(i,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),Ft.blake2b_init(this.pointer,this.digestLength),t&&(this.update(t),this._memory.fill(0,Qt,Qt+t.length),this._memory[this.pointer+200]=128)}ke.prototype._realloc=function(e){Ft.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(Ft.memory.buffer)};ke.prototype.update=function(e){return ot(this.finalized===!1,"Hash instance finalized"),ot(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),Qt+e.length>this._memory.length&&this._realloc(Qt+e.length),this._memory.set(e,Qt),Ft.blake2b_update(this.pointer,Qt,Qt+e.length),this};ke.prototype.digest=function(e){if(ot(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ni.push(this.pointer),Ft.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return _f.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);ot(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var t=0;t<this.digestLength;t++)e[t]=this._memory[this.pointer+128+t];return e};ke.prototype.final=ke.prototype.digest;ke.WASM=Ft;ke.SUPPORTED=typeof WebAssembly<"u";ke.ready=function(e){return e||(e=Of),cs?cs.then(()=>e(),e):e(new Error("WebAssembly not supported"))};ke.prototype.ready=ke.ready;ke.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};ke.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Of(){}});var Ts=ie((pI,je)=>{var ht=Xt(),Xr=ps();function qi(e,t,r){var i=e[t]+e[r],n=e[t+1]+e[r+1];i>=4294967296&&n++,e[t]=i,e[t+1]=n}function hs(e,t,r,i){var n=e[t]+r;r<0&&(n+=4294967296);var o=e[t+1]+i;n>=4294967296&&o++,e[t]=n,e[t+1]=o}function xs(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function Jt(e,t,r,i,n,o){var s=jr[n],a=jr[n+1],I=jr[o],E=jr[o+1];qi(L,e,t),hs(L,e,s,a);var m=L[i]^L[e],C=L[i+1]^L[e+1];L[i]=C,L[i+1]=m,qi(L,r,i),m=L[t]^L[r],C=L[t+1]^L[r+1],L[t]=m>>>24^C<<8,L[t+1]=C>>>24^m<<8,qi(L,e,t),hs(L,e,I,E),m=L[i]^L[e],C=L[i+1]^L[e+1],L[i]=m>>>16^C<<16,L[i+1]=C>>>16^m<<16,qi(L,r,i),m=L[t]^L[r],C=L[t+1]^L[r+1],L[t]=C>>>31^m<<1,L[t+1]=m>>>31^C<<1}var Ss=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Df=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],Ue=new Uint8Array(Df.map(function(e){return e*2})),L=new Uint32Array(32),jr=new Uint32Array(32);function Rs(e,t){var r=0;for(r=0;r<16;r++)L[r]=e.h[r],L[r+16]=Ss[r];for(L[24]=L[24]^e.t,L[25]=L[25]^e.t/4294967296,t&&(L[28]=~L[28],L[29]=~L[29]),r=0;r<32;r++)jr[r]=xs(e.b,4*r);for(r=0;r<12;r++)Jt(0,8,16,24,Ue[r*16+0],Ue[r*16+1]),Jt(2,10,18,26,Ue[r*16+2],Ue[r*16+3]),Jt(4,12,20,28,Ue[r*16+4],Ue[r*16+5]),Jt(6,14,22,30,Ue[r*16+6],Ue[r*16+7]),Jt(0,10,20,30,Ue[r*16+8],Ue[r*16+9]),Jt(2,12,22,24,Ue[r*16+10],Ue[r*16+11]),Jt(4,14,16,26,Ue[r*16+12],Ue[r*16+13]),Jt(6,8,18,28,Ue[r*16+14],Ue[r*16+15]);for(r=0;r<16;r++)e.h[r]=e.h[r]^L[r]^L[r+16]}var $t=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function Tr(e,t,r,i){$t.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,$t[0]=e,t&&($t[1]=t.length),$t[2]=1,$t[3]=1,r&&$t.set(r,32),i&&$t.set(i,48);for(var n=0;n<16;n++)this.h[n]=Ss[n]^xs($t,n*4);t&&(Bs(this,t),this.c=128)}Tr.prototype.update=function(e){return ht(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),Bs(this,e),this};Tr.prototype.digest=function(e){var t=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return ht(t instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),ht(t.length>=this.outlen,"out must have at least outlen bytes of space"),wf(this,t),e==="hex"?Nf(t):t};Tr.prototype.final=Tr.prototype.digest;Tr.ready=function(e){Xr.ready(function(){e()})};function Bs(e,t){for(var r=0;r<t.length;r++)e.c===128&&(e.t+=e.c,Rs(e,!1),e.c=0),e.b[e.c++]=t[r]}function wf(e,t){for(e.t+=e.c;e.c<128;)e.b[e.c++]=0;Rs(e,!0);for(var r=0;r<e.outlen;r++)t[r]=e.h[r>>2]>>8*(r&3);return t}function Nf(e){for(var t="",r=0;r<e.length;r++)t+=qf(e[r]);return t}function qf(e){return e<16?"0"+e.toString(16):e.toString(16)}var Pf=Tr;je.exports=function(t,r,i,n,o){return o!==!0&&(ht(t>=gs,"outlen must be at least "+gs+", was given "+t),ht(t<=ys,"outlen must be at most "+ys+", was given "+t),r!=null&&(ht(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),ht(r.length>=bs,"key must be at least "+bs+", was given "+r.length),ht(r.length<=Es,"key must be at most "+Es+", was given "+r.length)),i!=null&&(ht(i instanceof Uint8Array,"salt must be Uint8Array or Buffer"),ht(i.length===ms,"salt must be exactly "+ms+", was given "+i.length)),n!=null&&(ht(n instanceof Uint8Array,"personal must be Uint8Array or Buffer"),ht(n.length===Cs,"personal must be exactly "+Cs+", was given "+n.length))),new Pf(t,r,i,n)};je.exports.ready=function(e){Xr.ready(function(){e()})};je.exports.WASM_SUPPORTED=Xr.SUPPORTED;je.exports.WASM_LOADED=!1;var gs=je.exports.BYTES_MIN=16,ys=je.exports.BYTES_MAX=64,AI=je.exports.BYTES=32,bs=je.exports.KEYBYTES_MIN=16,Es=je.exports.KEYBYTES_MAX=64,II=je.exports.KEYBYTES=32,ms=je.exports.SALTBYTES=16,Cs=je.exports.PERSONALBYTES=16;Xr.ready(function(e){e||(je.exports.WASM_LOADED=!0,je.exports=Xr)})});var _s=ie((hI,Ve)=>{var st=Ts();if(new Uint16Array([1])[0]!==1)throw new Error("Big endian architecture is not supported.");Ve.exports.crypto_generichash_PRIMITIVE="blake2b";Ve.exports.crypto_generichash_BYTES_MIN=st.BYTES_MIN;Ve.exports.crypto_generichash_BYTES_MAX=st.BYTES_MAX;Ve.exports.crypto_generichash_BYTES=st.BYTES;Ve.exports.crypto_generichash_KEYBYTES_MIN=st.KEYBYTES_MIN;Ve.exports.crypto_generichash_KEYBYTES_MAX=st.KEYBYTES_MAX;Ve.exports.crypto_generichash_KEYBYTES=st.KEYBYTES;Ve.exports.crypto_generichash_WASM_SUPPORTED=st.WASM_SUPPORTED;Ve.exports.crypto_generichash_WASM_LOADED=!1;Ve.exports.crypto_generichash=function(e,t,r){st(e.length,r).update(t).final(e)};Ve.exports.crypto_generichash_ready=st.ready;Ve.exports.crypto_generichash_batch=function(e,t,r){for(var i=st(e.length,r),n=0;n<t.length;n++)i.update(t[n]);i.final(e)};Ve.exports.crypto_generichash_instance=function(e,t){return t==null&&(t=Ve.exports.crypto_generichash_BYTES),st(t,e)};st.ready(function(e){Ve.exports.crypto_generichash_WASM_LOADED=st.WASM_LOADED})});var Os=ie(()=>{});var _n=ie((bI,Tn)=>{var Lf=Xt(),Ds=(function(){var e=65536,t=globalThis.crypto||globalThis.msCrypto;function r(o,s){for(let a=0;a<s;a+=e)t.getRandomValues(new Uint8Array(o.buffer,a+o.byteOffset,Math.min(s-a,e)))}function i(o,s){new Uint8Array(o.buffer,o.byteOffset,s).set(t.randomBytes(s))}function n(){throw new Error("No secure random number generator available")}return t&&t.getRandomValues?r:qo!=null&&(t=Os(),t&&t.randomBytes)?i:n})();Object.defineProperty(Tn.exports,"randombytes",{value:Ds});Tn.exports.randombytes_buf=function(e){Lf(e,"out must be given"),Ds(e,e.byteLength)}});var ws=ie((mI,On)=>{On.exports={crypto_verify_16:Hf,crypto_verify_32:Kf,crypto_verify_64:Qf};function Pi(e,t,r,i,n){var o=0;for(let s=0;s<n;s++)o|=e[t+s]^r[i+s];return(1&o-1>>>8)-1}Object.defineProperty(On.exports,"vn",{value:Pi});function Hf(e,t,r,i){return Pi(e,t,r,i,16)===0}function Kf(e,t,r,i){return Pi(e,t,r,i,32)===0}function Qf(e,t,r,i){return Pi(e,t,r,i,64)===0}});var Ls=ie((CI,Ps)=>{var qs=Xt(),Hi=Ze();Ps.exports=Mt;var Li=128,Ns=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Mt(){return this instanceof Mt?(this.hh=new Int32Array(8),this.hl=new Int32Array(8),this.buffer=new Uint8Array(128),this.finalised=!1,this.bytesRead=0,this.pos=0,this.hh[0]=1779033703,this.hh[1]=3144134277,this.hh[2]=1013904242,this.hh[3]=2773480762,this.hh[4]=1359893119,this.hh[5]=2600822924,this.hh[6]=528734635,this.hh[7]=1541459225,this.hl[0]=4089235720,this.hl[1]=2227873595,this.hl[2]=4271175723,this.hl[3]=1595750129,this.hl[4]=2917565137,this.hl[5]=725511199,this.hl[6]=4215389547,this.hl[7]=327033209,this):new Mt}Mt.prototype.update=function(e,t){qs(this.finalised===!1,"Hash instance finalised");var[r,i]=Ff(e,t);this.bytesRead+=i;let n=i+this.pos&-128;this.buffer.set(r.subarray(0,Li-this.pos),this.pos);let o=this.pos;return i-=Li-this.pos,i>=0&&(Ki(this.hh,this.hl,this.buffer,128),this.pos=0),i>127&&(Ki(this.hh,this.hl,r.subarray(Li-o,n-o),n-Li),i%=128),this.buffer.set(r.subarray(r.byteLength-i)),this.pos=this.bytesRead&127,this.buffer.fill(0,this.pos),this};Mt.prototype.digest=function(e,t=0){if(qs(this.finalised===!1,"Hash instance finalised"),this.finalised=!0,this.buffer.fill(0,this.pos),this.buffer[this.pos]=128,this.pos>111&&(Ki(this.hh,this.hl,this.buffer,128),this.buffer.fill(0),this.pos=0),Dn(this.buffer,120,this.bytesRead/536870912|0,this.bytesRead<<3),Ki(this.hh,this.hl,this.buffer,128),e instanceof Uint8Array&&e.byteLength>63){for(let i=0;i<8;i++)Dn(e,8*i+t,this.hh[i],this.hl[i]);return e}let r=new Uint8Array(64);for(let i=0;i<8;i++)Dn(r,8*i,this.hh[i],this.hl[i]);return typeof e=="string"?Hi.toString(r,e):r};function Dn(e,t,r,i){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=r&255,e[t+4]=i>>24&255,e[t+5]=i>>16&255,e[t+6]=i>>8&255,e[t+7]=i&255}function Ff(e,t){var r=Hi.from(e,t);return[r,r.byteLength]}function Ki(e,t,r,i){for(var n=new Int32Array(16),o=new Int32Array(16),s,a,I,E,m,C,ue,Y,pe,Oe,Be,le,he,Ae,Ie,De,G,j,te,F,f,u,x,g,y,B,Pe=e[0],mt=e[1],Bt=e[2],or=e[3],J=e[4],Ee=e[5],me=e[6],Ce=e[7],$=t[0],ge=t[1],ye=t[2],Te=t[3],Z=t[4],xe=t[5],Se=t[6],Re=t[7],we=0;i>=128;){for(te=0;te<16;te++)F=8*te+we,n[te]=r[F+0]<<24|r[F+1]<<16|r[F+2]<<8|r[F+3],o[te]=r[F+4]<<24|r[F+5]<<16|r[F+6]<<8|r[F+7];for(te=0;te<80;te++)if(s=Pe,a=mt,I=Bt,E=or,m=J,C=Ee,ue=me,Y=Ce,pe=$,Oe=ge,Be=ye,le=Te,he=Z,Ae=xe,Ie=Se,De=Re,f=Ce,u=Re,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=(J>>>14|Z<<18)^(J>>>18|Z<<14)^(Z>>>9|J<<23),u=(Z>>>14|J<<18)^(Z>>>18|J<<14)^(J>>>9|Z<<23),x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,f=J&Ee^~J&me,u=Z&xe^~Z&Se,x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,f=Ns[te*2],u=Ns[te*2+1],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,f=n[te%16],u=o[te%16],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,G=y&65535|B<<16,j=x&65535|g<<16,f=G,u=j,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=(Pe>>>28|$<<4)^($>>>2|Pe<<30)^($>>>7|Pe<<25),u=($>>>28|Pe<<4)^(Pe>>>2|$<<30)^(Pe>>>7|$<<25),x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,f=Pe&mt^Pe&Bt^mt&Bt,u=$&ge^$&ye^ge&ye,x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,Y=y&65535|B<<16,De=x&65535|g<<16,f=E,u=le,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=G,u=j,x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,E=y&65535|B<<16,le=x&65535|g<<16,mt=s,Bt=a,or=I,J=E,Ee=m,me=C,Ce=ue,Pe=Y,ge=pe,ye=Oe,Te=Be,Z=le,xe=he,Se=Ae,Re=Ie,$=De,te%16===15)for(F=0;F<16;F++)f=n[F],u=o[F],x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=n[(F+9)%16],u=o[(F+9)%16],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,G=n[(F+1)%16],j=o[(F+1)%16],f=(G>>>1|j<<31)^(G>>>8|j<<24)^G>>>7,u=(j>>>1|G<<31)^(j>>>8|G<<24)^(j>>>7|G<<25),x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,G=n[(F+14)%16],j=o[(F+14)%16],f=(G>>>19|j<<13)^(j>>>29|G<<3)^G>>>6,u=(j>>>19|G<<13)^(G>>>29|j<<3)^(j>>>6|G<<26),x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,n[F]=y&65535|B<<16,o[F]=x&65535|g<<16;f=Pe,u=$,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[0],u=t[0],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[0]=Pe=y&65535|B<<16,t[0]=$=x&65535|g<<16,f=mt,u=ge,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[1],u=t[1],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[1]=mt=y&65535|B<<16,t[1]=ge=x&65535|g<<16,f=Bt,u=ye,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[2],u=t[2],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[2]=Bt=y&65535|B<<16,t[2]=ye=x&65535|g<<16,f=or,u=Te,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[3],u=t[3],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[3]=or=y&65535|B<<16,t[3]=Te=x&65535|g<<16,f=J,u=Z,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[4],u=t[4],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[4]=J=y&65535|B<<16,t[4]=Z=x&65535|g<<16,f=Ee,u=xe,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[5],u=t[5],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[5]=Ee=y&65535|B<<16,t[5]=xe=x&65535|g<<16,f=me,u=Se,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[6],u=t[6],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[6]=me=y&65535|B<<16,t[6]=Se=x&65535|g<<16,f=Ce,u=Re,x=u&65535,g=u>>>16,y=f&65535,B=f>>>16,f=e[7],u=t[7],x+=u&65535,g+=u>>>16,y+=f&65535,B+=f>>>16,g+=x>>>16,y+=g>>>16,B+=y>>>16,e[7]=Ce=y&65535|B<<16,t[7]=Re=x&65535|g<<16,we+=128,i-=128}}function Jr(e){if(!(this instanceof Jr))return new Jr(e);this.pad=Hi.alloc(128),this.inner=Mt(),this.outer=Mt();let t=Hi.alloc(64);e.byteLength>128&&(Mt().update(e).digest(t),e=t),this.pad.fill(54);for(let r=0;r<e.byteLength;r++)this.pad[r]^=e[r];this.inner.update(this.pad),this.pad.fill(92);for(let r=0;r<e.byteLength;r++)this.pad[r]^=e[r];this.outer.update(this.pad),this.pad.fill(0),t.fill(0)}Jr.prototype.update=function(e,t){return this.inner.update(e,t),this};Jr.prototype.digest=function(e,t=0){return this.outer.update(this.inner.digest()),this.outer.digest(e,t)};Mt.HMAC=Jr});var Ks=ie((xI,Hs)=>{var Mf=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},Uf=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return r=>{for(var i=r.length,n=new Uint8Array((i-(r[i-1]=="=")-(r[i-2]=="="))*3/4|0),o=0,s=0;o<i;){var a=e[r.charCodeAt(o++)],I=e[r.charCodeAt(o++)],E=e[r.charCodeAt(o++)],m=e[r.charCodeAt(o++)];n[s++]=a<<2|I>>4,n[s++]=I<<4|E>>2,n[s++]=E<<6|m}return n}})(),Vf=Mf({"wasm-binary:./sha512.wat"(e,t){t.exports=Uf("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")}}),Yf=Vf(),Gf=new WebAssembly.Module(Yf);Hs.exports=e=>new WebAssembly.Instance(Gf,e).exports});var Qs=ie((SI,qn)=>{var _r=Xt(),Fi=Ze(),Ut=typeof WebAssembly<"u"&&Ks()({imports:{debug:{log(...e){console.log(...e.map(t=>(t>>>0).toString(16).padStart(8,"0")))},log_tee(e){return console.log((e>>>0).toString(16).padStart(8,"0")),e}}}}),at=0,Qi=[];qn.exports=Xe;var Wf=qn.exports.SHA512_BYTES=64,Nn=80,wn=216,$r=128;function Xe(){if(!(this instanceof Xe))return new Xe;if(!Ut)throw new Error("WASM not loaded. Wait for Sha512.ready(cb)");Qi.length||(Qi.push(at),at+=wn),this.finalized=!1,this.digestLength=Wf,this.pointer=Qi.pop(),this.pos=0,this.wasm=Ut,this._memory=new Uint8Array(Ut.memory.buffer),this._memory.fill(0,this.pointer,this.pointer+wn),this.pointer+this.digestLength>this._memory.length&&this._realloc(this.pointer+wn)}Xe.prototype._realloc=function(e){Ut.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(Ut.memory.buffer)};Xe.prototype.update=function(e,t){_r(this.finalized===!1,"Hash instance finalized"),at%8!==0&&(at+=8-at%8),_r(at%8===0,"input should be aligned for int64");let[r,i]=kf(e,t);return _r(r instanceof Uint8Array,"input must be Uint8Array or Buffer"),at+e.length>this._memory.length&&this._realloc(at+e.length),this._memory.fill(0,at,at+jf(i,$r)-$r),this._memory.set(r.subarray(0,$r-this.pos),this.pointer+Nn+this.pos),this._memory.set(r.subarray($r-this.pos),at),this.pos=this.pos+i&127,Ut.sha512(this.pointer,at,i,0),this};Xe.prototype.digest=function(e,t=0){_r(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Qi.push(this.pointer);let r=this.pointer+Nn+this.pos;this._memory.fill(0,r,this.pointer+Nn+$r),Ut.sha512(this.pointer,at,0,1);let i=this._memory.subarray(this.pointer,this.pointer+this.digestLength);if(!e)return i;if(typeof e=="string")return Fi.toString(i,e);_r(e instanceof Uint8Array,"output must be Uint8Array or Buffer"),_r(e.byteLength>=this.digestLength+t,"output must have at least 'SHA512_BYTES' bytes remaining");for(let n=0;n<this.digestLength;n++)e[n+t]=i[n];return e};Xe.WASM=Ut;Xe.WASM_SUPPORTED=typeof WebAssembly<"u";Xe.ready=function(e){return e||(e=zf),Ut?(e(),Promise.resolve()):e(new Error("WebAssembly not supported"))};Xe.prototype.ready=Xe.ready;function Zr(e){if(!(this instanceof Zr))return new Zr(e);this.pad=Fi.alloc(128),this.inner=Xe(),this.outer=Xe();let t=Fi.alloc(64);e.byteLength>128&&(Xe().update(e).digest(t),e=t),this.pad.fill(54);for(let r=0;r<e.byteLength;r++)this.pad[r]^=e[r];this.inner.update(this.pad),this.pad.fill(92);for(let r=0;r<e.byteLength;r++)this.pad[r]^=e[r];this.outer.update(this.pad),this.pad.fill(0),t.fill(0)}Zr.prototype.update=function(e,t){return this.inner.update(e,t),this};Zr.prototype.digest=function(e,t=0){return this.outer.update(this.inner.digest()),this.outer.digest(e,t)};Xe.HMAC=Zr;function zf(){}function kf(e,t){var r=Fi.from(e,t);return[r,r.byteLength]}function jf(e,t){return e+t-1&-t}});var Ms=ie((BI,Zt)=>{var Xf=Ls(),Mi=Qs(),Fs=Xf;Zt.exports=function(){return new Fs};Zt.exports.ready=function(e){Mi.ready(function(){e()})};Zt.exports.WASM_SUPPORTED=Mi.SUPPORTED;Zt.exports.WASM_LOADED=!1;var RI=Zt.exports.SHA512_BYTES=64;Mi.ready(function(e){e||(Zt.exports.WASM_LOADED=!0,Zt.exports=Fs=Mi)})});var Ln=ie((TI,Vs)=>{var Jf=Ms(),$f=Xt();if(new Uint16Array([1])[0]!==1)throw new Error("Big endian architecture is not supported.");var Pn=64,Zf=Pn;function Us(e,t,r){return $f(e.byteLength===Pn,"out must be 'crypto_hash_sha512_BYTES' bytes long"),Jf().update(t.subarray(0,r)).digest(e),0}function vf(e,t,r){return Us(e,t,r)}Vs.exports={crypto_hash:vf,crypto_hash_sha512:Us,crypto_hash_sha512_BYTES:Pn,crypto_hash_BYTES:Zf}});var Qn=ie((OI,zs)=>{if(new Uint16Array([1])[0]!==1)throw new Error("Big endian architecture is not supported.");var gt=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},_I=new Uint8Array(16),Ys=new Uint8Array(32);Ys[0]=9;var eu=gt(),tu=gt([1]),ru=gt([56129,1]),iu=gt([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),nu=gt([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),ou=gt([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),su=gt([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),au=gt([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function cu(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]+r[i]}function du(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]-r[i]}function Kn(e,t,r){var i,n,o=0,s=0,a=0,I=0,E=0,m=0,C=0,ue=0,Y=0,pe=0,Oe=0,Be=0,le=0,he=0,Ae=0,Ie=0,De=0,G=0,j=0,te=0,F=0,f=0,u=0,x=0,g=0,y=0,B=0,Pe=0,mt=0,Bt=0,or=0,J=r[0],Ee=r[1],me=r[2],Ce=r[3],$=r[4],ge=r[5],ye=r[6],Te=r[7],Z=r[8],xe=r[9],Se=r[10],Re=r[11],we=r[12],Qe=r[13],Fe=r[14],Me=r[15];i=t[0],o+=i*J,s+=i*Ee,a+=i*me,I+=i*Ce,E+=i*$,m+=i*ge,C+=i*ye,ue+=i*Te,Y+=i*Z,pe+=i*xe,Oe+=i*Se,Be+=i*Re,le+=i*we,he+=i*Qe,Ae+=i*Fe,Ie+=i*Me,i=t[1],s+=i*J,a+=i*Ee,I+=i*me,E+=i*Ce,m+=i*$,C+=i*ge,ue+=i*ye,Y+=i*Te,pe+=i*Z,Oe+=i*xe,Be+=i*Se,le+=i*Re,he+=i*we,Ae+=i*Qe,Ie+=i*Fe,De+=i*Me,i=t[2],a+=i*J,I+=i*Ee,E+=i*me,m+=i*Ce,C+=i*$,ue+=i*ge,Y+=i*ye,pe+=i*Te,Oe+=i*Z,Be+=i*xe,le+=i*Se,he+=i*Re,Ae+=i*we,Ie+=i*Qe,De+=i*Fe,G+=i*Me,i=t[3],I+=i*J,E+=i*Ee,m+=i*me,C+=i*Ce,ue+=i*$,Y+=i*ge,pe+=i*ye,Oe+=i*Te,Be+=i*Z,le+=i*xe,he+=i*Se,Ae+=i*Re,Ie+=i*we,De+=i*Qe,G+=i*Fe,j+=i*Me,i=t[4],E+=i*J,m+=i*Ee,C+=i*me,ue+=i*Ce,Y+=i*$,pe+=i*ge,Oe+=i*ye,Be+=i*Te,le+=i*Z,he+=i*xe,Ae+=i*Se,Ie+=i*Re,De+=i*we,G+=i*Qe,j+=i*Fe,te+=i*Me,i=t[5],m+=i*J,C+=i*Ee,ue+=i*me,Y+=i*Ce,pe+=i*$,Oe+=i*ge,Be+=i*ye,le+=i*Te,he+=i*Z,Ae+=i*xe,Ie+=i*Se,De+=i*Re,G+=i*we,j+=i*Qe,te+=i*Fe,F+=i*Me,i=t[6],C+=i*J,ue+=i*Ee,Y+=i*me,pe+=i*Ce,Oe+=i*$,Be+=i*ge,le+=i*ye,he+=i*Te,Ae+=i*Z,Ie+=i*xe,De+=i*Se,G+=i*Re,j+=i*we,te+=i*Qe,F+=i*Fe,f+=i*Me,i=t[7],ue+=i*J,Y+=i*Ee,pe+=i*me,Oe+=i*Ce,Be+=i*$,le+=i*ge,he+=i*ye,Ae+=i*Te,Ie+=i*Z,De+=i*xe,G+=i*Se,j+=i*Re,te+=i*we,F+=i*Qe,f+=i*Fe,u+=i*Me,i=t[8],Y+=i*J,pe+=i*Ee,Oe+=i*me,Be+=i*Ce,le+=i*$,he+=i*ge,Ae+=i*ye,Ie+=i*Te,De+=i*Z,G+=i*xe,j+=i*Se,te+=i*Re,F+=i*we,f+=i*Qe,u+=i*Fe,x+=i*Me,i=t[9],pe+=i*J,Oe+=i*Ee,Be+=i*me,le+=i*Ce,he+=i*$,Ae+=i*ge,Ie+=i*ye,De+=i*Te,G+=i*Z,j+=i*xe,te+=i*Se,F+=i*Re,f+=i*we,u+=i*Qe,x+=i*Fe,g+=i*Me,i=t[10],Oe+=i*J,Be+=i*Ee,le+=i*me,he+=i*Ce,Ae+=i*$,Ie+=i*ge,De+=i*ye,G+=i*Te,j+=i*Z,te+=i*xe,F+=i*Se,f+=i*Re,u+=i*we,x+=i*Qe,g+=i*Fe,y+=i*Me,i=t[11],Be+=i*J,le+=i*Ee,he+=i*me,Ae+=i*Ce,Ie+=i*$,De+=i*ge,G+=i*ye,j+=i*Te,te+=i*Z,F+=i*xe,f+=i*Se,u+=i*Re,x+=i*we,g+=i*Qe,y+=i*Fe,B+=i*Me,i=t[12],le+=i*J,he+=i*Ee,Ae+=i*me,Ie+=i*Ce,De+=i*$,G+=i*ge,j+=i*ye,te+=i*Te,F+=i*Z,f+=i*xe,u+=i*Se,x+=i*Re,g+=i*we,y+=i*Qe,B+=i*Fe,Pe+=i*Me,i=t[13],he+=i*J,Ae+=i*Ee,Ie+=i*me,De+=i*Ce,G+=i*$,j+=i*ge,te+=i*ye,F+=i*Te,f+=i*Z,u+=i*xe,x+=i*Se,g+=i*Re,y+=i*we,B+=i*Qe,Pe+=i*Fe,mt+=i*Me,i=t[14],Ae+=i*J,Ie+=i*Ee,De+=i*me,G+=i*Ce,j+=i*$,te+=i*ge,F+=i*ye,f+=i*Te,u+=i*Z,x+=i*xe,g+=i*Se,y+=i*Re,B+=i*we,Pe+=i*Qe,mt+=i*Fe,Bt+=i*Me,i=t[15],Ie+=i*J,De+=i*Ee,G+=i*me,j+=i*Ce,te+=i*$,F+=i*ge,f+=i*ye,u+=i*Te,x+=i*Z,g+=i*xe,y+=i*Se,B+=i*Re,Pe+=i*we,mt+=i*Qe,Bt+=i*Fe,or+=i*Me,o+=38*De,s+=38*G,a+=38*j,I+=38*te,E+=38*F,m+=38*f,C+=38*u,ue+=38*x,Y+=38*g,pe+=38*y,Oe+=38*B,Be+=38*Pe,le+=38*mt,he+=38*Bt,Ae+=38*or,n=1,i=o+n+65535,n=Math.floor(i/65536),o=i-n*65536,i=s+n+65535,n=Math.floor(i/65536),s=i-n*65536,i=a+n+65535,n=Math.floor(i/65536),a=i-n*65536,i=I+n+65535,n=Math.floor(i/65536),I=i-n*65536,i=E+n+65535,n=Math.floor(i/65536),E=i-n*65536,i=m+n+65535,n=Math.floor(i/65536),m=i-n*65536,i=C+n+65535,n=Math.floor(i/65536),C=i-n*65536,i=ue+n+65535,n=Math.floor(i/65536),ue=i-n*65536,i=Y+n+65535,n=Math.floor(i/65536),Y=i-n*65536,i=pe+n+65535,n=Math.floor(i/65536),pe=i-n*65536,i=Oe+n+65535,n=Math.floor(i/65536),Oe=i-n*65536,i=Be+n+65535,n=Math.floor(i/65536),Be=i-n*65536,i=le+n+65535,n=Math.floor(i/65536),le=i-n*65536,i=he+n+65535,n=Math.floor(i/65536),he=i-n*65536,i=Ae+n+65535,n=Math.floor(i/65536),Ae=i-n*65536,i=Ie+n+65535,n=Math.floor(i/65536),Ie=i-n*65536,o+=n-1+37*(n-1),n=1,i=o+n+65535,n=Math.floor(i/65536),o=i-n*65536,i=s+n+65535,n=Math.floor(i/65536),s=i-n*65536,i=a+n+65535,n=Math.floor(i/65536),a=i-n*65536,i=I+n+65535,n=Math.floor(i/65536),I=i-n*65536,i=E+n+65535,n=Math.floor(i/65536),E=i-n*65536,i=m+n+65535,n=Math.floor(i/65536),m=i-n*65536,i=C+n+65535,n=Math.floor(i/65536),C=i-n*65536,i=ue+n+65535,n=Math.floor(i/65536),ue=i-n*65536,i=Y+n+65535,n=Math.floor(i/65536),Y=i-n*65536,i=pe+n+65535,n=Math.floor(i/65536),pe=i-n*65536,i=Oe+n+65535,n=Math.floor(i/65536),Oe=i-n*65536,i=Be+n+65535,n=Math.floor(i/65536),Be=i-n*65536,i=le+n+65535,n=Math.floor(i/65536),le=i-n*65536,i=he+n+65535,n=Math.floor(i/65536),he=i-n*65536,i=Ae+n+65535,n=Math.floor(i/65536),Ae=i-n*65536,i=Ie+n+65535,n=Math.floor(i/65536),Ie=i-n*65536,o+=n-1+37*(n-1),e[0]=o,e[1]=s,e[2]=a,e[3]=I,e[4]=E,e[5]=m,e[6]=C,e[7]=ue,e[8]=Y,e[9]=pe,e[10]=Oe,e[11]=Be,e[12]=le,e[13]=he,e[14]=Ae,e[15]=Ie}function Gs(e,t){Kn(e,t,t)}function Ws(e,t,r){for(var i,n=~(r-1),o=0;o<16;o++)i=n&(e[o]^t[o]),e[o]^=i,t[o]^=i}function fu(e,t){var r,i,n,o=gt(),s=gt();for(r=0;r<16;r++)s[r]=t[r];for(Hn(s),Hn(s),Hn(s),i=0;i<2;i++){for(o[0]=s[0]-65517,r=1;r<15;r++)o[r]=s[r]-65535-(o[r-1]>>16&1),o[r-1]&=65535;o[15]=s[15]-32767-(o[14]>>16&1),n=o[15]>>16&1,o[14]&=65535,Ws(s,o,1-n)}for(r=0;r<16;r++)e[2*r]=s[r]&255,e[2*r+1]=s[r]>>8}function uu(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function lu(e,t){var r=gt(),i;for(i=0;i<16;i++)r[i]=t[i];for(i=253;i>=0;i--)Gs(r,r),i!==2&&i!==4&&Kn(r,r,t);for(i=0;i<16;i++)e[i]=r[i]}function Hn(e){var t,r,i=1;for(t=0;t<16;t++)r=e[t]+i+65535,i=Math.floor(r/65536),e[t]=r-i*65536;e[0]+=i-1+37*(i-1)}zs.exports={gf:gt,A:cu,Z:du,M:Kn,S:Gs,sel25519:Ws,pack25519:fu,unpack25519:uu,inv25519:lu,gf0:eu,gf1:tu,_9:Ys,_121665:ru,D:iu,D2:nu,X:ou,Y:su,I:au}});var Js=ie((DI,Xs)=>{var{_9:Au,_121665:Iu,gf:Or,inv25519:pu,pack25519:hu,unpack25519:gu,sel25519:Ui,A:Vi,M:cr,Z:Yi,S:Gi}=Qn(),Mn=32,ks=32;Xs.exports={crypto_scalarmult:js,crypto_scalarmult_base:yu,crypto_scalarmult_BYTES:Mn,crypto_scalarmult_SCALARBYTES:ks};function js(e,t,r){Fn(e,Mn),Fn(t,ks),Fn(r,Mn);var i=new Uint8Array(32),n=new Float64Array(80),o,s,a=Or(),I=Or(),E=Or(),m=Or(),C=Or(),ue=Or();for(s=0;s<31;s++)i[s]=t[s];for(i[31]=t[31]&127|64,i[0]&=248,gu(n,r),s=0;s<16;s++)I[s]=n[s],m[s]=a[s]=E[s]=0;for(a[0]=m[0]=1,s=254;s>=0;--s)o=i[s>>>3]>>>(s&7)&1,Ui(a,I,o),Ui(E,m,o),Vi(C,a,E),Yi(a,a,E),Vi(E,I,m),Yi(I,I,m),Gi(m,C),Gi(ue,a),cr(a,E,a),cr(E,I,C),Vi(C,a,E),Yi(a,a,E),Gi(I,a),Yi(E,m,ue),cr(a,E,Iu),Vi(a,a,m),cr(E,E,a),cr(a,m,ue),cr(m,I,n),Gi(I,C),Ui(a,I,o),Ui(E,m,o);for(s=0;s<16;s++)n[s+16]=a[s],n[s+32]=E[s],n[s+48]=I[s],n[s+64]=m[s];var Y=n.subarray(32),pe=n.subarray(16);return pu(Y,Y),cr(pe,pe,Y),hu(e,pe),0}function yu(e,t){return js(e,t,Au)}function Fn(e,t){if(!e||t&&e.length<t)throw new Error("Argument must be a buffer"+(t?" of length "+t:""))}});var Aa=ie((wI,la)=>{var{crypto_verify_32:ia}=ws(),{crypto_hash:wr}=Ln(),{gf:O,gf0:$s,gf1:zi,D:bu,D2:Eu,X:Zs,Y:vs,I:mu,A:dr,Z:fr,M:se,S:Dr,sel25519:Cu,pack25519:Nr,inv25519:na,unpack25519:xu}=Qn(),{randombytes:Su}=_n(),{crypto_scalarmult_BYTES:ea}=Js(),{crypto_hash_sha512_BYTES:Ru}=Ln(),Un=Xt(),ki=32,Gn=64,Wn=32,oa=64,Ot=oa,ji=ki,zn=Gn,sa=Wn;la.exports={crypto_sign_keypair:aa,crypto_sign_seed_keypair:Tu,crypto_sign:da,crypto_sign_detached:_u,crypto_sign_open:fa,crypto_sign_verify_detached:Ou,crypto_sign_BYTES:Ot,crypto_sign_PUBLICKEYBYTES:ji,crypto_sign_SECRETKEYBYTES:zn,crypto_sign_SEEDBYTES:sa,crypto_sign_ed25519_PUBLICKEYBYTES:ki,crypto_sign_ed25519_SECRETKEYBYTES:Gn,crypto_sign_ed25519_SEEDBYTES:Wn,crypto_sign_ed25519_BYTES:oa,crypto_sign_ed25519_pk_to_curve25519:Nu,crypto_sign_ed25519_sk_to_curve25519:Lu,crypto_sign_ed25519_sk_to_pk:Pu,unpackneg:Xn,pack:Xi};function vt(e,t){for(let r=0;r<16;r++)e[r]=t[r]|0}function Bu(e,t){var r=O(),i;for(i=0;i<16;i++)r[i]=t[i];for(i=250;i>=0;i--)Dr(r,r),i!==1&&se(r,r,t);for(i=0;i<16;i++)e[i]=r[i]}function Vn(e,t){var r=O(),i=O(),n=O(),o=O(),s=O(),a=O(),I=O(),E=O(),m=O();fr(r,e[1],e[0]),fr(m,t[1],t[0]),se(r,r,m),dr(i,e[0],e[1]),dr(m,t[0],t[1]),se(i,i,m),se(n,e[3],t[3]),se(n,n,Eu),se(o,e[2],t[2]),dr(o,o,o),fr(s,i,r),fr(a,o,n),dr(I,o,n),dr(E,i,r),se(e[0],s,a),se(e[1],E,I),se(e[2],I,a),se(e[3],s,E)}function ta(e,t,r){var i;for(i=0;i<4;i++)Cu(e[i],t[i],r)}function Xi(e,t){var r=O(),i=O(),n=O();na(n,t[2]),se(r,t[0],n),se(i,t[1],n),Nr(e,i),e[31]^=ua(r)<<7}function kn(e,t,r){var i=[O(t[0]),O(t[1]),O(t[2]),O(t[3])],n,o;for(vt(e[0],$s),vt(e[1],zi),vt(e[2],zi),vt(e[3],$s),o=255;o>=0;--o)n=r[o/8|0]>>(o&7)&1,ta(e,i,n),Vn(i,e),Vn(e,e),ta(e,i,n)}function jn(e,t){var r=[O(),O(),O(),O()];vt(r[0],Zs),vt(r[1],vs),vt(r[2],zi),se(r[3],Zs,vs),kn(e,r,t)}function aa(e,t,r){ve(e,ji),ve(t,zn);var i=new Uint8Array(64),n=[O(),O(),O(),O()],o;for(r||Su(t,32),wr(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,jn(n,i),Xi(e,n),o=0;o<32;o++)t[o+32]=e[o]}function Tu(e,t,r){return ve(r,sa),t.set(r),aa(e,t,!0)}var Wi=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ca(e,t){var r,i,n,o;for(i=63;i>=32;--i){for(r=0,n=i-32,o=i-12;n<o;++n)t[n]+=r-16*t[i]*Wi[n-(i-32)],r=t[n]+128>>8,t[n]-=r*256;t[n]+=r,t[i]=0}for(r=0,n=0;n<32;n++)t[n]+=r-(t[31]>>4)*Wi[n],r=t[n]>>8,t[n]&=255;for(n=0;n<32;n++)t[n]-=r*Wi[n];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,e[i]=t[i]&255}function Yn(e){var t=new Float64Array(64);for(let r=0;r<64;r++)t[r]=e[r];for(let r=0;r<64;r++)e[r]=0;ca(e,t)}function da(e,t,r){ve(e,Ot+t.length),ve(t,0),ve(r,zn);var i=t.length,n=new Uint8Array(64),o=new Uint8Array(64),s=new Uint8Array(64),a,I,E=new Float64Array(64),m=[O(),O(),O(),O()];wr(n,r,32),n[0]&=248,n[31]&=127,n[31]|=64;var C=i+64;for(a=0;a<i;a++)e[64+a]=t[a];for(a=0;a<32;a++)e[32+a]=n[32+a];for(wr(s,e.subarray(32),i+32),Yn(s),jn(m,s),Xi(e,m),a=32;a<64;a++)e[a]=r[a];for(wr(o,e,i+64),Yn(o),a=0;a<64;a++)E[a]=0;for(a=0;a<32;a++)E[a]=s[a];for(a=0;a<32;a++)for(I=0;I<32;I++)E[a+I]+=o[a]*n[I];return ca(e.subarray(32),E),C}function _u(e,t,r){var i=new Uint8Array(t.length+Ot);da(i,t,r);for(let n=0;n<Ot;n++)e[n]=i[n]}function Xn(e,t){var r=O(),i=O(),n=O(),o=O(),s=O(),a=O(),I=O();return vt(e[2],zi),xu(e[1],t),Dr(n,e[1]),se(o,n,bu),fr(n,n,e[2]),dr(o,e[2],o),Dr(s,o),Dr(a,s),se(I,a,s),se(r,I,n),se(r,r,o),Bu(r,r),se(r,r,n),se(r,r,o),se(r,r,o),se(e[0],r,o),Dr(i,e[0]),se(i,i,o),ra(i,n)||se(e[0],e[0],mu),Dr(i,e[0]),se(i,i,o),ra(i,n)?(ua(e[0])===t[31]>>7&&fr(e[0],O(),e[0]),se(e[3],e[0],e[1]),!0):!1}function fa(e,t,r){ve(e,t.length-Ot),ve(t,Ot),ve(r,ji);var i=t.length,n=new Uint8Array(t.length),o,s,a=new Uint8Array(32),I=new Uint8Array(64),E=[O(),O(),O(),O()],m=[O(),O(),O(),O()];if(s=-1,i<64||!Xn(m,r))return!1;for(o=0;o<i;o++)n[o]=t[o];for(o=0;o<32;o++)n[o+32]=r[o];if(wr(I,n,i),Yn(I),kn(E,m,I),jn(m,t.subarray(32)),Vn(E,m),Xi(a,E),i-=64,!ia(t,0,a,0)){for(o=0;o<i;o++)n[o]=0;return!1}for(o=0;o<i;o++)e[o]=t[o+64];return s=i,!0}function Ou(e,t,r){ve(e,Ot);var i=new Uint8Array(t.length+Ot),n=0;for(n=0;n<Ot;n++)i[n]=e[n];for(n=0;n<t.length;n++)i[n+Ot]=t[n];return fa(t,i,r)}function ua(e){var t=new Uint8Array(32);return Nr(t,e),t[0]&1}function ra(e,t){var r=new Uint8Array(32),i=new Uint8Array(32);return Nr(r,e),Nr(i,t),ia(r,0,i,0)}function Du(e,t){kn(e,t,Wi)}function wu(e){var t=[O(),O(),O(),O()];Du(t,e);var r=0;for(let i=0;i<16;i++)r|=t[0][i]&65535;return r===0}function Nu(e,t){ve(e,ji),ve(t,ki);var r=[O(),O(),O(),O()],i=O([1]),n=O([1]);Un(qu(t)&&Xn(r,t)&&wu(r),"Cannot convert key: bad point");for(let o=0;o<r.length;o++)Nr(e,r[o]);return fr(n,n,r[1]),dr(i,i,r[1]),na(n,n),se(i,i,n),Nr(e,i),0}function qu(e){Uint8Array.from([]);var t=[Uint8Array.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Uint8Array.from([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Uint8Array.from([38,232,149,143,194,178,39,176,69,195,244,137,242,239,152,240,213,223,172,5,211,198,51,57,177,56,2,136,109,83,252,5]),Uint8Array.from([199,23,106,112,61,77,216,79,186,60,11,118,13,16,103,15,42,32,83,250,44,57,204,198,78,199,253,119,146,172,3,122]),Uint8Array.from([236,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127]),Uint8Array.from([237,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127]),Uint8Array.from([238,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127])],r=new Uint8Array(7),i;ve(t,7);for(let o=0;o<t.length;o++)for(i=0;i<31;i++)r[o]|=e[i]^t[o][i];for(let o=0;o<t.length;o++)r[o]|=e[i]&127^t[o][i];var n=0;for(let o=0;o<t.length;o++)n|=r[o]-1;return(n>>8&1)===0}function Pu(e,t){return ve(e,ki),e.set(t.subarray(Wn)),e}function Lu(e,t){Un(e&&e.byteLength===ea,"curveSk must be 'crypto_sign_SECRETKEYBYTES' long"),Un(t&&t.byteLength===Gn,"edSk must be 'crypto_sign_ed25519_SECRETKEYBYTES' long");var r=new Uint8Array(Ru);return wr(r,t,32),r[0]&=248,r[31]&=127,r[31]|=64,e.set(r.subarray(0,ea)),r.fill(0),e}function ve(e,t,r="Argument"){if(!e||t&&e.length<t)throw new Error(r+" must be a buffer"+(t?" of length "+t:""))}});var mo=ie(Eo=>{var EA=Eo.LE=new Uint8Array(new Uint16Array([255]).buffer)[0]===255;Eo.BE=!EA});var wc=ie((fe,Dc)=>{var Rt=Ze(),{BE:_c}=mo();fe=Dc.exports={preencode(e,t){e.end+=t.byteLength},encode(e,t){e.buffer.set(t,e.start),e.start+=t.byteLength},decode(e){let t=e.buffer.subarray(e.start,e.end);return e.start=e.end,t}};var Co=fe.buffer={preencode(e,t){t?Oc.preencode(e,t):e.end++},encode(e,t){t?Oc.encode(e,t):e.buffer[e.start++]=0},decode(e){let t=e.buffer.subarray(e.start);return t.byteLength===0?null:(e.start=e.end,t)}};fe.binary={...Co,preencode(e,t){typeof t=="string"?ir.preencode(e,t):Co.preencode(e,t)},encode(e,t){typeof t=="string"?ir.encode(e,t):Co.encode(e,t)}};fe.arraybuffer={preencode(e,t){e.end+=t.byteLength},encode(e,t){let r=new Uint8Array(t);e.buffer.set(r,e.start),e.start+=t.byteLength},decode(e){let t=new ArrayBuffer(e.end-e.start);return new Uint8Array(t).set(e.buffer.subarray(e.start)),e.start=e.end,t}};function Nt(e,t){let r=e.BYTES_PER_ELEMENT;return{preencode(i,n){i.end+=n.byteLength},encode(i,n){let o=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);_c&&t&&t(o),i.buffer.set(o,i.start),i.start+=n.byteLength},decode(i){let n=i.buffer.subarray(i.start);return n.byteOffset%r!==0&&(n=new Uint8Array(n)),_c&&t&&t(n),i.start=i.end,new e(n.buffer,n.byteOffset,n.byteLength/r)}}}var Oc=fe.uint8array=Nt(Uint8Array);fe.uint16array=Nt(Uint16Array,Rt.swap16);fe.uint32array=Nt(Uint32Array,Rt.swap32);fe.int8array=Nt(Int8Array);fe.int16array=Nt(Int16Array,Rt.swap16);fe.int32array=Nt(Int32Array,Rt.swap32);fe.biguint64array=Nt(BigUint64Array,Rt.swap64);fe.bigint64array=Nt(BigInt64Array,Rt.swap64);fe.float32array=Nt(Float32Array,Rt.swap32);fe.float64array=Nt(Float64Array,Rt.swap64);function mi(e){return{preencode(t,r){t.end+=Rt.byteLength(r,e)},encode(t,r){t.start+=Rt.write(t.buffer,r,t.start,e)},decode(t){let r=Rt.toString(t.buffer,e,t.start);return t.start=t.end,r}}}var ir=fe.string=fe.utf8=mi("utf-8");fe.ascii=mi("ascii");fe.hex=mi("hex");fe.base64=mi("base64");fe.ucs2=fe.utf16le=mi("utf16le");fe.array=function(t){return{preencode(r,i){for(let n of i)t.preencode(r,n)},encode(r,i){for(let n of i)t.encode(r,n)},decode(r){let i=[];for(;r.start<r.end;)i.push(t.decode(r));return i}}};fe.json={preencode(e,t){ir.preencode(e,JSON.stringify(t))},encode(e,t){ir.encode(e,JSON.stringify(t))},decode(e){return JSON.parse(ir.decode(e))}};fe.ndjson={preencode(e,t){ir.preencode(e,JSON.stringify(t)+`
`)},encode(e,t){ir.encode(e,JSON.stringify(t)+`
`)},decode(e){return JSON.parse(ir.decode(e))}}});var Hc=ie((gp,Lc)=>{Lc.exports={preencode:Nc,encode:qc,decode:Pc};function Nc(e,t){if(t<251)e.end++;else if(t<256)e.end+=2;else if(t<65536)e.end+=3;else if(t<16777216)e.end+=4;else if(t<4294967296)e.end+=5;else{e.end++;let r=Math.floor(Math.log(t)/Math.log(2))-32;Nc(e,r),e.end+=6}}function qc(e,t){let i=t-251;if(t<251)e.buffer[e.start++]=t;else if(t<256)e.buffer[e.start++]=251,e.buffer[e.start++]=i;else if(t<65536)e.buffer[e.start++]=252,e.buffer[e.start++]=i>>8&255,e.buffer[e.start++]=i&255;else if(t<16777216)e.buffer[e.start++]=253,e.buffer[e.start++]=i>>16,e.buffer[e.start++]=i>>8&255,e.buffer[e.start++]=i&255;else if(t<4294967296)e.buffer[e.start++]=254,e.buffer[e.start++]=i>>24,e.buffer[e.start++]=i>>16&255,e.buffer[e.start++]=i>>8&255,e.buffer[e.start++]=i&255;else{let n=Math.floor(Math.log(i)/Math.log(2))-32;e.buffer[e.start++]=255,qc(e,n);let o=i/Math.pow(2,n-11);for(let s=5;s>=0;s--)e.buffer[e.start++]=o/Math.pow(2,8*s)&255}}function Pc(e){if(e.end-e.start<1)throw new Error("Out of bounds");let r=e.buffer[e.start++];if(r<251)return r;if(e.end-e.start<r-251+1)throw new Error("Out of bounds.");if(r<252)return e.buffer[e.start++]+251;if(r<253)return(e.buffer[e.start++]<<8)+e.buffer[e.start++]+251;if(r<254)return(e.buffer[e.start++]<<16)+(e.buffer[e.start++]<<8)+e.buffer[e.start++]+251;if(r<255)return e.buffer[e.start++]*16777216+(e.buffer[e.start++]<<16)+(e.buffer[e.start++]<<8)+e.buffer[e.start++]+251;let i=Pc(e);if(e.end-e.start<6)throw new Error("Out of bounds");let n=0;for(let o=5;o>=0;o--)n+=e.buffer[e.start++]*Math.pow(2,8*o);return n*Math.pow(2,i-11)+251}});var zc=ie(h=>{var Ye=Ze(),{BE:Kc}=mo();h.state=function(e=0,t=0,r=null){return{start:e,end:t,buffer:r}};var qt=h.raw=wc(),k=h.uint={preencode(e,t){e.end+=t<=252?1:t<=65535?3:t<=4294967295?5:9},encode(e,t){t<=252?kt.encode(e,t):t<=65535?(e.buffer[e.start++]=253,Wr.encode(e,t)):t<=4294967295?(e.buffer[e.start++]=254,ft.encode(e,t)):(e.buffer[e.start++]=255,Bo.encode(e,t))},decode(e){let t=kt.decode(e);return t<=252?t:t===253?Wr.decode(e):t===254?ft.decode(e):Bo.decode(e)}},kt=h.uint8={preencode(e,t){e.end+=1},encode(e,t){nr(t),e.buffer[e.start++]=t},decode(e){if(e.start>=e.end)throw new Error("Out of bounds");return e.buffer[e.start++]}},Wr=h.uint16={preencode(e,t){e.end+=2},encode(e,t){nr(t),e.buffer[e.start++]=t,e.buffer[e.start++]=t>>>8},decode(e){if(e.end-e.start<2)throw new Error("Out of bounds");return e.buffer[e.start++]+e.buffer[e.start++]*256}},Ro=h.uint24={preencode(e,t){e.end+=3},encode(e,t){nr(t),e.buffer[e.start++]=t,e.buffer[e.start++]=t>>>8,e.buffer[e.start++]=t>>>16},decode(e){if(e.end-e.start<3)throw new Error("Out of bounds");return e.buffer[e.start++]+e.buffer[e.start++]*256+e.buffer[e.start++]*65536}},ft=h.uint32={preencode(e,t){e.end+=4},encode(e,t){nr(t),e.buffer[e.start++]=t,e.buffer[e.start++]=t>>>8,e.buffer[e.start++]=t>>>16,e.buffer[e.start++]=t>>>24},decode(e){if(e.end-e.start<4)throw new Error("Out of bounds");return e.buffer[e.start++]+e.buffer[e.start++]*256+e.buffer[e.start++]*65536+e.buffer[e.start++]*16777216}},mA=h.uint40={preencode(e,t){e.end+=5},encode(e,t){nr(t);let r=Math.floor(t/256);kt.encode(e,t),ft.encode(e,r)},decode(e){if(e.end-e.start<5)throw new Error("Out of bounds");return kt.decode(e)+256*ft.decode(e)}},CA=h.uint48={preencode(e,t){e.end+=6},encode(e,t){nr(t);let r=Math.floor(t/65536);Wr.encode(e,t),ft.encode(e,r)},decode(e){if(e.end-e.start<6)throw new Error("Out of bounds");return Wr.decode(e)+65536*ft.decode(e)}},xA=h.uint56={preencode(e,t){e.end+=7},encode(e,t){nr(t);let r=Math.floor(t/16777216);Ro.encode(e,t),ft.encode(e,r)},decode(e){if(e.end-e.start<7)throw new Error("Out of bounds");return Ro.decode(e)+16777216*ft.decode(e)}},Bo=h.uint64={preencode(e,t){e.end+=8},encode(e,t){nr(t);let r=Math.floor(t/4294967296);ft.encode(e,t),ft.encode(e,r)},decode(e){if(e.end-e.start<8)throw new Error("Out of bounds");return ft.decode(e)+4294967296*ft.decode(e)}},xo=h.int=jt(k);h.int8=jt(kt);h.int16=jt(Wr);h.int24=jt(Ro);h.int32=jt(ft);h.int40=jt(mA);h.int48=jt(CA);h.int56=jt(xA);h.int64=jt(Bo);var SA=h.biguint64={preencode(e,t){e.end+=8},encode(e,t){new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,8).setBigUint64(0,t,!0),e.start+=8},decode(e){if(e.end-e.start<8)throw new Error("Out of bounds");let r=new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,8).getBigUint64(0,!0);return e.start+=8,r}};h.bigint64=Wc(SA);var RA=h.biguint={preencode(e,t){let r=0;for(let i=t;i;i=i>>64n)r++;k.preencode(e,r),e.end+=8*r},encode(e,t){let r=0;for(let n=t;n;n=n>>64n)r++;k.encode(e,r);let i=new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,8*r);for(let n=t,o=0;n;n=n>>64n,o+=8)i.setBigUint64(o,BigInt.asUintN(64,n),!0);e.start+=8*r},decode(e){let t=k.decode(e);if(e.end-e.start<8*t)throw new Error("Out of bounds");let r=new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,8*t),i=0n;for(let n=t-1;n>=0;n--)i=(i<<64n)+r.getBigUint64(n*8,!0);return e.start+=8*t,i}};h.bigint=Wc(RA);h.lexint=Hc();h.float32={preencode(e,t){e.end+=4},encode(e,t){new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,4).setFloat32(0,t,!0),e.start+=4},decode(e){if(e.end-e.start<4)throw new Error("Out of bounds");let r=new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,4).getFloat32(0,!0);return e.start+=4,r}};h.float64={preencode(e,t){e.end+=8},encode(e,t){new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,8).setFloat64(0,t,!0),e.start+=8},decode(e){if(e.end-e.start<8)throw new Error("Out of bounds");let r=new DataView(e.buffer.buffer,e.start+e.buffer.byteOffset,8).getFloat64(0,!0);return e.start+=8,r}};var So=h.buffer={preencode(e,t){t?Qc.preencode(e,t):e.end++},encode(e,t){t?Qc.encode(e,t):e.buffer[e.start++]=0},decode(e){let t=k.decode(e);if(t===0)return null;if(e.end-e.start<t)throw new Error("Out of bounds");return e.buffer.subarray(e.start,e.start+=t)}};h.binary={...So,preencode(e,t){typeof t=="string"?ut.preencode(e,t):So.preencode(e,t)},encode(e,t){typeof t=="string"?ut.encode(e,t):So.encode(e,t)}};h.arraybuffer={preencode(e,t){k.preencode(e,t.byteLength),e.end+=t.byteLength},encode(e,t){k.encode(e,t.byteLength);let r=new Uint8Array(t);e.buffer.set(r,e.start),e.start+=t.byteLength},decode(e){let t=k.decode(e),r=new ArrayBuffer(t);return new Uint8Array(r).set(e.buffer.subarray(e.start,e.start+=t)),r}};function Pt(e,t){let r=e.BYTES_PER_ELEMENT;return{preencode(i,n){k.preencode(i,n.length),i.end+=n.byteLength},encode(i,n){k.encode(i,n.length);let o=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);Kc&&t&&t(o),i.buffer.set(o,i.start),i.start+=n.byteLength},decode(i){let n=k.decode(i),o=i.buffer.subarray(i.start,i.start+=n*r);if(o.byteLength!==n*r)throw new Error("Out of bounds");return o.byteOffset%r!==0&&(o=new Uint8Array(o)),Kc&&t&&t(o),new e(o.buffer,o.byteOffset,o.byteLength/r)}}}var Qc=h.uint8array=Pt(Uint8Array);h.uint16array=Pt(Uint16Array,Ye.swap16);h.uint32array=Pt(Uint32Array,Ye.swap32);h.int8array=Pt(Int8Array);h.int16array=Pt(Int16Array,Ye.swap16);h.int32array=Pt(Int32Array,Ye.swap32);h.biguint64array=Pt(BigUint64Array,Ye.swap64);h.bigint64array=Pt(BigInt64Array,Ye.swap64);h.float32array=Pt(Float32Array,Ye.swap32);h.float64array=Pt(Float64Array,Ye.swap64);function Si(e){return{preencode(t,r){let i=Ye.byteLength(r,e);k.preencode(t,i),t.end+=i},encode(t,r){let i=Ye.byteLength(r,e);k.encode(t,i),Ye.write(t.buffer,r,t.start,e),t.start+=i},decode(t){let r=k.decode(t);if(t.end-t.start<r)throw new Error("Out of bounds");return Ye.toString(t.buffer,e,t.start,t.start+=r)},fixed(t){return{preencode(r){r.end+=t},encode(r,i){Ye.write(r.buffer,i,r.start,t,e),r.start+=t},decode(r){if(r.end-r.start<t)throw new Error("Out of bounds");return Ye.toString(r.buffer,e,r.start,r.start+=t)}}}}}var ut=h.string=h.utf8=Si("utf-8");h.ascii=Si("ascii");h.hex=Si("hex");h.base64=Si("base64");h.ucs2=h.utf16le=Si("utf16le");h.bool={preencode(e,t){e.end++},encode(e,t){e.buffer[e.start++]=t?1:0},decode(e){if(e.start>=e.end)throw Error("Out of bounds");return e.buffer[e.start++]===1}};var Yc=h.fixed=function(t){return{preencode(r,i){if(i.byteLength!==t)throw new Error("Incorrect buffer size");r.end+=t},encode(r,i){r.buffer.set(i,r.start),r.start+=t},decode(r){if(r.end-r.start<t)throw new Error("Out of bounds");return r.buffer.subarray(r.start,r.start+=t)}}};h.fixed32=Yc(32);h.fixed64=Yc(64);h.array=function(t){return{preencode(r,i){k.preencode(r,i.length);for(let n=0;n<i.length;n++)t.preencode(r,i[n])},encode(r,i){k.encode(r,i.length);for(let n=0;n<i.length;n++)t.encode(r,i[n])},decode(r){let i=k.decode(r);if(i>1048576)throw new Error("Array is too big");let n=new Array(i);for(let o=0;o<i;o++)n[o]=t.decode(r);return n}}};h.frame=function(t){let r=h.state();return{preencode(i,n){let o=i.end;t.preencode(i,n),k.preencode(i,i.end-o)},encode(i,n){r.end=0,t.preencode(r,n),k.encode(i,r.end),t.encode(i,n)},decode(i){let n=i.end,o=k.decode(i);i.end=i.start+o;let s=t.decode(i);return i.start=i.end,i.end=n,s}}};h.date={preencode(e,t){xo.preencode(e,t.getTime())},encode(e,t){xo.encode(e,t.getTime())},decode(e,t){return new Date(xo.decode(e))}};h.json={preencode(e,t){ut.preencode(e,JSON.stringify(t))},encode(e,t){ut.encode(e,JSON.stringify(t))},decode(e){return JSON.parse(ut.decode(e))}};h.ndjson={preencode(e,t){ut.preencode(e,JSON.stringify(t)+`
`)},encode(e,t){ut.encode(e,JSON.stringify(t)+`
`)},decode(e){return JSON.parse(ut.decode(e))}};h.none={preencode(e,t){},encode(e,t){},decode(e){return null}};var BA={preencode(e,t){k.preencode(e,t.length);for(let r=0;r<t.length;r++)Yr.preencode(e,t[r])},encode(e,t){k.encode(e,t.length);for(let r=0;r<t.length;r++)Yr.encode(e,t[r])},decode(e){let t=[],r=k.decode(e);for(;r-- >0;)t.push(Yr.decode(e));return t}},TA={preencode(e,t){let r=Object.keys(t);k.preencode(e,r.length);for(let i of r)ut.preencode(e,i),Yr.preencode(e,t[i])},encode(e,t){let r=Object.keys(t);k.encode(e,r.length);for(let i of r)ut.encode(e,i),Yr.encode(e,t[i])},decode(e){let t=k.decode(e),r={};for(;t-- >0;){let i=ut.decode(e);r[i]=Yr.decode(e)}return r}},un=[h.none,h.bool,h.string,h.buffer,h.uint,h.int,h.float64,BA,TA,h.date],Yr=h.any={preencode(e,t){let r=Mc(t);k.preencode(e,r),un[r].preencode(e,t)},encode(e,t){let r=Mc(t);k.encode(e,r),un[r].encode(e,t)},decode(e){let t=k.decode(e);if(t>=un.length)throw new Error("Unknown type: "+t);return un[t].decode(e)}},Gr=h.port=Wr,Gc=(e,t)=>({preencode(r,i){e.preencode(r,i.host),Gr.preencode(r,i.port)},encode(r,i){e.encode(r,i.host),Gr.encode(r,i.port)},decode(r){return{host:e.decode(r),family:t,port:Gr.decode(r)}}}),Ci=h.ipv4={preencode(e){e.end+=4},encode(e,t){let i=e.start+4,n=0;for(;n<t.length;){let o=0,s;for(;n<t.length&&(s=t.charCodeAt(n++))!==46;)o=o*10+(s-48);e.buffer[e.start++]=o}e.start=i},decode(e){if(e.end-e.start<4)throw new Error("Out of bounds");return e.buffer[e.start++]+"."+e.buffer[e.start++]+"."+e.buffer[e.start++]+"."+e.buffer[e.start++]}};h.ipv4Address=Gc(Ci,4);var xi=h.ipv6={preencode(e){e.end+=16},encode(e,t){let i=e.start+16,n=0,o=null;for(;n<t.length;){let s=0,a;for(;n<t.length&&(a=t.charCodeAt(n++))!==58;)a>=48&&a<=57?s=s*16+(a-48):a>=65&&a<=70?s=s*16+(a-65+10):a>=97&&a<=102&&(s=s*16+(a-97+10));e.buffer[e.start++]=s>>>8,e.buffer[e.start++]=s,n<t.length&&t.charCodeAt(n)===58&&(n++,o=e.start)}if(o!==null){let s=i-e.start;e.buffer.copyWithin(o+s,o).fill(0,o,o+s)}e.start=i},decode(e){if(e.end-e.start<16)throw new Error("Out of bounds");return(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)+":"+(e.buffer[e.start++]*256+e.buffer[e.start++]).toString(16)}};h.ipv6Address=Gc(xi,6);var Fc=h.ip={preencode(e,t){let r=t.includes(":")?6:4;kt.preencode(e,r),r===4?Ci.preencode(e):xi.preencode(e)},encode(e,t){let r=t.includes(":")?6:4;kt.encode(e,r),r===4?Ci.encode(e,t):xi.encode(e,t)},decode(e){return kt.decode(e)===4?Ci.decode(e):xi.decode(e)}};h.ipAddress={preencode(e,t){Fc.preencode(e,t.host),Gr.preencode(e,t.port)},encode(e,t){Fc.encode(e,t.host),Gr.encode(e,t.port)},decode(e){let t=kt.decode(e);return{host:t===4?Ci.decode(e):xi.decode(e),family:t,port:Gr.decode(e)}}};var _A=h.record=function(e,t){return{preencode(r,i){let n=Object.keys(i);k.preencode(r,n.length);for(let o of n)e.preencode(r,o),t.preencode(r,i[o])},encode(r,i){let n=Object.keys(i);k.encode(r,n.length);for(let o of n)e.encode(r,o),t.encode(r,i[o])},decode(r){let i=Object.create(null),n=k.decode(r);for(let o=0;o<n;o++)i[e.decode(r)]=t.decode(r);return i}}};h.stringRecord=_A(ut,ut);function Mc(e){if(e==null)return 0;if(typeof e=="boolean")return 1;if(typeof e=="string")return 2;if(Ye.isBuffer(e))return 3;if(typeof e=="number")return Number.isInteger(e)?e>=0?4:5:6;if(Array.isArray(e))return 7;if(e instanceof Date)return 9;if(typeof e=="object")return 8;throw new Error("Unsupported type for "+e)}h.from=function(t){return typeof t=="string"?OA(t):t.preencode?t:t.encodingLength?wA(t):DA(t)};function OA(e){switch(e){case"ascii":return qt.ascii;case"utf-8":case"utf8":return qt.utf8;case"hex":return qt.hex;case"base64":return qt.base64;case"utf16-le":case"utf16le":case"ucs-2":case"ucs2":return qt.ucs2;case"ndjson":return qt.ndjson;case"json":return qt.json;default:return qt.binary}}function DA(e){let t=null,r=null;return{preencode(i,n){t=n,r=e.encode(n),i.end+=r.byteLength},encode(i,n){qt.encode(i,n===t?r:e.encode(n)),t=r=null},decode(i){return e.decode(qt.decode(i))}}}function wA(e){return{preencode(t,r){t.end+=e.encodingLength(r)},encode(t,r){e.encode(r,t.buffer,t.start),t.start+=e.encode.bytes},decode(t){let r=e.decode(t.buffer,t.start,t.end);return t.start+=e.decode.bytes,r}}}h.encode=function(t,r){let i=h.state();return t.preencode(i,r),i.buffer=Ye.allocUnsafe(i.end),t.encode(i,r),i.buffer};h.decode=function(t,r){return t.decode(h.state(0,r.byteLength,r))};function jt(e){return{preencode(t,r){e.preencode(t,Uc(r))},encode(t,r){e.encode(t,Uc(r))},decode(t){return NA(e.decode(t))}}}function NA(e){return e===0?e:(e&1)===0?e/2:-(e+1)/2}function Uc(e){return e<0?2*-e-1:e===0?0:2*e}function Wc(e){return{preencode(t,r){e.preencode(t,Vc(r))},encode(t,r){e.encode(t,Vc(r))},decode(t){return qA(e.decode(t))}}}function qA(e){return e===0n?e:(e&1n)===0n?e/2n:-(e+1n)/2n}function Vc(e){return e<0n?2n*-e-1n:e===0n?0n:2n*e}function nr(e){if(!(e>=0))throw new Error("uint must be positive")}});export*from"./blind-client-control-v2.mjs";var T=It(Ze(),1);var Ke=It(Ze(),1);var xn=class extends Error{constructor(t,r){super(r),this.name="BlindProtocolError",this.code=t}};function Le(e,t){throw new xn(e,t)}var yf=(1n<<64n)-1n;function w(e){Le("BAD_ENCODING",e)}function Ct(e,t){return(!e||typeof e.byteLength!="number")&&w(`${t} must be bytes`),Ke.default.isBuffer(e)?e:ArrayBuffer.isView(e)?Ke.default.from(e.buffer,e.byteOffset,e.byteLength):Ke.default.from(e)}function We(e,t,r){(!Number.isSafeInteger(t)||t<0||e.end-e.start<t)&&w(`truncated ${r}`)}function Oi(e,t,r){return(!Number.isSafeInteger(e)||e<0||e>t)&&w(`${r} is outside its unsigned range`),e}function vo(e,t){return typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&w(`${t} must be an unsigned safe integer or bigint`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>yf)&&w(`${t} is outside u64`),e}function bf(e,t){return e[t]|e[t+1]<<8}function Ef(e,t){return e[t]+e[t+1]*256+e[t+2]*65536+e[t+3]*16777216}function mf(e,t,r){e[r]=t,e[r+1]=t>>>8}function Cf(e,t,r){e[r]=t,e[r+1]=t>>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function es(e,t,r){let i=0n;if(r)for(let n=7;n>=0;n--)i=i<<8n|BigInt(e[t+n]);else for(let n=0;n<8;n++)i=i<<8n|BigInt(e[t+n]);return i}function ts(e,t,r,i){if(i)for(let n=0;n<8;n++)e[r+n]=Number(t&0xffn),t>>=8n;else for(let n=7;n>=0;n--)e[r+n]=Number(t&0xffn),t>>=8n}function Sn(e,t,r){return{preencode(i,n){Oi(n,t,r),i.end+=e},encode(i,n){n=Oi(n,t,r),We(i,e,r);for(let o=e-1;o>=0;o--)i.buffer[i.start+o]=n&255,n=Math.floor(n/256);i.start+=e},decode(i){We(i,e,r);let n=0;for(let o=0;o<e;o++)n=n*256+i.buffer[i.start++];return n}}}var l=Sn(1,255,"u8"),H=Sn(2,65535,"u16"),_=Sn(4,4294967295,"u32"),S={preencode(e,t){vo(t,"u64"),e.end+=8},encode(e,t){t=vo(t,"u64"),We(e,8,"u64"),ts(e.buffer,t,e.start,!1),e.start+=8},decode(e){We(e,8,"u64");let t=es(e.buffer,e.start,!1);return e.start+=8,t}},Rr={preencode(e,t){t=Oi(t,Number.MAX_SAFE_INTEGER,"compact uint"),e.end+=t<=252?1:t<=65535?3:t<=4294967295?5:9},encode(e,t){t=Oi(t,Number.MAX_SAFE_INTEGER,"compact uint");let r=t<=252?1:t<=65535?3:t<=4294967295?5:9;if(We(e,r,"compact uint"),r===1){e.buffer[e.start++]=t;return}if(r===3){e.buffer[e.start++]=253,mf(e.buffer,t,e.start),e.start+=2;return}if(r===5){e.buffer[e.start++]=254,Cf(e.buffer,t,e.start),e.start+=4;return}e.buffer[e.start++]=255,ts(e.buffer,BigInt(t),e.start,!0),e.start+=8},decode(e){We(e,1,"compact uint");let t=e.buffer[e.start++];if(t<=252)return t;if(t===253){We(e,2,"compact uint");let i=bf(e.buffer,e.start);return e.start+=2,i<=252&&w("non-canonical compact uint"),i}if(t===254){We(e,4,"compact uint");let i=Ef(e.buffer,e.start);return e.start+=4,i<=65535&&w("non-canonical compact uint"),i}We(e,8,"compact uint");let r=es(e.buffer,e.start,!0);return e.start+=8,(r<=0xffffffffn||r>BigInt(Number.MAX_SAFE_INTEGER))&&w("non-canonical or unsupported compact uint"),Number(r)}};function Ne(e,t=`bytes[${e}]`){if(!Number.isSafeInteger(e)||e<0)throw new TypeError("fixed byte length must be non-negative");return{preencode(r,i){i=Ct(i,t),i.byteLength!==e&&w(`${t} must be exactly ${e} bytes`),r.end+=e},encode(r,i){i=Ct(i,t),i.byteLength!==e&&w(`${t} must be exactly ${e} bytes`),We(r,e,t),Ke.default.copy(i,r.buffer,r.start),r.start+=e},decode(r){We(r,e,t);let i=r.buffer.subarray(r.start,r.start+e);return r.start+=e,r.copyBytes===!0?Ke.default.from(i):i}}}function rs(e,t="constant bytes"){e=Ct(e,t);let r=Ne(e.byteLength,t);return{preencode(i,n){n==null&&(n=e),n=Ct(n,t),Ke.default.equals(n,e)||w(`${t} does not match its fixed value`),r.preencode(i,e)},encode(i,n){n==null&&(n=e),n=Ct(n,t),Ke.default.equals(n,e)||w(`${t} does not match its fixed value`),r.encode(i,e)},decode(i){let n=r.decode(i);return Ke.default.equals(n,e)||w(`${t} does not match its fixed value`),n}}}function Rn(e,t,r="class-selected bytes"){function i(n){let o=n&&t[n[e]];return(!Number.isSafeInteger(o)||o<0)&&w(`${r} has an unknown ${e}`),o}return{preencode(n,o,s){o=Ct(o,r);let a=i(s);o.byteLength!==a&&w(`${r} must be exactly ${a} bytes`),n.end+=a},encode(n,o,s){o=Ct(o,r);let a=i(s);o.byteLength!==a&&w(`${r} must be exactly ${a} bytes`),We(n,a,r),Ke.default.copy(o,n.buffer,n.start),n.start+=a},decode(n,o){let s=i(o);We(n,s,r);let a=n.buffer.subarray(n.start,n.start+s);return n.start+=s,n.copyBytes===!0?Ke.default.from(a):a}}}function it(e,t,r="bounded bytes"){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<e)throw new TypeError("invalid bounded byte range");return{preencode(i,n){n=Ct(n,r),(n.byteLength<e||n.byteLength>t)&&w(`${r} length is outside ${e}..${t}`),Rr.preencode(i,n.byteLength),i.end+=n.byteLength},encode(i,n){n=Ct(n,r),(n.byteLength<e||n.byteLength>t)&&w(`${r} length is outside ${e}..${t}`),Rr.encode(i,n.byteLength),We(i,n.byteLength,r),Ke.default.copy(n,i.buffer,i.start),i.start+=n.byteLength},decode(i){let n=Rr.decode(i);(n<e||n>t)&&w(`${r} length is outside ${e}..${t}`),We(i,n,r);let o=i.buffer.subarray(i.start,i.start+n);return i.start+=n,i.copyBytes===!0?Ke.default.from(o):o}}}function _i(e,t,r,i,n){e=Ct(e,i),(e.byteLength<t||e.byteLength>r)&&w(`${i} length is outside ${t}..${r}`);for(let s=0;s<e.byteLength;s++)e[s]===0&&w(`${i} contains an embedded NUL`),n&&(e[s]<32||e[s]>126)&&w(`${i} must be printable ASCII`);let o=Ke.default.toString(e,"utf8");return Ke.default.equals(Ke.default.from(o,"utf8"),e)||w(`${i} is not strict UTF-8`),o!==o.normalize("NFC")&&w(`${i} must already be NFC`),{bytes:e,text:o}}function is(e,t,r,i){let n=it(e,t,r);return{preencode(o,s){n.preencode(o,_i(s,e,t,r,i).bytes)},encode(o,s){n.encode(o,_i(s,e,t,r,i).bytes)},decode(o){let s=n.decode(o);return _i(s,e,t,r,i),s}}}function Bn(e,t,r="canonical UTF-8"){return is(e,t,r,!1)}function Di(e,t,r="canonical ASCII"){return is(e,t,r,!0)}function Br(e,t={}){let r=t.name||"canonical URL",{text:i}=_i(e,1,512,r,!1),n=/^(https?):\/\/([^/?#]+)(\/[^?#]*)$/.exec(i);n||w(`${r} must contain a canonical scheme, authority, and path`);let o=n[1],s=n[2],a=n[3];s.includes("@")&&w(`${r} must not contain userinfo`);let I,E;if(s.startsWith("[")){let Y=s.indexOf("]");(Y<0||s[Y+1]!==":")&&w(`${r} requires an explicit port`),I=s.slice(0,Y+1),E=s.slice(Y+2)}else{let Y=s.lastIndexOf(":");(Y<=0||s.indexOf(":")!==Y)&&w(`${r} requires an explicit port`),I=s.slice(0,Y),E=s.slice(Y+1)}I!==I.toLowerCase()&&w(`${r} host must be lowercase`),/^[1-9][0-9]{0,4}$/.test(E)||w(`${r} port must use shortest decimal form`),Number(E)>65535&&w(`${r} port is outside 1..65535`),/%(?![0-9A-F]{2})/.test(a)&&w(`${r} has a non-canonical percent escape`);let C;try{C=new URL(i)}catch{w(`${r} is not a valid URL`)}(C.username||C.password||C.search||C.hash||C.hostname!==I||C.pathname!==a)&&w(`${r} contains non-canonical components`);let ue=/^[a-z2-7]{56}\.onion$/.test(I);return t.requireOnion===!0?(!ue||o!=="http"&&o!=="https")&&w(`${r} must be a v3 onion URL`):(o!=="https"||ue||I.endsWith(".onion"))&&w(`${r} must use HTTPS to a non-onion host`),e}function Tt(e="canonical HTTPS URL"){let t=Bn(1,512,e);return{preencode(r,i){Br(i,{name:e}),t.preencode(r,i)},encode(r,i){Br(i,{name:e}),t.encode(r,i)},decode(r){let i=t.decode(r);return Br(i,{name:e}),i}}}function v(e,t="optional value"){return{preencode(r,i){l.preencode(r,i==null?0:1),i!=null&&e.preencode(r,i)},encode(r,i){l.encode(r,i==null?0:1),i!=null&&e.encode(r,i)},decode(r){let i=l.decode(r);return i===0?null:(i!==1&&w(`${t} presence tag must be 0 or 1`),e.decode(r))}}}function ze(e,t,r,i="array"){if(!Number.isSafeInteger(t)||!Number.isSafeInteger(r)||t<0||r<t)throw new TypeError("invalid array bounds");return{preencode(n,o){(!Array.isArray(o)||o.length<t||o.length>r)&&w(`${i} count is outside ${t}..${r}`),Rr.preencode(n,o.length);for(let s of o)e.preencode(n,s)},encode(n,o){(!Array.isArray(o)||o.length<t||o.length>r)&&w(`${i} count is outside ${t}..${r}`),Rr.encode(n,o.length);for(let s of o)e.encode(n,s)},decode(n){let o=Rr.decode(n);(o<t||o>r)&&w(`${i} count is outside ${t}..${r}`);let s=new Array(o);for(let a=0;a<o;a++)s[a]=e.decode(n);return s}}}function b(e,t={}){if(!Array.isArray(e)||e.length===0)throw new TypeError("struct requires fields");let r={preencode(i,n){(!n||typeof n!="object")&&w(`${t.name||"struct"} must be an object`);for(let[o,s]of e)s.preencode(i,n[o],n);t.validate&&t.validate(n)},encode(i,n){(!n||typeof n!="object")&&w(`${t.name||"struct"} must be an object`);for(let[o,s]of e)s.encode(i,n[o],n)},decode(i){let n={};for(let[o,s]of e)n[o]=s.decode(i,n);return t.validate&&t.validate(n),n}};return Object.defineProperties(r,{schemaName:{value:t.name||null},schemaFields:{value:Object.freeze(e.map(([i])=>i))}}),r}function Kt(e,t,r){return{preencode(i,n){n==null&&(n=t),n!==t&&w(`${r} must be ${t}`),e.preencode(i,t)},encode(i,n){n==null&&(n=t),n!==t&&w(`${r} must be ${t}`),e.encode(i,t)},decode(i){let n=e.decode(i);return n!==t&&w(`${r} must be ${t}`),n}}}function A(e,t,r,i){return{preencode(n,o){(typeof o!="number"||o<t||o>r)&&w(`${i} is outside ${t}..${r}`),e.preencode(n,o)},encode(n,o){(typeof o!="number"||o<t||o>r)&&w(`${i} is outside ${t}..${r}`),e.encode(n,o)},decode(n){let o=e.decode(n);return(o<t||o>r)&&w(`${i} is outside ${t}..${r}`),o}}}function nt(e,t){let r={start:0,end:0,buffer:null,copyBytes:!1};return e.preencode(r,t),r.buffer=Ke.default.alloc(r.end),r.start=0,e.encode(r,t),r.start!==r.end&&w("encoder did not fill its canonical allocation"),r.buffer}function pt(e,t,r={}){t=Ct(t,"canonical input");let i={start:0,end:t.byteLength,buffer:t,copyBytes:r.copyBytes===!0},n=e.decode(i);return i.start!==i.end&&w("trailing bytes after canonical value"),n}var R=It(Ze(),1);var Ia=It(_s(),1),pa=It(_n(),1),Ji=It(Aa(),1),qr=Object.freeze({crypto_generichash:Ia.default.crypto_generichash,crypto_sign_detached:Ji.default.crypto_sign_detached,crypto_sign_seed_keypair:Ji.default.crypto_sign_seed_keypair,crypto_sign_verify_detached:Ji.default.crypto_sign_verify_detached,randombytes_buf:pa.default.randombytes_buf});var dt=It(Ze(),1);function P(e){if(!e||typeof e!="object"||Object.isFrozen(e))return e;for(let t of Object.values(e))P(t);return Object.freeze(e)}var qI=P({family:"hiverelay-blind",major:1,minor:0,mediaType:"application/vnd.hiverelay.blind-v1"}),Pr=P({REQUEST:1,RESPONSE:2,ERROR:3,STREAM:4}),vr=P({DESCRIBE:1,CELL:2,INBOX:3,CORE:4,FORWARD:5}),ha=P({1:"/api/blind/v1/describe",2:"/api/blind/v1/cell",3:"/api/blind/v1/inbox",4:"/api/blind/v1/core",5:"/api/blind/v1/forward"}),PI=P({DESCRIBE:{GET:1,CHALLENGE:2,ADMISSION_PARAMETERS:3},CELL:{PUT:1,GET:2,RENEW:3,DROP:4,PROVE:5,BATCH_GET:6},INBOX:{CREATE:1,RENEW:2,CLOSE:3,APPEND:4,READ:5,WATCH:6},CORE:{MIRROR:1,PROVE:2,OPEN_REPLICATION:3},FORWARD:{OPEN:1,DATA:2,WINDOW:3,CLOSE:4}}),ga=P({HTTPS_DIRECT:1,DIRECT_PROTOMUX_NOISE:2,OHTTP_INGRESS:3,OHTTP_GATEWAY:4,SPLIT_PROTOMUX_NOISE:5,HTTP3_MASQUE:6,TOR_V3_ONION:7,WEBTRANSPORT_WEBSOCKET_TUNNEL:8,MIX_PACKET_INGRESS:9}),$i=P({DIRECT_HTTP:1,DIRECT_NATIVE:2,OHTTP:4,TOR_HTTP:8,TOR_NATIVE:16,MASQUE_NATIVE:32}),Vt=P({ROLE_BITS_MASK:127,PRIVACY_PROFILE_BITS_MASK:255,ENVELOPE_CLASS_BITS_MASK:126,WIRE_CLASS_BITS_MASK:14}),et=P({CELL_SIZE_CLASS_BITS_MASK:62,LEASE_CLASS_BITS_MASK:30,ENABLED_OPERATION_BITS_MASK:4194303,TRANSPORT_BITS_MASK:1022,MAX_DESCRIPTOR_BYTES:16384,MAX_DHT_POINTER_BYTES:1e3,MAX_RESPONSE_BYTES:4194304,MAX_BATCH_COUNT:64,MAX_ADMISSION_TOKEN_BYTES:4096,MAX_ADMISSION_RESOURCE_COST_ROWS:512,MAX_OHTTP_CONFIG_EPOCHS:120}),Jn=P({OPEN:1,PRIVATE:2}),ei=P({STORED:1,SERVED:2,RENEWED:3,DROPPED:4}),ya=P({RENEW:1,CLOSE:2}),ba=P({OPEN_CAPABILITY:0,SIGNATURE_REQUIRED:1}),Ea=P({CREATED:1,RENEWED:2,CLOSED:3}),ma=P({STORED:1}),Zi=P({MIRROR_ACCEPTED:1,RECENTLY_SERVED:2}),$n=P({FIN:1,ABORT:2}),Lr=P({ACTIVE:1,DRAINING:2,RETIRED:3}),Zn=P({READY:1,UNSAFE:2,VERIFYING:3}),vn=P({VERIFIED:1,DEGRADED:2,FAILED:3}),eo=P({STABLE:0,COPYING:1,CATCHING_UP:2,FENCED:3}),ti=P({UNARY:0,CORE_CHILD:1,FORWARD_OPEN:2,FORWARD_ACTIVE:3}),Hr=P({REQUEST_COMMITMENT:1,RESULT_SIGNATURE:2,AUXILIARY_SIGNATURE:3}),Kr=P({OPERATION_DEFINED_COMMITMENT_PREIMAGE:1,ED25519_DOMAIN_LEN64_PAYLOAD:2}),Hu=P({CELL_PUT:1,CELL_GET:2,CELL_RENEW:3,CELL_DROP:4,CELL_PROVE:5,CELL_BATCH_GET:6,INBOX_CREATE:7,INBOX_RENEW:8,INBOX_CLOSE:9,INBOX_APPEND:10,INBOX_READ:11,INBOX_WATCH:12,CORE_MIRROR:13,CORE_SERVE:14,CORE_OPEN_REPLICATION:15,FORWARD_OPEN:16}),LI=P({DESCRIPTOR:101,HEALTH_RESULT:102,ADMISSION_PARAMETERS:103,CELL_RECEIPT:104,BATCH_GET_RESULT:105,INBOX_RECEIPT:106,INBOX_APPEND_ACK:107,INBOX_READ_RESULT:108,CORE_ACK:109,CORE_OPEN_RESULT:110,FORWARD_OPEN_RESULT:111}),HI=P({OHTTP_KEY_CONFIG:201,IDENTITY_TRANSITION:202,DHT_POINTER:203,TRANSPORT_ROUTE:204,FORWARD_HOP_OPEN:205,FORWARD_HOP_ACCEPT:206,EXTERNAL_JOURNAL_TOPOLOGY:207,EXTERNAL_COMMIT_WITNESS:208,RESTORE_EVIDENCE_HEAD:209,BACKUP_MANIFEST:210,CLEAN_RESTORE_EVIDENCE:211,BACKUP_RETENTION_TRANSITION:212,FORWARD_ROUTE_SCOPE:213}),to=P({CANONICAL_V1:1}),vi=P({MUST_BE_ABSENT:0,MUST_BE_PRESENT:1}),Ku=P([{domainId:1,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1cell-put"},{domainId:2,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1cell-get"},{domainId:3,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1cell-renew"},{domainId:4,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1cell-drop"},{domainId:5,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1cell-prove"},{domainId:6,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1cell-batch-get"},{domainId:7,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1inbox-create"},{domainId:8,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1inbox-renew"},{domainId:9,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1inbox-close"},{domainId:10,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1inbox-append"},{domainId:11,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1inbox-read"},{domainId:12,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1inbox-watch"},{domainId:13,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1core-mirror"},{domainId:14,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1core-serve"},{domainId:15,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.request.v1core-open-replication"},{domainId:16,purpose:1,recipeId:1,exactAsciiBytes:"hiverelay.blind.forward-open.v1"},{domainId:101,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.descriptor.v1"},{domainId:102,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.health-result.v1"},{domainId:103,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.admission-parameters.v1"},{domainId:104,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.cell-receipt.v1"},{domainId:105,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.batch-get-result.v1"},{domainId:106,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.inbox-receipt.v1"},{domainId:107,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.inbox-append-ack.v1"},{domainId:108,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.inbox-read-result.v1"},{domainId:109,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.core-ack.v1"},{domainId:110,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.core-open-result.v1"},{domainId:111,purpose:2,recipeId:2,exactAsciiBytes:"hiverelay.blind.forward-open-result.v1"},{domainId:201,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.ohttp-key-config.v1"},{domainId:202,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.identity-transition.v1"},{domainId:203,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.dht-pointer.v1"},{domainId:204,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.transport-route.v1"},{domainId:205,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.forward-hop-open.v1"},{domainId:206,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.forward-hop-accept.v1"},{domainId:207,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.external-journal-topology.v1"},{domainId:208,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.external-commit-witness.v1"},{domainId:209,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.restore-evidence-head.v1"},{domainId:210,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.backup-manifest.v1"},{domainId:211,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.clean-restore-evidence.v1"},{domainId:212,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.backup-retention-transition.v1"},{domainId:213,purpose:3,recipeId:2,exactAsciiBytes:"hiverelay.blind.forward-route-scope.v1"}]),Qu=P([{costClassRuleId:1,ruleKind:1},{costClassRuleId:2,ruleKind:2},{costClassRuleId:3,ruleKind:3},{costClassRuleId:4,ruleKind:4},{costClassRuleId:5,ruleKind:5},{costClassRuleId:6,ruleKind:6},{costClassRuleId:7,ruleKind:7},{costClassRuleId:8,ruleKind:8},{costClassRuleId:9,ruleKind:9},{costClassRuleId:10,ruleKind:10},{costClassRuleId:11,ruleKind:11}]),Fu=P([{errorProfileId:1,code:1,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:2,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:3,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:4,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:5,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:6,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:7,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:8,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:9,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:1,retryAfterMode:0},{errorProfileId:1,code:10,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:11,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:12,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:13,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:14,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:15,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:16,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:1,retryAfterMode:0},{errorProfileId:1,code:17,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:1,retryAfterMode:0},{errorProfileId:1,code:18,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:1,retryAfterMode:1},{errorProfileId:1,code:19,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0},{errorProfileId:1,code:20,directCorrelatedStatus:200,protectedInnerStatus:200,retryable:0,retryAfterMode:0}]),Ca=P({1:4096,2:16384,3:65536,4:262144,5:1048576}),xa=P({1:4096,2:16384,3:65536}),KI=P({1:4096,2:16384,3:65536,4:262144,5:1048576,6:8388608}),ro=P({1:4096,2:16384,3:65535}),Sa=P({1:{grantedInitialWindow:65536,maxCircuitBytes:16777216,idleMillis:3e4,lifetimeMillis:6e5},2:{grantedInitialWindow:262144,maxCircuitBytes:67108864,idleMillis:6e4,lifetimeMillis:18e5},3:{grantedInitialWindow:1048576,maxCircuitBytes:268435456,idleMillis:12e4,lifetimeMillis:36e5}}),Ra=P({1:{maxSessionBytes:16777216,idleMillis:3e4,lifetimeMillis:6e5},2:{maxSessionBytes:67108864,idleMillis:6e4,lifetimeMillis:18e5},3:{maxSessionBytes:268435456,idleMillis:12e4,lifetimeMillis:36e5}}),en=P({PREFIX_BYTES:4,HEADER_BYTES:41,REQUEST_ID_BYTES:16,MAX_BODY_BYTES:4194304,MAX_FRAME_AFTER_PREFIX_BYTES:4194368,MAX_WIRE_BYTES:4194372,MAX_FORWARD_DATA_BYTES:65535,MAX_FORWARD_WINDOW_BYTES:1048576}),Mu=P([{familyId:1,operationId:1,requestSchemaId:16,resultSchemaId:39,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:101,errorProfileId:1,transportSupportBits:31},{familyId:1,operationId:2,requestSchemaId:31,resultSchemaId:32,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:102,errorProfileId:1,transportSupportBits:31},{familyId:1,operationId:3,requestSchemaId:9,resultSchemaId:2,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:103,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:1,requestSchemaId:68,resultSchemaId:36,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:1056768,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:1,requestCommitmentDomainId:1,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:2,requestSchemaId:54,resultSchemaId:53,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:1048832,admissionMode:1,costClassRuleId:2,requestCommitmentDomainId:2,resultSignatureDomainId:0,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:3,requestSchemaId:71,resultSchemaId:36,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:3,requestCommitmentDomainId:3,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:4,requestSchemaId:49,resultSchemaId:36,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:4,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:5,requestSchemaId:67,resultSchemaId:66,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:1049600,admissionMode:1,costClassRuleId:2,requestCommitmentDomainId:5,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:6,requestSchemaId:8,resultSchemaId:6,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:1,costClassRuleId:4,requestCommitmentDomainId:6,resultSignatureDomainId:105,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:1,requestSchemaId:57,resultSchemaId:62,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:5,requestCommitmentDomainId:7,resultSignatureDomainId:106,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:2,requestSchemaId:58,resultSchemaId:62,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:6,requestCommitmentDomainId:8,resultSignatureDomainId:106,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:3,requestSchemaId:58,resultSchemaId:62,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:9,resultSignatureDomainId:106,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:4,requestSchemaId:56,resultSchemaId:55,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:70656,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:7,requestCommitmentDomainId:10,resultSignatureDomainId:107,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:5,requestSchemaId:61,resultSchemaId:59,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:1,costClassRuleId:4,requestCommitmentDomainId:11,resultSignatureDomainId:108,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:6,requestSchemaId:63,resultSchemaId:59,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:2,costClassRuleId:8,requestCommitmentDomainId:12,resultSignatureDomainId:108,errorProfileId:1,transportSupportBits:31},{familyId:4,operationId:1,requestSchemaId:43,resultSchemaId:15,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:9,requestCommitmentDomainId:13,resultSignatureDomainId:109,errorProfileId:1,transportSupportBits:31},{familyId:4,operationId:2,requestSchemaId:46,resultSchemaId:47,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:1,costClassRuleId:4,requestCommitmentDomainId:14,resultSignatureDomainId:109,errorProfileId:1,transportSupportBits:31},{familyId:4,operationId:3,requestSchemaId:45,resultSchemaId:44,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:1,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:10,requestCommitmentDomainId:15,resultSignatureDomainId:110,errorProfileId:1,transportSupportBits:18},{familyId:5,operationId:1,requestSchemaId:27,resultSchemaId:26,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:2,maxRequestBodyBytes:131072,maxResultBodyBytes:131072,admissionMode:2,costClassRuleId:11,requestCommitmentDomainId:16,resultSignatureDomainId:111,errorProfileId:1,transportSupportBits:50},{familyId:5,operationId:2,requestSchemaId:23,resultSchemaId:0,allowedRequestKindBits:8,allowedResultKindBits:8,streamTransition:3,maxRequestBodyBytes:66e3,maxResultBodyBytes:66e3,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:0,errorProfileId:1,transportSupportBits:50},{familyId:5,operationId:3,requestSchemaId:30,resultSchemaId:0,allowedRequestKindBits:8,allowedResultKindBits:8,streamTransition:3,maxRequestBodyBytes:1024,maxResultBodyBytes:1024,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:0,errorProfileId:1,transportSupportBits:50},{familyId:5,operationId:4,requestSchemaId:22,resultSchemaId:0,allowedRequestKindBits:8,allowedResultKindBits:12,streamTransition:3,maxRequestBodyBytes:1024,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:0,errorProfileId:1,transportSupportBits:50}]),QI=P([{familyId:1,operationId:1,requestSchemaId:16,resultSchemaId:39,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:101,errorProfileId:1,transportSupportBits:31},{familyId:1,operationId:2,requestSchemaId:31,resultSchemaId:32,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:102,errorProfileId:1,transportSupportBits:31},{familyId:1,operationId:3,requestSchemaId:9,resultSchemaId:2,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:0,resultSignatureDomainId:103,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:1,requestSchemaId:68,resultSchemaId:36,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:1056768,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:1,requestCommitmentDomainId:1,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:2,requestSchemaId:54,resultSchemaId:53,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:1048832,admissionMode:1,costClassRuleId:2,requestCommitmentDomainId:2,resultSignatureDomainId:0,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:3,requestSchemaId:71,resultSchemaId:36,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:3,requestCommitmentDomainId:3,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:4,requestSchemaId:49,resultSchemaId:36,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:4,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:5,requestSchemaId:67,resultSchemaId:66,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:1049600,admissionMode:1,costClassRuleId:2,requestCommitmentDomainId:5,resultSignatureDomainId:104,errorProfileId:1,transportSupportBits:31},{familyId:2,operationId:6,requestSchemaId:8,resultSchemaId:6,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:1,costClassRuleId:4,requestCommitmentDomainId:6,resultSignatureDomainId:105,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:1,requestSchemaId:57,resultSchemaId:62,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:5,requestCommitmentDomainId:7,resultSignatureDomainId:106,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:2,requestSchemaId:58,resultSchemaId:62,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:6,requestCommitmentDomainId:8,resultSignatureDomainId:106,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:3,requestSchemaId:58,resultSchemaId:62,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:0,costClassRuleId:0,requestCommitmentDomainId:9,resultSignatureDomainId:106,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:4,requestSchemaId:56,resultSchemaId:55,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:70656,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:7,requestCommitmentDomainId:10,resultSignatureDomainId:107,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:5,requestSchemaId:61,resultSchemaId:59,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:1,costClassRuleId:4,requestCommitmentDomainId:11,resultSignatureDomainId:108,errorProfileId:1,transportSupportBits:31},{familyId:3,operationId:6,requestSchemaId:63,resultSchemaId:59,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:2,costClassRuleId:8,requestCommitmentDomainId:12,resultSignatureDomainId:108,errorProfileId:1,transportSupportBits:31},{familyId:4,operationId:1,requestSchemaId:43,resultSchemaId:15,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:16384,admissionMode:2,costClassRuleId:9,requestCommitmentDomainId:13,resultSignatureDomainId:109,errorProfileId:1,transportSupportBits:31},{familyId:4,operationId:2,requestSchemaId:46,resultSchemaId:47,allowedRequestKindBits:1,allowedResultKindBits:6,streamTransition:0,maxRequestBodyBytes:16384,maxResultBodyBytes:4194304,admissionMode:1,costClassRuleId:4,requestCommitmentDomainId:14,resultSignatureDomainId:109,errorProfileId:1,transportSupportBits:31}]),FI=P([{familyId:4,operationId:3},{familyId:5,operationId:1},{familyId:5,operationId:2},{familyId:5,operationId:3},{familyId:5,operationId:4}]);function ri(e){return Ku.find(t=>t.domainId===e)||null}function io(e){return Qu.find(t=>t.costClassRuleId===e)||null}function no(e,t){return Fu.find(r=>r.errorProfileId===e&&r.code===t)||null}function oo(e,t){return Mu.find(r=>r.familyId===e&&r.operationId===t)||null}function so(e,t){return oo(e,t)!==null}var ct=P({profile:"wire-authority-v1",protocolFamily:"hiverelay-blind",protocolMajor:1,protocolMinor:0,specArtifact:"docs/protocol/HIVERELAY-BLIND-WIRE-V1.md",abiArtifact:"packages/blind-protocol/hiverelay-blind-abi-v1.cenc",vectorManifestArtifact:"packages/blind-protocol/vector-manifest-v1.cenc",specHash:"c9ddd235c3963461174e3de13c25a4c995b53ff320be822d8304f870766b6592",abiHash:"199ba15d94d4d112cfac520a67055ce15ec870f0f6f7bd9adaaf47d552334567",vectorSetHash:"fa54012cd0d7e4e620878c67e61f435ecb31ddec05a6283917987cc84279ee05",wireSchemaCount:73,operationCount:22,advertisedOperationCount:17,reservedOperationCount:5,advertisedOperationBits:131071,reservedOperationBits:4063232,errorCount:20,domainCount:40,vectorCount:237}),MI=P({profile:ct.profile,specHash:ct.specHash,abiHash:ct.abiHash,vectorSetHash:ct.vectorSetHash,wireSchemaCount:ct.wireSchemaCount,operationCount:ct.operationCount,advertisedOperationCount:ct.advertisedOperationCount,reservedOperationCount:ct.reservedOperationCount,advertisedOperationBits:ct.advertisedOperationBits,reservedOperationBits:ct.reservedOperationBits,errorCount:ct.errorCount,domainCount:ct.domainCount,vectorCount:ct.vectorCount,releaseBlockers:[],releaseReady:!0});var Uu=32,Vu=(1n<<64n)-1n,zI=Object.freeze({SPEC:"hiverelay.blind.spec-hash.v1",ABI:"hiverelay.blind.abi-hash.v1",VECTOR_SET:"hiverelay.blind.vector-set-hash.v1",EVIDENCE_FORMAT:"hiverelay.blind.evidence-format-hash.v1",EVIDENCE_VECTOR_SET:"hiverelay.blind.evidence-vector-set-hash.v1",STORE_FORMAT:"hiverelay.blind.store-format-hash.v1",STORE_VECTOR_SET:"hiverelay.blind.store-vector-set-hash.v1",IMPLEMENTATION_SPEC:"hiverelay.blind.implementation-spec-hash.v1",OWNER_DECISIONS:"hiverelay.blind.owner-decisions-hash.v1",RELEASE_CLOSURE:"hiverelay.blind.release-closure-hash.v1",CLIENT_COMPOSITION_FORMAT:"hiverelay.blind.client-composition-format-hash.v1",CLIENT_COMPOSITION_VECTOR_SET:"hiverelay.blind.client-composition-vector-set-hash.v1",LOCAL_CHECKPOINT:"hiverelay.blind.local-checkpoint-hash.v1",CONTROL_SNAPSHOT:"hiverelay.blind.control-snapshot.v1",BUILD_ARTIFACT:"hiverelay.blind.build-artifact-hash.v1",BUILD_MANIFEST:"hiverelay.blind.build-manifest-hash.v1",PROTOCOL_PROFILE:"hiverelay.blind.protocol-profile-hash.v1",TRANSPORT_PROFILE:"hiverelay.blind.transport-profile-hash.v1",DESCRIPTOR:"hiverelay.blind.descriptor-hash.v1",ADMISSION_PARAMETERS:"hiverelay.blind.admission-parameters-hash.v1",DURABILITY_PROFILE:"hiverelay.blind.durability-profile-hash.v1",DURABILITY_CONTINUITY:"hiverelay.blind.durability-continuity-hash.v1",PERSISTENT_RESULT:"hiverelay.blind.persistent-result.v1",REQUEST:"hiverelay.blind.request.v1",CORE_OPEN_RESULT:"hiverelay.blind.core-open-result.v1"});function Ta(e,t){return typeof e=="string"?dt.default.from(e,"utf8"):((!e||typeof e.byteLength!="number")&&Le("BAD_ENCODING",`${t} must be bytes`),dt.default.isBuffer(e)?e:ArrayBuffer.isView(e)?dt.default.from(e.buffer,e.byteOffset,e.byteLength):dt.default.from(e))}function Ba(e,t="u64 length"){typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&Le("BAD_ENCODING",`${t} is invalid`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>Vu)&&Le("BAD_ENCODING",`${t} is invalid`);let r=dt.default.alloc(8);for(let i=7;i>=0;i--)r[i]=Number(e&0xffn),e>>=8n;return r}function Yu(e,t,r,i){(!Number.isSafeInteger(e)||e<0||e>r)&&Le("BAD_ENCODING",`${i} is outside its unsigned range`);let n=dt.default.alloc(t);for(let o=t-1;o>=0;o--)n[o]=e&255,e=Math.floor(e/256);return n}var _a=(e,t)=>Yu(e,4,4294967295,t);function Oa(e,t,r){return e=Ta(e,r),e.byteLength!==t&&Le("BAD_ENCODING",`${r} must be exactly ${t} bytes`),e}function He(e){e=Ta(e,"hash input");let t=dt.default.alloc(Uu);return qr.crypto_generichash(t,e),t}var kI=ze({preencode(e,t){let r=Ba(t,"block index");e.end+=r.byteLength},encode(e,t){let r=Ba(t,"block index");dt.default.copy(r,e.buffer,e.start),e.start+=r.byteLength},decode(){throw new Error("core commitment block-index encoding is encode-only")}},1,16,"core commitment block indices");function Da(e){return He(dt.default.concat([dt.default.from("hiverelay.blind.slot.v1","ascii"),_a(e.allocationEpoch,"allocationEpoch"),Oa(e.createPublicKey,32,"createPublicKey")]))}var jI=ze(Ne(32),1,64,"commitment slots");function wa(e){return He(dt.default.concat([dt.default.from("hiverelay.blind.inbox-topic.v1","ascii"),_a(e.allocationEpoch,"allocationEpoch"),Oa(e.createPublicKey,32,"createPublicKey")]))}var X=It(Ze(),1);var Na=It(Ze(),1);function xt(e){Le("BAD_ENCODING",e)}function ao(e){for(let t=0;t<e.byteLength;t++)if(e[t]!==0)return!1;return!0}function qa(e,t){ao(e)&&xt(`${t} must be nonzero`)}function Dt(e,t){return typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&xt(`${t} must be an unsigned integer`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>(1n<<64n)-1n)&&xt(`${t} is outside u64`),e}var de=Ne(32),Gu=Ne(64),Wu=b([["version",A(l,1,1,"version")],["relayPublicKey",de],["storeId",de],["externalJournalId",de],["durabilityContinuityHash",de],["durabilityProfileHash",de],["restoreEvidenceHeadSequence",S],["restoreEvidenceHeadHash",de],["familyId",A(l,1,5,"familyId")],["operationId",A(l,1,255,"operationId")],["requestCommitment",de],["resultCommitment",de],["commitWalSequence",S],["commitWalHash",de],["coveringFloorRevision",S],["coveringFloorHash",de],["coveringFloorWalSequence",S],["coveringFloorWalHash",de],["writerEpoch",S],["writerFenceTokenHash",de],["externalLeaseRevision",S],["witnessedUnixMillis",S],["witnessPublicKey",de],["signature",Gu]],{name:"BlindExternalCommitWitnessV1",validate(e){for(let r of["relayPublicKey","storeId","externalJournalId","durabilityContinuityHash","durabilityProfileHash","requestCommitment","resultCommitment","commitWalHash","coveringFloorHash","coveringFloorWalHash","writerFenceTokenHash","witnessPublicKey"])qa(e[r],r);so(e.familyId,e.operationId)||xt("external witness references an unknown operation"),Dt(e.coveringFloorWalSequence,"coveringFloorWalSequence")<Dt(e.commitWalSequence,"commitWalSequence")&&xt("covering floor WAL sequence is below the committed result"),(Dt(e.coveringFloorRevision,"coveringFloorRevision")===0n||Dt(e.writerEpoch,"writerEpoch")===0n||Dt(e.externalLeaseRevision,"externalLeaseRevision")===0n||Dt(e.witnessedUnixMillis,"witnessedUnixMillis")===0n)&&xt("external witness revisions, writer epoch, lease, and time must be nonzero"),Dt(e.restoreEvidenceHeadSequence,"restoreEvidenceHeadSequence")===0n!==ao(e.restoreEvidenceHeadHash)&&xt("restore evidence head sequence/hash zero state does not match")}}),yt=b([["version",A(l,1,1,"version")],["relayPublicKey",de],["storeId",de],["descriptorSequence",S],["descriptorHash",de],["durabilityProfileId",A(l,1,2,"durabilityProfileId")],["durabilityContinuityHash",de],["durabilityProfileHash",de],["restoreEvidenceHeadSequence",S],["restoreEvidenceHeadHash",de],["externalCommitWitness",v(Wu,"externalCommitWitness")]],{name:"RelayResultBindingV1",validate(e){for(let i of["relayPublicKey","storeId","descriptorHash","durabilityContinuityHash","durabilityProfileHash"])qa(e[i],i);let t=Dt(e.restoreEvidenceHeadSequence,"restoreEvidenceHeadSequence");if(t===0n!==ao(e.restoreEvidenceHeadHash)&&xt("restore evidence head sequence/hash zero state does not match"),e.durabilityProfileId===1){(t!==0n||e.externalCommitWitness!=null)&&xt("durability profile 1 forbids restore-head and external-witness state");return}let r=e.externalCommitWitness;if(r!=null){for(let i of["relayPublicKey","storeId","durabilityContinuityHash","durabilityProfileHash","restoreEvidenceHeadHash"])Na.default.equals(e[i],r[i])||xt(`external witness ${i} does not match relay binding`);Dt(e.restoreEvidenceHeadSequence,"restoreEvidenceHeadSequence")!==Dt(r.restoreEvidenceHeadSequence,"witness restoreEvidenceHeadSequence")&&xt("external witness restore evidence sequence does not match relay binding")}}}),vI=b([["version",A(l,1,1,"version")],["relayBinding",yt],["requestNonce",de],["requestCommitment",de],["entriesCommitment",de]],{name:"BatchGetSignaturePayloadV1"}),e0=b([["version",A(l,1,1,"version")],["relayBinding",yt],["requestNonce",de],["requestCommitment",de],["snapshotRevision",S],["entriesCommitment",de],["nextCursor",v(it(0,128,"nextCursor"),"nextCursor")]],{name:"InboxReadSignaturePayloadV1"});var Pa=Object.freeze(Object.fromEntries(Object.entries({1:["e6be8df975178fb7371c5d35b86f5419b127ede9b7975dae593c3b1c6c4ad76e","81d2ff674bf0d3c08ab5d631f454548f339203edae38a95348e8a089aea2961c","f0f89649d8ef417be5cc7b44a3950fef68cc605dfc23bdc8fff9b266ced45be1","6b6e2d9cb960890b97dbc10fce30ce6b0c462dc7cd8a7f1282a15dfef47d2a21","0825170b5213ce37aed2bcf4d7c11288151150d4b6047dc3fed556879aa6cda1","635cc44d0549778ddc14391b2ddb758b64a2c0b1d5e865eb8e72f1843fdea5b8","b33eec9f0f15db391e0b1c3940ba793fa018c51a005ec8ea9b1360b7b29fa236","6ff0cd22571bdf3b9fed2c9affc08bd24166255ee139f4254f4f1610d35ae535","56fc2cd57e00724180b8a3deda0f5d3610a179cad9c359873fd3fc0001e97732","7f2fa51fe068d14adf1bd0144012f05c9123897faa8c0115bdad8c4e0c3f1066","390602d14fd8105b1538a283b2dee3db5f4a43691fed70b0041e0a3c8c8c8ae9","89b404497d63603af8be9fc3b7a374dc1c7e7ce58a7577220842e95e1e7de76d","3b060f9e47a1047a806893cd94285933b143882105e50d83deac701f60beb10f","654a06af400247f78246969ec40a29e3c4c3f53478583d667d651c92d55d5e23","02d799921c66b4a1f3ae4b60de9d3ba0d1885aaf94b9e58690920591c732bb72","99b0ff2e1bd3f58c9def8064c110463f1dc536a760f16b87f65037ea4c3c7e34","fbad17adcbcb22563aaa8819f31ec0853ebf8ce1f712d9ab1e920350a4d9b82f","902436eba0557887bfc0c652fba3bcb24db5a73d4caae1f586de970ecd222872","4523de2fc2f08d935533116972fd9b23ae5451a7971ac35397516bbf1424aaab","c7ffbaebdd9d917bb238c959266951d120544d8db28c758c9535c7f24dbe0572","7f31640f28180175aa2d2a604298226f0837e725af89b678d8962328bfe9b3d3","c48a1e6bd54aacdad5a803dcdaab215a835a335f27493e4b09223cdd54f2fe24","a6d51b1f18c8456ae4175cffe8f4004a9c8c5a64e08bb546e3b5cff0ef1ef3e6","034704d596bbb182ae072167e98f8a49257ab544268d83f4de050a5cff0919be","f9a932c2017cd69387be7f1fdcde8e31a44473ec29762dbd442247267c7fdf45","0ec396609d37e22e91c15d34a89e21cb9f196ec8f4d4a0a211958bfef3d872ee","eda1ae1cf3fd63d80c69649d0c3ad9a022ec366919fee2e163a759ed8169d505","2d1a5ef1d2c764adfa03583027635864a2661a9ab92b86c7d6581040f123e5c2","6dbc1bd2e78a26198524c36ed4e16c197668359ea9882b7c8caf85100ff17f77","a9f5a17efc580e281ca92234f1e6b5713b7daedcb1548bad6d4917e702894731","05eee93faf2b7cb09fff3a4a8297cc333aa56ff53f9392108bdb40eb80329058","50c6bbe834627c1125773a3e9b988d0ece94952c297c98f33b37e00a31be8f68","2aca518d4952fa2306053210d0187171a88675680912beaee11c2b22b8aff6d4","8d3a5f93320236407062fec7f1976c5891d8dbe22b43d560f62fc38ea427b619","6e50fa5dc6f33ad86ced6d36b3fe9f239a7770c2da0f324e6ff72f16190eacd8","83c9224ba53f0cc6bce2af03cd749efde827ef3ee68384c6fc57d2148aff14cc","203ff33bac4c3b494b4452a919921bee00d7dbc7b36ce9e04df641020acfda1a","7111647f042ade5fd938070a83f31b933495e3d14cd0fa069e79d38a9ea84f09","a54594725fbb532cf7d49a75144da47179b9f9a8e49221a19a8ccd551203e114","61806e776baf19ee9fbd05da346c7def94645c6b8d3580fcda44419c2744fe04","9a65f79bfd3f959e9ad658074b4a252e4d795cf5db60b9a64c58dcb0c384948e","184d18b8b831098a24889714295ecfcca94202e0d547b0f34ff92a9732e60da5","40f7e370d90cb385053f48d2b89d57a8f181df5d2f0ba3709e17f817e05a0012","ea03db798b39eb9528fb9b439c3242fca3257f1864906a3f54cd9c456cbcd80d","e6e14d672094188920b32c42dd476e1607517fb2578cbbf025992c549239230a","a888656009db25ed24e4a65ec85697cbcd42b2dab808b17e65f5d2788ef34551","427462bc6fc06308ea53944c1874adc40916f939c303b873d56e41748f0d46ec","7f66d2c520bf1b7230cd2320ae0fb8e00e8ff1c27616720cc1549bc6898d6ea7","5fd74d0aae952cb396a911f0803f8972f8cf6ad786952887e224c9851911b087","75447368cb37ac7678eb9b5ef7b3be37391b5186f842eb2ad792df92af214f31","c269af17a3649c1fe6b2625785004660d83e4d7ab7a3b4f160641cb34f62f9c1","37e735473a073ecba72eed0d6c81b32d2c43ee9a60c7eeda5c500960c6c7e35e","55afcb72393aa11effb5332d437f73c6ca2b7eb3620070272f63fd27c2bbab86","4ceb3275a246c43e8bbecf58484502b3b636e62976fd64bb33dc563d30a65fb5","e15aef460924e1b47c41b2f71b1676dfecea9252e05a4797142a6659d7455f20","29f2df4d4feb367629cd543dc07ec007b5bf41728f4155a94283ac81909a8f06","59559046657b1ba8c31affff9bfd1dbba897746a5bef0d61ad18c5fcb387aaa9","3dd405218b1e1ffcac63a3c69b00f9239eaf0733715c4fd7ac4d16b13007e430","6bad548d978849e94d8f790d512abc3869cfa3afedca501c3c4fbbe952752106","a93e1d13eddccf526291f681d3ff6e28feee0108dd45500455944ad8bd97a67c","97a6de4eee5dfc0402bfc722346858852ef9cd202395dbebc1768bafe882fd02","0d97fc1ce79ed433cf745c285a0b311816d16bc0a17f541209a6042454eea4b9","1a00538a09d7ecdc29a5254f21ace1eb74872528dfaa7699d0f4179212e38ec7","add211de86434db239e869c2df5552356a5010f787b760a1c2e4da35e840d0cf","64c4fedabdb7ac653e3122fe4f5f0bffa01cbc6d25368c77221e5d81955d07b5","d9da185a15564ed6c0b1eca4cadeb1a39d4958fd7a11935b6021d6bb37c920d3","886b4c21061739ae9f95bacf82544b03127db37c757bb1782c77fee944b5ee32","c304489cbd22e4317bbc0d21338be0708081332c2da58353b858be0fdc8c741e","9cb8bdb6c4c46fea1bd73aa74128a2d8b12ffa7cfcff5ca029c02a74494933c6","99fad2405b268bcb1fde0843685717a69fd673212a53facc707b5e0206c0bade","5b46817cbdbd7b8e495f968330ab86ab14110e5b7da95d963b0522e2d11530c3","6f8eb6588419fca32da937ffb6e495a105aa988c0ef352e8bbb387ef4e8f0f5d","28cfdfa3bbc7f0e6dfc2aba3e502697319161665cd5bae3f18b9f51be44b53dc"],2:["9da12bbb637c0e030fec4f83de571ced1e6560d0b5759022cf5a456deb4ddae4","918dd1079c73c390d70d2b34d17f04e8802b7dc0bf1f82eda030e3a4c29cbc88","4a698bd134d9d428c0d4803205736f18cfdb86e2db9e69c0df991471b673c281","233421fc30b5ddc8de556233892364a8be553ca27196947ca6279e2d140582ce","0156e0a27c7e565da2db66f2d884b8f95b25e243375277651f96d434681d4caf","69055c5db70d6bb40cf962b34841a4a7ef4095edd4de5f97496aad6e2dd7fc7b","45f6bdd13522bc1667ad474e1a187a174e9956f18dcca6897c3e846531bbbe69","db6ac2f22375232acc3f2f831fd0438a1c78cd20a4bd750664a38b5d05f4b810","b887d63c6888467b9f6c6e6a7e4efbd33952e7f0fb09a17e0a22c3303f5e066b","fa832bf50a97260322d389c425e516d20e72ce50471bd8b5b380ff9f7e594fdb","824d570b120de9ee27756e31b5d740b5d305b6395ac675f94c5839ad7596c8ca","d06428c810673da5d6ab8706b8ad666759f3b9cf472c4bc3bb0efef0cb536520","672423d4175410c52f3d6df9fa890591da2c7b5497981ea23edbc6b7ddc5c16a","e2fa3fbf61dda4a1ed55914d2750b2f418e8fd49b6100784923d0d00666a0621","afa5ec7a42a9850a34d5f8a0be1483274ee5bc581fefdd7c84e5815de0f86e7d","c9d7348fd3a2d969ba9f0e56e1a33bb8983293a71bd01b48a62f2fd6708602eb","35b78f0da7fced5f818d2620969302c19c9eabcb1193a4071711135bff756e23","b8a6ffed594d4738173f342a6b265b09c94f6aa6025f142418142e49aaed3165","ee6394496f2a0bd5f82e940f8fb4dbb58b7edb79596135a71e1ba2424fded8b0","4cfa26cd59ed1af1b938b426bcd0e08b20cca30157c516572638caa09b30c314","ef49b9903d94aecd3409543a3356cd967607f398b6e45de6eb60d16eafc42bdf","5db20bf78bba0756995be87d4630bda68dea115f4b5eaf402019891949057fa3","eb7df41733428dff2f41f80b5ecbbd39a8485a600599a386457d5766cc13dad0","f84b5f8b70eaa029923b5cb4ef3b1780eafab2f1ca050a741c9e07046776cb27","2e0b1d99a91c2f3bb53acce0d09aeae0ff913cabaf2cac396ab059016d881c0c","401cb0f37dec794d93a7b5981ec99886ecffc30bfd99a130eb1b6d7bf1b6ef1b","357cc40d70ff632a14f134ff1148097aa49f4439f34ec72c499e0d3d0faba1f0","58d9ce5c9960befcfba28c39bdbfa91f855ffe3c2c41d5f3a9da638a777a8bba"],3:["6ebfffe50c4e86b7fd7111dd8b627b7846ae288a3884d074dd17394af163117b","5969aa2feaac7383e9a7bb35060984624690a815a7b8dd97b4fcd026949ee605","c4ccfca4de0939bad215b5148d8addbba5fa0128c292df047710512ffe71d55e","f0b1a8b21efe8b9059d2e850e7d64dd3b2c11e6bf610b81ad210d39bad246a15","c48184e1331c606f839e9f2928fe601ac363cd4a90c4f314267ae512270aa13a","5e874d86c074916d656443f003973d50385a9f6532276b80413c4b56c7e08a6f"],4:["3b72c6f0847c3035794c685d9ff87810e3a54e625690d164ef939c8971b9cb05","e185b4f1672a6519e8512898c2d1ee2a56d114f755a0e139485db5b09c974378","867291450e6b407f31fcd4b4bdcb982f6fd8921fa4444536f5afbaabd1a95d17","47a3e2eb62ca564c57720f719d4549e40d40ef7d0724cec9391bd57c6eb2fba2","1fda3b4580332bd9699f632f8ffe3179127dc9be40846a8b7c4bf7543f07af17","5a906253059aeb97d0df7541a911fcb16f2a522b31848951f4dbca4bce09ffa8","8968b25d1bac295ccbbd42fb5beb6729f268ed5e515f1829178b29b7cfd5b587","438824f529a8cf166ea71fbe82e33ed3c7788074d384d01bb5e636d0eaa1e298","4f85c468148e49c2fd914c970da1e3bc59ca306d6e144ac883aca4574b281cbf","679c5165e95470189ea1310ec538176082c86d6e78a878c5fb1aef1d0bfbf08e","c23bcff65f4116492215be87e5e0d59793bfd42dc191fd9fbfd542747c07239d","ba90d48c9325b0453ab2a9a71955c5b9b3d42f8f2df083eb14f119dc6941a4ea","44cf9c9c2f35234efb655e78cf6eba49e5d3b367098b1fae3c9a2259d520e0c4","1ce8315654c5c6b50c91c38b7995cd29b4d4d788ced25290d9479d5eca8fe152","2118a3b324d21eb14d6aa8f7e4970406cf56309367fabb761403f0c656162a6b","4d1ab1c6a98515945e5ccf9db21fde850c15d0f9fe1b8036d51478d36f58e692","5ec93277c174083dd25cc73e11cd4ffee15152a1bfda601d76f512980426b6a8","238ec0bb34d9b2f9d759eecf84a5562f921a2ef13c549de9e88f3455a2eaf705","b9455727477e7dc7cf0a96435c398fcbe7d08547f36abd2c5688c650c290a141","49ed02a1e69c488cad47c08d8a2405e6202409272cf3d2d7200082b60ed6ed7d","4b38d632b2fa532a2d25ffe5b9793b503aecf4ea8a89e760d8ddf57e0c498b66","17ccdf6a718b65dba39b13f80e9d27aecca9540757f100ba18fec47288e6088e","ea4169fe9fd93be72c69fbd443f94295fb18c3574115589ee82a8cd95be090a6","bfa15a1fe55427297fc217727fd0c92653e8ef0dd334c5b48868bbf8c6e45e61","30f006e67ffe1d30e926cca3250fd30f5a6b38fe90dbea92721db3bafc1abf18","051260e8fa2ad526d490b7a724e629add413fd6f542524b7f2e8369ce22d1f92","2590254cfc5459f9891f9d559093fc1fbbf5273a2c7af38f0cb53052a7cae285","e49837b647acacbd509554f8885f3b1ebe63daf1dc65424cce68c67299e849d0","0dd5ec87d00fe29d16fb36376855661eea8b6c9d22ca909efb1c8bca9ad0be20","119992d8a241968fd88851019230ed8ed9801c31c9834c8aaa02a7a689fca618","50bf7ee8510abba6e3519daf1f359e12c1b1c3de894bd7c0b1ac3cee804176a6","d0f85927b82c28c8a598f97a446a1c7a4e2250faff113d80d3c82058be4fa502","cf3e9db3739533accd90bc5c3149134c411f74975ffab7174b2707e31cf1bde9","76f742eea8e81578909f34f746cce19520a3a0a369464728bd87dabb85cc7c05","ffba11c56058daf2d46f9c91bcfeda991ce24639d753896c01a71463fd7ef926","4a18579de10d1cc5a4e21c291bc0777df73363de8164a28d76728bd9317d4c42","818e8f417f06559d6dfe1276c162ca4127f14eef5e80fc6bc4f141f230bb91a2","925ca5db403415f83e7df518a6cea09ee03ba4c7fe7e7d5cea5efafe32378559"],5:["97cceb00a35a91c091061cc00355be81aa7751e483a41ba31fc30e9b3ae68a37","14395517ef9f294c2c8cae3c75de191372c83dcdd61f03beb28641b1efcf4e72","82d36379e7d8df30b2934aba38989cdb377eae1ca75af3d5e5b24d41e47466d9","719c8c141831525893f054575f59a6ea0acffac376c61d4dc7bb38af8b14dcd3","27ed78552ba4d82cc9eaa2edc44a8d516d97a848e492c886a1f76fba6bd3038f","a8578e15e7a9478dd3e102983db66e86e9266259019d3ddbb1b53c65386cd205","4d502ad1a3f8b8ec2e10d105cea572b73007124a455d3ffd9613311e37aa4e48"]}).map(([e,t])=>[e,Object.freeze(t)])));var lo=1024,Fr=1024*lo,Fa=(1n<<64n)-1n;function d(e){Le("BAD_ENCODING",e)}function M(e,t){return typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&d(`${t} must be an unsigned safe integer or bigint`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>Fa)&&d(`${t} is outside u64`),e}function Yt(e){for(let t=0;t<e.byteLength;t++)if(e[t]!==0)return!1;return!0}function tn(e){(e.issuedEpoch>=e.expiresEpoch||e.expiresEpoch-e.issuedEpoch>4)&&d("route epoch window must satisfy issuedEpoch < expiresEpoch <= issuedEpoch + 4")}function Ao(e){let t=Sa[e.circuitClass];t||d("circuitClass is outside 1..3"),(e.grantedInitialWindow!==t.grantedInitialWindow||M(e.maxCircuitBytes,"maxCircuitBytes")!==BigInt(t.maxCircuitBytes)||e.idleMillis!==t.idleMillis||e.lifetimeMillis!==t.lifetimeMillis)&&d("forward circuit limits do not match the frozen class tuple"),e.maxDataBytes!==ro[e.grantedWireClass==null?e.requestedWireClass:e.grantedWireClass]&&d("maxDataBytes does not match the selected wire class")}function zu(e){let t=Ra[e.sessionClass];t||d("sessionClass is outside 1..3"),(M(e.maxSessionBytes,"maxSessionBytes")!==BigInt(t.maxSessionBytes)||e.idleMillis!==t.idleMillis||e.lifetimeMillis!==t.lifetimeMillis)&&d("core session limits do not match the frozen class tuple")}var si=Ne(16),c=Ne(32),ae=Ne(64),ku=Ne(96),N=Kt(l,1,"version"),ai=A(H,1,65535,"profileId"),rn=A(H,1,65535,"schemeId"),ni=A(l,1,255,"endpointId"),Ma=A(H,1,63,"transportSupportBit"),ur=A(l,1,3,"wireClass"),nn=A(l,1,3,"circuitClass"),Ua=A(l,1,3,"sessionClass"),Va=A(H,1,5,"protocolId"),Ya=A(l,1,9,"transportId"),ci=A(l,1,5,"sizeClass"),Ga=A(l,1,3,"frameClass"),oi=A(l,1,4,"leaseClass"),on=A(l,0,4,"leaseClass"),sn=Rn("sizeClass",Ca,"cellBlob"),Wa=Rn("frameClass",xa,"inbox frame"),ju=Di(1,64,"profileName"),La=Bn(1,512,"endpoint URL"),Xu=Tt("buildManifestUrl"),Ju=Tt("buildArtifactUrl"),$u=Tt("releaseEvidenceBundleUrl"),Zu=Tt("runtimeBoundaryEvidenceUrl"),vu=Tt("externalJournalTopologyUrl"),el=Tt("restoreEvidenceFeedUrl"),tl=rs(X.default.from("hiverelay-blind-cell-v1","ascii"),"cell receipt protocol");function rl(e){return X.default.toString(e,"hex")}function uo(e,t){let r=new Set;for(let i of e){let n=rl(i);r.has(n)&&d(`${t} contains a duplicate`),r.add(n)}}function ii(e,t){let r=Math.min(e.byteLength,t.byteLength);for(let i=0;i<r;i++)if(e[i]!==t[i])return e[i]<t[i]?-1:1;return e.byteLength===t.byteLength?0:e.byteLength<t.byteLength?-1:1}function Qr(e,t){return e===t?0:e<t?-1:1}function lr(e,t,r){for(let i=1;i<e.length;i++)t(e[i-1],e[i])>=0&&d(`${r} must be strictly sorted and duplicate-free`)}function V(e,t){Yt(e)&&d(`${t} must be nonzero`)}function an(e,t,r){let i={preencode(n,o){let s=n.end;e.preencode(n,o),n.end-s>t&&d(`${r} exceeds ${t} bytes`)},encode(n,o){e.encode(n,o)},decode(n){let o=n.start,s=e.decode(n);return n.start-o>t&&d(`${r} exceeds ${t} bytes`),s}};return Array.isArray(e.schemaFields)&&Object.defineProperties(i,{schemaName:{value:e.schemaName||r},schemaFields:{value:e.schemaFields}}),i}var d0=b([["costClassRuleId",A(H,1,11,"costClassRuleId")],["ruleKind",A(l,1,11,"ruleKind")]],{name:"AdmissionCostRuleV1",validate(e){let t=io(e.costClassRuleId);(!t||t.ruleKind!==e.ruleKind)&&d("admission cost rule is not in the frozen registry")}}),f0=b([["domainId",A(H,1,65535,"domainId")],["purpose",A(l,Hr.REQUEST_COMMITMENT,Hr.AUXILIARY_SIGNATURE,"domain purpose")],["recipeId",A(l,Kr.OPERATION_DEFINED_COMMITMENT_PREIMAGE,Kr.ED25519_DOMAIN_LEN64_PAYLOAD,"domain recipe")],["exactAsciiBytes",Di(1,96,"exactAsciiBytes")]],{name:"DomainRegistryEntryV1",validate(e){let t=ri(e.domainId);(!t||t.purpose!==e.purpose||t.recipeId!==e.recipeId||!X.default.equals(X.default.from(t.exactAsciiBytes,"ascii"),e.exactAsciiBytes))&&d("domain entry is not in the frozen registry")}}),u0=b([["errorProfileId",Kt(l,to.CANONICAL_V1,"errorProfileId")],["code",A(l,1,20,"error code")],["directCorrelatedStatus",Kt(H,200,"directCorrelatedStatus")],["protectedInnerStatus",Kt(H,200,"protectedInnerStatus")],["retryable",A(l,0,1,"retryable")],["retryAfterMode",A(l,vi.MUST_BE_ABSENT,vi.MUST_BE_PRESENT,"retryAfterMode")]],{name:"ErrorProfileEntryV1",validate(e){let t=no(e.errorProfileId,e.code);(!t||t.directCorrelatedStatus!==e.directCorrelatedStatus||t.protectedInnerStatus!==e.protectedInnerStatus||t.retryable!==e.retryable||t.retryAfterMode!==e.retryAfterMode)&&d("error profile entry is not in the frozen registry")}}),tt=b([["profileId",ai],["schemeId",rn],["parameterHash",c],["token",it(1,4096,"admission token")]],{name:"AdmissionV1"}),il=b([["version",N],["protocol",tl],["relayBinding",yt],["slotCommitment",c],["cellBlobHash",c],["allocationCommitment",c],["requestCommitment",c],["sizeClass",ci],["allocationEpoch",_],["leaseClass",on],["leaseEpoch",_],["stateRevision",S],["receiptEpoch",_],["requestNonce",c],["result",A(l,ei.STORED,ei.DROPPED,"cell receipt result")],["signature",ae]],{name:"BlindReceiptV1",validate(e){e.result===ei.DROPPED?e.leaseClass!==0&&d("dropped cell receipt must use lease NONE"):e.leaseClass===0&&d("stored, served, or renewed cell receipt requires a lease")}}),l0=b([["version",N],["storageSlot",c],["allocationEpoch",_],["sizeClass",ci],["leaseClass",oi],["clientNonce",c],["createPublicKey",c],["renewPublicKey",c],["dropPublicKey",c],["declaredBlobHash",c],["createSignature",ae],["admission",tt],["cellBlob",sn]],{name:"PutCellV1",validate(e){X.default.equals(Da(e),e.storageSlot)||d("storageSlot is not self-certifying"),X.default.equals(He(e.cellBlob),e.declaredBlobHash)||d("declaredBlobHash does not match cellBlob")}}),A0=b([["version",N],["storageSlot",c],["expectedRevision",S],["expectedLeaseEpoch",_],["leaseClass",oi],["clientNonce",c],["admission",tt],["signature",ae]],{name:"RenewCellV1"}),I0=b([["version",N],["storageSlot",c],["expectedRevision",S],["expectedLeaseEpoch",_],["clientNonce",c],["signature",ae]],{name:"DropCellV1"}),p0=b([["version",N],["storageSlot",c],["clientNonce",c],["admission",v(tt,"admission")]],{name:"ProveCellV1"}),h0=b([["version",N],["storageSlot",c],["clientNonce",c],["admission",v(tt,"admission")]],{name:"GetCellV1"}),g0=b([["version",N],["sizeClass",ci],["cellBlob",sn]],{name:"GetCellResultV1"}),y0=b([["version",N],["receipt",il],["sizeClass",ci],["cellBlob",sn]],{name:"ProveCellResultV1",validate(e){e.receipt.result!==ei.SERVED&&d("proof receipt result must be SERVED"),e.receipt.sizeClass!==e.sizeClass&&d("proof sizeClass does not match receipt"),X.default.equals(He(e.cellBlob),e.receipt.cellBlobHash)||d("proof cellBlob does not match receipt hash")}}),co=b([["sizeClass",ci],["cellBlob",sn]],{name:"BatchGetEntryV1.found"}),nl={preencode(e,t){(!t||typeof t!="object")&&d("BatchGetEntryV1 must be an object"),l.preencode(e,t.status),t.status!==0&&(t.status!==1&&d("BatchGetEntryV1 status must be 0 or 1"),co.preencode(e,t))},encode(e,t){(!t||typeof t!="object")&&d("BatchGetEntryV1 must be an object"),l.encode(e,t.status),t.status!==0&&(t.status!==1&&d("BatchGetEntryV1 status must be 0 or 1"),co.encode(e,t))},decode(e){let t=l.decode(e);return t===0?{status:t}:(t!==1&&d("BatchGetEntryV1 status must be 0 or 1"),{status:t,...co.decode(e)})}},ol=ze(c,1,64,"batch slots"),Ha=ze(nl,1,64,"batch entries");var b0=b([["version",N],["clientNonce",c],["slots",ol],["admission",v(tt,"admission")]],{name:"BatchGetV1",validate(e){uo(e.slots,"batch slots")}}),E0=b([["version",N],["relayBinding",yt],["requestNonce",c],["requestCommitment",c],["entries",Ha],["entriesCommitment",c],["signature",ae]],{name:"BatchGetResultV1",validate(e){let t=nt(Ha,e.entries),r=He(t);X.default.equals(r,e.entriesCommitment)||d("batch entriesCommitment does not match entries"),193+t.byteLength>4*Fr&&d("batch result exceeds its operation cap")}}),m0=b([["version",N],["allocationEpoch",_],["physicalTopic",c],["frameClassBits",l],["appendAuthMode",A(l,0,1,"appendAuthMode")],["createPublicKey",c],["appendPublicKey",v(c,"appendPublicKey")],["renewPublicKey",c],["closePublicKey",c],["retentionClass",oi],["leaseClass",oi],["clientNonce",c],["createSignature",ae],["admission",tt]],{name:"InboxCreateV1",validate(e){X.default.equals(wa(e),e.physicalTopic)||d("physicalTopic is not self-certifying"),(e.frameClassBits===0||(e.frameClassBits&-8)!==0)&&d("frameClassBits must contain only advertised inbox classes"),e.appendAuthMode===ba.SIGNATURE_REQUIRED!==(e.appendPublicKey!=null)&&d("appendPublicKey presence does not match appendAuthMode")}}),C0=b([["version",N],["operation",A(l,1,2,"inbox management operation")],["physicalTopic",c],["expectedRevision",S],["expectedLeaseEpoch",_],["leaseClass",on],["clientNonce",c],["signature",ae],["admission",v(tt,"admission")]],{name:"InboxManageV1",validate(e){e.operation===ya.RENEW?(e.leaseClass===0||e.admission==null)&&d("inbox renew requires lease and admission"):(e.leaseClass!==0||e.admission!=null)&&d("inbox close requires lease NONE and no admission")}}),x0=b([["version",N],["physicalTopic",c],["frameClass",Ga],["frameHash",c],["clientNonce",c],["appendSignature",v(ae,"appendSignature")],["admission",tt],["frame",Wa]],{name:"InboxAppendV1",validate(e){X.default.equals(He(e.frame),e.frameHash)||d("frameHash does not match frame")}}),S0=b([["version",N],["physicalTopic",c],["cursor",it(0,128,"inbox cursor")],["limit",A(H,1,64,"inbox read limit")],["clientNonce",c],["admission",v(tt,"admission")]],{name:"InboxReadV1"}),R0=b([["version",N],["physicalTopic",c],["afterRevision",S],["limit",A(H,1,64,"inbox watch limit")],["maxWaitMillis",A(H,1,3e4,"maxWaitMillis")],["clientNonce",c],["admission",tt]],{name:"InboxWatchV1"}),B0=b([["version",N],["relayBinding",yt],["topicCommitment",c],["stateRevision",S],["leaseClass",on],["leaseEpoch",_],["requestNonce",c],["requestCommitment",c],["result",A(l,1,3,"inbox receipt result")],["signature",ae]],{name:"InboxReceiptV1",validate(e){e.result===Ea.CLOSED?e.leaseClass!==0&&d("closed inbox receipt must use lease NONE"):e.leaseClass===0&&d("created or renewed inbox receipt requires a lease")}}),T0=b([["version",N],["relayBinding",yt],["topicCommitment",c],["frameHash",c],["appendRevision",S],["storedAtEpoch",_],["expiresAtEpoch",_],["requestNonce",c],["requestCommitment",c],["result",Kt(l,ma.STORED,"result")],["signature",ae]],{name:"InboxAppendAckV1",validate(e){e.expiresAtEpoch<=e.storedAtEpoch&&d("expiresAtEpoch must be after storedAtEpoch")}}),sl=b([["appendRevision",S],["frameHash",c],["frameClass",Ga],["frame",Wa]],{name:"InboxReadResultV1.entry",validate(e){X.default.equals(He(e.frame),e.frameHash)||d("entry frameHash does not match frame")}}),Ka=ze(sl,0,64,"inbox read entries"),Qa=v(it(0,128,"nextCursor"),"nextCursor");var _0=b([["version",N],["relayBinding",yt],["requestNonce",c],["requestCommitment",c],["snapshotRevision",S],["entries",Ka],["entriesCommitment",c],["nextCursor",Qa],["signature",ae]],{name:"InboxReadResultV1",validate(e){let t=-1n;for(let o of e.entries){let s=M(o.appendRevision,"appendRevision");s<=t&&d("inbox entries must have strictly increasing appendRevision"),s>M(e.snapshotRevision,"snapshotRevision")&&d("inbox entry revision exceeds snapshotRevision"),t=s}let r=nt(Ka,e.entries),i=He(r);X.default.equals(i,e.entriesCommitment)||d("inbox entriesCommitment does not match entries"),105+r.byteLength+32+nt(Qa,e.nextCursor).byteLength+64>4*Fr&&d("inbox read result exceeds its operation cap")}}),cn=b([["version",N],["code",A(l,1,20,"error code")],["retryable",A(l,0,1,"retryable")],["retryAfterEpoch",v(_,"retryAfterEpoch")]],{name:"BlindErrorV1",validate(e){let t=no(to.CANONICAL_V1,e.code),r=e.retryAfterEpoch!=null;(!t||t.retryable!==e.retryable||r!==(t.retryAfterMode===vi.MUST_BE_PRESENT))&&d("blind error body does not match error profile 1")}}),O0=b([["version",N],["code",A(l,1,3,"OHTTP transport error code")]],{name:"BlindOhttpTransportErrorV1"}),D0=b([["version",N],["descriptorHash",v(c,"descriptorHash")],["clientNonce",c]],{name:"BlindDescribeGetV1"}),w0=b([["version",N],["profileId",ai],["schemeId",rn],["clientNonce",c]],{name:"BlindAdmissionParametersRequestV1"}),N0=b([["familyId",A(l,1,5,"familyId")],["operationId",A(l,1,255,"operationId")],["requestSchemaId",A(H,1,65535,"requestSchemaId")],["resultSchemaId",H],["allowedRequestKindBits",A(l,1,15,"allowedRequestKindBits")],["allowedResultKindBits",A(l,0,15,"allowedResultKindBits")],["streamTransition",A(l,0,3,"streamTransition")],["maxRequestBodyBytes",A(_,1,4*Fr,"maxRequestBodyBytes")],["maxResultBodyBytes",A(_,1,4*Fr,"maxResultBodyBytes")],["admissionMode",A(l,0,2,"admissionMode")],["costClassRuleId",H],["requestCommitmentDomainId",H],["resultSignatureDomainId",H],["errorProfileId",Kt(l,1,"errorProfileId")],["transportSupportBits",A(H,1,63,"transportSupportBits")]],{name:"OperationProfileV1",validate(e){let t=e.requestCommitmentDomainId===0?null:ri(e.requestCommitmentDomainId),r=e.resultSignatureDomainId===0?null:ri(e.resultSignatureDomainId);e.requestCommitmentDomainId!==0&&(!t||t.purpose!==Hr.REQUEST_COMMITMENT||t.recipeId!==Kr.OPERATION_DEFINED_COMMITMENT_PREIMAGE)&&d("requestCommitmentDomainId is not a registered request domain"),e.resultSignatureDomainId!==0&&(!r||r.purpose!==Hr.RESULT_SIGNATURE||r.recipeId!==Kr.ED25519_DOMAIN_LEN64_PAYLOAD)&&d("resultSignatureDomainId is not a registered result-signature domain"),e.admissionMode===0!=(e.costClassRuleId===0)&&d("costClassRuleId zero state does not match admissionMode"),e.costClassRuleId!==0&&!io(e.costClassRuleId)&&d("costClassRuleId is not in the frozen registry"),e.admissionMode===2&&e.requestCommitmentDomainId===0&&d("required admission needs a request commitment domain"),e.resultSchemaId===0&&e.streamTransition!==3&&d("only forward-active operations may omit resultSchemaId");let i=1<<Pr.REQUEST-1,n=1<<Pr.RESPONSE-1|1<<Pr.ERROR-1,o=1<<Pr.STREAM-1,s=1<<Pr.ERROR-1;e.streamTransition===ti.FORWARD_ACTIVE?(e.familyId!==vr.FORWARD||e.resultSchemaId!==0||e.allowedRequestKindBits!==o||e.allowedResultKindBits!==o&&e.allowedResultKindBits!==(o|s)||e.admissionMode!==0||e.costClassRuleId!==0||e.requestCommitmentDomainId!==0||e.resultSignatureDomainId!==0)&&d("forward-active operation metadata is inconsistent"):(e.allowedRequestKindBits!==i||e.allowedResultKindBits!==n||e.resultSchemaId===0)&&d("unary/open operation metadata kind bits are inconsistent");let a=$i.DIRECT_NATIVE|$i.TOR_NATIVE,I=a|$i.MASQUE_NATIVE;(e.streamTransition===ti.CORE_CHILD&&(e.familyId!==vr.CORE||e.transportSupportBits!==a)||(e.streamTransition===ti.FORWARD_OPEN||e.streamTransition===ti.FORWARD_ACTIVE)&&(e.familyId!==vr.FORWARD||e.transportSupportBits!==I))&&d("stream transition transport support is inconsistent");let E=oo(e.familyId,e.operationId);(!E||Object.keys(E).some(m=>e[m]!==E[m]))&&d("operation profile is not in the frozen registry")}}),q0=b([["version",N],["protocolId",Va],["major",H],["minor",H],["featureBits",S],["wireSchemaSetHash",c],["dependencyManifestHash",c],["interoperabilityVectorSetHash",c]],{name:"ProtocolProfileArtifactV1"}),P0=b([["version",N],["transportId",Ya],["profileName",ju],["major",H],["minor",H],["exporterId",A(l,0,1,"exporterId")],["controlChannelIdType",A(l,0,1,"controlChannelIdType")],["handshakeProfileHash",c],["dependencyManifestHash",c],["interoperabilityVectorSetHash",c]],{name:"TransportProfileArtifactV1"}),al=b([["protocolId",Va],["major",H],["minor",H],["featureBits",S],["profileHash",c]],{name:"ProtocolProfileV1"}),cl=b([["endpointId",ni],["transportId",Ya],["transportProfileHash",c],["roleBits",H],["privacyProfileBits",H],["canonicalUrl",La],["endpointKey",v(c,"endpointKey")],["envelopeClassBits",H],["wireClassBits",l],["maxStreams",H],["auxiliaryUrl",v(La,"auxiliaryUrl")],["auxiliaryHash",v(c,"auxiliaryHash")]],{name:"TransportEndpointV1",validate(e){(e.roleBits&~Vt.ROLE_BITS_MASK)!==0&&d("roleBits contains a reserved bit"),(e.privacyProfileBits&~Vt.PRIVACY_PROFILE_BITS_MASK)!==0&&d("privacyProfileBits contains a reserved bit"),(e.envelopeClassBits&~Vt.ENVELOPE_CLASS_BITS_MASK)!==0&&d("envelopeClassBits contains a reserved bit"),(e.wireClassBits&~Vt.WIRE_CLASS_BITS_MASK)!==0&&d("wireClassBits contains a reserved bit"),e.wireClassBits===0!=(e.maxStreams===0)&&d("wireClassBits and maxStreams must both describe unary or streaming transport");let t=e.transportId===ga.TOR_V3_ONION;Br(e.canonicalUrl,{name:"canonicalUrl",requireOnion:t}),new URL(X.default.toString(e.canonicalUrl,"utf8")).pathname!==ha[vr.DESCRIBE]&&d("canonicalUrl must use the generic listener authority anchor /api/blind/v1/describe"),e.auxiliaryUrl==null!=(e.auxiliaryHash==null)&&d("auxiliaryUrl and auxiliaryHash must be present together"),t&&e.auxiliaryUrl!=null&&d("Tor onion endpoints must not advertise an auxiliary URL"),e.auxiliaryUrl!=null&&Br(e.auxiliaryUrl,{name:"auxiliaryUrl"})}}),dl=b([["profileId",A(l,1,2,"profileId")],["storeFormatMajor",H],["storeFormatMinor",H],["storeFormatHash",c],["externalJournalId",c],["externalWitnessPublicKey",c],["externalJournalReplicationClass",A(l,0,1,"externalJournalReplicationClass")],["externalJournalFailureGroupId",c],["externalCheckpointAgeBand",A(l,0,7,"externalCheckpointAgeBand")],["externalJournalTopologyUrl",v(vu,"externalJournalTopologyUrl")],["externalJournalTopologyHash",c],["restoreEvidenceFeedUrl",v(el,"restoreEvidenceFeedUrl")],["restoreEvidenceFeedId",c],["restoreEvidenceCheckpointSequence",S],["restoreEvidenceCheckpointHash",c],["acknowledgedRpoBand",A(l,0,3,"acknowledgedRpoBand")],["targetRtoBand",A(l,0,3,"targetRtoBand")],["redundancyClass",A(l,0,2,"redundancyClass")],["restoreDrillAgeBand",A(l,0,7,"restoreDrillAgeBand")]],{name:"DurabilityProfileV1",validate(e){let t=[e.externalJournalId,e.externalWitnessPublicKey,e.externalJournalFailureGroupId,e.externalJournalTopologyHash],r=M(e.restoreEvidenceCheckpointSequence,"restoreEvidenceCheckpointSequence"),i=Yt(e.restoreEvidenceFeedId),n=Yt(e.restoreEvidenceCheckpointHash);if(e.profileId===1){(t.some(s=>!Yt(s))||e.externalJournalReplicationClass!==0||e.externalCheckpointAgeBand!==0||e.externalJournalTopologyUrl!=null||e.restoreEvidenceFeedUrl!=null||!i||r!==0n||!n||e.acknowledgedRpoBand!==0||e.targetRtoBand!==0||e.redundancyClass!==0||e.restoreDrillAgeBand!==0)&&d("durability profile 1 requires the exact zero/absent external tuple");return}(t.some(Yt)||e.externalJournalReplicationClass!==1||e.externalJournalTopologyUrl==null)&&d("durability profile 2 requires its nonzero external journal topology tuple"),(e.restoreEvidenceFeedUrl==null!==i||r===0n!==n||i&&(r!==0n||!n))&&d("restore evidence feed URL, ID, sequence, and hash zero state is inconsistent"),(e.acknowledgedRpoBand!==0||e.targetRtoBand!==0||e.redundancyClass!==0||e.restoreDrillAgeBand!==0)&&i&&d("body recovery claims require a restore evidence feed")}}),fl=b([["specHash",c],["abiHash",c],["vectorSetHash",c],["evidenceFormatHash",c],["evidenceVectorSetHash",c],["storeFormatHash",c],["storeVectorSetHash",c],["privateIpcFormatHash",c],["privateIpcVectorSetHash",c],["buildArtifactHash",c],["buildArtifactUrl",Ju],["buildManifestUrl",Xu],["buildManifestHash",c],["releaseEvidenceBundleUrl",$u],["releaseEvidenceBundleHash",c],["releaseSupportHorizonHash",c],["runtimeBoundaryEvidenceUrl",Zu],["runtimeBoundaryEvidenceHash",c]],{name:"BuildProfileV1"}),ul=b([["version",N],["routeKind",A(l,1,6,"routeKind")],["routeId",si],["previousRelayKey",c],["previousEndpointId",ni],["nextRelayKey",c],["nextDescriptorSequence",S],["nextDescriptorHash",c],["nextEndpointId",ni],["envelopeClassBits",H],["wireClassBits",l],["maxCanonicalDispatchBytes",_],["maxEncapsulatedRequestBytes",_],["maxOpenBytes",_],["maxCircuitBytes",S],["maxConcurrentStreams",H],["maxRelayCount",A(l,2,4,"maxRelayCount")],["hopAdmissionProfileId",ai],["issuedEpoch",_],["expiresEpoch",_],["routeNonce",c],["previousSignature",ae]],{name:"BlindTransportRouteV1",validate(e){tn(e),(e.envelopeClassBits&-127)!==0&&d("envelopeClassBits contains a reserved bit"),(e.wireClassBits&-15)!==0&&d("wireClassBits contains a reserved bit"),e.maxCanonicalDispatchBytes>en.MAX_WIRE_BYTES&&d("maxCanonicalDispatchBytes exceeds the absolute dispatch cap"),e.maxOpenBytes>128*lo&&d("maxOpenBytes exceeds 128 KiB"),e.maxConcurrentStreams>1024&&d("maxConcurrentStreams exceeds 1024"),e.routeKind===1?((e.envelopeClassBits===0||e.maxEncapsulatedRequestBytes===0)&&d("OHTTP routes require envelope classes and an encapsulated request cap"),(e.wireClassBits!==0||e.maxOpenBytes!==0||M(e.maxCircuitBytes,"maxCircuitBytes")!==0n||e.maxConcurrentStreams!==0)&&d("OHTTP routes must zero streaming-only fields")):(e.maxEncapsulatedRequestBytes!==0&&d("non-OHTTP routes must zero maxEncapsulatedRequestBytes"),e.routeKind>=2&&e.routeKind<=5&&(e.wireClassBits===0||e.maxOpenBytes===0||M(e.maxCircuitBytes,"maxCircuitBytes")===0n||e.maxConcurrentStreams===0)&&d("streaming routes require nonzero wire/open/circuit/stream caps"))}}),ll=b([["hopIndex",A(l,0,3,"hopIndex")],["relayPublicKey",c],["descriptorSequence",S],["descriptorHash",c],["previousScopeHash",c],["scopeHash",c],["relaySignature",ae]],{name:"BlindForwardRouteHopV1",validate(e){V(e.relayPublicKey,"relayPublicKey"),V(e.descriptorHash,"descriptorHash"),V(e.scopeHash,"scopeHash"),e.hopIndex===0&&!Yt(e.previousScopeHash)&&d("route-scope hop zero requires an all-zero previousScopeHash"),e.hopIndex!==0&&Yt(e.previousScopeHash)&&d("route-scope continuation requires a nonzero previousScopeHash")}}),Al=ze(ll,1,4,"forward route-scope hops"),Il=b([["version",N],["rootRouteId",si],["rootCircuitNonce",c],["rootRequestCommitment",c],["maxRelayCount",A(l,2,4,"maxRelayCount")],["expiresEpoch",_],["hops",Al]],{name:"BlindForwardRouteScopeV1",validate(e){V(e.rootRouteId,"rootRouteId"),V(e.rootCircuitNonce,"rootCircuitNonce"),V(e.rootRequestCommitment,"rootRequestCommitment"),e.expiresEpoch===0&&d("route-scope expiresEpoch must be nonzero"),e.hops.length>e.maxRelayCount&&d("route-scope relay count exceeds maxRelayCount");let t=new Set;for(let r=0;r<e.hops.length;r++){let i=e.hops[r];i.hopIndex!==r&&d("route-scope hop indexes must be contiguous from zero"),r>0&&!X.default.equals(i.previousScopeHash,e.hops[r-1].scopeHash)&&d("route-scope previousScopeHash does not bind the complete prefix");let n=X.default.toString(i.relayPublicKey,"hex");t.has(n)&&d("route-scope repeats a relay public key"),t.add(n)}}}),L0=b([["version",N],["route",ul],["routeScope",Il],["previousDescriptorSequence",S],["previousDescriptorHash",c],["circuitNonce",c],["requestedWireClass",ur],["circuitClass",nn],["grantedInitialWindow",_],["maxDataBytes",_],["maxCircuitBytes",S],["idleMillis",_],["lifetimeMillis",_],["clientRequestCommitment",c],["handshakeFlight1",c],["forwarderSignature",ae]],{name:"BlindForwardHopOpenV1",validate(e){Ao(e),(e.route.routeKind<2||e.route.routeKind>5)&&d("BlindForwardHopOpenV1 requires a streaming route"),(e.route.wireClassBits&1<<e.requestedWireClass)===0&&d("requestedWireClass is not admitted by the route"),M(e.maxCircuitBytes,"maxCircuitBytes")>M(e.route.maxCircuitBytes,"route.maxCircuitBytes")&&d("forward circuit exceeds the route byte cap");let t=e.routeScope.hops[e.routeScope.hops.length-1];(!X.default.equals(t.relayPublicKey,e.route.previousRelayKey)||M(t.descriptorSequence,"routeScope descriptorSequence")!==M(e.previousDescriptorSequence,"previousDescriptorSequence")||!X.default.equals(t.descriptorHash,e.previousDescriptorHash))&&d("BlindForwardHopOpenV1 route scope does not end at the forwarding relay descriptor"),e.routeScope.hops.length>e.route.maxRelayCount&&d("BlindForwardHopOpenV1 route scope exceeds the signed route relay bound")}}),pl=b([["version",N],["previousRelayKey",c],["previousDescriptorSequence",S],["previousDescriptorHash",c],["nextRelayKey",c],["nextDescriptorSequence",S],["nextDescriptorHash",c],["nextRelayBinding",yt],["routeId",si],["circuitNonce",c],["nextStreamId",S],["grantedWireClass",ur],["circuitClass",nn],["grantedInitialWindow",_],["maxDataBytes",_],["maxCircuitBytes",S],["idleMillis",_],["lifetimeMillis",_],["openedAtEpoch",_],["hopOpenCommitment",c],["acceptedRouteScopeHash",c],["acceptedRelayCount",A(l,1,4,"acceptedRelayCount")],["handshakeFlight2",ku],["nextSignature",ae]],{name:"BlindForwardHopAcceptV1",validate(e){Ao(e),M(e.nextStreamId,"nextStreamId")===0n&&d("nextStreamId must be nonzero"),(!X.default.equals(e.nextRelayKey,e.nextRelayBinding.relayPublicKey)||M(e.nextDescriptorSequence,"nextDescriptorSequence")!==M(e.nextRelayBinding.descriptorSequence,"binding descriptorSequence")||!X.default.equals(e.nextDescriptorHash,e.nextRelayBinding.descriptorHash))&&d("nextRelayBinding does not match the accepted next relay descriptor")}}),H0=b([["version",N],["wireProfileHash",c],["sessionClass",Ua],["controlChannelId",S],["parentChannelBinding",c],["clientNonce",c],["admission",tt]],{name:"CoreOpenReplicationV1",validate(e){M(e.controlChannelId,"controlChannelId")===0n&&d("controlChannelId must be nonzero"),Yt(e.parentChannelBinding)&&d("parentChannelBinding must be nonzero")}}),K0=b([["version",N],["relayBinding",yt],["wireProfileHash",c],["sessionClass",Ua],["controlChannelId",S],["parentChannelBinding",c],["streamId",S],["maxSessionBytes",S],["idleMillis",_],["lifetimeMillis",_],["openedAtEpoch",_],["requestNonce",c],["requestCommitment",c],["signature",ae]],{name:"CoreOpenReplicationResultV1",validate(e){zu(e),M(e.controlChannelId,"controlChannelId")===0n&&d("controlChannelId must be nonzero"),M(e.streamId,"streamId")===0n&&d("streamId must be nonzero"),Yt(e.parentChannelBinding)&&d("parentChannelBinding must be nonzero")}});var za=A(l,Jn.OPEN,Jn.PRIVATE,"conformanceClass"),dn=H,Io=_,hl=Tt("parameterUrl"),gl=Tt("issuanceUrl"),yl=Tt("descriptorUrl"),ka=b([["profileId",ai],["schemeId",rn],["conformanceClass",za],["roleBits",dn],["parameterUrl",v(hl,"parameterUrl")],["parameterHash",c]],{name:"AdmissionProfileV1",validate(e){(e.roleBits===0||(e.roleBits&~Vt.ROLE_BITS_MASK)!==0)&&d("admission roleBits must contain known nonzero bits")}}),bl=b([["familyId",A(l,1,5,"resource cost familyId")],["operationId",A(l,1,255,"resource cost operationId")],["resourceClass",l],["leaseClass",on],["costUnits",S]],{name:"AdmissionParametersV1.resourceCost",validate(e){M(e.costUnits,"costUnits")===0n&&d("costUnits must be nonzero")}}),El=ze(bl,1,et.MAX_ADMISSION_RESOURCE_COST_ROWS,"admission resource costs");function ml(e,t){for(let r of["familyId","operationId","resourceClass","leaseClass"]){let i=Qr(e[r],t[r]);if(i!==0)return i}return 0}var Cl=b([["version",N],["relayPublicKey",c],["profileId",ai],["schemeId",rn],["conformanceClass",za],["roleBits",dn],["verifierKey",it(0,4096,"verifierKey")],["resourceCosts",El],["tokenMaxBytes",A(H,1,et.MAX_ADMISSION_TOKEN_BYTES,"tokenMaxBytes")],["issuanceUrl",v(gl,"issuanceUrl")],["issuerRelayKey",v(c,"issuerRelayKey")],["validFromEpoch",_],["expiresEpoch",_],["nonce",c],["signature",ae]],{name:"AdmissionParametersV1",validate(e){V(e.relayPublicKey,"relayPublicKey"),(e.roleBits===0||(e.roleBits&~Vt.ROLE_BITS_MASK)!==0)&&d("admission roleBits must contain known nonzero bits"),lr(e.resourceCosts,ml,"admission resource costs"),e.issuanceUrl==null!=(e.issuerRelayKey==null)&&d("issuanceUrl and issuerRelayKey must be present together"),e.issuerRelayKey!=null&&V(e.issuerRelayKey,"issuerRelayKey"),e.validFromEpoch>=e.expiresEpoch&&d("admission parameter validity window must be nonempty")}}),xl=an(Cl,16*lo,"AdmissionParametersV1"),ja=b([["version",N],["oldRelayKey",c],["newRelayKey",c],["oldIdentitySequence",S],["newIdentitySequence",S],["validFromEpoch",_],["reasonCode",A(l,1,3,"identity transition reasonCode")],["transitionNonce",c],["oldSignature",ae],["newSignature",ae]],{name:"RelayIdentityTransitionV1",validate(e){V(e.oldRelayKey,"oldRelayKey"),V(e.newRelayKey,"newRelayKey"),X.default.equals(e.oldRelayKey,e.newRelayKey)&&d("identity transition relay keys must differ"),(M(e.oldIdentitySequence,"oldIdentitySequence")===Fa||M(e.newIdentitySequence,"newIdentitySequence")!==M(e.oldIdentitySequence,"oldIdentitySequence")+1n)&&d("newIdentitySequence must equal oldIdentitySequence + 1")}}),Sl=b([["version",N],["relayPublicKey",c],["descriptorSequence",S],["descriptorHash",c],["descriptorUrl",yl],["transportBits",H],["issuedEpoch",_],["expiresEpoch",_],["nonce",c],["signature",ae]],{name:"BlindDhtPointerV1",validate(e){V(e.relayPublicKey,"relayPublicKey"),(e.transportBits===0||(e.transportBits&~et.TRANSPORT_BITS_MASK)!==0)&&d("transportBits must contain known nonzero bits"),tn(e)}}),Rl=an(Sl,et.MAX_DHT_POINTER_BYTES,"BlindDhtPointerV1"),Bl=b([["version",N],["gatewayRelayKey",c],["gatewayDescriptorSequence",S],["configId",l],["kemId",A(H,1,65535,"kemId")],["kdfId",A(H,1,65535,"kdfId")],["aeadId",A(H,1,65535,"aeadId")],["encodedPublicKey",it(1,256,"encodedPublicKey")],["notBeforeEpoch",_],["notAfterEpoch",_],["previousConfigHash",v(c,"previousConfigHash")],["signature",ae]],{name:"BlindOhttpKeyConfigV1",validate(e){V(e.gatewayRelayKey,"gatewayRelayKey"),(e.notBeforeEpoch>=e.notAfterEpoch||e.notAfterEpoch-e.notBeforeEpoch>et.MAX_OHTTP_CONFIG_EPOCHS)&&d("OHTTP key validity must be within 1..120 epochs")}}),Tl=b([["version",N],["descriptorSequence",S],["descriptorHash",c],["endpointId",ni],["transportSupportBit",Ma],["requestedRoleBits",dn],["requestedOperationBits",Io],["clientNonce",c]],{name:"BlindHealthChallengeV1",validate(e){(e.transportSupportBit&e.transportSupportBit-1)!==0&&d("transportSupportBit must be one frozen one-hot support bit"),(e.requestedRoleBits&~Vt.ROLE_BITS_MASK)!==0&&d("requestedRoleBits contains a reserved bit"),(e.requestedOperationBits&~et.ENABLED_OPERATION_BITS_MASK)!==0&&d("requestedOperationBits contains a reserved bit"),(e.requestedRoleBits===0||e.requestedOperationBits===0)&&d("health challenge role and operation bitmaps must both be nonzero")}}),_l=b([["version",N],["relayPublicKey",c],["storeId",c],["descriptorSequence",S],["descriptorHash",c],["endpointId",ni],["transportSupportBit",Ma],["durabilityContinuityHash",c],["durabilityProfileHash",c],["clientNonce",c],["readyRoleBits",dn],["readyOperationBits",Io],["clockState",A(l,Zn.READY,Zn.VERIFYING,"clockState")],["effectiveEpochFloor",_],["integrityState",A(l,vn.VERIFIED,vn.FAILED,"integrityState")],["checkpointAgeBand",A(l,0,7,"checkpointAgeBand")],["scrubAgeBand",A(l,0,7,"scrubAgeBand")],["rebalanceState",A(l,eo.STABLE,eo.FENCED,"rebalanceState")],["capacityBand",A(l,0,7,"capacityBand")],["challengeEpoch",_],["signature",ae]],{name:"BlindHealthResultV1",validate(e){V(e.relayPublicKey,"relayPublicKey"),V(e.storeId,"storeId"),(e.transportSupportBit&e.transportSupportBit-1)!==0&&d("transportSupportBit must be one frozen one-hot support bit"),(e.readyRoleBits&~Vt.ROLE_BITS_MASK)!==0&&d("readyRoleBits contains a reserved bit"),(e.readyOperationBits&~et.ENABLED_OPERATION_BITS_MASK)!==0&&d("readyOperationBits contains a reserved bit")}}),Ol=b([["backupFailureGroupId",c],["operatorGroupId",c]],{name:"BlindExternalJournalTopologyV1.backupFailureGroup",validate(e){V(e.backupFailureGroupId,"backupFailureGroupId"),V(e.operatorGroupId,"backup operatorGroupId")}}),Dl=b([["nodePublicKey",c],["operatorGroupId",c],["failureDomainId",c],["roleConflictBits",H]],{name:"BlindExternalJournalTopologyV1.node",validate(e){V(e.nodePublicKey,"journal nodePublicKey"),V(e.operatorGroupId,"journal operatorGroupId"),V(e.failureDomainId,"journal failureDomainId")}}),wl=ze(Ol,0,16,"external backup failure groups"),Nl=ze(Dl,3,3,"external journal nodes");function ql(e,t){return ii(e.backupFailureGroupId,t.backupFailureGroupId)||ii(e.operatorGroupId,t.operatorGroupId)}function Pl(e,t){return ii(e.nodePublicKey,t.nodePublicKey)||ii(e.operatorGroupId,t.operatorGroupId)||ii(e.failureDomainId,t.failureDomainId)||Qr(e.roleConflictBits,t.roleConflictBits)}var Ll=b([["version",N],["relayPublicKey",c],["storeId",c],["externalJournalId",c],["durabilityContinuityHash",c],["topologySequence",S],["previousTopologyHash",v(c,"previousTopologyHash")],["replicationClass",Kt(l,1,"replicationClass")],["commitQuorum",Kt(l,2,"commitQuorum")],["sharedFailureGroupId",c],["liveStoreFailureGroupId",c],["backupFailureGroups",wl],["nodes",Nl],["issuedEpoch",_],["expiresEpoch",_],["witnessPublicKey",c],["signature",ae]],{name:"BlindExternalJournalTopologyV1",validate(e){for(let r of["relayPublicKey","storeId","externalJournalId","durabilityContinuityHash","sharedFailureGroupId","liveStoreFailureGroupId","witnessPublicKey"])V(e[r],r);M(e.topologySequence,"topologySequence")===0n!=(e.previousTopologyHash==null)&&d("previousTopologyHash must be absent exactly for topology sequence zero"),lr(e.backupFailureGroups,ql,"backup failure groups"),lr(e.nodes,Pl,"external journal nodes"),uo(e.nodes.map(r=>r.operatorGroupId),"journal operator groups"),uo(e.nodes.map(r=>r.failureDomainId),"journal failure domains"),tn(e)}}),Xa=b([["version",N],["relayBinding",yt],["corePublicKey",c],["fork",S],["length",S],["signedHeadHash",c],["observedAtEpoch",_],["leaseEpoch",_],["result",A(l,Zi.MIRROR_ACCEPTED,Zi.RECENTLY_SERVED,"core ack result")],["requestNonce",c],["requestCommitment",c],["signature",ae]],{name:"BlindCoreAckV1",validate(e){V(e.corePublicKey,"corePublicKey"),V(e.signedHeadHash,"signedHeadHash")}}),Hl=b([["version",N],["corePublicKey",c],["fork",S],["length",S],["signedHeadHash",c],["leaseClass",oi],["clientNonce",c],["admission",tt]],{name:"CoreMirrorRequestV1",validate(e){V(e.corePublicKey,"corePublicKey"),V(e.signedHeadHash,"signedHeadHash"),M(e.length,"length")===0n&&d("core mirror length must be nonzero")}}),Kl=ze(S,1,16,"core block indices"),Ql=b([["version",N],["corePublicKey",c],["fork",S],["length",S],["signedHeadHash",c],["blockIndices",Kl],["clientNonce",c],["admission",v(tt,"admission")]],{name:"CoreServeChallengeV1",validate(e){V(e.corePublicKey,"corePublicKey"),V(e.signedHeadHash,"signedHeadHash");let t=M(e.length,"length");t===0n&&d("core serve length must be nonzero"),lr(e.blockIndices,(r,i)=>Qr(M(r,"block index"),M(i,"block index")),"core block indices"),e.blockIndices.some(r=>M(r,"block index")>=t)&&d("core block index must be below length")}}),Fl=b([["version",N],["acknowledgement",Xa],["proofsAndBlocks",it(1,4*Fr-256,"proofsAndBlocks")]],{name:"CoreServeResultV1",validate(e){e.acknowledgement.result!==Zi.RECENTLY_SERVED&&d("core serve acknowledgement result must be RECENTLY_SERVED")}}),Ml=an(Fl,4*Fr,"CoreServeResultV1"),di=b([["version",N],["routeId",si],["nextDescriptorSequence",S],["nextDescriptorHash",c],["requestedWireClass",ur],["circuitClass",nn],["circuitNonce",c],["parentRouteScopeHash",c],["hopAdmission",tt],["innerHandshake",it(32,32,"innerHandshake")]],{name:"BlindForwardOpenV1",validate(e){V(e.routeId,"routeId"),V(e.nextDescriptorHash,"nextDescriptorHash"),V(e.circuitNonce,"circuitNonce")}}),fi=b([["version",N],["relayBinding",yt],["routeId",si],["nextDescriptorSequence",S],["nextDescriptorHash",c],["circuitNonce",c],["grantedWireClass",ur],["circuitClass",nn],["streamId",S],["grantedInitialWindow",_],["maxDataBytes",_],["maxCircuitBytes",S],["idleMillis",_],["lifetimeMillis",_],["openedAtEpoch",_],["requestCommitment",c],["acceptedRouteScopeHash",c],["acceptedRelayCount",A(l,1,4,"acceptedRelayCount")],["nextHopAccept",pl],["signature",ae]],{name:"BlindForwardOpenResultV1",validate(e){Ao(e),M(e.streamId,"streamId")===0n&&d("streamId must be nonzero");for(let r of["routeId","nextDescriptorHash","circuitNonce","requestCommitment"])V(e[r],r);let t=e.nextHopAccept;(!X.default.equals(e.relayBinding.relayPublicKey,t.previousRelayKey)||!X.default.equals(e.routeId,t.routeId)||!X.default.equals(e.nextDescriptorHash,t.nextDescriptorHash)||!X.default.equals(e.circuitNonce,t.circuitNonce)||M(e.nextDescriptorSequence,"nextDescriptorSequence")!==M(t.nextDescriptorSequence,"nextDescriptorSequence")||e.grantedWireClass!==t.grantedWireClass||e.circuitClass!==t.circuitClass||e.grantedInitialWindow!==t.grantedInitialWindow||e.maxDataBytes!==t.maxDataBytes||M(e.maxCircuitBytes,"maxCircuitBytes")!==M(t.maxCircuitBytes,"next maxCircuitBytes")||e.idleMillis!==t.idleMillis||e.lifetimeMillis!==t.lifetimeMillis||e.openedAtEpoch!==t.openedAtEpoch||!X.default.equals(e.acceptedRouteScopeHash,t.acceptedRouteScopeHash)||e.acceptedRelayCount!==t.acceptedRelayCount)&&d("forward open result does not match nextHopAccept")}}),Ar=b([["version",N],["circuitNonce",c],["offset",S],["bytes",it(1,en.MAX_FORWARD_DATA_BYTES,"forward data bytes")]],{name:"BlindForwardDataV1",validate(e){V(e.circuitNonce,"circuitNonce")}}),Ir=b([["version",N],["circuitNonce",c],["consumedThrough",S],["creditIncrement",A(_,1,en.MAX_FORWARD_WINDOW_BYTES,"creditIncrement")]],{name:"BlindForwardWindowV1",validate(e){V(e.circuitNonce,"circuitNonce")}}),pr=b([["version",N],["circuitNonce",c],["closeKind",A(l,$n.FIN,$n.ABORT,"closeKind")],["finalSendOffset",S],["reasonCode",l]],{name:"BlindForwardCloseV1",validate(e){V(e.circuitNonce,"circuitNonce")}});function Ja(e,t){let r=ro[e];r||d("stream chunk wireClass is outside 1..3"),(!Number.isSafeInteger(t)||t<0)&&d("contentLength is outside u32");let i=r-16,n=i-7-t;return n<0&&d("contentLength exceeds the selected stream wire class"),{plaintextLength:i,paddingLength:n}}function fo(e){(!e||typeof e!="object")&&d("BlindStreamChunkPlainV1 must be an object"),e.flags!==0&&e.flags!==1&&d("stream chunk flags contain a reserved bit");let t=Ja(e.wireClass,e.contentLength);return Ne(e.contentLength,"stream content").preencode({end:0},e.content),Ne(t.paddingLength,"stream randomPadding").preencode({end:0},e.randomPadding),t}var Ul={preencode(e,t){let{plaintextLength:r}=fo(t);N.preencode(e,t.version),ur.preencode(e,t.wireClass),l.preencode(e,t.flags),_.preencode(e,t.contentLength),Ne(t.contentLength,"stream content").preencode(e,t.content),Ne(r-7-t.contentLength,"stream randomPadding").preencode(e,t.randomPadding)},encode(e,t){let{paddingLength:r}=fo(t);N.encode(e,t.version),ur.encode(e,t.wireClass),l.encode(e,t.flags),_.encode(e,t.contentLength),Ne(t.contentLength,"stream content").encode(e,t.content),Ne(r,"stream randomPadding").encode(e,t.randomPadding)},decode(e){let t={version:N.decode(e),wireClass:ur.decode(e),flags:l.decode(e),contentLength:_.decode(e)},{paddingLength:r}=Ja(t.wireClass,t.contentLength);return t.content=Ne(t.contentLength,"stream content").decode(e),t.randomPadding=Ne(r,"stream randomPadding").decode(e),fo(t),t}},Vl=ze(al,1,16,"descriptor protocols"),Yl=ze(cl,1,16,"descriptor endpoints"),Gl=ze(ka,1,8,"descriptor admission profiles"),Wl=b([["version",N],["relayPublicKey",c],["storeId",c],["descriptorSequence",S],["previousDescriptorHash",v(c,"previousDescriptorHash")],["identitySequence",S],["previousRelayKey",v(c,"previousRelayKey")],["identityTransition",v(ja,"identityTransition")],["build",fl],["protocols",Vl],["endpoints",Yl],["cellSizeClassBits",l],["leaseClassBits",l],["maxBatchCount",A(H,1,et.MAX_BATCH_COUNT,"maxBatchCount")],["maxResponseBytes",A(_,1,et.MAX_RESPONSE_BYTES,"maxResponseBytes")],["maxSponsoredCoreLength",S],["enabledOperationBits",Io],["admissionProfiles",Gl],["durability",dl],["durabilityContinuityHash",c],["durabilityProfileHash",c],["storeLifecycleState",A(l,Lr.ACTIVE,Lr.RETIRED,"storeLifecycleState")],["drainStartedEpoch",v(_,"drainStartedEpoch")],["capacityBand",A(l,0,7,"capacityBand")],["issuedEpoch",_],["expiresEpoch",_],["descriptorNonce",c],["signature",ae]],{name:"BlindServiceDescriptorV1",validate(e){for(let o of["relayPublicKey","storeId","durabilityContinuityHash","durabilityProfileHash","descriptorNonce"])V(e[o],o);M(e.descriptorSequence,"descriptorSequence")===0n!=(e.previousDescriptorHash==null)&&d("previousDescriptorHash must be absent exactly for descriptor sequence zero");let r=e.identityTransition!=null;if(r!==(e.previousRelayKey!=null)&&d("previousRelayKey and identityTransition must be present together"),r){let o=e.identityTransition;(!X.default.equals(e.previousRelayKey,o.oldRelayKey)||!X.default.equals(e.relayPublicKey,o.newRelayKey)||M(e.identitySequence,"identitySequence")!==M(o.newIdentitySequence,"newIdentitySequence"))&&d("descriptor identity transition does not bind its current and previous identity")}lr(e.protocols,(o,s)=>Qr(o.protocolId,s.protocolId),"descriptor protocols"),lr(e.endpoints,(o,s)=>Qr(o.endpointId,s.endpointId),"descriptor endpoints"),lr(e.admissionProfiles,(o,s)=>Qr(o.profileId,s.profileId),"descriptor admission profiles"),(e.cellSizeClassBits===0||(e.cellSizeClassBits&~et.CELL_SIZE_CLASS_BITS_MASK)!==0)&&d("cellSizeClassBits must contain known nonzero bits"),(e.leaseClassBits===0||(e.leaseClassBits&~et.LEASE_CLASS_BITS_MASK)!==0)&&d("leaseClassBits must contain known nonzero bits"),(e.enabledOperationBits&~et.ENABLED_OPERATION_BITS_MASK)!==0&&d("enabledOperationBits contains a reserved bit");let i=e.storeLifecycleState===Lr.DRAINING,n=e.storeLifecycleState===Lr.RETIRED;e.storeLifecycleState===Lr.ACTIVE!=(e.drainStartedEpoch==null)&&d("drainStartedEpoch presence does not match storeLifecycleState"),e.drainStartedEpoch!=null&&e.drainStartedEpoch>e.issuedEpoch&&d("drainStartedEpoch cannot be after descriptor issuance"),i&&e.enabledOperationBits!==76247&&d("DRAINING descriptor has the wrong enabled operation bitmap"),n&&e.enabledOperationBits!==0&&d("RETIRED descriptor must disable all operations"),tn(e)}}),zl=an(Wl,et.MAX_DESCRIPTOR_BYTES,"BlindServiceDescriptorV1"),kl=b([["category",A(l,1,5,"schema category")],["categoryLocalSchemaId",A(H,1,65535,"categoryLocalSchemaId")],["schemaName",Di(1,96,"schemaName")],["canonicalSchemaBytes",it(1,65535,"canonicalSchemaBytes")]],{name:"SchemaCatalogEntryV1",validate(e){let t=Pa[e.category],r=t&&t[e.categoryLocalSchemaId-1];(!r||!X.default.equals(He(e.schemaName),X.default.from(r,"hex")))&&d("schema catalog entry does not match the frozen category registry")}}),Q0=Object.freeze({AdmissionParametersV1:xl,AdmissionProfileV1:ka,BlindCoreAckV1:Xa,BlindDhtPointerV1:Rl,BlindExternalJournalTopologyV1:Ll,BlindForwardCloseV1:pr,BlindForwardDataV1:Ar,BlindForwardOpenResultV1:fi,BlindForwardOpenV1:di,BlindForwardWindowV1:Ir,BlindHealthChallengeV1:Tl,BlindHealthResultV1:_l,BlindOhttpKeyConfigV1:Bl,BlindServiceDescriptorV1:zl,BlindStreamChunkPlainV1:Ul,CoreMirrorRequestV1:Hl,CoreServeChallengeV1:Ql,CoreServeResultV1:Ml,RelayIdentityTransitionV1:ja,SchemaCatalogEntryV1:kl});var U=It(Ze(),1);var Jl=(1n<<64n)-1n,$l=U.default.alloc(32),va=U.default.from("HFQR","ascii"),ec=U.default.from("HFQS","ascii"),G0=Object.freeze({major:1,minor:1,abiFormatVersion:2}),$a=Object.freeze({BlindForwardHttpsTurnRequestV1:74,BlindForwardHttpsTurnResultV1:75}),tc=Object.freeze({LIMITED_PUBLIC_TEST_V1:Object.freeze({id:1,operationBits:131071,isDefault:!0}),LIMITED_PUBLIC_TEST_FORWARD_ONE_HOP_V1:Object.freeze({id:2,operationBits:4063231,isDefault:!1})}),W0=Object.freeze({BASELINE_17:"LIMITED_PUBLIC_TEST_V1"}),rc=Object.freeze({DIRECT_HTTPS_FORWARD_ONE_HOP:7}),wt=Object.freeze({OPEN:1,DATA:2,WINDOW:3,CLOSE:4}),Za=Object.freeze({SUCCESS:1,ERROR:2}),ic=Object.freeze({REQUEST:Object.freeze({domainId:17,name:"FORWARD_HTTPS_TURN",exactAsciiBytes:"hiverelay.blind.forward-https-turn-request.v1"}),RESULT:Object.freeze({domainId:112,name:"FORWARD_HTTPS_TURN_RESULT",exactAsciiBytes:"hiverelay.blind.forward-https-turn-result.v1"}),PARENT_CAPABILITY:Object.freeze({domainId:214,name:"FORWARD_HTTPS_PARENT_CAPABILITY",exactAsciiBytes:"hiverelay.blind.forward-https-parent-capability.v1"})}),ce=Object.freeze({EXACT_REQUEST_BYTES:65536,EXACT_RESULT_BYTES:65536,PARENT_CAPABILITY_BYTES:390,PARENT_CAPABILITY_UNSIGNED_BYTES:326,REQUEST_HEADER_BYTES:475,RESULT_HEADER_BYTES:221,MAX_REQUEST_INNER_BYTES:65061,MAX_RESULT_INNER_BYTES:65315,MAX_RELAY_COUNT:2,REMAINING_TRANSITIONS:1,CIRCUIT_CLASS:1,MAX_CIRCUIT_BYTES:16n*1024n*1024n,INITIAL_WINDOW_BYTES:65536,IDLE_MILLIS:3e4,LIFETIME_MILLIS:6e5,LIFETIME_SECONDS:600}),z0=Object.freeze([...Object.entries(wt).map(([e,t])=>Object.freeze({family:"FORWARD",operation:e,routeKind:rc.DIRECT_HTTPS_FORWARD_ONE_HOP,releaseProfileId:tc.LIMITED_PUBLIC_TEST_FORWARD_ONE_HOP_V1.id,requestSchemaId:$a.BlindForwardHttpsTurnRequestV1,resultSchemaId:$a.BlindForwardHttpsTurnResultV1,requestBytes:ce.EXACT_REQUEST_BYTES,resultBytes:ce.EXACT_RESULT_BYTES,turnKind:t}))]),k0=Object.freeze([Object.freeze({schemaId:74,schemaName:"BlindForwardHttpsTurnRequestV1",fields:Object.freeze(["magic:fixed4=HFQR","version:u8=1","routeKind:u8=7","releaseProfileId:u8=2","turnKind:u8[OPEN=1|DATA=2|WINDOW=3|CLOSE=4]","flags:u8=0","sessionId:fixed32[nonzero]","sequence:u64be","requestNonce:fixed32[nonzero]","parentCapability:BlindForwardHttpsParentCapabilityV1[exact390;catalog-id+relay-key+descriptor-pinned;no-url-host-ip]","innerLength:u32be","inner:closed(turnKind){OPEN:BlindForwardOpenV1|DATA:BlindForwardDataV1|WINDOW:BlindForwardWindowV1|CLOSE:BlindForwardCloseV1}","padding:bytes[65536-475-innerLength]","exactBytes:65536"])}),Object.freeze({schemaId:75,schemaName:"BlindForwardHttpsTurnResultV1",fields:Object.freeze(["magic:fixed4=HFQS","version:u8=1","routeKind:u8=7","releaseProfileId:u8=2","turnKind:u8[OPEN=1|DATA=2|WINDOW=3|CLOSE=4]","outcome:u8[SUCCESS=1|ERROR=2]","sessionId:fixed32[nonzero]","sequence:u64be","requestCommitment:fixed32[nonzero]","relayPublicKey:fixed32[nonzero]","descriptorSequence:u64be","descriptorHash:fixed32[nonzero]","signature:fixed64","innerLength:u32be","inner:closed(outcome,turnKind){ERROR:BlindErrorV1|SUCCESS.OPEN:BlindForwardOpenResultV1|SUCCESS.DATA:BlindForwardDataV1|SUCCESS.WINDOW:BlindForwardWindowV1|SUCCESS.CLOSE:BlindForwardCloseV1}","padding:bytes[65536-221-innerLength]","exactBytes:65536","no-ACK-schema"])})]),nc=Object.freeze({[wt.OPEN]:di,[wt.DATA]:Ar,[wt.WINDOW]:Ir,[wt.CLOSE]:pr}),Zl=Object.freeze({[wt.OPEN]:fi,[wt.DATA]:Ar,[wt.WINDOW]:Ir,[wt.CLOSE]:pr});function oc(e,t){if(e===Za.ERROR)return cn;e!==Za.SUCCESS&&D("result outcome is unknown");let r=Zl[t];return r||D("result turnKind is unknown"),r}function D(e,t="BAD_FORWARD_HTTPS_TURN"){Le(t,e)}function Q(e,t,r,i=!1){return(!e||typeof e.byteLength!="number")&&D(`${r} must be bytes`),e=U.default.isBuffer(e)?e:ArrayBuffer.isView(e)?U.default.from(e.buffer,e.byteOffset,e.byteLength):U.default.from(e),e.byteLength!==t&&D(`${r} must be exactly ${t} bytes`),i&&vl(e)&&D(`${r} must be nonzero`),e}function vl(e){for(let t of e)if(t!==0)return!1;return!0}function po(e,t,r){return(!Number.isSafeInteger(e)||e<0||e>t)&&D(`${r} is outside its unsigned range`),e}function er(e,t){return typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&D(`${t} must be an unsigned safe integer or bigint`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>Jl)&&D(`${t} is outside u64`),e}function hr(e,t,r,i){return t=po(t,4294967295,i),e[r]=t>>>24,e[r+1]=t>>>16,e[r+2]=t>>>8,e[r+3]=t,r+4}function gr(e,t){return e[t]*16777216+e[t+1]*65536+e[t+2]*256+e[t+3]}function yr(e,t,r,i){t=er(t,i);for(let n=7;n>=0;n--)e[r+n]=Number(t&0xffn),t>>=8n;return r+8}function Mr(e,t){let r=0n;for(let i=0;i<8;i++)r=r<<8n|BigInt(e[t+i]);return r}function ne(e,t,r){return U.default.copy(t,e,r),r+t.byteLength}function qe(e,t,r){return U.default.from(e.subarray(t,t+r))}function ho(e,t){(!e||typeof e!="object"||Array.isArray(e))&&D(`${t} must be an object`)}function sc(e,t=!0){ho(e,"parentCapability");for(let o of["url","host","hostname","ip","ipAddress","dialAddress"])o in e&&D(`parentCapability.${o} is forbidden`);e.version!==1&&D("parentCapability.version must be 1"),e.routeKind!==rc.DIRECT_HTTPS_FORWARD_ONE_HOP&&D("parentCapability.routeKind must be 7"),e.releaseProfileId!==tc.LIMITED_PUBLIC_TEST_FORWARD_ONE_HOP_V1.id&&D("parentCapability.releaseProfileId must be 2");let r=Q(e.sourceRelayPublicKey,32,"sourceRelayPublicKey",!0),i=Q(e.targetRelayPublicKey,32,"targetRelayPublicKey",!0),n=Q(e.routePrefixRelayPublicKey,32,"routePrefixRelayPublicKey",!0);return U.default.equals(r,i)&&D("source and target relay keys must differ"),U.default.equals(r,n)||D("route prefix must contain exactly the source relay"),Q(e.sourceDescriptorHash,32,"sourceDescriptorHash",!0),Q(e.targetDescriptorHash,32,"targetDescriptorHash",!0),Q(e.targetCatalogEntryId,32,"targetCatalogEntryId",!0),Q(e.routeId,16,"routeId",!0),Q(e.circuitNonce,32,"circuitNonce",!0),Q(e.tlsExporterBindingHash,32,"tlsExporterBindingHash",!0),t&&Q(e.signature,64,"signature"),er(e.sourceDescriptorSequence,"sourceDescriptorSequence"),er(e.targetDescriptorSequence,"targetDescriptorSequence"),e.maxRelayCount!==ce.MAX_RELAY_COUNT&&D("maxRelayCount must be 2"),e.remainingTransitions!==ce.REMAINING_TRANSITIONS&&D("remainingTransitions must be 1"),e.circuitClass!==ce.CIRCUIT_CLASS&&D("circuitClass must be F1"),er(e.maxCircuitBytes,"maxCircuitBytes")!==ce.MAX_CIRCUIT_BYTES&&D("maxCircuitBytes must be exactly 16 MiB"),e.initialWindowBytes!==ce.INITIAL_WINDOW_BYTES&&D("initialWindowBytes must be exactly 64 KiB"),e.idleMillis!==ce.IDLE_MILLIS&&D("idleMillis must be exactly 30000"),e.lifetimeMillis!==ce.LIFETIME_MILLIS&&D("lifetimeMillis must be exactly 600000"),po(e.issuedAtEpoch,4294967295,"issuedAtEpoch"),po(e.expiresAtEpoch,4294967295,"expiresAtEpoch"),e.expiresAtEpoch!==e.issuedAtEpoch+ce.LIFETIME_SECONDS&&D("capability lifetime must be exactly 600 seconds"),e}function go(e,t={}){let r=t.includeSignature!==!1;sc(e,r);let i=U.default.alloc(r?ce.PARENT_CAPABILITY_BYTES:ce.PARENT_CAPABILITY_UNSIGNED_BYTES),n=0;return n=ne(i,U.default.from("HFPC","ascii"),n),i[n++]=1,i[n++]=7,i[n++]=2,n=ne(i,Q(e.sourceRelayPublicKey,32,"sourceRelayPublicKey"),n),n=yr(i,e.sourceDescriptorSequence,n,"sourceDescriptorSequence"),n=ne(i,Q(e.sourceDescriptorHash,32,"sourceDescriptorHash"),n),n=ne(i,Q(e.targetRelayPublicKey,32,"targetRelayPublicKey"),n),n=yr(i,e.targetDescriptorSequence,n,"targetDescriptorSequence"),n=ne(i,Q(e.targetDescriptorHash,32,"targetDescriptorHash"),n),n=ne(i,Q(e.targetCatalogEntryId,32,"targetCatalogEntryId"),n),n=ne(i,Q(e.routeId,16,"routeId"),n),n=ne(i,Q(e.routePrefixRelayPublicKey,32,"routePrefixRelayPublicKey"),n),i[n++]=e.maxRelayCount,i[n++]=e.remainingTransitions,i[n++]=e.circuitClass,n=yr(i,e.maxCircuitBytes,n,"maxCircuitBytes"),n=hr(i,e.initialWindowBytes,n,"initialWindowBytes"),n=hr(i,e.idleMillis,n,"idleMillis"),n=hr(i,e.lifetimeMillis,n,"lifetimeMillis"),n=hr(i,e.issuedAtEpoch,n,"issuedAtEpoch"),n=hr(i,e.expiresAtEpoch,n,"expiresAtEpoch"),n=ne(i,Q(e.circuitNonce,32,"circuitNonce"),n),n=ne(i,Q(e.tlsExporterBindingHash,32,"tlsExporterBindingHash"),n),r&&(n=ne(i,Q(e.signature,64,"signature"),n)),n!==i.byteLength&&D("parent capability encoder length mismatch"),i}function eA(e){e=Q(e,ce.PARENT_CAPABILITY_BYTES,"parent capability");let t=0;U.default.equals(e.subarray(0,4),U.default.from("HFPC","ascii"))||D("parent capability magic is invalid"),t+=4;let r={version:e[t++],routeKind:e[t++],releaseProfileId:e[t++],sourceRelayPublicKey:qe(e,t,32)};return t+=32,r.sourceDescriptorSequence=Mr(e,t),t+=8,r.sourceDescriptorHash=qe(e,t,32),t+=32,r.targetRelayPublicKey=qe(e,t,32),t+=32,r.targetDescriptorSequence=Mr(e,t),t+=8,r.targetDescriptorHash=qe(e,t,32),t+=32,r.targetCatalogEntryId=qe(e,t,32),t+=32,r.routeId=qe(e,t,16),t+=16,r.routePrefixRelayPublicKey=qe(e,t,32),t+=32,r.maxRelayCount=e[t++],r.remainingTransitions=e[t++],r.circuitClass=e[t++],r.maxCircuitBytes=Mr(e,t),t+=8,r.initialWindowBytes=gr(e,t),t+=4,r.idleMillis=gr(e,t),t+=4,r.lifetimeMillis=gr(e,t),t+=4,r.issuedAtEpoch=gr(e,t),t+=4,r.expiresAtEpoch=gr(e,t),t+=4,r.circuitNonce=qe(e,t,32),t+=32,r.tlsExporterBindingHash=qe(e,t,32),t+=32,r.signature=qe(e,t,64),t+=64,t!==e.byteLength&&D("parent capability decoder length mismatch"),sc(r),r}function tA(e,t){let r=U.default.alloc(8);return yr(r,t.byteLength,0,"signature payload length"),U.default.concat([U.default.from(e.exactAsciiBytes,"ascii"),r,t])}function ac(e){return tA(ic.PARENT_CAPABILITY,go(e,{includeSignature:!1}))}function rA(e){return He(U.default.concat([U.default.from(ic.PARENT_CAPABILITY.exactAsciiBytes,"ascii"),go(e)]))}function cc(e,t,r){if((!t||typeof t!="object")&&D("inner turn must be an object"),e===wt.OPEN){U.default.equals(Q(t.routeId,16,"inner.routeId"),r.routeId)||D("OPEN routeId does not match parent capability"),er(t.nextDescriptorSequence,"inner.nextDescriptorSequence")!==er(r.targetDescriptorSequence,"targetDescriptorSequence")&&D("OPEN target descriptor sequence does not match parent capability"),U.default.equals(Q(t.nextDescriptorHash,32,"inner.nextDescriptorHash"),r.targetDescriptorHash)||D("OPEN target descriptor hash does not match parent capability"),t.circuitClass!==r.circuitClass&&D("OPEN circuitClass does not match parent capability"),U.default.equals(Q(t.circuitNonce,32,"inner.circuitNonce"),r.circuitNonce)||D("OPEN circuitNonce does not match parent capability"),U.default.equals(Q(t.parentRouteScopeHash,32,"inner.parentRouteScopeHash"),$l)||D("nested or forwarded parent OPEN is forbidden");return}U.default.equals(Q(t.circuitNonce,32,"inner.circuitNonce"),r.circuitNonce)||D("turn circuitNonce does not match parent capability")}function dc(e,t){return e==null?U.default.alloc(t):Q(e,t,"padding")}function fc(e){ho(e,"BlindForwardHttpsTurnRequestV1"),(e.version!==1||e.routeKind!==7||e.releaseProfileId!==2||e.flags!==0)&&D("request fixed header is invalid");let t=nc[e.turnKind];t||D("request turnKind is unknown");let r=go(e.parentCapability);U.default.equals(Q(e.sessionId,32,"sessionId",!0),rA(e.parentCapability))||D("sessionId does not bind the parent capability"),er(e.sequence,"sequence"),Q(e.requestNonce,32,"requestNonce",!0),cc(e.turnKind,e.inner,e.parentCapability);let i=nt(t,e.inner);i.byteLength>ce.MAX_REQUEST_INNER_BYTES&&D("request inner turn exceeds exact-body capacity","TOO_LARGE");let n=U.default.alloc(ce.EXACT_REQUEST_BYTES),o=0;return o=ne(n,va,o),n[o++]=1,n[o++]=7,n[o++]=2,n[o++]=e.turnKind,n[o++]=0,o=ne(n,e.sessionId,o),o=yr(n,e.sequence,o,"sequence"),o=ne(n,e.requestNonce,o),o=ne(n,r,o),o=hr(n,i.byteLength,o,"innerLength"),o=ne(n,i,o),o=ne(n,dc(e.padding,n.byteLength-o),o),o!==n.byteLength&&D("request encoder length mismatch"),n}function iA(e){e=Q(e,ce.EXACT_REQUEST_BYTES,"request body");let t=0;U.default.equals(e.subarray(0,4),va)||D("request magic is invalid"),t+=4;let r={version:e[t++],routeKind:e[t++],releaseProfileId:e[t++],turnKind:e[t++],flags:e[t++],sessionId:qe(e,t,32)};t+=32,r.sequence=Mr(e,t),t+=8,r.requestNonce=qe(e,t,32),t+=32,r.parentCapability=eA(e.subarray(t,t+ce.PARENT_CAPABILITY_BYTES)),t+=ce.PARENT_CAPABILITY_BYTES;let i=gr(e,t);t+=4,i>ce.MAX_REQUEST_INNER_BYTES&&D("request innerLength exceeds exact-body capacity");let n=nc[r.turnKind];n||D("request turnKind is unknown"),r.inner=pt(n,e.subarray(t,t+i),{copyBytes:!0}),t+=i,r.padding=qe(e,t,e.byteLength-t),cc(r.turnKind,r.inner,r.parentCapability);let o=fc(r);return U.default.equals(o,e)||D("request body is not canonical"),r}function nA(e,t){let r=U.default.alloc(ce.RESULT_HEADER_BYTES-64+t.byteLength),i=0;return i=ne(r,ec,i),r[i++]=1,r[i++]=7,r[i++]=2,r[i++]=e.turnKind,r[i++]=e.outcome,i=ne(r,Q(e.sessionId,32,"sessionId",!0),i),i=yr(r,e.sequence,i,"sequence"),i=ne(r,Q(e.requestCommitment,32,"requestCommitment",!0),i),i=ne(r,Q(e.relayPublicKey,32,"relayPublicKey",!0),i),er(e.descriptorSequence,"descriptorSequence")===0n&&D("descriptorSequence must be nonzero"),i=yr(r,e.descriptorSequence,i,"descriptorSequence"),i=ne(r,Q(e.descriptorHash,32,"descriptorHash",!0),i),i=hr(r,t.byteLength,i,"innerLength"),i=ne(r,t,i),i!==r.byteLength&&D("result unsigned encoder length mismatch"),r}function uc(e){ho(e,"BlindForwardHttpsTurnResultV1"),(e.version!==1||e.routeKind!==7||e.releaseProfileId!==2)&&D("result fixed header is invalid");let t=oc(e.outcome,e.turnKind),r=nt(t,e.inner);r.byteLength>ce.MAX_RESULT_INNER_BYTES&&D("result inner turn exceeds exact-body capacity","TOO_LARGE");let i=nA(e,r),n=U.default.alloc(ce.EXACT_RESULT_BYTES),o=0;return o=ne(n,i.subarray(0,153),o),o=ne(n,Q(e.signature,64,"signature"),o),o=ne(n,i.subarray(153),o),o=ne(n,dc(e.padding,n.byteLength-o),o),o!==n.byteLength&&D("result encoder length mismatch"),n}function oA(e){e=Q(e,ce.EXACT_RESULT_BYTES,"result body");let t=0;U.default.equals(e.subarray(0,4),ec)||D("result magic is invalid"),t+=4;let r={version:e[t++],routeKind:e[t++],releaseProfileId:e[t++],turnKind:e[t++],outcome:e[t++],sessionId:qe(e,t,32)};t+=32,r.sequence=Mr(e,t),t+=8,r.requestCommitment=qe(e,t,32),t+=32,r.relayPublicKey=qe(e,t,32),t+=32,r.descriptorSequence=Mr(e,t),t+=8,r.descriptorHash=qe(e,t,32),t+=32,r.signature=qe(e,t,64),t+=64;let i=gr(e,t);t+=4,i>ce.MAX_RESULT_INNER_BYTES&&D("result innerLength exceeds exact-body capacity");let n=oc(r.outcome,r.turnKind);r.inner=pt(n,e.subarray(t,t+i),{copyBytes:!0}),t+=i,r.padding=qe(e,t,e.byteLength-t);let o=uc(r);return U.default.equals(o,e)||D("result body is not canonical"),r}function lc(e,t,r){return Object.freeze({preencode(i,n){t(n),i.end+=e},encode(i,n){let o=t(n);i.end-i.start<e&&D("truncated output allocation"),U.default.copy(o,i.buffer,i.start),i.start+=e},decode(i){i.end-i.start<e&&D("truncated exact-size body");let n=r(i.buffer.subarray(i.start,i.start+e));return i.start+=e,n}})}var j0=lc(ce.EXACT_REQUEST_BYTES,fc,iA),X0=lc(ce.EXACT_RESULT_BYTES,uc,oA);var sA=(1n<<64n)-1n,aA=R.default.alloc(32),cA=R.default.alloc(64),Ac=R.default.from("HFOQ","ascii"),Ic=R.default.from("HFOS","ascii"),pc=R.default.from("HFPC","ascii"),ap=Object.freeze({major:1,minor:2,abiFormatVersion:3}),cp=Object.freeze({BlindForwardHttpsOriginForwardTurnRequestV1:76,BlindForwardHttpsOriginForwardTurnResultV1:77}),_e=Object.freeze({ORIGIN_TEMPLATE:0,FORWARDED:1}),ee=Object.freeze({OPEN:1,DATA:2,WINDOW:3,CLOSE:4,POLL:5}),rt=Object.freeze({TARGET_RESULT:1,SOURCE_PRE_FORWARD_ERROR:2,SOURCE_POST_FORWARD_AMBIGUOUS:3}),K=Object.freeze({OPEN_ACCEPT:1,ACK:2,NOOP:3,DATA:4,WINDOW:5,CLOSE:6,ERROR:7,AMBIGUOUS:8}),mr=Object.freeze({REQUEST:Object.freeze({domainId:18,purpose:"REQUEST_COMMITMENT",purposeId:1,recipeId:1,name:"FORWARD_HTTPS_ORIGIN_FORWARD_TURN",exactAsciiBytes:"hiverelay.blind.forward-https-origin-forward-turn-request.v1"}),TARGET_RESULT:Object.freeze({domainId:113,purpose:"RESULT_SIGNATURE",purposeId:2,recipeId:2,name:"FORWARD_HTTPS_TARGET_TURN_RESULT",exactAsciiBytes:"hiverelay.blind.forward-https-target-turn-result.v1"}),SOURCE_PRE_FORWARD_ERROR:Object.freeze({domainId:114,purpose:"RESULT_SIGNATURE",purposeId:2,recipeId:2,name:"FORWARD_HTTPS_SOURCE_PRE_FORWARD_ERROR",exactAsciiBytes:"hiverelay.blind.forward-https-source-pre-forward-error.v1"}),SOURCE_POST_FORWARD_AMBIGUOUS:Object.freeze({domainId:115,purpose:"RESULT_SIGNATURE",purposeId:2,recipeId:2,name:"FORWARD_HTTPS_SOURCE_POST_FORWARD_AMBIGUOUS",exactAsciiBytes:"hiverelay.blind.forward-https-source-post-forward-ambiguous.v1"}),SOURCE_TRANSFORM:Object.freeze({domainId:215,purpose:"AUXILIARY_SIGNATURE",purposeId:3,recipeId:2,name:"FORWARD_HTTPS_SOURCE_TRANSFORM",exactAsciiBytes:"hiverelay.blind.forward-https-source-transform.v1"}),STABLE_SESSION:Object.freeze({domainId:216,purpose:"HASH_DOMAIN",purposeId:4,recipeId:4,name:"FORWARD_HTTPS_STABLE_SESSION",exactAsciiBytes:"hiverelay.blind.forward-https-stable-session.v1"}),TARGET_RESULT_CHAIN:Object.freeze({domainId:217,purpose:"HASH_DOMAIN",purposeId:4,recipeId:3,name:"FORWARD_HTTPS_TARGET_RESULT_CHAIN",exactAsciiBytes:"hiverelay.blind.forward-https-target-result-chain.v1"}),TLS_EXPORTER_CONTEXT:Object.freeze({domainId:218,purpose:"HASH_DOMAIN",purposeId:4,recipeId:3,name:"FORWARD_HTTPS_TLS_EXPORTER_CONTEXT",exactAsciiBytes:"hiverelay.blind.forward-https-tls-exporter-context.v1"}),TLS_EXPORTER_BINDING:Object.freeze({domainId:219,purpose:"HASH_DOMAIN",purposeId:4,recipeId:4,name:"FORWARD_HTTPS_TLS_EXPORTER_BINDING",exactAsciiBytes:"hiverelay.blind.forward-https-tls-exporter-binding.v1"})}),dp=Object.freeze({purposeId:4,name:"HASH_DOMAIN"}),fp=Object.freeze([Object.freeze({recipeId:3,name:"BLAKE2B256_ASCII_DOMAIN_PAYLOAD",canonicalPreimage:"ASCII(domain) || exact fixed-shape payload"}),Object.freeze({recipeId:4,name:"BLAKE2B256_ASCII_DOMAIN_LEN64_PAYLOAD",canonicalPreimage:"ASCII(domain) || u64be(payloadLength) || payload"})]),Je=Object.freeze({EXACT_REQUEST_BYTES:65536,EXACT_RESULT_BYTES:65536,REQUEST_HEADER_BYTES:668,RESULT_HEADER_BYTES:773,MAX_REQUEST_INNER_BYTES:64868,MAX_RESULT_INNER_BYTES:64763,MAX_DATA_BYTES:64e3,CAPABILITY_BYTES:390,CAPABILITY_IMMUTABLE_PREFIX_BYTES:294,CAPABILITY_EXPORTER_OFFSET:294,CAPABILITY_SIGNATURE_OFFSET:326,SOURCE_TRANSFORM_UNSIGNED_BYTES:65472,RESULT_UNSIGNED_BYTES:65472,TRANSPORT_EXCHANGE_BYTES:131072,TRANSPORT_BUDGET_BYTES:16*1024*1024}),hc=Object.freeze({[ee.OPEN]:Object.freeze([K.OPEN_ACCEPT,K.ERROR]),[ee.DATA]:Object.freeze([K.ACK,K.DATA,K.WINDOW,K.CLOSE,K.ERROR]),[ee.WINDOW]:Object.freeze([K.ACK,K.DATA,K.WINDOW,K.CLOSE,K.ERROR]),[ee.CLOSE]:Object.freeze([K.ACK,K.CLOSE,K.ERROR]),[ee.POLL]:Object.freeze([K.NOOP,K.DATA,K.WINDOW,K.CLOSE,K.ERROR])}),up=Object.freeze([["OPEN",ee.OPEN],["DATA",ee.DATA],["WINDOW",ee.WINDOW],["CLOSE",ee.CLOSE]].map(([e,t])=>Object.freeze({family:"FORWARD",operation:e,routeKind:7,releaseProfileId:2,requestSchemaId:76,resultSchemaId:77,requestBytes:65536,resultBytes:65536,requestKind:t}))),lp=Object.freeze({requestKinds:ee,responseKinds:K,resultMatrix:hc,adapterOnly:Object.freeze(["POLL","ACK","NOOP"]),globalOperations:Object.freeze(["OPEN","DATA","WINDOW","CLOSE"])}),Ap=Object.freeze([Object.freeze({schemaId:76,schemaName:"BlindForwardHttpsOriginForwardTurnRequestV1",fields:Object.freeze(["magic:fixed4=HFOQ","version:u8=1","routeKind:u8=7","releaseProfileId:u8=2","requestRole:u8[ORIGIN_TEMPLATE=0|FORWARDED=1]","requestKind:u8[OPEN=1|DATA=2|WINDOW=3|CLOSE=4|POLL=5]","flags:u8=0","stableSessionId:fixed32[nonzero]","sequence:u64be","clientSessionNonce:fixed32[nonzero]","requestNonce:fixed32[nonzero]","previousTargetResultHash:fixed32","parentCapabilitySlot:fixed390[origin-zero-exporter-signature|forwarded-finalized]","turnTlsExporterBindingHash:fixed32","originRequestCommitment:fixed32","sourceTransformSignature:fixed64","innerLength:u32be","inner:closed(requestKind){OPEN:BlindForwardOpenV1|DATA:BlindForwardDataV1[maxBytes=64000]|WINDOW:BlindForwardWindowV1|CLOSE:BlindForwardCloseV1|POLL:empty}","padding:zero[65536-668-innerLength]","exactBytes:65536"])}),Object.freeze({schemaId:77,schemaName:"BlindForwardHttpsOriginForwardTurnResultV1",fields:Object.freeze(["magic:fixed4=HFOS","version:u8=1","routeKind:u8=7","releaseProfileId:u8=2","resultRole:u8[TARGET_RESULT=1|SOURCE_PRE_FORWARD_ERROR=2|SOURCE_POST_FORWARD_AMBIGUOUS=3]","requestKind:u8[OPEN=1|DATA=2|WINDOW=3|CLOSE=4|POLL=5]","responseKind:u8[OPEN_ACCEPT=1|ACK=2|NOOP=3|DATA=4|WINDOW=5|CLOSE=6|ERROR=7|AMBIGUOUS=8]","flags:u8=0","stableSessionId:fixed32[nonzero]","sequence:u64be","previousTargetResultHash:fixed32","originRequestCommitment:fixed32[nonzero]","forwardedRequestCommitment:fixed32[nonzero]","finalizedParentCapability:fixed390","turnTlsExporterBindingHash:fixed32[nonzero]","sourceTransformSignature:fixed64[nonzero]","signerPublicKey:fixed32[nonzero]","signerDescriptorSequence:u64be[nonzero]","signerDescriptorHash:fixed32[nonzero]","resultSignature:fixed64","innerLength:u32be","inner:closed(resultRole,requestKind,responseKind)","padding:zero[65536-773-innerLength]","exactBytes:65536"])})]);function p(e,t="BAD_FORWARD_HTTPS_ORIGIN_TURN"){Le(t,e)}function z(e,t,r,i=!1){return(!e||typeof e.byteLength!="number")&&p(`${r} must be bytes`),e=R.default.isBuffer(e)?e:ArrayBuffer.isView(e)?R.default.from(e.buffer,e.byteOffset,e.byteLength):R.default.from(e),e.byteLength!==t&&p(`${r} must be exactly ${t} bytes`),i&&bt(e)&&p(`${r} must be nonzero`),e}function bt(e){for(let t of e)if(t!==0)return!1;return!0}function Gt(e,t){return bt(e)||p(`${t} must be all zero`),e}function ui(e,t){return(!e||typeof e!="object"||Array.isArray(e))&&p(`${t} must be an object`),e}function yo(e,t,r){return(!Number.isSafeInteger(e)||e<0||e>t)&&p(`${r} is outside its unsigned range`),e}function Wt(e,t,r=!1){return typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&p(`${t} must be an unsigned safe integer or bigint`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>sA||r&&e===0n)&&p(`${t} is outside u64`),e}function W(e,t,r){return R.default.copy(t,e,r),r+t.byteLength}function re(e,t,r){return R.default.from(e.subarray(t,t+r))}function br(e,t,r,i){return t=yo(t,4294967295,i),e[r]=t>>>24,e[r+1]=t>>>16,e[r+2]=t>>>8,e[r+3]=t,r+4}function Er(e,t){return e[t]*16777216+e[t+1]*65536+e[t+2]*256+e[t+3]}function Cr(e,t,r,i){t=Wt(t,i);for(let n=7;n>=0;n--)e[r+n]=Number(t&0xffn),t>>=8n;return r+8}function Ur(e,t){let r=0n;for(let i=0;i<8;i++)r=r<<8n|BigInt(e[t+i]);return r}function gc(e){let t=R.default.alloc(8);return Cr(t,BigInt(e),0,"preimage length"),t}function yc(e,t){return R.default.concat([R.default.from(e.exactAsciiBytes,"ascii"),gc(t.byteLength),t])}function li(e,t){ui(e,"parentCapability");for(let a of["url","host","hostname","ip","ipAddress","dialAddress"])a in e&&p(`parentCapability.${a} is forbidden`);(e.version!==1||e.routeKind!==7||e.releaseProfileId!==2)&&p("parent capability fixed header is invalid");let r=z(e.sourceRelayPublicKey,32,"sourceRelayPublicKey",!0),i=z(e.targetRelayPublicKey,32,"targetRelayPublicKey",!0),n=z(e.routePrefixRelayPublicKey,32,"routePrefixRelayPublicKey",!0);R.default.equals(r,i)&&p("source and target relay keys must differ"),R.default.equals(r,n)||p("route prefix must contain exactly the source relay");for(let a of["sourceDescriptorHash","targetDescriptorHash","targetCatalogEntryId","circuitNonce"])z(e[a],32,a,!0);z(e.routeId,16,"routeId",!0),Wt(e.sourceDescriptorSequence,"sourceDescriptorSequence",!0),Wt(e.targetDescriptorSequence,"targetDescriptorSequence",!0),(e.maxRelayCount!==2||e.remainingTransitions!==1||e.circuitClass!==1||Wt(e.maxCircuitBytes,"maxCircuitBytes")!==16n*1024n*1024n||e.initialWindowBytes!==65536||e.idleMillis!==3e4||e.lifetimeMillis!==6e5)&&p("parent capability fixed bounds are invalid"),yo(e.issuedAtEpoch,4294967295,"issuedAtEpoch"),yo(e.expiresAtEpoch,4294967295,"expiresAtEpoch"),e.expiresAtEpoch!==e.issuedAtEpoch+600&&p("parent capability lifetime must be exactly 600 seconds");let o=z(e.tlsExporterBindingHash,32,"tlsExporterBindingHash"),s=z(e.signature,64,"signature");return t===_e.ORIGIN_TEMPLATE?(Gt(o,"origin capability exporter"),Gt(s,"origin capability signature")):t===_e.FORWARDED?(bt(o)||bt(s))&&p("forwarded capability exporter and signature must be nonzero"):p("requestRole is unknown"),e}function Vr(e,t){li(e,t);let r=R.default.alloc(Je.CAPABILITY_BYTES),i=W(r,pc,0);return r[i++]=1,r[i++]=7,r[i++]=2,i=W(r,e.sourceRelayPublicKey,i),i=Cr(r,e.sourceDescriptorSequence,i,"sourceDescriptorSequence"),i=W(r,e.sourceDescriptorHash,i),i=W(r,e.targetRelayPublicKey,i),i=Cr(r,e.targetDescriptorSequence,i,"targetDescriptorSequence"),i=W(r,e.targetDescriptorHash,i),i=W(r,e.targetCatalogEntryId,i),i=W(r,e.routeId,i),i=W(r,e.routePrefixRelayPublicKey,i),r[i++]=e.maxRelayCount,r[i++]=e.remainingTransitions,r[i++]=e.circuitClass,i=Cr(r,e.maxCircuitBytes,i,"maxCircuitBytes"),i=br(r,e.initialWindowBytes,i,"initialWindowBytes"),i=br(r,e.idleMillis,i,"idleMillis"),i=br(r,e.lifetimeMillis,i,"lifetimeMillis"),i=br(r,e.issuedAtEpoch,i,"issuedAtEpoch"),i=br(r,e.expiresAtEpoch,i,"expiresAtEpoch"),i=W(r,e.circuitNonce,i),i=W(r,e.tlsExporterBindingHash,i),i=W(r,e.signature,i),i!==r.byteLength&&p("parent capability slot encoder length mismatch"),r}function bc(e,t){e=z(e,Je.CAPABILITY_BYTES,"parent capability slot"),R.default.equals(e.subarray(0,4),pc)||p("parent capability magic is invalid");let r=4,i={version:e[r++],routeKind:e[r++],releaseProfileId:e[r++],sourceRelayPublicKey:re(e,r,32)};return r+=32,i.sourceDescriptorSequence=Ur(e,r),r+=8,i.sourceDescriptorHash=re(e,r,32),r+=32,i.targetRelayPublicKey=re(e,r,32),r+=32,i.targetDescriptorSequence=Ur(e,r),r+=8,i.targetDescriptorHash=re(e,r,32),r+=32,i.targetCatalogEntryId=re(e,r,32),r+=32,i.routeId=re(e,r,16),r+=16,i.routePrefixRelayPublicKey=re(e,r,32),r+=32,i.maxRelayCount=e[r++],i.remainingTransitions=e[r++],i.circuitClass=e[r++],i.maxCircuitBytes=Ur(e,r),r+=8,i.initialWindowBytes=Er(e,r),r+=4,i.idleMillis=Er(e,r),r+=4,i.lifetimeMillis=Er(e,r),r+=4,i.issuedAtEpoch=Er(e,r),r+=4,i.expiresAtEpoch=Er(e,r),r+=4,i.circuitNonce=re(e,r,32),r+=32,i.tlsExporterBindingHash=re(e,r,32),r+=32,i.signature=re(e,r,64),r+=64,r!==e.byteLength&&p("parent capability slot decoder length mismatch"),li(i,t),R.default.equals(Vr(i,t),e)||p("parent capability slot is not canonical"),i}function Ec(e){return Vr({...e,tlsExporterBindingHash:aA,signature:cA},_e.ORIGIN_TEMPLATE).subarray(0,Je.CAPABILITY_IMMUTABLE_PREFIX_BYTES)}function tr(e,t){let r=Ec(e);return t=z(t,32,"clientSessionNonce",!0),He(R.default.concat([R.default.from(mr.STABLE_SESSION.exactAsciiBytes,"ascii"),gc(r.byteLength+t.byteLength),r,t]))}function mc(e){switch(e){case ee.OPEN:return di;case ee.DATA:return Ar;case ee.WINDOW:return Ir;case ee.CLOSE:return pr;case ee.POLL:return null;default:p("requestKind is unknown")}}function Cc(e){switch(e){case K.OPEN_ACCEPT:return fi;case K.DATA:return Ar;case K.WINDOW:return Ir;case K.CLOSE:return pr;case K.ERROR:return cn;case K.ACK:case K.NOOP:case K.AMBIGUOUS:return null;default:p("responseKind is unknown")}}function dA(e){let t=mc(e.requestKind);if(!t)return e.inner!=null&&p("POLL inner must be absent"),R.default.alloc(0);ui(e.inner,"request inner");let r=e.parentCapability;return e.requestKind===ee.OPEN?((e.sequence!==0n||!bt(e.previousTargetResultHash))&&p("OPEN requires sequence zero and zero previous result hash"),(!R.default.equals(z(e.inner.routeId,16,"inner.routeId"),r.routeId)||Wt(e.inner.nextDescriptorSequence,"inner.nextDescriptorSequence")!==Wt(r.targetDescriptorSequence,"targetDescriptorSequence")||!R.default.equals(z(e.inner.nextDescriptorHash,32,"inner.nextDescriptorHash"),r.targetDescriptorHash)||e.inner.circuitClass!==r.circuitClass||!R.default.equals(z(e.inner.circuitNonce,32,"inner.circuitNonce"),r.circuitNonce)||!bt(z(e.inner.parentRouteScopeHash,32,"inner.parentRouteScopeHash")))&&p("OPEN inner does not bind the parent capability")):((e.sequence===0n||bt(e.previousTargetResultHash))&&p("non-OPEN request requires sequence and previous target result hash"),R.default.equals(z(e.inner.circuitNonce,32,"inner.circuitNonce"),r.circuitNonce)||p("request inner circuitNonce does not bind the parent capability")),e.requestKind===ee.DATA&&(!e.inner.bytes||e.inner.bytes.byteLength>Je.MAX_DATA_BYTES)&&p("DATA bytes exceed the direct-HTTPS 64000-byte clamp","TOO_LARGE"),nt(t,e.inner)}function fA(e){return ui(e,"BlindForwardHttpsOriginForwardTurnRequestV1"),(e.version!==1||e.routeKind!==7||e.releaseProfileId!==2||e.flags!==0)&&p("request fixed header is invalid"),Object.values(_e).includes(e.requestRole)||p("requestRole is unknown"),Object.values(ee).includes(e.requestKind)||p("requestKind is unknown"),e.sequence=Wt(e.sequence,"sequence"),e.stableSessionId=z(e.stableSessionId,32,"stableSessionId",!0),e.clientSessionNonce=z(e.clientSessionNonce,32,"clientSessionNonce",!0),e.requestNonce=z(e.requestNonce,32,"requestNonce",!0),e.previousTargetResultHash=z(e.previousTargetResultHash,32,"previousTargetResultHash"),li(e.parentCapability,e.requestRole),R.default.equals(e.stableSessionId,tr(e.parentCapability,e.clientSessionNonce))||p("stableSessionId does not bind the immutable capability prefix and client nonce"),e.turnTlsExporterBindingHash=z(e.turnTlsExporterBindingHash,32,"turnTlsExporterBindingHash"),e.originRequestCommitment=z(e.originRequestCommitment,32,"originRequestCommitment"),e.sourceTransformSignature=z(e.sourceTransformSignature,64,"sourceTransformSignature"),e.requestRole===_e.ORIGIN_TEMPLATE?(Gt(e.turnTlsExporterBindingHash,"origin exporter mirror"),Gt(e.originRequestCommitment,"origin commitment slot"),Gt(e.sourceTransformSignature,"origin transform signature")):((bt(e.turnTlsExporterBindingHash)||bt(e.originRequestCommitment)||bt(e.sourceTransformSignature))&&p("forwarded exporter, origin commitment, and transform signature must be nonzero"),R.default.equals(e.turnTlsExporterBindingHash,e.parentCapability.tlsExporterBindingHash)||p("forwarded exporter mirror does not match the finalized capability")),e.requestKind===ee.POLL&&(e.sequence===0n||bt(e.previousTargetResultHash))&&p("POLL requires a prior definitive target result"),dA(e)}function bo(e){let t=fA(e);t.byteLength>Je.MAX_REQUEST_INNER_BYTES&&p("request inner exceeds exact-body capacity","TOO_LARGE");let r=R.default.alloc(Je.EXACT_REQUEST_BYTES),i=W(r,Ac,0);r[i++]=1,r[i++]=7,r[i++]=2,r[i++]=e.requestRole,r[i++]=e.requestKind,r[i++]=0,i=W(r,e.stableSessionId,i),i=Cr(r,e.sequence,i,"sequence"),i=W(r,e.clientSessionNonce,i),i=W(r,e.requestNonce,i),i=W(r,e.previousTargetResultHash,i),i=W(r,Vr(e.parentCapability,e.requestRole),i),i=W(r,e.turnTlsExporterBindingHash,i),i=W(r,e.originRequestCommitment,i),i=W(r,e.sourceTransformSignature,i),i=br(r,t.byteLength,i,"innerLength"),i=W(r,t,i);let n=r.byteLength-i;return e.padding!=null&&Gt(z(e.padding,n,"padding"),"padding"),i+=n,i!==r.byteLength&&p("request encoder length mismatch"),r}function zt(e){e=z(e,Je.EXACT_REQUEST_BYTES,"request body"),R.default.equals(e.subarray(0,4),Ac)||p("request magic is invalid");let t=4,r={version:e[t++],routeKind:e[t++],releaseProfileId:e[t++],requestRole:e[t++],requestKind:e[t++],flags:e[t++],stableSessionId:re(e,t,32)};t+=32,r.sequence=Ur(e,t),t+=8,r.clientSessionNonce=re(e,t,32),t+=32,r.requestNonce=re(e,t,32),t+=32,r.previousTargetResultHash=re(e,t,32),t+=32,r.parentCapability=bc(e.subarray(t,t+390),r.requestRole),t+=390,r.turnTlsExporterBindingHash=re(e,t,32),t+=32,r.originRequestCommitment=re(e,t,32),t+=32,r.sourceTransformSignature=re(e,t,64),t+=64;let i=Er(e,t);t+=4,i>Je.MAX_REQUEST_INNER_BYTES&&p("request innerLength exceeds exact-body capacity");let n=mc(r.requestKind);return n?r.inner=pt(n,e.subarray(t,t+i),{copyBytes:!0}):i!==0?p("POLL innerLength must be zero"):r.inner=null,t+=i,r.padding=re(e,t,e.byteLength-t),Gt(r.padding,"padding"),R.default.equals(bo(r),e)||p("request body is not canonical"),r}function xc(e){if(e===rt.TARGET_RESULT)return mr.TARGET_RESULT;if(e===rt.SOURCE_PRE_FORWARD_ERROR)return mr.SOURCE_PRE_FORWARD_ERROR;if(e===rt.SOURCE_POST_FORWARD_AMBIGUOUS)return mr.SOURCE_POST_FORWARD_AMBIGUOUS;p("resultRole is unknown")}function uA(e){let t=Cc(e.responseKind);return t?(ui(e.inner,"result inner"),e.responseKind===K.DATA&&(!e.inner.bytes||e.inner.bytes.byteLength>Je.MAX_DATA_BYTES)&&p("result DATA bytes exceed the direct-HTTPS 64000-byte clamp","TOO_LARGE"),[K.DATA,K.WINDOW,K.CLOSE].includes(e.responseKind)&&!R.default.equals(z(e.inner.circuitNonce,32,"result inner circuitNonce"),e.finalizedParentCapability.circuitNonce)&&p("result inner circuitNonce does not bind the finalized capability"),nt(t,e.inner)):(e.inner!=null&&p("zero-inner response must not carry inner data"),R.default.alloc(0))}function lA(e){ui(e,"BlindForwardHttpsOriginForwardTurnResultV1"),(e.version!==1||e.routeKind!==7||e.releaseProfileId!==2||e.flags!==0)&&p("result fixed header is invalid"),xc(e.resultRole),Object.values(ee).includes(e.requestKind)||p("result requestKind is unknown"),Object.values(K).includes(e.responseKind)||p("responseKind is unknown"),e.resultRole===rt.TARGET_RESULT?hc[e.requestKind].includes(e.responseKind)||p("target response is illegal for requestKind"):e.resultRole===rt.SOURCE_PRE_FORWARD_ERROR?e.responseKind!==K.ERROR&&p("source pre-forward result must be ERROR"):e.responseKind!==K.AMBIGUOUS&&p("source post-forward result must be AMBIGUOUS"),e.stableSessionId=z(e.stableSessionId,32,"stableSessionId",!0),e.sequence=Wt(e.sequence,"sequence"),e.previousTargetResultHash=z(e.previousTargetResultHash,32,"previousTargetResultHash"),e.sequence===0n!==bt(e.previousTargetResultHash)&&p("result previous target hash does not match sequence");for(let o of["originRequestCommitment","forwardedRequestCommitment","turnTlsExporterBindingHash","signerPublicKey","signerDescriptorHash"])e[o]=z(e[o],32,o,!0);e.sourceTransformSignature=z(e.sourceTransformSignature,64,"sourceTransformSignature",!0),e.resultSignature=z(e.resultSignature,64,"resultSignature"),li(e.finalizedParentCapability,_e.FORWARDED),R.default.equals(e.turnTlsExporterBindingHash,e.finalizedParentCapability.tlsExporterBindingHash)||p("result exporter mirror does not match finalized capability");let t=e.resultRole!==rt.TARGET_RESULT,r=t?e.finalizedParentCapability.sourceRelayPublicKey:e.finalizedParentCapability.targetRelayPublicKey,i=t?e.finalizedParentCapability.sourceDescriptorSequence:e.finalizedParentCapability.targetDescriptorSequence,n=t?e.finalizedParentCapability.sourceDescriptorHash:e.finalizedParentCapability.targetDescriptorHash;return(!R.default.equals(e.signerPublicKey,r)||Wt(e.signerDescriptorSequence,"signerDescriptorSequence",!0)!==i||!R.default.equals(e.signerDescriptorHash,n))&&p("result signer does not match the role-selected capability descriptor"),uA(e)}function Sc(e){let t=lA(e);t.byteLength>Je.MAX_RESULT_INNER_BYTES&&p("result inner exceeds exact-body capacity","TOO_LARGE");let r=R.default.alloc(Je.EXACT_RESULT_BYTES),i=W(r,Ic,0);r[i++]=1,r[i++]=7,r[i++]=2,r[i++]=e.resultRole,r[i++]=e.requestKind,r[i++]=e.responseKind,r[i++]=0,i=W(r,e.stableSessionId,i),i=Cr(r,e.sequence,i,"sequence"),i=W(r,e.previousTargetResultHash,i),i=W(r,e.originRequestCommitment,i),i=W(r,e.forwardedRequestCommitment,i),i=W(r,Vr(e.finalizedParentCapability,_e.FORWARDED),i),i=W(r,e.turnTlsExporterBindingHash,i),i=W(r,e.sourceTransformSignature,i),i=W(r,e.signerPublicKey,i),i=Cr(r,e.signerDescriptorSequence,i,"signerDescriptorSequence"),i=W(r,e.signerDescriptorHash,i),i=W(r,e.resultSignature,i),i=br(r,t.byteLength,i,"innerLength"),i=W(r,t,i);let n=r.byteLength-i;return e.padding!=null&&Gt(z(e.padding,n,"padding"),"padding"),i+=n,i!==r.byteLength&&p("result encoder length mismatch"),r}function fn(e){e=z(e,Je.EXACT_RESULT_BYTES,"result body"),R.default.equals(e.subarray(0,4),Ic)||p("result magic is invalid");let t=4,r={version:e[t++],routeKind:e[t++],releaseProfileId:e[t++],resultRole:e[t++],requestKind:e[t++],responseKind:e[t++],flags:e[t++],stableSessionId:re(e,t,32)};t+=32,r.sequence=Ur(e,t),t+=8,r.previousTargetResultHash=re(e,t,32),t+=32,r.originRequestCommitment=re(e,t,32),t+=32,r.forwardedRequestCommitment=re(e,t,32),t+=32,r.finalizedParentCapability=bc(e.subarray(t,t+390),_e.FORWARDED),t+=390,r.turnTlsExporterBindingHash=re(e,t,32),t+=32,r.sourceTransformSignature=re(e,t,64),t+=64,r.signerPublicKey=re(e,t,32),t+=32,r.signerDescriptorSequence=Ur(e,t),t+=8,r.signerDescriptorHash=re(e,t,32),t+=32,r.resultSignature=re(e,t,64),t+=64;let i=Er(e,t);t+=4,i>Je.MAX_RESULT_INNER_BYTES&&p("result innerLength exceeds exact-body capacity");let n=Cc(r.responseKind);return n?r.inner=pt(n,e.subarray(t,t+i),{copyBytes:!0}):i!==0?p("zero-inner response innerLength must be zero"):r.inner=null,t+=i,r.padding=re(e,t,e.byteLength-t),Gt(r.padding,"padding"),R.default.equals(Sc(r),e)||p("result body is not canonical"),r}function Rc(e,t,r){return Object.freeze({preencode(i,n){t(n),i.end+=e},encode(i,n){let o=t(n);i.end-i.start<e&&p("truncated output allocation"),R.default.copy(o,i.buffer,i.start),i.start+=e},decode(i){i.end-i.start<e&&p("truncated exact-size body");let n=r(i.buffer.subarray(i.start,i.start+e));return i.start+=e,n}})}var Ai=Rc(65536,bo,zt),Ii=Rc(65536,Sc,fn);function St(e){return e&&typeof e=="object"&&typeof e.byteLength!="number"?nt(Ai,e):z(e,65536,"request body")}function pi(e){return e&&typeof e=="object"&&typeof e.byteLength!="number"?nt(Ii,e):z(e,65536,"result body")}function Bc(e){let t=St(e);return He(R.default.concat([R.default.from(mr.REQUEST.exactAsciiBytes,"ascii"),t]))}function rr(e){let t=St(e);return t[7]!==_e.ORIGIN_TEMPLATE&&p("origin commitment requires an origin request"),Bc(t)}function AA(e){let t=St(e);return t[7]!==_e.FORWARDED&&p("forwarded commitment requires a forwarded request"),Bc(t)}function hi(e){return He(Ec(e))}function gi(e){let t=St(e),r=zt(t);r.requestRole!==_e.ORIGIN_TEMPLATE&&p("capability prefix hash requires an origin request");let i=hi(r.parentCapability);return R.default.equals(i,He(t.subarray(146,440)))||p("origin capability prefix hash is inconsistent"),i}function IA(e){let t=St(e);t[7]!==_e.FORWARDED&&p("source transform signature requires a forwarded request");let r=R.default.concat([t.subarray(0,600),t.subarray(664)]);return r.byteLength!==Je.SOURCE_TRANSFORM_UNSIGNED_BYTES&&p("source transform unsigned length mismatch"),yc(mr.SOURCE_TRANSFORM,r)}function pA(e){let t=pi(e),r=t[7],i=R.default.concat([t.subarray(0,705),t.subarray(769)]);return i.byteLength!==Je.RESULT_UNSIGNED_BYTES&&p("result unsigned length mismatch"),yc(xc(r),i)}function yi(e){let t=pi(e);return t[7]!==rt.TARGET_RESULT&&p("only a TARGET_RESULT may advance the result chain"),He(R.default.concat([R.default.from(mr.TARGET_RESULT_CHAIN.exactAsciiBytes,"ascii"),t]))}function hA(e,t){let r=St(e),i=St(t);(r[7]!==0||i[7]!==1)&&p("transformation roles must be origin then forwarded");let n=new Set([7]);for(let a=440;a<664;a++)n.add(a);for(let a=0;a<r.byteLength;a++)!n.has(a)&&r[a]!==i[a]&&p(`source transform changed forbidden byte ${a}`);let o=zt(r),s=zt(i);return R.default.equals(s.originRequestCommitment,rr(r))||p("forwarded request does not contain the exact origin commitment"),(!R.default.equals(o.stableSessionId,s.stableSessionId)||o.sequence!==s.sequence)&&p("source transform changed stable session or sequence"),!0}function bi(e){return li(e,_e.FORWARDED),qr.crypto_sign_verify_detached(e.signature,ac(e),e.sourceRelayPublicKey)}function gA(e){let t=St(e),r=zt(t);return r.requestRole!==_e.FORWARDED?!1:qr.crypto_sign_verify_detached(r.sourceTransformSignature,IA(t),r.parentCapability.sourceRelayPublicKey)}function Ei(e){let t=pi(e),r=fn(t);return qr.crypto_sign_verify_detached(r.resultSignature,pA(t),r.signerPublicKey)}function yA(e,t,r=null){let i=zt(e),n=fn(t);return i.requestRole!==_e.FORWARDED&&p("result binding requires a forwarded request"),r!=null&&n.resultRole!==r&&p("result role is not authorized for this binding"),(!R.default.equals(n.stableSessionId,i.stableSessionId)||n.sequence!==i.sequence||n.requestKind!==i.requestKind||!R.default.equals(n.previousTargetResultHash,i.previousTargetResultHash)||!R.default.equals(n.originRequestCommitment,i.originRequestCommitment)||!R.default.equals(n.forwardedRequestCommitment,AA(e))||!R.default.equals(Vr(n.finalizedParentCapability,1),Vr(i.parentCapability,1))||!R.default.equals(n.turnTlsExporterBindingHash,i.turnTlsExporterBindingHash)||!R.default.equals(n.sourceTransformSignature,i.sourceTransformSignature))&&p("result provenance does not bind the exact forwarded request"),bi(i.parentCapability)||p("parent capability signature is invalid"),gA(e)||p("source transform signature is invalid"),Ei(t)||p("result signature is invalid"),{forwarded:i,result:n}}function bA(e,t,r){let i=St(e),n=St(t),o=pi(r);hA(i,n);let s=zt(i),{result:a}=yA(n,o);return(!R.default.equals(a.stableSessionId,s.stableSessionId)||a.sequence!==s.sequence||a.requestKind!==s.requestKind||!R.default.equals(a.previousTargetResultHash,s.previousTargetResultHash)||!R.default.equals(a.originRequestCommitment,rr(i)))&&p("result provenance does not bind the exact origin and forwarded request"),a}function Tc(e,t){let r=St(e),i=pi(t),n=zt(r),o=fn(i);n.requestRole!==_e.ORIGIN_TEMPLATE&&p("origin result assertion requires role ORIGIN_TEMPLATE");let s=bo({...n,requestRole:_e.FORWARDED,parentCapability:o.finalizedParentCapability,turnTlsExporterBindingHash:o.turnTlsExporterBindingHash,originRequestCommitment:o.originRequestCommitment,sourceTransformSignature:o.sourceTransformSignature}),a=bA(r,s,i),I=a.resultRole===rt.TARGET_RESULT;return Object.freeze({origin:n,forwarded:zt(s),result:a,originBytes:R.default.from(r),forwardedBytes:R.default.from(s),resultBytes:R.default.from(i),targetResultChainHash:I?yi(i):null,normalClose:I&&n.requestKind===ee.CLOSE,targetFin:I&&a.responseKind===K.CLOSE})}var be=It(Ze(),1),lt=It(zc(),1);var PA=(1n<<64n)-1n,Cp=Object.freeze({authorityVersion:3,formatMajor:3,formatMinor:0}),xp=Object.freeze({ForwardHttpsVerifiedEndpointV3:9,ForwardHttpsSessionV3:10}),Ge=Object.freeze({NONE:0,PERSISTED_BEFORE_FETCH:1,AWAITING_DEFINITIVE_TARGET:2}),Sp=Object.freeze([Object.freeze({schemaId:9,schemaName:"ForwardHttpsVerifiedEndpointV3",fields:Object.freeze(["version:u8=3","releaseProfileId:u8=2","routeKind:u8=7","wireV3AbiHash:fixed32[nonzero]","verifiedEndpointHandleHash:fixed32[nonzero;opaque-exact-FORWARD-operation]","sourceRelayPublicKey:fixed32[nonzero]","sourceDescriptorSequence:u64be[nonzero]","sourceDescriptorHash:fixed32[nonzero]","targetCatalogEntryId:fixed32[nonzero]","targetRelayPublicKey:fixed32[nonzero;different-source]","targetDescriptorSequence:u64be[nonzero]","targetDescriptorHash:fixed32[nonzero]","signedDescriptorHash:fixed32[nonzero]","signedHealthHash:fixed32[nonzero]","descriptorFresh:true","signedHealthFresh:true","credentialFreeHttps:true","cookies:false","authorization:false","referrer:false","redirect:false","exactRequestBytes:65536","exactResultBytes:65536","continuityBackend:INDEXEDDB_PERSISTENT","no-url-host-ip-dial-or-credential-fields"])}),Object.freeze({schemaId:10,schemaName:"ForwardHttpsSessionV3",fields:Object.freeze(["version:u8=3","verifiedEndpoint:ForwardHttpsVerifiedEndpointV3","stableSessionId:fixed32[nonzero]","capabilityPrefixHash:fixed32[nonzero]","clientSessionNonce:fixed32[nonzero]","nextSequence:u64be","previousTargetResultHash:fixed32[zero-iff-nextSequence-zero]","terminal:u8[0|1]","outstandingState:u8[NONE=0|PERSISTED_BEFORE_FETCH=1|AWAITING_DEFINITIVE_TARGET=2]","outstandingOriginRequestCommitment:fixed32[zero-iff-NONE]","outstandingOriginRequest:bytes[zero-iff-NONE|exact65536-otherwise]","lastDefinitiveTargetResult:bytes[zero-iff-nextSequence-zero|exact65536-otherwise]","indexeddb-transactional-persistence-required","source-results-never-advance","forwardReadinessOperationBits:0"])})]);function oe(e){Le("BAD_CLIENT_COMPOSITION_V3",e)}function $e(e,t,r,i=!1){return(!e||typeof e.byteLength!="number")&&oe(`${r} must be bytes`),e=be.default.isBuffer(e)?e:ArrayBuffer.isView(e)?be.default.from(e.buffer,e.byteOffset,e.byteLength):be.default.from(e),e.byteLength!==t&&oe(`${r} must be exactly ${t} bytes`),i&&ln(e)&&oe(`${r} must be nonzero`),be.default.from(e)}function kc(e,t){return e==null?be.default.alloc(0):(typeof e.byteLength!="number"&&oe(`${t} must be bytes`),be.default.from(e))}function ln(e){for(let t of e)if(t!==0)return!1;return!0}function To(e,t,r=!1){return typeof e=="number"&&((!Number.isSafeInteger(e)||e<0)&&oe(`${t} must be an unsigned safe integer or bigint`),e=BigInt(e)),(typeof e!="bigint"||e<0n||e>PA||r&&e===0n)&&oe(`${t} is outside u64`),e}function Xc(e,t,r){let i=Object.keys(e).sort(),n=[...t].sort();(i.length!==n.length||i.some((o,s)=>o!==n[s]))&&oe(`${r} has an unknown or missing field`)}var LA=Object.freeze(["version","releaseProfileId","routeKind","wireV3AbiHash","verifiedEndpointHandleHash","sourceRelayPublicKey","sourceDescriptorSequence","sourceDescriptorHash","targetCatalogEntryId","targetRelayPublicKey","targetDescriptorSequence","targetDescriptorHash","signedDescriptorHash","signedHealthHash","descriptorFresh","signedHealthFresh","credentialFreeHttps","cookies","authorization","referrer","redirect","exactRequestBytes","exactResultBytes","continuityBackend"]),HA=Object.freeze(["version","verifiedEndpoint","stableSessionId","capabilityPrefixHash","clientSessionNonce","nextSequence","previousTargetResultHash","terminal","outstandingState","outstandingOriginRequestCommitment","outstandingOriginRequest","lastDefinitiveTargetResult"]);function jc(e,t){for(let r of["sourceRelayPublicKey","sourceDescriptorHash","targetRelayPublicKey","targetDescriptorHash","targetCatalogEntryId"])be.default.equals(e[r],t[r])||oe(`session capability ${r} does not match the verified endpoint`);(e.sourceDescriptorSequence!==t.sourceDescriptorSequence||e.targetDescriptorSequence!==t.targetDescriptorSequence)&&oe("session capability descriptor sequence does not match the verified endpoint")}function _o(e,t=null){(!e||typeof e!="object")&&oe("verified endpoint must be an object");for(let i of["url","host","hostname","ip","ipAddress","dialAddress","credentials","username","password","authorizationHeader"])i in e&&oe(`verified endpoint ${i} is forbidden`);Xc(e,LA,"verified endpoint"),(e.version!==3||e.releaseProfileId!==2||e.routeKind!==7)&&oe("verified endpoint fixed profile is invalid");let r={version:3,releaseProfileId:2,routeKind:7,wireV3AbiHash:$e(e.wireV3AbiHash,32,"wireV3AbiHash",!0),verifiedEndpointHandleHash:$e(e.verifiedEndpointHandleHash,32,"verifiedEndpointHandleHash",!0),sourceRelayPublicKey:$e(e.sourceRelayPublicKey,32,"sourceRelayPublicKey",!0),sourceDescriptorSequence:To(e.sourceDescriptorSequence,"sourceDescriptorSequence",!0),sourceDescriptorHash:$e(e.sourceDescriptorHash,32,"sourceDescriptorHash",!0),targetCatalogEntryId:$e(e.targetCatalogEntryId,32,"targetCatalogEntryId",!0),targetRelayPublicKey:$e(e.targetRelayPublicKey,32,"targetRelayPublicKey",!0),targetDescriptorSequence:To(e.targetDescriptorSequence,"targetDescriptorSequence",!0),targetDescriptorHash:$e(e.targetDescriptorHash,32,"targetDescriptorHash",!0),signedDescriptorHash:$e(e.signedDescriptorHash,32,"signedDescriptorHash",!0),signedHealthHash:$e(e.signedHealthHash,32,"signedHealthHash",!0),descriptorFresh:e.descriptorFresh,signedHealthFresh:e.signedHealthFresh,credentialFreeHttps:e.credentialFreeHttps,cookies:e.cookies,authorization:e.authorization,referrer:e.referrer,redirect:e.redirect,exactRequestBytes:e.exactRequestBytes,exactResultBytes:e.exactResultBytes,continuityBackend:e.continuityBackend};return be.default.equals(r.sourceRelayPublicKey,r.targetRelayPublicKey)&&oe("source and target relay public keys must differ"),t!=null&&!be.default.equals(r.wireV3AbiHash,$e(t,32,"expectedWireV3AbiHash",!0))&&oe("verified endpoint WIRE v3 ABI hash does not match"),(r.descriptorFresh!==!0||r.signedHealthFresh!==!0||r.credentialFreeHttps!==!0||r.cookies!==!1||r.authorization!==!1||r.referrer!==!1||r.redirect!==!1||r.exactRequestBytes!==65536||r.exactResultBytes!==65536||r.continuityBackend!=="INDEXEDDB_PERSISTENT")&&oe("verified endpoint trust, privacy, size, or continuity policy is incomplete"),Object.freeze(r)}function An(e,t=null){(!e||typeof e!="object"||e.version!==3)&&oe("session fixed header is invalid"),Xc(e,HA,"session");let r=_o(e.verifiedEndpoint,t),i=$e(e.stableSessionId,32,"stableSessionId",!0),n=$e(e.capabilityPrefixHash,32,"capabilityPrefixHash",!0),o=$e(e.clientSessionNonce,32,"clientSessionNonce",!0),s=To(e.nextSequence,"nextSequence"),a=$e(e.previousTargetResultHash,32,"previousTargetResultHash");s===0n!==ln(a)&&oe("previous target result hash must be zero iff nextSequence is zero"),e.terminal!==0&&e.terminal!==1&&oe("terminal must be 0 or 1"),[0,1,2].includes(e.outstandingState)||oe("outstandingState is outside the closed registry");let I=$e(e.outstandingOriginRequestCommitment,32,"outstandingOriginRequestCommitment"),E=kc(e.outstandingOriginRequest,"outstandingOriginRequest");if(e.outstandingState===Ge.NONE)(!ln(I)||E.byteLength!==0)&&oe("NONE outstanding state requires zero commitment and zero request bytes");else if(ln(I)||E.byteLength!==65536)oe("persisted outstanding state requires a nonzero commitment and exact 65536-byte request");else{let C=pt(Ai,E,{copyBytes:!0});(C.requestRole!==_e.ORIGIN_TEMPLATE||C.sequence!==s||!be.default.equals(C.stableSessionId,i)||!be.default.equals(C.clientSessionNonce,o)||!be.default.equals(C.previousTargetResultHash,a)||!be.default.equals(rr(E),I)||!be.default.equals(gi(E),n)||!be.default.equals(tr(C.parentCapability,o),i))&&oe("outstanding origin request does not bind the exact session state"),jc(C.parentCapability,r),s===0n!=(C.requestKind===ee.OPEN)&&oe("only the sequence-zero request may be OPEN")}let m=kc(e.lastDefinitiveTargetResult,"lastDefinitiveTargetResult");if((s===0n?m.byteLength!==0:m.byteLength!==65536)&&oe("last definitive target result size does not match nextSequence"),s!==0n){let C=pt(Ii,m,{copyBytes:!0});(C.resultRole!==rt.TARGET_RESULT||C.sequence!==s-1n||!be.default.equals(C.stableSessionId,i)||!be.default.equals(tr(C.finalizedParentCapability,o),i)||!be.default.equals(hi(C.finalizedParentCapability),n)||!be.default.equals(yi(m),a)||!be.default.equals(C.signerPublicKey,r.targetRelayPublicKey)||C.signerDescriptorSequence!==r.targetDescriptorSequence||!be.default.equals(C.signerDescriptorHash,r.targetDescriptorHash)||!bi(C.finalizedParentCapability)||!Ei(m))&&oe("last definitive target result does not bind the exact session chain and target authority"),jc(C.finalizedParentCapability,r),C.requestKind===ee.CLOSE&&e.terminal!==1&&oe("a definitive CLOSE request requires terminal state")}return e.terminal===1&&e.outstandingState!==Ge.NONE&&oe("terminal session cannot retain a live outstanding request"),Object.freeze({version:3,verifiedEndpoint:r,stableSessionId:i,capabilityPrefixHash:n,clientSessionNonce:o,nextSequence:s,previousTargetResultHash:a,terminal:e.terminal,outstandingState:e.outstandingState,outstandingOriginRequestCommitment:I,outstandingOriginRequest:E,lastDefinitiveTargetResult:m})}function KA(e){return{preencode(t,r){lt.default.uint.preencode(t,r.length);for(let i of r)e.preencode(t,i)},encode(t,r){lt.default.uint.encode(t,r.length);for(let i of r)e.encode(t,i)},decode(t){let r=lt.default.uint.decode(t),i=[];for(let n=0;n<r;n++)i.push(e.decode(t));return i}}}var QA={preencode(e,t){lt.default.uint.preencode(e,t.schemaId),lt.default.string.preencode(e,t.schemaName),lt.default.buffer.preencode(e,t.canonicalDeclarationBytes)},encode(e,t){lt.default.uint.encode(e,t.schemaId),lt.default.string.encode(e,t.schemaName),lt.default.buffer.encode(e,t.canonicalDeclarationBytes)},decode(e){return{schemaId:lt.default.uint.decode(e),schemaName:lt.default.string.decode(e),canonicalDeclarationBytes:be.default.from(lt.default.buffer.decode(e))}}},Rp=KA(QA);var FA=(1n<<64n)-1n,Ht="forwardHttpsSessionsV3",MA=Object.freeze({profile:"blind-client-control-v3",wireV3AbiHash:"c15c6a994d3bc2e54a397446b475a12d7f27e04be68e6e3eb86b28d518752881",clientCompositionV3FormatHash:"12d588b87c596a7a55ed64ee731fc32779d48a08285dcf0e4f7bcfb9ceb46b0d",releaseProfileId:2,routeKind:7,exactRequestBytes:65536,exactResultBytes:65536,forwardDescriptorOperationBits:0,forwardAdvertisedOperationBits:0,forwardReadinessOperationBits:0,runtimeReady:!1,realBrowserEvidenceAccepted:!1,authorizesRelease:!1}),Et=Object.freeze({NONE:"NONE",NORMAL_CLOSE:"NORMAL_CLOSE",CORRECTNESS:"CORRECTNESS"}),td=Object.freeze({OUTSTANDING_CONFLICT:"OUTSTANDING_CONFLICT"}),In=T.default.from(MA.wireV3AbiHash,"hex"),rd=Object.freeze(["version","releaseProfileId","routeKind","wireV3AbiHash","verifiedEndpointHandleHash","sourceRelayPublicKey","sourceDescriptorSequence","sourceDescriptorHash","targetCatalogEntryId","targetRelayPublicKey","targetDescriptorSequence","targetDescriptorHash","signedDescriptorHash","signedHealthHash","descriptorFresh","signedHealthFresh","credentialFreeHttps","cookies","authorization","referrer","redirect","exactRequestBytes","exactResultBytes","continuityBackend"]),UA=Object.freeze(["recordVersion","sessionKey","verifiedEndpoint","stableSessionId","capabilityPrefixHash","clientSessionNonce","nextSequence","previousTargetResultHash","terminal","terminalKind","outstandingState","outstandingOriginRequestCommitment","outstandingOriginRequest","lastDefinitiveTargetResult","targetFin","terminalEvidence"]),VA=Object.freeze(["kind","originalOutstandingState","sequence","originRequestCommitment","originRequest"]);function q(e,t="BAD_BROWSER_FORWARD_STATE_V3"){let r=new Error(e);throw r.code=t,r}function Ti(e="browser FORWARD session is terminal"){q(e,"TERMINAL_BROWSER_FORWARD_SESSION")}function At(e,t,r,i=!1){return(!e||typeof e.byteLength!="number")&&q(`${r} must be ArrayBuffer-backed bytes`),e=T.default.isBuffer(e)?e:ArrayBuffer.isView(e)?T.default.from(e.buffer,e.byteOffset,e.byteLength):T.default.from(e),e.byteLength!==t&&q(`${r} must be exactly ${t} bytes`),i&&Ri(e)&&q(`${r} must be nonzero`),T.default.from(e)}function Jc(e,t){return(!e||typeof e.byteLength!="number")&&q(`${t} must be ArrayBuffer-backed bytes`),T.default.isBuffer(e)?T.default.from(e):ArrayBuffer.isView(e)?T.default.from(e.buffer,e.byteOffset,e.byteLength):T.default.from(e)}function Ri(e){for(let t of e)if(t!==0)return!1;return!0}function pn(e,t,r){(!e||typeof e!="object"||Array.isArray(e))&&q(`${r} must be an object`);let i=Object.keys(e).sort(),n=[...t].sort();(i.length!==n.length||i.some((o,s)=>o!==n[s]))&&q(`${r} has an unknown or missing field`)}function zr(e){return(typeof e!="string"||e.length<1||e.length>256)&&q("sessionKey must be a nonempty string of at most 256 characters"),e}function Bi(e,t){(typeof e!="string"||!/^(0|[1-9][0-9]*)$/.test(e))&&q(`${t} must be a canonical decimal u64 string`);let r=BigInt(e);return(r<0n||r>FA)&&q(`${t} is outside u64`),r}function $c(e,t){for(let r of rd)if(typeof e[r]=="bigint"){if(e[r]!==t[r])return!1}else if(e[r]&&typeof e[r].byteLength=="number"){if(!T.default.equals(e[r],t[r]))return!1}else if(e[r]!==t[r])return!1;return!0}function Do(e){let t=_o(e,In);return pn(e,rd,"verifiedEndpoint"),Object.freeze({...t,wireV3AbiHash:T.default.from(t.wireV3AbiHash),verifiedEndpointHandleHash:T.default.from(t.verifiedEndpointHandleHash),sourceRelayPublicKey:T.default.from(t.sourceRelayPublicKey),sourceDescriptorHash:T.default.from(t.sourceDescriptorHash),targetCatalogEntryId:T.default.from(t.targetCatalogEntryId),targetRelayPublicKey:T.default.from(t.targetRelayPublicKey),targetDescriptorHash:T.default.from(t.targetDescriptorHash),signedDescriptorHash:T.default.from(t.signedDescriptorHash),signedHealthHash:T.default.from(t.signedHealthHash)})}function hn(e,t){for(let r of["sourceRelayPublicKey","sourceDescriptorHash","targetRelayPublicKey","targetDescriptorHash","targetCatalogEntryId"])T.default.equals(e[r],t[r])||q(`parent capability ${r} does not match verifiedEndpoint`);(e.sourceDescriptorSequence!==t.sourceDescriptorSequence||e.targetDescriptorSequence!==t.targetDescriptorSequence)&&q("parent capability descriptor sequence does not match verifiedEndpoint")}function YA(e,t){hn(e.forwarded.parentCapability,t);let r=e.result,i=r.resultRole!==rt.TARGET_RESULT,n=i?t.sourceRelayPublicKey:t.targetRelayPublicKey,o=i?t.sourceDescriptorSequence:t.targetDescriptorSequence,s=i?t.sourceDescriptorHash:t.targetDescriptorHash;(!T.default.equals(r.signerPublicKey,n)||r.signerDescriptorSequence!==o||!T.default.equals(r.signerDescriptorHash,s))&&q("result signer does not match complete verifiedEndpoint authority")}function Oo(e,t="origin request"){let r=At(e,65536,t),i=pt(Ai,r,{copyBytes:!0});return i.requestRole!==_e.ORIGIN_TEMPLATE&&q(`${t} must be an ORIGIN_TEMPLATE ID76`),Object.freeze({request:i,requestBytes:r})}function Zc(e,t,r){let{request:i,requestBytes:n}=e;(!T.default.equals(i.stableSessionId,t.stableSessionId)||!T.default.equals(i.clientSessionNonce,t.clientSessionNonce)||i.sequence!==t.nextSequence||!T.default.equals(i.previousTargetResultHash,t.previousTargetResultHash)||!T.default.equals(rr(n),t.outstandingOriginRequestCommitment)||!T.default.equals(gi(n),t.capabilityPrefixHash)||!T.default.equals(tr(i.parentCapability,i.clientSessionNonce),t.stableSessionId))&&q("origin request does not bind the exact durable session state"),hn(i.parentCapability,r),i.sequence===0n!=(i.requestKind===ee.OPEN)&&q("only the sequence-zero origin request may be OPEN")}function GA(e,t,r){let i=pt(Ii,e,{copyBytes:!0});return(i.resultRole!==rt.TARGET_RESULT||i.sequence!==t.nextSequence-1n||!T.default.equals(i.stableSessionId,t.stableSessionId)||!T.default.equals(tr(i.finalizedParentCapability,t.clientSessionNonce),t.stableSessionId)||!T.default.equals(hi(i.finalizedParentCapability),t.capabilityPrefixHash)||!T.default.equals(yi(e),t.previousTargetResultHash)||!T.default.equals(i.signerPublicKey,r.targetRelayPublicKey)||i.signerDescriptorSequence!==r.targetDescriptorSequence||!T.default.equals(i.signerDescriptorHash,r.targetDescriptorHash)||!bi(i.finalizedParentCapability)||!Ei(e))&&q("lastDefinitiveTargetResult does not bind the durable target-result chain"),hn(i.finalizedParentCapability,r),i}function id(e){return e==null?null:(pn(e,VA,"terminalEvidence"),(e.kind!==td.OUTSTANDING_CONFLICT||![Ge.PERSISTED_BEFORE_FETCH,Ge.AWAITING_DEFINITIVE_TARGET].includes(e.originalOutstandingState))&&q("terminalEvidence has an invalid closed kind or outstanding state"),Object.freeze({kind:e.kind,originalOutstandingState:e.originalOutstandingState,sequence:Bi(e.sequence,"terminalEvidence.sequence").toString(),originRequestCommitment:At(e.originRequestCommitment,32,"terminalEvidence.originRequestCommitment",!0),originRequest:At(e.originRequest,65536,"terminalEvidence.originRequest")}))}function WA(e){return Object.freeze({recordVersion:3,sessionKey:e.sessionKey,verifiedEndpoint:Do(e.verifiedEndpoint),stableSessionId:T.default.from(e.stableSessionId),capabilityPrefixHash:T.default.from(e.capabilityPrefixHash),clientSessionNonce:T.default.from(e.clientSessionNonce),nextSequence:e.nextSequence,previousTargetResultHash:T.default.from(e.previousTargetResultHash),terminal:e.terminal,terminalKind:e.terminalKind,outstandingState:e.outstandingState,outstandingOriginRequestCommitment:T.default.from(e.outstandingOriginRequestCommitment),outstandingOriginRequest:T.default.from(e.outstandingOriginRequest),lastDefinitiveTargetResult:T.default.from(e.lastDefinitiveTargetResult),targetFin:e.targetFin,terminalEvidence:id(e.terminalEvidence)})}function Lt(e){pn(e,UA,"persisted browser session"),e.recordVersion!==3&&q("persisted browser session recordVersion must be 3");let t=Do(e.verifiedEndpoint),r={recordVersion:3,sessionKey:zr(e.sessionKey),verifiedEndpoint:t,stableSessionId:At(e.stableSessionId,32,"stableSessionId",!0),capabilityPrefixHash:At(e.capabilityPrefixHash,32,"capabilityPrefixHash",!0),clientSessionNonce:At(e.clientSessionNonce,32,"clientSessionNonce",!0),nextSequence:Bi(e.nextSequence,"nextSequence"),previousTargetResultHash:At(e.previousTargetResultHash,32,"previousTargetResultHash"),terminal:e.terminal,terminalKind:e.terminalKind,outstandingState:e.outstandingState,outstandingOriginRequestCommitment:At(e.outstandingOriginRequestCommitment,32,"outstandingOriginRequestCommitment"),outstandingOriginRequest:Jc(e.outstandingOriginRequest,"outstandingOriginRequest"),lastDefinitiveTargetResult:Jc(e.lastDefinitiveTargetResult,"lastDefinitiveTargetResult"),targetFin:e.targetFin,terminalEvidence:id(e.terminalEvidence)};r.terminal!==0&&r.terminal!==1&&q("terminal must be 0 or 1"),Object.values(Et).includes(r.terminalKind)||q("terminalKind is outside the closed registry"),[0,1,2].includes(r.outstandingState)||q("outstandingState is outside the closed registry"),r.targetFin!==!0&&r.targetFin!==!1&&q("targetFin must be boolean"),r.nextSequence===0n&&r.targetFin&&q("sequence-zero session cannot record targetFin"),r.nextSequence===0n!==Ri(r.previousTargetResultHash)&&q("previousTargetResultHash must be zero iff nextSequence is zero");let i=r.outstandingState!==Ge.NONE;if(i){(Ri(r.outstandingOriginRequestCommitment)||r.outstandingOriginRequest.byteLength!==65536)&&q("live outstanding state requires an exact request and nonzero commitment");let o=Oo(r.outstandingOriginRequest,"outstandingOriginRequest");Zc(o,r,t)}else(!Ri(r.outstandingOriginRequestCommitment)||r.outstandingOriginRequest.byteLength!==0)&&q("NONE outstanding state requires zero live outstanding fields");let n=null;if(r.nextSequence===0n?r.lastDefinitiveTargetResult.byteLength!==0&&q("sequence zero cannot retain a definitive target result"):(r.lastDefinitiveTargetResult.byteLength!==65536&&q("advanced session must retain the exact prior definitive target result"),n=GA(r.lastDefinitiveTargetResult,r,t),n.responseKind===K.CLOSE&&!r.targetFin&&q("a retained target CLOSE result requires sticky targetFin"),r.nextSequence===1n&&n.responseKind!==K.CLOSE&&r.targetFin&&q("the first non-CLOSE target result cannot imply targetFin")),r.terminalKind===Et.NONE)(r.terminal!==0||r.terminalEvidence!==null)&&q("nonterminal record has terminal state or evidence"),An({version:3,verifiedEndpoint:t,stableSessionId:r.stableSessionId,capabilityPrefixHash:r.capabilityPrefixHash,clientSessionNonce:r.clientSessionNonce,nextSequence:r.nextSequence,previousTargetResultHash:r.previousTargetResultHash,terminal:0,outstandingState:r.outstandingState,outstandingOriginRequestCommitment:r.outstandingOriginRequestCommitment,outstandingOriginRequest:r.outstandingOriginRequest,lastDefinitiveTargetResult:r.lastDefinitiveTargetResult},In);else if(r.terminalKind===Et.NORMAL_CLOSE)(r.terminal!==1||r.terminalEvidence!==null||i||!n||n.requestKind!==ee.CLOSE)&&q("normal-close terminal state is inconsistent"),An({version:3,verifiedEndpoint:t,stableSessionId:r.stableSessionId,capabilityPrefixHash:r.capabilityPrefixHash,clientSessionNonce:r.clientSessionNonce,nextSequence:r.nextSequence,previousTargetResultHash:r.previousTargetResultHash,terminal:1,outstandingState:r.outstandingState,outstandingOriginRequestCommitment:r.outstandingOriginRequestCommitment,outstandingOriginRequest:r.outstandingOriginRequest,lastDefinitiveTargetResult:r.lastDefinitiveTargetResult},In);else{(r.terminal!==1||i||r.terminalEvidence===null)&&q("correctness terminal must clear live outstanding state and retain evidence");let o=r.terminalEvidence;(Bi(o.sequence,"terminalEvidence.sequence")!==r.nextSequence||!T.default.equals(rr(o.originRequest),o.originRequestCommitment))&&q("correctness terminal evidence does not bind the retained original request"),Zc(Oo(o.originRequest,"terminalEvidence.originRequest"),{...r,outstandingOriginRequestCommitment:o.originRequestCommitment},t),An({version:3,verifiedEndpoint:t,stableSessionId:r.stableSessionId,capabilityPrefixHash:r.capabilityPrefixHash,clientSessionNonce:r.clientSessionNonce,nextSequence:r.nextSequence,previousTargetResultHash:r.previousTargetResultHash,terminal:1,outstandingState:r.outstandingState,outstandingOriginRequestCommitment:r.outstandingOriginRequestCommitment,outstandingOriginRequest:r.outstandingOriginRequest,lastDefinitiveTargetResult:r.lastDefinitiveTargetResult},In)}return WA({...r,nextSequence:r.nextSequence.toString()})}function gn(e,t){let r=Lt(e);return r.sessionKey!==t&&q("persisted browser sessionKey does not match its IndexedDB object-store key"),r}function zA(e){pn(e,["sessionKey","verifiedEndpoint","requestBytes"],"origin persistence input");let t=zr(e.sessionKey),r=Do(e.verifiedEndpoint),i=Oo(e.requestBytes);hn(i.request.parentCapability,r);let n=At(i.request.stableSessionId,32,"origin stableSessionId",!0),o=At(i.request.clientSessionNonce,32,"origin clientSessionNonce",!0);return T.default.equals(n,tr(i.request.parentCapability,o))||q("origin stableSessionId is not derived from its capability and client nonce"),Object.freeze({sessionKey:t,verifiedEndpoint:r,request:i.request,requestBytes:i.requestBytes,stableSessionId:n,capabilityPrefixHash:gi(i.requestBytes),clientSessionNonce:o,originRequestCommitment:rr(i.requestBytes)})}function vc(e){return e=Lt(e),e.terminalKind===Et.CORRECTNESS?e:((e.terminalKind!==Et.NONE||e.outstandingState===Ge.NONE)&&Ti(),Lt({...e,terminal:1,terminalKind:Et.CORRECTNESS,outstandingState:Ge.NONE,outstandingOriginRequestCommitment:T.default.alloc(32),outstandingOriginRequest:T.default.alloc(0),terminalEvidence:{kind:td.OUTSTANDING_CONFLICT,originalOutstandingState:e.outstandingState,sequence:e.nextSequence,originRequestCommitment:e.outstandingOriginRequestCommitment,originRequest:e.outstandingOriginRequest}}))}function kA(e,t){let r=e==null?null:Lt(e);r&&r.terminalKind!==Et.NONE&&Ti();let i;try{i=zA(t)}catch(s){if(r&&r.outstandingState!==Ge.NONE)return Object.freeze({disposition:"CONFLICT_TERMINAL",record:vc(r),cause:s});throw s}if(r&&r.outstandingState!==Ge.NONE)return r.sessionKey===i.sessionKey&&$c(r.verifiedEndpoint,i.verifiedEndpoint)&&T.default.equals(r.outstandingOriginRequest,i.requestBytes)?Object.freeze({disposition:"EXACT_RETRY",record:r}):Object.freeze({disposition:"CONFLICT_TERMINAL",record:vc(r)});if(r==null){(i.request.sequence!==0n||i.request.requestKind!==ee.OPEN||!Ri(i.request.previousTargetResultHash))&&q("new browser session requires canonical OPEN sequence zero with a zero previous chain");let s={recordVersion:3,sessionKey:i.sessionKey,verifiedEndpoint:i.verifiedEndpoint,stableSessionId:i.stableSessionId,capabilityPrefixHash:i.capabilityPrefixHash,clientSessionNonce:i.clientSessionNonce,nextSequence:"0",previousTargetResultHash:T.default.alloc(32),terminal:0,terminalKind:Et.NONE,outstandingState:Ge.PERSISTED_BEFORE_FETCH,outstandingOriginRequestCommitment:i.originRequestCommitment,outstandingOriginRequest:i.requestBytes,lastDefinitiveTargetResult:T.default.alloc(0),targetFin:!1,terminalEvidence:null};return Object.freeze({disposition:"PERSISTED",record:Lt(s)})}let n=Bi(r.nextSequence,"nextSequence");(i.sessionKey!==r.sessionKey||!$c(i.verifiedEndpoint,r.verifiedEndpoint)||!T.default.equals(i.stableSessionId,r.stableSessionId)||!T.default.equals(i.capabilityPrefixHash,r.capabilityPrefixHash)||!T.default.equals(i.clientSessionNonce,r.clientSessionNonce)||i.request.sequence!==n||i.request.requestKind===ee.OPEN||!T.default.equals(i.request.previousTargetResultHash,r.previousTargetResultHash))&&q("later origin request does not preserve the exact endpoint, session, sequence and chain anchors");let o={...r,outstandingState:Ge.PERSISTED_BEFORE_FETCH,outstandingOriginRequestCommitment:i.originRequestCommitment,outstandingOriginRequest:i.requestBytes};return Object.freeze({disposition:"PERSISTED",record:Lt(o)})}function jA(e){return e=Lt(e),e.terminalKind!==Et.NONE&&Ti(),e.outstandingState===Ge.NONE&&q("no exact outstanding origin request exists"),Lt({...e,outstandingState:Ge.AWAITING_DEFINITIVE_TARGET})}function ed(e,t,r,i){return Object.freeze({verified:!0,advanced:r,resultRole:e.result.resultRole,requestKind:e.result.requestKind,responseKind:e.result.responseKind,sequence:e.result.sequence.toString(),targetResultChainHash:e.targetResultChainHash==null?null:T.default.from(e.targetResultChainHash),targetFin:i.targetFin||e.targetFin,normalClose:e.normalClose,nextSequence:i.nextSequence,terminal:i.terminal,terminalKind:i.terminalKind,resultBytes:T.default.from(t)})}function XA(e,t){e=Lt(e),e.terminalKind!==Et.NONE&&Ti(),e.outstandingState===Ge.NONE&&q("result has no exact outstanding origin request");let r=At(t,65536,"resultBytes"),i=Tc(e.outstandingOriginRequest,r);if(YA(i,e.verifiedEndpoint),i.result.resultRole!==rt.TARGET_RESULT)return Object.freeze({record:e,outcome:ed(i,r,!1,e)});let n=Lt({...e,nextSequence:(Bi(e.nextSequence,"nextSequence")+1n).toString(),previousTargetResultHash:i.targetResultChainHash,terminal:i.normalClose?1:0,terminalKind:i.normalClose?Et.NORMAL_CLOSE:Et.NONE,outstandingState:Ge.NONE,outstandingOriginRequestCommitment:T.default.alloc(32),outstandingOriginRequest:T.default.alloc(0),lastDefinitiveTargetResult:r,targetFin:e.targetFin||i.targetFin,terminalEvidence:null});return Object.freeze({record:n,outcome:ed(i,r,!0,n)})}function yn(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error||new Error("IndexedDB request failed"))})}function bn(e){return new Promise((t,r)=>{e.oncomplete=()=>t(),e.onabort=()=>r(e.error||new Error("IndexedDB transaction aborted")),e.onerror=()=>r(e.error||new Error("IndexedDB transaction failed"))})}async function wo(e,t,r){try{e.abort()}catch{}try{await t}catch{}throw r}function Dp(e="hiverelay-blind-forward-v3"){return globalThis.indexedDB||q("IndexedDB is required"),(typeof e!="string"||e.length===0)&&q("IndexedDB name must be nonempty"),new Promise((t,r)=>{let i=globalThis.indexedDB.open(e,1);i.onupgradeneeded=()=>{i.result.objectStoreNames.contains(Ht)||i.result.createObjectStore(Ht)},i.onsuccess=()=>t(i.result),i.onerror=()=>r(i.error||new Error("IndexedDB open failed"))})}async function JA(e,t){(!e||typeof e.transaction!="function")&&q("IndexedDB database is required");let r=zr(t&&t.sessionKey),i=e.transaction(Ht,"readwrite"),n=bn(i),o=i.objectStore(Ht),s;try{let a=await yn(o.get(r));s=kA(a==null?null:gn(a,r),t),o.put(s.record,r)}catch(a){return wo(i,n,a)}return await n,s.disposition==="CONFLICT_TERMINAL"&&Ti("changed or causally invalid bytes terminalized the outstanding browser request"),T.default.from(s.record.outstandingOriginRequest)}async function wp(e,t){(!e||typeof e.transaction!="function")&&q("IndexedDB database is required"),t=zr(t);let r=e.transaction(Ht,"readonly"),i=bn(r),n=await yn(r.objectStore(Ht).get(t));return await i,n==null?null:gn(n,t)}async function nd(e,t){t=zr(t);let r=e.transaction(Ht,"readwrite"),i=bn(r),n=r.objectStore(Ht),o;try{let s=await yn(n.get(t));s==null&&q("no persisted browser session exists"),o=jA(gn(s,t)),n.put(o,t)}catch(s){return wo(r,i,s)}return await i,T.default.from(o.outstandingOriginRequest)}async function $A(e,t,r){(!e||typeof e.transaction!="function")&&q("IndexedDB database is required"),t=zr(t);let i=At(r,65536,"resultBytes"),n=e.transaction(Ht,"readwrite"),o=bn(n),s=n.objectStore(Ht),a;try{let I=await yn(s.get(t));I==null&&q("result has no persisted browser session"),a=XA(gn(I,t),i),a.outcome.advanced&&s.put(a.record,t)}catch(I){return wo(n,o,I)}return await o,a.outcome}async function od(e,t,r,i){typeof i!="function"&&q("opaque transport callback is required");let n=T.default.from(r),o=await i(T.default.from(n));return $A(e,t,At(o,65536,"transport result"))}async function Np(e,t,r){await JA(e,t);let i=await nd(e,t.sessionKey);return od(e,t.sessionKey,i,r)}async function qp(e,t,r){let i=await nd(e,t);return od(e,t,i,r)}export{MA as BLIND_CLIENT_CONTROL_V3_AUTHORITY,td as FORWARD_HTTPS_BROWSER_TERMINAL_EVIDENCE_KIND_V3,Et as FORWARD_HTTPS_BROWSER_TERMINAL_KIND_V3,Ge as FORWARD_HTTPS_OUTSTANDING_STATE_V3,ee as FORWARD_HTTPS_REQUEST_KIND_V1,K as FORWARD_HTTPS_RESPONSE_KIND_V1,rt as FORWARD_HTTPS_RESULT_ROLE_V1,XA as applyForwardHttpsResultV3,Lt as assertForwardHttpsPersistedSessionRecordV3,$A as commitVerifiedForwardHttpsResultV3,Np as fetchPersistedForwardHttpsOriginV3,wp as loadForwardHttpsSessionV3,jA as markForwardHttpsAwaitingDefinitiveTargetV3,Dp as openForwardHttpsIndexedDbV3,JA as persistForwardHttpsOriginBeforeFetchV3,kA as prepareForwardHttpsOriginPersistenceV3,qp as retryPersistedForwardHttpsOriginV3,vc as terminalizeForwardHttpsOriginConflictV3};