Files
SHiNE-server/shine-UI/js/vendor/noble/curves-ed25519-1.8.1.bundle.mjs
T
2026-09-20 11:20:32 +03:00

16 lines
34 KiB
JavaScript

/* esm.sh - @noble/curves@1.8.1/ed25519 */
function ln(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Lt(t,...e){if(!ln(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function zt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function _e(t,e){Lt(t);let n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}var bt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Ut(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ot(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Gt(t){return typeof t=="string"&&(t=Ot(t)),Lt(t),t}function Ae(...t){let e=0;for(let o=0;o<t.length;o++){let s=t[o];Lt(s),e+=s.length}let n=new Uint8Array(e);for(let o=0,s=0;o<t.length;o++){let r=t[o];n.set(r,s),s+=r.length}return n}var Tt=class{clone(){return this._cloneInto()}};function Se(t){let e=o=>t().update(Gt(o)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function jt(t=32){if(bt&&typeof bt.getRandomValues=="function")return bt.getRandomValues(new Uint8Array(t));if(bt&&typeof bt.randomBytes=="function")return bt.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}function dn(t,e,n,o){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,o);let s=BigInt(32),r=BigInt(4294967295),i=Number(n>>s&r),a=Number(n&r),c=o?4:0,u=o?0:4;t.setUint32(e+c,i,o),t.setUint32(e+u,a,o)}var Ct=class extends Tt{constructor(e,n,o,s){super(),this.blockLen=e,this.outputLen=n,this.padOffset=o,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ut(this.buffer)}update(e){zt(this);let{view:n,buffer:o,blockLen:s}=this;e=Gt(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(s-this.pos,r-i);if(a===s){let c=Ut(e);for(;s<=r-i;i+=s)this.process(c,i);continue}o.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){zt(this),_e(e,this),this.finished=!0;let{buffer:n,view:o,blockLen:s,isLE:r}=this,{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(o,0),i=0);for(let h=i;h<s;h++)n[h]=0;dn(o,s-8,BigInt(this.length*8),r),this.process(o,0);let a=Ut(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)a.setUint32(4*h,f[h],r)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let o=e.slice(0,n);return this.destroy(),o}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:n,buffer:o,length:s,finished:r,destroyed:i,pos:a}=this;return e.length=s,e.pos=a,e.finished=r,e.destroyed=i,s%n&&e.buffer.set(o),e}};var Rt=BigInt(4294967295),Pt=BigInt(32);function Ie(t,e=!1){return e?{h:Number(t&Rt),l:Number(t>>Pt&Rt)}:{h:Number(t>>Pt&Rt)|0,l:Number(t&Rt)|0}}function hn(t,e=!1){let n=new Uint32Array(t.length),o=new Uint32Array(t.length);for(let s=0;s<t.length;s++){let{h:r,l:i}=Ie(t[s],e);[n[s],o[s]]=[r,i]}return[n,o]}var pn=(t,e)=>BigInt(t>>>0)<<Pt|BigInt(e>>>0),xn=(t,e,n)=>t>>>n,gn=(t,e,n)=>t<<32-n|e>>>n,bn=(t,e,n)=>t>>>n|e<<32-n,mn=(t,e,n)=>t<<32-n|e>>>n,wn=(t,e,n)=>t<<64-n|e>>>n-32,yn=(t,e,n)=>t>>>n-32|e<<64-n,Bn=(t,e)=>e,En=(t,e)=>t,_n=(t,e,n)=>t<<n|e>>>32-n,An=(t,e,n)=>e<<n|t>>>32-n,Sn=(t,e,n)=>e<<n-32|t>>>64-n,In=(t,e,n)=>t<<n-32|e>>>64-n;function vn(t,e,n,o){let s=(e>>>0)+(o>>>0);return{h:t+n+(s/2**32|0)|0,l:s|0}}var Ln=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Tn=(t,e,n,o)=>e+n+o+(t/2**32|0)|0,Un=(t,e,n,o)=>(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),On=(t,e,n,o,s)=>e+n+o+s+(t/2**32|0)|0,Cn=(t,e,n,o,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0)+(s>>>0),Rn=(t,e,n,o,s,r)=>e+n+o+s+r+(t/2**32|0)|0;var Nn={fromBig:Ie,split:hn,toBig:pn,shrSH:xn,shrSL:gn,rotrSH:bn,rotrSL:mn,rotrBH:wn,rotrBL:yn,rotr32H:Bn,rotr32L:En,rotlSH:_n,rotlSL:An,rotlBH:Sn,rotlBL:In,add:vn,add3L:Ln,add3H:Tn,add4L:Un,add4H:On,add5H:Rn,add5L:Cn},_=Nn;var[Hn,qn]=_.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),dt=new Uint32Array(80),ht=new Uint32Array(80),Yt=class extends Ct{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:n,Bh:o,Bl:s,Ch:r,Cl:i,Dh:a,Dl:c,Eh:u,El:f,Fh:h,Fl:g,Gh:x,Gl:w,Hh:b,Hl:S}=this;return[e,n,o,s,r,i,a,c,u,f,h,g,x,w,b,S]}set(e,n,o,s,r,i,a,c,u,f,h,g,x,w,b,S){this.Ah=e|0,this.Al=n|0,this.Bh=o|0,this.Bl=s|0,this.Ch=r|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=h|0,this.Fl=g|0,this.Gh=x|0,this.Gl=w|0,this.Hh=b|0,this.Hl=S|0}process(e,n){for(let d=0;d<16;d++,n+=4)dt[d]=e.getUint32(n),ht[d]=e.getUint32(n+=4);for(let d=16;d<80;d++){let I=dt[d-15]|0,M=ht[d-15]|0,U=_.rotrSH(I,M,1)^_.rotrSH(I,M,8)^_.shrSH(I,M,7),k=_.rotrSL(I,M,1)^_.rotrSL(I,M,8)^_.shrSL(I,M,7),D=dt[d-2]|0,H=ht[d-2]|0,Y=_.rotrSH(D,H,19)^_.rotrBH(D,H,61)^_.shrSH(D,H,6),V=_.rotrSL(D,H,19)^_.rotrBL(D,H,61)^_.shrSL(D,H,6),ut=_.add4L(k,V,ht[d-7],ht[d-16]),st=_.add4H(ut,U,Y,dt[d-7],dt[d-16]);dt[d]=st|0,ht[d]=ut|0}let{Ah:o,Al:s,Bh:r,Bl:i,Ch:a,Cl:c,Dh:u,Dl:f,Eh:h,El:g,Fh:x,Fl:w,Gh:b,Gl:S,Hh:N,Hl:B}=this;for(let d=0;d<80;d++){let I=_.rotrSH(h,g,14)^_.rotrSH(h,g,18)^_.rotrBH(h,g,41),M=_.rotrSL(h,g,14)^_.rotrSL(h,g,18)^_.rotrBL(h,g,41),U=h&x^~h&b,k=g&w^~g&S,D=_.add5L(B,M,k,qn[d],ht[d]),H=_.add5H(D,N,I,U,Hn[d],dt[d]),Y=D|0,V=_.rotrSH(o,s,28)^_.rotrBH(o,s,34)^_.rotrBH(o,s,39),ut=_.rotrSL(o,s,28)^_.rotrBL(o,s,34)^_.rotrBL(o,s,39),st=o&r^o&a^r&a,wt=s&i^s&c^i&c;N=b|0,B=S|0,b=x|0,S=w|0,x=h|0,w=g|0,{h,l:g}=_.add(u|0,f|0,H|0,Y|0),u=a|0,f=c|0,a=r|0,c=i|0,r=o|0,i=s|0;let xt=_.add3L(Y,ut,wt);o=_.add3H(xt,H,V,st),s=xt|0}({h:o,l:s}=_.add(this.Ah|0,this.Al|0,o|0,s|0)),{h:r,l:i}=_.add(this.Bh|0,this.Bl|0,r|0,i|0),{h:a,l:c}=_.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=_.add(this.Dh|0,this.Dl|0,u|0,f|0),{h,l:g}=_.add(this.Eh|0,this.El|0,h|0,g|0),{h:x,l:w}=_.add(this.Fh|0,this.Fl|0,x|0,w|0),{h:b,l:S}=_.add(this.Gh|0,this.Gl|0,b|0,S|0),{h:N,l:B}=_.add(this.Hh|0,this.Hl|0,N|0,B|0),this.set(o,s,r,i,a,c,u,f,h,g,x,w,b,S,N,B)}roundClean(){dt.fill(0),ht.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Et=Se(()=>new Yt);var Wt=BigInt(0),Le=BigInt(1),Mn=BigInt(2);function Kt(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ct(t){if(!Kt(t))throw new Error("Uint8Array expected")}function Nt(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}var Dn=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function yt(t){ct(t);let e="";for(let n=0;n<t.length;n++)e+=Dn[t[n]];return e}function Te(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Wt:BigInt("0x"+t)}var it={_0:48,_9:57,A:65,F:70,a:97,f:102};function ve(t){if(t>=it._0&&t<=it._9)return t-it._0;if(t>=it.A&&t<=it.F)return t-(it.A-10);if(t>=it.a&&t<=it.f)return t-(it.a-10)}function Ue(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let o=new Uint8Array(n);for(let s=0,r=0;s<n;s++,r+=2){let i=ve(t.charCodeAt(r)),a=ve(t.charCodeAt(r+1));if(i===void 0||a===void 0){let c=t[r]+t[r+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+r)}o[s]=i*16+a}return o}function Ht(t){return Te(yt(t))}function K(t){return ct(t),Te(yt(Uint8Array.from(t).reverse()))}function Qt(t,e){return Ue(t.toString(16).padStart(e*2,"0"))}function et(t,e){return Qt(t,e).reverse()}function G(t,e,n){let o;if(typeof e=="string")try{o=Ue(e)}catch(r){throw new Error(t+" must be hex string or Uint8Array, cause: "+r)}else if(Kt(e))o=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let s=o.length;if(typeof n=="number"&&s!==n)throw new Error(t+" of length "+n+" expected, got "+s);return o}function nt(...t){let e=0;for(let o=0;o<t.length;o++){let s=t[o];ct(s),e+=s.length}let n=new Uint8Array(e);for(let o=0,s=0;o<t.length;o++){let r=t[o];n.set(r,s),s+=r.length}return n}function Oe(t,e){if(t.length!==e.length)return!1;let n=0;for(let o=0;o<t.length;o++)n|=t[o]^e[o];return n===0}function qt(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}var Xt=t=>typeof t=="bigint"&&Wt<=t;function Vn(t,e,n){return Xt(t)&&Xt(e)&&Xt(n)&&e<=t&&t<n}function ft(t,e,n,o){if(!Vn(e,n,o))throw new Error("expected valid "+t+": "+n+" <= n < "+o+", got "+e)}function Ce(t){let e;for(e=0;t>Wt;t>>=Le,e+=1);return e}var Re=t=>(Mn<<BigInt(t-1))-Le;var Zn={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Kt(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function ot(t,e,n={}){let o=(s,r,i)=>{let a=Zn[r];if(typeof a!="function")throw new Error("invalid validator function");let c=t[s];if(!(i&&c===void 0)&&!a(c,t))throw new Error("param "+String(s)+" is invalid. Expected "+r+", got "+c)};for(let[s,r]of Object.entries(e))o(s,r,!1);for(let[s,r]of Object.entries(n))o(s,r,!0);return t}function Jt(t){let e=new WeakMap;return(n,...o)=>{let s=e.get(n);if(s!==void 0)return s;let r=t(n,...o);return e.set(n,r),r}}var Z=BigInt(0),q=BigInt(1),mt=BigInt(2),kn=BigInt(3),$t=BigInt(4),Ne=BigInt(5),He=BigInt(8),zn=BigInt(9),Gn=BigInt(16);function O(t,e){let n=t%e;return n>=Z?n:e+n}function te(t,e,n){if(e<Z)throw new Error("invalid exponent, negatives unsupported");if(n<=Z)throw new Error("invalid modulus");if(n===q)return Z;let o=q;for(;e>Z;)e&q&&(o=o*t%n),t=t*t%n,e>>=q;return o}function W(t,e,n){let o=t;for(;e-- >Z;)o*=o,o%=n;return o}function qe(t,e){if(t===Z)throw new Error("invert: expected non-zero number");if(e<=Z)throw new Error("invert: expected positive modulus, got "+e);let n=O(t,e),o=e,s=Z,r=q,i=q,a=Z;for(;n!==Z;){let u=o/n,f=o%n,h=s-i*u,g=r-a*u;o=n,n=f,s=i,r=a,i=h,a=g}if(o!==q)throw new Error("invert: does not exist");return O(s,e)}function jn(t){let e=(t-q)/mt,n,o,s;for(n=t-q,o=0;n%mt===Z;n/=mt,o++);for(s=mt;s<t&&te(s,e,t)!==t-q;s++)if(s>1e3)throw new Error("Cannot find square root: likely non-prime P");if(o===1){let i=(t+q)/$t;return function(c,u){let f=c.pow(u,i);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let r=(n+q)/mt;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=o,f=a.pow(a.mul(a.ONE,s),n),h=a.pow(c,r),g=a.pow(c,n);for(;!a.eql(g,a.ONE);){if(a.eql(g,a.ZERO))return a.ZERO;let x=1;for(let b=a.sqr(g);x<u&&!a.eql(b,a.ONE);x++)b=a.sqr(b);let w=a.pow(f,q<<BigInt(u-x-1));f=a.sqr(w),h=a.mul(h,w),g=a.mul(g,f),u=x}return h}}function Pn(t){if(t%$t===kn){let e=(t+q)/$t;return function(o,s){let r=o.pow(s,e);if(!o.eql(o.sqr(r),s))throw new Error("Cannot find square root");return r}}if(t%He===Ne){let e=(t-Ne)/He;return function(o,s){let r=o.mul(s,mt),i=o.pow(r,e),a=o.mul(s,i),c=o.mul(o.mul(a,mt),i),u=o.mul(a,o.sub(c,o.ONE));if(!o.eql(o.sqr(u),s))throw new Error("Cannot find square root");return u}}return t%Gn,jn(t)}var at=(t,e)=>(O(t,e)&q)===q,Yn=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Me(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=Yn.reduce((o,s)=>(o[s]="function",o),e);return ot(t,n)}function Xn(t,e,n){if(n<Z)throw new Error("invalid exponent, negatives unsupported");if(n===Z)return t.ONE;if(n===q)return e;let o=t.ONE,s=e;for(;n>Z;)n&q&&(o=t.mul(o,s)),s=t.sqr(s),n>>=q;return o}function Wn(t,e){let n=new Array(e.length),o=e.reduce((r,i,a)=>t.is0(i)?r:(n[a]=r,t.mul(r,i)),t.ONE),s=t.inv(o);return e.reduceRight((r,i,a)=>t.is0(i)?r:(n[a]=t.mul(r,n[a]),t.mul(r,i)),s),n}function ee(t,e){let n=e!==void 0?e:t.toString(2).length,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}function _t(t,e,n=!1,o={}){if(t<=Z)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:s,nByteLength:r}=ee(t,e);if(r>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i,a=Object.freeze({ORDER:t,isLE:n,BITS:s,BYTES:r,MASK:Re(s),ZERO:Z,ONE:q,create:c=>O(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Z<=c&&c<t},is0:c=>c===Z,isOdd:c=>(c&q)===q,neg:c=>O(-c,t),eql:(c,u)=>c===u,sqr:c=>O(c*c,t),add:(c,u)=>O(c+u,t),sub:(c,u)=>O(c-u,t),mul:(c,u)=>O(c*u,t),pow:(c,u)=>Xn(a,c,u),div:(c,u)=>O(c*qe(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>qe(c,t),sqrt:o.sqrt||(c=>(i||(i=Pn(t)),i(a,c))),invertBatch:c=>Wn(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>n?et(c,r):Qt(c,r),fromBytes:c=>{if(c.length!==r)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+c.length);return n?K(c):Ht(c)}});return Object.freeze(a)}function De(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let n=t.sqrt(e);return t.isOdd(n)?t.neg(n):n}var Ve=BigInt(0),Mt=BigInt(1);function ne(t,e){let n=e.negate();return t?n:e}function Ze(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function oe(t,e){Ze(t,e);let n=Math.ceil(e/t)+1,o=2**(t-1);return{windows:n,windowSize:o}}function Kn(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((n,o)=>{if(!(n instanceof e))throw new Error("invalid point at index "+o)})}function Qn(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((n,o)=>{if(!e.isValid(n))throw new Error("invalid scalar at index "+o)})}var re=new WeakMap,Fe=new WeakMap;function se(t){return Fe.get(t)||1}function ke(t,e){return{constTimeNegate:ne,hasPrecomputes(n){return se(n)!==1},unsafeLadder(n,o,s=t.ZERO){let r=n;for(;o>Ve;)o&Mt&&(s=s.add(r)),r=r.double(),o>>=Mt;return s},precomputeWindow(n,o){let{windows:s,windowSize:r}=oe(o,e),i=[],a=n,c=a;for(let u=0;u<s;u++){c=a,i.push(c);for(let f=1;f<r;f++)c=c.add(a),i.push(c);a=c.double()}return i},wNAF(n,o,s){let{windows:r,windowSize:i}=oe(n,e),a=t.ZERO,c=t.BASE,u=BigInt(2**n-1),f=2**n,h=BigInt(n);for(let g=0;g<r;g++){let x=g*i,w=Number(s&u);s>>=h,w>i&&(w-=f,s+=Mt);let b=x,S=x+Math.abs(w)-1,N=g%2!==0,B=w<0;w===0?c=c.add(ne(N,o[b])):a=a.add(ne(B,o[S]))}return{p:a,f:c}},wNAFUnsafe(n,o,s,r=t.ZERO){let{windows:i,windowSize:a}=oe(n,e),c=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<i;h++){let g=h*a;if(s===Ve)break;let x=Number(s&c);if(s>>=f,x>a&&(x-=u,s+=Mt),x===0)continue;let w=o[g+Math.abs(x)-1];x<0&&(w=w.negate()),r=r.add(w)}return r},getPrecomputes(n,o,s){let r=re.get(o);return r||(r=this.precomputeWindow(o,n),n!==1&&re.set(o,s(r))),r},wNAFCached(n,o,s){let r=se(n);return this.wNAF(r,this.getPrecomputes(r,n,s),o)},wNAFCachedUnsafe(n,o,s,r){let i=se(n);return i===1?this.unsafeLadder(n,o,r):this.wNAFUnsafe(i,this.getPrecomputes(i,n,s),o,r)},setWindowSize(n,o){Ze(o,e),Fe.set(n,o),re.delete(n)}}}function Dt(t,e,n,o){if(Kn(n,t),Qn(o,e),n.length!==o.length)throw new Error("arrays of points and scalars must have equal length");let s=t.ZERO,r=Ce(BigInt(n.length)),i=r>12?r-3:r>4?r-2:r?2:1,a=(1<<i)-1,c=new Array(a+1).fill(s),u=Math.floor((e.BITS-1)/i)*i,f=s;for(let h=u;h>=0;h-=i){c.fill(s);for(let x=0;x<o.length;x++){let w=o[x],b=Number(w>>BigInt(h)&BigInt(a));c[b]=c[b].add(n[x])}let g=s;for(let x=c.length-1,w=s;x>0;x--)w=w.add(c[x]),g=g.add(w);if(f=f.add(g),h!==0)for(let x=0;x<i;x++)f=f.double()}return f}function ze(t){return Me(t.Fp),ot(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ee(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Q=BigInt(0),P=BigInt(1),Vt=BigInt(2),Jn=BigInt(8),$n={zip215:!0};function to(t){let e=ze(t);return ot(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Zt(t){let e=to(t),{Fp:n,n:o,prehash:s,hash:r,randomBytes:i,nByteLength:a,h:c}=e,u=Vt<<BigInt(a*8)-P,f=n.create,h=_t(e.n,e.nBitLength),g=e.uvRatio||((E,l)=>{try{return{isValid:!0,value:n.sqrt(E*n.inv(l))}}catch{return{isValid:!1,value:Q}}}),x=e.adjustScalarBytes||(E=>E),w=e.domain||((E,l,m)=>{if(Nt("phflag",m),l.length||m)throw new Error("Contexts/pre-hash are not supported");return E});function b(E,l){ft("coordinate "+E,l,Q,u)}function S(E){if(!(E instanceof d))throw new Error("ExtendedPoint expected")}let N=Jt((E,l)=>{let{ex:m,ey:y,ez:A}=E,v=E.is0();l==null&&(l=v?Jn:n.inv(A));let L=f(m*l),C=f(y*l),T=f(A*l);if(v)return{x:Q,y:P};if(T!==P)throw new Error("invZ was invalid");return{x:L,y:C}}),B=Jt(E=>{let{a:l,d:m}=e;if(E.is0())throw new Error("bad point: ZERO");let{ex:y,ey:A,ez:v,et:L}=E,C=f(y*y),T=f(A*A),R=f(v*v),z=f(R*R),j=f(C*l),$=f(R*f(j+T)),tt=f(z+f(m*f(C*T)));if($!==tt)throw new Error("bad point: equation left != right (1)");let X=f(y*A),lt=f(v*L);if(X!==lt)throw new Error("bad point: equation left != right (2)");return!0});class d{constructor(l,m,y,A){this.ex=l,this.ey=m,this.ez=y,this.et=A,b("x",l),b("y",m),b("z",y),b("t",A),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(l){if(l instanceof d)throw new Error("extended point not allowed");let{x:m,y}=l||{};return b("x",m),b("y",y),new d(m,y,P,f(m*y))}static normalizeZ(l){let m=n.invertBatch(l.map(y=>y.ez));return l.map((y,A)=>y.toAffine(m[A])).map(d.fromAffine)}static msm(l,m){return Dt(d,h,l,m)}_setWindowSize(l){U.setWindowSize(this,l)}assertValidity(){B(this)}equals(l){S(l);let{ex:m,ey:y,ez:A}=this,{ex:v,ey:L,ez:C}=l,T=f(m*C),R=f(v*A),z=f(y*C),j=f(L*A);return T===R&&z===j}is0(){return this.equals(d.ZERO)}negate(){return new d(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:l}=e,{ex:m,ey:y,ez:A}=this,v=f(m*m),L=f(y*y),C=f(Vt*f(A*A)),T=f(l*v),R=m+y,z=f(f(R*R)-v-L),j=T+L,$=j-C,tt=T-L,X=f(z*$),lt=f(j*tt),gt=f(z*tt),vt=f($*j);return new d(X,lt,vt,gt)}add(l){S(l);let{a:m,d:y}=e,{ex:A,ey:v,ez:L,et:C}=this,{ex:T,ey:R,ez:z,et:j}=l;if(m===BigInt(-1)){let ge=f((v-A)*(R+T)),be=f((v+A)*(R-T)),kt=f(be-ge);if(kt===Q)return this.double();let me=f(L*Vt*j),we=f(C*Vt*z),ye=we+me,Be=be+ge,Ee=we-me,cn=f(ye*kt),fn=f(Be*Ee),an=f(ye*Ee),un=f(kt*Be);return new d(cn,fn,un,an)}let $=f(A*T),tt=f(v*R),X=f(C*y*j),lt=f(L*z),gt=f((A+v)*(T+R)-$-tt),vt=lt-X,pe=lt+X,xe=f(tt-m*$),nn=f(gt*vt),on=f(pe*xe),rn=f(gt*xe),sn=f(vt*pe);return new d(nn,on,sn,rn)}subtract(l){return this.add(l.negate())}wNAF(l){return U.wNAFCached(this,l,d.normalizeZ)}multiply(l){let m=l;ft("scalar",m,P,o);let{p:y,f:A}=this.wNAF(m);return d.normalizeZ([y,A])[0]}multiplyUnsafe(l,m=d.ZERO){let y=l;return ft("scalar",y,Q,o),y===Q?M:this.is0()||y===P?this:U.wNAFCachedUnsafe(this,y,d.normalizeZ,m)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return U.unsafeLadder(this,o).is0()}toAffine(l){return N(this,l)}clearCofactor(){let{h:l}=e;return l===P?this:this.multiplyUnsafe(l)}static fromHex(l,m=!1){let{d:y,a:A}=e,v=n.BYTES;l=G("pointHex",l,v),Nt("zip215",m);let L=l.slice(),C=l[v-1];L[v-1]=C&-129;let T=K(L),R=m?u:n.ORDER;ft("pointHex.y",T,Q,R);let z=f(T*T),j=f(z-P),$=f(y*z-A),{isValid:tt,value:X}=g(j,$);if(!tt)throw new Error("Point.fromHex: invalid y coordinate");let lt=(X&P)===P,gt=(C&128)!==0;if(!m&&X===Q&&gt)throw new Error("Point.fromHex: x=0 and x_0=1");return gt!==lt&&(X=f(-X)),d.fromAffine({x:X,y:T})}static fromPrivateKey(l){return H(l).point}toRawBytes(){let{x:l,y:m}=this.toAffine(),y=et(m,n.BYTES);return y[y.length-1]|=l&P?128:0,y}toHex(){return yt(this.toRawBytes())}}d.BASE=new d(e.Gx,e.Gy,P,f(e.Gx*e.Gy)),d.ZERO=new d(Q,P,P,Q);let{BASE:I,ZERO:M}=d,U=ke(d,a*8);function k(E){return O(E,o)}function D(E){return k(K(E))}function H(E){let l=n.BYTES;E=G("private key",E,l);let m=G("hashed private key",r(E),2*l),y=x(m.slice(0,l)),A=m.slice(l,2*l),v=D(y),L=I.multiply(v),C=L.toRawBytes();return{head:y,prefix:A,scalar:v,point:L,pointBytes:C}}function Y(E){return H(E).pointBytes}function V(E=new Uint8Array,...l){let m=nt(...l);return D(r(w(m,G("context",E),!!s)))}function ut(E,l,m={}){E=G("message",E),s&&(E=s(E));let{prefix:y,scalar:A,pointBytes:v}=H(l),L=V(m.context,y,E),C=I.multiply(L).toRawBytes(),T=V(m.context,C,v,E),R=k(L+T*A);ft("signature.s",R,Q,o);let z=nt(C,et(R,n.BYTES));return G("result",z,n.BYTES*2)}let st=$n;function wt(E,l,m,y=st){let{context:A,zip215:v}=y,L=n.BYTES;E=G("signature",E,2*L),l=G("message",l),m=G("publicKey",m,L),v!==void 0&&Nt("zip215",v),s&&(l=s(l));let C=K(E.slice(L,2*L)),T,R,z;try{T=d.fromHex(m,v),R=d.fromHex(E.slice(0,L),v),z=I.multiplyUnsafe(C)}catch{return!1}if(!v&&T.isSmallOrder())return!1;let j=V(A,R.toRawBytes(),T.toRawBytes(),l);return R.add(T.multiplyUnsafe(j)).subtract(z).clearCofactor().equals(d.ZERO)}return I._setWindowSize(8),{CURVE:e,getPublicKey:Y,sign:ut,verify:wt,ExtendedPoint:d,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>i(n.BYTES),precompute(E=8,l=d.BASE){return l._setWindowSize(E),l.multiply(BigInt(3)),l}}}}var eo=Ht;function pt(t,e){if(At(t),At(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let n=Array.from({length:e}).fill(0);for(let o=e-1;o>=0;o--)n[o]=t&255,t>>>=8;return new Uint8Array(n)}function no(t,e){let n=new Uint8Array(t.length);for(let o=0;o<t.length;o++)n[o]=t[o]^e[o];return n}function At(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function ie(t,e,n,o){ct(t),ct(e),At(n),e.length>255&&(e=o(nt(qt("H2C-OVERSIZE-DST-"),e)));let{outputLen:s,blockLen:r}=o,i=Math.ceil(n/s);if(n>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=nt(e,pt(e.length,1)),c=pt(0,r),u=pt(n,2),f=new Array(i),h=o(nt(c,t,u,pt(0,1),a));f[0]=o(nt(h,pt(1,1),a));for(let x=1;x<=i;x++){let w=[no(h,f[x-1]),pt(x+1,1),a];f[x]=o(nt(...w))}return nt(...f).slice(0,n)}function oo(t,e,n,o,s){if(ct(t),ct(e),At(n),e.length>255){let r=Math.ceil(2*o/8);e=s.create({dkLen:r}).update(qt("H2C-OVERSIZE-DST-")).update(e).digest()}if(n>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return s.create({dkLen:n}).update(t).update(pt(n,2)).update(e).update(pt(e.length,1)).digest()}function Ge(t,e,n){ot(n,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:o,k:s,m:r,hash:i,expand:a,DST:c}=n;ct(t),At(e);let u=typeof c=="string"?qt(c):c,f=o.toString(2).length,h=Math.ceil((f+s)/8),g=e*r*h,x;if(a==="xmd")x=ie(t,u,g,i);else if(a==="xof")x=oo(t,u,g,s,i);else if(a==="_internal_pass")x=t;else throw new Error('expand must be "xmd" or "xof"');let w=new Array(e);for(let b=0;b<e;b++){let S=new Array(r);for(let N=0;N<r;N++){let B=h*(N+b*r),d=x.subarray(B,B+h);S[N]=O(eo(d),o)}w[b]=S}return w}function je(t,e,n){if(typeof e!="function")throw new Error("mapToCurve() must be defined");return{hashToCurve(o,s){let r=Ge(o,2,{...n,DST:n.DST,...s}),i=t.fromAffine(e(r[0])),a=t.fromAffine(e(r[1])),c=i.add(a).clearCofactor();return c.assertValidity(),c},encodeToCurve(o,s){let r=Ge(o,1,{...n,DST:n.encodeDST,...s}),i=t.fromAffine(e(r[0])).clearCofactor();return i.assertValidity(),i},mapToCurve(o){if(!Array.isArray(o))throw new Error("mapToCurve: expected array of bigints");for(let r of o)if(typeof r!="bigint")throw new Error("mapToCurve: expected array of bigints");let s=t.fromAffine(e(o)).clearCofactor();return s.assertValidity(),s}}}var Bt=BigInt(0),ce=BigInt(1);function ro(t){return ot(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function Pe(t){let e=ro(t),{P:n}=e,o=B=>O(B,n),s=e.montgomeryBits,r=Math.ceil(s/8),i=e.nByteLength,a=e.adjustScalarBytes||(B=>B),c=e.powPminus2||(B=>te(B,n-BigInt(2),n));function u(B,d,I){let M=o(B*(d-I));return d=o(d-M),I=o(I+M),[d,I]}let f=(e.a-BigInt(2))/BigInt(4);function h(B,d){ft("u",B,Bt,n),ft("scalar",d,Bt,n);let I=d,M=B,U=ce,k=Bt,D=B,H=ce,Y=Bt,V;for(let st=BigInt(s-1);st>=Bt;st--){let wt=I>>st&ce;Y^=wt,V=u(Y,U,D),U=V[0],D=V[1],V=u(Y,k,H),k=V[0],H=V[1],Y=wt;let xt=U+k,E=o(xt*xt),l=U-k,m=o(l*l),y=E-m,A=D+H,v=D-H,L=o(v*xt),C=o(A*l),T=L+C,R=L-C;D=o(T*T),H=o(M*o(R*R)),U=o(E*m),k=o(y*(E+o(f*y)))}V=u(Y,U,D),U=V[0],D=V[1],V=u(Y,k,H),k=V[0],H=V[1];let ut=c(k);return o(U*ut)}function g(B){return et(o(B),r)}function x(B){let d=G("u coordinate",B,r);return i===32&&(d[31]&=127),K(d)}function w(B){let d=G("scalar",B),I=d.length;if(I!==r&&I!==i){let M=""+r+" or "+i;throw new Error("invalid scalar, expected "+M+" bytes, got "+I)}return K(a(d))}function b(B,d){let I=x(d),M=w(B),U=h(I,M);if(U===Bt)throw new Error("invalid private or public key received");return g(U)}let S=g(e.Gu);function N(B){return b(B,S)}return{scalarMult:b,scalarMultBase:N,getSharedSecret:(B,d)=>b(B,d),getPublicKey:B=>N(B),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:S}}var St=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ue=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),so=BigInt(0),rt=BigInt(1),Ft=BigInt(2),Ke=BigInt(3),Qe=BigInt(5),de=BigInt(8);function Je(t){let e=BigInt(10),n=BigInt(20),o=BigInt(40),s=BigInt(80),r=St,a=t*t%r*t%r,c=W(a,Ft,r)*a%r,u=W(c,rt,r)*t%r,f=W(u,Qe,r)*u%r,h=W(f,e,r)*f%r,g=W(h,n,r)*h%r,x=W(g,o,r)*g%r,w=W(x,s,r)*x%r,b=W(w,s,r)*x%r,S=W(b,e,r)*f%r;return{pow_p_5_8:W(S,Ft,r)*t%r,b2:a}}function $e(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function he(t,e){let n=St,o=O(e*e*e,n),s=O(o*o*e,n),r=Je(t*s).pow_p_5_8,i=O(t*o*r,n),a=O(e*i*i,n),c=i,u=O(i*ue,n),f=a===t,h=a===O(-t,n),g=a===O(-t*ue,n);return f&&(i=c),(h||g)&&(i=u),at(i,n)&&(i=O(-i,n)),{isValid:f||h,value:i}}var er=["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],p=_t(St,void 0,!0),It={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:p,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:de,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Et,randomBytes:jt,adjustScalarBytes:$e,uvRatio:he},F=Zt(It);function tn(t,e,n){if(e.length>255)throw new Error("Context is too big");return Ae(Ot("SigEd25519 no Ed25519 collisions"),new Uint8Array([n?1:0,e.length]),e,t)}var nr=Zt({...It,domain:tn}),or=Zt(Object.assign({},It,{domain:tn,prehash:Et})),rr=Pe({P:St,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{let e=St,{pow_p_5_8:n,b2:o}=Je(t);return O(W(n,Ke,e)*o,e)},adjustScalarBytes:$e,randomBytes:jt});function io(t){let{y:e}=F.ExtendedPoint.fromHex(t),n=BigInt(1);return p.toBytes(p.create((n+e)*p.inv(n-e)))}var sr=io;function ir(t){let e=It.hash(t.subarray(0,32));return It.adjustScalarBytes(e).subarray(0,32)}var co=(p.ORDER+Ke)/de,fo=p.pow(Ft,co),Ye=p.sqrt(p.neg(p.ONE));function ao(t){let e=(p.ORDER-Qe)/de,n=BigInt(486662),o=p.sqr(t);o=p.mul(o,Ft);let s=p.add(o,p.ONE),r=p.neg(n),i=p.sqr(s),a=p.mul(i,s),c=p.mul(o,n);c=p.mul(c,r),c=p.add(c,i),c=p.mul(c,r);let u=p.sqr(a);i=p.sqr(u),u=p.mul(u,a),u=p.mul(u,c),i=p.mul(i,u);let f=p.pow(i,e);f=p.mul(f,u);let h=p.mul(f,Ye);i=p.sqr(f),i=p.mul(i,a);let g=p.eql(i,c),x=p.cmov(h,f,g),w=p.mul(r,o),b=p.mul(f,t);b=p.mul(b,fo);let S=p.mul(b,Ye),N=p.mul(c,o);i=p.sqr(b),i=p.mul(i,a);let B=p.eql(i,N),d=p.cmov(S,b,B);i=p.sqr(x),i=p.mul(i,a);let I=p.eql(i,c),M=p.cmov(w,r,I),U=p.cmov(d,x,I),k=p.isOdd(U);return U=p.cmov(U,p.neg(U),I!==k),{xMn:M,xMd:s,yMn:U,yMd:rt}}var uo=De(p,p.neg(BigInt(486664)));function lo(t){let{xMn:e,xMd:n,yMn:o,yMd:s}=ao(t),r=p.mul(e,s);r=p.mul(r,uo);let i=p.mul(n,o),a=p.sub(e,n),c=p.add(e,n),u=p.mul(i,c),f=p.eql(u,p.ZERO);r=p.cmov(r,p.ZERO,f),i=p.cmov(i,p.ONE,f),a=p.cmov(a,p.ONE,f),c=p.cmov(c,p.ONE,f);let h=p.invertBatch([i,c]);return{x:p.mul(r,h[0]),y:p.mul(a,h[1])}}var en=je(F.ExtendedPoint,t=>lo(t[0]),{DST:"edwards25519_XMD:SHA-512_ELL2_RO_",encodeDST:"edwards25519_XMD:SHA-512_ELL2_NU_",p:p.ORDER,m:1,k:128,expand:"xmd",hash:Et}),cr=en.hashToCurve,fr=en.encodeToCurve;function fe(t){if(!(t instanceof J))throw new Error("RistrettoPoint expected")}var le=ue,ho=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),po=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),xo=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),go=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Xe=t=>he(rt,t),bo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ae=t=>F.CURVE.Fp.create(K(t)&bo);function We(t){let{d:e}=F.CURVE,n=F.CURVE.Fp.ORDER,o=F.CURVE.Fp.create,s=o(le*t*t),r=o((s+rt)*xo),i=BigInt(-1),a=o((i-e*s)*o(s+e)),{isValid:c,value:u}=he(r,a),f=o(u*t);at(f,n)||(f=o(-f)),c||(u=f),c||(i=s);let h=o(i*(s-rt)*go-a),g=u*u,x=o((u+u)*a),w=o(h*ho),b=o(rt-g),S=o(rt+g);return new F.ExtendedPoint(o(x*S),o(b*w),o(w*S),o(x*b))}var J=class t{constructor(e){this.ep=e}static fromAffine(e){return new t(F.ExtendedPoint.fromAffine(e))}static hashToCurve(e){e=G("ristrettoHash",e,64);let n=ae(e.slice(0,32)),o=We(n),s=ae(e.slice(32,64)),r=We(s);return new t(o.add(r))}static fromHex(e){e=G("ristrettoHex",e,32);let{a:n,d:o}=F.CURVE,s=F.CURVE.Fp.ORDER,r=F.CURVE.Fp.create,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",a=ae(e);if(!Oe(et(a,32),e)||at(a,s))throw new Error(i);let c=r(a*a),u=r(rt+n*c),f=r(rt-n*c),h=r(u*u),g=r(f*f),x=r(n*o*h-g),{isValid:w,value:b}=Xe(r(x*g)),S=r(b*f),N=r(b*S*x),B=r((a+a)*S);at(B,s)&&(B=r(-B));let d=r(u*N),I=r(B*d);if(!w||at(I,s)||d===so)throw new Error(i);return new t(new F.ExtendedPoint(B,d,rt,I))}static msm(e,n){let o=_t(F.CURVE.n,F.CURVE.nBitLength);return Dt(t,o,e,n)}toRawBytes(){let{ex:e,ey:n,ez:o,et:s}=this.ep,r=F.CURVE.Fp.ORDER,i=F.CURVE.Fp.create,a=i(i(o+n)*i(o-n)),c=i(e*n),u=i(c*c),{value:f}=Xe(i(a*u)),h=i(f*a),g=i(f*c),x=i(h*g*s),w;if(at(s*x,r)){let S=i(n*le),N=i(e*le);e=S,n=N,w=i(h*po)}else w=g;at(e*x,r)&&(n=i(-n));let b=i((o-n)*w);return at(b,r)&&(b=i(-b)),et(b,32)}toHex(){return yt(this.toRawBytes())}toString(){return this.toHex()}equals(e){fe(e);let{ex:n,ey:o}=this.ep,{ex:s,ey:r}=e.ep,i=F.CURVE.Fp.create,a=i(n*r)===i(o*s),c=i(o*r)===i(n*s);return a||c}add(e){return fe(e),new t(this.ep.add(e.ep))}subtract(e){return fe(e),new t(this.ep.subtract(e.ep))}multiply(e){return new t(this.ep.multiply(e))}multiplyUnsafe(e){return new t(this.ep.multiplyUnsafe(e))}double(){return new t(this.ep.double())}negate(){return new t(this.ep.negate())}},ar=(J.BASE||(J.BASE=new J(F.ExtendedPoint.BASE)),J.ZERO||(J.ZERO=new J(F.ExtendedPoint.ZERO)),J),mo=(t,e)=>{let n=e.DST,o=typeof n=="string"?Ot(n):n,s=ie(t,o,64,Et);return J.hashToCurve(s)},ur=mo;export{er as ED25519_TORSION_SUBGROUP,ar as RistrettoPoint,F as ed25519,nr as ed25519ctx,or as ed25519ph,sr as edwardsToMontgomery,ir as edwardsToMontgomeryPriv,io as edwardsToMontgomeryPub,fr as encodeToCurve,cr as hashToCurve,mo as hashToRistretto255,ur as hash_to_ristretto255,rr as x25519};
/*! Bundled license information:
@noble/hashes/esm/utils.js:
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
@noble/curves/esm/abstract/utils.js:
@noble/curves/esm/abstract/modular.js:
@noble/curves/esm/abstract/curve.js:
@noble/curves/esm/abstract/edwards.js:
@noble/curves/esm/abstract/montgomery.js:
@noble/curves/esm/ed25519.js:
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
*/