@libp2p/crypto 5.0.0-d101aac4b → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -3,7 +3,7 @@
3
3
  `).map(s=>` ${s}`).join(`
4
4
  `));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
5
5
  ${t.join(`
6
- `)}`:`${e} :`}};qi=pe;A.Constructed=qi;pe.NAME="CONSTRUCTED";var dn=class extends ht{fromBER(t,e,n){return e}toBER(t){return Ut}};dn.override="EndOfContentValueBlock";var zi,gn=class extends ct{constructor(t={}){super(t,dn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};zi=gn;A.EndOfContent=zi;gn.NAME=xr;var ji,Ge=class extends ct{constructor(t={}){super(t,ht),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};ji=Ge;A.Null=ji;Ge.NAME="NULL";var pn=class extends Jt(ht){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return Wt(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,eo.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};pn.NAME="BooleanValueBlock";var Gi,mn=class extends ct{constructor(t={}){super(t,pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Gi=mn;A.Boolean=Gi;mn.NAME="BOOLEAN";var yn=class extends Jt(Vt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Vt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let o=0;o<this.value.length;o++){let i=this.value[o].constructor.NAME;if(i===xr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Ki)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Vt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};yn.NAME="OctetStringValueBlock";var Zi,bn=class r extends ct{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},yn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let o=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(o.byteLength){let i=jn(o,0,o.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?pe.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};Zi=bn;A.OctetString=Zi;bn.NAME=Ki;var xn=class extends Jt(Vt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Vt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===xr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Pi)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=a.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return s}let o=M.BufferSourceConverter.toUint8Array(t);if(!Wt(this,o,e,n))return-1;let i=o.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=jn(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Vt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ut;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};xn.NAME="BitStringValueBlock";var Wi,Ze=class extends ct{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},xn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return pe.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Wi=Ze;A.BitString=Wi;Ze.NAME=Pi;var Ji;function ju(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,u=0,l=c<i?i:c,f=0;for(let h=l;h>=0;h--,f++){switch(!0){case f<a.length:u=o[i-f]+a[c-f]+e[0];break;default:u=o[i-f]+e[0]}switch(e[0]=u/10,!0){case f>=o.length:o=on(new Uint8Array([u%10]),o);break;default:o[i-f]=u%10}}return e[0]>0&&(o=on(e,o)),o}function Mi(r){if(r>=yr.length)for(let t=yr.length;t<=r;t++){let e=new Uint8Array([0]),n=yr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let o=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=o[0]/10,n[s]=o[0]%10}e[0]>0&&(n=on(e,n)),yr.push(n)}return yr[r]}function Gu(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,u,l=0;for(let f=c;f>=0;f--,l++)switch(u=o[i-l]-a[c-l]-e,!0){case u<0:e=1,o[i-l]=u+10;break;default:e=0,o[i-l]=u}if(e>0)for(let f=i-c+1;f>=0;f--,l++)if(u=o[i-l]-e,u<0)e=1,o[i-l]=u+10;else{e=0,o[i-l]=u;break}return o.slice()}var wr=class extends Jt(ht){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=eo.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Vi(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let o=this.fromBER(t,e,n);if(o===-1)return o;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):s!==0&&i.length<s&&(s-i.length>1&&(s=i.length+1),this.valueHexView=i.subarray(s-i.length)),o}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,o=this.valueHexView,i="",a=!1;for(let c=o.byteLength-1;c>=0;c--){s=o[c];for(let u=0;u<8;u++){if((s&1)===1)switch(n){case t:e=Gu(Mi(n),e),i="-";break;default:e=ju(e,Mi(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=Di.charAt(e[c]));return a===!1&&(i+=Di.charAt(0)),i}};Ji=wr;wr.NAME="IntegerValueBlock";Object.defineProperty(Ji.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Yi,lt=class r extends ct{constructor(t={}){super(t,wr),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return an(),BigInt(this.valueBlock.toString())}static fromBigInt(t){an();let e=BigInt(t),n=new br,s=e.toString(16).replace(/^-/,""),o=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(o.length+(o[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${M.Convert.ToHex(a)}`)+e,l=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(u.toString(16)));l[0]|=128,n.write(l)}else o[0]&128&&n.write(new Uint8Array([0])),n.write(o);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Yi=lt;A.Integer=Yi;lt.NAME="INTEGER";var Xi,wn=class extends lt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Xi=wn;A.Enumerated=Xi;wn.NAME="ENUMERATED";var vr=class extends Jt(ht){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!Wt(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,!!(o[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,o[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ke(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){an();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=ge(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ut;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};vr.NAME="sidBlock";var vn=class extends ht{constructor({value:t=Je,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new vr;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.value.length===0&&(o.isFirstSid=!0),this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ut;e.push(s)}return ro(e)}fromString(t){this.value=[];let e=0,n=0,s="",o=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,o){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;i.valueDec=c+a,o=!1}else{let i=new vr;if(s>Number.MAX_SAFE_INTEGER){an();let a=BigInt(s);i.valueBigInt=a}else if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,o=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};vn.NAME="ObjectIdentifierValueBlock";var Qi,We=class extends ct{constructor(t={}){super(t,vn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Qi=We;A.ObjectIdentifier=Qi;We.NAME="OBJECT IDENTIFIER";var Br=class extends Jt(jt){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!Wt(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,!!(o[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,o[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ke(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=ge(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ut;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Br.NAME="relativeSidBlock";var Bn=class extends ht{constructor({value:t=Je,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new Br;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let o=this.value[s].toBER(t);if(o.byteLength===0)return this.error=this.value[s].error,Ut;n.push(o)}return ro(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let o=new Br;if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return!0;this.value.push(o)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Bn.NAME="RelativeObjectIdentifierValueBlock";var ta,En=class extends ct{constructor(t={}){super(t,Bn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};ta=En;A.RelativeObjectIdentifier=ta;En.NAME="RelativeObjectIdentifier";var ea,Gt=class extends pe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};ea=Gt;A.Sequence=ea;Gt.NAME="SEQUENCE";var ra,An=class extends pe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};ra=An;A.Set=ra;An.NAME="SET";var Sn=class extends Jt(ht){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Je}toJSON(){return{...super.toJSON(),value:this.value}}};Sn.NAME="StringValueBlock";var kn=class extends Sn{};kn.NAME="SimpleStringValueBlock";var pt=class extends un{constructor({...t}={}){super(t,kn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};pt.NAME="SIMPLE STRING";var In=class extends pt{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};In.NAME="Utf8StringValueBlock";var na,Zt=class extends In{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};na=Zt;A.Utf8String=na;Zt.NAME="UTF8String";var Nn=class extends pt{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};Nn.NAME="BmpStringValueBlock";var sa,Cn=class extends Nn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};sa=Cn;A.BmpString=sa;Cn.NAME="BMPString";var Un=class extends pt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let o=ge(t.charCodeAt(s),8),i=new Uint8Array(o);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[s*4+c+a]=i[c]}this.valueBlock.value=t}};Un.NAME="UniversalStringValueBlock";var oa,Tn=class extends Un{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};oa=Tn;A.UniversalString=oa;Tn.NAME="UniversalString";var ia,Rn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ia=Rn;A.NumericString=ia;Rn.NAME="NumericString";var aa,Ln=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};aa=Ln;A.PrintableString=aa;Ln.NAME="PrintableString";var ca,Hn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};ca=Hn;A.TeletexString=ca;Hn.NAME="TeletexString";var la,_n=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};la=_n;A.VideotexString=la;_n.NAME="VideotexString";var ua,Vn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};ua=Vn;A.IA5String=ua;Vn.NAME="IA5String";var fa,On=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};fa=On;A.GraphicString=fa;On.NAME="GraphicString";var ha,Er=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};ha=Er;A.VisibleString=ha;Er.NAME="VisibleString";var da,Dn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};da=Dn;A.GeneralString=da;Dn.NAME="GeneralString";var ga,Mn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};ga=Mn;A.CharacterString=ga;Mn.NAME="CharacterString";var pa,Ar=class extends Er{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=wt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=wt(this.month,2),e[2]=wt(this.day,2),e[3]=wt(this.hour,2),e[4]=wt(this.minute,2),e[5]=wt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};pa=Ar;A.UTCTime=pa;Ar.NAME="UTCTime";var ma,Kn=class extends Ar{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",o=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let f=new Number(t[t.length-1]);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let f=1,h=n.indexOf("+"),v="";if(h===-1&&(h=n.indexOf("-"),f=-1),h!==-1){if(v=n.substring(h+1),n=n.substring(0,h),v.length!==2&&v.length!==4)throw new Error("Wrong input string for conversion");let w=parseInt(v.substring(0,2),10);if(isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");if(a=f*w,v.length===4){if(w=parseInt(v.substring(2,4),10),isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");c=f*w}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let f=new Number(`0${n.substring(u)}`);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");o=f.valueOf(),s=n.substring(0,u)}else s=n;switch(!0){case s.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let f=60*o;this.minute=Math.floor(f),f=60*(f-this.minute),this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case s.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let f=60*o;this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case s.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let f=1e3*o;this.millisecond=Math.floor(f)}break;default:throw new Error("Wrong input string for conversion")}let l=i.exec(s);if(l===null)throw new Error("Wrong input string for conversion");for(let f=1;f<l.length;f++)switch(f){case 1:this.year=parseInt(l[f],10);break;case 2:this.month=parseInt(l[f],10);break;case 3:this.day=parseInt(l[f],10);break;case 4:this.hour=parseInt(l[f],10)+a;break;case 5:this.minute=parseInt(l[f],10)+c;break;case 6:this.second=parseInt(l[f],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let f=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=f.getUTCFullYear(),this.month=f.getUTCMonth(),this.day=f.getUTCDay(),this.hour=f.getUTCHours(),this.minute=f.getUTCMinutes(),this.second=f.getUTCSeconds(),this.millisecond=f.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(wt(this.year,4)),e.push(wt(this.month,2)),e.push(wt(this.day,2)),e.push(wt(this.hour,2)),e.push(wt(this.minute,2)),e.push(wt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(wt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};ma=Kn;A.GeneralizedTime=ma;Kn.NAME="GeneralizedTime";var ya,Pn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};ya=Pn;A.DATE=ya;Pn.NAME="DATE";var ba,Fn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};ba=Fn;A.TimeOfDay=ba;Fn.NAME="TimeOfDay";var xa,$n=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};xa=$n;A.DateTime=xa;$n.NAME="DateTime";var wa,qn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};wa=qn;A.Duration=wa;qn.NAME="Duration";var va,zn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};va=zn;A.TIME=va;zn.NAME="TIME";function mt(r,t="utf8"){let e=Xr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function oo(r){if(isNaN(r)||r<=0)throw new $("random bytes length must be a Number bigger than 0");return Ke(r)}async function Ba(r){let t=await at.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Wu(t);return{privateKey:e[0],publicKey:e[1]}}async function Ea(r,t){let e=await at.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await at.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Aa(r,t,e){let n=await at.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return at.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Wu(r){if(r.privateKey==null||r.publicKey==null)throw new $("Private and public key are required");return Promise.all([at.get().subtle.exportKey("jwk",r.privateKey),at.get().subtle.exportKey("jwk",r.publicKey)])}function io(r){if(r.kty!=="RSA")throw new $("invalid key type");if(r.n==null)throw new $("invalid key modulus");return et(r.n,"base64url").length*8}var Ye=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Sr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return Tt.createV1(114,this._multihash)}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}verify(t,e){return Aa(this._key,e,t)}},kr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Sr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}sign(t){return Ea(this._key,t)}};var Gn=8192,ao=18;function Sa(r){let{result:t}=so(r),e=t.valueBlock.value;return{n:mt(Ot(e[1].toBigInt()),"base64url"),e:mt(Ot(e[2].toBigInt()),"base64url"),d:mt(Ot(e[3].toBigInt()),"base64url"),p:mt(Ot(e[4].toBigInt()),"base64url"),q:mt(Ot(e[5].toBigInt()),"base64url"),dp:mt(Ot(e[6].toBigInt()),"base64url"),dq:mt(Ot(e[7].toBigInt()),"base64url"),qi:mt(Ot(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Ju(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new $("JWK was missing components");let e=new Gt({value:[new lt({value:0}),lt.fromBigInt(Dt(et(r.n,"base64url"))),lt.fromBigInt(Dt(et(r.e,"base64url"))),lt.fromBigInt(Dt(et(r.d,"base64url"))),lt.fromBigInt(Dt(et(r.p,"base64url"))),lt.fromBigInt(Dt(et(r.q,"base64url"))),lt.fromBigInt(Dt(et(r.dp,"base64url"))),lt.fromBigInt(Dt(et(r.dq,"base64url"))),lt.fromBigInt(Dt(et(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function ka(r){let{result:t}=so(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:mt(Ot(e[0].toBigInt()),"base64url"),e:mt(Ot(e[1].toBigInt()),"base64url")}}function co(r){if(r.n==null||r.e==null)throw new $("JWK was missing components");let e=new Gt({value:[new Gt({value:[new We({value:"1.2.840.113549.1.1.1"}),new Ge]}),new Ze({valueHex:new Gt({value:[lt.fromBigInt(Dt(et(r.n,"base64url"))),lt.fromBigInt(Dt(et(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Ot(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),s=0,o=0;for(;s<e;)n[s]=parseInt(t.slice(o,o+2),16),s+=1,o+=2;return n}function Dt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Zn(r){let t=Sa(r);return Ia(t)}function Wn(r){let t=ka(r);if(io(t)>Gn)throw new Ne("Key size is too large");let e=de(_t.encode({Type:Z.RSA,Data:r})),n=At(ao,e);return new Ye(t,n)}function Ia(r){if(io(r)>Gn)throw new $("Key size is too large");let t=Na(r),e=de(_t.encode({Type:Z.RSA,Data:co(t.publicKey)})),n=At(ao,e);return new kr(t.privateKey,new Ye(t.publicKey,n))}async function lo(r){if(r>Gn)throw new $("Key size is too large");let t=await Ba(r),e=de(_t.encode({Type:Z.RSA,Data:co(t.publicKey)})),n=At(ao,e);return new kr(t.privateKey,new Ye(t.publicKey,n))}function Na(r){if(r==null)throw new $("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var Jn=class extends Oe{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,_r(t);let n=ee(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,o=new Uint8Array(s);o.set(n.length>s?t.create().update(n).digest():n);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return Ve(this),this.iHash.update(t),this}digestInto(t){Ve(this),_e(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:o,blockLen:i,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ir=(r,t,e)=>new Jn(r,t).update(e).digest();Ir.create=(r,t)=>new Jn(r,t);function Ca(r){r.lowS!==void 0&&It("lowS",r.lowS),r.prehash!==void 0&&It("prehash",r.prehash)}function Yu(r){let t=ur(r);Rt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Xu,hexToBytes:Qu}=Fr,Yt={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=Yt;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=be(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let o=n>127?be(s.length/2|128):"";return`${be(r)}${o}${s}${t}`},decode(r,t){let{Err:e}=Yt,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],o=!!(s&128),i=0;if(!o)i=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new e("tlv.decode: length bytes not complete");if(u[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let l of u)i=i<<8|l;if(n+=c,i<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=Yt;if(r<Xt)throw new t("integer: negative integers are not allowed");let e=be(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=Yt;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return Xu(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Yt,s=typeof r=="string"?Qu(r):r;Pe(s);let{v:o,l:i}=n.decode(48,s);if(i.length)throw new t("Invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:u,l}=n.decode(2,c);if(l.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(u)}},hexFromSig(r){let{_tlv:t,_int:e}=Yt,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},Xt=BigInt(0),st=BigInt(1),I0=BigInt(2),Ua=BigInt(3),N0=BigInt(4);function tf(r){let t=Yu(r),{Fp:e}=t,n=ce(t.n,t.nBitLength),s=t.toBytes||((y,d,b)=>{let B=d.toAffine();return qt(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),o=t.fromBytes||(y=>{let d=y.subarray(1),b=e.fromBytes(d.subarray(0,e.BYTES)),B=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:b,y:B}});function i(y){let{a:d,b}=t,B=e.sqr(y),p=e.mul(B,y);return e.add(e.add(p,e.mul(y,d)),b)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return cr(y,st,t.n)}function c(y){let{allowedPrivateKeyLengths:d,nByteLength:b,wrapPrivateKey:B,n:p}=t;if(d&&typeof y!="bigint"){if(oe(y)&&(y=Ft(y)),typeof y!="string"||!d.includes(y.length))throw new Error("Invalid key");y=y.padStart(b*2,"0")}let S;try{S=typeof y=="bigint"?y:$t(J("private key",y,b))}catch{throw new Error(`private key must be ${b} bytes, hex or bigint, not ${typeof y}`)}return B&&(S=q(S,p)),bt("private key",S,st,p),S}function u(y){if(!(y instanceof h))throw new Error("ProjectivePoint expected")}let l=ve((y,d)=>{let{px:b,py:B,pz:p}=y;if(e.eql(p,e.ONE))return{x:b,y:B};let S=y.is0();d==null&&(d=S?e.ONE:e.inv(p));let R=e.mul(b,d),T=e.mul(B,d),k=e.mul(p,d);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(k,e.ONE))throw new Error("invZ was invalid");return{x:R,y:T}}),f=ve(y=>{if(y.is0()){if(t.allowInfinityPoint&&!e.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:d,y:b}=y.toAffine();if(!e.isValid(d)||!e.isValid(b))throw new Error("bad point: x or y not FE");let B=e.sqr(b),p=i(d);if(!e.eql(B,p))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(d,b,B){if(this.px=d,this.py=b,this.pz=B,d==null||!e.isValid(d))throw new Error("x required");if(b==null||!e.isValid(b))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:b,y:B}=d||{};if(!d||!e.isValid(b)||!e.isValid(B))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let p=S=>e.eql(S,e.ZERO);return p(b)&&p(B)?h.ZERO:new h(b,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let b=e.invertBatch(d.map(B=>B.pz));return d.map((B,p)=>B.toAffine(b[p])).map(h.fromAffine)}static fromHex(d){let b=h.fromAffine(o(J("pointHex",d)));return b.assertValidity(),b}static fromPrivateKey(d){return h.BASE.multiply(c(d))}static msm(d,b){return zr(h,n,d,b)}_setWindowSize(d){w.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){u(d);let{px:b,py:B,pz:p}=this,{px:S,py:R,pz:T}=d,k=e.eql(e.mul(b,T),e.mul(S,p)),I=e.eql(e.mul(B,T),e.mul(R,p));return k&&I}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b}=t,B=e.mul(b,Ua),{px:p,py:S,pz:R}=this,T=e.ZERO,k=e.ZERO,I=e.ZERO,U=e.mul(p,p),Y=e.mul(S,S),P=e.mul(R,R),V=e.mul(p,S);return V=e.add(V,V),I=e.mul(p,R),I=e.add(I,I),T=e.mul(d,I),k=e.mul(B,P),k=e.add(T,k),T=e.sub(Y,k),k=e.add(Y,k),k=e.mul(T,k),T=e.mul(V,T),I=e.mul(B,I),P=e.mul(d,P),V=e.sub(U,P),V=e.mul(d,V),V=e.add(V,I),I=e.add(U,U),U=e.add(I,U),U=e.add(U,P),U=e.mul(U,V),k=e.add(k,U),P=e.mul(S,R),P=e.add(P,P),U=e.mul(P,V),T=e.sub(T,U),I=e.mul(P,Y),I=e.add(I,I),I=e.add(I,I),new h(T,k,I)}add(d){u(d);let{px:b,py:B,pz:p}=this,{px:S,py:R,pz:T}=d,k=e.ZERO,I=e.ZERO,U=e.ZERO,Y=t.a,P=e.mul(t.b,Ua),V=e.mul(b,S),X=e.mul(B,R),E=e.mul(p,T),N=e.add(b,B),m=e.add(S,R);N=e.mul(N,m),m=e.add(V,X),N=e.sub(N,m),m=e.add(b,p);let g=e.add(S,T);return m=e.mul(m,g),g=e.add(V,E),m=e.sub(m,g),g=e.add(B,p),k=e.add(R,T),g=e.mul(g,k),k=e.add(X,E),g=e.sub(g,k),U=e.mul(Y,m),k=e.mul(P,E),U=e.add(k,U),k=e.sub(X,U),U=e.add(X,U),I=e.mul(k,U),X=e.add(V,V),X=e.add(X,V),E=e.mul(Y,E),m=e.mul(P,m),X=e.add(X,E),E=e.sub(V,E),E=e.mul(Y,E),m=e.add(m,E),V=e.mul(X,m),I=e.add(I,V),V=e.mul(g,m),k=e.mul(N,k),k=e.sub(k,V),V=e.mul(N,X),U=e.mul(g,U),U=e.add(U,V),new h(k,I,U)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return w.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){bt("scalar",d,Xt,t.n);let b=h.ZERO;if(d===Xt)return b;if(d===st)return this;let{endo:B}=t;if(!B)return w.unsafeLadder(this,d);let{k1neg:p,k1:S,k2neg:R,k2:T}=B.splitScalar(d),k=b,I=b,U=this;for(;S>Xt||T>Xt;)S&st&&(k=k.add(U)),T&st&&(I=I.add(U)),U=U.double(),S>>=st,T>>=st;return p&&(k=k.negate()),R&&(I=I.negate()),I=new h(e.mul(I.px,B.beta),I.py,I.pz),k.add(I)}multiply(d){let{endo:b,n:B}=t;bt("scalar",d,st,B);let p,S;if(b){let{k1neg:R,k1:T,k2neg:k,k2:I}=b.splitScalar(d),{p:U,f:Y}=this.wNAF(T),{p:P,f:V}=this.wNAF(I);U=w.constTimeNegate(R,U),P=w.constTimeNegate(k,P),P=new h(e.mul(P.px,b.beta),P.py,P.pz),p=U.add(P),S=Y.add(V)}else{let{p:R,f:T}=this.wNAF(d);p=R,S=T}return h.normalizeZ([p,S])[0]}multiplyAndAddUnsafe(d,b,B){let p=h.BASE,S=(T,k)=>k===Xt||k===st||!T.equals(p)?T.multiplyUnsafe(k):T.multiply(k),R=S(this,b).add(S(d,B));return R.is0()?void 0:R}toAffine(d){return l(this,d)}isTorsionFree(){let{h:d,isTorsionFree:b}=t;if(d===st)return!0;if(b)return b(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:b}=t;return d===st?this:b?b(h,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return It("isCompressed",d),this.assertValidity(),s(h,this,d)}toHex(d=!0){return It("isCompressed",d),Ft(this.toRawBytes(d))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let v=t.nBitLength,w=qr(h,t.endo?Math.ceil(v/2):v);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:a}}function ef(r){let t=ur(r);return Rt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ta(r){let t=ef(r),{Fp:e,n}=t,s=e.BYTES+1,o=2*e.BYTES+1;function i(E){return q(E,n)}function a(E){return $r(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:f}=tf({...t,toBytes(E,N,m){let g=N.toAffine(),x=e.toBytes(g.x),C=qt;return It("isCompressed",m),m?C(Uint8Array.from([N.hasEvenY()?2:3]),x):C(Uint8Array.from([4]),x,e.toBytes(g.y))},fromBytes(E){let N=E.length,m=E[0],g=E.subarray(1);if(N===s&&(m===2||m===3)){let x=$t(g);if(!cr(x,st,e.ORDER))throw new Error("Point is not on curve");let C=l(x),L;try{L=e.sqrt(C)}catch(K){let D=K instanceof Error?": "+K.message:"";throw new Error("Point is not on curve"+D)}let H=(L&st)===st;return(m&1)===1!==H&&(L=e.neg(L)),{x,y:L}}else if(N===o&&m===4){let x=e.fromBytes(g.subarray(0,e.BYTES)),C=e.fromBytes(g.subarray(e.BYTES,2*e.BYTES));return{x,y:C}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${o} uncompressed bytes`)}}),h=E=>Ft(ae(E,t.nByteLength));function v(E){let N=n>>st;return E>N}function w(E){return v(E)?i(-E):E}let y=(E,N,m)=>$t(E.slice(N,m));class d{constructor(N,m,g){this.r=N,this.s=m,this.recovery=g,this.assertValidity()}static fromCompact(N){let m=t.nByteLength;return N=J("compactSignature",N,m*2),new d(y(N,0,m),y(N,m,2*m))}static fromDER(N){let{r:m,s:g}=Yt.toSig(J("DER",N));return new d(m,g)}assertValidity(){bt("r",this.r,st,n),bt("s",this.s,st,n)}addRecoveryBit(N){return new d(this.r,this.s,N)}recoverPublicKey(N){let{r:m,s:g,recovery:x}=this,C=T(J("msgHash",N));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");let L=x===2||x===3?m+t.n:m;if(L>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=x&1?"03":"02",O=c.fromHex(H+h(L)),K=a(L),D=i(-C*K),F=i(g*K),z=c.BASE.multiplyAndAddUnsafe(O,D,F);if(!z)throw new Error("point at infinify");return z.assertValidity(),z}hasHighS(){return v(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return xe(this.toDERHex())}toDERHex(){return Yt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xe(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let b={isValidPrivateKey(E){try{return u(E),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let E=vs(t.n);return ri(t.randomBytes(E),t.n)},precompute(E=8,N=c.BASE){return N._setWindowSize(E),N.multiply(BigInt(3)),N}};function B(E,N=!0){return c.fromPrivateKey(E).toRawBytes(N)}function p(E){let N=oe(E),m=typeof E=="string",g=(N||m)&&E.length;return N?g===s||g===o:m?g===2*s||g===2*o:E instanceof c}function S(E,N,m=!0){if(p(E))throw new Error("first arg must be private key");if(!p(N))throw new Error("second arg must be public key");return c.fromHex(N).multiply(u(E)).toRawBytes(m)}let R=t.bits2int||function(E){let N=$t(E),m=E.length*8-t.nBitLength;return m>0?N>>BigInt(m):N},T=t.bits2int_modN||function(E){return i(R(E))},k=lr(t.nBitLength);function I(E){return bt(`num < 2^${t.nBitLength}`,E,Xt,k),ae(E,t.nByteLength)}function U(E,N,m=Y){if(["recovered","canonical"].some(nt=>nt in m))throw new Error("sign() legacy options not supported");let{hash:g,randomBytes:x}=t,{lowS:C,prehash:L,extraEntropy:H}=m;C==null&&(C=!0),E=J("msgHash",E),Ca(m),L&&(E=J("prehashed msgHash",g(E)));let O=T(E),K=u(N),D=[I(K),I(O)];if(H!=null&&H!==!1){let nt=H===!0?x(e.BYTES):H;D.push(J("extraEntropy",nt))}let F=qt(...D),z=O;function rt(nt){let ot=R(nt);if(!f(ot))return;let dt=a(ot),Q=c.BASE.multiply(ot).toAffine(),yt=i(Q.x);if(yt===Xt)return;let Mt=i(dt*i(z+yt*K));if(Mt===Xt)return;let Xe=(Q.x===yt?0:2)|Number(Q.y&st),Qe=Mt;return C&&v(Mt)&&(Qe=w(Mt),Xe^=1),new d(yt,Qe,Xe)}return{seed:F,k2sig:rt}}let Y={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function V(E,N,m=Y){let{seed:g,k2sig:x}=U(E,N,m),C=t;return ys(C.hash.outputLen,C.nByteLength,C.hmac)(g,x)}c.BASE._setWindowSize(8);function X(E,N,m,g=P){let x=E;if(N=J("msgHash",N),m=J("publicKey",m),"strict"in g)throw new Error("options.strict was renamed to lowS");Ca(g);let{lowS:C,prehash:L}=g,H,O;try{if(typeof x=="string"||oe(x))try{H=d.fromDER(x)}catch(Q){if(!(Q instanceof Yt.Err))throw Q;H=d.fromCompact(x)}else if(typeof x=="object"&&typeof x.r=="bigint"&&typeof x.s=="bigint"){let{r:Q,s:yt}=x;H=new d(Q,yt)}else throw new Error("PARSE");O=c.fromHex(m)}catch(Q){if(Q.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(C&&H.hasHighS())return!1;L&&(N=t.hash(N));let{r:K,s:D}=H,F=T(N),z=a(D),rt=i(F*z),nt=i(K*z),ot=c.BASE.multiplyAndAddUnsafe(O,rt,nt)?.toAffine();return ot?i(ot.x)===K:!1}return{CURVE:t,getPublicKey:B,getSharedSecret:S,sign:V,verify:X,ProjectivePoint:c,Signature:d,utils:b}}function rf(r){return{hash:r,hmac:(t,...e)=>Ir(r,t,ls(...e)),randomBytes:Ke}}function Ra(r,t){let e=n=>Ta({...r,...rf(n)});return Object.freeze({...e(t),create:e})}var _a=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),La=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),nf=BigInt(1),uo=BigInt(2),Ha=(r,t)=>(r+t/uo)/t;function sf(r){let t=_a,e=BigInt(3),n=BigInt(6),s=BigInt(11),o=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=r*r*r%t,l=u*u*r%t,f=G(l,e,t)*l%t,h=G(f,e,t)*l%t,v=G(h,uo,t)*u%t,w=G(v,s,t)*v%t,y=G(w,o,t)*w%t,d=G(y,a,t)*y%t,b=G(d,c,t)*d%t,B=G(b,a,t)*y%t,p=G(B,e,t)*l%t,S=G(p,i,t)*w%t,R=G(S,n,t)*u%t,T=G(R,uo,t);if(!fo.eql(fo.sqr(T),r))throw new Error("Cannot find square root");return T}var fo=ce(_a,void 0,void 0,{sqrt:sf}),Et=Ra({a:BigInt(0),b:BigInt(7),Fp:fo,n:La,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=La,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-nf*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=e,i=BigInt("0x100000000000000000000000000000000"),a=Ha(o*r,t),c=Ha(-n*r,t),u=q(r-a*e-c*s,t),l=q(-a*n-c*o,t),f=u>i,h=l>i;if(f&&(u=t-u),h&&(l=t-l),u>i||l>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},de),O0=BigInt(0);var D0=Et.ProjectivePoint;function Ie(r,t){t==null&&(t=r.reduce((s,o)=>s+o.length,0));let e=Ht(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function ho(r,t){let e=et(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Ie([new Uint8Array(t-e.length),e])}return e}function go(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Va(r,t){let e=Yr.digest(t instanceof Uint8Array?t:t.subarray());if(go(e))return e.then(({digest:n})=>Et.sign(n,r).toDERRawBytes()).catch(n=>{throw new tr(String(n))});try{return Et.sign(e.digest,r).toDERRawBytes()}catch(n){throw new tr(String(n))}}function Oa(r,t,e){let n=Yr.digest(e instanceof Uint8Array?e:e.subarray());if(go(n))return n.then(({digest:s})=>Et.verify(t,s,r)).catch(s=>{throw new er(String(s))});try{return Et.verify(t,n.digest,r)}catch(s){throw new er(String(s))}}var Nr=class{type="secp256k1";raw;_key;constructor(t){this._key=Ka(t),this.raw=Da(this._key)}toMultihash(){return ar.digest(hr(this))}toCID(){return Tt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}verify(t,e){return Oa(this._key,e,t)}},Cr=class{type="secp256k1";raw;publicKey;constructor(t,e){this.raw=Ma(t),this.publicKey=new Nr(e??Pa(t))}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}sign(t){return Va(this.raw,t)}};function po(r){return new Cr(r)}function Yn(r){return new Nr(r)}async function Fa(){let r=of();return new Cr(r)}function Da(r){return Et.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Ma(r){try{return Et.getPublicKey(r,!0),r}catch(t){throw new rr(String(t))}}function Ka(r){try{return Et.ProjectivePoint.fromHex(r),r}catch(t){throw new Ne(String(t))}}function Pa(r){try{return Et.getPublicKey(r,!0)}catch(t){throw new rr(String(t))}}function of(){return Et.utils.randomPrivateKey()}var $a={"P-256":256,"P-384":384,"P-521":521},af=Object.keys($a),mo=af.join(" / ");async function qa(r){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new $(`Unknown curve: ${r}. Must be ${mo}`);let t=await at.get().subtle.generateKey({name:"ECDH",namedCurve:r},!0,["deriveBits"]),e=async(o,i)=>{let a;i!=null?a=await at.get().subtle.importKey("jwk",lf(r,i),{name:"ECDH",namedCurve:r},!1,["deriveBits"]):a=t.privateKey;let c=await at.get().subtle.importKey("jwk",ja(r,o),{name:"ECDH",namedCurve:r},!1,[]),u=await at.get().subtle.deriveBits({name:"ECDH",namedCurve:r,public:c},a,$a[r]);return new Uint8Array(u,0,u.byteLength)},n=await at.get().subtle.exportKey("jwk",t.publicKey);return{key:cf(n),genSharedKey:e}}var za={"P-256":32,"P-384":48,"P-521":66};function cf(r){if(r.crv==null||r.x==null||r.y==null)throw new $("JWK was missing components");if(r.crv!=="P-256"&&r.crv!=="P-384"&&r.crv!=="P-521")throw new $(`Unknown curve: ${r.crv}. Must be ${mo}`);let t=za[r.crv];return Ie([Uint8Array.from([4]),ho(r.x,t),ho(r.y,t)],1+t*2)}function ja(r,t){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new $(`Unknown curve: ${r}. Must be ${mo}`);let e=za[r];if(!St(t.subarray(0,1),Uint8Array.from([4])))throw new $("Cannot unmarshal public key - invalid key format");return{kty:"EC",crv:r,x:mt(t.subarray(1,e+1),"base64url"),y:mt(t.subarray(1+e),"base64url"),ext:!0}}var lf=(r,t)=>({...ja(r,t.public),d:mt(t.private,"base64url")});var uf={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Ga(r,t,e){if(r!=="AES-128"&&r!=="AES-256"&&r!=="Blowfish")throw new $("Cipher type was missing or unsupported");if(t!=="SHA1"&&t!=="SHA256"&&t!=="SHA512")throw new $("Hash type was missing or unsupported");if(e==null||!(e instanceof Uint8Array))throw new $("Secret was missing or an incorrect type");let n=uf[r],s=n.keySize,o=n.ivSize,i=20,a=et("key expansion"),c=2*(o+s+i),u=await Qn(t,e),l=await u.digest(a),f=[],h=0;for(;h<c;){let B=await u.digest(Ie([l,a])),p=B.length;h+p>c&&(p=c-h),f.push(B),h+=p,l=await u.digest(l)}let v=c/2,w=Ie(f),y=w.subarray(0,v),d=w.subarray(v,c),b=B=>({iv:B.subarray(0,o),cipherKey:B.subarray(o,o+s),macKey:B.subarray(o+s)});return{k1:b(y),k2:b(d)}}async function ff(r,t){if(r==="Ed25519")return di();if(r==="secp256k1")return Fa();if(r==="RSA")return lo(t??2048);throw new Qt}async function hf(r,t){if(r!=="Ed25519")throw new Qt("Seed key derivation only supported for Ed25519 keys");return gi(t)}function df(r){let{Type:t,Data:e}=_t.decode(r),n=e??new Uint8Array;switch(t){case Z.RSA:return Wn(n);case Z.Ed25519:return Zr(n);case Z.secp256k1:return Yn(n);default:throw new Qt}}function gf(r){return r.byteLength===32?Zr(r):r.byteLength===34?Yn(r):Wn(r)}function pf(r){let{Type:t,Data:e}=_t.decode(r.digest),n=e??new Uint8Array;switch(t){case Z.Ed25519:return Zr(n);case Z.secp256k1:return Yn(n);default:throw new Qt}}function hr(r){return _t.encode({Type:Z[r.type],Data:r.raw})}function mf(r){let t=mr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Z.RSA:return Zn(e);case Z.Ed25519:return Ss(e);case Z.secp256k1:return po(e);default:throw new Qt}}function yf(r){return r.byteLength===64?Ss(r):r.byteLength===32?po(r):Zn(r)}function bf(r){return mr.encode({Type:Z[r.type],Data:r.raw})}function xf(r,t,e,n){_r(r);let s=Zo({dkLen:32,asyncTick:10},n),{c:o,dkLen:i,asyncTick:a}=s;if(He(o),He(i),He(a),o<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=ee(t),u=ee(e),l=new Uint8Array(i),f=Ir.create(r,c),h=f._cloneInto().update(u);return{c:o,dkLen:i,asyncTick:a,DK:l,PRF:f,PRFSalt:h}}function wf(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),s.fill(0),e}function Za(r,t,e,n){let{c:s,dkLen:o,DK:i,PRF:a,PRFSalt:c}=xf(r,t,e,n),u,l=new Uint8Array(4),f=De(l),h=new Uint8Array(a.outputLen);for(let v=1,w=0;w<o;v++,w+=a.outputLen){let y=i.subarray(w,w+a.outputLen);f.setInt32(0,v,!1),(u=c._cloneInto(u)).update(l).digestInto(h),y.set(h.subarray(0,y.length));for(let d=1;d<s;d++){a._cloneInto(u).update(h).digestInto(h);for(let b=0;b<y.length;b++)y[b]^=h[b]}}return wf(a,c,i,u,h)}var Ur=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),me=new Uint32Array(80),bo=class extends re{constructor(){super(64,20,8,!1),this.A=Ur[0]|0,this.B=Ur[1]|0,this.C=Ur[2]|0,this.D=Ur[3]|0,this.E=Ur[4]|0}get(){let{A:t,B:e,C:n,D:s,E:o}=this;return[t,e,n,s,o]}set(t,e,n,s,o){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0}process(t,e){for(let c=0;c<16;c++,e+=4)me[c]=t.getUint32(e,!1);for(let c=16;c<80;c++)me[c]=Vr(me[c-3]^me[c-8]^me[c-14]^me[c-16],1);let{A:n,B:s,C:o,D:i,E:a}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=Or(s,o,i),l=1518500249):c<40?(u=s^o^i,l=1859775393):c<60?(u=Dr(s,o,i),l=2400959708):(u=s^o^i,l=3395469782);let f=Vr(n,5)+u+a+l+me[c]|0;a=i,i=o,o=Vr(s,30),s=n,n=f}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,this.set(n,s,o,i,a)}roundClean(){me.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}},Wa=Me(()=>new bo);var Ja={sha1:Wa,"sha2-256":de,"sha2-512":Kr};function xo(r,t,e,n,s){if(s!=="sha1"&&s!=="sha2-256"&&s!=="sha2-512"){let a=Object.keys(Ja).join(" / ");throw new $(`Hash '${s}' is unknown or not supported. Must be ${a}`)}let o=Ja[s],i=Za(o,r,t,{c:e,dkLen:n});return Vs.encode(i).substring(1)}return hc(vf);})();
6
+ `)}`:`${e} :`}};qi=pe;A.Constructed=qi;pe.NAME="CONSTRUCTED";var dn=class extends ht{fromBER(t,e,n){return e}toBER(t){return Ut}};dn.override="EndOfContentValueBlock";var zi,gn=class extends ct{constructor(t={}){super(t,dn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};zi=gn;A.EndOfContent=zi;gn.NAME=xr;var ji,Ge=class extends ct{constructor(t={}){super(t,ht),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};ji=Ge;A.Null=ji;Ge.NAME="NULL";var pn=class extends Jt(ht){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return Wt(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,eo.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};pn.NAME="BooleanValueBlock";var Gi,mn=class extends ct{constructor(t={}){super(t,pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Gi=mn;A.Boolean=Gi;mn.NAME="BOOLEAN";var yn=class extends Jt(Vt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Vt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let o=0;o<this.value.length;o++){let i=this.value[o].constructor.NAME;if(i===xr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Ki)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Vt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};yn.NAME="OctetStringValueBlock";var Zi,bn=class r extends ct{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},yn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let o=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(o.byteLength){let i=jn(o,0,o.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?pe.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};Zi=bn;A.OctetString=Zi;bn.NAME=Ki;var xn=class extends Jt(Vt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Vt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===xr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Pi)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=a.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return s}let o=M.BufferSourceConverter.toUint8Array(t);if(!Wt(this,o,e,n))return-1;let i=o.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=jn(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Vt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ut;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};xn.NAME="BitStringValueBlock";var Wi,Ze=class extends ct{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},xn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return pe.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Wi=Ze;A.BitString=Wi;Ze.NAME=Pi;var Ji;function ju(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,u=0,l=c<i?i:c,f=0;for(let h=l;h>=0;h--,f++){switch(!0){case f<a.length:u=o[i-f]+a[c-f]+e[0];break;default:u=o[i-f]+e[0]}switch(e[0]=u/10,!0){case f>=o.length:o=on(new Uint8Array([u%10]),o);break;default:o[i-f]=u%10}}return e[0]>0&&(o=on(e,o)),o}function Mi(r){if(r>=yr.length)for(let t=yr.length;t<=r;t++){let e=new Uint8Array([0]),n=yr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let o=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=o[0]/10,n[s]=o[0]%10}e[0]>0&&(n=on(e,n)),yr.push(n)}return yr[r]}function Gu(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,u,l=0;for(let f=c;f>=0;f--,l++)switch(u=o[i-l]-a[c-l]-e,!0){case u<0:e=1,o[i-l]=u+10;break;default:e=0,o[i-l]=u}if(e>0)for(let f=i-c+1;f>=0;f--,l++)if(u=o[i-l]-e,u<0)e=1,o[i-l]=u+10;else{e=0,o[i-l]=u;break}return o.slice()}var wr=class extends Jt(ht){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=eo.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Vi(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let o=this.fromBER(t,e,n);if(o===-1)return o;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):s!==0&&i.length<s&&(s-i.length>1&&(s=i.length+1),this.valueHexView=i.subarray(s-i.length)),o}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,o=this.valueHexView,i="",a=!1;for(let c=o.byteLength-1;c>=0;c--){s=o[c];for(let u=0;u<8;u++){if((s&1)===1)switch(n){case t:e=Gu(Mi(n),e),i="-";break;default:e=ju(e,Mi(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=Di.charAt(e[c]));return a===!1&&(i+=Di.charAt(0)),i}};Ji=wr;wr.NAME="IntegerValueBlock";Object.defineProperty(Ji.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Yi,lt=class r extends ct{constructor(t={}){super(t,wr),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return an(),BigInt(this.valueBlock.toString())}static fromBigInt(t){an();let e=BigInt(t),n=new br,s=e.toString(16).replace(/^-/,""),o=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(o.length+(o[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${M.Convert.ToHex(a)}`)+e,l=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(u.toString(16)));l[0]|=128,n.write(l)}else o[0]&128&&n.write(new Uint8Array([0])),n.write(o);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Yi=lt;A.Integer=Yi;lt.NAME="INTEGER";var Xi,wn=class extends lt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Xi=wn;A.Enumerated=Xi;wn.NAME="ENUMERATED";var vr=class extends Jt(ht){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!Wt(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,!!(o[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,o[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ke(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){an();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=ge(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ut;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};vr.NAME="sidBlock";var vn=class extends ht{constructor({value:t=Je,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new vr;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.value.length===0&&(o.isFirstSid=!0),this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ut;e.push(s)}return ro(e)}fromString(t){this.value=[];let e=0,n=0,s="",o=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,o){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;i.valueDec=c+a,o=!1}else{let i=new vr;if(s>Number.MAX_SAFE_INTEGER){an();let a=BigInt(s);i.valueBigInt=a}else if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,o=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};vn.NAME="ObjectIdentifierValueBlock";var Qi,We=class extends ct{constructor(t={}){super(t,vn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Qi=We;A.ObjectIdentifier=Qi;We.NAME="OBJECT IDENTIFIER";var Br=class extends Jt(jt){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!Wt(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,!!(o[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,o[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ke(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=ge(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ut;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Br.NAME="relativeSidBlock";var Bn=class extends ht{constructor({value:t=Je,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new Br;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let o=this.value[s].toBER(t);if(o.byteLength===0)return this.error=this.value[s].error,Ut;n.push(o)}return ro(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let o=new Br;if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return!0;this.value.push(o)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Bn.NAME="RelativeObjectIdentifierValueBlock";var ta,En=class extends ct{constructor(t={}){super(t,Bn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};ta=En;A.RelativeObjectIdentifier=ta;En.NAME="RelativeObjectIdentifier";var ea,Gt=class extends pe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};ea=Gt;A.Sequence=ea;Gt.NAME="SEQUENCE";var ra,An=class extends pe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};ra=An;A.Set=ra;An.NAME="SET";var Sn=class extends Jt(ht){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Je}toJSON(){return{...super.toJSON(),value:this.value}}};Sn.NAME="StringValueBlock";var kn=class extends Sn{};kn.NAME="SimpleStringValueBlock";var pt=class extends un{constructor({...t}={}){super(t,kn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};pt.NAME="SIMPLE STRING";var In=class extends pt{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};In.NAME="Utf8StringValueBlock";var na,Zt=class extends In{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};na=Zt;A.Utf8String=na;Zt.NAME="UTF8String";var Nn=class extends pt{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};Nn.NAME="BmpStringValueBlock";var sa,Cn=class extends Nn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};sa=Cn;A.BmpString=sa;Cn.NAME="BMPString";var Un=class extends pt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let o=ge(t.charCodeAt(s),8),i=new Uint8Array(o);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[s*4+c+a]=i[c]}this.valueBlock.value=t}};Un.NAME="UniversalStringValueBlock";var oa,Tn=class extends Un{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};oa=Tn;A.UniversalString=oa;Tn.NAME="UniversalString";var ia,Rn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ia=Rn;A.NumericString=ia;Rn.NAME="NumericString";var aa,Ln=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};aa=Ln;A.PrintableString=aa;Ln.NAME="PrintableString";var ca,Hn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};ca=Hn;A.TeletexString=ca;Hn.NAME="TeletexString";var la,_n=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};la=_n;A.VideotexString=la;_n.NAME="VideotexString";var ua,Vn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};ua=Vn;A.IA5String=ua;Vn.NAME="IA5String";var fa,On=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};fa=On;A.GraphicString=fa;On.NAME="GraphicString";var ha,Er=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};ha=Er;A.VisibleString=ha;Er.NAME="VisibleString";var da,Dn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};da=Dn;A.GeneralString=da;Dn.NAME="GeneralString";var ga,Mn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};ga=Mn;A.CharacterString=ga;Mn.NAME="CharacterString";var pa,Ar=class extends Er{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=wt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=wt(this.month,2),e[2]=wt(this.day,2),e[3]=wt(this.hour,2),e[4]=wt(this.minute,2),e[5]=wt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};pa=Ar;A.UTCTime=pa;Ar.NAME="UTCTime";var ma,Kn=class extends Ar{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",o=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let f=new Number(t[t.length-1]);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let f=1,h=n.indexOf("+"),v="";if(h===-1&&(h=n.indexOf("-"),f=-1),h!==-1){if(v=n.substring(h+1),n=n.substring(0,h),v.length!==2&&v.length!==4)throw new Error("Wrong input string for conversion");let w=parseInt(v.substring(0,2),10);if(isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");if(a=f*w,v.length===4){if(w=parseInt(v.substring(2,4),10),isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");c=f*w}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let f=new Number(`0${n.substring(u)}`);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");o=f.valueOf(),s=n.substring(0,u)}else s=n;switch(!0){case s.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let f=60*o;this.minute=Math.floor(f),f=60*(f-this.minute),this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case s.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let f=60*o;this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case s.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let f=1e3*o;this.millisecond=Math.floor(f)}break;default:throw new Error("Wrong input string for conversion")}let l=i.exec(s);if(l===null)throw new Error("Wrong input string for conversion");for(let f=1;f<l.length;f++)switch(f){case 1:this.year=parseInt(l[f],10);break;case 2:this.month=parseInt(l[f],10);break;case 3:this.day=parseInt(l[f],10);break;case 4:this.hour=parseInt(l[f],10)+a;break;case 5:this.minute=parseInt(l[f],10)+c;break;case 6:this.second=parseInt(l[f],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let f=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=f.getUTCFullYear(),this.month=f.getUTCMonth(),this.day=f.getUTCDay(),this.hour=f.getUTCHours(),this.minute=f.getUTCMinutes(),this.second=f.getUTCSeconds(),this.millisecond=f.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(wt(this.year,4)),e.push(wt(this.month,2)),e.push(wt(this.day,2)),e.push(wt(this.hour,2)),e.push(wt(this.minute,2)),e.push(wt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(wt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};ma=Kn;A.GeneralizedTime=ma;Kn.NAME="GeneralizedTime";var ya,Pn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};ya=Pn;A.DATE=ya;Pn.NAME="DATE";var ba,Fn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};ba=Fn;A.TimeOfDay=ba;Fn.NAME="TimeOfDay";var xa,$n=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};xa=$n;A.DateTime=xa;$n.NAME="DateTime";var wa,qn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};wa=qn;A.Duration=wa;qn.NAME="Duration";var va,zn=class extends Zt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};va=zn;A.TIME=va;zn.NAME="TIME";function mt(r,t="utf8"){let e=Xr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function oo(r){if(isNaN(r)||r<=0)throw new $("random bytes length must be a Number bigger than 0");return Ke(r)}async function Ba(r){let t=await at.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Wu(t);return{privateKey:e[0],publicKey:e[1]}}async function Ea(r,t){let e=await at.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await at.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Aa(r,t,e){let n=await at.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return at.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Wu(r){if(r.privateKey==null||r.publicKey==null)throw new $("Private and public key are required");return Promise.all([at.get().subtle.exportKey("jwk",r.privateKey),at.get().subtle.exportKey("jwk",r.publicKey)])}function io(r){if(r.kty!=="RSA")throw new $("invalid key type");if(r.n==null)throw new $("invalid key modulus");return et(r.n,"base64url").length*8}var Ye=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Sr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return Tt.createV1(114,this._multihash)}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}verify(t,e){return Aa(this._key,e,t)}},kr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Sr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}sign(t){return Ea(this._key,t)}};var Gn=8192,ao=18;function Sa(r){let{result:t}=so(r),e=t.valueBlock.value;return{n:mt(Ot(e[1].toBigInt()),"base64url"),e:mt(Ot(e[2].toBigInt()),"base64url"),d:mt(Ot(e[3].toBigInt()),"base64url"),p:mt(Ot(e[4].toBigInt()),"base64url"),q:mt(Ot(e[5].toBigInt()),"base64url"),dp:mt(Ot(e[6].toBigInt()),"base64url"),dq:mt(Ot(e[7].toBigInt()),"base64url"),qi:mt(Ot(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Ju(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new $("JWK was missing components");let e=new Gt({value:[new lt({value:0}),lt.fromBigInt(Dt(et(r.n,"base64url"))),lt.fromBigInt(Dt(et(r.e,"base64url"))),lt.fromBigInt(Dt(et(r.d,"base64url"))),lt.fromBigInt(Dt(et(r.p,"base64url"))),lt.fromBigInt(Dt(et(r.q,"base64url"))),lt.fromBigInt(Dt(et(r.dp,"base64url"))),lt.fromBigInt(Dt(et(r.dq,"base64url"))),lt.fromBigInt(Dt(et(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function ka(r){let{result:t}=so(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:mt(Ot(e[0].toBigInt()),"base64url"),e:mt(Ot(e[1].toBigInt()),"base64url")}}function co(r){if(r.n==null||r.e==null)throw new $("JWK was missing components");let e=new Gt({value:[new Gt({value:[new We({value:"1.2.840.113549.1.1.1"}),new Ge]}),new Ze({valueHex:new Gt({value:[lt.fromBigInt(Dt(et(r.n,"base64url"))),lt.fromBigInt(Dt(et(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Ot(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),s=0,o=0;for(;s<e;)n[s]=parseInt(t.slice(o,o+2),16),s+=1,o+=2;return n}function Dt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Zn(r){let t=Sa(r);return Ia(t)}function Wn(r){let t=ka(r);if(io(t)>Gn)throw new Ne("Key size is too large");let e=de(_t.encode({Type:Z.RSA,Data:r})),n=At(ao,e);return new Ye(t,n)}function Ia(r){if(io(r)>Gn)throw new $("Key size is too large");let t=Na(r),e=de(_t.encode({Type:Z.RSA,Data:co(t.publicKey)})),n=At(ao,e);return new kr(t.privateKey,new Ye(t.publicKey,n))}async function lo(r){if(r>Gn)throw new $("Key size is too large");let t=await Ba(r),e=de(_t.encode({Type:Z.RSA,Data:co(t.publicKey)})),n=At(ao,e);return new kr(t.privateKey,new Ye(t.publicKey,n))}function Na(r){if(r==null)throw new $("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var Jn=class extends Oe{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,_r(t);let n=ee(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,o=new Uint8Array(s);o.set(n.length>s?t.create().update(n).digest():n);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return Ve(this),this.iHash.update(t),this}digestInto(t){Ve(this),_e(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:o,blockLen:i,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ir=(r,t,e)=>new Jn(r,t).update(e).digest();Ir.create=(r,t)=>new Jn(r,t);function Ca(r){r.lowS!==void 0&&It("lowS",r.lowS),r.prehash!==void 0&&It("prehash",r.prehash)}function Yu(r){let t=ur(r);Rt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Xu,hexToBytes:Qu}=Fr,Yt={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=Yt;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=be(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let o=n>127?be(s.length/2|128):"";return`${be(r)}${o}${s}${t}`},decode(r,t){let{Err:e}=Yt,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],o=!!(s&128),i=0;if(!o)i=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let u=t.subarray(n,n+c);if(u.length!==c)throw new e("tlv.decode: length bytes not complete");if(u[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let l of u)i=i<<8|l;if(n+=c,i<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=Yt;if(r<Xt)throw new t("integer: negative integers are not allowed");let e=be(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=Yt;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return Xu(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Yt,s=typeof r=="string"?Qu(r):r;Pe(s);let{v:o,l:i}=n.decode(48,s);if(i.length)throw new t("Invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:u,l}=n.decode(2,c);if(l.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(u)}},hexFromSig(r){let{_tlv:t,_int:e}=Yt,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},Xt=BigInt(0),st=BigInt(1),I0=BigInt(2),Ua=BigInt(3),N0=BigInt(4);function tf(r){let t=Yu(r),{Fp:e}=t,n=ce(t.n,t.nBitLength),s=t.toBytes||((y,d,b)=>{let B=d.toAffine();return qt(Uint8Array.from([4]),e.toBytes(B.x),e.toBytes(B.y))}),o=t.fromBytes||(y=>{let d=y.subarray(1),b=e.fromBytes(d.subarray(0,e.BYTES)),B=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:b,y:B}});function i(y){let{a:d,b}=t,B=e.sqr(y),p=e.mul(B,y);return e.add(e.add(p,e.mul(y,d)),b)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return cr(y,st,t.n)}function c(y){let{allowedPrivateKeyLengths:d,nByteLength:b,wrapPrivateKey:B,n:p}=t;if(d&&typeof y!="bigint"){if(oe(y)&&(y=Ft(y)),typeof y!="string"||!d.includes(y.length))throw new Error("Invalid key");y=y.padStart(b*2,"0")}let S;try{S=typeof y=="bigint"?y:$t(J("private key",y,b))}catch{throw new Error(`private key must be ${b} bytes, hex or bigint, not ${typeof y}`)}return B&&(S=q(S,p)),bt("private key",S,st,p),S}function u(y){if(!(y instanceof h))throw new Error("ProjectivePoint expected")}let l=ve((y,d)=>{let{px:b,py:B,pz:p}=y;if(e.eql(p,e.ONE))return{x:b,y:B};let S=y.is0();d==null&&(d=S?e.ONE:e.inv(p));let R=e.mul(b,d),T=e.mul(B,d),k=e.mul(p,d);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(k,e.ONE))throw new Error("invZ was invalid");return{x:R,y:T}}),f=ve(y=>{if(y.is0()){if(t.allowInfinityPoint&&!e.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:d,y:b}=y.toAffine();if(!e.isValid(d)||!e.isValid(b))throw new Error("bad point: x or y not FE");let B=e.sqr(b),p=i(d);if(!e.eql(B,p))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(d,b,B){if(this.px=d,this.py=b,this.pz=B,d==null||!e.isValid(d))throw new Error("x required");if(b==null||!e.isValid(b))throw new Error("y required");if(B==null||!e.isValid(B))throw new Error("z required");Object.freeze(this)}static fromAffine(d){let{x:b,y:B}=d||{};if(!d||!e.isValid(b)||!e.isValid(B))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let p=S=>e.eql(S,e.ZERO);return p(b)&&p(B)?h.ZERO:new h(b,B,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let b=e.invertBatch(d.map(B=>B.pz));return d.map((B,p)=>B.toAffine(b[p])).map(h.fromAffine)}static fromHex(d){let b=h.fromAffine(o(J("pointHex",d)));return b.assertValidity(),b}static fromPrivateKey(d){return h.BASE.multiply(c(d))}static msm(d,b){return zr(h,n,d,b)}_setWindowSize(d){w.setWindowSize(this,d)}assertValidity(){f(this)}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){u(d);let{px:b,py:B,pz:p}=this,{px:S,py:R,pz:T}=d,k=e.eql(e.mul(b,T),e.mul(S,p)),I=e.eql(e.mul(B,T),e.mul(R,p));return k&&I}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b}=t,B=e.mul(b,Ua),{px:p,py:S,pz:R}=this,T=e.ZERO,k=e.ZERO,I=e.ZERO,U=e.mul(p,p),Y=e.mul(S,S),P=e.mul(R,R),V=e.mul(p,S);return V=e.add(V,V),I=e.mul(p,R),I=e.add(I,I),T=e.mul(d,I),k=e.mul(B,P),k=e.add(T,k),T=e.sub(Y,k),k=e.add(Y,k),k=e.mul(T,k),T=e.mul(V,T),I=e.mul(B,I),P=e.mul(d,P),V=e.sub(U,P),V=e.mul(d,V),V=e.add(V,I),I=e.add(U,U),U=e.add(I,U),U=e.add(U,P),U=e.mul(U,V),k=e.add(k,U),P=e.mul(S,R),P=e.add(P,P),U=e.mul(P,V),T=e.sub(T,U),I=e.mul(P,Y),I=e.add(I,I),I=e.add(I,I),new h(T,k,I)}add(d){u(d);let{px:b,py:B,pz:p}=this,{px:S,py:R,pz:T}=d,k=e.ZERO,I=e.ZERO,U=e.ZERO,Y=t.a,P=e.mul(t.b,Ua),V=e.mul(b,S),X=e.mul(B,R),E=e.mul(p,T),N=e.add(b,B),m=e.add(S,R);N=e.mul(N,m),m=e.add(V,X),N=e.sub(N,m),m=e.add(b,p);let g=e.add(S,T);return m=e.mul(m,g),g=e.add(V,E),m=e.sub(m,g),g=e.add(B,p),k=e.add(R,T),g=e.mul(g,k),k=e.add(X,E),g=e.sub(g,k),U=e.mul(Y,m),k=e.mul(P,E),U=e.add(k,U),k=e.sub(X,U),U=e.add(X,U),I=e.mul(k,U),X=e.add(V,V),X=e.add(X,V),E=e.mul(Y,E),m=e.mul(P,m),X=e.add(X,E),E=e.sub(V,E),E=e.mul(Y,E),m=e.add(m,E),V=e.mul(X,m),I=e.add(I,V),V=e.mul(g,m),k=e.mul(N,k),k=e.sub(k,V),V=e.mul(N,X),U=e.mul(g,U),U=e.add(U,V),new h(k,I,U)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return w.wNAFCached(this,d,h.normalizeZ)}multiplyUnsafe(d){bt("scalar",d,Xt,t.n);let b=h.ZERO;if(d===Xt)return b;if(d===st)return this;let{endo:B}=t;if(!B)return w.unsafeLadder(this,d);let{k1neg:p,k1:S,k2neg:R,k2:T}=B.splitScalar(d),k=b,I=b,U=this;for(;S>Xt||T>Xt;)S&st&&(k=k.add(U)),T&st&&(I=I.add(U)),U=U.double(),S>>=st,T>>=st;return p&&(k=k.negate()),R&&(I=I.negate()),I=new h(e.mul(I.px,B.beta),I.py,I.pz),k.add(I)}multiply(d){let{endo:b,n:B}=t;bt("scalar",d,st,B);let p,S;if(b){let{k1neg:R,k1:T,k2neg:k,k2:I}=b.splitScalar(d),{p:U,f:Y}=this.wNAF(T),{p:P,f:V}=this.wNAF(I);U=w.constTimeNegate(R,U),P=w.constTimeNegate(k,P),P=new h(e.mul(P.px,b.beta),P.py,P.pz),p=U.add(P),S=Y.add(V)}else{let{p:R,f:T}=this.wNAF(d);p=R,S=T}return h.normalizeZ([p,S])[0]}multiplyAndAddUnsafe(d,b,B){let p=h.BASE,S=(T,k)=>k===Xt||k===st||!T.equals(p)?T.multiplyUnsafe(k):T.multiply(k),R=S(this,b).add(S(d,B));return R.is0()?void 0:R}toAffine(d){return l(this,d)}isTorsionFree(){let{h:d,isTorsionFree:b}=t;if(d===st)return!0;if(b)return b(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:b}=t;return d===st?this:b?b(h,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return It("isCompressed",d),this.assertValidity(),s(h,this,d)}toHex(d=!0){return It("isCompressed",d),Ft(this.toRawBytes(d))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let v=t.nBitLength,w=qr(h,t.endo?Math.ceil(v/2):v);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:a}}function ef(r){let t=ur(r);return Rt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ta(r){let t=ef(r),{Fp:e,n}=t,s=e.BYTES+1,o=2*e.BYTES+1;function i(E){return q(E,n)}function a(E){return $r(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:f}=tf({...t,toBytes(E,N,m){let g=N.toAffine(),x=e.toBytes(g.x),C=qt;return It("isCompressed",m),m?C(Uint8Array.from([N.hasEvenY()?2:3]),x):C(Uint8Array.from([4]),x,e.toBytes(g.y))},fromBytes(E){let N=E.length,m=E[0],g=E.subarray(1);if(N===s&&(m===2||m===3)){let x=$t(g);if(!cr(x,st,e.ORDER))throw new Error("Point is not on curve");let C=l(x),L;try{L=e.sqrt(C)}catch(K){let D=K instanceof Error?": "+K.message:"";throw new Error("Point is not on curve"+D)}let H=(L&st)===st;return(m&1)===1!==H&&(L=e.neg(L)),{x,y:L}}else if(N===o&&m===4){let x=e.fromBytes(g.subarray(0,e.BYTES)),C=e.fromBytes(g.subarray(e.BYTES,2*e.BYTES));return{x,y:C}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${o} uncompressed bytes`)}}),h=E=>Ft(ae(E,t.nByteLength));function v(E){let N=n>>st;return E>N}function w(E){return v(E)?i(-E):E}let y=(E,N,m)=>$t(E.slice(N,m));class d{constructor(N,m,g){this.r=N,this.s=m,this.recovery=g,this.assertValidity()}static fromCompact(N){let m=t.nByteLength;return N=J("compactSignature",N,m*2),new d(y(N,0,m),y(N,m,2*m))}static fromDER(N){let{r:m,s:g}=Yt.toSig(J("DER",N));return new d(m,g)}assertValidity(){bt("r",this.r,st,n),bt("s",this.s,st,n)}addRecoveryBit(N){return new d(this.r,this.s,N)}recoverPublicKey(N){let{r:m,s:g,recovery:x}=this,C=T(J("msgHash",N));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");let L=x===2||x===3?m+t.n:m;if(L>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=x&1?"03":"02",O=c.fromHex(H+h(L)),K=a(L),D=i(-C*K),F=i(g*K),z=c.BASE.multiplyAndAddUnsafe(O,D,F);if(!z)throw new Error("point at infinify");return z.assertValidity(),z}hasHighS(){return v(this.s)}normalizeS(){return this.hasHighS()?new d(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return xe(this.toDERHex())}toDERHex(){return Yt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xe(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let b={isValidPrivateKey(E){try{return u(E),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let E=vs(t.n);return ri(t.randomBytes(E),t.n)},precompute(E=8,N=c.BASE){return N._setWindowSize(E),N.multiply(BigInt(3)),N}};function B(E,N=!0){return c.fromPrivateKey(E).toRawBytes(N)}function p(E){let N=oe(E),m=typeof E=="string",g=(N||m)&&E.length;return N?g===s||g===o:m?g===2*s||g===2*o:E instanceof c}function S(E,N,m=!0){if(p(E))throw new Error("first arg must be private key");if(!p(N))throw new Error("second arg must be public key");return c.fromHex(N).multiply(u(E)).toRawBytes(m)}let R=t.bits2int||function(E){let N=$t(E),m=E.length*8-t.nBitLength;return m>0?N>>BigInt(m):N},T=t.bits2int_modN||function(E){return i(R(E))},k=lr(t.nBitLength);function I(E){return bt(`num < 2^${t.nBitLength}`,E,Xt,k),ae(E,t.nByteLength)}function U(E,N,m=Y){if(["recovered","canonical"].some(nt=>nt in m))throw new Error("sign() legacy options not supported");let{hash:g,randomBytes:x}=t,{lowS:C,prehash:L,extraEntropy:H}=m;C==null&&(C=!0),E=J("msgHash",E),Ca(m),L&&(E=J("prehashed msgHash",g(E)));let O=T(E),K=u(N),D=[I(K),I(O)];if(H!=null&&H!==!1){let nt=H===!0?x(e.BYTES):H;D.push(J("extraEntropy",nt))}let F=qt(...D),z=O;function rt(nt){let ot=R(nt);if(!f(ot))return;let dt=a(ot),Q=c.BASE.multiply(ot).toAffine(),yt=i(Q.x);if(yt===Xt)return;let Mt=i(dt*i(z+yt*K));if(Mt===Xt)return;let Xe=(Q.x===yt?0:2)|Number(Q.y&st),Qe=Mt;return C&&v(Mt)&&(Qe=w(Mt),Xe^=1),new d(yt,Qe,Xe)}return{seed:F,k2sig:rt}}let Y={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function V(E,N,m=Y){let{seed:g,k2sig:x}=U(E,N,m),C=t;return ys(C.hash.outputLen,C.nByteLength,C.hmac)(g,x)}c.BASE._setWindowSize(8);function X(E,N,m,g=P){let x=E;if(N=J("msgHash",N),m=J("publicKey",m),"strict"in g)throw new Error("options.strict was renamed to lowS");Ca(g);let{lowS:C,prehash:L}=g,H,O;try{if(typeof x=="string"||oe(x))try{H=d.fromDER(x)}catch(Q){if(!(Q instanceof Yt.Err))throw Q;H=d.fromCompact(x)}else if(typeof x=="object"&&typeof x.r=="bigint"&&typeof x.s=="bigint"){let{r:Q,s:yt}=x;H=new d(Q,yt)}else throw new Error("PARSE");O=c.fromHex(m)}catch(Q){if(Q.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(C&&H.hasHighS())return!1;L&&(N=t.hash(N));let{r:K,s:D}=H,F=T(N),z=a(D),rt=i(F*z),nt=i(K*z),ot=c.BASE.multiplyAndAddUnsafe(O,rt,nt)?.toAffine();return ot?i(ot.x)===K:!1}return{CURVE:t,getPublicKey:B,getSharedSecret:S,sign:V,verify:X,ProjectivePoint:c,Signature:d,utils:b}}function rf(r){return{hash:r,hmac:(t,...e)=>Ir(r,t,ls(...e)),randomBytes:Ke}}function Ra(r,t){let e=n=>Ta({...r,...rf(n)});return Object.freeze({...e(t),create:e})}var _a=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),La=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),nf=BigInt(1),uo=BigInt(2),Ha=(r,t)=>(r+t/uo)/t;function sf(r){let t=_a,e=BigInt(3),n=BigInt(6),s=BigInt(11),o=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=r*r*r%t,l=u*u*r%t,f=G(l,e,t)*l%t,h=G(f,e,t)*l%t,v=G(h,uo,t)*u%t,w=G(v,s,t)*v%t,y=G(w,o,t)*w%t,d=G(y,a,t)*y%t,b=G(d,c,t)*d%t,B=G(b,a,t)*y%t,p=G(B,e,t)*l%t,S=G(p,i,t)*w%t,R=G(S,n,t)*u%t,T=G(R,uo,t);if(!fo.eql(fo.sqr(T),r))throw new Error("Cannot find square root");return T}var fo=ce(_a,void 0,void 0,{sqrt:sf}),Et=Ra({a:BigInt(0),b:BigInt(7),Fp:fo,n:La,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=La,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-nf*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=e,i=BigInt("0x100000000000000000000000000000000"),a=Ha(o*r,t),c=Ha(-n*r,t),u=q(r-a*e-c*s,t),l=q(-a*n-c*o,t),f=u>i,h=l>i;if(f&&(u=t-u),h&&(l=t-l),u>i||l>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},de),O0=BigInt(0);var D0=Et.ProjectivePoint;function Ie(r,t){t==null&&(t=r.reduce((s,o)=>s+o.length,0));let e=Ht(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function ho(r,t){let e=et(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Ie([new Uint8Array(t-e.length),e])}return e}function go(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Va(r,t){let e=Yr.digest(t instanceof Uint8Array?t:t.subarray());if(go(e))return e.then(({digest:n})=>Et.sign(n,r).toDERRawBytes()).catch(n=>{throw new tr(String(n))});try{return Et.sign(e.digest,r).toDERRawBytes()}catch(n){throw new tr(String(n))}}function Oa(r,t,e){let n=Yr.digest(e instanceof Uint8Array?e:e.subarray());if(go(n))return n.then(({digest:s})=>Et.verify(t,s,r)).catch(s=>{throw new er(String(s))});try{return Et.verify(t,n.digest,r)}catch(s){throw new er(String(s))}}var Nr=class{type="secp256k1";raw;_key;constructor(t){this._key=Ka(t),this.raw=Da(this._key)}toMultihash(){return ar.digest(hr(this))}toCID(){return Tt.createV1(114,this.toMultihash())}toString(){return ut.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}verify(t,e){return Oa(this._key,e,t)}},Cr=class{type="secp256k1";raw;publicKey;constructor(t,e){this.raw=Ma(t),this.publicKey=new Nr(e??Pa(t))}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:St(this.raw,t.raw)}sign(t){return Va(this.raw,t)}};function po(r){return new Cr(r)}function Yn(r){return new Nr(r)}async function Fa(){let r=of();return new Cr(r)}function Da(r){return Et.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Ma(r){try{return Et.getPublicKey(r,!0),r}catch(t){throw new rr(String(t))}}function Ka(r){try{return Et.ProjectivePoint.fromHex(r),r}catch(t){throw new Ne(String(t))}}function Pa(r){try{return Et.getPublicKey(r,!0)}catch(t){throw new rr(String(t))}}function of(){return Et.utils.randomPrivateKey()}var $a={"P-256":256,"P-384":384,"P-521":521},af=Object.keys($a),mo=af.join(" / ");async function qa(r){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new $(`Unknown curve: ${r}. Must be ${mo}`);let t=await at.get().subtle.generateKey({name:"ECDH",namedCurve:r},!0,["deriveBits"]),e=async(o,i)=>{let a;i!=null?a=await at.get().subtle.importKey("jwk",lf(r,i),{name:"ECDH",namedCurve:r},!1,["deriveBits"]):a=t.privateKey;let c=await at.get().subtle.importKey("jwk",ja(r,o),{name:"ECDH",namedCurve:r},!1,[]),u=await at.get().subtle.deriveBits({name:"ECDH",namedCurve:r,public:c},a,$a[r]);return new Uint8Array(u,0,u.byteLength)},n=await at.get().subtle.exportKey("jwk",t.publicKey);return{key:cf(n),genSharedKey:e}}var za={"P-256":32,"P-384":48,"P-521":66};function cf(r){if(r.crv==null||r.x==null||r.y==null)throw new $("JWK was missing components");if(r.crv!=="P-256"&&r.crv!=="P-384"&&r.crv!=="P-521")throw new $(`Unknown curve: ${r.crv}. Must be ${mo}`);let t=za[r.crv];return Ie([Uint8Array.from([4]),ho(r.x,t),ho(r.y,t)],1+t*2)}function ja(r,t){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new $(`Unknown curve: ${r}. Must be ${mo}`);let e=za[r];if(!St(t.subarray(0,1),Uint8Array.from([4])))throw new $("Cannot unmarshal public key - invalid key format");return{kty:"EC",crv:r,x:mt(t.subarray(1,e+1),"base64url"),y:mt(t.subarray(1+e),"base64url"),ext:!0}}var lf=(r,t)=>({...ja(r,t.public),d:mt(t.private,"base64url")});var uf={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Ga(r,t,e){if(r!=="AES-128"&&r!=="AES-256"&&r!=="Blowfish")throw new $("Cipher type was missing or unsupported");if(t!=="SHA1"&&t!=="SHA256"&&t!=="SHA512")throw new $("Hash type was missing or unsupported");if(e==null||!(e instanceof Uint8Array))throw new $("Secret was missing or an incorrect type");let n=uf[r],s=n.keySize,o=n.ivSize,i=20,a=et("key expansion"),c=2*(o+s+i),u=await Qn(t,e),l=await u.digest(a),f=[],h=0;for(;h<c;){let B=await u.digest(Ie([l,a])),p=B.length;h+p>c&&(p=c-h),f.push(B),h+=p,l=await u.digest(l)}let v=c/2,w=Ie(f),y=w.subarray(0,v),d=w.subarray(v,c),b=B=>({iv:B.subarray(0,o),cipherKey:B.subarray(o,o+s),macKey:B.subarray(o+s)});return{k1:b(y),k2:b(d)}}async function ff(r,t){if(r==="Ed25519")return di();if(r==="secp256k1")return Fa();if(r==="RSA")return lo(t??2048);throw new Qt}async function hf(r,t){if(r!=="Ed25519")throw new Qt("Seed key derivation only supported for Ed25519 keys");return gi(t)}function df(r){let{Type:t,Data:e}=_t.decode(r),n=e??new Uint8Array;switch(t){case Z.RSA:return Wn(n);case Z.Ed25519:return Zr(n);case Z.secp256k1:return Yn(n);default:throw new Qt}}function gf(r){return r.byteLength===32?Zr(r):r.byteLength===33?Yn(r):Wn(r)}function pf(r){let{Type:t,Data:e}=_t.decode(r.digest),n=e??new Uint8Array;switch(t){case Z.Ed25519:return Zr(n);case Z.secp256k1:return Yn(n);default:throw new Qt}}function hr(r){return _t.encode({Type:Z[r.type],Data:r.raw})}function mf(r){let t=mr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Z.RSA:return Zn(e);case Z.Ed25519:return Ss(e);case Z.secp256k1:return po(e);default:throw new Qt}}function yf(r){return r.byteLength===64?Ss(r):r.byteLength===32?po(r):Zn(r)}function bf(r){return mr.encode({Type:Z[r.type],Data:r.raw})}function xf(r,t,e,n){_r(r);let s=Zo({dkLen:32,asyncTick:10},n),{c:o,dkLen:i,asyncTick:a}=s;if(He(o),He(i),He(a),o<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=ee(t),u=ee(e),l=new Uint8Array(i),f=Ir.create(r,c),h=f._cloneInto().update(u);return{c:o,dkLen:i,asyncTick:a,DK:l,PRF:f,PRFSalt:h}}function wf(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),s.fill(0),e}function Za(r,t,e,n){let{c:s,dkLen:o,DK:i,PRF:a,PRFSalt:c}=xf(r,t,e,n),u,l=new Uint8Array(4),f=De(l),h=new Uint8Array(a.outputLen);for(let v=1,w=0;w<o;v++,w+=a.outputLen){let y=i.subarray(w,w+a.outputLen);f.setInt32(0,v,!1),(u=c._cloneInto(u)).update(l).digestInto(h),y.set(h.subarray(0,y.length));for(let d=1;d<s;d++){a._cloneInto(u).update(h).digestInto(h);for(let b=0;b<y.length;b++)y[b]^=h[b]}}return wf(a,c,i,u,h)}var Ur=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),me=new Uint32Array(80),bo=class extends re{constructor(){super(64,20,8,!1),this.A=Ur[0]|0,this.B=Ur[1]|0,this.C=Ur[2]|0,this.D=Ur[3]|0,this.E=Ur[4]|0}get(){let{A:t,B:e,C:n,D:s,E:o}=this;return[t,e,n,s,o]}set(t,e,n,s,o){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0}process(t,e){for(let c=0;c<16;c++,e+=4)me[c]=t.getUint32(e,!1);for(let c=16;c<80;c++)me[c]=Vr(me[c-3]^me[c-8]^me[c-14]^me[c-16],1);let{A:n,B:s,C:o,D:i,E:a}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=Or(s,o,i),l=1518500249):c<40?(u=s^o^i,l=1859775393):c<60?(u=Dr(s,o,i),l=2400959708):(u=s^o^i,l=3395469782);let f=Vr(n,5)+u+a+l+me[c]|0;a=i,i=o,o=Vr(s,30),s=n,n=f}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,this.set(n,s,o,i,a)}roundClean(){me.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}},Wa=Me(()=>new bo);var Ja={sha1:Wa,"sha2-256":de,"sha2-512":Kr};function xo(r,t,e,n,s){if(s!=="sha1"&&s!=="sha2-256"&&s!=="sha2-512"){let a=Object.keys(Ja).join(" / ");throw new $(`Hash '${s}' is unknown or not supported. Must be ${a}`)}let o=Ja[s],i=Za(o,r,t,{c:e,dkLen:n});return Vs.encode(i).substring(1)}return hc(vf);})();
7
7
  /*! Bundled license information:
8
8
 
9
9
  pvtsutils/build/index.js:
@@ -58,7 +58,7 @@ export function publicKeyFromRaw(buf) {
58
58
  if (buf.byteLength === 32) {
59
59
  return unmarshalEd25519PublicKey(buf);
60
60
  }
61
- else if (buf.byteLength === 34) {
61
+ else if (buf.byteLength === 33) {
62
62
  return unmarshalSecp256k1PublicKey(buf);
63
63
  }
64
64
  else {
@@ -0,0 +1,28 @@
1
+ {
2
+ "HMAC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.hmac.HMAC.html",
3
+ "./hmac:HMAC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.hmac.HMAC.html",
4
+ "create": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.hmac.create.html",
5
+ "./hmac:create": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.hmac.create.html",
6
+ "pbkdf2": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.index.pbkdf2.html",
7
+ "randomBytes": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.index.randomBytes.html",
8
+ "generateEphemeralKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateEphemeralKeyPair.html",
9
+ "generateKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPair.html",
10
+ "./keys:generateKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPair.html",
11
+ "generateKeyPairFromSeed": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPairFromSeed.html",
12
+ "./keys:generateKeyPairFromSeed": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPairFromSeed.html",
13
+ "keyStretcher": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.keyStretcher.html",
14
+ "privateKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromProtobuf.html",
15
+ "./keys:privateKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromProtobuf.html",
16
+ "privateKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromRaw.html",
17
+ "./keys:privateKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromRaw.html",
18
+ "privateKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyToProtobuf.html",
19
+ "./keys:privateKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyToProtobuf.html",
20
+ "publicKeyFromMultihash": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromMultihash.html",
21
+ "./keys:publicKeyFromMultihash": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromMultihash.html",
22
+ "publicKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromProtobuf.html",
23
+ "./keys:publicKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromProtobuf.html",
24
+ "publicKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromRaw.html",
25
+ "./keys:publicKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromRaw.html",
26
+ "publicKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyToProtobuf.html",
27
+ "./keys:publicKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyToProtobuf.html"
28
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/crypto",
3
- "version": "5.0.0-d101aac4b",
3
+ "version": "5.0.1",
4
4
  "description": "Crypto primitives for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/crypto#readme",
@@ -92,7 +92,7 @@
92
92
  "generate": "protons ./src/keys/keys.proto"
93
93
  },
94
94
  "dependencies": {
95
- "@libp2p/interface": "2.0.0-d101aac4b",
95
+ "@libp2p/interface": "^2.0.1",
96
96
  "@noble/curves": "^1.4.0",
97
97
  "@noble/hashes": "^1.4.0",
98
98
  "asn1js": "^3.0.5",
package/src/keys/index.ts CHANGED
@@ -85,7 +85,7 @@ export function publicKeyFromProtobuf (buf: Uint8Array): PublicKey {
85
85
  export function publicKeyFromRaw (buf: Uint8Array): PublicKey {
86
86
  if (buf.byteLength === 32) {
87
87
  return unmarshalEd25519PublicKey(buf)
88
- } else if (buf.byteLength === 34) {
88
+ } else if (buf.byteLength === 33) {
89
89
  return unmarshalSecp256k1PublicKey(buf)
90
90
  } else {
91
91
  return pkixToRSAPublicKey(buf)